80,443 - Pentesting Web Methodology
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
Serwis webowy jest najbardziej powszechną i rozległą usługą i istnieje wiele różnych rodzajó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 założymy, że będziesz atakować tylko jeden domain (lub subdomain). Powinieneś więc stosować tę metodologię do każdego odkrytego domain, subdomain lub IP z nierozpoznanym serwerem WWW objętego zakresem.
- Zacznij od zidentyfikowania technologii używanych przez serwer WWW. Jeśli uda Ci się zidentyfikować tech, zwróć uwagę na tricks, które mogą być przydatne w dalszej części testu.
- Czy istnieje jakaś znana podatność dla wersji danej technologii?
- Czy używana jest jakaś well known tech? Czy istnieje jakiś useful trick pozwalający wydobyć więcej informacji?
- Czy istnieje jakiś specialised scanner do uruchomienia (np. wpscan)?
- Uruchom general purposes scanners. Nigdy nie wiesz, czy znajdą coś lub czy nie odkryją ciekawych informacji.
- Rozpocznij od initial checks: robots, sitemap, 404 error oraz SSL/TLS scan (if HTTPS).
- Zacznij spidering strony: czas, aby znaleźć wszystkie możliwe pliki, foldery i używane parametry. Sprawdź także występowanie special findings.
- Note that anytime a new directory is discovered during brute-forcing or spidering, it should be spidered.
- Directory Brute-Forcing: Spróbuj brute-forcować wszystkie odkryte foldery, szukając nowych files i directories.
- Note that anytime a new directory is discovered during brute-forcing or spidering, it should be Brute-Forced.
- Backups checking: Sprawdź, czy możesz znaleźć backups discovered files dopisując popularne rozszerzenia backupów.
- 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 jest uruchomiona.
HTTP headers and cookies of the response mogą być bardzo przydatne do identify używanych technologii i/lub wersji. Nmap scan może zidentyfikować wersję serwera, ale przydatne mogą być też narzędzia whatweb, webtech or https://builtwith.com/:
whatweb -a 1 <URL> #Stealthy
whatweb -a 3 <URL> #Aggresive
webtech -u <URL>
webanalyze -host https://google.com -crawl 2
Szukaj luk w wersji aplikacji webowej
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 technologii webowych
Kilka sztuczek do znajdowania podatności w różnych dobrze znanych technologiach używanych:
- AEM - Adobe Experience Cloud
- Apache
- Artifactory
- Buckets
- CGI
- Custom UDP RPC Protocols
- Dotnet SOAP WSDL client exploitation
- 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
Weź pod uwagę, że ta sama domena może używać różnych technologii na różnych portach, folderach i subdomenach.
Jeżeli aplikacja webowa używa którejkolwiek z wcześniej wymienionych dobrze znanych tech/platform lub jakiejkolwiek innej, nie zapomnij wyszukać w Internecie nowych trików (i daj mi znać!).
Source Code Review
Jeśli kod źródłowy aplikacji jest dostępny w github, oprócz przeprowadzenia przez Ciebie testu typu White box aplikacji istnieją pewne informacje, które mogą być przydatne dla aktualnego Black-Box testing:
- Czy istnieje plik Change-log, Readme lub Version albo cokolwiek z informacją o wersji dostępną przez web?
- Jak i gdzie przechowywane są credentials? Czy istnieje jakiś (dostępny?) plik z poświadczeniami (nazwy użytkowników lub hasła)?
- Czy hasła są w plain text, zaszyfrowane czy jaki algorytm haszujący jest używany?
- Czy używa jakiegoś master key do szyfrowania czegoś? Jaki algorytm jest używany?
- Czy możesz uzyskać dostęp do któregokolwiek z tych plików wykorzystując jakąś podatność?
- Czy są jakieś interesujące informacje na githubie (rozwiązane i nierozwiązane) issues? Albo w commit history (może jakieś hasło wprowadzone w starym commicie)?
Source code Review / SAST Tools
Automatic scanners
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że uda się znaleźć coś ciekawego:
Clusterd: JBoss, ColdFusion, WebLogic, Tomcat, Railo, Axis2, Glassfish
CMSScan: WordPress, Drupal, Joomla, vBulletin websites for Security issues. (GUI)
VulnX: Joomla, Wordpress, Drupal, PrestaShop, Opencart
CMSMap: (W)ordpress, (J)oomla, (D)rupal or (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 jakiekolwiek dane) oraz kilka sztuczek do zapamiętania podczas testu. Jeśli masz szczęście, znalazłeś nawet CMS i uruchomiłeś jakiś scanner.
Krok po kroku odkrywanie aplikacji webowej
Od tego momentu zaczniemy wchodzić w interakcję z aplikacją webową.
Sprawdzenia początkowe
Domyślne strony z interesującymi informacjami:
- /robots.txt
- /sitemap.xml
- /crossdomain.xml
- /clientaccesspolicy.xml
- /.well-known/
- Sprawdź także komentarze na stronach głównych i pomocniczych.
Wymuszanie błędów
Serwery WWW mogą zachowywać się nieoczekiwanie, gdy wysyłane są do nich dziwne dane. Może to otworzyć vulnerabilities lub ujawnić wrażliwe informacje.
- Dostęp do fałszywych stron takich jak /whatever_fake.php (.aspx,.html,.etc)
- Dodaj “[]”, “]]” i “[[” w wartościach cookie i wartościach parametrów aby wywołać błędy
- Wygeneruj błąd, podając input jako
/~randomthing/%sna końcu URL - Spróbuj different HTTP Verbs takich jak PATCH, DEBUG lub błędnych jak FAKE
Sprawdź, czy możesz przesyłać pliki (PUT verb, WebDav)
Jeśli stwierdzisz, że WebDav jest włączony, ale nie masz wystarczających uprawnień do przesyłania plików w katalogu głównym, spróbuj:
- Brute Force poświadczeń
- Prześlij pliki przez WebDav do pozostałych znalezionych folderów w obrębie strony. Możesz mieć uprawnienia do przesyłania plików w innych folderach.
SSL/TLS vulnerabilites
- Jeśli aplikacja nie wymusza używania HTTPS w żadnej części, to jest vulnerable to MitM
- Jeśli aplikacja wysyła wrażliwe dane (hasła) używając HTTP. To jest wysoka vulnerability.
Użyj testssl.sh aby sprawdzić vulnerabilities (w programach Bug Bounty prawdopodobnie tego typu vulnerabilities nie będą akceptowane) i użyj 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>
Information about SSL/TLS vulnerabilities:
- https://www.gracefulsecurity.com/tls-ssl-vulnerabilities/
- https://www.acunetix.com/blog/articles/tls-vulnerabilities-attacks-final-part/
Spidering
Uruchom jakiś rodzaj spider w obrębie aplikacji webowej. Celem spidera jest znalezienie jak największej liczby ścieżek w testowanej aplikacji. Dlatego należy użyć web crawlingu oraz źródeł zewnętrznych, aby znaleźć jak najwięcej prawidłowych ścieżek.
- gospider (go): HTML spider, LinkFinder w plikach JS i źródłach zewnętrznych (Archive.org, CommonCrawl.org, VirusTotal.com).
- hakrawler (go): HML spider, z LinkFinder dla plików JS i Archive.org jako źródłem zewnętrznym.
- dirhunt (python): HTML spider, dodatkowo wskazuje „juicy files”.
- evine (go): Interaktywny CLI HTML spider. Przeszukuje też Archive.org
- meg (go): To narzędzie nie jest spiderem, ale może być przydatne. Możesz wskazać plik z hostami i plik ze ścieżkami, a meg pobierze każdą ścieżkę dla każdego hosta i zapisze odpowiedź.
- urlgrab (go): HTML spider z możliwością renderowania JS. Wygląda jednak na nieutrzymywany, prekompilowana wersja jest stara, a obecny kod nie kompiluje się.
- gau (go): HTML spider korzystający z zewnętrznych dostawców (wayback, otx, commoncrawl)
- ParamSpider: Skrypt znajdzie URL-e z parametrami i je wypisze.
- galer (go): HTML spider z możliwością renderowania JS.
- LinkFinder (python): HTML spider z funkcjami beautify dla JS, potrafi wyszukiwać nowe ścieżki w plikach JS. Warto też zerknąć na JSScanner, który jest wrapperem LinkFinder.
- goLinkFinder (go): Do ekstrahowania endpointów zarówno z HTML, jak i osadzonego JavaScriptu. Przydatne dla bug hunterów, red teamów i 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 odkrywania żądań AJAX. Wygląda na nieutrzymywany.
- relative-url-extractor (ruby): Dając mu plik (HTML) wyciągnie URL-e używając sprytnego regexu do znalezienia i ekstrakcji 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 przy renderowaniu strony.
- Feroxbuster (rust): Narzędzie do discovery treści łączące kilka opcji z wcześniejszych narzędzi.
- Javascript Parsing: Rozszerzenie Burp do znajdowania ścieżek i parametrów w plikach JS.
- BurpJSLinkFinder Enhanced: Rozszerzenie Burp (Jython), które pasywnie analizuje odpowiedzi JavaScript (po MIME type i ścieżkach
/js) w celu ekstrakcji endpointów/linków i opcjonalnego oznaczania osadzonych sekretów z określoną wagą. - Sourcemapper: Narzędzie, które podając URL do .js.map zwróci beatified kod JS.
- xnLinkFinder: Narzędzie używane do odkrywania endpointów dla danego targetu.
- waymore: Odkrywa linki z wayback machine (również pobierając odpowiedzi z wayback i szukając kolejnych linków).
- HTTPLoot (go): Crawl (nawet przez wypełnianie formularzy) i wyszukiwanie też wrażliwych informacji za pomocą specyficznych regexów.
- SpiderSuite: Spider Suite to zaawansowany, wielofunkcyjny GUI web security Crawler/Spider zaprojektowany dla specjalistów ds. cyberbezpieczeństwa.
- jsluice (go): Pakiet Go oraz narzędzie wiersza poleceń 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 żądań, by stworzyć custom wordlist do fuzzingu i enumeracji.
- katana (go): Świetne narzędzie do tego.
- Crawley (go): Wypisuje każdy link, który uda mu się znaleźć.
Brute Force directories and files
Start brute-forcing from the root folder and be sure to brute-force all the directories found using this method and all the directories discovered by the Spidering (you can do this brute-forcing recursively and appending at the beginning of the used wordlist the names of the found directories).
Narzędzia:
- Dirb / Dirbuster - Dołączone w Kali, stare (i wolne) ale działające. Pozwalają na auto-signed certificates i rekursywne przeszukiwanie. Zbyt wolne w porównaniu z innymi opcjami.
- Dirsearch (python): Nie pozwala na auto-signed certificates, ale umożliwia rekursywne przeszukiwanie.
- Gobuster (go): Pozwala na auto-signed certificates, nie ma jednak rekursywnego trybu.
- 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 na podstawie listy znalezionych URL-i usunie „zdublowane” URL-e.
- Scavenger: Burp Extension do tworzenia listy katalogów na podstawie historii Burp różnych stron.
- TrashCompactor: Usuwa URL-e z zduplikowaną funkcjonalnością (bazując na importach js).
- Chamaleon: Używa Wappalyzer do wykrywania użytych technologii i doboru wordlistów.
Recommended dictionaries:
- 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
Pamiętaj, że za każdym razem gdy zostanie odkryty nowy katalog podczas brute-forcingu lub spideringu, powinien on zostać poddany Brute-Forcingowi.
What to check on each file found
- Broken link checker: Znajdź broken links w HTML-ach, które mogą być podatne na takeovery.
- File Backups: Gdy znajdziesz wszystkie pliki, szukaj kopii zapasowych 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 and 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 or Param Miner by odkryć ukryte parametry. Jeśli możesz, spróbuj znaleźć 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, „powszechnym” trikiem jest ukrycie informacji w komentarzach po prawej stronie strony (używając setek spacji, żeby nie było widać danych przy przeglądaniu źródła 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ą projekty pokazujące jak wykorzystać klucze API różnych platform: keyhacks, zile, truffleHog, SecretFinder, RegHex, DumpsterDive, EarlyBird
- Google API keys: Jeśli znajdziesz klucz API 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 wskazuje na S3 bucket. W takim przypadku sprawdź uprawnienia bucketu.
Special findings
Podczas wykonywania spideringu i brute-forcingu możesz natrafić na interesujące znaleziska, które trzeba odnotować.
Interesting files
- Szukaj linków do innych plików w plikach CSS.
- If you find a .git file some information can be extracted
- Jeśli znajdziesz plik .env, można w nim znaleźć informacje takie jak API keys, hasła do DB i inne dane.
- Jeśli znajdziesz API endpoints, powinieneś je również przetestować. To nie są pliki, ale często „wyglądają” jak pliki.
- JS files: W sekcji spideringu wymieniono kilka narzędzi, które potrafią ekstrahować ścieżki z plików JS. Warto też monitorować każdy znaleziony plik JS, ponieważ w niektórych przypadkach zmiana może oznaczać, że w kodzie pojawiła się potencjalna podatność. Możesz użyć np. JSMon.
- Powinieneś także sprawdzić znalezione pliki JS przy pomocy RetireJS lub JSHole by 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 with chars:“[]!+” https://enkhee-osiris.github.io/Decoder-JSFuck/)
- TrainFuck:
+72.+29.+7..+3.-67.-12.+55.+24.+3.-6.-8.-67.-23. - W wielu przypadkach trzeba będzie zrozumieć wyrażenia regularne użyte w kodzie. Przydatne: https://regex101.com/ lub https://pythonium.net/regex
- Możesz także monitorować pliki, w których wykryto formularze, ponieważ zmiana parametru 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 jakakolwiek strona odpowiada tym kodem, to prawdopodobnie jest to źle skonfigurowany proxy. Jeśli wyślesz żądanie HTTP takie jak: GET https://google.com HTTP/1.1 (z nagłówkiem Host i innymi typowymi nagłówkami), proxy spróbuje uzyskać dostęp do google.com i w ten sposób znajdziesz SSRF.
NTLM Authentication - Info disclosure
Jeśli serwer żądający uwierzytelnienia to Windows lub znajdziesz login proszący o Twoje credentials (i proszący o domain name), możesz wywołać information disclosure.
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 (przeglądarka wykona przekierowanie), ale coś może być ukryte w środku.
Web Vulnerabilities Checking
Teraz, gdy przeprowadzono kompleksową enumerację 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ą wprowadzić podatności.
HackTricks Automatic Commands
Automatyczne komendy HackTricks
```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>
## Referencje
- [https://github.com/panchocosil/burp-js-linkfinder-enhanced](https://github.com/panchocosil/burp-js-linkfinder-enhanced)
> [!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>


