Revisar Meta Archivos de Servidores Web por Fuga de Información

Body

Aquí se describe como evaluar el archivo de nombre “robots.txt, por fuga de información sobre las rutas de carpetas o directorios de la aplicación web. Además, la lista de directorios a ser evitados por los “Spiders”, “Robots” o “Crawlers”, pueden también ser creados como una dependencia para mapear las rutas de ejecución a través de la aplicación web.

Objetivo de la Prueba

1. Fuga de información del directorio o rutas de carpetas de la aplicación.
2. Crear una lista de directorios a ser evitados por los Spiders, Robots, o Crawlers.

Como Evaluar

robots.txt

Los Spiders Web, Robots, o Crawlers capturan una página web, y luego de manera recursiva atraviesan hiperenlaces para obtener contenido web más profundo. Su comportamiento aceptado está especificado por el “Robots Exclusion Protocol”, en el archivo de nombre “robots.txt” ubicado en el directorio web raíz.

Un ejemplo del archivo “robots.txt” obtenido desde una aplicación web.

La directiva “User-agent: *” refiere hacia un específico spider, robot o crawler. Por ejemplo un “User-Agent: Googlebot” refiere al spider de Google, mientras un “User-Agent: bingbot” refiere hacia un crawler de Microsoft. En este caso “User-Agent: *” aplica a todos los spiders, robots, o crawlers.

La directiva “Disallow” especifica cuales recursos están prohibidos para los spiders, robots y crawlers.

Los spiders, robots o crawlers pueden intencionalmente ignorar las directivas “Disallow” en un archivo “robots.txt”, tales como aquellos pertenecientes a redes sociales, para asegurarse los enlaces compartidos son válidos. Por lo tanto el archivo “robots.txt” no puede ser considerado como un mecanismo para fortalecer las restricciones sobre como el contenido web es accedido, almacenado, o nuevamente publicado por terceros.

El archivo robots.txt en la raíz web con “wget” o “curl”

El archivo “robots.txt” es obtenido desde el directorio web raíz del servidor web, como también de un subirectorio donde reside la aplicación web. Para esto se pueden utilizar las herramientas “wget” o “curl”.

# wget http://192.168.0 .88/joomla/robots.txt
# cat robots.txt



# curl -O http://192.168. 0.88/joomla/robots.txt
# cat robots.txt

Analizar el archivo “robots.txt” utilizando Google

Los propietarios de los sitios web pueden utilizar la función para analizar el archivo “robots.txt” de Google, la cual es parte de “Google Webmaster Tools”. Esta herramienta puede ayudar con la evaluación.

Etiquetas META

Las etiquetas <META> están ubicadas dentro de la sección HEAD de cada documento HTML, y deben ser consistentes a través de todo el sitio web, en el evento probable del punto de partida de un robot, spider o crawler no inicie desde un enlace a un documento aparte de la web raíz, como un enlace profundo.

Si no existe una entrada “<META NAME=ROBOTS”… >”, entonces el “Robots Exclusion Protocol” tendrá por defecto respectivamente “INDEX,FOLLOW”. Por lo tanto las otras entradas válidas definidas por el “Robots Exclusion Protocol” serán prefijadas con “NO...”, es decir “NOINDEX,NOFOLLOW”

Los spiders, robots o crawlers pueden intencionalmente ignorar la etiqueta “<META NAME=”ROBOTS”>”, pues se prefiere la conversión del archivo “robots.txt”. Por lo tanto las etiquetas “<META>” no deben ser consideradas el mecanismo principal, sino un control complementario al archivo “robots.txt”.

Etiquetas META > con Zed Attack Proxy

Basados en las directivas “Disallow” listadas dentro del archivo “robots.txt” en la raíz web, se realiza una búsqueda utilizando expresiones regulares para “<META NAME=”ROBOTS”>", dentro de cada página web, y el resultados se compara con el archivo “robots.txt”.

La anterior imagen siguiente etiqueta <META&#x3E está definida a “INDEX.FOLLOW”.

Fuentes:

https://www.owasp.org/index.php/Review_Webserver_Metafiles_for_Informat…
https://www.robotstxt.org/
https://www.gnu.org/software/wget/
https://curl.haxx.se/
https://www.google.com/webmasters/tools/robots-testing-tool
https://github.com/zaproxy/zaproxy

Obtener Huellas del Servidor Web

Body

La huella del servidor web es una tarea crítica para el profesional en pruebas de penetración y hackinético. El conocer la versión y tipo del servidor ejecutándose, permite determinar vulnerabilidades conocidas y los códigos de explotación adecuados a utilizar durante las pruebas.

Existen diferentes proveedores y versiones de servidores web en el mercado actual. Conocer el tipo de servidor web siendo evaluado ayuda significativamente en el proceso de pruebas, como también puede cambiar el curso de las mismas. Esta información puede ser derivada de enviar comandos específicos hacia el servidor web para luego analizar los resultados, pues cada versión de software para servidor web puede responder de manera diferente a estos comandos.

Conociendo como cada tipo de servidor web responde hacia comandos específico, y manteniendo esta información en una base de datos, un profesional en pruebas de penetración puede enviar estos comandos hacia un servidor web, analizar su respuesta, y compararla con una base de datos de firmas conocidas. Se debe anotar, usualmente se necesitan diversos comandos para identificar precisamente el servidor web, pues diferentes versiones pueden reaccionar de manera similar a los mismos comandos. Raramente diferentes versiones reaccionan igual hacia todos los comandos HTTP. Así al enviar diferentes comandos se incrementa la precisión.

Objetivo de la Prueba

Encontrar la versión y tipo del servidor web ejecutándose, para determinar vulnerabilidades conocidas, y los códigos de explotación adecuados a utilizar durante las pruebas.

Como Evaluar

Prueba de Caja Negra

La manera más simple y básica de identificar un servidor web es mirar en el campo “Server” en la cabecera de respuesta. Se puede utilizar la herramienta netcat.

Considerar la siguiente respuesta:

# nc.traditional -n -v 192.168.0.Y 80

Desde el campo “Server”, se puede conocer es un servidor Apache, versión 2.2.8, ejecutándose en un sistema operativo Ubuntu Linux.

De un servidor IIS 7.0 se obtiene lo siguiente.

# nc.traditional -n -v 192.168.0.X 80

Sin embargo esta metodología de prueba está limitada en precisión. Existen muchas técnicas las cuales permiten a un sitio web ofuscar o modificar el banner. Como por ejemplo.

En este caso el campo “Server” esta modificado. No se puede conocer la versión exacta del servidor Apache, ni tampoco información del sistema operativo.

Comportamiento del Protocolo

Existen técnicas más refinadas, las cuales toman en consideración diversas características de los diversos servidores webs disponibles. A continuación se detalla dos criterios para permitir deducir el tipo de servidor web utilizado.

Orden de los campos de las cabeceras HTTP: El primer método consiste en observar el orden de algunas cabeceras en la respuesta. Cada servidor web tiene un orden en las cabeceras. Consideremos estas dos respuestas devueltas por dos diferentes servidores Apache.

Notar la similaridad en el orden de las cabeceras, aunque de hecho existan otras las cuales se incluyan en la respuesta.

Prueba de peticiones formadas inadecuadamente: Otra prueba útil a ejecutar involucra peticiones malformadas o peticiones inexistentes hacia páginas del servidor.

Se puede notar como cada servidor responde de manera diferente. La respuesta también difiere en la versión del servidor. Observaciones similares pueden ser hechas creando peticiones con verbos o métodos HTTP inexistentes. Por ejemplo.

La petición se procesa exitosamente

La respuesta del servidor expone un mensaje de error.

Pruebas Automáticas

En lugar de confiar en la captura manual del banner y análisis de las cabeceras del servidor web, un profesional en pruebas de penetración puede utilizar herramientas automáticas para alcanzar los mismos resultados. Existen muchas pruebas a realizar para obtener una huella precisa del servidor web. Afortunadamente existen herramientas para automatizar estas pruebas. Una de estas herramientas es “httprecon”. El cual utiliza diversas pruebas para reconocer el tipo y versión del servidor web utilizado.

Pruebas En Linea

Las herramientas en línea pueden ser utilizadas si el profesional en pruebas de penetración requiere hacer pruebas más sigilosas, no deseando conectarse directamente hacia el sitio web en evaluación. Un ejemplo de una herramienta en línea la cual proporciona mucha información sobre los servidores web es “Netcraft”. Con esta herramienta es factible obtener información sobre el sistema operativo, servidor web utilizado, tiempo de funcionamiento, propietario del bloque de red, historial de cambios, etc.

Remediación

Proteger la capa de presentación del servidor web detrás de un proxy inverso fortalecido, y ofuscar las cabeceras del servidor web de la capa de presentación. (Apache y IIS).

Fuentes:

https://www.owasp.org/index.php/Fingerprint_Web_Server_(OTG-INFO-002)
http://netcat.sourceforge.net/
https://www.computec.ch/projekte/httprecon/
https://searchdns.netcraft.com/

Realizar un Reconocimiento y Descubrimiento en Motores de Búsqueda por Fuga de Información

Body

Existen elementos indirectos y directos para el reconocimiento y descubrimiento en motores de búsqueda. Los métodos directos se relacionan a las búsquedas en indices y contenido relacionado desde caches. Los métodos indirectos se relacionan con información sensible sobre el diseño y configuración, mediante la búsqueda en foros, grupos de noticias y sitios webs diversos.

Una vez el robot del motor de búsqueda ha completado su rastreo, comienza a indexar la página web basándose en las etiquetas y atributos asociados, como title >, para devolver resultados relevantes de búsqueda. Si el archivo “robots.txt” no es actualizado durante el tiempo de vida de un sitio web, y no son utilizadas las etiquetas meta HTML los cuales instruyen a los robots a no indexar contenido, entonces es posible los indices incluyan contenido el cual no ha sido requerido sea indexado por los propietarios. Los propietarios del sitio web pueden utilizar el archivo “robots.txt”, etiquetas meta HTML, autenticación, y herramientas proporcionadas por los motores de búsqueda para remover tal contenido.

Objetivos de la Prueba

Entender cual información sensible sobre el diseño y configuración de la organización, sistema o aplicación se expone, ya sea directa (en el sitio web de la organización) o indirectamente (en el sitio web de un tercero).

¿Cómo Evaluar?

Utilizar los motores de búsqueda para buscar por:

  • Diagramas de red y configuraciones
  • Publicaciones archivadas y correos electrónicos de administradores u otro personal
  • Registro sobre procedimientos y formatos de nombres de usuarios
  • Nombres de usuario y contraseñas
  • Contenido sobre mensajes de error
  • Desarrollo, pruebas, UAT y versiones del sitio web

Operadores de búsqueda

Utilizando el operador avanzado de búsqueda “site:”, es posible restringir los resultados de búsqueda hacia un dominio específico. No se debe limitar las pruebas hacia únicamente la utilización de un motor de búsqueda, pues cada motor de búsqueda puede generar diferentes resultados dependiendo de cuando rastrearon el contenido y sus propios algoritmos. Se debe considerar utilizar los siguientes motores de búsqueda.

  • baidu
  • binsearch.info
  • Bings
  • BuckDuckGo
  • Startpage
  • Google
  • Shodan

Duck Duck Go y Starpage proporciona poca fuga de información sobre quien realiza las búsquedas.

Google proporciona un operador avanzado de búsqueda “cache:”, pero es equivalente a hacer clic en “Cached”, presentado a continuación de cada resultados de búsqueda en Google, Razón por la cual se prefiere el uso del operador avanzado de búsqueda “site:” y luego hacer clic en “Cached”.

Para encontrar el contenido web del dominio “owasp.org” indexado por un típico motor de búsqueda, la sintaxis requerida es:

site:owasp.org

Para mostrar la página principal desde el cache para “owasp.org”, la sintaxis es:

cache:owasp.org

Google Hacking Database

Google Hacking Database es una lista de consultas útiles de búsqueda para Google. Las consultas están categorizadas en:

  • Footholds
  • Files Containing Usernames
  • Sensitive Directories
  • Web Server Detection
  • Vulnerable Files
  • Vulnerable Servers
  • Error Messages
  • Files Containing Juicy Info
  • Files Containing Passwords
  • Sensitive Online Shopping Info
  • Network or Vulnerability Data
  • Pages Containing Login Portals
  • Various Online Devices
  • Advisories and Vulnerabilities

Fuentes:

https://www.owasp.org/index.php/Conduct_search_engine_discovery/reconna…
https://www.baidu.com/
https://www.binsearch.info/
https://www.bing.com/
https://duckduckgo.com/
https://www.startpage.com/
https://www.shodan.io/
https://www.exploit-db.com/google-hacking-database
https://support.google.com/webmasters/answer/70897
https://support.google.com/websearch/answer/2466433?hl=en&visit_id=6369…

Intentar Romper Hashes de Contraseñas de un Sistema Linux utilizando Fuerza Bruta

Body

Otra de las técnicas utilizadas para intentar obtener las contraseñas en texto plano desde hashes de contraseñas, es utilizar un ataque por fuerza bruta. Esta técnica implica generar todas las posibles combinaciones de las potenciales contraseñas, basándose en conjuntos de caracteres definidos, como por ejemplo, caracteres alfabéticos, numéricos, o caracteres especiales. Así mismo todas las posibles combinaciones de los conjuntos antes mencionados. Esta es una técnica muy agresiva, y algunas veces podría no percibirse como una técnica agradable, pues cuando se menciona “todas las combinaciones posibles”, esto implica un tiempo indefinido en caso no se definan ciertos criterios, como el tamaño máximo de las contraseñas a generar, o los conjuntos de caracteres a utilizar.

Para el siguiente ejemplo se utiliza la herramienta John The Ripper, y dos archivos de nombres “passwd” y “shadow” obtenidos desde un sistema Linux. Se intenta de esta manera obtener la mayor cantidad de contraseñas en texto plano.

Se visualizan las primeras líneas de ambos archivos.

# head -n 25 /tmp/passwd
# head -n 25 /tmp/shadow

Antes de ejecutar la herramienta John The Ripper, se combina la información contenida en el archivo “passwd” y “shadow,” utilizando el comando “unshadow”. Esto es requerido pues si únicamente se utiliza el archivo “shadow”, la información GECOS no será utilizada en el modo “single crack” de John The Ripper, y adicionalmente no se estaría en la capacidad de utilizar la opción “-shells”.

# unshadow /tmp/passwd /tmp/shadow > /tmp/Hashes_Linux
# head -n 32 /tmp/Hashes_Linux

Se procede a ejecutar John The ripper utilizando la opción “--incremental”, esto define la utilización del modo “incremental” o de fuerza bruta. Los diferentes modos incrementales disponibles se detallan en la sección “Incremental modes” dentro del archivo “/etc/john/john.conf”.

Para propósitos del presente escrito se intenta por algunas minutos los modos, ASCII (Incluye los 95 caracteres ASCII imprimibles), LanMan, Alpha (Incluye todas las 52 letras) y Digits (Incluye únicamente dígitos).

# john --incremental:ASCII /tmp/Hashes_Linux
# john --incremental:LanMan /tmp/Hashes_Linux
# john --incremental:Alpha /tmp/Hashes_Linux
# john --incremental:Digits /tmp/Hashes_Linux

Los resultados en este tipo de ataques por fuerza bruta depende generalmente de dos factores. Primero la fortaleza de la contraseña utilizadas, pues una contraseña de 40 caracteres alfanuméricos y caracteres especiales, sería más difícil de encontrar comparada a una contraseña de 10 caracteres alfabéticos. También es un factor importante el conjunto de caracteres utilizado, pues si se tuviera algún indicio sobre los usuarios de una organización o empresa utilizan contraseñas únicamente numéricas, se podría intentar un ataque por fuerza bruta utilizando únicamente el conjunto de dígitos.

Este es un modo de atacar contraseñas el cual teóricamente podría nunca terminar esto debido al ingente número de combinaciones

Fuente:

https://www.openwall.com/john/
https://www.openwall.com/john/doc/MODES.shtml

Intentar Romper Hashes de Contraseñas de un Sistema Linux utilizando una Lista de Palabras

Body

Una de las técnicas utilizadas para tratar de obtener las contraseñas en texto plano desde hashes de contraseñas, es utilizar listas de palabras o también denominados diccionarios. Esta técnica implica utilizar archivos conteniendo extensos listados de palabras en diversos idiomas o sobre diferentes temáticas. Esto a razón en las pruebas de penetración es fundamental conocer aquello lo cual se está evaluando, consecuentemente por ejemplo sería factible potencialmente inferir la contraseñas de una persona fanática de la música de los años 80, pues tal vez utilice alguna palabra relacionada con un grupo musical, banda, cantante, álbum, título, o similar de los años 80.

Para el siguiente ejemplo se utiliza la herramienta John The Ripper, y dos archivos de nombres “passwd” y “shadow” obtenidos desde un sistema Linux. Se intenta de esta manera obtener la mayor cantidad de contraseñas en texto plano.

Se visualizan las primeras líneas de ambos archivos.

# head -n 15 /tmp/passwd
# head -n 15 /tmp/shadow

Kali Linux incluye un directorio de nombre “/usr/share/wordlists/”, donde es factible ubicar diversos archivos conteniendo listas de palabras incluidas en algunas herramientas, como nmap, metasploit, sqlmap, entre otros. El archivo conteniendo la lista de palabras a utilizar tiene por nombre “rockyou.txt”, el cual es un archivo conteniendo aproximadamente 14 millones de palabras.

# head -n 20 rockyou.txt
# wc rockyou.txt

Antes de ejecutar la herramienta John The Ripper, se combina la información contenida en el archivo “passwd” y “shadow” utilizando el comando “unshadow”. Esto es necesario pues si únicamente se utiliza el archivo “shadow”, la información GECOS no será utilizada en el modo “single crack” de John The Ripper, y no se estaría en la capacidad de utilizar la opción “-shells”.

# unshadow /tmp/passwd /tmp/shadow > /tmp/Hashes_Linux

Se procede a ejecutar John The ripper utilizando la opción “--wordlist”, la cual permite definir el uso de un archivo conteniendo una lista de palabras. Así mismo se utiliza la opción “--rules”, lo cual aplica reglas definidas dentro de John The Ripper a la lista de palabras.

# john --wordlist=/usr/share/wordlists/rockyou.txt --rules /tmp/Hashes_Linux

Finalizado el proceso es factible utilizar la opción “--show” de John The Ripper para mostrar el detalle de las contraseñas obtenidas.

# john --show /tmp/Hashes_Linux

Los resultados de este tipo de procesos depende principalmente de dos factores, la fortaleza de la contraseña utilizadas, pues una contraseña de 30 caracteres alfanuméricos y caracteres especiales, debería ser más difícil de encontrar comparada una contraseña de 10 caracteres alfabéticos. También es un factor importante el archivo conteniendo la lista de palabras a utilizar, pues se sugiere utilizar palabras o caracteres relacionados cercanamente a los sistemas o personas en evaluación. Estos pueden ser obtenidos desde sitios webs de la organización o empresa en evaluación, así como desde las redes sociales de las personas involucradas.

Fuentes:

https://www.openwall.com/john/
https://wiki.skullsecurity.org/Passwords

Importar Volcados Hexadecimales con Wireshark

Body

Wireshark puede leer volcados hexadecimales ASCII, y escribir los datos descritos dentro de un archivo de captura libpcap temporal . Puede leer volcados hexadecimales con múltiples paquetes, y construir un archivo de captura de múltiples paquetes. También es capaz de generar cabeceras Ethernet, IP, UDP, TCP o SCTP, desde los volcados hexadecimales únicamente desde los datos a nivel de aplicación.

Wireshark entiende un volcado hexadecimal generado por “od -Ax -tx1 -v”. En otras palabras, cada bytes es individualmente mostrado y rodeado por un espacio. Cada línea inicia con un desplazamiento describiendo la posición de cada paquete,cada nuevo paquetes inicia con un desplazamiento de 0, existiendo un espacio separando el desplazamiento de los siguientes bytes.
El desplazamiento es un número hexadecimal (también puede ser octal o decimal), de más de dos dígitos hexadecimales.

No existe un límite para el número de bytes por línea. También se ignora el volcado texto al final de la línea. Los bytes y número hexadecimales pueden ser mayúsculas o minúsculas. Cualquier texto antes del desplazamiento es ignorado, incluyendo caracteres de reenvió de correo electrónico “>”. Cualquier línea de texto entre la cadena de bytes se ignora. Los desplazamientos son utilizados para rastrear los bytes, por lo cual los desplazamientos deben ser correctos. Cualquier línea conteniendo únicamente bytes sin un desplazamiento inicial es ignorado. Un desplazamiento es reconocido por ser un número hexadecimal mayor a dos caracteres. Cualquier texto después de los bytes es ignorado (por ejemplo volcado de caracteres). Cualquier número en el texto es también ignorado. Un desplazamiento de cero es indicativo del inicio de un nuevo paquete, así un único archivo de texto con una serie de volcados hexadecimales puede ser convertido en una captura de paquetes con múltiples paquetes. Los paquetes deben ser precedidos por una marca de tiempo. Estos son interpretados de acuerdo al formato definido. Sino el primer paquete es marcado con el tiempo actual al momento de importar el paquete. Múltiples paquetes son escritos con marcas de tiempo diferenciadas por un microsegundo cada uno. En general al margen de estas restricciones, Wireshark proporciona bastante libertad sobre la lectura de volcados hexadecimales, y ha sido evaluado con una variedad de resultados (incluyendo el reenvío de correo electrónico múltiples veces, con recortes de línea, etc).

Existen otras dos características especiales a resaltar. Cualquier línea donde el primer carácter no espacio en blanco sea #, será ignorado como un comentario. Cualquier línea iniciando con #TEXT2PCAP es una directiva y se pueden insertar opciones después de este comando para ser procesado por Wireshark. Actualmente no hay directivas implementadas. En el futuro esto puede ser utilizo para proporciona un control más preciso sobre el volcado, y la forma en la cual debe ser procesado, por ejemplo, marcas de tiempo, tipo de encapsulación, etc. Wireshark también permite al usuario leer en volcados de datos a nivel de aplicación, insertando encabezados L2, L3 y L4 antes de cada paquete. El usuario puede elegir insertar cabeceras Ethernet, Ethernet e IP, o Ethernet, IP y UDP/TCP/SCTP antes de cada paquete. Esto permite a Wireshark o cualquier otro decodificador de paquetes manejar estos volcados.

Para importar un volcado hexadecimal, hacer clic en “File”, y seleccionar la opción “Import from Hex Dump”.

Se apertura una nueva ventana donde se selecciona el archivo a importar, utilizando el botón de nombre “Browse...”.

Luego de hacer clic en el botón de nombre “Import”, la importación ha sido realizada correctamente.

En la ventana “Import” se pueden realizar diversos ajustes y configuraciones específicas relacionadas a desde donde importar, encapsulación, nombre del archivo, formato de las marcas de tiempo, indicador de dirección, tipo de encapsulación, cabecera y longitud máxima de la trama.

Fuentes:

https://www.wireshark.org/docs/wsug_html_chunked/ChIOImportSection.html
https://osqa-ask.wireshark.org/questions/62161/export-capture-file-as-h…
https://www.wireshark.org/docs/wsug_html_chunked/ChIOExportSection.html

Herramientas para Esnifar la Red y Analizar Paquetes

Body

Las herramientas para esnifar y analizar paquetes, incluye software y hardware el cual puede interceptar y capturar paquetes de datos atravesando la red o un segmento de la red. Un esnifer captura los datos de paquetes, además de ser capaz de decodificar y mostrar los diversos campos del paquete. Las herramientas para analizar paquetes son utilizados para analizar los paquetes de datos basados en los RFCs u otros estándares. Las herramientas para esnifar y analizar ayudan en el análisis de problemas de red, detectar intentos de explotación aislando los sistemas explotados, vigilar el uso de los sistemas, etc.

Wireshark: Es el analizador para protocolos de red más ampliamente utilizado. Permite visualizar aquello suscitándose en la red a un nivel microscópico, y es el estándar de facto a en diversas organizaciones, empresas, entidades, etc.

Aircrack-NG: Es una completa suite de herramientas para evaluar la seguridad de redes WiFi. Enfocándose en diferentes áreas de la seguridad WiFI, como la vigilancia, el ataque, las pruebas, y el tratar de romper claves o cifrados.

Zed Attack Proxy: Esencialmente es un proxy para interceptar tráfico HTTP/S. Ayuda a encontrar vulnerabilidades de seguridad automáticamente en las aplicaciones web. Siendo también fundamental para realizar pruebas de seguridad manualmente.

Ngrep: Similar a la herramienta ‘grep’ pero aplicada a la capa de red. Es una herramienta basada en PCAP, la cual permite especificar una expresión regular o expresión hexadecimal, para coincidir contra cargas de datos en los paquetes.

Kismet: Es un framework para detectar dispositivos y redes inalámbricas, esnifer, y WIDS (Detección de Intrusión Inalámbrica). Funciona en interfaces Wi-Fi, Bluetooth, y algunos hardware SDR. Funciona tanto en Linux, OSX y Windows.

Fuentes:

https://www.wireshark.org/
https://www.aircrack-ng.org/
https://www.owasp.org/index.php/OWASP_Zed_Attack_Proxy_Project
https://github.com/jpr5/ngrep
https://www.kismetwireless.net/

Herramientas para el Análisis Forense de Red (NFAT)

Body

Las herramientas para el Análisis Forense de Red (Network Forensics Analysis Tools - NFAT), pueden ser ya sea propietarias o de fuente abierta (Open Source). Las herramientas propietarias están construidas con un dispositivo para registrar eventos, grabar, y almacenar datos de red, como evidencia para evaluación. Los datos registrados pueden ser almacenados por una extensa cantidad de tiempo, de tal manera sea factible investigar los eventos suscitados en la red basándose en el tiempo. Las herramientas de fuente abierta son en su mayoría software incorporado en entornos Linux. Pueden ser fácilmente reprogramados para añadir funcionalidades adicionales. También pueden ser gestionados para convertirse en una herramienta nueva y poderosa.

NetDetector Suite: Appliance para realizar la captura de paquetes hacia el disco para ciberseguridad. Integra captura de datos generación de metadatos, indexación en tiempo real de las 7 capas, IDS, análisis de malware, y más

LiveAction: Es un analizador para protocolo de red, el cual puede decodificar más de 1,000 protocolos para diagnosticar y resolver de manera rápida problemas ocurriendo en cualquier lugar de la de red.

Xplico: Su objetivo es extraer desde capturas de tráfico de Internet, los datos contenidos de las aplicaciones. Extrayendo desde un archivo pcap, correo electrónico, contenido HTTP, llamadas VoIP, FTP, etc.

NetworkMiner: Es una herramienta de fuente abierta para Windows, aunque también funciona en Linux. Puede ser utilizado como una herramienta pasiva y activa para capturar tráfico de red, y detectar diversa información.

No se ha incluido en el anterior listado a Wireshark como una herramienta NFAT, pues algunas de sus características no permitirían se incluya como tal. Pero Wireshark es una herramienta poderosa y fundamental para realizar investigaciones forenses de redes.

Fuentes:

https://www.niksun.com/product.php?id=112
https://www.liveaction.com/products/omnipeek-network-protocol-analyzer/
https://www.xplico.org/
https://www.netresec.com/?page=Networkminer
https://www.wireshark.org/

Introducción a las Herramientas para Forense de Redes

Body

Las herramientas para el forense de redes permiten vigilar redes, obtener información sobre el tráfico, y asistir en una investigación criminal en la red. Las herramientas forenses ayudar a analizar robos internos, inadecuada utilización de recursos, predecir objetivos de ataque, realizar evaluación de riesgo, evaluar el desempeño de la red, y proteger propiedad intelectual. Las herramientas forenses pueden capturar el tráfico completo de la red, permitiendo analizar el tráfico de la red de acuerdo a necesidades específicas, y descubrir características significativas sobre el tráfico. Las herramientas forenses hacen sinergia con las herramientas para la detección de intrusión y cortafuegos, preservando a largo plazo los registros para el tráfico de red, de tal manera se realice un análisis rápido. Estas herramientas son denominadas Herramientas para Análisis Forense de Red (NFAT).

Algunas herramientas forenses disponibles proporcionan adquisición de datos fiables y capacidades poderosas de análisis. Existen muchas otras herramientas de fuente abierta para la vigilancia y seguridad de red (NSM), las cuales fueron desarrolladas para proporcionar seguridad de red. No están diseñadas con la consideración de obtener y procesar evidencia. Sin embargo, pueden ser utilizadas para ayudar en actividades específicas del análisis forense.

Se pueden categorizar estas herramientas NSM en cinco categorías distintas según su funcionalidad, es decir, herramientas para la evaluación de vulnerabilidades, herramientas sniffer de red y para el análisis de paquetes, herramientas para el escaneo de la red, herramientas para la vigilancia de la red, y sistemas para la prevención de intrusión (IDS).

Fuentes:

https://www.forensicswiki.org/wiki/Network_forensics
https://www.forensicswiki.org/wiki/Tools:Network_Forensics

Fases del Modelo de Proceso Genérico para el Forense de Redes

Body

Preparación

En esta fase varias herramientas de seguridad como sistemas para la detección de intrusos, cortafuegos, analizadores de paquetes y mecanismo para la medición del flujo de tráfico, son desplegados en varios puntos estratégicos en la red. Todos los documentos legales también son requeridos de tal manera no sea violada la privacidad. Un entrenamiento adecuado debe ser proporcionado al personal trabajando en estas fase para poder facilitar la atribución de un crimen. La fase de preparación reduce los costos globales de la investigación

Detección

Esta fase está relacionada con la generación de alertas para las amenazas detectadas. Los anomalías y eventos legítimos son analizados en base a varios parámetros, para luego detectar los ataques. Por una rápida validación el ataque sospechoso es confirmado. En consecuencia se toma una decisión importante para continuar con la investigación y generar una alerta, o ignorar la alerta. Esta etapa se ramifica en dos direcciones, respuesta de incidentes y recolección.

Respuesta de Incidentes

La respuesta al crimen es dependiente de la información capturada para validar y evaluar los incidentes. Una política de la organización se mantiene mientras se responde al ataque. La respuesta también depende del tipo de ataque identificado. Mientras tanto, se toma una decisión ya sea para continuar con la investigación u obtener más información. Un importante criterio para responder a un incidente mientras realiza el análisis forense de red, es asegurarse los datos siendo recolectados como evidencia no estén alterados u obstruidos.

Recolección

Los datos se adquieren desde los sensores utilizados para recolectar los datos del tráfico. Los sensores utilizados deben ser seguros, tolerante a fallas, tener acceso limitado, y ser capaces de evitar su compromiso. Un buen procedimiento definido utilizando hardware y herramientas de software fiables, deben ser utilizados para obtener la mayor cantidad de evidencia causando el mínimo impacto en la victima La red debe ser vigilada para identificar futuros ataques. La integridad de los datos registrados y eventos de la red registrados deben ser asegurados. Esta fase es muy significativa, pues los datos de tráfico cambian rápidamente, y no es posible generar el mismo rastro un tiempo después. Debido a la enorme cantidad de datos registrados, se requiere un gran espacio de memoria, y los sistemas deben ser versátiles en naturaleza además de ser capaces de manejar diferentes formatos de datos para el registro de datos adecuadamente.

Preservación

Los rastros y registros recolectados son almacenados en dispositivos para respaldo, como un medio de únicamente lectura. Un hash de todos los rastros es preservado. El análisis es realizado sobre la copia de los datos, y los datos originales se mantienen intactos. Este paso es realizado para probar la investigación cuando el proceso sea repetido sobre los datos originales, para facilitar los requerimientos legales

Examen

Los rastros se integran y fusionan como un gran conjunto de datos sobre el cual se realiza el análisis. Pueden haber algunos problemas como información redundante o zonas horarias superpuestas, los cuales necesitan una adecuación. Las alertas desde varias fuentes pueden ser contradictorias. Sin embargo, este proceso necesita ser hecho de tal manera información crucial desde fuentes importantes no se pierda. Los datos recolectados son clasificados y reunidos en grupos, para el volumen de datos almacenado pueda ser reducido hacia partes manejables. Es fácil analizar grandes grupos de datos organizados. La evidencia recolectada es buscada metodológicamente para extraer indicadores específicos del crimen. Los atributos mínimos seleccionados del ataque deben ser tan creíbles, de tal manera la menor información registrada contenga la mayor evidencia probable. Se realiza retroalimentación para mejorar los herramientas de seguridad.

Análisis

Esta fase realiza el análisis de los datos utilizando diversas perspectivas como minería de datos como ANN, fuzzy, algoritmos genéticos (GA), y computación estadística para buscar patrones de ataque en los datos. Algunos de los parámetros críticos están relacionados con el establecimiento de conexiones de red, consultas DNS, fragmentación de paquetes, protocolo, y huella del sistema operativo. Los patrones de ataque son reconstruidos y reproducidos para entender la intención y metodología del atacante. Se realiza retroalimentación para mejorar los herramientas de seguridad.

Investigación

La investigación se realiza para determinar la ruta desde la red victima o sistema, a través de los sistemas intermedios y vías de comunicación de retorno hacia el punto origen del ataque. Las estadísticas de los paquetes son obtenidos para la atribución del ataque. Esta fase puede requerir algunas características adicionales a la fase de análisis, y por lo tanto estas dos fases son realizadas iterativamente para llegar a una conclusión. La atribución es establecer la identidad del atacante y es lo más difícil en el forense de redes. La fase de investigación proporciona datos para la respuesta de incidentes y persecución del atacante.

Presentación

Las observaciones son presentadas en un lenguaje comprensible para el personal legal, mientras proporciona una explicación de los diversos procedimientos utilizados para llegar a la conclusión. Deben cumplirse los requerimientos legales, y debe ser presentada una documentación sistemática a las autoridades. Los hallazgos también son presentados utilizando visualización, de tal manera sean fácilmente comprendidos. Los datos estadísticos son interpretados en apoyo a las conclusiones obtenidas. Se realiza un revisión exhaustiva del incidente, y se recomiendan medidas correctivas para prevenir incidentes similares a futuro. El caso completo es documentado para influenciar futuras investigaciones, y proporciona retroalimentación para guiar en el despliegue y mejora de productos de seguridad. El proceso concluye el análisis forense de redes, pues la información presentada resulta en la persecución del atacante.

Fuentes:

https://www.semanticscholar.org/paper/Network-forensic-frameworks%3A-Su…
http://www.reydes.com/d/?q=Modelo_de_Proceso_Generico_para_el_Forense_d…