hacktricks/network-services-pentesting/pentesting-web/README.md

444 lines
31 KiB
Markdown
Raw Normal View History

2024-02-11 02:07:06 +00:00
# 80,443 - Pentesting Web Metodologie
2022-04-28 16:01:33 +00:00
<details>
<summary><strong>Leer AWS hakwerk vanaf nul tot held met</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
2022-04-28 16:01:33 +00:00
2024-02-11 02:07:06 +00:00
Ander maniere om HackTricks te ondersteun:
2023-12-31 01:24:39 +00:00
* As jy jou **maatskappy geadverteer wil sien in HackTricks** of **HackTricks in PDF wil aflaai** Kyk na die [**INSKRYWINGSPLANNE**](https://github.com/sponsors/carlospolop)!
2024-02-11 02:07:06 +00:00
* Kry die [**amptelike PEASS & HackTricks swag**](https://peass.creator-spring.com)
* 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.
2022-04-28 16:01:33 +00:00
</details>
<figure><img src="../../.gitbook/assets/image (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1).png" alt=""><figcaption></figcaption></figure>
2022-04-28 16:01:33 +00:00
As jy belangstel in **hakwerk loopbaan** en die onhackbare wil hack - **ons is aan die aanstel!** (_vloeiend Pools geskrewe en gesproke vereis_).
2022-04-30 20:31:18 +00:00
{% embed url="https://www.stmcyber.com/careers" %}
2024-02-11 02:07:06 +00:00
## Basiese Inligting
2024-02-11 02:07:06 +00:00
Die webdiens is die mees **gewone en omvattende diens** en daar bestaan baie **verskillende tipes kwesbaarhede**.
**Verstekpoort:** 80 (HTTP), 443(HTTPS)
```bash
PORT STATE SERVICE
80/tcp open http
443/tcp open ssl/https
```
```bash
nc -v domain.com 80 # GET / HTTP/1.0
openssl s_client -connect domain.com:443 # GET / HTTP/1.0
```
2024-02-11 02:07:06 +00:00
### Web API Leiding
2021-06-26 15:04:40 +00:00
{% content-ref url="web-api-pentesting.md" %}
[web-api-pentesting.md](web-api-pentesting.md)
{% endcontent-ref %}
2021-06-26 15:04:40 +00:00
2024-02-11 02:07:06 +00:00
## Metodologie opsomming
> 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.
2024-02-11 02:07:06 +00:00
* [ ] 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?
* [ ] Enige **gespesialiseerde skandeerder** om uit te voer (soos wpscan)?
* [ ] Begin met die **algemene doeleindes skandeerders**. Jy weet nooit of hulle iets gaan vind of as hulle interessante inligting gaan vind.
* [ ] 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._
* [ ] **Gids Brute-Forcing**: Probeer om al die ontdekte vouers te brute force op soek na nuwe **lêers** en **gids**.
* [ ] _Let daarop dat enige tyd 'n nuwe gids ontdek word tydens brute-forcing of spinnekoppe, dit moet Brute-Forced word._
* [ ] **Back-up kontrole**: Toets of jy **back-ups** van **ontdekte lêers** kan vind deur algemene back-up-uitbreidings by te voeg.
2024-02-11 02:07:06 +00:00
* [ ] **Brute-Force parameters**: Probeer om **verskuilde parameters** te vind.
* [ ] Sodra jy al die moontlike **eindpunte** wat **gebruikerinsette** aanvaar, geïdentifiseer het, kyk vir alle soorte **kwesbaarhede** wat daarmee verband hou.
2024-02-11 02:07:06 +00:00
* [ ] [Volg hierdie kontrolelys](../../pentesting-web/web-vulnerabilities-methodology/)
2024-02-11 02:07:06 +00:00
## Bedienerweergawe (Kwesbaar?)
2024-02-11 02:07:06 +00:00
### Identifiseer
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)**:**
```bash
whatweb -a 1 <URL> #Stealthy
whatweb -a 3 <URL> #Aggresive
webtech -u <URL>
2022-05-19 12:02:10 +00:00
webanalyze -host https://google.com -crawl 2
```
Soek na **kwesbaarhede van die webtoepassing** **weergawe**
### **Kyk of daar enige WAF is**
2020-12-12 09:50:37 +00:00
2021-02-10 15:19:08 +00:00
* [**https://github.com/EnableSecurity/wafw00f**](https://github.com/EnableSecurity/wafw00f)
* [**https://github.com/Ekultek/WhatWaf.git**](https://github.com/Ekultek/WhatWaf.git)
* [**https://nmap.org/nsedoc/scripts/http-waf-detect.html**](https://nmap.org/nsedoc/scripts/http-waf-detect.html)
2020-12-12 09:50:37 +00:00
2024-02-11 02:07:06 +00:00
### Web tegnologie truuks
Sommige **truuks** vir **die vind van kwesbaarhede** in verskillende bekende **tegnologieë** wat gebruik word:
2021-07-27 08:34:47 +00:00
* [**AEM - Adobe Experience Cloud**](aem-adobe-experience-cloud.md)
* [**Apache**](apache.md)
* [**Artifactory**](artifactory-hacking-guide.md)
* [**Buckets**](buckets/)
* [**CGI**](cgi.md)
* [**Drupal**](drupal.md)
* [**Flask**](flask.md)
* [**Git**](git.md)
* [**Golang**](golang.md)
* [**GraphQL**](graphql.md)
2024-02-11 02:07:06 +00:00
* [**H2 - Java SQL-databasis**](h2-java-sql-database.md)
* [**IIS truuks**](iis-internet-information-services.md)
2021-07-27 08:34:47 +00:00
* [**JBOSS**](jboss.md)
2023-01-09 12:33:03 +00:00
* [**Jenkins**](broken-reference/)
2021-07-27 08:34:47 +00:00
* [**Jira**](jira.md)
* [**Joomla**](joomla.md)
* [**JSP**](jsp.md)
* [**Laravel**](laravel.md)
* [**Moodle**](moodle.md)
* [**Nginx**](nginx.md)
2024-02-11 02:07:06 +00:00
* [**PHP (php het baie interessante truuks wat uitgebuit kan word)**](php-tricks-esp/)
2021-07-27 08:34:47 +00:00
* [**Python**](python.md)
* [**Spring Actuators**](spring-actuators.md)
* [**Symphony**](symphony.md)
2022-10-03 00:11:21 +00:00
* [**Tomcat**](tomcat.md)
2021-07-27 08:34:47 +00:00
* [**VMWare**](vmware-esx-vcenter....md)
* [**Web API Pentesting**](web-api-pentesting.md)
* [**WebDav**](put-method-webdav.md)
* [**Werkzeug**](werkzeug.md)
* [**Wordpress**](wordpress.md)
* [**Electron Desktop (XSS to RCE)**](electron-desktop-apps/)
2021-06-26 13:01:09 +00:00
*Neem in ag dat dieselfde domein verskillende tegnologieë in verskillende poorte, vouers en subdomeine kan gebruik.*\
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!).
2021-06-26 13:01:09 +00:00
2024-02-11 02:07:06 +00:00
### Bronkode-oorsig
2021-06-26 13:01:09 +00:00
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 'n **Wysigingslogboek of Leesmy of Weergawe**-lêer of enige iets met **weergawe-inligting wat toeganklik is** via die web?
* Hoe en waar word die **geloofsbriewe** gestoor? Is daar enige (toeganklike?) **lêer** met geloofsbriewe (gebruikersname of wagwoorde)?
* Is die **wagwoorde** in **plat teks**, **geënkripteer** of watter **hashing-algoritme** word gebruik?
* Word enige **meestersleutel** gebruik vir die enkripsie van iets? Watter **algoritme** word gebruik?
* Kan jy **toegang kry tot enige van hierdie lêers** deur van 'n kwesbaarheid gebruik te maak?
* 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**)?
{% content-ref url="code-review-tools.md" %}
[code-review-tools.md](code-review-tools.md)
{% endcontent-ref %}
### Outomatiese skandeerders
#### Algemene doel outomatiese skandeerders
```bash
nikto -h <URL>
whatweb -a 4 <URL>
wapiti -u <URL>
W3af
2021-06-27 13:15:35 +00:00
zaproxy #You can use an API
nuclei -ut && nuclei -target <URL>
# https://github.com/ignis-sec/puff (client side vulns fuzzer)
node puff.js -w ./wordlist-examples/xss.txt -u "http://www.xssgame.com/f/m4KKGHi2rVUN/?query=FUZZ"
```
#### CMS skandeerders
Indien 'n CMS gebruik word, moenie vergeet om **'n skandeerder** uit te voer nie, dalk word iets sappigs gevind:
2022-10-03 00:11:21 +00:00
[**Clusterd**](https://github.com/hatRiot/clusterd)**:** [**JBoss**](jboss.md)**, ColdFusion, WebLogic,** [**Tomcat**](tomcat.md)**, Railo, Axis2, Glassfish**\
[**CMSScan**](https://github.com/ajinabraham/CMSScan): [**WordPress**](wordpress.md), [**Drupal**](drupal.md), **Joomla**, **vBulletin** webwerwe vir Sekuriteitskwessies. (GUI)\
2022-03-17 15:33:23 +00:00
[**VulnX**](https://github.com/anouarbensaad/vulnx)**:** [**Joomla**](joomla.md)**,** [**Wordpress**](wordpress.md)**,** [**Drupal**](drupal.md)**, PrestaShop, Opencart**\
2024-02-11 02:07:06 +00:00
**CMSMap**: [**(W)ordpress**](wordpress.md)**,** [**(J)oomla**](joomla.md)**,** [**(D)rupal**](drupal.md) **of** [**(M)oodle**](moodle.md)\
2022-03-17 15:33:23 +00:00
[**droopscan**](https://github.com/droope/droopescan)**:** [**Drupal**](drupal.md)**,** [**Joomla**](joomla.md)**,** [**Moodle**](moodle.md)**, Silverstripe,** [**Wordpress**](wordpress.md)
```bash
cmsmap [-f W] -F -d <URL>
wpscan --force update -e --url <URL>
joomscan --ec -u <URL>
joomlavs.rb #https://github.com/rastating/joomlavs
```
> 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.
2024-02-11 02:07:06 +00:00
## Stap-vir-stap Webtoepassingsontdekking
> Van hier af gaan ons begin om met die webtoepassing te interaksieer.
2024-02-11 02:07:06 +00:00
### Aanvanklike kontroles
2024-02-11 02:07:06 +00:00
**Verstekbladsye met interessante inligting:**
* /robots.txt
* /sitemap.xml
2021-06-27 13:15:35 +00:00
* /crossdomain.xml
* /clientaccesspolicy.xml
* /.well-known/
2024-02-11 02:07:06 +00:00
* Kontroleer ook kommentaar in die hoof- en sekondêre bladsye.
**Forsing van foute**
2021-06-27 16:17:04 +00:00
Webbedieners kan **onverwags optree** wanneer vreemde data aan hulle gestuur word. Dit kan **kwesbaarhede** of **gevoelige inligting openbaar**.
2021-06-27 16:17:04 +00:00
* Toegang tot **vals bladsye** soos /whatever\_fake.php (.aspx,.html,.ens.)
* Voeg "\[]", "]]", en "\[\[" by in **koekiewaardes** en **parameter** waardes om foute te skep
* Skep 'n fout deur inset te gee as **`/~randomthing/%s`** aan die **einde** van die **URL**
* Probeer **verskillende HTTP-werkwoorde** soos PATCH, DEBUG of verkeerd soos FAKE
2021-06-27 16:17:04 +00:00
#### **Kyk of jy lêers kan oplaai (**[**PUT werkwoord, WebDav**](put-method-webdav.md)**)**
As jy vind dat **WebDav** **geaktiveer** is, maar jy het nie genoeg regte vir **die oplaai van lêers** in die hoofmap nie, probeer dan:
* **Brute Force** geloofsbriewe
* **Laai lêers op** via WebDav na die **res** van die **gevonde lêers** binne die webbladsy. Jy mag regte hê om lêers in ander lêers op te laai.
### **SSL/TLS kwesbaarhede**
* As die aansoek **nie die gebruik van HTTPS afdwing nie** op enige punt, is dit **kwesbaar vir MitM**
* As die aansoek **gevoelige data (wagwoorde) stuur deur HTTP** te gebruik. Dan is dit 'n hoë kwesbaarheid.
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:
```bash
./testssl.sh [--htmlfile] 10.10.10.10:443
#Use the --htmlfile to save the output inside an htmlfile also
2022-05-01 12:49:36 +00:00
# You can also use other tools, by testssl.sh at this momment is the best one (I think)
sslscan <host:port>
sslyze --regular <ip:port>
```
2024-02-11 02:07:06 +00:00
Inligting oor SSL/TLS kwesbaarhede:
2022-03-17 15:33:23 +00:00
* [https://www.gracefulsecurity.com/tls-ssl-vulnerabilities/](https://www.gracefulsecurity.com/tls-ssl-vulnerabilities/)
* [https://www.acunetix.com/blog/articles/tls-vulnerabilities-attacks-final-part/](https://www.acunetix.com/blog/articles/tls-vulnerabilities-attacks-final-part/)
2022-05-01 16:32:23 +00:00
### Spidering
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.
2024-02-11 02:07:06 +00:00
* [**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.
2024-02-11 02:07:06 +00:00
* [**dirhunt**](https://github.com/Nekmo/dirhunt) (python): HTML spinnekop, dui ook "sappige lêers" aan.
* [**evine** ](https://github.com/saeeddhqan/evine)(go): Interaktiewe CLI HTML spinnekop. Dit soek ook in Archive.org
* [**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
2024-02-11 02:07:06 +00:00
* [**gau**](https://github.com/lc/gau) (go): HTML spinnekop wat eksterne verskaffers gebruik (wayback, otx, commoncrawl)
* [**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.
2024-02-11 02:07:06 +00:00
* [**subjs**](https://github.com/lc/subjs) (go): Vind JS-lêers.
* [**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.
2024-02-11 02:07:06 +00:00
* [**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.
2024-02-11 02:07:06 +00:00
### Brute Force-dosisse en lêers
2024-02-11 02:07:06 +00:00
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).\
Gereedskap:
2024-02-11 02:07:06 +00:00
* **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.
2024-02-11 02:07:06 +00:00
* [**Feroxbuster**](https://github.com/epi052/feroxbuster) **- Vinnig, ondersteun rekursiewe soektog.**
* [**wfuzz**](https://github.com/xmendez/wfuzz) `wfuzz -w /usr/share/seclists/Discovery/Web-Content/raft-medium-directories.txt https://domain.com/api/FUZZ`
* [**ffuf** ](https://github.com/ffuf/ffuf)- Vinnig: `ffuf -c -w /usr/share/wordlists/dirb/big.txt -u http://10.10.10.10/FUZZ`
* [**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.
**Aanbevole woordeboeke:**
* [https://github.com/carlospolop/Auto\_Wordlists/blob/main/wordlists/bf\_directories.txt](https://github.com/carlospolop/Auto\_Wordlists/blob/main/wordlists/bf\_directories.txt)
* [**Dirsearch** ingeslote woordeboek](https://github.com/maurosoria/dirsearch/blob/master/db/dicc.txt)
* [http://gist.github.com/jhaddix/b80ea67d85c13206125806f0828f4d10](http://gist.github.com/jhaddix/b80ea67d85c13206125806f0828f4d10)
* [Assetnote woordeboeke](https://wordlists.assetnote.io)
* [https://github.com/danielmiessler/SecLists/tree/master/Discovery/Web-Content](https://github.com/danielmiessler/SecLists/tree/master/Discovery/Web-Content)
* raft-large-directories-lowercase.txt
* directory-list-2.3-medium.txt
* RobotsDisallowed/top10000.txt
* [https://github.com/random-robbie/bruteforce-lists](https://github.com/random-robbie/bruteforce-lists)
2021-06-27 14:11:13 +00:00
* [https://github.com/google/fuzzing/tree/master/dictionaries](https://github.com/google/fuzzing/tree/master/dictionaries)
* [https://github.com/six2dez/OneListForAll](https://github.com/six2dez/OneListForAll)
2021-07-27 08:34:47 +00:00
* [https://github.com/random-robbie/bruteforce-lists](https://github.com/random-robbie/bruteforce-lists)
* _/usr/share/wordlists/dirb/common.txt_
* _/usr/share/wordlists/dirb/big.txt_
* _/usr/share/wordlists/dirbuster/directory-list-2.3-medium.txt_
_Merk op dat elke keer as 'n nuwe gids ontdek word tydens brute-forcing of spidering, dit Brute-Forced moet word._
2024-02-11 02:07:06 +00:00
### Wat om op elke gevonde lêer te kontroleer
* [**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)
* _Param-miner "params":_ [https://github.com/PortSwigger/param-miner/blob/master/resources/params](https://github.com/PortSwigger/param-miner/blob/master/resources/params)
* _Assetnote "parameters_top_1m":_ [https://wordlists.assetnote.io/](https://wordlists.assetnote.io)
2024-02-11 02:07:06 +00:00
* _nullenc0de "params.txt":_ [https://gist.github.com/nullenc0de/9cb36260207924f8e1787279a05eb773](https://gist.github.com/nullenc0de/9cb36260207924f8e1787279a05eb773)
* **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/).
### Spesiale bevindinge
**Terwyl** jy die **spidering** en **brute-forcing** uitvoer, kan jy **interessante** **dinge** vind wat jy moet **opmerk**.
2024-02-11 02:07:06 +00:00
**Interessante lêers**
* Soek na **skakels** na ander lêers binne die **CSS**-lêers.
* [As jy 'n _**.git**_ lêer vind kan daar inligting onttrek word](git.md)
* As jy 'n _**.env**_ vind, kan inligting soos API-sleutels, databasiswagwoorde en ander inligting gevind word.
* As jy **API-eindpunte** vind, [moet jy hulle ook toets](web-api-pentesting.md). Dit is nie lêers nie, maar sal waarskynlik soos hulle lyk.
* **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.
2024-02-11 02:07:06 +00:00
* **Javascript Deobfuscator en Unpacker:** [https://lelinhtinh.github.io/de4js/](https://lelinhtinh.github.io/de4js/), [https://www.dcode.fr/javascript-unobfuscator](https://www.dcode.fr/javascript-unobfuscator)
* **Javascript Beautifier:** [http://jsbeautifier.org/](https://beautifier.io), [http://jsnice.org/](http://jsnice.org)
* **JsFuck deobfuscation** (javascript met karakters:"\[]!+" [https://ooze.ninja/javascript/poisonjs/](https://ooze.ninja/javascript/poisonjs/))
2024-02-11 02:07:06 +00:00
* [**TrainFuck**](https://github.com/taco-c/trainfuck)**:** `+72.+29.+7..+3.-67.-12.+55.+24.+3.-6.-8.-67.-23.`
* 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.
**403 Verbode/Grondige Verifikasie/401 Onbevoegd (omseil)**
{% content-ref url="403-and-401-bypasses.md" %}
[403-and-401-bypasses.md](403-and-401-bypasses.md)
{% endcontent-ref %}
**502 Proksi-fout**
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.**
**NTLM-verifikasie - Inligtingsoorplasing**
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_".
2021-06-26 12:28:58 +00:00
**HTTP Aanwysing (CTF)**
2024-02-11 02:07:06 +00:00
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:
2021-06-26 12:28:58 +00:00
2022-09-12 18:43:22 +00:00
{% content-ref url="../../pentesting-web/web-vulnerabilities-methodology/" %}
[web-vulnerabilities-methodology](../../pentesting-web/web-vulnerabilities-methodology/)
{% endcontent-ref %}
2021-06-26 12:28:58 +00:00
Vind meer inligting oor web kwesbaarhede in:
2024-02-08 21:36:15 +00:00
* [https://six2dez.gitbook.io/pentest-book/others/web-checklist](https://six2dez.gitbook.io/pentest-book/others/web-checklist)
* [https://kennel209.gitbooks.io/owasp-testing-guide-v4/content/en/web\_application\_security\_testing/configuration\_and\_deployment\_management\_testing.html](https://kennel209.gitbooks.io/owasp-testing-guide-v4/content/en/web\_application\_security\_testing/configuration\_and\_deployment\_management\_testing.html)
* [https://owasp-skf.gitbook.io/asvs-write-ups/kbid-111-client-side-template-injection](https://owasp-skf.gitbook.io/asvs-write-ups/kbid-111-client-side-template-injection)
2021-06-26 12:28:58 +00:00
### Monitor Bladsye vir Veranderinge
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.
<figure><img src="../../.gitbook/assets/image (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1).png" alt=""><figcaption></figcaption></figure>
As jy belangstel in 'n **hackingsloopbaan** en die onhackbare wil hack - **ons is aan die aanstel!** (_vloeiend in Pools geskrewe en gespreek benodig_).
2022-05-19 12:02:10 +00:00
{% embed url="https://www.stmcyber.com/careers" %}
2021-07-27 08:34:47 +00:00
2024-02-11 02:07:06 +00:00
### HackTricks Outomatiese Opdragte
```
2021-08-12 13:52:57 +00:00
Protocol_Name: Web #Protocol Abbreviation if there is one.
Port_Number: 80,443 #Comma separated if there is more than one.
Protocol_Description: Web #Protocol Abbreviation Spelled out
2021-08-15 18:08:52 +00:00
Entry_1:
2024-02-11 02:07:06 +00:00
Name: Notes
Description: Notes for Web
Note: |
https://book.hacktricks.xyz/pentesting/pentesting-web
2021-08-15 18:08:52 +00:00
Entry_2:
2024-02-11 02:07:06 +00:00
Name: Quick Web Scan
Description: Nikto and GoBuster
Command: nikto -host {Web_Proto}://{IP}:{Web_Port} &&&& gobuster dir -w {Small_Dirlist} -u {Web_Proto}://{IP}:{Web_Port} && gobuster dir -w {Big_Dirlist} -u {Web_Proto}://{IP}:{Web_Port}
2021-08-15 18:08:52 +00:00
Entry_3:
2024-02-11 02:07:06 +00:00
Name: Nikto
Description: Basic Site Info via Nikto
Command: nikto -host {Web_Proto}://{IP}:{Web_Port}
2021-08-15 18:08:52 +00:00
Entry_4:
2024-02-11 02:07:06 +00:00
Name: WhatWeb
Description: General purpose auto scanner
Command: whatweb -a 4 {IP}
2021-08-15 18:08:52 +00:00
Entry_5:
2024-02-11 02:07:06 +00:00
Name: Directory Brute Force Non-Recursive
Description: Non-Recursive Directory Brute Force
Command: gobuster dir -w {Big_Dirlist} -u {Web_Proto}://{IP}:{Web_Port}
2021-08-15 18:08:52 +00:00
Entry_6:
2024-02-11 02:07:06 +00:00
Name: Directory Brute Force Recursive
Description: Recursive Directory Brute Force
Command: python3 {Tool_Dir}dirsearch/dirsearch.py -w {Small_Dirlist} -e php,exe,sh,py,html,pl -f -t 20 -u {Web_Proto}://{IP}:{Web_Port} -r 10
2021-08-15 18:08:52 +00:00
Entry_7:
2024-02-11 02:07:06 +00:00
Name: Directory Brute Force CGI
Description: Common Gateway Interface Brute Force
Command: gobuster dir -u {Web_Proto}://{IP}:{Web_Port}/ -w /usr/share/seclists/Discovery/Web-Content/CGIs.txt -s 200
2021-08-15 18:08:52 +00:00
Entry_8:
2024-02-11 02:07:06 +00:00
Name: Nmap Web Vuln Scan
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}
2021-08-15 18:08:52 +00:00
Entry_9:
2024-02-11 02:07:06 +00:00
Name: Drupal
Description: Drupal Enumeration Notes
Note: |
git clone https://github.com/immunIT/drupwn.git for low hanging fruit and git clone https://github.com/droope/droopescan.git for deeper enumeration
2021-08-15 18:08:52 +00:00
Entry_10:
2024-02-11 02:07:06 +00:00
Name: WordPress
Description: WordPress Enumeration with WPScan
Command: |
?What is the location of the wp-login.php? Example: /Yeet/cannon/wp-login.php
wpscan --url {Web_Proto}://{IP}{1} --enumerate ap,at,cb,dbe && wpscan --url {Web_Proto}://{IP}{1} --enumerate u,tt,t,vp --passwords {Big_Passwordlist} -e
2021-09-13 15:37:58 +00:00
Entry_11:
2024-02-11 02:07:06 +00:00
Name: WordPress Hydra Brute Force
Description: Need User (admin is default)
Command: hydra -l admin -P {Big_Passwordlist} {IP} -V http-form-post '/wp-login.php:log=^USER^&pwd=^PASS^&wp-submit=Log In&testcookie=1:S=Location'
Entry_12:
2024-02-11 02:07:06 +00:00
Name: Ffuf Vhost
Description: Simple Scan with Ffuf for discovering additional vhosts
Command: ffuf -w {Subdomain_List}:FUZZ -u {Web_Proto}://{Domain_Name} -H "Host:FUZZ.{Domain_Name}" -c -mc all {Ffuf_Filters}
2021-08-15 18:08:52 +00:00
```
2022-04-28 16:01:33 +00:00
<details>
<summary><strong>Leer AWS-hacking vanaf nul tot held met</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
2022-04-28 16:01:33 +00:00
2024-02-11 02:07:06 +00:00
Ander maniere om HackTricks te ondersteun:
2023-12-31 01:24:39 +00:00
* As jy jou **maatskappy geadverteer wil sien in HackTricks** of **HackTricks in PDF wil aflaai** Kyk na die [**INSKRYWINGSPLANNE**](https://github.com/sponsors/carlospolop)!
2024-02-11 02:07:06 +00:00
* Kry die [**amptelike PEASS & HackTricks swag**](https://peass.creator-spring.com)
* 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.
2022-04-28 16:01:33 +00:00
</details>