¿Alguna vez te has preguntado cómo un atacante podría vulnerar un sistema sin ningún conocimiento interno? Sin unirte a las filas de Anonymous o Lizard Squad, aprender a realizar pruebas de penetración de caja negra es probablemente lo más cerca que estarás de estar en su lugar. En Sekurno , nos especializamos en el arte y la ciencia de descubrir vulnerabilidades, y estamos emocionados de traerte a nuestro mundo.
Ya sea que sea nuevo en ciberseguridad o un experto en pruebas de penetración, esta guía tiene algo para todos. Los principiantes encontrarán una guía clara y paso a paso para desmitificar el proceso, mientras que los expertos pueden obtener nuevas perspectivas y revisar los principios fundamentales . Imagine comenzar con nada más que el nombre o el dominio de una empresa y quitar sistemáticamente capas para exponer las vulnerabilidades.
Exploraremos el ciclo de vida completo de las pruebas de penetración de caja negra , desde el reconocimiento hasta la generación de informes , y mostraremos cómo cada fase se basa en la anterior para exponer vulnerabilidades y ofrecer resultados prácticos. Al final, verá por qué las pruebas de penetración de caja negra son más que un simple ejercicio técnico y una necesidad estratégica para mantenerse a la vanguardia de las amenazas en evolución.
Nota del editor: El contenido de este artículo es sólo para fines informativos.
Las pruebas de penetración de caja negra son una técnica de ciberseguridad en la que el evaluador evalúa la seguridad de un sistema sin tener conocimiento previo de su funcionamiento interno, como la arquitectura, el código fuente o las configuraciones. Al simular la perspectiva de un atacante externo, las pruebas de penetración de caja negra brindan información valiosa sobre el grado de exposición del sistema a amenazas del mundo real. Los evaluadores a menudo se basan en marcos y metodologías reconocidos para estructurar su enfoque. Las opciones más populares incluyen:
Guía de pruebas de seguridad web de OWASP : se centra en aplicaciones web.
PTES (Estándar de ejecución de pruebas de penetración) : cubre los procesos de pruebas de extremo a extremo.
OSSTMM (Manual de metodología de pruebas de seguridad de código abierto) : garantiza pruebas de seguridad mensurables.
La elección de la metodología depende de factores como el tipo de aplicación, los requisitos del cliente y el alcance del trabajo.
Siempre comenzamos con la fase de reconocimiento. Este paso fundamental implica recopilar la mayor cantidad posible de información pública disponible sobre el objetivo. Al imitar la forma en que un atacante real se acercaría al sistema, identificamos los activos expuestos, descubrimos posibles puntos de entrada y mapeamos la superficie de ataque. Hay dos tipos principales de reconocimiento en la fase de reconocimiento de las pruebas de penetración: pasivo y activo.
El reconocimiento pasivo implica recopilar información sobre un objetivo sin interactuar directamente con sus sistemas. Este enfoque minimiza el riesgo de detección, lo que lo convierte en un punto de partida ideal para mapear la superficie del objetivo. Al aprovechar la información de acceso público, el reconocimiento pasivo proporciona información valiosa al tiempo que mantiene el sigilo. A continuación, se presentan ejemplos de herramientas que se utilizan habitualmente:
crt.sh
Una herramienta poderosa para descubrir subdominios ocultos es crt.sh , un motor de búsqueda de registros de Transparencia de certificados (CT) . Los registros de CT rastrean públicamente los certificados SSL/TLS emitidos a los dominios, lo que puede revelar subdominios que no estaban destinados a ser visibles públicamente.
Por ejemplo, en 2018, los investigadores utilizaron registros de CT para descubrir subdominios no deseados asociados con Tesla , incluido un entorno de prueba potencialmente vulnerable a la explotación. Al aprovechar crt.sh, los piratas informáticos éticos, los investigadores y los evaluadores de penetración pueden identificar rápidamente activos mal configurados o expuestos que podrían representar riesgos de seguridad significativos, lo que lo convierte en una herramienta esencial en la fase de reconocimiento de las pruebas de penetración de caja negra.
Contenedor de basura DNS
DNSDumpster es una potente herramienta de reconocimiento de DNS que proporciona información detallada sobre los registros DNS de un dominio, como los registros A, MX y TXT, así como las direcciones IP asociadas. Esto resulta especialmente útil para mapear la superficie de ataque durante el reconocimiento, identificar activos ocultos y detectar posibles configuraciones incorrectas que podrían explotarse.
Los idiotas de Google
Los Google Dorks son operadores de búsqueda avanzados que permiten a los evaluadores descubrir información públicamente disponible indexada por Google. Al utilizar operadores como site:
, filetype:
, intitle:
y inurl:
, los evaluadores pueden localizar archivos, directorios o páginas confidenciales relacionados con una organización de destino.
Por ejemplo, una consulta como site:example.com filetype:pdf
puede revelar documentos PDF de acceso público, mientras que intitle:"index of"
puede exponer directorios que no están protegidos. Google Dorks es una herramienta de reconocimiento increíblemente eficaz, aunque a menudo subestimada, para identificar posibles exposiciones durante las primeras etapas de las pruebas.
Shodan
Un motor de búsqueda especializado para descubrir dispositivos y servicios conectados a Internet, que ofrece información única sobre la infraestructura en línea de un objetivo. A diferencia de los motores de búsqueda tradicionales, Shodan indexa dispositivos como servidores expuestos, dispositivos IoT, bases de datos y sistemas mal configurados. Por ejemplo, una consulta simple puede revelar puertos abiertos, bases de datos no seguras o software obsoleto que se ejecuta en sistemas públicos. Su capacidad para filtrar resultados por IP, ubicación o tipo de servicio convierte a Shodan en una herramienta invaluable para los evaluadores de penetración durante la fase de reconocimiento.
Deshacer hasheado / Intelx
Estas herramientas ayudan a identificar datos filtrados, como credenciales o documentos confidenciales. Ambas requieren suscripciones para una funcionalidad completa. Intelligence X indexa contenido de la dark web y de Internet público, infracciones y datos históricos de sitios web.
Consultas de ejemplo:
[email protected]
para encontrar infracciones o menciones que involucren la dirección de correo electrónico.example.com
para descubrir credenciales o documentos filtrados.
¿Me han engañado? (HIBP)
Un servicio gratuito en línea que verifica si los datos personales se han visto comprometidos en violaciones de datos conocidas. Se utiliza ampliamente para aumentar la conciencia y mitigar los riesgos relacionados con las credenciales.
URL de Wayback
Waybackurls es una herramienta que recupera URL archivadas de Wayback Machine y ofrece una visión general de las configuraciones web históricas de un objetivo. Puede descubrir recursos ocultos, páginas obsoletas o puntos finales que quizás ya no estén visibles en el sitio en vivo, pero que aún podrían representar un riesgo de seguridad. Al analizar estas URL archivadas, los evaluadores pueden identificar patrones, vulnerabilidades heredadas o activos olvidados que de otro modo podrían pasar desapercibidos.
Ejemplo de comando:
echo "sekurno.com" | waybackurls > urls.txt
El reconocimiento activo implica la interacción directa con los sistemas de un objetivo para recopilar información detallada. Si bien este enfoque proporciona información precisa y útil para realizar pruebas de penetración o planificar ataques, conlleva un mayor riesgo de detección, ya que los sistemas objetivo pueden registrar o alertar sobre actividades sospechosas. Es esencial para identificar vulnerabilidades y comprender los detalles técnicos de la infraestructura de un objetivo.
Identificar subdominios es un paso fundamental en las pruebas de penetración, ya que los subdominios suelen alojar servicios o aplicaciones que pueden ser vulnerables o estar mal configurados. Los subdominios también pueden proporcionar puntos de entrada, como paneles de administración o API, que no son visibles de inmediato.
Sublista3r
Es una herramienta de código abierto ampliamente utilizada para la enumeración de subdominios. Agrega datos de múltiples fuentes, incluidos motores de búsqueda, registros DNS y API, para identificar subdominios vinculados a un dominio de destino. Su capacidad para consultar plataformas como Google, Bing y VirusTotal la convierte en una opción confiable para mapear rápidamente la superficie de ataque externa de una organización.
Ejemplo de comando:
python3 sublist3r.py -d sekurno.com
Después de identificar los subdominios, descubra los puertos, servicios y sistemas operativos abiertos mediante herramientas como dig y Nmap . Este paso ayuda a mapear la superficie de ataque del objetivo.
excavar (tanteador de información de dominio)
Una herramienta de línea de comandos que se utiliza para consultar registros DNS. Proporciona información detallada sobre la configuración de DNS de un dominio, incluidos los registros A, MX, TXT, CNAME y NS. dig es un elemento básico en la resolución de problemas y el reconocimiento de redes, ya que permite a los evaluadores verificar configuraciones, identificar configuraciones incorrectas y recopilar información sobre la infraestructura de un dominio. Su velocidad y precisión lo convierten en una herramienta de referencia para el análisis de DNS.
Ejemplo de comando:
dig sekurno.com
Mapa n
Una herramienta versátil para el descubrimiento y la auditoría de redes. Nmap identifica puertos, servicios y sistemas operativos abiertos, lo que proporciona información fundamental sobre la superficie de ataque de un objetivo.
Escaneo básico:
nmap <IP address>
Escaneo de puertos:
nmap -p <port> -sV <IP address>
Análisis agresivo: combina detección de SO, detección de servicios y secuencias de comandos.
nmap -A <IP address>
Descubrir páginas ocultas, archivos de configuración y paneles de administración puede brindar información fundamental para las pruebas de penetración. Se utilizan herramientas como Dirb , Gobuster y ffuf .
Dirb
Dirb es un escáner de contenido web que fuerza directorios y URL para descubrir contenido oculto o no seguro en un servidor web. Mediante el uso de listas de palabras preconfiguradas o personalizadas, Dirb puede identificar archivos, directorios y puntos finales que podrían no ser visibles públicamente, pero que podrían exponer información confidencial o vulnerabilidades. Es una herramienta sencilla y poderosa para mapear la estructura de un servidor web durante las pruebas de penetración.
Comando básico para directorios comunes:
dirb http://example.com
Lista de palabras personalizada:
dirb http://example.com /usr/share/wordlists/dirb/common.txt
Opciones avanzadas:
dirb https://example.com -X .php,.html -N 403
Herramientas alternativas para la enumeración de directorios
Otras herramientas populares incluyen:
Destructor de golosinas
Gobuster es una herramienta rápida y eficiente para realizar ataques de fuerza bruta a URL, directorios, subdominios DNS y más. Diseñado para manejar grandes listas de palabras , se destaca por descubrir rápidamente recursos ocultos en servidores web. Gobuster admite escaneos recursivos , lo que lo hace particularmente útil para explorar directorios o subdominios profundamente anidados durante pruebas de penetración.
gobuster dir -u http://example.com -w /path/to/wordlist.txt
ffuf (Fuzz más rápido, tonto)
Un fuzzer versátil y de alta velocidad para descubrir directorios, parámetros y otros recursos ocultos en servidores web. Admite opciones de filtrado avanzadas basadas en códigos de respuesta, tamaño o palabras, lo que permite a los evaluadores identificar de manera eficiente los resultados relevantes. Gracias a su flexibilidad, ffuf se puede utilizar para tareas como enumeración de directorios, fuzzing de parámetros y descubrimiento de puntos finales de API.
ffuf -u http://example.com/FUZZ -w /path/to/wordlist.txt
Por último, analice los encabezados de respuesta HTTP para identificar el software, los marcos o las configuraciones de servidor en uso. Este paso proporciona información detallada, pero es más específico que las fases anteriores.
Analizador de wappa
Una extensión y herramienta del navegador que detecta marcos, plataformas CMS, lenguajes de programación, herramientas de análisis y otras tecnologías utilizadas por los sitios web. Al identificar las versiones de software, los evaluadores pueden realizar referencias cruzadas de vulnerabilidades conocidas en bases de datos públicas.
Después del reconocimiento viene la fase de escaneo , donde los evaluadores analizan activamente el objetivo en busca de vulnerabilidades. Las herramientas automatizadas son esenciales para identificar rápidamente una amplia gama de vulnerabilidades. Estas herramientas son sólidas, se actualizan con frecuencia y se adaptan a las amenazas en evolución. Los escáneres que se utilizan comúnmente incluyen:
Utilizamos Burp Suite principalmente para escanear aplicaciones web, ya que ofrece amplias capacidades para diferentes marcos de software y tipos de vulnerabilidades.
Suite para eructos
Burp Suite es una de las herramientas más utilizadas para pruebas de aplicaciones web. Combina funciones automatizadas y manuales, lo que la hace adecuada para detectar vulnerabilidades comunes y avanzadas. Entre sus características principales se incluyen:
Detección de vulnerabilidades : inyección SQL, XSS, inyección de comandos, recorrido de directorios, fallas de autenticación y más.
Prueba de API : identifica controles de acceso rotos, inyección JSON y puntos finales inseguros.
Pruebas avanzadas : detecta vulnerabilidades como CSRF, XXE, SSRF y manipulación de parámetros.
Extensiones de BApp Store : mejora la funcionalidad con herramientas personalizadas para escaneo de vulnerabilidades, pruebas de autorización y generación de carga útil.
Descripción general de las extensiones de eructo más populares
Pruebassl
Para probar las configuraciones SSL/TLS, utilizamos testssl.sh , una herramienta de línea de comandos de código abierto que evalúa:
Protocolos débiles u obsoletos (por ejemplo, SSLv2, SSLv3, TLS 1.0).
Certificados mal configurados (por ejemplo, autofirmados, vencidos).
Vulnerabilidades como Heartbleed, BEAST o POODLE.
Faltan configuraciones HTTPS, como los encabezados HSTS.
Ejemplo de comando:
[testssl.sh](http://testssl.sh) <domain>
Una vez que se completa la fase de reconocimiento, pasamos a la etapa de identificación de vulnerabilidades . Esta fase implica analizar los datos recopilados para identificar debilidades de seguridad, como configuraciones incorrectas, software desactualizado o credenciales débiles. Al combinar herramientas de escaneo automático con sondeo manual, podemos identificar vulnerabilidades que podrían explotarse en situaciones del mundo real.
El OWASP WSTG es un recurso integral que proporciona metodologías estructuradas para probar la seguridad de las aplicaciones web. Garantiza evaluaciones sistemáticas y exhaustivas al guiar a los evaluadores a través de pruebas de vulnerabilidad comunes, como:
Al adherirse al WSTG, los evaluadores garantizan la coherencia y profundidad en su proceso de identificación de vulnerabilidades.
Durante una de las operaciones, descubrimos que un servidor web estaba ejecutando una versión desactualizada de Keycloak : "version": "23.0.4"
. Un análisis más detallado reveló que esta versión estaba afectada por varias vulnerabilidades conocidas (CVE), entre ellas:
A través de nuestro análisis, determinamos que los atacantes podrían aprovechar estas vulnerabilidades para:
El cuarto paso, la explotación , implica utilizar los hallazgos de la fase de identificación de vulnerabilidades para simular ataques del mundo real. Este proceso demuestra cómo un atacante podría explotar vulnerabilidades para comprometer sistemas, robar datos u obtener acceso no autorizado. Realizada en un entorno controlado, la explotación proporciona información valiosa sobre el impacto potencial de las vulnerabilidades identificadas.
La explotación comienza con la prueba de las vulnerabilidades identificadas en la fase anterior para confirmar su validez y comprender sus posibles consecuencias. Por ejemplo, en una evaluación reciente, descubrimos varios CVE públicos vinculados a una versión obsoleta de Keycloak. Entre estas vulnerabilidades, validamos con éxito un problema de redirección abierto . Con Burp Suite Collaborator , demostramos la vulnerabilidad probando un escenario de redirección. La respuesta del servidor confirmó la validez del exploit, como se muestra a continuación:
La fase de explotación destaca cómo se pueden utilizar las vulnerabilidades para lograr diversos objetivos, como:
Tras la fase de explotación, es esencial adoptar medidas de reparación claras para abordar los problemas identificados. En el ejemplo de Keycloak, recomendamos que el cliente actualizara a la última versión del software para corregir las vulnerabilidades conocidas.
Durante la explotación, es común encontrar escenarios en los que:
El paso final del ciclo de vida de las pruebas de penetración es la fase de generación de informes y reparación . En esta etapa se consolidan todos los hallazgos en un informe detallado que describe las vulnerabilidades, su gravedad y las recomendaciones prácticas para mitigar los riesgos. Un informe bien elaborado cierra la brecha entre los equipos técnicos y las partes interesadas, lo que garantiza que las vulnerabilidades se comprendan y se aborden de manera eficaz.
Para maximizar el impacto, los informes deben cumplir con las mejores prácticas:
Herramientas como Pwndoc agilizan el proceso de elaboración de informes al ofrecer plantillas personalizables y garantizar la coherencia. El uso de estas herramientas acelera la generación de informes y mantiene un formato profesional.
Para inspirarte, consulta el Repositorio de informes públicos de pruebas de penetración , que muestra ejemplos de informes de pruebas de penetración profesionales.
Un ejemplo de un informe de vulnerabilidad para un problema de control de acceso roto incluye:
Para vulnerabilidades críticas o de alta gravedad, como las identificadas mediante la calculadora CVSS , el informe incluye:
Descripciones completas : explicación detallada del problema, su explotación y su impacto.
Soluciones recomendadas : pasos para remediar la vulnerabilidad de manera efectiva.
Para ayudar a los desarrolladores, la vinculación a recursos como el estándar de verificación de seguridad de aplicaciones (ASVS) de OWASP garantiza que tengan acceso a un marco estructurado. El ASVS proporciona requisitos y pautas de seguridad detallados para desarrollar, probar y mantener aplicaciones seguras, alineando los proyectos con los estándares de la industria.
Las pruebas de penetración de caja negra ofrecen información valiosa sobre las vulnerabilidades externas de una organización, pero conllevan desafíos y limitaciones específicos que los evaluadores deben afrontar.
Las pruebas de caja negra requieren muchos recursos y están limitadas por la falta de conocimiento interno del sistema por parte del evaluador. Las principales limitaciones incluyen:
Consejo: Combinar las pruebas de caja negra con otros enfoques (por ejemplo, pruebas de caja gris o de caja blanca) puede ayudar a mitigar estas limitaciones.
Si bien las pruebas de caja negra brindan una perspectiva externa valiosa, funcionan mejor como parte de una estrategia de pruebas de múltiples capas. Las organizaciones pueden beneficiarse de la combinación de metodologías de prueba:
Consejo profesional: Las pruebas en capas, que incorporan métodos de caja blanca y caja negra, garantizan una evaluación exhaustiva de las vulnerabilidades internas y externas.
La integración de la inteligencia artificial (IA) en las pruebas de penetración ha transformado la forma en que se identifican las vulnerabilidades. Las herramientas impulsadas por IA mejoran la eficiencia de las pruebas al automatizar tareas repetitivas y procesar grandes conjuntos de datos. Las consideraciones clave incluyen:
Visión: la combinación de herramientas impulsadas por IA con evaluadores humanos crea un equilibrio entre eficiencia y conocimiento contextual, lo que conduce a resultados de pruebas de penetración más efectivos.
Las pruebas de penetración de caja negra son un método fundamental para evaluar la postura de seguridad externa de una organización. Al simular escenarios de ataques del mundo real, se obtienen conocimientos sobre las vulnerabilidades que podrían ser explotadas por atacantes externos. En esta publicación del blog se exploró el ciclo de vida completo de las pruebas de penetración de caja negra, destacando sus etapas y desafíos clave:
Reconocimiento : recopilación de información sobre el objetivo utilizando técnicas pasivas y activas para mapear la superficie de ataque.
Escaneo : uso de herramientas automatizadas como Burp Suite y testssl.sh para identificar vulnerabilidades de manera eficiente, complementadas con un sondeo manual para detectar problemas complejos.
Identificación de vulnerabilidades : análisis de hallazgos para identificar debilidades como software desactualizado, configuraciones erróneas o credenciales débiles, aprovechando marcos como OWASP WSTG para pruebas sistemáticas.
Explotación : demostrar cómo los atacantes podrían explotar vulnerabilidades para comprometer sistemas, garantizando que los hallazgos sean validados y procesables.
Informes : entregar un informe completo que categoriza las vulnerabilidades, describe su impacto y ofrece recomendaciones prácticas para su remediación.
A pesar de sus ventajas, el pentesting de caja negra tiene limitaciones, como su incapacidad para descubrir ciertas vulnerabilidades internas y los desafíos que plantean las limitaciones de tiempo y las medidas defensivas. Sin embargo, al combinarlo con metodologías como las pruebas de caja blanca o el trabajo en equipo rojo se crea una evaluación de seguridad más exhaustiva y con más capas.
Las tecnologías emergentes como la IA están mejorando la eficiencia de las pruebas de penetración al automatizar tareas y analizar grandes conjuntos de datos, pero la experiencia humana sigue siendo indispensable para la comprensión contextual y la toma de decisiones estratégicas.
Al adoptar un enfoque estructurado para realizar pruebas de penetración de caja negra, las organizaciones pueden identificar y abordar de forma proactiva las vulnerabilidades, lo que garantiza defensas más sólidas contra amenazas externas. En Sekurno, ofrecemos evaluaciones exhaustivas y prácticas para ayudar a las empresas a mantenerse resilientes frente a los desafíos de seguridad en constante evolución.
¿Qué es el pentesting de caja negra?
Las pruebas de penetración de caja negra simulan ataques externos para identificar vulnerabilidades en los sistemas sin conocimiento interno previo.
¿Cómo se realiza una prueba de penetración de caja negra?
Implica reconocimiento, identificación de vulnerabilidades, escaneo y explotación para evaluar la postura de seguridad de las aplicaciones y redes.
¿En qué se diferencian las pruebas de caja negra de las pruebas de caja gris y caja blanca?
¿Qué herramientas se utilizan en el pentesting de caja negra?
Las herramientas comunes incluyen Nmap , Burp Suite , Metasploit y recursos OSINT como Shodan .
¿Por qué es importante realizar pruebas de penetración de caja negra?
Proporciona la perspectiva de un atacante, garantizando que las vulnerabilidades externas se identifiquen y mitiguen antes de que se produzca la explotación.
Este artículo fue preparado por Anastasiia Tolkachova , ingeniera de pruebas de seguridad en Sekurno , y revisado por Alex Rozhniatovskyi , cofundador y director de tecnología de Sekurno . Anastasiia tiene más de cinco años de experiencia práctica en pruebas de penetración y evaluaciones de seguridad. Se especializa en probar aplicaciones web, infraestructura (tanto local como en la nube) y plataformas móviles (iOS y Android). Su experiencia abarca las metodologías Black Box, Grey Box y White Box, junto con la competencia en evaluaciones de vulnerabilidad y revisiones de seguridad de código fuente. Alex tiene siete años de experiencia en desarrollo y ciberseguridad. Es un colaborador de código abierto de AWS dedicado a promover prácticas de codificación seguras. Su experiencia cierra la brecha entre el desarrollo de software y la seguridad, proporcionando información valiosa para proteger las aplicaciones web modernas.