<summary><strong>Leer AWS hakwerk vanaf nul tot held met</strong><ahref="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
* As jy jou **maatskappy geadverteer wil sien in HackTricks** of **HackTricks in PDF wil aflaai** Kyk na die [**INSKRYWINGSPLANNE**](https://github.com/sponsors/carlospolop)!
* Ontdek [**Die PEASS Familie**](https://opensea.io/collection/the-peass-family), ons versameling van eksklusiewe [**NFTs**](https://opensea.io/collection/the-peass-family)
* **Sluit aan by die** 💬 [**Discord groep**](https://discord.gg/hRep4RUj7f) of die [**telegram groep**](https://t.me/peass) of **volg** ons op **Twitter** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks\_live)**.**
* **Deel jou haktruuks deur PRs in te dien by die** [**HackTricks**](https://github.com/carlospolop/hacktricks) en [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
> In hierdie metodologie gaan ons aanneem dat jy 'n domein (of subdomein) gaan aanval en net daardie een. Jy moet hierdie metodologie toepas op elke ontdekte domein, subdomein of IP met 'n onbepaalde webbediener binne die reikwydte.
* [ ] Begin deur die **tegnologieë** wat deur die webbediener gebruik word, te **identifiseer**. Soek na **truuks** om in gedagte te hou gedurende die res van die toets as jy die tegnologie suksesvol kan identifiseer.
* [ ] Enige **bekende kwesbaarheid** van die weergawe van die tegnologie?
* [ ] Gebruik enige **bekende tegnologie**? Enige **nuttige truuk** om meer inligting te onttrek?
* [ ] Begin met die **aanvanklike kontroles**: **robots**, **sitemap**, **404** fout en **SSL/TLS-skandering** (indien HTTPS).
* [ ] Begin met **spinnekoppe** van die webbladsy: Dit is tyd om al die moontlike **lêers, vouers** en **parameters wat gebruik word, te vind**. Kyk ook vir **spesiale bevindinge**.
* [ ]_Let daarop dat enige tyd 'n nuwe gids ontdek word tydens brute-forcing of spinnekoppe, dit moet gespinnekop word._
* [ ] Sodra jy al die moontlike **eindpunte** wat **gebruikerinsette** aanvaar, geïdentifiseer het, kyk vir alle soorte **kwesbaarhede** wat daarmee verband hou.
Kyk of daar **bekende kwesbaarhede** vir die bediener **weergawe** wat loop.\
Die **HTTP-koppe en koekies van die respons** kan baie nuttig wees om die **tegnologieë** en/of **weergawe** wat gebruik word, te **identifiseer**. **Nmap-scan** kan die bedienerweergawe identifiseer, maar dit kan ook nuttig wees die gereedskap [**whatweb**](https://github.com/urbanadventurer/WhatWeb)**,** [**webtech** ](https://github.com/ShielderSec/webtech)of [**https://builtwith.com/**](https://builtwith.com)**:**
As die webtoepassing enige bekende **tegnologie/platform wat voorheen gelys is** of **enige ander** gebruik, moenie vergeet om op die internet te **soek vir nuwe truuks** (en laat my weet!).
As die **bronkode** van die aansoek beskikbaar is op **github**, behalwe om self 'n Witboks-toets van die aansoek uit te voer, is daar **inligting** wat nuttig kan wees vir die huidige **Swartboks-toetsing**:
* Is daar enige **interessante inligting in die github** (opgeloste en onopgeloste) **kwessies**? Of in die **commit-geskiedenis** (miskien 'n **wagwoord ingevoer binne 'n ou commit**)?
> Op hierdie punt behoort jy reeds enige inligting te hê oor die webbediener wat deur die klient gebruik word (indien enige data gegee is) en 'n paar truuks om in gedagte te hou tydens die toets. As jy gelukkig is, het jy selfs 'n CMS gevind en 'n paar skandeerders laat loop.
Gebruik [**testssl.sh**](https://github.com/drwetter/testssl.sh) om te kyk vir **kwesbaarhede** (In Bug Bounty-programme sal sulke tipes kwesbaarhede waarskynlik nie aanvaar word nie) en gebruik [**a2sv** ](https://github.com/hahwul/a2sv) om die kwesbaarhede weer te kontroleer:
Begin 'n soort **spinnekop** binne die web. Die doel van die spinnekop is om **soveel moontlike paaie** van die getoetste aansoek te vind. Daarom moet webkruip en eksterne bronne gebruik word om soveel geldige paaie as moontlik te vind.
* [**gospider**](https://github.com/jaeles-project/gospider) (go): HTML spinnekop, LinkFinder in JS lêers en eksterne bronne (Archive.org, CommonCrawl.org, VirusTotal.com, AlienVault.com).
* [**hakrawler**](https://github.com/hakluke/hakrawler) (go): HML spinnekop, met LinkFider vir JS lêers en Archive.org as eksterne bron.
* [**meg**](https://github.com/tomnomnom/meg) (go): Hierdie instrument is nie 'n spinnekop nie, maar dit kan nuttig wees. Jy kan net 'n lêer met gasheers en 'n lêer met paaie aandui en meg sal elke pad op elke gasheer haal en die respons stoor.
* [**urlgrab**](https://github.com/IAmStoxe/urlgrab) (go): HTML spinnekop met JS-renderingsvermoëns. Dit lyk egter asof dit nie onderhou word nie, die vooraf saamgestelde weergawe is oud en die huidige kode kompileer nie
* [**ParamSpider**](https://github.com/devanshbatham/ParamSpider): Hierdie skrip sal URL's met parameters vind en lys.
* [**galer**](https://github.com/dwisiswant0/galer) (go): HTML spinnekop met JS-renderingsvermoëns.
* [**LinkFinder**](https://github.com/GerbenJavado/LinkFinder) (python): HTML spinnekop, met JS-verfraaiingsvermoëns wat nuwe paaie in JS lêers kan soek. Dit kan ook die moeite werd wees om na [JSScanner](https://github.com/dark-warlord14/JSScanner) te kyk, wat 'n omhulsel van LinkFinder is.
* [**goLinkFinder**](https://github.com/0xsha/GoLinkFinder) (go): Om eindpunte in beide HTML-bron- en ingeslote javascript-lêers te onttrek. Nuttig vir foutsoekers, rooi spanne, infosec-ninjas.
* [**JSParser**](https://github.com/nahamsec/JSParser) (python2.7): 'n Python 2.7-skrip wat Tornado en JSBeautifier gebruik om relatiewe URL's uit JavaScript-lêers te ontled. Nuttig vir die maklike ontdekking van AJAX-versoeke. Dit lyk asof dit nie onderhou word nie.
* [**relative-url-extractor**](https://github.com/jobertabma/relative-url-extractor) (ruby): Gegewe 'n lêer (HTML) sal dit URL's daaruit onttrek deur handige regulêre uitdrukking te gebruik om die relatiewe URL's uit lelike (geminifiseerde) lêers te vind en te onttrek.
* [**JSFScan**](https://github.com/KathanP19/JSFScan.sh) (bash, verskeie gereedskap): Versamel interessante inligting uit JS-lêers met verskeie gereedskap.
* [**page-fetch**](https://github.com/detectify/page-fetch) (go): Laai 'n bladsy in 'n koplose blaaier en druk al die gelaai URL's om die bladsy te laai.
* [**Feroxbuster**](https://github.com/epi052/feroxbuster) (rust): Inhoudsontdekkingsinstrument wat verskeie opsies van die vorige gereedskap meng
* [**Javascript Parsing**](https://github.com/xnl-h4ck3r/burp-extensions): 'n Burp-uitbreiding om paaie en parameters in JS-lêers te vind.
* [**Sourcemapper**](https://github.com/denandz/sourcemapper): 'n Instrument wat, gegewe die .js.map-URL, jou die mooi JS-kode sal gee
* [**xnLinkFinder**](https://github.com/xnl-h4ck3r/xnLinkFinder): Hierdie is 'n instrument wat gebruik word om eindpunte vir 'n gegewe teiken te ontdek.
* [**waymore**](https://github.com/xnl-h4ck3r/waymore)**:** Ontdek skakels van die wayback-masjien (laai ook die antwoorde in die wayback af en soek na meer skakels
* [**HTTPLoot**](https://github.com/redhuntlabs/HTTPLoot) (go): Kruip (selfs deur vorms te vul) en vind ook sensitiewe inligting deur spesifieke regulêre uitdrukkings te gebruik.
* [**SpiderSuite**](https://github.com/3nock/SpiderSuite): Spider Suite is 'n gevorderde multi-funksie GUI-websekuriteitskruiper/spinnekop wat ontwerp is vir sibersekuriteitsprofessionals.
* [**jsluice**](https://github.com/BishopFox/jsluice) (go): Dit is 'n Go-pakket en [kommalyn-instrument](https://github.com/BishopFox/jsluice/blob/main/cmd/jsluice) vir die onttrek van URL's, paaie, geheime en ander interessante data uit JavaScript-bronkode.
* [**ParaForge**](https://github.com/Anof-cyber/ParaForge): ParaForge is 'n eenvoudige **Burp Suite-uitbreiding** om die parameters en eindpunte uit die versoek te onttrek om 'n aangepaste woordelys vir fuzzing en enumerasie te skep.
Begin **brute-krag** vanaf die hoofmap en verseker dat jy **alle** die **gevonde dosisse** met **hierdie metode** en al die dosisse **ontdek** deur die **Spidering** te brute-krag (jy kan hierdie brute-krag **rekursief** doen en die name van die gevonde dosisse aan die begin van die gebruikte woordelys toevoeg).\
* **Dirb** / **Dirbuster** - Ingesluit in Kali, **oud** (en **stadig**) maar funksioneel. Laat outomatiese ondertekende sertifikate en rekursiewe soektog toe. Te stadig in vergelyking met die ander opsies.
* [**Dirsearch**](https://github.com/maurosoria/dirsearch) (python)**: Dit laat nie outomatiese ondertekende sertifikate toe nie, maar** laat rekursiewe soektog toe.
* [**Gobuster**](https://github.com/OJ/gobuster) (go): Dit laat outomatiese ondertekende sertifikate toe, dit het **nie** 'n **rekursiewe** soektog nie.
* [**uro**](https://github.com/s0md3v/uro) (python): Dit is nie 'n spinnekop nie, maar 'n instrument wat, gegewe die lys van gevonde URL's, "dupliseerde" URL's sal verwyder.
* [**Scavenger**](https://github.com/0xDexter0us/Scavenger): Burp-uitbreiding om 'n lys van dosisse van die burp-geskiedenis van verskillende bladsye te skep
* [**TrashCompactor**](https://github.com/michael1026/trashcompactor): Verwyder URL's met dupliseerde funksionaliteite (gebaseer op js invoere)
* [**Chamaleon**](https://github.com/iustin24/chameleon): Dit gebruik wapalyzer om gebruikte tegnologieë op te spoor en die woordlyste te kies wat gebruik moet word.
* [**Gebroke skakelkontroleerder**](https://github.com/stevenvachon/broken-link-checker): Vind gebroke skakels binne HTMLs wat vatbaar kan wees vir oorneem
* **Lêerback-ups**: Sodra jy al die lêers gevind het, soek na back-ups van al die uitvoerbare lêers ("_.php_", "_.aspx_"...). Gewone variasies vir die benaming van 'n back-up is: _lêer.ext\~, #lêer.ext#, \~lêer.ext, lêer.ext.bak, lêer.ext.tmp, lêer.ext.old, lêer.bak, lêer.tmp en lêer.old._ Jy kan ook die gereedskap [**bfac**](https://github.com/mazen160/bfac) **of** [**backup-gen**](https://github.com/Nishantbhagat57/backup-gen)**.**
* **Ontdek nuwe parameters**: Jy kan gereedskappe soos [**Arjun**](https://github.com/s0md3v/Arjun)**,** [**parameth**](https://github.com/maK-/parameth)**,** [**x8**](https://github.com/sh1yo/x8) **en** [**Param Miner**](https://github.com/PortSwigger/param-miner) **gebruik om verskuilde parameters te ontdek. As jy kan, kan jy probeer om** verskuilde parameters op elke uitvoerbare web-lêer te soek.
* _Arjun alle verstekwoordlyste:_ [https://github.com/s0md3v/Arjun/tree/master/arjun/db](https://github.com/s0md3v/Arjun/tree/master/arjun/db)
* **Opmerkings:** Kontroleer die opmerkings van al die lêers, jy kan **geloofsbriewe** of **verskuilde funksionaliteit** vind.
* As jy **CTF** speel, is 'n "gewone" truuk om **inligting****te verberg** binne opmerkings aan die **regterkant** van die **bladsy** (deur **honderde****spasies** te gebruik sodat jy die data nie sien as jy die bronkode met die blaaier oopmaak nie). 'n Ander moontlikheid is om **verskeie nuwe lyne** te gebruik en inligting in 'n opmerking aan die **onderkant** van die webbladsy te verberg.
* **API-sleutels**: As jy enige API-sleutel **vind**, is daar 'n gids wat aandui hoe om API-sleutels van verskillende platforms te gebruik: [**keyhacks**](https://github.com/streaak/keyhacks)**,** [**zile**](https://github.com/xyele/zile.git)**,** [**truffleHog**](https://github.com/trufflesecurity/truffleHog)**,** [**SecretFinder**](https://github.com/m4ll0k/SecretFinder)**,** [**RegHex**](https://github.com/l4yton/RegHex\)/)**,** [**DumpsterDive**](https://github.com/securing/DumpsterDiver)**,** [**EarlyBird**](https://github.com/americanexpress/earlybird)
* Google API-sleutels: As jy enige API-sleutel vind wat lyk soos **AIza**SyA-qLheq6xjDiEIRisP\_ujUseYLQCHUjik kan jy die projek [**gmapapiscanner**](https://github.com/ozguralp/gmapsapiscanner) gebruik om te kontroleer watter API's die sleutel kan toegang verkry.
* **S3 Emmers**: Terwyl jy aan die spider is, kyk of enige **subdomein** of enige **skakel** verband hou met 'n sekere **S3-emmer**. In daardie geval, [**kontroleer** die **toestemmings** van die emmer](buckets/).
* **JS-lêers**: In die spidering-afdeling is daar verskeie gereedskappe genoem wat paaie uit JS-lêers kan onttrek. Dit sal ook interessant wees om elke gevonde JS-lêer te **monitor**, aangesien 'n verandering in sommige gevalle kan aandui dat 'n potensiële kwesbaarheid in die kode ingevoer is. Jy kan byvoorbeeld [**JSMon**](https://github.com/robre/jsmon)**.** gebruik
* Jy moet ook die ontdekte JS-lêers met [**RetireJS**](https://github.com/retirejs/retire.js/) of [**JSHole**](https://github.com/callforpapers-source/jshole) toets om te sien of dit kwesbaar is.
* In verskeie gevalle sal jy die gebruikte regulêre uitdrukkings moet **verstaan**, dit sal nuttig wees: [https://regex101.com/](https://regex101.com)
* Jy kan ook die lêers waar vorms opgespoor is **monitor**, aangesien 'n verandering in die parameter of die verskyning van 'n nuwe vorm 'n potensiële nuwe kwesbare funksionaliteit kan aandui.
As enige bladsy met daardie kode **reageer**, is dit waarskynlik 'n sleg gekonfigureerde proksi. **As jy 'n HTTP-versoek stuur soos: `GET https://google.com HTTP/1.1`** (met die gasheerkop en ander algemene koppe), sal die **proksi** probeer om _**google.com**_**te benader en jy sal 'n** SSRF **gevind het.**
As die bedrywende bediener wat vir verifikasie vra **Windows** is of jy 'n aanmelding vind wat vir jou **geloofsbriewe** vra (en vir 'n **domeinnaam** vra), kan jy 'n **inligtingsoorplasing** veroorsaak.\
**Stuur** die **kop**: `“Authorization: NTLM TlRMTVNTUAABAAAAB4IIAAAAAAAAAAAAAAAAAAAAAAA=”` en as gevolg van hoe die **NTLM-verifikasie werk**, sal die bediener reageer met interne inligting (IIS-weergawe, Windows-weergawe...) binne die kop "WWW-Authenticate".\
Jy kan dit **outomatiseer** deur die **nmap-inprop** "_http-ntlm-info.nse_".
Dit is moontlik om inhoud binne 'n **Aanwysing** te **plaas**. Hierdie inhoud **sal nie aan die gebruiker gewys word** (aangesien die blaaier die aanwysing sal uitvoer) maar iets kan **daarin versteek** wees.
### Web Kwesbaarhede Kontroleer
Nou wat 'n omvattende opsomming van die webtoepassing uitgevoer is, is dit tyd om vir 'n hele paar moontlike kwesbaarhede te kyk. Jy kan die kontrolelys hier vind:
Jy kan gereedskap soos [https://github.com/dgtlmoon/changedetection.io](https://github.com/dgtlmoon/changedetection.io) gebruik om bladsye vir wysigings te monitor wat moontlik kwesbaarhede kan invoeg.
As jy belangstel in 'n **hackingsloopbaan** en die onhackbare wil hack - **ons is aan die aanstel!** (_vloeiend in Pools geskrewe en gespreek benodig_).
Description: Tailored Nmap Scan for web Vulnerabilities
Command: nmap -vv --reason -Pn -sV -p {Web_Port} --script=`banner,(http* or ssl*) and not (brute or broadcast or dos or external or http-slowloris* or fuzzer)` {IP}
<summary><strong>Leer AWS-hacking vanaf nul tot held met</strong><ahref="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
* As jy jou **maatskappy geadverteer wil sien in HackTricks** of **HackTricks in PDF wil aflaai** Kyk na die [**INSKRYWINGSPLANNE**](https://github.com/sponsors/carlospolop)!
* Ontdek [**Die PEASS-familie**](https://opensea.io/collection/the-peass-family), ons versameling eksklusiewe [**NFT's**](https://opensea.io/collection/the-peass-family)
* **Sluit aan by die** 💬 [**Discord-groep**](https://discord.gg/hRep4RUj7f) of die [**telegram-groep**](https://t.me/peass) of **volg** ons op **Twitter** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks\_live)**.**
* **Deel jou hack-truuks deur PR's in te dien by die** [**HackTricks**](https://github.com/carlospolop/hacktricks) en [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github-opslag.