¿Herramientas web o por dónde empezar como pentester?

Continuar Hable sobre herramientas útiles para pentesters. En el nuevo artículo veremos herramientas para analizar la seguridad de las aplicaciones web.

Nuestro colaborador Ser amado ya he hecho algo como esto compilación hace unos siete años. Es interesante ver qué herramientas han conservado y fortalecido sus posiciones, y cuáles han pasado a un segundo plano y ahora rara vez se utilizan.
¿Herramientas web o por dónde empezar como pentester?

Tenga en cuenta que esto también incluye Burp Suite, pero habrá una publicación separada sobre él y sus útiles complementos.

Contenido:

Acumular

Acumular - una herramienta Go para buscar y enumerar subdominios DNS y mapear la red externa. Amass es un proyecto de OWASP diseñado para mostrar cómo ven las organizaciones en Internet a un extraño. Amass obtiene nombres de subdominios de varias maneras; la herramienta utiliza tanto la enumeración recursiva de subdominios como búsquedas de código abierto.

Para descubrir segmentos de red interconectados y números de sistemas autónomos, Amass utiliza direcciones IP obtenidas durante la operación. Toda la información encontrada se utiliza para construir un mapa de red.

Pros:

  • Las técnicas de recopilación de información incluyen:
    * DNS: búsqueda de diccionario de subdominios, subdominios de fuerza bruta, búsqueda inteligente mediante mutaciones basadas en subdominios encontrados, consultas DNS inversas y búsqueda de servidores DNS donde es posible realizar una solicitud de transferencia de zona (AXFR);

    * Búsqueda de código abierto: Ask, Baidu, Bing, CommonCrawl, DNSDB, DNSDumpster, DNSTable, Dogpile, Exalead, FindSubdomains, Google, IPv4Info, Netcraft, PTRArchive, Riddler, SiteDossier, ThreatCrowd, VirusTotal, Yahoo;

    * Buscar bases de datos de certificados TLS: Censys, CertDB, CertSpotter, Crtsh, Entrust;

    * Uso de API de motores de búsqueda: BinaryEdge, BufferOver, CIRCL, HackerTarget, PassiveTotal, Robtex, SecurityTrails, Shodan, Twitter, Umbrella, URLScan;

    * Buscar archivos web en Internet: ArchiveIt, ArchiveToday, Arquivo, LoCArchive, OpenUKArchive, UKGovArchive, Wayback;

  • Integración con Maltego;
  • Proporciona la cobertura más completa de la tarea de buscar subdominios DNS.

Contras:

  • Tenga cuidado con amass.netdomains: intentará contactar con cada dirección IP en la infraestructura identificada y obtener nombres de dominio a partir de búsquedas DNS inversas y certificados TLS. Esta es una técnica de "alto perfil" que puede revelar sus actividades de inteligencia en la organización bajo investigación.
  • Alto consumo de memoria, puede consumir hasta 2 GB de RAM en diferentes configuraciones, lo que no te permitirá ejecutar esta herramienta en la nube en un VDS barato.

¿Herramientas web o por dónde empezar como pentester?

Altdns

Altdns — una herramienta Python para compilar diccionarios para enumerar subdominios DNS. Le permite generar muchas variantes de subdominios mediante mutaciones y permutaciones. Para esto, se utilizan palabras que se encuentran a menudo en subdominios (por ejemplo: prueba, desarrollo, puesta en escena), todas las mutaciones y permutaciones se aplican a subdominios ya conocidos, que se pueden enviar a la entrada Altdns. El resultado es una lista de variaciones de subdominios que pueden existir, y esta lista se puede utilizar más adelante para la fuerza bruta de DNS.

Pros:

  • Funciona bien con grandes conjuntos de datos.

acuatono

acuatono - Anteriormente era más conocido como otra herramienta para buscar subdominios, pero el propio autor lo abandonó en favor del mencionado Amass. Ahora Aquatone se ha reescrito en Go y está más orientado al reconocimiento preliminar de sitios web. Para hacer esto, aquatone recorre los dominios especificados y busca sitios web en diferentes puertos, luego de lo cual recopila toda la información sobre el sitio y toma una captura de pantalla. Conveniente para un reconocimiento preliminar rápido de los sitios web, después del cual puede seleccionar objetivos prioritarios para los ataques.

Pros:

  • El resultado crea un grupo de archivos y carpetas que son convenientes de usar cuando se trabaja con otras herramientas:
    * Informe HTML con capturas de pantalla recopiladas y títulos de respuestas agrupados por similitud;

    * Un archivo con todas las URL donde se encontraron sitios web;

    * Archivo con estadísticas y datos de páginas;

    * Una carpeta con archivos que contienen encabezados de respuesta de objetivos encontrados;

    * Una carpeta con archivos que contienen el cuerpo de la respuesta de los objetivos encontrados;

    * Capturas de pantalla de sitios web encontrados;

  • Admite trabajar con informes XML de Nmap y Masscan;
  • Utiliza Chrome/Chromium sin cabeza para representar capturas de pantalla.

Contras:

  • Puede atraer la atención de los sistemas de detección de intrusos, por lo que requiere configuración.

La captura de pantalla se tomó para una de las versiones antiguas de Aquatone (v0.5.0), en la que se implementó la búsqueda de subdominios DNS. Las versiones anteriores se pueden encontrar en página de lanzamientos.
¿Herramientas web o por dónde empezar como pentester?

DNS masivo

DNS masivo es otra herramienta para encontrar subdominios DNS. Su principal diferencia es que realiza consultas de DNS directamente a muchos solucionadores de DNS diferentes y lo hace a una velocidad considerable.

Pros:

  • Rápido: capaz de resolver más de 350 mil nombres por segundo.

Contras:

  • MassDNS puede causar una carga significativa en los solucionadores de DNS en uso, lo que puede provocar prohibiciones en esos servidores o quejas a su ISP. Además, supondrá una gran carga para los servidores DNS de la empresa, si los tienen y si son responsables de los dominios que estás intentando resolver.
  • La lista de solucionadores de DNS está actualmente desactualizada, pero si selecciona los solucionadores de DNS rotos y agrega otros nuevos conocidos, todo estará bien.

¿Herramientas web o por dónde empezar como pentester?
Captura de pantalla de Aquatone v0.5.0

nsec3map

nsec3map es una herramienta de Python para obtener una lista completa de dominios protegidos por DNSSEC.

Pros:

  • Descubre rápidamente hosts en zonas DNS con una cantidad mínima de consultas si la compatibilidad con DNSSEC está habilitada en la zona;
  • Incluye un complemento para John the Ripper que se puede utilizar para descifrar los hashes NSEC3 resultantes.

Contras:

  • Muchos errores de DNS no se manejan correctamente;
  • No existe una paralelización automática del procesamiento de registros NSEC: debe dividir el espacio de nombres manualmente;
  • Alto consumo de memoria.

Acunetix

Acunetix — un escáner de vulnerabilidad web que automatiza el proceso de verificación de la seguridad de las aplicaciones web. Prueba la aplicación en busca de inyecciones SQL, XSS, XXE, SSRF y muchas otras vulnerabilidades web. Sin embargo, como cualquier otro escáner, una variedad de vulnerabilidades web no reemplaza a un pentester, ya que no puede encontrar cadenas complejas de vulnerabilidades o vulnerabilidades en la lógica. Pero cubre muchas vulnerabilidades diferentes, incluidas varias CVE, que el pentester podría haber olvidado, por lo que es muy conveniente para liberarlo de las comprobaciones de rutina.

Pros:

  • Bajo nivel de falsos positivos;
  • Los resultados se pueden exportar como informes;
  • Realiza una gran cantidad de comprobaciones para detectar diversas vulnerabilidades;
  • Escaneo paralelo de múltiples hosts.

Contras:

  • No existe un algoritmo de deduplicación (Acunetix considerará diferentes las páginas que son idénticas en funcionalidad, ya que conducen a diferentes URL), pero los desarrolladores están trabajando en ello;
  • Requiere instalación en un servidor web separado, lo que complica probar los sistemas cliente con una conexión VPN y usar el escáner en un segmento aislado de la red local del cliente;
  • El servicio en estudio puede causar ruido, por ejemplo, enviando demasiados vectores de ataque al formulario de contacto del sitio, complicando así enormemente los procesos comerciales;
  • Es una solución propietaria y, por tanto, no gratuita.

¿Herramientas web o por dónde empezar como pentester?

búsqueda

búsqueda – una herramienta de Python para directorios y archivos de fuerza bruta en sitios web.

Pros:

  • Puede distinguir páginas reales “200 OK” de páginas “200 OK”, pero con el texto “página no encontrada”;
  • Viene con un práctico diccionario que tiene un buen equilibrio entre tamaño y eficiencia de búsqueda. Contiene rutas estándar comunes a muchos CMS y pilas de tecnología;
  • Su propio formato de diccionario, que le permite lograr una buena eficiencia y flexibilidad al enumerar archivos y directorios;
  • Salida conveniente: texto sin formato, JSON;
  • Puede realizar limitaciones: una pausa entre solicitudes, lo cual es vital para cualquier servicio débil.

Contras:

  • Las extensiones deben pasarse como una cadena, lo cual resulta inconveniente si necesita pasar muchas extensiones a la vez;
  • Para utilizar su diccionario, será necesario modificarlo ligeramente al formato de diccionario Dirsearch para lograr la máxima eficiencia.

¿Herramientas web o por dónde empezar como pentester?

wfuzz

wfuzz - Fuzzer de aplicaciones web Python. Probablemente uno de los Phasers web más famosos. El principio es simple: wfuzz le permite poner en fase cualquier lugar en una solicitud HTTP, lo que hace posible poner en fase los parámetros GET/POST, los encabezados HTTP, incluidas las cookies y otros encabezados de autenticación. Al mismo tiempo, también es conveniente para la simple fuerza bruta de directorios y archivos, para lo cual necesita un buen diccionario. También cuenta con un sistema de filtrado flexible, con el que podrás filtrar las respuestas del sitio web según diferentes parámetros, lo que te permite lograr resultados efectivos.

Pros:

  • Multifuncional: estructura modular, el montaje tarda unos minutos;
  • Cómodo mecanismo de filtrado y fuzzing;
  • Puede eliminar cualquier método HTTP, así como cualquier lugar en una solicitud HTTP.

Contras:

  • En desarrollo.

¿Herramientas web o por dónde empezar como pentester?

ufff

ufff — un fuzzer web en Go, creado a “imagen y semejanza” de wfuzz, le permite procesar archivos, directorios, rutas URL, nombres y valores de parámetros GET/POST, encabezados HTTP, incluido el encabezado Host para fuerza bruta de hosts virtuales. wfuzz se diferencia de su hermano por su mayor velocidad y algunas características nuevas, por ejemplo, admite diccionarios en formato Dirsearch.

Pros:

  • Los filtros son similares a los filtros wfuzz, le permiten configurar de manera flexible la fuerza bruta;
  • Le permite borrar los valores del encabezado HTTP, los datos de la solicitud POST y varias partes de la URL, incluidos los nombres y valores de los parámetros GET;
  • Puede especificar cualquier método HTTP.

Contras:

  • En desarrollo.

¿Herramientas web o por dónde empezar como pentester?

gobuster

gobuster — Go herramienta de reconocimiento, tiene dos modos de funcionamiento. El primero se utiliza para aplicar fuerza bruta a archivos y directorios en un sitio web, el segundo se utiliza para aplicar fuerza bruta a subdominios DNS. Inicialmente, la herramienta no admite la enumeración recursiva de archivos y directorios, lo que, por supuesto, ahorra tiempo, pero, por otro lado, la fuerza bruta de cada nuevo punto final en el sitio web debe iniciarse por separado.

Pros:

  • Alta velocidad de operación tanto para búsqueda por fuerza bruta de subdominios DNS como para búsqueda por fuerza bruta de archivos y directorios.

Contras:

  • La versión actual no admite la configuración de encabezados HTTP;
  • De forma predeterminada, sólo algunos de los códigos de estado HTTP (200,204,301,302,307) se consideran válidos.

¿Herramientas web o por dónde empezar como pentester?

Arjun

Arjun - una herramienta para la fuerza bruta de parámetros HTTP ocultos en parámetros GET/POST, así como en JSON. El diccionario incorporado tiene 25 palabras, que Ajrun comprueba en casi 980 segundos. El truco es que Ajrun no verifica cada parámetro por separado, sino que verifica ~30 parámetros a la vez y ve si la respuesta ha cambiado. Si la respuesta ha cambiado, divide estos 1000 parámetros en dos partes y comprueba cuál de estas partes afecta a la respuesta. Así, mediante una simple búsqueda binaria se encuentra un parámetro o varios parámetros ocultos que influyeron en la respuesta y, por tanto, pueden existir.

Pros:

  • Alta velocidad gracias a la búsqueda binaria;
  • Soporte para parámetros GET/POST, así como parámetros en forma de JSON;

El complemento para Burp Suite funciona según un principio similar: minero param, que también es muy bueno para encontrar parámetros HTTP ocultos. Le contaremos más sobre esto en un próximo artículo sobre Burp y sus complementos.
¿Herramientas web o por dónde empezar como pentester?

Buscador de enlaces

Buscador de enlaces — un script de Python para buscar enlaces en archivos JavaScript. Útil para encontrar puntos finales/URL ocultos u olvidados en una aplicación web.

Pros:

  • Rápido;
  • Existe un complemento especial para Chrome basado en LinkFinder.

.

Contras:

  • Conclusión final incómoda;
  • No analiza JavaScript a lo largo del tiempo;
  • Una lógica bastante simple para buscar enlaces: si JavaScript está de alguna manera ofuscado, o los enlaces inicialmente faltan y se generan dinámicamente, entonces no podrá encontrar nada.

¿Herramientas web o por dónde empezar como pentester?

JSParser

JSParser es un script de Python que utiliza Tornado и JSBellezador para analizar URL relativas de archivos JavaScript. Muy útil para detectar solicitudes AJAX y compilar una lista de métodos API con los que interactúa la aplicación. Funciona eficazmente junto con LinkFinder.

Pros:

  • Análisis rápido de archivos JavaScript.

¿Herramientas web o por dónde empezar como pentester?

mapa sql

mapa sql Es probablemente una de las herramientas más famosas para analizar aplicaciones web. Sqlmap automatiza la búsqueda y operación de inyecciones SQL, trabaja con varios dialectos SQL y tiene una gran cantidad de técnicas diferentes en su arsenal, que van desde comillas simples hasta vectores complejos para inyecciones SQL basadas en el tiempo. Además, tiene muchas técnicas para una mayor explotación de varios DBMS, por lo que es útil no sólo como escáner de inyecciones de SQL, sino también como una poderosa herramienta para explotar inyecciones de SQL ya encontradas.

Pros:

  • Una gran cantidad de técnicas y vectores diferentes;
  • Bajo número de falsos positivos;
  • Muchas opciones de ajuste, diversas técnicas, base de datos de destino, scripts de manipulación para omitir WAF;
  • Capacidad para crear volcados de salida;
  • Muchas capacidades operativas diferentes, por ejemplo, para algunas bases de datos: carga/descarga automática de archivos, obtención de la capacidad de ejecutar comandos (RCE), etc.
  • Soporte para conexión directa a la base de datos utilizando datos obtenidos durante un ataque;
  • Puede enviar un archivo de texto con los resultados de Burp como entrada; no es necesario redactar manualmente todos los atributos de la línea de comando.

Contras:

  • Es difícil personalizar, por ejemplo, para emitir algunos cheques propios debido a la escasa documentación para ello;
  • Sin la configuración adecuada, realiza una serie de comprobaciones incompletas, lo que puede resultar engañoso.

¿Herramientas web o por dónde empezar como pentester?

Mapa NoSQL

Mapa NoSQL – una herramienta Python para automatizar la búsqueda y explotación de inyecciones NoSQL. Es conveniente usarlo no solo en bases de datos NoSQL, sino también directamente al auditar aplicaciones web que usan NoSQL.

Pros:

  • Al igual que sqlmap, no sólo encuentra una vulnerabilidad potencial, sino que también comprueba la posibilidad de su explotación para MongoDB y CouchDB.

Contras:

  • No es compatible con NoSQL para Redis, Cassandra, se está desarrollando en esta dirección.

oxml_xxe

oxml_xxe — una herramienta para incrustar exploits XXE XML en varios tipos de archivos que utilizan el formato XML de alguna forma.

Pros:

  • Admite muchos formatos comunes como DOCX, ODT, SVG, XML.

Contras:

  • La compatibilidad con PDF, JPEG y GIF no está completamente implementada;
  • Crea solo un archivo. Para solucionar este problema puedes utilizar la herramienta. docente, que puede crear una gran cantidad de archivos de carga útil en diferentes lugares.

Las utilidades anteriores hacen un gran trabajo al probar XXE al cargar documentos que contienen XML. Pero recuerde también que los controladores de formato XML se pueden encontrar en muchos otros casos; por ejemplo, XML se puede utilizar como formato de datos en lugar de JSON.

Por lo tanto, le recomendamos que preste atención al siguiente repositorio, que contiene una gran cantidad de cargas útiles diferentes: Cargas útilesTodas las cosas.

tplmapa

tplmapa - una herramienta Python para identificar y explotar automáticamente las vulnerabilidades de inyección de plantillas del lado del servidor; tiene configuraciones y indicadores similares a sqlmap. Utiliza varias técnicas y vectores diferentes, incluida la inyección ciega, y también tiene técnicas para ejecutar código y cargar/cargar archivos arbitrarios. Además, tiene en su arsenal técnicas para una docena de motores de plantillas diferentes y algunas técnicas para buscar inyecciones de código tipo eval() en Python, Ruby, PHP, JavaScript. Si tiene éxito, abre una consola interactiva.

Pros:

  • Una gran cantidad de técnicas y vectores diferentes;
  • Admite muchos motores de renderizado de plantillas;
  • Muchas técnicas operativas.

CEWL

CEWL - un generador de diccionario en Ruby, creado para extraer palabras únicas de un sitio web específico, sigue los enlaces del sitio hasta una profundidad específica. El diccionario compilado de palabras únicas se puede utilizar posteriormente para forzar contraseñas en servicios o archivos y directorios de fuerza bruta en el mismo sitio web, o para atacar los hashes resultantes utilizando hashcat o John the Ripper. Útil al compilar una lista "objetivo" de posibles contraseñas.

Pros:

  • Fácil de usar.

Contras:

  • Debe tener cuidado con la profundidad de la búsqueda para no capturar un dominio adicional.

paso débil

paso débil - un servicio que contiene muchos diccionarios con contraseñas únicas. Extremadamente útil para diversas tareas relacionadas con el descifrado de contraseñas, que van desde la simple fuerza bruta en línea de cuentas en servicios de destino hasta la fuerza bruta fuera de línea de hashes recibidos usando hashcat o John el destripador. Contiene alrededor de 8 mil millones de contraseñas con una longitud de entre 4 y 25 caracteres.

Pros:

  • Contiene diccionarios específicos y diccionarios con las contraseñas más comunes; puede elegir un diccionario específico para sus propias necesidades;
  • Los diccionarios se actualizan y reponen con nuevas contraseñas;
  • Los diccionarios están ordenados por eficiencia. Puede elegir la opción tanto de fuerza bruta rápida en línea como de selección detallada de contraseñas de un voluminoso diccionario con las últimas filtraciones;
  • Existe una calculadora que muestra el tiempo que lleva borrar las contraseñas de su equipo.

¿Herramientas web o por dónde empezar como pentester?

Nos gustaría incluir herramientas para comprobaciones de CMS en un grupo separado: WPScan, JoomScan y AEM hacker.

AEM_hacker

pirata informático AEM es una herramienta para identificar vulnerabilidades en aplicaciones Adobe Experience Manager (AEM).

Pros:

  • Puede identificar aplicaciones AEM a partir de la lista de URL enviadas a su entrada;
  • Contiene scripts para obtener RCE cargando un shell JSP o explotando SSRF.

JoomScan

JoomScan — una herramienta Perl para automatizar la detección de vulnerabilidades al implementar Joomla CMS.

Pros:

  • Capaz de encontrar fallas de configuración y problemas con la configuración administrativa;
  • Enumera las versiones de Joomla y las vulnerabilidades asociadas, de manera similar para componentes individuales;
  • Contiene más de 1000 exploits para componentes de Joomla;
  • Salida de informes finales en formatos texto y HTML.

¿Herramientas web o por dónde empezar como pentester?

WPScan

WPScan - una herramienta para escanear sitios de WordPress, tiene vulnerabilidades en su arsenal tanto para el motor de WordPress como para algunos complementos.

Pros:

  • Capaz de enumerar no sólo complementos y temas de WordPress inseguros, sino también obtener una lista de usuarios y archivos TimThumb;
  • Puede realizar ataques de fuerza bruta en sitios de WordPress.

Contras:

  • Sin la configuración adecuada, realiza una serie de comprobaciones incompletas, lo que puede resultar engañoso.

¿Herramientas web o por dónde empezar como pentester?

En general, diferentes personas prefieren diferentes herramientas de trabajo: todas son buenas a su manera y lo que a una persona le gusta puede no ser adecuado para otra. Si crees que hemos ignorado injustamente alguna buena utilidad, ¡escríbelo en los comentarios!

Fuente: habr.com

Añadir un comentario