Netcap Framework para Análisis de Tráfico de Red
Netcap Framework para Análisis de Tráfico de Red

Netcap: Framework para Análisis de Tráfico de Red Seguro y Escalable

El framework Netcap (NETwork CAPture) convierte eficazmente un flujo de paquetes de red en registros de auditoría estructurados de tipo neutro que representan protocolos específicos o abstracciones personalizadas. Estos registros de auditoría pueden almacenarse en el disco o intercambiarse a través de la red, y son muy adecuados como fuente de datos para los algoritmos de aprendizaje automático. Dado que el análisis sintáctico de entradas no fiables puede ser peligroso y que los datos de la red son potencialmente maliciosos, se utiliza para la implementación un lenguaje de programación que proporciona un tiempo de ejecución seguro de recogida de basura en memoria.

Netcap utiliza los Protocol Buffers de Google para codificar su salida, lo que permite acceder a ella a través de una amplia gama de lenguajes de programación. Alternativamente, la salida puede ser emitida como valores separados por comas, que es un formato de entrada común para las herramientas y sistemas de análisis de datos. La herramienta es extensible y ofrece múltiples formas de añadir soporte para nuevos protocolos, a la vez que implementa la lógica de análisis sintáctico de forma segura para la memoria. Proporciona datos de alta dimensión sobre el tráfico observado y permite al investigador centrarse en la experimentación de enfoques novedosos para la detección de comportamientos maliciosos en entornos de red, en lugar de tener que juguetear con los mecanismos de recopilación de datos y los pasos de post-procesamiento. Tiene un diseño concurrente que hace uso de arquitecturas multinúcleo.

El nombre de Netcap se eligió por ser sencillo y descriptivo. La herramienta de línea de comandos se diseñó teniendo en cuenta la facilidad de uso y la legibilidad, y muestra el progreso al procesar los paquetes. La última versión ofrece 58 tipos de registros de auditoría, de los cuales 53 son específicos de protocolo y 5 son modelos de flujo.

Para más detalles, consulta la documentación, visita la página web y lee la tesis.

Instalación

Tienes dos opciones: instalar una versión binaria o compilar desde el código fuente.

  • Instalar la versión binaria: Descarga la última versión desde aquí.

Compilar desde el código fuente

  • Instalar Go

Se recomienda instalar Go vía snap en sistemas Debian, los paquetes de aptitude suelen estar desactualizados

# instalar el gestor de paquetes snap
$ sudo apt install snapd
$ sudo systemctl start snapd
$ sudo systemctl enable snapd

# instalar go
$ sudo snap install go --classic

# asegúrate de que el servicio de apparmor se está ejecutando y se reiniciará automáticamente
# para evitar errores al ejecutar los binarios instalados a través de snap después de reiniciar
$ sudo systemctl start apparmor
$ sudo systemctl enable apparmor

añade los siguientes directorios como prefijo a tu PATH en el archivo ~/.zshrc (opcionalmente también a /root/.zshrc):

export PATH="/home/kali/go/bin:/snap/bin:/usr/local/bin:$PATH"
$ source ~/.zshrc
$ go version
go version go1.16.3 linux/amd64

Instala las dependencias: Necesitas las cabeceras de desarrollo de libpcap:

$ sudo apt install libpcap-dev

ahora es el momento de obtener el código fuente de NETCAP y utilizar los scripts de construcción para compilar.

$ mkdir -p /home/kali/go/src/github.com/dreadl0ck
$ cd /home/kali/go/src/github.com/dreadl0ck
$ git clone https://github.com/dreadl0ck/netcap

Compilar con DPI:

Compilar con DPI

Compilar sin DPI

$ cd /home/kali/go/src/github.com/dreadl0ck/netcap
$ zeus/generated/install-linux-nodpi.sh

De cualquier forma, ahora debería tener el binario de net en tu PATH, verifícalo ejecutando:

$ net
                       / |
 _______    ______   _10 |_     _______   ______    ______
/     / \  /    / \ / 01/  |   /     / | /    / \  /    / \
0010100 /|/011010 /|101010/   /0101010/  001010  |/100110  |
01 |  00 |00    00 |  10 | __ 00 |       /    10 |00 |  01 |
10 |  01 |01001010/   00 |/  |01 \_____ /0101000 |00 |__10/|
10 |  00 |00/    / |  10  00/ 00/    / |00    00 |00/   00/
00/   10/  0101000/    0010/   0010010/  0010100/ 1010100/
                                                  00 |
Network Protocol Analysis Framework               00 |
created by Philipp Mieden, 2018                   00/
v0.5.13

available subcommands:
  > capture       capture audit records
  > util          general util toool
  > proxy         http proxy
  > label         apply labels to audit records
  > export        exports audit records
  > dump          utility to read audit record files
  > collect       collector for audit records from agents
  > transform     maltego plugin
  > help          display this help

usage: ./net <subcommand> [flags]
or: ./net <subcommand> [-h] to get help for the subcommand

Ejemplo de Uso

Una simple demostración de la generación de registros de auditoría a partir de un archivo de volcado PCAP, consultando y mostrando la información recogida de varias maneras:

Y operación en vivo decodificando el tráfico de una interfaz de red inalámbrica, mientras se navega por la web:

Objetivos de Diseño

  • seguridad de la memoria al analizar datos no fiables
  • facilidad de ampliación
  • formato de salida interoperable con muchos lenguajes de programación diferentes
  • diseño concurrente
  • reunir todo, separar lo que se puede entender de lo que no
  • permitir la implementación de abstracciones personalizadas
  • soporte de plataformas y arquitecturas ricas

Casos de Uso

  • monitorización de honeypots
  • monitorización de dispositivos médicos/industriales
  • investigación de mecanismos de detección basados en anomalías
  • análisis de datos forenses

Componentes del Framework

El Framework consta de 9 herramientas lógicamente separadas y compiladas en un único binario:

  • capture (captura de registros de auditoría en vivo o a partir de archivos de volcado)
  • dump (volcado de registros de auditoría en varios formatos)
  • label (herramienta para crear conjuntos de datos CSV etiquetados a partir de datos netcap)
  • collect (servidor de colección para la colección distribuida)
  • agent (agente de sensores para la colección distribuida)
  • proxy (proxy inverso http para capturar el tráfico de los servicios web)
  • util (herramienta de utilidad para validar los registros de auditoría y convertir las marcas de tiempo)
  • export (exportador de métricas prometheus)
  • transform (plugin de transformación de maltego)

Integraciones

Métricas de Prometheus

Ejemplo de cuadro de mando general:

Netcap con métricas de Prometheus
Netcap con métricas de Prometheus

Puede leer más sobre la integración de Prometheus en la documentación.

Maltego

Extrae la información DHCP de los dispositivos de la red local de un archivo de volcado PCAP:

Extracción de archivos HTTP:

Extracción de archivos HTTP
Extracción de archivos HTTP

Análisis de inyección de comandos de parámetros HTTP:

Inyección de comandos de parámetros HTTP
Inyección de comandos de parámetros HTTP

Puedes leer más sobre la integración de Maltego en la documentación.

Dark Mode

Mi Carro Close (×)

Tu carrito está vacío
Ver tienda