80,443 - Pentesting Web-Methodik
Tip
Lernen & üben Sie AWS Hacking:
HackTricks Training AWS Red Team Expert (ARTE)
Lernen & üben Sie GCP Hacking:HackTricks Training GCP Red Team Expert (GRTE)
Lernen & üben Sie Azure Hacking:
HackTricks Training Azure Red Team Expert (AzRTE)
Unterstützen Sie HackTricks
- Überprüfen Sie die Abonnementpläne!
- Treten Sie der 💬 Discord-Gruppe oder der Telegram-Gruppe bei oder folgen Sie uns auf Twitter 🐦 @hacktricks_live.
- Teilen Sie Hacking-Tricks, indem Sie PRs an die HackTricks und HackTricks Cloud GitHub-Repos senden.
Basisinformationen
Der Web-Service ist der häufigste und umfangreichste Dienst und es gibt viele verschiedene Arten von Schwachstellen.
Standardport: 80 (HTTP), 443 (HTTPS)
PORT STATE SERVICE
80/tcp open http
443/tcp open ssl/https
nc -v domain.com 80 # GET / HTTP/1.0
openssl s_client -connect domain.com:443 # GET / HTTP/1.0
Web API Anleitung
Methodology summary
In dieser Methodik gehen wir davon aus, dass du eine Domain (oder Subdomain) und nur diese angreifst. Wende diese Methodik also auf jede entdeckte Domain, Subdomain oder IP mit unbestimmtem Webserver innerhalb des Scopes an.
- Beginne damit, identifying die technologies zu bestimmen, die vom Webserver verwendet werden. Suche nach tricks, die du während des weiteren Tests beachten solltest, wenn du die Tech erfolgreich identifizieren kannst.
- Gibt es bekannte known vulnerability der Version der Technologie?
- Wird irgendeine well known tech verwendet? Irgendein useful trick, um mehr Informationen zu extrahieren?
- Irgendein specialised scanner, den man laufen lassen sollte (z.B. wpscan)?
- Starte general purposes scanners. Man weiß nie, ob sie etwas finden oder interessante Informationen liefern.
- Beginne mit den initial checks: robots, sitemap, 404 error und SSL/TLS scan (wenn HTTPS).
- Beginne mit dem spidering der Webseite: Jetzt ist es Zeit, alle möglichen files, folders und parameters being used zu finden. Prüfe auch auf special findings.
- Note that anytime a new directory is discovered during brute-forcing or spidering, it should be spidered.
- Directory Brute-Forcing: Versuche, alle entdeckten Ordner zu brute-forcen, um neue files und directories zu finden.
- Note that anytime a new directory is discovered during brute-forcing or spidering, it should be Brute-Forced.
- Backups checking: Prüfe, ob du backups von discovered files finden kannst, indem du gängige Backup-Erweiterungen anhängst.
- Brute-Force parameters: Versuche, hidden parameters zu finden.
- Sobald du alle möglichen endpoints identifiziert hast, die user input akzeptieren, überprüfe sie auf alle Arten von damit verbundenen vulnerabilities.
- Follow this checklist
Server Version (Vulnerable?)
Identify
Prüfe, ob es known vulnerabilities für die Serverversion gibt, die läuft.
Die HTTP headers and cookies of the response können sehr nützlich sein, um die technologies und/oder die version zu identify. Nmap scan kann die Serverversion identifizieren, aber auch die Tools whatweb, webtech oder https://builtwith.com/:
whatweb -a 1 <URL> #Stealthy
whatweb -a 3 <URL> #Aggresive
webtech -u <URL>
webanalyze -host https://google.com -crawl 2
Suche nach vulnerabilities of the web application version
Prüfe, ob ein WAF vorhanden ist
- https://github.com/EnableSecurity/wafw00f
- https://github.com/Ekultek/WhatWaf.git
- https://nmap.org/nsedoc/scripts/http-waf-detect.html
Web-Technik-Tricks
Einige tricks für das finding vulnerabilities in verschiedenen bekannten technologies, die verwendet werden:
- AEM - Adobe Experience Cloud
- Apache
- Artifactory
- Buckets
- CGI
- Drupal
- Flask
- Fortinet FortiWeb
- Git
- Golang
- GraphQL
- H2 - Java SQL database
- ISPConfig
- IIS tricks
- Microsoft SharePoint
- JBOSS
- Jenkins
- Jira
- Joomla
- JSP
- Laravel
- Moodle
- Nginx
- PHP (php has a lot of interesting tricks that could be exploited)
- Python
- Roundcube
- Spring Actuators
- Symphony
- Tomcat
- VMWare
- Web API Pentesting
- WebDav
- Werkzeug
- Wordpress
- Electron Desktop (XSS to RCE)
- Sitecore
- Zabbix
Berücksichtige, dass die same domain unterschiedliche technologies auf verschiedenen ports, folders und subdomains nutzen kann.
Wenn die Webanwendung eine der bekannten tech/platform listed before oder eine andere verwendet, vergiss nicht, im Internet nach neuen Tricks zu suchen (und gib mir Bescheid!).
Quellcode-Review
Wenn der source code der Anwendung in github verfügbar ist, gibt es neben dem eigenständigen Durchführen eines White box test der Anwendung einige Informationen, die für das aktuelle Black-Box testing nützlich sein könnten:
- Gibt es eine Change-log or Readme or Version-Datei oder etwas mit version info accessible über das Web?
- Wie und wo sind die credentials gespeichert? Gibt es irgendeine (zugängliche?) file mit credentials (Benutzernamen oder Passwörtern)?
- Sind passwords im plain text, encrypted oder welcher hashing algorithm wird verwendet?
- Wird ein master key zum Verschlüsseln verwendet? Welcher algorithm kommt zum Einsatz?
- Kannst du durch Ausnutzung einer vulnerability auf any of these files zugreifen?
- Gibt es irgendwelche interesting information in the github (solved and not solved) issues? Oder in der commit history (vielleicht wurde ein password introduced inside an old commit)?
Source code Review / SAST Tools
Automatische Scanner
Allgemeine automatische Scanner
nikto -h <URL>
whatweb -a 4 <URL>
wapiti -u <URL>
W3af
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-Scanner
Wenn ein CMS verwendet wird, vergiss nicht, einen Scanner auszuführen, vielleicht findest du etwas Interessantes:
Clusterd: JBoss, ColdFusion, WebLogic, Tomcat, Railo, Axis2, Glassfish
CMSScan: WordPress, Drupal, Joomla, vBulletin-Websites auf Sicherheitsprobleme prüfen. (GUI)
VulnX: Joomla, Wordpress, Drupal, PrestaShop, Opencart
CMSMap: (W)ordpress, (J)oomla, (D)rupal oder (M)oodle
droopscan: Drupal, Joomla, Moodle, Silverstripe, Wordpress
cmsmap [-f W] -F -d <URL>
wpscan --force update -e --url <URL>
joomscan --ec -u <URL>
joomlavs.rb #https://github.com/rastating/joomlavs
An diesem Punkt solltest du bereits einige Informationen über den vom Client verwendeten Webserver haben (falls Daten bereitgestellt wurden) und einige Tricks, die du während des Tests beachten solltest. Wenn du Glück hast, hast du sogar ein CMS gefunden und einen Scanner laufen lassen.
Schritt-für-Schritt Webanwendungs-Erkennung
Ab hier beginnen wir, mit der Webanwendung zu interagieren.
Erste Prüfungen
Standardseiten mit interessanten Informationen:
- /robots.txt
- /sitemap.xml
- /crossdomain.xml
- /clientaccesspolicy.xml
- /.well-known/
- Prüfe auch Kommentare auf der Haupt- und sekundären Seiten.
Fehler provozieren
Webserver können sich unerwartet verhalten, wenn ihnen ungewöhnliche Daten gesendet werden. Das kann Schwachstellen öffnen oder sensible Informationen preisgeben.
- Rufe Fake-Seiten wie /whatever_fake.php (.aspx,.html,.etc) auf
- Füge “[]”, “]]”, und “[[” in Cookie-Werte und Parameterwerte ein, um Fehler zu erzeugen
- Erzeuge einen Fehler, indem du als Input
/~randomthing/%sam Ende der URL angibst - Probiere verschiedene HTTP-Verben wie PATCH, DEBUG oder falsche wie FAKE
Prüfe, ob du Dateien hochladen kannst (PUT verb, WebDav)
Wenn du feststellst, dass WebDav aktiviert ist, du aber nicht genug Berechtigungen hast, um Dateien im Root-Ordner hochzuladen, versuche:
- Brute Force Credentials
- Lade Dateien via WebDav in die anderen gefundenen Ordner innerhalb der Webseite hoch. Möglicherweise hast du Berechtigungen, in anderen Ordnern Dateien hochzuladen.
SSL/TLS Schwachstellen
- Wenn die Anwendung die Verwendung von HTTPS nicht erzwingt in irgendeinem Bereich, dann ist sie vulnerable to MitM
- Wenn die Anwendung sensible Daten (Passwörter) per HTTP sendet, dann ist das eine kritische Schwachstelle.
Verwende testssl.sh um nach Schwachstellen zu prüfen (bei Bug-Bounty-Programmen werden solche Arten von Schwachstellen wahrscheinlich nicht akzeptiert) und verwende a2sv um die Schwachstellen erneut zu überprüfen:
./testssl.sh [--htmlfile] 10.10.10.10:443
#Use the --htmlfile to save the output inside an htmlfile also
# 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>
Informationen zu SSL/TLS-Schwachstellen:
- https://www.gracefulsecurity.com/tls-ssl-vulnerabilities/
- https://www.acunetix.com/blog/articles/tls-vulnerabilities-attacks-final-part/
Spidering
Starte eine Art spider innerhalb der Webanwendung. Das Ziel des spider ist, so viele Pfade wie möglich von der geprüften Anwendung zu finden. Daher sollten Web-Crawling und externe Quellen verwendet werden, um so viele gültige Pfade wie möglich zu entdecken.
- gospider (go): HTML spider, LinkFinder in JS-Dateien und externe Quellen (Archive.org, CommonCrawl.org, VirusTotal.com).
- hakrawler (go): HML spider, mit LinkFinder für JS-Dateien und Archive.org als externe Quelle.
- dirhunt (python): HTML spider, zeigt außerdem “juicy files” an.
- evine (go): Interaktiver CLI HTML spider. Sucht ebenfalls in Archive.org.
- meg (go): Dieses Tool ist kein spider, kann aber nützlich sein. Du kannst einfach eine Datei mit Hosts und eine Datei mit Pfaden angeben und meg wird jeden Pfad auf jedem Host abrufen und die Antwort speichern.
- urlgrab (go): HTML spider mit JS-Rendering-Fähigkeiten. Sieht aber so aus, als wäre es unmaintained; die vorcompilierte Version ist alt und der aktuelle Code kompiliert nicht.
- gau (go): HTML spider, der externe Provider nutzt (wayback, otx, commoncrawl).
- ParamSpider: Dieses Skript findet URLs mit Parametern und listet sie auf.
- galer (go): HTML spider mit JS-Rendering-Fähigkeiten.
- LinkFinder (python): HTML spider mit JS-beautify-Fähigkeiten, fähig, neue Pfade in JS-Dateien zu suchen. Es kann sich lohnen, auch JSScanner anzusehen, welches ein Wrapper für LinkFinder ist.
- goLinkFinder (go): Extrahiert Endpoints sowohl aus HTML-Quelltext als auch aus eingebetteten JavaScript-Dateien. Nützlich für bug hunters, red teamer, infosec ninjas.
- JSParser (python2.7): Ein Python 2.7 Skript, das Tornado und JSBeautifier nutzt, um relative URLs aus JavaScript-Dateien zu parsen. Nützlich zum einfachen Entdecken von AJAX-Requests. Wirkt unmaintained.
- relative-url-extractor (ruby): Nimmt eine Datei (HTML) und extrahiert URLs mit einem schicken Regex, um relative URLs aus hässlichen (minified) Dateien zu finden und zu extrahieren.
- JSFScan (bash, mehrere Tools): Sammelt interessante Informationen aus JS-Dateien mithilfe verschiedener Tools.
- subjs (go): Findet JS-Dateien.
- page-fetch (go): Lädt eine Seite in einem headless Browser und gibt alle URLs aus, die zum Laden der Seite geladen werden.
- Feroxbuster (rust): Content-Discovery-Tool, das mehrere Optionen der vorherigen Tools kombiniert.
- Javascript Parsing: Eine Burp-Extension, um Pfade und Parameter in JS-Dateien zu finden.
- Sourcemapper: Ein Tool, das gegeben die .js.map URL den beautified JS-Code liefert.
- xnLinkFinder: Ein Tool, das zur Entdeckung von Endpoints für ein gegebenes Ziel benutzt wird.
- waymore: Entdeckt Links aus der Wayback Machine (lädt auch die Antworten aus Wayback herunter und sucht nach weiteren Links).
- HTTPLoot (go): Crawlt (auch durch Ausfüllen von Formularen) und findet zudem sensitive Informationen mithilfe spezifischer Regexes.
- SpiderSuite: Spider Suite ist ein fortgeschrittener Multi-Feature GUI Web Security Crawler/Spider, entwickelt für Cyber-Security-Profis.
- jsluice (go): Ein Go-Paket und command-line tool zum Extrahieren von URLs, Pfaden, Secrets und anderen interessanten Daten aus JavaScript-Quellcode.
- ParaForge: ParaForge ist eine einfache Burp Suite extension, um Parameter und Endpoints zu extrahieren aus Requests und daraus benutzerdefinierte Wordlists für Fuzzing und Enumeration zu erstellen.
- katana (go): Großartiges Tool für diesen Zweck.
- Crawley (go): Gibt jeden Link aus, den es finden kann.
Brute Force directories and files
Starte das brute-forcing vom Root-Verzeichnis und stelle sicher, dass alle gefundenen Verzeichnisse mit dieser Methode und alle Verzeichnisse, die durch das Spidering entdeckt wurden, brute-forced werden (du kannst dies rekursiv tun und die Namen der gefundenen Verzeichnisse am Anfang der verwendeten Wordlist anhängen).
Tools:
- Dirb / Dirbuster - In Kali enthalten, alt (und langsam), aber funktional. Unterstützt self-signed Zertifikate und rekursive Suche. Im Vergleich zu den anderen Optionen zu langsam.
- Dirsearch (python)**: Erlaubt keine self-signed Zertifikate, bietet aber rekursive Suche.
- Gobuster (go): Unterstützt self-signed Zertifikate, hat aber keine rekursive Suche.
- Feroxbuster - Schnell, unterstützt rekursive Suche.
- wfuzz
wfuzz -w /usr/share/seclists/Discovery/Web-Content/raft-medium-directories.txt https://domain.com/api/FUZZ - ffuf - Schnell:
ffuf -c -w /usr/share/wordlists/dirb/big.txt -u http://10.10.10.10/FUZZ - uro (python): Kein spider, aber ein Tool, das aus einer Liste gefundener URLs “duplizierte” URLs entfernt.
- Scavenger: Burp-Extension, um aus dem Burp-History verschiedener Seiten eine Liste von Verzeichnissen zu erstellen.
- TrashCompactor: Entfernt URLs mit doppelten Funktionalitäten (basierend auf JS-Imports).
- Chamaleon: Nutzt Wappalyzer, um verwendete Technologien zu erkennen und passende Wordlists auszuwählen.
Empfohlene Wörterbücher:
- https://github.com/carlospolop/Auto_Wordlists/blob/main/wordlists/bf_directories.txt
- Dirsearch included dictionary
- http://gist.github.com/jhaddix/b80ea67d85c13206125806f0828f4d10
- Assetnote wordlists
- 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/google/fuzzing/tree/master/dictionaries
- https://github.com/six2dez/OneListForAll
- https://github.com/random-robbie/bruteforce-lists
- https://github.com/ayoubfathi/leaky-paths
- /usr/share/wordlists/dirb/common.txt
- /usr/share/wordlists/dirb/big.txt
- /usr/share/wordlists/dirbuster/directory-list-2.3-medium.txt
Beachte, dass jedes Mal, wenn während des brute-forcing oder Spidering ein neues Verzeichnis entdeckt wird, dieses ebenfalls brute-forced werden sollte.
What to check on each file found
- Broken link checker: Findet broken Links innerhalb von HTMLs, die für Takeovers anfällig sein könnten.
- File Backups: Sobald du alle Dateien gefunden hast, suche nach Backups aller ausführbaren Dateien (“.php”, “.aspx” …). Häufige Varianten für Backup-Namen sind: file.ext~, #file.ext#, ~file.ext, file.ext.bak, file.ext.tmp, file.ext.old, file.bak, file.tmp und file.old. Du kannst auch die Tools bfac oder backup-gen** verwenden.**
- Discover new parameters: Du kannst Tools wie Arjun, parameth, x8 und Param Miner verwenden, um versteckte Parameter zu entdecken. Wenn möglich, solltest du versuchen, versteckte Parameter in jeder ausführbaren Web-Datei zu suchen.
- Arjun all default wordlists: https://github.com/s0md3v/Arjun/tree/master/arjun/db
- Param-miner “params” : https://github.com/PortSwigger/param-miner/blob/master/resources/params
- Assetnote “parameters_top_1m”: https://wordlists.assetnote.io/
- nullenc0de “params.txt”: https://gist.github.com/nullenc0de/9cb36260207924f8e1787279a05eb773
- Kommentare: Prüfe die Kommentare aller Dateien; dort können Credentials oder versteckte Funktionalität zu finden sein.
- Falls du in einem CTF spielst, ist ein häufiger Trick, Informationen in Kommentaren am rechten Rand der Seite zu verstecken (mithilfe hunderten von Leerzeichen, sodass du die Daten nicht siehst, wenn du den Quellcode im Browser öffnest). Eine andere Möglichkeit ist, mehrere neue Zeilen zu verwenden und Informationen in einem Kommentar am Seitenende zu verstecken.
- API keys: Falls du einen API key findest, gibt es mehrere Projekte, die zeigen, wie man API keys verschiedener Plattformen nutzt: keyhacks, zile, truffleHog, SecretFinder, RegHex, DumpsterDive, EarlyBird
- Google API keys: Wenn du einen API key findest, der wie AIzaSyA-qLheq6xjDiEIRisP_ujUseYLQCHUjik aussieht, kannst du das Projekt gmapapiscanner verwenden, um zu prüfen, auf welche APIs der Key zugreifen kann.
- S3 Buckets: Während des Spidering prüfe, ob eine Subdomain oder ein Link mit einem S3 bucket in Verbindung steht. In diesem Fall prüfe die Berechtigungen des Buckets.
Special findings
Während des Spidering und brute-forcing kannst du interessante Funde machen, auf die du achten musst.
Interessante Dateien
- Suche nach Links zu anderen Dateien innerhalb von CSS-Dateien.
- Wenn du eine .git-Datei findest, können einige Informationen extrahiert werden
- Wenn du eine .env findest, können Informationen wie API-Keys, DB-Passwörter und andere Daten enthalten sein.
- Wenn du API endpoints findest, solltest du diese ebenfalls testen. Diese sind keine Dateien, sehen ihnen aber oft ähnlich.
- JS files: In der Spidering-Sektion wurden mehrere Tools erwähnt, die Pfade aus JS-Dateien extrahieren können. Es wäre außerdem sinnvoll, jede gefundene JS-Datei zu überwachen, da eine Änderung manchmal darauf hinweist, dass eine potenzielle Verwundbarkeit in den Code eingeführt wurde. Du könntest beispielsweise JSMon** verwenden.**
- Du solltest gefundene JS-Dateien auch mit RetireJS oder JSHole prüfen, um herauszufinden, ob sie verwundbar sind.
- Javascript Deobfuscator and Unpacker: https://lelinhtinh.github.io/de4js/, https://www.dcode.fr/javascript-unobfuscator
- Javascript Beautifier: http://jsbeautifier.org/, http://jsnice.org/
- JsFuck deobfuscation (javascript with chars:“[]!+” https://enkhee-osiris.github.io/Decoder-JSFuck/)
- TrainFuck:
+72.+29.+7..+3.-67.-12.+55.+24.+3.-6.-8.-67.-23. - In vielen Fällen musst du die verwendeten regulären Ausdrücke verstehen. Hilfreich sind dazu: https://regex101.com/ oder https://pythonium.net/regex
- Du könntest außerdem die Dateien überwachen, in denen Formulare entdeckt wurden, da eine Änderung eines Parameters oder das Auftauchen eines neuen Formulars auf eine potenziell neue verwundbare Funktionalität hinweisen kann.
403 Forbidden/Basic Authentication/401 Unauthorized (bypass)
502 Proxy Error
Wenn eine Seite mit diesem Code antwortet, ist wahrscheinlich ein schlecht konfigurierter Proxy vorhanden. Wenn du eine HTTP-Anfrage wie: GET https://google.com HTTP/1.1 sendest (mit dem Host-Header und anderen üblichen Headern), wird der Proxy versuchen, auf google.com zuzugreifen und du hast möglicherweise eine SSRF gefunden.
NTLM Authentication - Info disclosure
Wenn der Server, der die Authentifizierung verlangt, Windows ist oder du ein Login findest, das nach deinen Credentials (und nach dem Domain-Namen) fragt, kannst du eine Informationsfreigabe provozieren.
Sende den Header: “Authorization: NTLM TlRMTVNTUAABAAAAB4IIAAAAAAAAAAAAAAAAAAAAAAA=” und aufgrund der Funktionsweise der NTLM authentication wird der Server interne Infos (IIS-Version, Windows-Version …) im Header “WWW-Authenticate” zurückgeben.
Du kannst dies mit dem nmap plugin “http-ntlm-info.nse” automatisieren.
HTTP Redirect (CTF)
Es ist möglich, Inhalt in eine Redirect zu legen. Dieser Inhalt wird dem Nutzer nicht angezeigt (da der Browser die Weiterleitung ausführt), aber es könnte dort etwas versteckt sein.
Web Vulnerabilities Checking
Nachdem eine umfassende Enumeration der Webanwendung durchgeführt wurde, ist es Zeit, viele mögliche Schwachstellen zu prüfen. Die Checkliste findest du hier:
Web Vulnerabilities Methodology
Weitere Infos zu Web-Vulnerabilities:
- 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://owasp-skf.gitbook.io/asvs-write-ups/kbid-111-client-side-template-injection
Monitor Pages for changes
Du kannst Tools wie https://github.com/dgtlmoon/changedetection.io verwenden, um Seiten auf Änderungen zu überwachen, die möglicherweise Verwundbarkeiten einführen.
HackTricks Automatic Commands
HackTricks Automatic Commands
```yaml 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 outEntry_1: Name: Notes Description: Notes for Web Note: | https://book.hacktricks.wiki/en/network-services-pentesting/pentesting-web/index.html
Entry_2: 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}
Entry_3: Name: Nikto Description: Basic Site Info via Nikto Command: nikto -host {Web_Proto}://{IP}:{Web_Port}
Entry_4: Name: WhatWeb Description: General purpose auto scanner Command: whatweb -a 4 {IP}
Entry_5: Name: Directory Brute Force Non-Recursive Description: Non-Recursive Directory Brute Force Command: gobuster dir -w {Big_Dirlist} -u {Web_Proto}://{IP}:{Web_Port}
Entry_6: 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
Entry_7: 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
Entry_8:
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}
Entry_9: 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
Entry_10: 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
Entry_11: 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: 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}
</details>
> [!TIP]
> Lernen & üben Sie AWS Hacking:<img src="../../../../../images/arte.png" alt="" style="width:auto;height:24px;vertical-align:middle;">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="../../../../../images/arte.png" alt="" style="width:auto;height:24px;vertical-align:middle;">\
> Lernen & üben Sie GCP Hacking: <img src="../../../../../images/grte.png" alt="" style="width:auto;height:24px;vertical-align:middle;">[**HackTricks Training GCP Red Team Expert (GRTE)**](https://training.hacktricks.xyz/courses/grte)<img src="../../../../../images/grte.png" alt="" style="width:auto;height:24px;vertical-align:middle;">
> Lernen & üben Sie Azure Hacking: <img src="../../../../../images/azrte.png" alt="" style="width:auto;height:24px;vertical-align:middle;">[**HackTricks Training Azure Red Team Expert (AzRTE)**](https://training.hacktricks.xyz/courses/azrte)<img src="../../../../../images/azrte.png" alt="" style="width:auto;height:24px;vertical-align:middle;">
>
> <details>
>
> <summary>Unterstützen Sie HackTricks</summary>
>
> - Überprüfen Sie die [**Abonnementpläne**](https://github.com/sponsors/carlospolop)!
> - **Treten Sie der** 💬 [**Discord-Gruppe**](https://discord.gg/hRep4RUj7f) oder der [**Telegram-Gruppe**](https://t.me/peass) bei oder **folgen** Sie uns auf **Twitter** 🐦 [**@hacktricks_live**](https://twitter.com/hacktricks_live)**.**
> - **Teilen Sie Hacking-Tricks, indem Sie PRs an die** [**HackTricks**](https://github.com/carlospolop/hacktricks) und [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) GitHub-Repos senden.
>
> </details>
HackTricks

