Análisis de malware

Conceptos básicos de redes para ingenieros inversos

31 de marzo de por Richard Azú

Introducción

Este artículo definirá la ingeniería inversa de redes, enumerará las herramientas utilizadas por los ingenieros inversos para la ingeniería inversa y luego resaltará los conceptos básicos de redes requeridos por dichos ingenieros. El artículo ilustrará, a través de la lente de un atacante, cómo exponer la vulnerabilidad de un protocolo de red y explotar la vulnerabilidad, y luego discutirá cómo mitigar el ataque a la vulnerabilidad identificada.

Este artículo es ideal para estudiantes y profesionales interesados ​​en seguridad, pruebas de penetración e ingeniería inversa.

Ingeniería inversa de red

En pocas palabras, la ingeniería inversa de red es el arte de extraer protocolos de nivel de red/aplicación utilizados por una aplicación o un servidor cliente. Con el fin de explicar los conceptos básicos de red necesarios para la ingeniería inversa, este artículo se centrará en cómo se puede utilizar la aplicación Wireshark para extraer protocolos y reconstruirlos.

Conceptos básicos de red necesarios

Para realizar con éxito la ingeniería inversa, los ingenieros necesitan un conocimiento básico del Protocolo de control de transmisión (TCP) y del Protocolo de datagramas de usuario (UDP) en su relación con las redes, así como de cómo estos protocolos pueden rastrearse, espiarse y reconstruirse. Específicamente, configuraremos un laboratorio para analizar y extraer datos del Protocolo de transporte en tiempo real (RTP) de una red de voz sobre IP (VoIP) y luego reconstruir el mensaje original utilizando la información extraída.

Protocolos TCP y UDP

Una característica clave de TCP es que es un protocolo orientado a la conexión. Un protocolo orientado a conexión es aquel que requiere que se establezca una comunicación previa entre los puntos finales (dispositivos receptores y transmisores) antes de la transmisión de datos. Entrega datos de la misma manera en que fueron recibidos. Un ejemplo de protocolo TCP es el Protocolo de transferencia de hipertexto (HTTP) en el puerto 80 y el programa de emulación de terminal (Telnet) en el puerto 23.

En los protocolos UDP, no es necesario establecer una comunicación previa antes de que comience la transmisión de datos. Aunque es más rápido en comparación con TCP, no hay garantía de que los paquetes enviados lleguen a su destino. Un área popular donde se puede utilizar UDP es la implementación de redes de voz sobre IP (VoIP).

Ejemplos de protocolos UDP son el Protocolo de inicio de sesión (SIP), que escucha en el puerto 5060, y el Protocolo de transporte en tiempo real (RTP), que escucha en el rango de puertos 10000–0. En una conversación de voz práctica, SIP es responsable de establecer la sesión que incluye la dirección IP y la información del puerto. RTP intercambia la conversación de voz principal entre el remitente y el receptor.

Wireshark: rastreo de protocolos de red

Wireshark es un analizador de paquetes de red. Aunque existen varias herramientas de análisis de protocolos, es, con diferencia, la herramienta de análisis de protocolos más popular y líder.

En esta práctica de laboratorio, implementaremos Wireshark para detectar paquetes de una conversación de voz en curso entre dos partes y luego reconstruiremos la conversación utilizando paquetes capturados.

Creación y configuración de cuentas de usuario.

Para esta práctica de laboratorio, configuraremos Trixbox como un servidor VoIP en VirtualBox. También necesitaremos al menos dos softphones: Express Talk y Mizu Phone. Se crean dos cuentas de usuario con detalles, con los detalles a continuación:

1: IP del servidor proxy siendo verificada desde la terminal Trixbox

2: Iniciar sesión en el servidor Trixbox

3: Creación de la extensión de usuario 7070 en el servidor Trixbox

4: Creación de la extensión de usuario 8080 en el servidor Trixbox

5: Configuración de la extensión de usuario 7070 en Mizu SoftPhone

6: Configuración de la extensión de usuario 8080 en Express Talk Softphone

7: Configuración de Wireshark para capturar desde la interfaz con la IP configurada como servidor proxy (192.168.56.102)

8: Aplicación Wireshark que muestra registros SIP desde softphones

9: La extensión 8080 inicia una llamada a la extensión 7070

10: Aplicación Wireshark que captura paquetes RTP de una conversación de voz en curso

11. Decodificación de paquetes RTP de la conversación entre las extensiones 7070 y 8080

A continuación de las figuras 1 a 10:

  1. Las extensiones de usuario 7070 y 8080 se crearon en el servidor Trixbox con IP 192.168.56.102. Luego se configuraron las extensiones en los softphones SIP Mizu y Express Talk.
  2. Wireshark se lanzó para monitorear paquetes SIP desde los softphones justo después de su configuración
  3. Wireshark se configuró para capturar paquetes de una conversación en curso entre las extensiones 7070 y 8080

En la 11, Wireshark se utiliza para decodificar o recrear la conversación exacta entre las extensiones 7070 y 8080 a partir de los paquetes RTP capturados. Lo convierte en un formato de audio reproducible.

Conclusión

Este artículo definió la ingeniería inversa de redes y explicó algunos conceptos básicos requeridos por los ingenieros en el campo de la ingeniería inversa. También explicamos la configuración de un laboratorio de VoIP donde se captura una conversación de audio en curso en forma de paquetes y luego se recrea en la conversación de audio original.

Para evitar que atacantes o terceros descifren o decodifiquen conversaciones VoIP escuchadas, se debe implementar el Protocolo de transporte seguro en tiempo real (o SRTP, una extensión de RTP con características de seguridad mejoradas). Cuando se hace de esta manera, las conversaciones de voz capturadas pueden resultar difíciles de descifrar.

¡Conviértete en un ingeniero inverso certificado!

Obtenga capacitación práctica en vivo sobre análisis de malware desde cualquier lugar y conviértase en un analista certificado de ingeniería inversa. Comienza a aprender

Fuentes

  1. Guía del usuario de Wireshark , Wireshark

Agregue un comentario

Su dirección de correo no se hará público. Los campos requeridos están marcados *