Eines web, o per on començar com a pentester?

Continuem parlar d'eines útils per als pentesters. En el nou article veurem eines per analitzar la seguretat de les aplicacions web.

El nostre company BeLove Jo ja he fet una cosa així compilació fa uns set anys. És interessant veure quines eines han mantingut i reforçat les seves posicions, i quines s'han esvaït en un segon pla i ara s'utilitzen poques vegades.
Eines web, o per on començar com a pentester?

Tingueu en compte que això també inclou Burp Suite, però hi haurà una publicació separada sobre això i els seus complements útils.

Contingut:

Amassa

Amassa - una eina Go per cercar i enumerar subdominis DNS i mapejar la xarxa externa. Amass és un projecte OWASP dissenyat per mostrar com semblen les organitzacions a Internet a un foraster. Amass obté noms de subdominis de diverses maneres; l'eina utilitza tant l'enumeració recursiva de subdominis com les cerques de codi obert.

Per descobrir segments de xarxa interconnectats i números de sistema autònom, Amass utilitza adreces IP obtingudes durant el funcionament. Tota la informació trobada s'utilitza per construir un mapa de xarxa.

Pros:

  • Les tècniques de recollida d'informació inclouen:
    * DNS: cerca de diccionari de subdominis, subdominis de força bruta, cerca intel·ligent mitjançant mutacions basades en subdominis trobats, consultes DNS inverses i cerca de servidors DNS on és possible fer una sol·licitud de transferència de zona (AXFR);

    * Cerca de codi obert: Ask, Baidu, Bing, CommonCrawl, DNSDB, DNSDumpster, DNSTable, Dogpile, Exalead, FindSubdomains, Google, IPv4Info, Netcraft, PTRArchive, Riddler, SiteDossier, ThreatCrowd, VirusTotal, Yahoo;

    * Cerca bases de dades de certificats TLS: Censys, CertDB, CertSpotter, Crtsh, Entrust;

    * Ús d'API del motor de cerca: BinaryEdge, BufferOver, CIRCL, HackerTarget, PassiveTotal, Robtex, SecurityTrails, Shodan, Twitter, Umbrella, URLScan;

    * Cerca arxius web d'Internet: ArchiveIt, ArchiveToday, Arquivo, LoCArchive, OpenUKArchive, UKGovArchive, Wayback;

  • Integració amb Maltego;
  • Proporciona la cobertura més completa de la tasca de cerca de subdominis DNS.

Contres:

  • Aneu amb compte amb amass.netdomains: intentarà contactar amb totes les adreces IP de la infraestructura identificada i obtenir noms de domini a partir de cerques DNS inverses i certificats TLS. Aquesta és una tècnica de "alt perfil", que pot revelar les vostres activitats d'intel·ligència a l'organització sota investigació.
  • Alt consum de memòria, pot consumir fins a 2 GB de RAM en diferents configuracions, la qual cosa no permetrà executar aquesta eina al núvol en un VDS barat.

Eines web, o per on començar com a pentester?

Altdns

Altdns — una eina de Python per compilar diccionaris per enumerar subdominis DNS. Permet generar moltes variants de subdominis utilitzant mutacions i permutacions. Per a això, s'utilitzen paraules que sovint es troben en subdominis (per exemple: prova, desenvolupament, escenificació), totes les mutacions i permutacions s'apliquen a subdominis ja coneguts, que es poden enviar a l'entrada Altdns. La sortida és una llista de variacions de subdominis que poden existir, i aquesta llista es pot utilitzar més tard per a la força bruta de DNS.

Pros:

  • Funciona bé amb grans conjunts de dades.

aquatona

aquatona - abans era més conegut com una eina més per a la cerca de subdominis, però el mateix autor ho va abandonar en favor de l'esmentat Amass. Ara aquatone s'ha reescrit a Go i està més orientat al reconeixement preliminar als llocs web. Per fer-ho, aquatone passa pels dominis especificats i cerca llocs web en diferents ports, després del qual recull tota la informació sobre el lloc i fa una captura de pantalla. Convenient per al reconeixement preliminar ràpid dels llocs web, després del qual podeu seleccionar objectius prioritaris per als atacs.

Pros:

  • La sortida crea un grup de fitxers i carpetes que són còmodes d'utilitzar quan es treballa més amb altres eines:
    * Informe HTML amb captures de pantalla recopilades i títols de respostes agrupats per similitud;

    * Un fitxer amb tots els URL on s'han trobat llocs web;

    * Fitxer amb estadístiques i dades de la pàgina;

    * Una carpeta amb fitxers que contenen capçaleres de resposta dels objectius trobats;

    * Una carpeta amb fitxers que contenen el cos de la resposta dels objectius trobats;

    * Captures de pantalla dels llocs web trobats;

  • Admet el treball amb informes XML de Nmap i Masscan;
  • Utilitza Chrome/Chromium sense cap per representar captures de pantalla.

Contres:

  • Pot cridar l'atenció dels sistemes de detecció d'intrusions, per la qual cosa requereix configuració.

La captura de pantalla es va fer per a una de les versions antigues d'aquatone (v0.5.0), en què es va implementar la cerca de subdominis DNS. Les versions anteriors es poden trobar a pàgina de llançaments.
Eines web, o per on començar com a pentester?

MassDNS

MassDNS és una altra eina per trobar subdominis DNS. La seva principal diferència és que fa consultes DNS directament a molts solucionadors de DNS diferents i ho fa a una velocitat considerable.

Pros:

  • Ràpid: capaç de resoldre més de 350 mil noms per segon.

Contres:

  • MassDNS pot provocar una càrrega important als solucionadors de DNS en ús, cosa que pot provocar prohibicions d'aquests servidors o queixes al vostre ISP. A més, suposarà una gran càrrega en els servidors DNS de l'empresa, si en tenen i si són responsables dels dominis que intenteu resoldre.
  • Actualment, la llista de solucionadors està obsoleta, però si seleccioneu els solucionadors DNS trencats i n'afegiu de nous coneguts, tot anirà bé.

Eines web, o per on començar com a pentester?
Captura de pantalla de l'aquatone v0.5.0

nsec3map

nsec3map és una eina de Python per obtenir una llista completa de dominis protegits per DNSSEC.

Pros:

  • Descobreix ràpidament els amfitrions a les zones DNS amb un nombre mínim de consultes si el suport DNSSEC està habilitat a la zona;
  • Inclou un connector per a John the Ripper que es pot utilitzar per trencar els hash NSEC3 resultants.

Contres:

  • Molts errors de DNS no es gestionen correctament;
  • No hi ha paral·lelització automàtica del processament dels registres NSEC: heu de dividir l'espai de noms manualment;
  • Alt consum de memòria.

Acunetix

Acunetix — un escàner de vulnerabilitats web que automatitza el procés de comprovació de la seguretat de les aplicacions web. Prova l'aplicació per a injeccions SQL, XSS, XXE, SSRF i moltes altres vulnerabilitats web. Tanmateix, com qualsevol altre escàner, una varietat de vulnerabilitats web no substitueix un pentester, ja que no pot trobar cadenes complexes de vulnerabilitats o vulnerabilitats a la lògica. Però cobreix moltes vulnerabilitats diferents, incloses diverses CVE, que el pentester podria haver oblidat, de manera que és molt convenient per alliberar-vos de les comprovacions rutinàries.

Pros:

  • Baix nivell de falsos positius;
  • Els resultats es poden exportar com a informes;
  • Realitza un gran nombre de comprovacions de diverses vulnerabilitats;
  • Escaneig paral·lel de diversos hosts.

Contres:

  • No hi ha cap algorisme de desduplicació (Acunetix considerarà diferents les pàgines amb idèntica funcionalitat, ja que donen lloc a URL diferents), però els desenvolupadors hi estan treballant;
  • Requereix la instal·lació en un servidor web independent, cosa que complica provar els sistemes client amb una connexió VPN i utilitzar l'escàner en un segment aïllat de la xarxa de client local;
  • El servei objecte d'estudi pot fer soroll, per exemple, enviant massa vectors d'atac al formulari de contacte del lloc, cosa que complica molt els processos empresarials;
  • És una solució patentada i, per tant, no gratuïta.

Eines web, o per on començar com a pentester?

Dirsearch

Dirsearch — una eina Python per forçar directoris i fitxers en llocs web.

Pros:

  • Pot distingir les pàgines reals "200 OK" de les pàgines "200 OK", però amb el text "pàgina no trobada";
  • Ve amb un diccionari pràctic que té un bon equilibri entre la mida i l'eficiència de la cerca. Conté camins estàndard comuns a molts CMS i piles de tecnologia;
  • El seu propi format de diccionari, que permet aconseguir una bona eficiència i flexibilitat en l'enumeració de fitxers i directoris;
  • Sortida còmoda: text sense format, JSON;
  • Pot accelerar: una pausa entre sol·licituds, que és vital per a qualsevol servei feble.

Contres:

  • Les extensions s'han de passar com una cadena, cosa que és inconvenient si cal passar moltes extensions alhora;
  • Per utilitzar el vostre diccionari, caldrà modificar-lo lleugerament al format de diccionari Dirsearch per obtenir la màxima eficiència.

Eines web, o per on començar com a pentester?

wfuzz

wfuzz - Fuzzer de l'aplicació web Python. Probablement un dels fasers web més famosos. El principi és senzill: wfuzz us permet classificar en fase qualsevol lloc d'una sol·licitud HTTP, la qual cosa permet classificar en fase els paràmetres GET/POST, les capçaleres HTTP, incloses les galetes i altres capçaleres d'autenticació. Al mateix temps, també és convenient per a la força bruta simple de directoris i fitxers, per als quals necessiteu un bon diccionari. També disposa d'un sistema de filtre flexible, amb el qual pots filtrar les respostes de la web segons diferents paràmetres, que permet aconseguir resultats efectius.

Pros:

  • Multifuncional: estructura modular, el muntatge triga uns minuts;
  • Convenient mecanisme de filtrat i fuzzing;
  • Podeu posar en fase qualsevol mètode HTTP, així com qualsevol lloc d'una sol·licitud HTTP.

Contres:

  • En desenvolupament.

Eines web, o per on començar com a pentester?

ffuff

ffuff — un fuzzer web a Go, creat a la "imatge i semblança" de wfuzz, us permet crear fitxers bruts, directoris, camins d'URL, noms i valors dels paràmetres GET/POST, capçaleres HTTP, inclosa la capçalera Host per a la força bruta d'amfitrions virtuals. wfuzz es diferencia del seu germà en una velocitat més alta i algunes funcions noves, per exemple, és compatible amb els diccionaris de format Dirsearch.

Pros:

  • Els filtres són similars als filtres wfuzz, us permeten configurar de manera flexible la força bruta;
  • Permet difuminar els valors de la capçalera HTTP, les dades de la sol·licitud POST i diverses parts de l'URL, inclosos els noms i els valors dels paràmetres GET;
  • Podeu especificar qualsevol mètode HTTP.

Contres:

  • En desenvolupament.

Eines web, o per on començar com a pentester?

gobuster

gobuster — una eina Go per a reconeixement, té dos modes de funcionament. El primer s'utilitza per a fitxers i directoris de força bruta en un lloc web, el segon s'utilitza per a subdominis DNS de força bruta. L'eina no admet inicialment l'enumeració recursiva de fitxers i directoris, cosa que, per descomptat, estalvia temps, però d'altra banda, la força bruta de cada punt final nou al lloc web s'ha de llançar per separat.

Pros:

  • Alta velocitat d'operació tant per a la cerca de força bruta de subdominis DNS com per a la força bruta de fitxers i directoris.

Contres:

  • La versió actual no admet la configuració de capçaleres HTTP;
  • Per defecte, només alguns dels codis d'estat HTTP (200,204,301,302,307) es consideren vàlids.

Eines web, o per on començar com a pentester?

Arjun

Arjun - una eina per a la força bruta dels paràmetres HTTP ocults en els paràmetres GET/POST, així com en JSON. El diccionari integrat té 25 paraules, que Ajrun comprova en gairebé 980 segons. El truc és que Ajrun no verifica cada paràmetre per separat, sinó que comprova ~ 30 paràmetres alhora i veu si la resposta ha canviat. Si la resposta ha canviat, divideix aquests 1000 paràmetres en dues parts i comprova quina d'aquestes parts afecta la resposta. Així, mitjançant una simple cerca binària, es troben un paràmetre o diversos paràmetres ocults que han influït en la resposta i, per tant, poden existir.

Pros:

  • Alta velocitat a causa de la cerca binària;
  • Suport per a paràmetres GET/POST, així com paràmetres en forma de JSON;

El connector per a Burp Suite funciona amb un principi similar: param-miner, que també és molt bo per trobar paràmetres HTTP ocults. Us explicarem més sobre això en un proper article sobre Burp i els seus complements.
Eines web, o per on començar com a pentester?

LinkFinder

LinkFinder — un script Python per cercar enllaços als fitxers JavaScript. Útil per trobar punts finals/URL ocults o oblidats en una aplicació web.

Pros:

  • Ràpid;
  • Hi ha un connector especial per a Chrome basat en LinkFinder.

.

Contres:

  • Conclusió final incòmode;
  • No analitza JavaScript al llarg del temps;
  • Una lògica bastant senzilla per cercar enllaços: si JavaScript està ofuscat d'alguna manera, o els enllaços inicialment falten i es generen de manera dinàmica, aleshores no podrà trobar res.

Eines web, o per on començar com a pentester?

JSParser

JSParser és un script de Python que utilitza Tornado и JSBeautifier per analitzar els URL relatius dels fitxers JavaScript. Molt útil per detectar sol·licituds AJAX i compilar una llista de mètodes API amb els quals interactua l'aplicació. Funciona eficaçment juntament amb LinkFinder.

Pros:

  • Anàlisi ràpida de fitxers JavaScript.

Eines web, o per on començar com a pentester?

sqlmap

sqlmap és probablement una de les eines més famoses per analitzar aplicacions web. Sqlmap automatitza la cerca i el funcionament d'injeccions SQL, funciona amb diversos dialectes SQL i té un gran nombre de tècniques diferents al seu arsenal, que van des de cometes directes fins a vectors complexos per a injeccions SQL basades en el temps. A més, té moltes tècniques per a l'explotació posterior de diversos DBMS, per la qual cosa és útil no només com a escàner d'injeccions SQL, sinó també com una potent eina per explotar injeccions SQL ja trobades.

Pros:

  • Un gran nombre de tècniques i vectors diferents;
  • Baix nombre de falsos positius;
  • Moltes opcions d'ajustament, diverses tècniques, base de dades de destinació, scripts de manipulació per evitar WAF;
  • Capacitat de crear un abocador de sortida;
  • Moltes capacitats operatives diferents, per exemple, per a algunes bases de dades: càrrega/descàrrega automàtica de fitxers, obtenció de la capacitat d'executar ordres (RCE) i altres;
  • Suport per a la connexió directa a la base de dades mitjançant dades obtingudes durant un atac;
  • Podeu enviar un fitxer de text amb els resultats de Burp com a entrada, sense necessitat de compondre manualment tots els atributs de la línia d'ordres.

Contres:

  • És difícil personalitzar, per exemple, escriure alguns dels vostres propis xecs a causa de l'escassa documentació per a això;
  • Sense la configuració adequada, realitza un conjunt incomplet de comprovacions, que pot ser enganyós.

Eines web, o per on començar com a pentester?

NoSQLMap

NoSQLMap — una eina Python per automatitzar la cerca i l'explotació d'injeccions NoSQL. És convenient utilitzar-lo no només en bases de dades NoSQL, sinó també directament quan s'auditoria aplicacions web que utilitzen NoSQL.

Pros:

  • Igual que sqlmap, no només troba una vulnerabilitat potencial, sinó que també comprova la possibilitat de la seva explotació per a MongoDB i CouchDB.

Contres:

  • No és compatible amb NoSQL per a Redis, Cassandra, el desenvolupament està en marxa en aquesta direcció.

oxml_xxe

oxml_xxe — una eina per incrustar exploits XML XXE en diversos tipus de fitxers que utilitzen el format XML d'alguna manera.

Pros:

  • Admet molts formats comuns com ara DOCX, ODT, SVG, XML.

Contres:

  • El suport per a PDF, JPEG, GIF no està totalment implementat;
  • Crea només un fitxer. Per resoldre aquest problema, podeu utilitzar l'eina docem, que pot crear un gran nombre de fitxers de càrrega útil en diferents llocs.

Les utilitats anteriors fan una gran feina per provar XXE quan es carreguen documents que contenen XML. Però també recordeu que els controladors de format XML es poden trobar en molts altres casos, per exemple, XML es pot utilitzar com a format de dades en lloc de JSON.

Per tant, us recomanem que presteu atenció al repositori següent, que conté un gran nombre de càrregues útils diferents: Càrregues útilsAllTheThings.

tplmap

tplmap - Una eina de Python per identificar i explotar automàticament les vulnerabilitats d'injecció de plantilles del costat del servidor; té paràmetres i senyaladors similars a sqlmap. Utilitza diverses tècniques i vectors diferents, inclosa la injecció cega, i també té tècniques per executar codi i carregar/carregar fitxers arbitraris. A més, té en el seu arsenal tècniques per a una dotzena de motors de plantilles diferents i algunes tècniques per cercar injeccions de codi semblants a eval() en Python, Ruby, PHP, JavaScript. Si té èxit, obre una consola interactiva.

Pros:

  • Un gran nombre de tècniques i vectors diferents;
  • Admet molts motors de representació de plantilles;
  • Moltes tècniques operatives.

CeWL

CeWL - un generador de diccionaris en Ruby, creat per extreure paraules úniques d'un lloc web especificat, segueix els enllaços del lloc fins a una profunditat especificada. El diccionari compilat de paraules úniques es pot utilitzar més tard per a contrasenyes de força bruta en serveis o fitxers i directoris de força bruta al mateix lloc web, o per atacar els hash resultants mitjançant hashcat o John the Ripper. Útil a l'hora de compilar una llista "destinació" de contrasenyes potencials.

Pros:

  • Fàcil d'usar.

Contres:

  • Heu de tenir cura amb la profunditat de cerca per no capturar un domini addicional.

Weakpass

Weakpass - un servei que conté molts diccionaris amb contrasenyes úniques. Extremadament útil per a diverses tasques relacionades amb el trencament de contrasenyes, que van des de la simple força bruta de comptes en línia als serveis de destinació fins a la força bruta fora de línia dels hash rebuts utilitzant hashcat o John The Ripper. Conté uns 8 milions de contrasenyes d'entre 4 i 25 caràcters de longitud.

Pros:

  • Conté tant diccionaris específics com diccionaris amb les contrasenyes més habituals: podeu triar un diccionari específic per a les vostres necessitats;
  • Els diccionaris s'actualitzen i s'omplen amb noves contrasenyes;
  • Els diccionaris estan ordenats per eficiència. Podeu triar l'opció de força bruta en línia ràpida i de selecció detallada de contrasenyes d'un voluminós diccionari amb les últimes filtracions;
  • Hi ha una calculadora que mostra el temps que triguen a les contrasenyes brutes del vostre equip.

Eines web, o per on començar com a pentester?

Ens agradaria incloure eines per a comprovacions de CMS en un grup separat: WPScan, JoomScan i hacker AEM.

AEM_hacker

Hacker AEM és una eina per identificar vulnerabilitats a les aplicacions Adobe Experience Manager (AEM).

Pros:

  • Pot identificar les aplicacions AEM de la llista d'URL enviats a la seva entrada;
  • Conté scripts per obtenir RCE carregant un shell JSP o explotant SSRF.

JoomScan

JoomScan — una eina Perl per automatitzar la detecció de vulnerabilitats en desplegar Joomla CMS.

Pros:

  • Capaç de trobar errors de configuració i problemes amb la configuració administrativa;
  • Llista les versions de Joomla i les vulnerabilitats associades, de manera similar per a components individuals;
  • Conté més de 1000 exploits per a components de Joomla;
  • Sortida d'informes finals en format text i HTML.

Eines web, o per on començar com a pentester?

WPScan

WPScan - una eina per escanejar llocs de WordPress, té vulnerabilitats al seu arsenal tant per al propi motor de WordPress com per a alguns complements.

Pros:

  • Capaç d'enumerar no només complements i temes de WordPress insegurs, sinó també obtenir una llista d'usuaris i fitxers TimThumb;
  • Pot dur a terme atacs de força bruta als llocs de WordPress.

Contres:

  • Sense la configuració adequada, realitza un conjunt incomplet de comprovacions, que pot ser enganyós.

Eines web, o per on començar com a pentester?

En general, diferents persones prefereixen diferents eines per al treball: totes són bones a la seva manera, i el que li agrada a una persona pot no convenir gens a una altra. Si creieu que hem ignorat injustament alguna bona utilitat, escriu-ne als comentaris!

Font: www.habr.com

Afegeix comentari