80,443 - Metodologia Pentesting Web
Tip
Ucz się i ćwicz Hacking AWS:
HackTricks Training AWS Red Team Expert (ARTE)
Ucz się i ćwicz Hacking GCP:HackTricks Training GCP Red Team Expert (GRTE)
Ucz się i ćwicz Hacking Azure:
HackTricks Training Azure Red Team Expert (AzRTE)
Wsparcie dla HackTricks
- Sprawdź plany subskrypcyjne!
- Dołącz do 💬 grupy Discord lub grupy telegramowej lub śledź nas na Twitterze 🐦 @hacktricks_live.
- Dziel się trikami hackingowymi, przesyłając PR-y do HackTricks i HackTricks Cloud repozytoriów na githubie.
Podstawowe informacje
Usługa webowa jest najbardziej powszechną i rozległą usługą i istnieje wiele różnych typów podatności.
Domyślny port: 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
Wytyczne dotyczące Web API
Podsumowanie metodologii
W tej metodologii zakładamy, że będziesz atakować jedną domenę (lub subdomenę) i tylko ją. Zastosuj tę metodologię do każdej odkrytej domeny, subdomeny lub IP z nierozpoznanym web serverem w zakresie.
- Zacznij od identyfikacji technologii używanych przez web server. Szukaj trików, o których warto pamiętać podczas reszty testu, jeśli uda Ci się zidentyfikować tech.
- Czy istnieje jakaś znana podatność dla wersji tej technologii?
- Używana jest jakaś well known tech? Jakiś useful trick żeby wydobyć więcej informacji?
- Czy istnieje jakiś specialised scanner do uruchomienia (np. wpscan)?
- Uruchom general purposes scanners. Nigdy nie wiadomo, czy znajdą coś ciekawego lub przydatnego.
- Zacznij od initial checks: robots, sitemap, 404 error i SSL/TLS scan (jeśli HTTPS).
- Zacznij spidering strony: czas znaleźć wszystkie możliwe pliki, foldery i parametry będące używane. Sprawdź też special findings.
- Zauważ, że za każdym razem, gdy podczas brute-forcingu lub spideringu odkryjesz nowy katalog, powinien on zostać zspiderowany.
- Directory Brute-Forcing: Spróbuj brute-forcować wszystkie odkryte foldery w poszukiwaniu nowych plików i katalogów.
- Zauważ, że za każdym razem, gdy podczas brute-forcingu lub spideringu odkryjesz nowy katalog, powinien on zostać Brute-Forced.
- Backups checking: Sprawdź, czy możesz znaleźć backupy odkrytych plików, dopisując popularne rozszerzenia kopii zapasowych.
- Brute-Force parameters: Spróbuj znaleźć ukryte parametry.
- Gdy zidentyfikujesz wszystkie możliwe endpoints akceptujące user input, sprawdź wszystkie rodzaje vulnerabilities z nimi związane.
- Follow this checklist
Server Version (Vulnerable?)
Identyfikacja
Sprawdź, czy istnieją znane podatności dla wersji serwera, która działa.
Nagłówki HTTP i cookies odpowiedzi mogą być bardzo przydatne do identyfikacji używanych technologii i/lub wersji. Nmap scan może zidentyfikować wersję serwera, ale przydatne mogą być też narzędzia whatweb, webtech lub https://builtwith.com/:
whatweb -a 1 <URL> #Stealthy
whatweb -a 3 <URL> #Aggresive
webtech -u <URL>
webanalyze -host https://google.com -crawl 2
Search for vulnerabilities of the web application version
Sprawdź, czy jest WAF
- https://github.com/EnableSecurity/wafw00f
- https://github.com/Ekultek/WhatWaf.git
- https://nmap.org/nsedoc/scripts/http-waf-detect.html
Triki dotyczące technologii web
Kilka tricks do finding vulnerabilities w różnych dobrze znanych technologies używanych:
- 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
Pamiętaj, że ta same domain może używać different technologies na różnych ports, folders i subdomains.
Jeśli aplikacja webowa korzysta z którejkolwiek z wcześniej wymienionych well known tech/platform lub jakiejkolwiek innej, nie zapomnij wyszukać w Internecie nowych trików (i daj mi znać!).
Przegląd kodu źródłowego
Jeśli source code aplikacji jest dostępny w github, oprócz przeprowadzenia przez Ciebie White box test aplikacji istnieją pewne informacje, które mogą być useful dla bieżącego Black-Box testing:
- Czy istnieje plik Change-log lub Readme lub Version albo jakikolwiek plik z informacją o wersji dostępną przez web?
- Jak i gdzie są zapisywane credentials? Czy istnieje jakiś (dostępny?) file z credentials (usernames lub passwords)?
- Czy passwords są w plain text, encrypted czy jaki hashing algorithm jest używany?
- Czy używa jakiegokolwiek master key do szyfrowania czegoś? Jaki algorithm jest używany?
- Czy możesz uzyskać dostęp do któregokolwiek z tych plików wykorzystując jakąś vulnerability?
- Czy w github znajdują się jakieś interesujące informacje (rozwiązane i nierozwiązane) w issues? Albo w commit history (może jakieś password introduced inside an old commit)?
Source code Review / SAST Tools
Automatyczne skanery
Skanery automatyczne ogólnego przeznaczenia
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"
Skanery CMS
Jeśli używany jest CMS, nie zapomnij uruchomić skanera, możesz znaleźć coś ciekawego:
Clusterd: JBoss, ColdFusion, WebLogic, Tomcat, Railo, Axis2, Glassfish
CMSScan: WordPress, Drupal, Joomla, vBulletin strony pod kątem problemów bezpieczeństwa. (GUI)
VulnX: Joomla, Wordpress, Drupal, PrestaShop, Opencart
CMSMap: (W)ordpress, (J)oomla, (D)rupal lub (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
Na tym etapie powinieneś już mieć pewne informacje o serwerze WWW używanym przez klienta (jeśli podano jakieś dane) oraz kilka trików, o których warto pamiętać podczas testu. Jeśli masz szczęście, znalazłeś nawet CMS i uruchomiłeś jakiś skaner.
Step-by-step Web Application Discovery
Od tego momentu zaczniemy wchodzić w interakcję z aplikacją webową.
Initial checks
Default pages with interesting info:
- /robots.txt
- /sitemap.xml
- /crossdomain.xml
- /clientaccesspolicy.xml
- /.well-known/
- Check also comments in the main and secondary pages.
Forcing errors
Serwery WWW mogą zachowywać się nieoczekiwanie, gdy wysyłane są do nich nietypowe dane. Może to otworzyć vulnerabilities lub spowodować disclosure of sensitive information.
- Access fake pages like /whatever_fake.php (.aspx,.html,.etc)
- Add “[]”, “]]”, and “[[” in cookie values and parameter values to create errors
- Generate error by giving input as
/~randomthing/%sat the end of URL - Try different HTTP Verbs like PATCH, DEBUG or wrong like FAKE
Check if you can upload files (PUT verb, WebDav)
If you find that WebDav is enabled but you don’t have enough permissions for uploading files in the root folder try to:
- Brute Force credentials
- Upload files via WebDav to the rest of found folders inside the web page. You may have permissions to upload files in other folders.
SSL/TLS podatności
- Jeśli aplikacja nie wymusza korzystania z HTTPS w żadnej części, to jest podatna na MitM
- Jeśli aplikacja wysyła dane wrażliwe (hasła) przez HTTP, to jest to poważna podatność.
Use testssl.sh to checks for vulnerabilities (In Bug Bounty programs probably these kind of vulnerabilities won’t be accepted) and use a2sv to recheck the vulnerabilities:
./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>
Informacje o podatnościach SSL/TLS:
- https://www.gracefulsecurity.com/tls-ssl-vulnerabilities/
- https://www.acunetix.com/blog/articles/tls-vulnerabilities-attacks-final-part/
Spidering
Uruchom jakiegoś rodzaju spider w obrębie aplikacji webowej. Celem spidera jest znaleźć jak najwięcej ścieżek w testowanej aplikacji. W związku z tym web crawling i źródła zewnętrzne powinny być użyte do odnalezienia jak największej liczby prawidłowych ścieżek.
- gospider (go): HTML spider, LinkFinder w plikach JS oraz źródła zewnętrzne (Archive.org, CommonCrawl.org, VirusTotal.com).
- hakrawler (go): HML spider, z LinkFider dla plików JS i Archive.org jako źródło zewnętrzne.
- dirhunt (python): HTML spider, wskazuje również “juicy files”.
- evine (go): Interaktywny CLI HTML spider. Przeszukuje także Archive.org
- meg (go): To narzędzie nie jest spiderem, ale może być przydatne. Możesz podać plik z hostami i plik ze ścieżkami, a meg pobierze każdą ścieżkę na każdym hoście i zapisze odpowiedź.
- urlgrab (go): HTML spider z możliwością renderowania JS. Wygląda jednak na nieutrzymywane, prekompilowana wersja jest stara, a aktualny kod nie kompiluje się.
- gau (go): HTML spider, który używa dostawców zewnętrznych (wayback, otx, commoncrawl)
- ParamSpider: Ten skrypt znajdzie URL-e z parametrami i je wypisze.
- galer (go): HTML spider z możliwością renderowania JS.
- LinkFinder (python): HTML spider z możliwościami beautify JS, potrafi wyszukać nowe ścieżki w plikach JS. Warto też zerknąć na JSScanner, który jest wrapperem LinkFinder.
- goLinkFinder (go): Do wyciągania endpointów zarówno z kodu HTML jak i osadzonych plików javascript. Przydatne dla bug hunterów, red teamerów, infosec ninja.
- JSParser (python2.7): Skrypt w pythonie 2.7 używający Tornado i JSBeautifier do parsowania względnych URL-i z plików JavaScript. Przydatne do łatwego odkrywania żądań AJAX. Wygląda na nieutrzymany.
- relative-url-extractor (ruby): Dla podanego pliku (HTML) wyciąga URL-e używając sprytnych wyrażeń regularnych do znalezienia i wyciągnięcia względnych URL-i z “brzydkich” (minified) plików.
- JSFScan (bash, several tools): Zbiera interesujące informacje z plików JS używając kilku narzędzi.
- subjs (go): Znajduje pliki JS.
- page-fetch (go): Ładuje stronę w headless browser i wypisuje wszystkie URL-e załadowane podczas ładowania strony.
- Feroxbuster (rust): Narzędzie do odkrywania treści łączące kilka opcji z poprzednich narzędzi.
- Javascript Parsing: Rozszerzenie Burp do znajdowania ścieżek i parametrów w plikach JS.
- Sourcemapper: Narzędzie, które podając URL do .js.map pobierze dla Ciebie beautified kod JS.
- xnLinkFinder: Narzędzie służące do odkrywania endpointów dla danego targetu.
- waymore: Odkrywa linki z wayback machine (również pobierając odpowiedzi z wayback i szukając w nich kolejnych linków)
- HTTPLoot (go): Crawl (nawet przez wypełnianie formularzy) i także znajduje wrażliwe info używając specyficznych regexów.
- SpiderSuite: Spider Suite to zaawansowany, wielofunkcyjny GUI web security Crawler/Spider zaprojektowany dla profesjonalistów cyberbezpieczeństwa.
- jsluice (go): Pakiet Go i command-line tool do ekstrakcji URL-i, ścieżek, sekretów i innych interesujących danych z kodu źródłowego JavaScript.
- ParaForge: ParaForge to proste Burp Suite extension do ekstrakcji parametrów i endpointów z requestów, by tworzyć custom wordlisty do fuzzingu i enumeracji.
- katana (go): Świetne narzędzie do tego.
- Crawley (go): Wypisuje każdy link, który potrafi znaleźć.
Brute Force directories and files
Zacznij brute-forcing od folderu root i upewnij się, że bruteforcisz wszystkie znalezione katalogi używając tej metody oraz wszystkie katalogi odkryte przez Spidering (możesz robić to rekursywnie i dopisywać na początku użytej wordlisty nazwy znalezionych katalogów).
Narzędzia:
- Dirb / Dirbuster - Dołączone do Kali, stare (i wolne) lecz funkcjonalne. Pozwalają na zaakceptowanie self-signed certyfikatów i wyszukiwanie rekursywne. Zbyt wolne w porównaniu z innymi opcjami.
- Dirsearch (python): Nie pozwala na self-signed certyfikaty, ale umożliwia wyszukiwanie rekursywne.
- Gobuster (go): Pozwala na self-signed certyfikaty, nie ma jednak wyszukiwania rekursywnego.
- Feroxbuster - Fast, supports recursive search.
- wfuzz
wfuzz -w /usr/share/seclists/Discovery/Web-Content/raft-medium-directories.txt https://domain.com/api/FUZZ - ffuf - Fast:
ffuf -c -w /usr/share/wordlists/dirb/big.txt -u http://10.10.10.10/FUZZ - uro (python): To nie jest spider, ale narzędzie, które biorąc listę znalezionych URL-i usunie “zduplikowane” URL-e.
- Scavenger: Burp Extension do tworzenia listy katalogów z historii Burp dla różnych stron.
- TrashCompactor: Usuwa URL-e o zduplikowanej funkcjonalności (bazując na importach js).
- Chamaleon: Używa wapalyzer do wykrywania użytych technologii i wyboru odpowiednich wordlistów.
Zalecane słowniki:
- 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
Zauważ, że za każdym razem gdy podczas brute-forcingu lub spideringu zostanie odkryty nowy katalog, powinien on zostać Brute-Forced.
What to check on each file found
- Broken link checker: Znajdź broken linki w HTML-ach, które mogą być podatne na takeovery
- File Backups: Gdy znajdziesz wszystkie pliki, szukaj backupów wszystkich plików wykonywalnych (“.php”, “.aspx”…). Typowe warianty nazewnictwa backupu to: file.ext~, #file.ext#, ~file.ext, file.ext.bak, file.ext.tmp, file.ext.old, file.bak, file.tmp oraz file.old. Możesz też użyć narzędzia bfac lub backup-gen.
- Discover new parameters: Możesz użyć narzędzi takich jak Arjun, parameth, x8 oraz Param Miner do odkrywania ukrytych parametrów. Jeśli to możliwe, spróbuj wyszukać ukryte parametry w każdym wykonywalnym pliku webowym.
- 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
- Comments: Sprawdź komentarze we wszystkich plikach — możesz znaleźć w nich credentials lub ukrytą funkcjonalność.
- Jeśli grasz w CTF, “typowym” trikiem jest ukrycie informacji w komentarzach po prawej stronie strony (używając setek spacji, żeby nie było widać danych, gdy otworzysz źródło w przeglądarce). Inną możliwością jest użycie wielu nowych linii i ukrycie informacji w komentarzu na dole strony.
- API keys: Jeśli znajdziesz jakikolwiek API key, istnieją przewodniki pokazujące jak używać API keys dla różnych platform: keyhacks, zile, truffleHog, SecretFinder, RegHex, DumpsterDive, EarlyBird
- Google API keys: Jeśli znajdziesz API key wyglądający jak AIzaSyA-qLheq6xjDiEIRisP_ujUseYLQCHUjik możesz użyć projektu gmapapiscanner aby sprawdzić, do których API klucz ma dostęp.
- S3 Buckets: Podczas spideringu sprawdź, czy jakiś subdomain lub link nie odnosi się do S3 bucketu. W takim przypadku sprawdź uprawnienia bucketu.
Special findings
Podczas spideringu i brute-forcingu możesz natrafić na interesujące znaleziska, o których musisz poinformować.
Interesting files
- Szukaj linków do innych plików wewnątrz CSS.
- Jeśli znajdziesz .git, można z niego wyciągnąć pewne informacje
- Jeśli znajdziesz .env, można znaleźć informacje takie jak api keys, hasła do DB i inne dane.
- Jeśli znajdziesz API endpoints powinieneś je też przetestować. To nie są pliki, ale często “wyglądają” jak pliki.
- JS files: W sekcji spideringu wymieniono kilka narzędzi potrafiących wyciągać ścieżki z plików JS. Warto także monitorować każdy znaleziony plik JS, ponieważ w niektórych przypadkach zmiana może wskazywać, że wprowadzono potencjalnie podatną funkcjonalność. Możesz użyć np. JSMon.
- Powinieneś też sprawdzić znalezione pliki JS z RetireJS lub JSHole aby sprawdzić, czy są podatne.
- 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 z znakami:“[]!+” https://enkhee-osiris.github.io/Decoder-JSFuck/)
- TrainFuck:
+72.+29.+7..+3.-67.-12.+55.+24.+3.-6.-8.-67.-23. - W wielu przypadkach będziesz musiał zrozumieć wyrażenia regularne używane w kodzie. Przydatne będą: https://regex101.com/ lub https://pythonium.net/regex
- Możesz także monitorować pliki, w których wykryto formularze, ponieważ zmiana parametrów lub pojawienie się nowego formularza może wskazywać na nową potencjalnie podatną funkcjonalność.
403 Forbidden/Basic Authentication/401 Unauthorized (bypass)
502 Proxy Error
Jeśli jakaś strona odpowiada tym kodem, prawdopodobnie to źle skonfigurowany proxy. Jeśli wyślesz żądanie HTTP takie jak: GET https://google.com HTTP/1.1 (z host headerem i innymi typowymi nagłówkami), proxy spróbuje uzyskać dostęp do google.com i w ten sposób możesz znaleźć SSRF.
NTLM Authentication - Info disclosure
Jeśli serwer żądający uwierzytelnienia działa na Windows lub znajdziesz stronę logowania żądającą Twoich credentials (i nazwy domeny), możesz spowodować wyciek informacji.
Wyślij nagłówek: “Authorization: NTLM TlRMTVNTUAABAAAAB4IIAAAAAAAAAAAAAAAAAAAAAAA=” i z powodu działania NTLM authentication, serwer odpowie wewnętrznymi informacjami (wersja IIS, wersja Windows…) w nagłówku “WWW-Authenticate”.
Możesz to zautomatyzować używając nmap pluginu “http-ntlm-info.nse”.
HTTP Redirect (CTF)
Możliwe jest umieszczenie treści wewnątrz redirection. Ta treść nie będzie widoczna dla użytkownika (ponieważ przeglądarka wykona przekierowanie), ale coś może być w ten sposób ukryte.
Web Vulnerabilities Checking
Po przeprowadzeniu kompleksowej enumeracji aplikacji webowej czas sprawdzić wiele możliwych podatności. Checklistę znajdziesz tutaj:
Web Vulnerabilities Methodology
Więcej informacji o web vulns znajdziesz w:
- 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
Możesz użyć narzędzi takich jak https://github.com/dgtlmoon/changedetection.io do monitorowania stron pod kątem modyfikacji, które mogłyby wprowadzić podatności.
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]
> Ucz się i ćwicz Hacking AWS:<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;">\
> Ucz się i ćwicz Hacking GCP: <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;">
> Ucz się i ćwicz Hacking Azure: <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>Wsparcie dla HackTricks</summary>
>
> - Sprawdź [**plany subskrypcyjne**](https://github.com/sponsors/carlospolop)!
> - **Dołącz do** 💬 [**grupy Discord**](https://discord.gg/hRep4RUj7f) lub [**grupy telegramowej**](https://t.me/peass) lub **śledź** nas na **Twitterze** 🐦 [**@hacktricks_live**](https://twitter.com/hacktricks_live)**.**
> - **Dziel się trikami hackingowymi, przesyłając PR-y do** [**HackTricks**](https://github.com/carlospolop/hacktricks) i [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) repozytoriów na githubie.
>
> </details>
HackTricks

