Ferramentas web, ou por onde comezar como pentester?

Continuamos falar de ferramentas útiles para os pentes. No novo artigo analizaremos ferramentas para analizar a seguridade das aplicacións web.

O noso compañeiro BeLove Xa fixen algo así compilación hai uns sete anos. É interesante ver cales son as ferramentas que mantiveron e reforzaron as súas posicións, e cales pasaron a un segundo plano e agora son raramente utilizadas.
Ferramentas web, ou por onde comezar como pentester?

Teña en conta que isto tamén inclúe Burp Suite, pero haberá unha publicación separada sobre ela e os seus complementos útiles.

Contido:

Amase

Amase - unha ferramenta Go para buscar e enumerar subdominios DNS e mapear a rede externa. Amass é un proxecto de OWASP deseñado para mostrar o que parecen as organizacións en Internet a un estraño. Amass obtén nomes de subdominios de varias maneiras; a ferramenta usa tanto a enumeración recursiva de subdominios como buscas de código aberto.

Para descubrir segmentos de rede interconectados e números de sistemas autónomos, Amass utiliza enderezos IP obtidos durante a operación. Toda a información atopada utilízase para construír un mapa de rede.

Pros:

  • As técnicas de recollida de información inclúen:
    * DNS: busca de subdominios no dicionario, subdominios de forza bruta, busca intelixente usando mutacións baseadas en subdominios atopados, consultas DNS inversas e busca servidores DNS onde é posible realizar unha solicitude de transferencia de zona (AXFR);

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

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

    * Usando API de buscadores: BinaryEdge, BufferOver, CIRCL, HackerTarget, PassiveTotal, Robtex, SecurityTrails, Shodan, Twitter, Umbrella, URLScan;

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

  • Integración con Maltego;
  • Ofrece a cobertura máis completa da tarefa de busca de subdominios DNS.

Contras:

  • Teña coidado con amass.netdomains: tentará contactar con todos os enderezos IP da infraestrutura identificada e obter nomes de dominio a partir de buscas de DNS inversas e certificados TLS. Esta é unha técnica de "alto perfil", pode revelar as súas actividades de intelixencia na organización investigada.
  • Alto consumo de memoria, pode consumir ata 2 GB de RAM en diferentes configuracións, o que non che permitirá executar esta ferramenta na nube nun VDS barato.

Ferramentas web, ou por onde comezar como pentester?

Altdns

Altdns — unha ferramenta de Python para compilar dicionarios para enumerar subdominios DNS. Permite xerar moitas variantes de subdominios mediante mutacións e permutacións. Para iso, utilízanse palabras que adoitan atoparse en subdominios (por exemplo: test, dev, staging), todas as mutacións e permutacións aplícanse a subdominios xa coñecidos, que se poden enviar á entrada de Altdns. A saída é unha lista de variacións de subdominios que poden existir, e esta lista pódese usar máis tarde para a forza bruta de DNS.

Pros:

  • Funciona ben con grandes conxuntos de datos.

aquatone

aquatone - antes era máis coñecida como outra ferramenta para buscar subdominios, pero o propio autor abandonou isto en favor do citado Amass. Agora aquatone foi reescrito en Go e está máis orientado ao recoñecemento preliminar en sitios web. Para iso, aquatone percorre os dominios especificados e busca sitios web en diferentes portos, despois de que recolle toda a información sobre o sitio e fai unha captura de pantalla. Conveniente para o recoñecemento preliminar rápido dos sitios web, despois do cal pode seleccionar obxectivos prioritarios para os ataques.

Pros:

  • A saída crea un grupo de ficheiros e cartafoles que son cómodos de usar cando se traballa con outras ferramentas:
    * Informe HTML con capturas de pantalla recollidas e títulos de respostas agrupados por semellanza;

    * Un ficheiro con todos os URL onde se atoparon sitios web;

    * Arquivo con estatísticas e datos da páxina;

    * Un cartafol con ficheiros que conteñen cabeceiras de resposta dos obxectivos atopados;

    * Un cartafol con ficheiros que conteñen o corpo da resposta dos obxectivos atopados;

    * Capturas de pantalla dos sitios web atopados;

  • Admite o traballo con informes XML de Nmap e Masscan;
  • Usa Chrome/Chromium sen cabeza para renderizar capturas de pantalla.

Contras:

  • Pode atraer a atención dos sistemas de detección de intrusos, polo que require configuración.

A captura de pantalla realizouse para unha das versións antigas de aquatone (v0.5.0), na que se implementou a busca de subdominios DNS. As versións máis antigas pódense atopar en páxina de lanzamentos.
Ferramentas web, ou por onde comezar como pentester?

MassDNS

MassDNS é outra ferramenta para atopar subdominios DNS. A súa principal diferenza é que fai consultas DNS directamente a moitos resolutores de DNS diferentes e faino a unha velocidade considerable.

Pros:

  • Rápido: capaz de resolver máis de 350 mil nomes por segundo.

Contras:

  • MassDNS pode causar unha carga importante nos resolutores de DNS en uso, o que pode levar a prohibicións destes servidores ou reclamacións ao teu ISP. Ademais, suporá unha gran carga nos servidores DNS da empresa, se os teñen e se son responsables dos dominios que se intenta resolver.
  • A lista de resolutores está actualmente desactualizada, pero se seleccionas os resolutores DNS rotos e engades outros coñecidos, todo estará ben.

Ferramentas web, ou por onde comezar como pentester?
Captura de pantalla de aquatone v0.5.0

nsec3map

nsec3map é unha ferramenta de Python para obter unha lista completa de dominios protexidos por DNSSEC.

Pros:

  • Descobre rapidamente hosts en zonas DNS cun número mínimo de consultas se a compatibilidade con DNSSEC está activada na zona;
  • Inclúe un complemento para John the Ripper que se pode usar para descifrar os hash NSEC3 resultantes.

Contras:

  • Moitos erros de DNS non se tratan correctamente;
  • Non hai paralelización automática do procesamento de rexistros NSEC: debes dividir o espazo de nomes manualmente;
  • Alto consumo de memoria.

acunetix

acunetix — un escáner de vulnerabilidades web que automatiza o proceso de comprobación da seguridade das aplicacións web. Proba a aplicación para inxeccións SQL, XSS, XXE, SSRF e moitas outras vulnerabilidades web. Non obstante, como calquera outro escáner, unha variedade de vulnerabilidades web non substitúe a un pentester, xa que non pode atopar cadeas complexas de vulnerabilidades ou vulnerabilidades na lóxica. Pero abrangue moitas vulnerabilidades diferentes, incluíndo varias CVE, que o pentester puido esquecerse, polo que é moi conveniente para liberarte das comprobacións rutineiras.

Pros:

  • Baixo nivel de falsos positivos;
  • Os resultados pódense exportar como informes;
  • Realiza un gran número de comprobacións de varias vulnerabilidades;
  • Exploración paralela de varios hosts.

Contras:

  • Non hai un algoritmo de deduplicación (Acunetix considerará diferentes as páxinas que teñen idéntica funcionalidade, xa que conducen a URL diferentes), pero os desenvolvedores están a traballar niso;
  • Require a instalación nun servidor web separado, o que complica probar os sistemas cliente cunha conexión VPN e usar o escáner nun segmento illado da rede local de clientes;
  • O servizo en estudo pode facer ruído, por exemplo, ao enviar demasiados vectores de ataque ao formulario de contacto do sitio, o que complica moito os procesos comerciais;
  • É unha solución propietaria e, polo tanto, non gratuíta.

Ferramentas web, ou por onde comezar como pentester?

Dirsearch

Dirsearch — unha ferramenta de Python para forzar directorios e ficheiros en sitios web.

Pros:

  • Pode distinguir páxinas reais "200 OK" das páxinas "200 OK", pero co texto "Páxina non atopada";
  • Vén cun dicionario práctico que ten un bo equilibrio entre tamaño e eficacia de busca. Contén camiños estándar comúns a moitos CMS e pilas de tecnoloxía;
  • O seu propio formato de dicionario, que permite acadar unha boa eficacia e flexibilidade na enumeración de ficheiros e directorios;
  • Saída conveniente: texto plano, JSON;
  • Pode limitar: unha pausa entre as solicitudes, que é vital para calquera servizo débil.

Contras:

  • As extensións deben pasarse como unha cadea, o que é inconveniente se precisa pasar moitas extensións á vez;
  • Para utilizar o seu dicionario, terá que modificarse lixeiramente ao formato de dicionario Dirsearch para obter a máxima eficiencia.

Ferramentas web, ou por onde comezar como pentester?

wfuzz

wfuzz - Fuzzer da aplicación web Python. Probablemente un dos phasers web máis famosos. O principio é sinxelo: wfuzz permítelle clasificar en fase calquera lugar dunha solicitude HTTP, o que fai posible a fase de parámetros GET/POST, cabeceiras HTTP, incluíndo Cookie e outras cabeceiras de autenticación. Ao mesmo tempo, tamén é conveniente para a simple forza bruta de directorios e ficheiros, para o que necesitas un bo dicionario. Tamén conta cun sistema de filtrado flexible, co que podes filtrar as respostas da web segundo diferentes parámetros, o que permite conseguir resultados efectivos.

Pros:

  • Multifuncional - estrutura modular, a montaxe leva uns minutos;
  • Cómodo mecanismo de filtrado e fuzzing;
  • Podes poñer en fase calquera método HTTP, así como calquera lugar dunha solicitude HTTP.

Contras:

  • En desenvolvemento.

Ferramentas web, ou por onde comezar como pentester?

ffuff

ffuff — un fuzzer web en Go, creado na "imaxe e semellanza" de wfuzz, permítelle eliminar ficheiros brutos, directorios, rutas URL, nomes e valores dos parámetros GET/POST, cabeceiras HTTP, incluíndo a cabeceira Host para forza bruta de hosts virtuais. wfuzz diferénciase do seu irmán en maior velocidade e algunhas funcións novas, por exemplo, admite dicionarios en formato Dirsearch.

Pros:

  • Os filtros son similares aos filtros wfuzz, permítenche configurar de forma flexible a forza bruta;
  • Permítelle difuminar os valores de cabeceira HTTP, os datos de solicitude POST e varias partes do URL, incluídos os nomes e os valores dos parámetros GET;
  • Podes especificar calquera método HTTP.

Contras:

  • En desenvolvemento.

Ferramentas web, ou por onde comezar como pentester?

gobuster

gobuster — unha ferramenta Go para recoñecemento, ten dous modos de operación. O primeiro úsase para ficheiros e directorios de forza bruta nun sitio web, o segundo úsase para subdominios DNS de forza bruta. A ferramenta non admite inicialmente a enumeración recursiva de ficheiros e directorios, o que, por suposto, aforra tempo, pero, por outra banda, a forza bruta de cada novo punto final no sitio web debe ser iniciada por separado.

Pros:

  • Alta velocidade de operación tanto para a busca de forza bruta de subdominios DNS como para a forza bruta de ficheiros e directorios.

Contras:

  • A versión actual non admite a configuración de cabeceiras HTTP;
  • Por defecto, só algúns dos códigos de estado HTTP (200,204,301,302,307) se consideran válidos.

Ferramentas web, ou por onde comezar como pentester?

Arjun

Arjun - unha ferramenta para a forza bruta dos parámetros HTTP ocultos en parámetros GET/POST, así como en JSON. O dicionario incorporado ten 25 palabras, que Ajrun verifica en case 980 segundos. O truco é que Ajrun non verifica cada parámetro por separado, senón que verifica ~30 parámetros á vez e ve se a resposta cambiou. Se a resposta cambiou, divide estes 1000 parámetros en dúas partes e comproba cal destas partes afecta á resposta. Así, mediante unha simple busca binaria, atópase un parámetro ou varios parámetros ocultos que influíron na resposta e, polo tanto, poden existir.

Pros:

  • Alta velocidade debido á busca binaria;
  • Soporte para parámetros GET/POST, así como parámetros en forma de JSON;

O complemento para Burp Suite funciona cun principio similar: param-mineiro, que tamén é moi bo para atopar parámetros HTTP ocultos. Contarémosche máis sobre el nun próximo artigo sobre Burp e os seus complementos.
Ferramentas web, ou por onde comezar como pentester?

LinkFinder

LinkFinder — un script de Python para buscar ligazóns en ficheiros JavaScript. Útil para atopar puntos finais/URL ocultos ou esquecidos nunha aplicación web.

Pros:

  • Rápido;
  • Hai un complemento especial para Chrome baseado en LinkFinder.

.

Contras:

  • Conclusión final incómoda;
  • Non analiza JavaScript ao longo do tempo;
  • Unha lóxica moi sinxela para buscar ligazóns: se JavaScript está ofuscado dalgún xeito, ou as ligazóns inicialmente faltan e se xeran de forma dinámica, entón non poderá atopar nada.

Ferramentas web, ou por onde comezar como pentester?

JSParser

JSParser é un script de Python que usa Tornado и JSBeautifier para analizar URL relativos a partir de ficheiros JavaScript. Moi útil para detectar solicitudes AJAX e compilar unha lista de métodos API cos que interactúa a aplicación. Funciona eficazmente en conxunto con LinkFinder.

Pros:

  • Análise rápida de ficheiros JavaScript.

Ferramentas web, ou por onde comezar como pentester?

sqlmap

sqlmap é probablemente unha das ferramentas máis famosas para analizar aplicacións web. Sqlmap automatiza a busca e operación de inxeccións SQL, funciona con varios dialectos SQL e ten un gran número de técnicas diferentes no seu arsenal, que van desde comiñas directas ata vectores complexos para inxeccións SQL baseadas no tempo. Ademais, dispón de moitas técnicas para a posterior explotación de varios DBMS, polo que é útil non só como escáner para inxeccións SQL, senón tamén como unha poderosa ferramenta para explotar inxeccións SQL xa atopadas.

Pros:

  • Un gran número de técnicas e vectores diferentes;
  • Baixo número de falsos positivos;
  • Moitas opcións de axuste fino, varias técnicas, base de datos de destino, scripts de manipulación para evitar WAF;
  • Capacidade de crear un volcado de saída;
  • Moitas capacidades operativas diferentes, por exemplo, para algunhas bases de datos: carga/descarga automática de ficheiros, obtención da capacidade de executar comandos (RCE) e outros;
  • Soporte para conexión directa á base de datos mediante os datos obtidos durante un ataque;
  • Podes enviar un ficheiro de texto cos resultados de Burp como entrada, sen necesidade de compoñer manualmente todos os atributos da liña de comandos.

Contras:

  • É difícil personalizar, por exemplo, escribir algúns dos teus propios cheques debido á escasa documentación para iso;
  • Sen a configuración adecuada, realiza un conxunto incompleto de comprobacións, o que pode ser enganoso.

Ferramentas web, ou por onde comezar como pentester?

NoSQLMap

NoSQLMap — unha ferramenta de Python para automatizar a busca e explotación de inxeccións NoSQL. É conveniente usar non só nas bases de datos NoSQL, senón tamén directamente ao auditar aplicacións web que usan NoSQL.

Pros:

  • Do mesmo xeito que sqlmap, non só atopa unha vulnerabilidade potencial, senón que tamén comproba a posibilidade da súa explotación para MongoDB e CouchDB.

Contras:

  • Non admite NoSQL para Redis, Cassandra, o desenvolvemento está en marcha nesta dirección.

oxml_xxe

oxml_xxe — unha ferramenta para incorporar exploits XML XXE en varios tipos de ficheiros que usan o formato XML dalgún xeito.

Pros:

  • Soporta moitos formatos comúns como DOCX, ODT, SVG, XML.

Contras:

  • O soporte para PDF, JPEG e GIF non está totalmente implementado;
  • Crea só un ficheiro. Para resolver este problema, pode utilizar a ferramenta docem, que pode crear un gran número de ficheiros de carga útil en diferentes lugares.

As utilidades anteriores fan un gran traballo probando XXE ao cargar documentos que conteñan XML. Pero tamén lembre que os controladores de formato XML pódense atopar en moitos outros casos, por exemplo, XML pódese usar como formato de datos en lugar de JSON.

Polo tanto, recomendámosche que prestes atención ao seguinte repositorio, que contén un gran número de cargas útiles diferentes: PayloadsAllTheThings.

tplmap

tplmap - Unha ferramenta de Python para identificar e explotar automaticamente as vulnerabilidades de inxección de modelos no lado do servidor; ten configuracións e marcas similares a sqlmap. Usa varias técnicas e vectores diferentes, incluída a inxección cega, e tamén ten técnicas para executar código e cargar/cargar ficheiros arbitrarios. Ademais, ten no seu arsenal técnicas para unha ducia de motores de modelos diferentes e algunhas técnicas para buscar inxeccións de código tipo eval() en Python, Ruby, PHP, JavaScript. Se ten éxito, abre unha consola interactiva.

Pros:

  • Un gran número de técnicas e vectores diferentes;
  • Soporta moitos motores de renderizado de modelos;
  • Moitas técnicas operativas.

CeWL

CeWL - un xerador de dicionarios en Ruby, creado para extraer palabras únicas dun sitio web especificado, segue as ligazóns do sitio ata unha profundidade especificada. O dicionario compilado de palabras únicas pode usarse máis tarde para contrasinais de forza bruta en servizos ou ficheiros e directorios de forza bruta no mesmo sitio web, ou para atacar os hash resultantes usando hashcat ou John the Ripper. Útil ao compilar unha lista "destino" de contrasinais potenciais.

Pros:

  • Doado de usar.

Contras:

  • Debes ter coidado coa profundidade de busca para non capturar un dominio extra.

Weakpass

Weakpass - un servizo que contén moitos dicionarios con contrasinais únicos. Moi útil para varias tarefas relacionadas co descifrado de contrasinais, que van desde a simple forza bruta de contas en liña nos servizos de destino ata a forza bruta fóra de liña dos hash recibidos usando hashcat ou John The Ripper. Contén uns 8 millóns de contrasinais que van de 4 a 25 caracteres de lonxitude.

Pros:

  • Contén dicionarios específicos e dicionarios cos contrasinais máis comúns: podes escoller un dicionario específico para as túas necesidades;
  • Os dicionarios actualízanse e repróbanse con novos contrasinais;
  • Os dicionarios están ordenados por eficiencia. Podes escoller a opción de forza bruta en liña rápida e selección detallada de contrasinais dun dicionario voluminoso coas últimas filtracións;
  • Hai unha calculadora que amosa o tempo que se tarda en crear contrasinais brutos no teu equipo.

Ferramentas web, ou por onde comezar como pentester?

Gustaríanos incluír ferramentas para comprobacións de CMS nun grupo separado: WPScan, JoomScan e hacker AEM.

AEM_hacker

Hacker AEM é unha ferramenta para identificar vulnerabilidades nas aplicacións Adobe Experience Manager (AEM).

Pros:

  • Pode identificar aplicacións AEM a partir da lista de URL enviadas á súa entrada;
  • Contén scripts para obter RCE cargando un shell JSP ou explotando SSRF.

JoomScan

JoomScan — unha ferramenta Perl para automatizar a detección de vulnerabilidades ao implementar Joomla CMS.

Pros:

  • Capaz de atopar fallos de configuración e problemas coa configuración administrativa;
  • Lista as versións de Joomla e as vulnerabilidades asociadas, de xeito similar para os compoñentes individuais;
  • Contén máis de 1000 exploits para compoñentes de Joomla;
  • Saída de informes finais en formato texto e HTML.

Ferramentas web, ou por onde comezar como pentester?

WPScan

WPScan - unha ferramenta para escanear sitios de WordPress, ten vulnerabilidades no seu arsenal tanto para o propio motor de WordPress como para algúns complementos.

Pros:

  • Capaz de enumerar non só complementos e temas de WordPress inseguros, senón tamén obter unha lista de usuarios e ficheiros TimThumb;
  • Pode realizar ataques de forza bruta en sitios de WordPress.

Contras:

  • Sen a configuración adecuada, realiza un conxunto incompleto de comprobacións, o que pode ser enganoso.

Ferramentas web, ou por onde comezar como pentester?

En xeral, diferentes persoas prefiren diferentes ferramentas para o traballo: todas son boas ao seu xeito, e o que lle gusta a unha persoa pode non lle convén nada a outra. Se pensas que ignoramos inxustamente algunha boa utilidade, escribe sobre iso nos comentarios.

Fonte: www.habr.com

Engadir un comentario