Web ark, of wêr te begjinnen as in pentester?

Wy trochgean prate oer nuttige ark foar pentesters. Yn it nije artikel sille wy nei ark sjen foar it analysearjen fan de feiligens fan webapplikaasjes.

Us kollega BeLove Ik ha al soks dien kompilaasje sawat sân jier lyn. It is nijsgjirrich om te sjen hokker ark har posysjes behâlden en fersterke hawwe, en hokker binne op 'e eftergrûn ferdwûn en wurde no selden brûkt.
Web ark, of wêr te begjinnen as in pentester?

Tink derom dat dit ek Burp Suite omfettet, mar d'r sil in aparte publikaasje oer wêze en har nuttige plugins.

Ynhâld:

sammelje

sammelje - in Go-ark om DNS-subdomeinen te sykjen en op te nimmen en it eksterne netwurk yn kaart te bringen. Amass is in OWASP-projekt ûntworpen om sjen te litten hoe organisaasjes op it ynternet der útsjen foar in bûtensteander. Amass krijt subdomeinnammen op ferskate manieren; it ark brûkt sawol rekursive opsomming fan subdomeinen as iepen boarne sykopdrachten.

Om ûnderling ferbûne netwurksegminten en autonome systeemnûmers te ûntdekken, brûkt Amass IP-adressen krigen tidens operaasje. Alle fûn ynformaasje wurdt brûkt om in netwurkkaart te bouwen.

Pros:

  • Techniken foar it sammeljen fan ynformaasje omfetsje:
    * DNS - wurdboeksykjen fan subdomeinen, bruteforce-subdomeinen, tûk sykjen mei mutaasjes basearre op fûn subdomeinen, omkearde DNS-fragen en sykje nei DNS-tsjinners wêr't it mooglik is om in sôneferfierfersyk te meitsjen (AXFR);

    * Iepen boarne sykje - Ask, Baidu, Bing, CommonCrawl, DNSDB, DNSDumpster, DNSTable, Dogpile, Exalead, FindSubdomains, Google, IPv4Info, Netcraft, PTRArchive, Riddler, SiteDossier, ThreatCrowd, VirusTotal, Yahoo;

    * Sykje TLS-sertifikaatdatabases - Censys, CertDB, CertSpotter, Crtsh, Entrust;

    * Mei help fan sykmasine API's - BinaryEdge, BufferOver, CIRCL, HackerTarget, PassiveTotal, Robtex, SecurityTrails, Shodan, Twitter, Umbrella, URLScan;

    * Sykje ynternetwebargiven: ArchiveIt, ArchiveToday, Arquivo, LoCArchive, OpenUKArchive, UKGovArchive, Wayback;

  • Yntegraasje mei Maltego;
  • Biedt de meast folsleine dekking fan 'e taak fan it sykjen nei DNS-subdomeinen.

Cons:

  • Wês foarsichtich mei amass.netdomains - it sil besykje elk IP-adres yn 'e identifisearre ynfrastruktuer te kontaktjen en domeinnammen te krijen fan omkearde DNS-opsykjen en TLS-sertifikaten. Dit is in "hege profyl" technyk, it kin jo yntelliginsjeaktiviteiten iepenbierje yn 'e ûndersochte organisaasje.
  • Hege ûnthâld konsumpsje, kin konsumearje oant 2 GB RAM yn ferskillende ynstellings, dat sil net tastean jo te rinne dit ark yn 'e wolk op in goedkeape VDS.

Web ark, of wêr te begjinnen as in pentester?

Altdns

Altdns - in Python-ark foar it kompilearjen fan wurdboeken foar it opteljen fan DNS-subdomeinen. Hjirmei kinne jo in protte farianten fan subdomeinen generearje mei mutaasjes en permutaasjes. Dêrfoar wurde wurden brûkt dy't faak te finen binne yn subdomeinen (bygelyks: test, dev, staging), alle mutaasjes en permutaasjes wurde tapast op al bekende subdomeinen, dy't yntsjinne wurde kinne by de Altdns-ynput. De útfier is in list mei fariaasjes fan subdomeinen dy't bestean kinne, en dizze list kin letter brûkt wurde foar DNS brute force.

Pros:

  • Wurket goed mei grutte datasets.

akwaton

akwaton - wie earder better bekend as in oar ark foar it sykjen fan subdomeinen, mar de auteur sels liet dit yn it foardiel fan de earder neamde Amass. No is aquatone opnij skreaun yn Go en is mear rjochte op foarriedige ferkenning op websiden. Om dit te dwaan, giet aquatone troch de opjûne domeinen en siket nei websiden op ferskate havens, wêrnei't it alle ynformaasje oer de side sammelt en in skermôfbylding nimt. Handich foar rappe foarriedige ferkenning fan websiden, wêrnei't jo prioriteitsdoelen kinne selektearje foar oanfallen.

Pros:

  • De útfier makket in groep bestannen en mappen oan dy't handich binne om te brûken as jo fierder wurkje mei oare ark:
    * HTML-rapport mei sammele skermôfbyldings en antwurdtitels groepeare op oerienkomst;

    * In bestân mei alle URL's wêr't websiden binne fûn;

    * Bestân mei statistiken en sidegegevens;

    * In map mei bestannen mei antwurdkoppen fan fûn doelen;

    * In map mei bestannen dy't it lichem fan it antwurd befetsje fan 'e fûne doelen;

    * Skermôfbyldings fan fûne websiden;

  • Unterstützt wurkjen mei XML-rapporten fan Nmap en Masscan;
  • Brûkt Chrome/Chromium sûnder kop om skermôfbyldings te werjaan.

Cons:

  • It kin de oandacht lûke fan systemen foar ynbraakdeteksje, dus it fereasket konfiguraasje.

De skermôfbylding waard makke foar ien fan 'e âlde ferzjes fan aquatone (v0.5.0), wêryn DNS-subdomeinsykjen ymplementearre waard. Âldere ferzjes kinne fûn wurde op releases side.
Web ark, of wêr te begjinnen as in pentester?

MassDNS

MassDNS is in oar ark foar it finen fan DNS-subdomeinen. It wichtichste ferskil is dat it DNS-fragen direkt makket nei in protte ferskillende DNS-resolvers en docht dat mei in soad snelheid.

Pros:

  • Fluch - yn steat om mear dan 350 tûzen nammen per sekonde op te lossen.

Cons:

  • MassDNS kin signifikante lêst feroarsaakje op 'e DNS-resolvers yn gebrûk, wat kin liede ta ferbod op dy servers of klachten oan jo ISP. Derneist sil it in grutte lading pleatse op 'e DNS-tsjinners fan it bedriuw, as se se hawwe en as se ferantwurdlik binne foar de domeinen dy't jo besykje op te lossen.
  • De list mei resolvers is op it stuit ferâldere, mar as jo de brutsen DNS-resolvers selektearje en nije bekende tafoegje, sil alles goed wêze.

Web ark, of wêr te begjinnen as in pentester?
Skermprint fan aquatone v0.5.0

nsec3 map

nsec3 map is in Python-ark foar it krijen fan in folsleine list mei DNSSEC-beskerme domeinen.

Pros:

  • Fluch ûntdekt hosts yn DNS-sônes mei in minimum oantal queries as DNSSEC-stipe is ynskeakele yn 'e sône;
  • Omfettet in plugin foar John the Ripper dat kin wurde brûkt om de resultearjende NSEC3-hashes te kraken.

Cons:

  • In protte DNS-flaters wurde net goed behannele;
  • D'r is gjin automatyske parallellisaasje fan it ferwurkjen fan NSEC-records - jo moatte de nammeromte mei de hân ferdiele;
  • Hege ûnthâld konsumpsje.

Acunetix

Acunetix - in scanner foar kwetsberens foar web dy't it proses automatisearret om de feiligens fan webapplikaasjes te kontrolearjen. Testet de applikaasje foar SQL-ynjeksjes, XSS, XXE, SSRF en in protte oare kwetsberens op it web. Lykwols, lykas elke oare scanner, ferfangt in ferskaat oan kwetsberens op it web gjin pentester, om't it gjin komplekse keatlingen fan kwetsberens of kwetsberens kin fine yn logika. Mar it beslacht in protte ferskillende kwetsberens, ynklusyf ferskate CVE's, wêrfan de pentester miskien fergetten is, dus it is heul handich om jo te befrijen fan routine kontrôles.

Pros:

  • leech nivo fan falske positives;
  • Resultaten kinne wurde eksportearre as rapporten;
  • Fiert in grut oantal kontrôles foar ferskate kwetsberens;
  • Parallel skennen fan meardere hosts.

Cons:

  • Der is gjin deduplikaasje-algoritme (Acunetix sil siden beskôgje dy't identyk binne yn funksjonaliteit om oars te wêzen, om't se liede ta ferskate URL's), mar de ûntwikkelders wurkje der oan;
  • Fereasket ynstallaasje op in aparte webtsjinner, dy't it testen fan kliïntsystemen komplisearret mei in VPN-ferbining en it brûken fan de scanner yn in isolearre segmint fan it lokale kliïntnetwurk;
  • De tsjinst dy't ûndersocht wurdt kin lûd meitsje, bygelyks troch te folle oanfalvektoren nei it kontaktformulier op 'e side te stjoeren, wêrtroch saaklike prosessen tige komplisearre wurde;
  • It is in proprietêre en, dus, gjin fergese oplossing.

Web ark, of wêr te begjinnen as in pentester?

Dirsearch

Dirsearch - in Python-ark foar brute-forcing mappen en bestannen op websiden.

Pros:

  • Kin echte "200 OK" siden fan "200 OK" siden ûnderskiede, mar mei de tekst "side net fûn";
  • Komt mei in handich wurdboek dat in goed lykwicht hat tusken grutte en sykeffisjinsje. Befettet standert paden mienskiplik foar in protte CMS en technology stacks;
  • In eigen wurdboekformaat, wêrtroch jo goede effisjinsje en fleksibiliteit kinne berikke by it opteljen fan bestannen en mappen;
  • Handige útfier - platte tekst, JSON;
  • It kin throttling dwaan - in pauze tusken oanfragen, wat essensjeel is foar elke swakke tsjinst.

Cons:

  • Tafoegings moatte wurde trochjûn as in tekenrige, dat is ûnhandich as jo moatte trochjaan in protte útwreidings tagelyk;
  • Om jo wurdboek te brûken, sil it wat oanpast wurde moatte oan it Dirsearch-wurdboekformaat foar maksimale effisjinsje.

Web ark, of wêr te begjinnen as in pentester?

wfuzz

wfuzz - Python webapplikaasje fuzzer. Wierskynlik ien fan 'e meast ferneamde webphasers. It prinsipe is ienfâldich: wfuzz kinne jo faze elk plak yn in HTTP-fersyk, dat makket it mooglik om faze GET / POST parameters, HTTP headers, ynklusyf Cookie en oare autentikaasje headers. Tagelyk is it ek handich foar ienfâldige brute krêft fan mappen en bestannen, wêrfoar jo in goed wurdboek nedich binne. It hat ek in fleksibel filtersysteem, wêrmei jo antwurden fan 'e webside kinne filterje neffens ferskate parameters, wêrtroch jo effektive resultaten kinne berikke.

Pros:

  • Multifunksjoneel - modulêre struktuer, montage duorret in pear minuten;
  • Handige filter- en fuzzingmeganisme;
  • Jo kinne elke HTTP-metoade faze, lykas elk plak yn in HTTP-fersyk.

Cons:

  • Yn ûntwikkeling.

Web ark, of wêr te begjinnen as in pentester?

ffuf

ffuf - in webfuzzer yn Go, makke yn 'e "ôfbylding en likenis" fan wfuzz, kinne jo bestannen, mappen, URL-paden, nammen en wearden fan GET/POST-parameters, HTTP-headers, ynklusyf de Host-header foar brute force brute fan firtuele hosts. wfuzz ferskilt fan syn broer yn hegere snelheid en guon nije funksjes, bygelyks, it stipet Dirsearch-formaat wurdboeken.

Pros:

  • Filters binne fergelykber mei wfuzz-filters, se kinne jo fleksibel konfigurearje brute krêft;
  • Hjirmei kinne jo HTTP-headerwearden, POST-oanfraachgegevens en ferskate dielen fan 'e URL fuzzje, ynklusyf nammen en wearden fan GET-parameters;
  • Jo kinne elke HTTP-metoade opjaan.

Cons:

  • Yn ûntwikkeling.

Web ark, of wêr te begjinnen as in pentester?

gobuster

gobuster - in Go-ark foar ferkenning, hat twa wurkwizen. De earste wurdt brûkt om bestannen en mappen op in webside te brute force, de twadde wurdt brûkt om DNS-subdomeinen te brute force. It ark stipet ynearsten gjin rekursive opsomming fan bestannen en mappen, wat fansels tiid besparret, mar oan 'e oare kant moat de brute krêft fan elk nij einpunt op' e webside apart wurde lansearre.

Pros:

  • Hege operaasje snelheid sawol foar brute krêft sykjen fan DNS subdomains en foar brute krêft fan bestannen en mappen.

Cons:

  • De hjoeddeistige ferzje stipet it ynstellen fan HTTP-koppen net;
  • Standert wurde allinich guon fan 'e HTTP-statuskoades (200,204,301,302,307) as jildich beskôge.

Web ark, of wêr te begjinnen as in pentester?

Arjun

Arjun - in ark foar brute krêft fan ferburgen HTTP-parameters yn GET / POST-parameters, lykas yn JSON. It ynboude wurdboek hat 25 wurden, dy't Ajrun yn hast 980 sekonden kontrolearret. De trúk is dat Ajrun net kontrolearret elke parameter apart, mar kontrolearret ~ 30 parameters tagelyk en sjocht oft it antwurd is feroare. As it antwurd is feroare, dielt dizze 1000 parameters yn twa dielen en kontrolearret hokker fan dizze dielen it antwurd beynfloedzje. Sa, mei in ienfâldige binêre sykopdracht, wurde in parameter of ferskate ferburgen parameters fûn dy't it antwurd beynfloede en, dus, kinne bestean.

Pros:

  • Hege snelheid troch binêr sykjen;
  • Stipe foar GET / POST-parameters, lykas parameters yn 'e foarm fan JSON;

De plugin foar Burp Suite wurket op in ferlykber prinsipe - param-miner, dy't ek tige goed is by it finen fan ferburgen HTTP-parameters. Wy sille jo der mear oer fertelle yn in kommende artikel oer Burp en har plugins.
Web ark, of wêr te begjinnen as in pentester?

LinkFinder

LinkFinder - in Python-skript foar it sykjen nei keppelings yn JavaScript-bestannen. Nuttich foar it finen fan ferburgen of fergetten einpunten / URL's yn in webapplikaasje.

Pros:

  • Fluch;
  • D'r is in spesjale plugin foar Chrome basearre op LinkFinder.

.

Cons:

  • Ongemaklike einkonklúzje;
  • Analysearret gjin JavaScript oer de tiid;
  • Hiel ienfâldige logika foar it sykjen nei keppelings - as JavaSkript op ien of oare manier obfuscearre is, of de keppelings yn earste ynstânsje ûntbrekke en dynamysk genereare, dan sil it neat fine kinne.

Web ark, of wêr te begjinnen as in pentester?

JSParser

JSParser is in Python-skript dat brûkt Tornado и JSBeautifier om relative URL's út JavaScript-bestannen te parsearjen. Hiel nuttich foar it opspoaren fan AJAX-oanfragen en it gearstallen fan in list mei API-metoaden wêrmei de applikaasje ynteraksje. Wurket effektyf yn gearhing mei LinkFinder.

Pros:

  • Snelle parsing fan JavaScript-bestannen.

Web ark, of wêr te begjinnen as in pentester?

sqlmap

sqlmap is wierskynlik ien fan 'e meast ferneamde ark foar it analysearjen fan webapplikaasjes. Sqlmap automatisearret it sykjen en wurkjen fan SQL-ynjeksjes, wurket mei ferskate SQL-dialekten, en hat in enoarm oantal ferskillende techniken yn har arsenal, fariearjend fan rjochte quotes oant komplekse vectoren foar tiid-basearre SQL-ynjeksjes. Derneist hat it in protte techniken foar fierdere eksploitaasje foar ferskate DBMS's, dus it is nuttich net allinich as scanner foar SQL-ynjeksjes, mar ek as in krêftich ark foar it eksploitearjen fan al fûn SQL-ynjeksjes.

Pros:

  • In grut oantal ferskillende techniken en vectoren;
  • leech oantal falske positives;
  • In protte fine-tuning opsjes, ferskate techniken, doeldatabase, tamper skripts foar omgean WAF;
  • Mooglikheid om útfierdump te meitsjen;
  • In protte ferskillende operasjonele mooglikheden, bygelyks foar guon databases - automatysk laden / lossen fan bestannen, it krijen fan de mooglikheid om kommando's út te fieren (RCE) en oaren;
  • Stipe foar direkte ferbining mei de databank mei help fan gegevens krigen tidens in oanfal;
  • Jo kinne in tekstbestân yntsjinje mei de resultaten fan Burp as ynfier - it is net nedich om alle kommandorigelattributen manuell op te stellen.

Cons:

  • It is lestich om bygelyks oan te passen om guon fan jo eigen sjeks te skriuwen fanwegen de knappe dokumintaasje hjirfoar;
  • Sûnder de passende ynstellings fiert it in ûnfolsleine set fan kontrôles út, wat misliedend kin wêze.

Web ark, of wêr te begjinnen as in pentester?

NoSQLMap

NoSQLMap - in Python-ark foar it automatisearjen fan it sykjen en eksploitearjen fan NoSQL-ynjeksjes. It is handich om net allinich te brûken yn NoSQL-databases, mar ek direkt by it kontrolearjen fan webapplikaasjes dy't NoSQL brûke.

Pros:

  • Lykas sqlmap fynt it net allinich in potinsjele kwetsberens, mar kontrolearret ek de mooglikheid fan syn eksploitaasje foar MongoDB en CouchDB.

Cons:

  • Unterstützt NoSQL foar Redis, Cassandra, ûntwikkeling is yn dizze rjochting oan 'e gong.

oxml_xxe

oxml_xxe - in ark foar it ynbêdzjen fan XXE XML-exploitaasjes yn ferskate soarten bestannen dy't it XML-formaat yn ien of oare foarm brûke.

Pros:

  • Unterstützt in protte mienskiplike formaten lykas DOCX, ODT, SVG, XML.

Cons:

  • Stipe foar PDF, JPEG, GIF is net folslein ymplementearre;
  • Makket mar ien triem oan. Om dit probleem op te lossen kinne jo it ark brûke docem, dy't op ferskate plakken in grut oantal payload-bestannen meitsje kinne.

De boppesteande nutsbedriuwen dogge in geweldige baan om XXE te testen by it laden fan dokuminten mei XML. Mar tink ek dat XML-formaathannelers kinne fûn wurde yn in protte oare gefallen, bygelyks XML kin brûkt wurde as gegevensformaat ynstee fan JSON.

Dêrom riede wy oan dat jo omtinken jaan oan it folgjende repository, dat in grut oantal ferskillende payloads befettet: PayloadsAllTheThings.

tplmap

tplmap - in Python-ark foar automatysk identifisearjen en eksploitearjen fan Server-Side Template Injection kwetsberens; it hat ynstellingen en flaggen fergelykber mei sqlmap. Brûkt ferskate ferskillende techniken en vectoren, ynklusyf bline ynjeksje, en hat ek techniken foar it útfieren fan koade en it laden / uploaden fan willekeurige bestannen. Dêrneist hat hy yn syn arsenal techniken foar in tsiental ferskillende sjabloan motoren en guon techniken foar it sykjen nei eval () -lykas koade ynjeksjes yn Python, Ruby, PHP, JavaScript. As suksesfol, iepenet it in ynteraktive konsole.

Pros:

  • In grut oantal ferskillende techniken en vectoren;
  • Unterstützt in protte template rendering motoren;
  • In protte bestjoeringstechniken.

CeWL

CeWL - in wurdboekgenerator yn Ruby, makke om unike wurden te ekstrahearjen fan in spesifisearre webside, folget keppelings op 'e side nei in spesifisearre djipte. It gearstalde wurdboek fan unike wurden kin letter brûkt wurde om brute-force wachtwurden op tsjinsten of brute force-bestannen en mappen op deselde webside, of om de resultearjende hashes oan te fallen mei hashcat of John the Ripper. Nuttich by it gearstallen fan in "doel" list mei potinsjele wachtwurden.

Pros:

  • Maklik te brûken.

Cons:

  • Jo moatte foarsichtich wêze mei de sykdjipte om net in ekstra domein te fangen.

Weakpass

Weakpass - in tsjinst mei in protte wurdboeken mei unike wachtwurden. Ekstreem nuttich foar ferskate taken yn ferbân mei wachtwurdkraken, fariearjend fan ienfâldige online brute krêft fan akkounts op doeltsjinsten, oant off-line brute krêft fan ûntfongen hashes mei hashcat of Johannes De Ripper. It befettet sawat 8 miljard wachtwurden fariearjend fan 4 oant 25 tekens lang.

Pros:

  • Befettet sawol spesifike wurdboeken as wurdboeken mei de meast foarkommende wachtwurden - jo kinne in spesifyk wurdboek kieze foar jo eigen behoeften;
  • Wurdboeken wurde bywurke en oanfolle mei nije wachtwurden;
  • Wurdboeken wurde sortearre op effisjinsje. Jo kinne de opsje kieze foar sawol rappe online brute krêft as detaillearre seleksje fan wachtwurden út in voluminous wurdboek mei de lêste lekken;
  • D'r is in rekkenmasine dy't de tiid toant dy't it nimt om wachtwurden op jo apparatuer te brute.

Web ark, of wêr te begjinnen as in pentester?

Wy wolle ark foar CMS-kontrôles opnimme yn in aparte groep: WPScan, JoomScan en AEM-hacker.

AEM_hacker

AEM hacker is in ark foar it identifisearjen fan kwetsberens yn Adobe Experience Manager (AEM) applikaasjes.

Pros:

  • Kin AEM-applikaasjes identifisearje út 'e list mei URL's dy't yntsjinne binne oan har ynput;
  • Befettet skripts foar it krijen fan RCE troch in JSP-shell te laden of SSRF te brûken.

JoomScan

JoomScan - in Perl-ark foar it automatisearjen fan de deteksje fan kwetsberens by it ynsetten fan Joomla CMS.

Pros:

  • By steat om te finen konfiguraasje gebreken en problemen mei bestjoerlike ynstellings;
  • Listt Joomla ferzjes en assosjearre kwetsberens, likegoed foar yndividuele komponinten;
  • Befettet mear dan 1000 eksploaten foar Joomla-komponinten;
  • Utfier fan einrapporten yn tekst- en HTML-formaten.

Web ark, of wêr te begjinnen as in pentester?

WPScan

WPScan - in ark foar it scannen fan WordPress-siden, it hat kwetsberens yn har arsenal sawol foar de WordPress-motor sels as foar guon plugins.

Pros:

  • Yn steat om net allinich ûnfeilige WordPress-plugins en tema's te listjen, mar ek in list mei brûkers en TimThumb-bestannen te krijen;
  • Kin brute force oanfallen útfiere op WordPress-siden.

Cons:

  • Sûnder de passende ynstellings fiert it in ûnfolsleine set fan kontrôles út, wat misliedend kin wêze.

Web ark, of wêr te begjinnen as in pentester?

Yn 't algemien hawwe ferskate minsken leaver ferskate ark foar wurk: se binne allegear goed op har eigen manier, en wat de iene leuk fynt, past miskien hielendal net by in oar. As jo ​​​​tinke dat wy wat goed nut ûnrjochtlik hawwe negearre, skriuw dan dan yn 'e opmerkingen!

Boarne: www.habr.com

Add a comment