Identificar Vulnerabilidades y Plugins en CMSs utilizando CMSeeK

Body

Un sistema para la gestión de contenidos (CMS) maneja la creación y modificación de contenido digital. Típicamente soporta múltiples usuarios en un entorno colaborativo. Algunos ejemplos notables son WordPress, Joomla, Drupal, entre otros.

Debido a la amplia utilización de gestores para contenido, es necesario determinar la versión exacta del gestor y sus potenciales vulnerabilidades. La mayoría de CMSs están diseñados para ser modulares permitiendo incorporar “plugins”. El tema es muchos de estos plugins no necesariamente son desarrollados por los programadores del núcleo, lo cual incrementa la probabilidad de existan vulnerabilidades factibles de utilizar para comprometer de alguna manera un sitio web.

CMSeek es una suite para la detección y explotación de CMSs. Entre sus principales funcionalidades se enumeran; detección básica de más de 170 CMSs, detección de la versión de Drupal, Escaneos avanzados para Wordpress, Escaneos Avanzados para Joomla, y Sistema modular para fuerza bruta.

Se ejecuta la herramienta CMSeek con la opción “-h”, lo cual muestra un resumen de sus opciones.

cmseek -h

Se procede ahora a ejecutar CMSeek para obtener información sobre una instalación de Drupal.

$ cmseek -u 192.168.0 .50 --random-agent

La opción “-u” define la URL a evaluar.

La opción “--random-agent” utiliza un agente de usuario aleatorio

El resultado de la herramienta expone un CMS Drupa versión 7. Lo cual es correcto.

Para la siguiente demostración se ejecuta CMSeek contra una instalación de WordPress

$ cmseek -u https:// www. si****.gob.pe --random-agent

Mencionar al finalizar CMSeek su ejecución, indica los resultados son almacenados en la carpeta local indicada.

La herramienta lista tres hallazgos. El primer hallazgo corresponde a un archivo de nombre “license.txt”.

El segundo hallazgo corresponde a un archivo de nombre “readme.html”

Y el tercer hallazgo corresponde a la posibilidad de listar un directorio correspondiente a Wordpress de nombre “wp-content/uploads”.

Todos los archivos y directorios encontrados utilizando la herramienta CMSeek deben ser verificados manualmente por un profesional. La información contenida en estos archivos y directorios puede proporcionar información útil para potencialmente identificar vulnerabilidades, las cuales permitan explotar el sitio web.

Fuentes:

https://github.com/Tuhinshubhra/CMSeeK
https://www.drupal.org/
https://wordpress.org

Identificar Servicios Web utilizando Nmap

Body

Una vez descubiertos los puertos TCP y UDP utilizando algún método para escaneo, la detección de versión interroga estos puertos para determinar más sobre aquello lo cual están ejecutando. La base de datos “nmap-services-probes” de Nmap, contiene pruebas para consultar diversos servicios, y expresiones de coincidencia para reconocer e interpretar respuestas. Nmap intenta determinar el protocolo del servicio (Por ejemplo FTP, SSH, Telner, HTTP, etc.), el nombre de la aplicación, (Por ejemplo Apache httpd, Solaris Telnetd, etc.), el número de versión, nombre del host, y tipo de dispositivo (Por ejemplo una impresora o encaminador), la familia del sistema operativo (Por ejemplo Windows o Linux). Cuando es posible Nmap también obtiene la representación CPE (Common Platform Enumeration) de esta información.

Primero se procede a ejecutar Nmap para realizar un escaneo contra los 65535 puertos TCP.

$ sudo nmap -Pn -n -p- 192.168.0 .50

La opción “-Pn” trata todos los hosts como su estuvieran funcionando, evita el descubrimiento de hosts.

La opción “-n” indica nunca realizar resolución DNS.

La opción “-p-” define el escaneo de los 65535 puertos.

Al no definirse el tipo de escaneo y ejecutar Nmap con los privilegios de “root”, se realiza un Escaneo TCP SYN

En base a los resultados expuestos en la columna “SERVICE”, se ha detectado un servicio http en el puerto TCP 80, y un servicio http-proxy en el puerto TCP 8080.

Dado el propósito es intentar obtener la huella de los servidores web, pues el conocer su tipo y versión permitiría luego determinar vulnerabilidades factibles de ser explotadas durante una prueba de penetración.

Se procede ahora a ejecutar un Escaneo de Versión utilizando Nmap.

$ sudo nmap -Pn -n -sV -p- 192.168.0 .50

La opción “-sV” realiza un escaneo de versión, donde se prueban los puertos abiertos para determinar información del servicio y versión.

Los resultados obtenidos con Nmap ahora incluyen una cuarta columna de nombre “VERSION”. Se ha detectado un servicio http en el puerto TCP 80, siendo un Apache httpd versión 2.4.7. En el puerto 3500 TCP también se ha detectado un servicio http, siendo WEBrick httpd versión 1.3.1. Así mismo en el puerto TCP 8080 se ha detectado un servicio http, siendo un Jetty versión 8.1.7.v20120910.

Anotar como un escaneo “TCP SYN” normal no pudo reconocer correctamente los servicios http ejecutándose en los puertos TCP 3500 y 8080. Lo cual sí fue obtenido correctamente con el escaneo de versión, siendo factible identificar información bastante detallada sobre los servicios web.

Recordar aunque sea posible obtener información sobre el software servidor y su versión, es posible sea información inexacta, o manipulada intencionalmente. Consecuentemente siempre todos los resultados generados por herramientas automáticas deben ser corroborados manualmente por un profesional.

Fuentes:

https://nmap.org/
https://nmap.org/book/vscan-examples.html
https://nmap.org/book/man-version-detection.html
https://nvd.nist.gov/products/cpe

Obtener el Banner de los Servicios utilizando Ncat

Body

Una de las técnicas frecuentemente utilizadas durante las evaluaciones de seguridad, es tratar de obtener información desde los banners correspondientes a los servicios ofrecidos por un host. Este procedimiento puede ser realizado de manera manual, con el propósito de tener un mayor control sobre la información factible de ser obtenida.

El Obtener el Banner es una técnica simple, la cual permite conocer la infraestructura o sistemas detrás de un servicio. Consecuentemente está relacionado con el procedimiento para intentar obtener la huella del sistema operativo.

Ncat es una utilidad de red repleta de funcionalidades, permite escribir y leer datos a través de la red utilizando la línea de comandos. Ncat fue escrito para el proyecto Nmap, como una reimplementación muy mejorada de Netcat. Utiliza TCP y UDP para las comunicaciones, siendo diseñada para ser una herramienta confiable y de esta manera proporcionar conectividad de red hacia aplicaciones y usuarios. Ncat no solo funciona con IPv4 e IPv6, también proporciona una cantidad prácticamente ilimitada de potenciales usos.

Se ejecuta la herramienta Ncat con la opción “-h”, lo cual muestra un listado de sus opciones.

$ ncat -h

Ahora se procede a ejecutar la herramienta Ncat para intentar obtener el banner desde los servicios encontrados en puertos TCP en estado abierto, como el 21, 22, 80, etc.

$ echo “” | ncat -n -v -w1 192.168. 0.50 21
$ echo “” | ncat -n -v -w1 192.168. 0.50 22
$ echo “” | ncat -n -v -w1 192.168. 0.50 80

El comando “echo” muestra una linea de texto, es decir hace eco de una cadena hacia la salida estándar.

La opción “-n” no resuelve los nombres de host a través de DNS. Deshabilita completamente la resolución de hosts a través de toda las opciones de Ncat, como el destino, origen, saltos de encaminamiento, y el proxy. Todas las direcciones deben ser especificadas numéricamente.

La opción “-v” define el nivel de verbosidad (se puede utilizar varias veces). Muestra todo tipo de información útil sobre la conexión.

La opción “-w” es el tiempo de espera. Para este caso se define a 1.

Los resultados obtenidos muestran los banners obtenidos desde los puertos 21,22, y 80. Por ejemplo para el caso del puerto TCP 21, este corresponde a un software de nombre ProFTPD versión 1.3.5.

Este proceso puede ser automatizado utilizando un bucle en la shell, y así evitar manualmente escribir un puerto a la vez.

$ for port in {20..100}; do echo “” | ncat -n -w1 192.168. 0.50 $port; done

Se detecta un servicio FTP en el puerto TCP 21, como ya se obtuvo en un proceso anterior.

Se detecta un servicio HTTP en el puerto TCP 80. En este caso es un Servidor Apache versión 2.4.7. para un sistema operativo Ubuntu.

Entre las muchas otras características de Ncat está la posibilidad de establecer conexiones hacia servicios funcionando sobre SSL, como por ejemplo HTTPS, para luego interactuar con el servicio e intentar obtener información sobre el servidor web.

$ ncat --ssl 45. 33.49.119 443

La opción “--ssl” en modo conexión, negocia de manera transparente una sesión SSL con un servidor SSL, para encriptar de manera segura la conexión. Esto es particularmente útil para conversar con servidores HTTP utilizando SSL.

Mencionar no se debe confiar ciegamente en el nombre del software, aplicación, o versiones expuestas a través de los banners, pues está información puede no ser precisa, o haber sido manipulada intencionalmente por el administrador. Siempre se debe intentar corroborar esta información con otras fuentes.

Fuentes:

https://nmap.org/ncat/
https://linux.die.net/man/1/echo

DNS Cache Snopping utilizando DNSrecon

Body

DNS Cache Snooping, o por su traducción al idioma español; “Espionaje del Caché DNS”, se suscita cuando alguien consulta un servidor DNS para encontrar (espiar) si el servidor DNS tiene un registro DNS específico en su caché, y por lo tanto deducir si el propietario del servidor DNS (o sus usuarios) han visitado recientemente un sitio web específico.

Esto puede revelar información sobre el propietario del servidor DNS, como cual proveedor, banco, proveedor de servicio, etc, utilizan. Especialmente si esto se confirma (espiando) varias veces durante un periodo de tiempo.

Este método podría incluso ser utilizado para obtener información estadística, por ejemplo en cual hora el propietario del servidor DNS típicamente accede hacia la red de un banco. El valor TTL restante del registro en caché del DNS puede proporcionar datos muy precisos para esto.

DNSRecon es una herramienta escrita en Python, el cual se diseñó con el propósito de extender la funcionalidad de la herramienta original, además de conocer como funciona DNS, y como esto puede ser utilizado en el proceso de una evaluación de seguridad o resolución para problemas en red.

Se ejecuta la herramienta DNSRecon con la opción “-h”, para visualizar sus principales opciones.

$ sudo dnsrecon -h

Antes de ejecutar la herramienta DNS se crea un archivo con un listado de nombres de dominio. Para el presente ejemplo se utilizan los dominios correspondientes a algunas redes sociales.

$ cat redes sociales. txt

Se ejecuta la herramienta DNSRecon para deducir si el propietario o usuarios del servidor DNS han visitado recientemente los sitios web incluidos en el archivo de nombre “redes sociales. txt”

$ sudo dnsrecon -t snoop -n 192.168. 0. 58 -D /tmp/redesosciales.txt

La opción -t define el tipo de enumeración a realizar. En este caso “snoop” realiza un DNS Cache Snooping contra todos los servidores DNS para un dominio definido, probando todos los dominios contenidos en el archivo de nombre “redessociales. txt”, archivo el cual se define con la opción “-D”.

La opción -n define el servidor DNS a utilizar, si no se define entonces se utiliza el SOA del host en evaluación.

La opción -D define un archivo Diccionario de nombres de hosts o subdominios para realizar fuerza bruta.

El Espionaje del Caché DNS es posible incluso si el servidor DNS no está configurado para resolver de manera recursiva a terceros, siempre y cuando proporcione registros desde el cache también hacia terceros.

Fuentes:

https://github.com/darkoperator/dnsrecon
https://manpages.debian.org/stretch/dnsrecon/dnsrecon.1.en.html
https://docs.microsoft.com/en-us/troubleshoot/windows-server/networking…

Consultas DNS Reversas utilizando Nmap

Body

Un Escaneo de Lista (List Scan) es una forma para descubrir hosts, el cual simplemente lista cada host sobre la red especificada, pero sin enviar ningún paquete hacia los hosts. Por defecto, Nmap realiza resolución DNS reversa sobre los hosts para conocer sus nombres. Nmap también reporta el número total de direcciones IP al final. El Escaneo de Lista es una buena verificación para asegurarse se tienen las direcciones IP adecuadas para los hosts en evaluación. Si los hosts muestran un nombre el cual no se reconoce, se debe investigar más profundamente para evitar escanear la red incorrecta.

Existen muchas razones por las cuales los rangos de direcciones IP pueden ser incorrectas. Incluso los administradores de la red pueden escribir erróneamente sus propios bloques de red, y se los proporciona así a los profesionales en pruebas de penetración y hacking ético. En otros casos, se intenta encontrar los rangos de direcciones IP adecuados a través de recursos como bases de datos Whois y tablas par encaminamiento. Las bases de datos pueden estar desactualizadas, o la compañía puede prestar el espacio de direcciones IP a otras organizaciones. Por lo tanto la posibilidad de escanear socios corporativos, proveedores de servicio, y subsidiarias, es un tema importante el cual debe coordinarse por adelantado. Un escaneo de Lista preliminar ayuda a confirmar exactamente cuales hosts se están escaneando.

Otra razón para un Escaneo de Lista es su sigilo. En algunos casos no se desea iniciar con un asalto a gran escala sobre la red, la cual activará alertas y atraerá una atención no requerida. Un escaneo de Lista es discreto y proporciona información útil para seleccionar cuales máquina escanear. Es posible aunque poco probable, aquello en evaluación note todas las consultas DNS reversas. Cuando esto sea una preocupación, se puede rebotar a través de servidores DNS recursivos utilizando la opción “--dns-servers” de Nmap.

Se procede a ejecutar el Escaneo de Lista utilizando la opción “-sL”

$ sudo nmap -sL 158.c .x. x/24

Dado la idea es simplemente imprimir una lista de los hosts a evaluar, las opciones con alto nivel de funcionalidad, como el escaneo de puertos, detección del sistema operativo, o escaneo ping, no pueden ser combinados con la opción “-sL”. Si se requiere deshabilitar el escaneo ping mientras aún se realiza tal funcionalidad de nivel superior, revisar sobre la opción “-Pn” de Nmap.

Como se visualiza, se obtienen nombres de dominio a partir de las direcciones IP del rango definido.

Fuentes:

https://nmap.org/book/host-discovery-controls.html
https://en.wikipedia.org/wiki/Reverse_DNS_lookup
https://www.ietf.org/rfc/rfc1912.txt

Consultas DNS Reversas utilizando DNSRecon

Body

Una consulta DNS reversa es una técnica de consulta para el Sistema de Nombres de Dominio (DNS), con el propósito de determinar el nombre de dominio asociado con una dirección IP. Es decir lo reverso a lo usual, lo cual es obtener la dirección IP desde un nombre de dominio. La resolución reversa de una dirección IP utiliza registros PTR. Implica la búsqueda de registros para nombres de dominio y tablas de registradores.

Esto puede ser utilizado para intentar identificar el origen de un nombre de dominio para rastrear por ejemplo, a un spammer enviando correo no deseado, o el nombre de dominio de una computadora intentando irrumpir un firewall, o a alguien intentando acceder de manera no autorizada hacia un sistema o red. También puede ser utilizado para determinar el nombre del proveedor de servicio de Internet asignado hacia una dirección IP en particular. La base de datos DNS reversa de Internet tiene sus orígenes en el dominio de nivel superior “.arpa”

DNSRecon es una herramienta escrita en Python, el cual se diseñó con el propósito de extender la funcionalidad de la herramienta original, además de conocer como funciona DNS, y como esto puede ser utilizado en el proceso de una evaluación de seguridad o resolución para problemas en red.

Se ejecuta la herramienta DNSRecon con la opción “-h”, para visualizar sus principales opciones

$ sudo dnsrecon -h

Se ejecuta la herramienta DNSRecon sobre un rango de direcciones IP, para obtener los nombres de dominio.

$ sudo dnsrecon -r 158. x. x. 20-158.x .x. 80 -d a****.com

La opción “-r” define el rango de direcciones IP para realizar fuerza bruta de consultar reversas, en los formatos (primero-último) o (rango/mascaradered).

La opción “-d” define el dominio a evaluar.

Como es factible visualizar, se obtiene un extenso listado de nombres de dominios.

Fuentes:

https://github.com/darkoperator/dnsrecon
https://en.wikipedia.org/wiki/Reverse_DNS_lookup
https://www.ietf.org/rfc/rfc1912.txt

OSINT para la Captura de Inteligencia en una Prueba de Penetración

Body

La Inteligencia desde Fuentes Abiertas (Open Source INTelligence), tiene tres formas; pasiva, semipasiva y activa.

Recolección Pasiva de Información:

Generalmente es solo útil si existe un muy claro requerimiento sobre las actividades para la recolección de información, nunca deben ser detectados por la infraestructura en evaluación. Este tipo de perfilamiento es técnicamente difícil de realizar, pues nunca se enviará ningún tipo de tráfico hacia la organización en evaluación, ni desde alguno de nuestros hosts o hosts “anónimos”, o servicios a través de Internet. Esto significa únicamente se utiliza y obtiene información de archivo o almacenada. Como tal esta información puede estar desactualizada o ser incorrecta, pues se está limitado a los resultados obtenidos desde terceros.

Recolección Semipasiva de Información:

La meta es perfilar la infraestructura con métodos los cuales parecerían tráfico o comportamiento normal de Internet. Se consultan únicamente los servidores de nombres publicados, no se realizan consultas reversas profundas, o peticiones de fuerza bruta contra la DNS, no se busca por servidores o directorios “no publicados”. No se ejecutan escaneos de puertos o crawling a nivel de red o, únicamente se busca por metadatos en documentos o archivos publicados; no se busca activamente por contenido oculto. La clave aquí es no llamar la atención sobre nuestras actividades. La infraestructura puede ir hacia atrás y descubrir las actividades de reconocimiento realizadas, pero no debería poder atribuirlas a nadie.

Recolección Activa de Información:

Debería ser detectada por la infraestructura en evaluación, además del comportamiento sospechoso y malicioso. Durante esta etapa se crea activamente un mapa de red sobre la infraestructura (pensar en escaneos de puertos completos “1-65535”), activamente enumerando y/o escaneando vulnerabilidades en los servicios abiertos, se busca activamente por directorios no publicados, archivos, y servidores. Mucha de esta actividad cae dentro de las actividades típicas de “reconocimiento” o “escaneo” en una prueba de penetración estándar.

Fuente:

http://www.pentest-standard.org/index.php/Intelligence_Gathering#OSINT
https://en.wikipedia.org/wiki/Open-source_intelligence

Selección del Destino para la Captura de Inteligencia en una Prueba de Penetración

Body

Identificar y Nombrar el Destino

Cuando se aproxima hacia la organización a evaluar, es importante entender la compañía puede tener diversos dominios de nivel superior (TDL), y empresas auxiliares. Aunque esta información debería haber sido descubierta durante la etapa del alcance, no es inusual identificar dominios con servidores adicionales, además de compañías las cuales no hayan sido parte del alcance inicial. Por ejemplo una compañía puede tener un TDL .com. Sin embargo también podría tener .net .co y .xxx. De cualquier manera estas necesitan ser clarificadas con el cliente antes de empezar las pruebas. Es también común para una empresa tener diversas subcompañías debajo. Por ejemplo General Electric y Procter and Gamble tienen una gran cantidad de empresas más pequeñas

Considerar cualquier Regla sobre Limites del Contrato

En este punto es una buena idea revisar las Reglas del Contrato. Es común estos se olviden durante una prueba. Algunas veces como profesionales en Hacking Ético y Pruebas de Penetración, nos sumergimos tanto en lo encontrado, además de las posibilidades para un ataque, lo cual hace olvidar cuales direcciones IP, dominios, y redes son factibles de atacar. Siempre se debe referenciar hacia las Reglas del Contrato para mantener las pruebas enfocadas. Estaono solo es importante desde la perspectiva legal, sino también es importante desde la perspectiva del alcance. Cada vez se desvía de las metas centrales de las pruebas, esto consume tiempo. Y consecuentemente esto puede costarle dinero a la empresa.

Considerar la Duración para las Pruebas

La cantidad de tiempo para toda la prueba directamente impactará en la cantidad de Captura Inteligencia realizada. Existen algunas pruebas donde el tiempo total es de dos hasta tres meses. En estos contratos una compañía podría invertir una tremenda cantidad de tiempo buscando en cada una de las unidades de la empresa, además del personal de la compañía. Sin embargo para pruebas de estilo caja de cristal, las metas pueden ser más tácticas. Por ejemplo probar una aplicación web específica puede no requerir investigar los registros financieros del CEO de la compañía.

Considerar la Meta Final de la Prueba

Cada prueba tiene una meta final en mente, un activo o proceso particular la cual la organización considera crítica. Teniendo en consideración el resultado final en mente, la etapa para la captura de inteligencia debe asegurarse de incluir todos los elementos secundarios y terciarios alrededor de la meta final. Ya sean tecnologías de soporte, terceras entidades, personal relevante, etc. Asegurarse el enfoque se mantenga sobre los activos críticos, asegura los elementos menos relevantes para inteligencia no sean priorizados y categorizados como tales, para no intervengan en el proceso de análisis.

Fuentes:

http://www.pentest-standard.org/index.php/Intelligence_Gathering#Target…
https://www.icann.org/resources/pages/tlds-2012-02-25-en

Captura de Inteligencia para una Prueba de Penetración

Body

¿Qué es?

La Captura de Inteligencia implica realizar un reconocimiento contra aquello en evaluación, con el propósito de obtener tanta información como sea posible, la cual será luego utilizada cuando se penetre durante las fases correspondientes a la evaluación de vulnerabilidades y explotación. Cuanta más información se capture durante esta etapa, más vectores de ataque factibles de ser utilizados en el futuro.

La Inteligencia de Fuente Abierta (OSINT), es una forma de gestión para la recolección de inteligencia, la cual involucra encontrar, seleccionar, y adquirir información desde fuentes públicamente disponibles, para luego analizarlas y producir inteligencia accionable.

¿Porqué hacerlo?

Se realiza captura de Inteligencia de Fuente Abierta para determinar varios puntos de entrada hacia una organización. Estos puntos de entrada pueden ser físicos, electrónicos, y/o humanos. Muchas compañías fallan al tomar en consideración cual información sobre si mismos está publicado, y como esta información puede ser utilizada por un determinado atacante.

Muchos empleados fallan también al considerar cual información sobre si mismos es pública, y como esta información puede ser utilizado para atacarlos, o a su empleador.

¿Que no es?

OSINT podría no ser tan preciso u oportuno. Las fuentes de información pueden manipularse deliberadamente o accidentalmente para reflejar datos erróneos, la información puede estar obsoleta con el tiempo, o simplemente está incompleta.

No incluye el bucear en la basura, o cualquier método para obtener información de la compañía, a partir de artículos físicos encontrados en sus instalaciones.

Fuentes:

http://www.pentest-standard.org/index.php/Intelligence_Gathering#Intell…
https://en.wikipedia.org/wiki/Open-source_intelligence

Conceptos Fundamentales para Captura de Inteligencia en una Prueba de Penetración

Body

Los niveles son un concepto importante como un todo. Es un modelo de madurez para pruebas de penetración. El definir los niveles permite clarificar la salida esperada y actividades dentro de ciertas limitaciones del mundo real, como el tiempo, esfuerzo, acceso hacia información, etc.

Los niveles para la Captura de Inteligencia actualmente se dividen en tres categorías, y se proporciona un ejemplo típico para cada una. Estas podría guiar la adición de técnicas. Por ejemplo, una actividad intensiva como crear un perfil de facebook y analizar una red social, es apropiado en casos más avanzados, y debería ser etiquetado dentro del nivel apropiado.

Captura de Información Nivel 1

(Pensar: Conducido por Cumplimiento). Principalmente es un proceso para captura de información mediante el clic de un botón. Este nivel de información puede ser obtenido casi enteramente por herramientas automáticas. Es lo mínimo para decir se realizó captura de inteligencia para una prueba de penetración.

Se requiere la Corporación Acme cumpla con PCI / FISMA / HIPPA. Un esfuerzo para captura de información debe ser el apropiado para cumplir con los requerimientos del cumplimiento.

Captura de Información Nivel 2

(Pensar: Conducido por Buenas Prácticas) Este nivel puede ser creado utilizando las herramientas automáticas del nivel 1, además de algún análisis manual. Una buena comprensión de la empresa, incluyendo información como ubicación física, relaciones de la empresa, diagrama de la organización, etc.

Se requiere la empresa Widgets cumpla con PCI, pero está interesada en una estrategia para seguridad a largo plazo, y está adquiriendo varios fabricantes de Widgets más pequeños. Un esfuerzo para captura de información de nivel 2 debe ser el apropiado para cumplir sus requerimientos.

Captura de Información Nivel 3

(Pensar: Patrocinado por el Estado) Pruebas de penetración más avanzadas, equipo rojo, alcance completo. Toda la información del nivel 1 y nivel 2, además de mucho análisis manual. Pensar en cultivar relaciones en SocNet, análisis riguroso, profundo conocimiento sobre las relaciones de la empresa, muy probablemente una gran cantidad de horas para cumplir la captura y correlación.

Un Equipo Rojo de un ejército tiene la tarea de analizar y atacar un segmento de la red en un país extranjero, para encontrar debilidades las cuales podrían ser explotadas por un ciudadano extranjero. Un esfuerzo para captura de información de nivel 3 debe ser el apropiado para este caso.

Fuentes:

http://www.pentest-standard.org/index.php/Intelligence_Gathering#General
http://www.socnet.com/