Reverse shell shell immediatamente dopo che la connessione è stata stabilita

0

al momento mi sto preparando per OSCP e so che sto lavorando su reverse shell. Usando msfconsole non è un problema avere una sessione di meterpreter, ma meterpreter non è permesso durante l'esame, quindi voglio andare in modo "manuale".

Con msfvenom creo un payload per la mia macchina Windows 7 vittima, apro un listener netcat sulla porta corretta, scarica ed eseguo il file malicous exe dalla macchina vittima, e verrà stabilita una connessione. Ma quando scrivo un comando, la connessione si chiude. Nello screenshot si vede di cosa sto parlando:

Che cosa sto sbagliando? Come ho detto, usando esattamente lo stesso comando msfvenom (solo con windows / meterpreter / reverse_tcp invece di windows / shell / reverse_tcp) e il multihandler di msfconsole tutto funziona correttamente. Quindi i problemi con la porta dei client (ad esempio le regole del firewall) possono essere eliminati. Forse uso un carico utile sbagliato ...?

    
posta Alex 16.11.2018 - 15:21
fonte

1 risposta

2

TLDR : per catturarlo con un listener netcat devi usare windows / shell_reverse_tcp, non windows / shell / reverse_tcp. Altrimenti è necessario utilizzare il multihandler.

Dai un'occhiata a questi due payload di msfvenom:

payload/windows/shell/reverse_tcp
Windows Command Shell, Reverse TCP Stager
Spawn a piped command shell (staged). Connect back to the attacker
Total size: 283

Versus

payload/windows/shell_reverse_tcp
Windows Command Shell, Reverse TCP Inline
Connect back to attacker and spawn a command shell
Total size: 324

Nota come il primo è più piccolo, ma dice anche che è in scena. Ciò significa che può essere più piccolo perché piuttosto che racchiudere tutto il codice necessario nel payload stesso, contiene solo il minimo necessario per connettersi a un listener compatibile e ricevere il resto del codice. Questo viene fatto dal multihandler di msfconsole, ma non da netcat.

Se non vuoi preoccuparti di far girare un multihandler, puoi usare la versione senza stagni, sebbene sia leggermente più grande. Assicurati di prestare attenzione quando elenchi i payload per stabilire se qualcosa è descritto come messo in scena. Puoi anche solo filtrare i payload staged dal tuo elenco iniziale: ad esempio msfvenom --list-payloads | grep -v stage[rd]

    
risposta data 16.11.2018 - 15:39
fonte

Leggi altre domande sui tag