80,443 - Pentesting Web Metodolojisi
Tip
AWS Hacking’i öğrenin ve pratik yapın:
HackTricks Training AWS Red Team Expert (ARTE)
GCP Hacking’i öğrenin ve pratik yapın:HackTricks Training GCP Red Team Expert (GRTE)
Azure Hacking’i öğrenin ve pratik yapın:
HackTricks Training Azure Red Team Expert (AzRTE)
HackTricks'i Destekleyin
- abonelik planlarını kontrol edin!
- 💬 Discord grubuna veya telegram grubuna katılın ya da Twitter’da bizi takip edin 🐦 @hacktricks_live.**
- Hacking ipuçlarını paylaşmak için HackTricks ve HackTricks Cloud github reposuna PR gönderin.
Temel Bilgiler
Web servisi en yaygın ve kapsamlı hizmettir ve birçok farklı türde zafiyet mevcuttur.
Varsayılan 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
Web API Kılavuzu
Metodoloji özeti
Bu metodolojide bir domain (veya subdomain) ve sadece onu hedef alacağınızı varsayacağız. Bu yüzden, bu metodolojiyi kapsam içindeki her keşfedilen domain, subdomain veya web sunucusu bilinmeyen IP için uygulamalısınız.
- Başlangıç olarak web sunucusu tarafından kullanılan teknolojileri tanımlayın. Teknolojiyi başarılı şekilde tanımlayabilirseniz, testin geri kalanında aklınızda tutmanız için tricks arayın.
- Kullanılan teknolojinin sürümü için herhangi bir known vulnerability var mı?
- Herhangi bir well known tech mi kullanılıyor? Daha fazla bilgi çıkarmak için herhangi bir useful trick var mı?
- Çalıştırılacak herhangi bir specialised scanner var mı (ör. wpscan)?
- Genel amaçlı scanners çalıştırın. Ne bulacaklarını ya da ilginç bilgi elde edip etmeyeceklerini asla bilemezsiniz.
- İlk kontrollerle başlayın: robots, sitemap, 404 error ve SSL/TLS scan (if HTTPS).
- Web sayfasını spidering ile taramaya başlayın: Tüm olası dosyalar, klasörler ve kullanılan parametreleri bulma zamanı. Ayrıca special findings için kontrol edin.
- Yeni bir dizin brute-forcing veya spidering sırasında keşfedildiğinde, onun da spidering ile taranması gerektiğini unutmayın.
- Directory Brute-Forcing: Keşfedilen tüm klasörlerde yeni dosyalar ve dizinler aramak için brute force deneyin.
- Yeni bir dizin brute-forcing veya spidering sırasında keşfedildiğinde, o dizin de Brute-Forced edilmelidir.
- Backups checking: Yaygın yedek uzantılarını ekleyerek keşfedilen dosyaların backups’ını bulup bulamayacağınızı test edin.
- Brute-Force parameters: Gizli parametreleri bulmaya çalışın.
- Tüm olası endpoints ve user input kabul edenleri tanımladıktan sonra, bunlarla ilgili her türlü vulnerabilities için kontrol edin.
- Follow this checklist
Server Version (Vulnerable?)
Identify
Çalışan sunucu version için bilinen herhangi bir known vulnerabilities olup olmadığını kontrol edin.
The HTTP headers and cookies of the response could be very useful to identify the technologies and/or version being used. Nmap scan can identify the server version, but it could also be useful the tools 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
Web uygulaması sürümüne ait zafiyetleri ara vulnerabilities of the web application version
Herhangi bir WAF olup olmadığını kontrol et
- https://github.com/EnableSecurity/wafw00f
- https://github.com/Ekultek/WhatWaf.git
- https://nmap.org/nsedoc/scripts/http-waf-detect.html
Web teknoloji tüyoları
Kullanılan farklı bilinen teknolojilerde zafiyetleri bulmak için bazı püf noktaları:
- AEM - Adobe Experience Cloud
- Apache
- Artifactory
- Buckets
- CGI
- 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
Tek bir not: aynı domainin farklı portlarda, klasörlerde ve subdomainlerde farklı teknolojiler kullanabileceğini unutmayın.
Eğer web uygulaması daha önce listelenmiş bilinen bir tech/platform veya başka birini kullanıyorsa, Internette yeni tüyoları aramayı unutmayın (ve bana haber verin!).
Source Code Review
Eğer uygulamanın source code’u github üzerinde erişilebiliyorsa, uygulama üzerinde kendi başınıza bir White box test yapmanın yanı sıra mevcut Black-Box testing için faydalı olabilecek bazı bilgiler bulunabilir:
- Web üzerinden erişilebilir bir Change-log, Readme veya Version dosyası ya da herhangi bir sürüm bilgisi var mı?
- Credentials nasıl ve nerede saklanıyor? Erişilebilir bir dosya içinde kullanıcı adları veya parolalar var mı?
- Parolalar düz metin mi, şifrelenmiş mi yoksa hangi hash algoritması kullanılmış?
- Bir şeyi şifrelemek için herhangi bir master key kullanılıyor mu? Hangi algoritma kullanılıyor?
- Bu dosyalardan herhangi birine bir zafiyet kullanarak ulaşabilir misiniz?
- github üzerinde (çözülmüş veya çözülmemiş) ilginç bilgiler var mı? Ya da commit geçmişinde (eski bir commit içine eklenmiş bir parola olabilir) ilginç bir şey var mı?
Source code Review / SAST Tools
Otomatik tarayıcılar
Genel amaçlı otomatik tarayıcılar
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 tarayıcıları
Bir CMS kullanılıyorsa run a scanner çalıştırmayı unutmayın; belki önemli bir şey bulunur:
Clusterd: JBoss, ColdFusion, WebLogic, Tomcat, Railo, Axis2, Glassfish
CMSScan: WordPress, Drupal, Joomla, vBulletin web sitelerini güvenlik sorunları için tarar. (GUI)
VulnX: Joomla, Wordpress, Drupal, PrestaShop, Opencart
CMSMap: (W)ordpress, (J)oomla, (D)rupal veya (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
Bu noktada istemcinin kullandığı web sunucusu hakkında (veri verilmişse) zaten bazı bilgilere ve test sırasında akılda tutulması gereken bazı püf noktalarına sahip olmalısınız. Şanslıysanız bir CMS bulmuş ve bir scanner çalıştırmışsınızdır.
Step-by-step Web Application Discovery
Bu noktadan itibaren web uygulamasıyla etkileşime geçmeye başlayacağız.
Initial checks
Default pages with interesting info:
- /robots.txt
- /sitemap.xml
- /crossdomain.xml
- /clientaccesspolicy.xml
- /.well-known/
- Ana ve ikincil sayfalardaki yorumları da kontrol edin.
Forcing errors
Web sunucuları garip veriler gönderildiğinde behave unexpectedly. Bu, vulnerabilities açabilir veya disclosure sensitive information’ın ifşa olmasına neden olabilir.
- /whatever_fake.php (.aspx,.html,.etc) gibi fake pages’e erişin
- Hata oluşturmak için cookie values ve parameter değerlerine “[]”, “]]”, ve “[[” ekleyin
- Hata üretmek için girdiyi URL’nin sonuna
/~randomthing/%solarak verin - PATCH, DEBUG gibi farklı HTTP Verbs deneyin veya FAKE gibi yanlış bir tane gönderin
Check if you can upload files (PUT verb, WebDav)
Eğer WebDav’ın enabled olduğunu ama root klasöre uploading files için yeterli izniniz olmadığını görürseniz şunları deneyin:
- Brute Force credentials
- WebDav üzerinden web sayfası içindeki bulunan diğer klasörlere upload files yapın. Diğer klasörlerde dosya yükleme izniniz olabilir.
SSL/TLS vulnerabilites
- Uygulama herhangi bir bölümde HTTPS kullanımını zorlamıyorsa, bu vulnerable to MitM
- Uygulama hassas verileri (parolalar) HTTP ile gönderiyorsa, bu yüksek önemli bir vulnerability’dir.
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>
Information about SSL/TLS vulnerabilities:
- https://www.gracefulsecurity.com/tls-ssl-vulnerabilities/
- https://www.acunetix.com/blog/articles/tls-vulnerabilities-attacks-final-part/
Spidering
Web içinde bir tür spider çalıştırın. Spider’ın amacı test edilen uygulamadan mümkün olduğunca çok path bulmaktır. Bu yüzden web crawling ve dış kaynaklar kullanılarak mümkün olduğunca çok geçerli path bulunmalıdır.
- gospider (go): HTML spider, JS dosyalarında LinkFinder ve dış kaynaklar (Archive.org, CommonCrawl.org, VirusTotal.com).
- hakrawler (go): HTML spider, JS dosyaları için LinkFinder ve Archive.org’u dış kaynak olarak kullanır.
- dirhunt (python): HTML spider, ayrıca “juicy files” gösterir.
- evine (go): Etkileşimli CLI HTML spider. Ayrıca Archive.org’da arama yapar.
- meg (go): Bu araç bir spider değil ama faydalı olabilir. Hosts içeren bir dosya ve path içeren bir dosya verip meg’in her hostta her path’i çekmesini ve yanıtı kaydetmesini sağlayabilirsiniz.
- urlgrab (go): JS rendering yetenekleri olan HTML spider. Ancak bakım yapılmıyor gibi görünüyor; önceden derlenmiş sürüm eski ve mevcut kod derlenmiyor.
- gau (go): Dış sağlayıcıları (wayback, otx, commoncrawl) kullanan HTML spider.
- ParamSpider: Bu script parametre içeren URL’leri bulur ve listeler.
- galer (go): JS rendering yetenekleri olan HTML spider.
- LinkFinder (python): HTML spider, JS beautify yetenekleri ile JS dosyalarında yeni path arayabilir. Ayrıca LinkFinder için bir wrapper olan JSScanner da göz atmaya değer.
- goLinkFinder (go): Hem HTML kaynağından hem gömülü javascript dosyalarından endpoint çıkarmak için. Bug hunter, red team ve infosec için faydalı.
- JSParser (python2.7): Tornado ve JSBeautifier kullanan, JavaScript dosyalarından relatif URL’leri parse eden python 2.7 scripti. AJAX isteklerini kolay keşfetmek için faydalı. Bakımı yapılmıyor gibi görünüyor.
- relative-url-extractor (ruby): Bir dosya (HTML) verildiğinde çirkin (minify) dosyalardan relatif URL’leri bulup çıkarmak için regex kullanır.
- JSFScan (bash, several tools): Birkaç araç kullanarak JS dosyalarından ilginç bilgiler toplar.
- subjs (go): JS dosyalarını bulur.
- page-fetch (go): Headless browser ile bir sayfayı yükler ve sayfayı yüklemek için çağrılan tüm url’leri yazdırır.
- Feroxbuster (rust): Önceki araçların çeşitli seçeneklerini harmanlayan content discovery aracı.
- Javascript Parsing: JS dosyalarında path ve param bulmak için bir Burp extension.
- Sourcemapper: .js.map URL verildiğinde beautified JS kodunu getiren araç.
- xnLinkFinder: Verilen hedef için endpoint keşfetmede kullanılan araç.
- waymore: wayback machine’den link keşfeder (ayrıca wayback’teki yanıtları indirir ve daha fazla link arar).
- HTTPLoot (go): Formları doldurarak bile crawl yapar ve spesifik regex’lerle hassas bilgi bulur.
- SpiderSuite: Spider Suite, siber güvenlik profesyonelleri için gelişmiş çok özellikli GUI web güvenlik crawler/spider.
- jsluice (go): JavaScript kaynak kodundan URL, path, secret ve diğer ilginç verileri çıkarmak için bir Go paketi ve command-line tool.
- ParaForge: Bir istekteki parametreleri ve endpointleri çıkarmak için basit bir Burp Suite extension; fuzzing ve enumeration için özel wordlist oluşturmayı sağlar.
- katana (go): Bu iş için harika bir araç.
- Crawley (go): Bulabildiği her linki yazdırır.
Brute Force directories and files
Kök klasörden brute-forcing başlatın ve bu metod ile bulunan tüm dizinleri ve Spidering ile keşfedilen tüm dizinleri brute-force ettiğinizden emin olun (bu brute-force işlemini recursive yapabilir ve kullanılan wordlist’e bulunan dizin adlarını başa ekleyebilirsiniz).
Araçlar:
- Dirb / Dirbuster - Kali içinde gelir, eski (ve yavaş) ama çalışır. Auto-signed sertifikalara ve recursive aramaya izin verir. Diğer seçeneklere kıyasla çok yavaş.
- Dirsearch (python)**: Auto-signed sertifikalara izin vermez ama recursive arama yapabilir.
- Gobuster (go): Auto-signed sertifikalara izin verir, ancak recursive arama özelliği yoktur.
- Feroxbuster - Hızlı, recursive aramayı destekler.
- wfuzz
wfuzz -w /usr/share/seclists/Discovery/Web-Content/raft-medium-directories.txt https://domain.com/api/FUZZ - ffuf - Hızlı:
ffuf -c -w /usr/share/wordlists/dirb/big.txt -u http://10.10.10.10/FUZZ - uro (python): Bu bir spider değil; bulunan URL listesi verildiğinde “duplicated” URL’leri siler.
- Scavenger: Burp geçmişinden farklı sayfalar için dizin listesi oluşturmak üzere Burp Extension.
- TrashCompactor: js importlarına dayalı olarak fonksiyonel olarak tekrar eden URL’leri kaldırır.
- Chamaleon: Wappalyzer kullanarak kullanılan teknolojileri tespit eder ve kullanılacak wordlist’leri seçer.
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
Herhangi bir yeni dizin brute-forcing veya spidering sırasında keşfedildiğinde, mutlaka Brute-Force yapılmalıdır.
What to check on each file found
- Broken link checker: HTML içindeki kırık linkleri tespit eder; takeover’a açık olabilecek linkler bulunabilir.
- File Backups: Tüm dosyaları bulduktan sonra çalıştırılabilir dosyaların yedeklerini arayın (“.php”, “.aspx”…). Yedekleme için yaygın adlandırma varyasyonları: file.ext~, #file.ext#, ~file.ext, file.ext.bak, file.ext.tmp, file.ext.old, file.bak, file.tmp ve file.old. Ayrıca bfac veya backup-gen araçlarını kullanabilirsiniz.
- Discover new parameters: Gizli parametreleri keşfetmek için Arjun, parameth, x8 ve Param Miner gibi araçları kullanabilirsiniz. Mümkünse her çalıştırılabilir web dosyasında gizli parametreleri aramayı deneyin.
- 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: Tüm dosyaların yorumlarını kontrol edin; credentials veya gizli fonksiyonlar bulunabilir.
- Eğer CTF oynuyorsanız, yaygın bir hile sayfa kaynağında sağ tarafa (sayfanın sağında) yüzlerce boşluk kullanarak görünmez şekilde bilgi gizlemek olabilir (tarayıcı kaynak kodunu açınca gözükmez). Diğer bir olasılık, birkaç yeni satır kullanıp sayfanın en altına bir yorum içinde bilgi gizlemektir.
- API keys: Herhangi bir API key bulursanız farklı platformların API key’lerini nasıl kullanacağınızla ilgili rehberler şunlardır: keyhacks, zile, truffleHog, SecretFinder, RegHex, DumpsterDive, EarlyBird
- Google API keys: Eğer AIza ile başlayan bir API key bulursanız (ör. AIzaSyA-qLheq6xjDiEIRisP_ujUseYLQCHUjik) hangi apilere erişebildiğini kontrol etmek için gmapapiscanner projesini kullanabilirsiniz.
- S3 Buckets: Spidering yaparken herhangi bir subdomain veya herhangi bir link bir S3 bucket ile ilişkili mi diye bakın. Böyle bir durumda, bucket izinlerini kontrol edin.
Special findings
Spidering ve brute-forcing yaparken dikkat çekici şeyler keşfedebilirsiniz; bunları not etmelisiniz.
Interesting files
- CSS dosyaları içinde diğer dosyalara link arayın.
- Eğer bir .git dosyası bulursanız bazı bilgiler çıkarılabilir
- Eğer bir .env dosyası bulursanız api key’ler, db şifreleri ve diğer bilgiler bulunabilir.
- Eğer API endpoints keşfederseniz bunları da test etmelisiniz. Bunlar dosya değildir ama dosya gibi “gözükeceklerdir”.
- JS files: Spidering bölümünde JS dosyalarından path çıkarabilen araçlar listelendi. Ayrıca bulunan her JS dosyasını izlemek ilginç olabilir; bazı durumlarda bir değişiklik kodda potansiyel bir zafiyetin eklendiğini gösterebilir. Örneğin JSMon kullanılabilir.
- Bulunan JS dosyalarını zafiyet kontrolü için RetireJS veya JSHole ile kontrol etmelisiniz.
- 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. - Birçok durumda kullanılan regular expression’ları anlamanız gerekecek. Bunun için faydalı kaynaklar: https://regex101.com/ veya https://pythonium.net/regex
- Formların tespit edildiği dosyaları da izleyebilirsiniz; bir parametrede veya yeni bir formun görünmesinde değişiklik olması potansiyel yeni bir zafiyeti işaret edebilir.
403 Forbidden/Basic Authentication/401 Unauthorized (bypass)
502 Proxy Error
Eğer herhangi bir sayfa bu kodu ile yanıt veriyorsa muhtemelen kötü yapılandırılmış bir proxy vardır. Eğer şu şekilde bir HTTP isteği gönderirseniz: GET https://google.com HTTP/1.1 (host header ve diğer yaygın header’lar ile), proxy google.com’a erişmeye çalışacak ve bir SSRF bulmuş olacaksınız.
NTLM Authentication - Info disclosure
Eğer kimlik doğrulama isteyen sunucu Windows ise veya bir login alanı sizden credentials (ve domain adı) istiyorsa bilgi sızıntısı provake edilebilir.
Aşağıdaki header’ı gönderin: “Authorization: NTLM TlRMTVNTUAABAAAAB4IIAAAAAAAAAAAAAAAAAAAAAAA=” ve NTLM authentication çalışma şekli nedeniyle sunucu “WWW-Authenticate” header’ı içinde iç ağ bilgilerini (IIS versiyonu, Windows versiyonu…) döndürecektir.
Bunu otomatikleştirmek için nmap plugin’i “http-ntlm-info.nse” kullanılabilir.
HTTP Redirect (CTF)
Bir Redirection içine içerik koymak mümkündür. Bu içerik kullanıcıya gösterilmez (tarayıcı redirect’i gerçekleştireceği için) ama içinde bir şey gizlenmiş olabilir.
Web Vulnerabilities Checking
Web uygulamasının kapsamlı bir enumerate işlemi yapıldıktan sonra birçok olası zafiyeti kontrol etme zamanı. Kontrol listesi burada bulunmaktadır:
Web Vulnerabilities Methodology
Web zafiyetleri hakkında daha fazla bilgi:
- 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
Sayfalardaki değişiklikleri izlemek için https://github.com/dgtlmoon/changedetection.io gibi araçları kullanabilirsiniz; bu tür değişiklikler zafiyet eklenmesine neden olabilir.
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]
> AWS Hacking'i öğrenin ve pratik yapın:<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;">\
> GCP Hacking'i öğrenin ve pratik yapın: <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;">
> Azure Hacking'i öğrenin ve pratik yapın: <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>HackTricks'i Destekleyin</summary>
>
> - [**abonelik planlarını**](https://github.com/sponsors/carlospolop) kontrol edin!
> - **💬 [**Discord grubuna**](https://discord.gg/hRep4RUj7f) veya [**telegram grubuna**](https://t.me/peass) katılın ya da **Twitter'da** bizi **takip edin** 🐦 [**@hacktricks_live**](https://twitter.com/hacktricks_live)**.**
> - **Hacking ipuçlarını paylaşmak için** [**HackTricks**](https://github.com/carlospolop/hacktricks) ve [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github reposuna PR gönderin.
>
> </details>
HackTricks

