31 KiB
80,443 - Pentesting Web Methodolojisi
{{#include ../../banners/hacktricks-training.md}}
Web uygulamalarınız, ağınız ve bulutunuz hakkında bir hacker perspektifi edinin
Gerçek iş etkisi olan kritik, istismar edilebilir güvenlik açıklarını bulun ve raporlayın. Saldırı yüzeyini haritalamak, ayrıcalıkları artırmanıza izin veren güvenlik sorunlarını bulmak ve temel kanıtları toplamak için otomatik istismarları kullanmak için 20'den fazla özel aracımızı kullanın, böylece sıkı çalışmanızı ikna edici raporlara dönüştürebilirsiniz.
{% embed url="https://pentest-tools.com/?utm_term=jul2024&utm_medium=link&utm_source=hacktricks&utm_campaign=spons" %}
Temel Bilgiler
Web hizmeti en yaygın ve kapsamlı hizmettir ve birçok farklı türde güvenlik açığı bulunmaktadır.
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 Rehberi
{{#ref}} web-api-pentesting.md {{#endref}}
Metodoloji özeti
Bu metodolojide, bir alan adını (veya alt alan adını) hedef alacağınızı varsayıyoruz ve sadece bunu. Bu nedenle, bu metodolojiyi keşfedilen her alan adı, alt alan adı veya belirsiz web sunucusuna sahip IP için uygulamalısınız.
- Kullanılan teknolojileri belirleyerek başlayın. Teknolojiyi başarıyla tanımlayabilirseniz, testin geri kalanında aklınızda bulundurmanız gereken ipuçları arayın.
- Teknolojinin sürümüne ait herhangi bir bilinen zafiyet var mı?
- Herhangi bir iyi bilinen teknoloji mi kullanılıyor? Daha fazla bilgi çıkarmak için herhangi bir yararlı ipucu var mı?
- Çalıştırılacak herhangi bir uzman tarayıcı var mı (örneğin wpscan)?
- Genel amaçlı tarayıcıları başlatın. Ne bulacaklarını veya ilginç bilgiler bulup bulamayacaklarını asla bilemezsiniz.
- Başlangıç kontrolleri ile başlayın: robots, sitemap, 404 hatası ve SSL/TLS taraması (eğer HTTPS ise).
- Web sayfasını spidering yapmaya başlayın: Tüm olası dosyaları, klasörleri ve kullanılan parametreleri bulma zamanı. Ayrıca, özel bulgular için kontrol edin.
- Brute-forcing veya spidering sırasında yeni bir dizin keşfedildiğinde, bunun spidering yapılması gerektiğini unutmayın.
- Dizin Brute-Forcing: Keşfedilen tüm klasörleri brute force ile yeni dosyalar ve dizinler arayın.
- Brute-forcing veya spidering sırasında yeni bir dizin keşfedildiğinde, bunun Brute-Forced edilmesi gerektiğini unutmayın.
- Yedek kontrolü: Ortaya çıkan dosyaların yedeklerini bulup bulamayacağınızı test edin, yaygın yedek uzantılarını ekleyerek.
- Brute-Force parametreleri: Gizli parametreleri bulmaya çalışın.
- Tüm olası kullanıcı girişi kabul eden endpoint'leri belirledikten sonra, bunlarla ilgili her türlü zafiyeti kontrol edin.
- Bu kontrol listesini takip edin
Sunucu Sürümü (Zayıf mı?)
Belirle
Çalışan sunucu sürümü için herhangi bir bilinen zafiyet olup olmadığını kontrol edin.
HTTP başlıkları ve yanıtın çerezleri, kullanılan teknolojileri ve/veya sürümü belirlemek için çok yararlı olabilir. Nmap taraması sunucu sürümünü belirleyebilir, ancak whatweb, webtech veya https://builtwith.com/** gibi araçlar da yararlı olabilir:**
whatweb -a 1 <URL> #Stealthy
whatweb -a 3 <URL> #Aggresive
webtech -u <URL>
webanalyze -host https://google.com -crawl 2
Arama için web uygulamasının sürüm açıklarını
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 hileleri
Farklı iyi bilinen teknolojilerdeki açıkları bulmak için bazı hileler:
- AEM - Adobe Experience Cloud
- Apache
- Artifactory
- Buckets
- CGI
- Drupal
- Flask
- Git
- Golang
- GraphQL
- H2 - Java SQL veritabanı
- IIS hileleri
- JBOSS
- Jenkins
- Jira
- Joomla
- JSP
- Laravel
- Moodle
- Nginx
- PHP (php'nin sömürülebilecek birçok ilginç hilesi var)
- Python
- Spring Actuators
- Symphony
- Tomcat
- VMWare
- Web API Pentesting
- WebDav
- Werkzeug
- Wordpress
- Electron Desktop (XSS'den RCE'ye)
Dikkate alın ki aynı alan farklı portlar, klasörler ve alt alanlar üzerinde farklı teknolojiler kullanıyor olabilir.
Eğer web uygulaması daha önce listelenen herhangi bir iyi bilinen teknoloji/platform veya başka bir şey kullanıyorsa, internette yeni hileler aramayı unutmayın (ve bana bildirin!).
Kaynak Kodu İncelemesi
Eğer uygulamanın kaynak kodu github'da mevcutsa, uygulamanın kendi başınıza bir Beyaz kutu testi yapmanın yanı sıra, mevcut Siyah Kutu testi için yararlı olabilecek bazı bilgiler vardır:
- Web üzerinden erişilebilir bir Değişiklik günlüğü veya Readme veya Sürüm dosyası veya sürüm bilgisi içeren bir şey var mı?
- Kimlik bilgileri nasıl ve nerede saklanıyor? Kimlik bilgileri (kullanıcı adları veya şifreler) ile ilgili herhangi bir (erişilebilir?) dosya var mı?
- Şifreler düz metin, şifrelenmiş mi yoksa hangi hash algoritması kullanılıyor?
- Bir şeyi şifrelemek için herhangi bir anahtar kullanıyor mu? Hangi algoritma kullanılıyor?
- Herhangi bir açığı sömürürek bu dosyalara erişebilir misiniz?
- Github'da (çözülen ve çözülmeyen) sorularda herhangi bir ilginç bilgi var mı? Yoksa commit geçmişinde (belki eski bir commit içinde girilmiş bir şifre) mi?
{{#ref}} code-review-tools.md {{#endref}}
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ı
Eğer bir CMS kullanılıyorsa bir tarayıcı çalıştırmayı unutmayın, belki ilginç bir şey bulunur:
Clusterd: JBoss, ColdFusion, WebLogic, Tomcat, Railo, Axis2, Glassfish
CMSScan: WordPress, Drupal, Joomla, vBulletin web siteleri için güvenlik sorunları. (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, istemci tarafından kullanılan web sunucusu hakkında bazı bilgilere sahip olmalısınız (eğer herhangi bir veri verilmişse) ve test sırasında aklınızda bulundurmanız gereken bazı ipuçları. Şanslıysanız, bir CMS bulmuş ve bazı tarayıcılar çalıştırmış olabilirsiniz.
Adım adım Web Uygulaması Keşfi
Bu noktadan itibaren web uygulamasıyla etkileşime geçmeye başlayacağız.
İlk kontroller
İlginç bilgiler içeren varsayılan sayfalar:
- /robots.txt
- /sitemap.xml
- /crossdomain.xml
- /clientaccesspolicy.xml
- /.well-known/
- Ana ve ikincil sayfalardaki yorumları da kontrol edin.
Hataları zorlamak
Web sunucuları, onlara garip veriler gönderildiğinde beklenmedik şekilde davranabilir. Bu, açıklara veya hassas bilgilerin ifşasına yol açabilir.
- /whatever_fake.php gibi sahte sayfalara erişin (.aspx, .html, vb.)
- Hata oluşturmak için cookie değerlerine ve parametre değerlerine "[]", "]]" ve "[[" ekleyin
- URL'nin sonuna
/~randomthing/%svererek hata oluşturun - PATCH, DEBUG veya FAKE gibi farklı HTTP Fiilleri deneyin
Dosya yükleyip yükleyemeyeceğinizi kontrol edin (PUT fiili, WebDav)
Eğer WebDav etkin ise ancak kök klasörde dosya yüklemek için yeterli izinleriniz yoksa şunları deneyin:
- Kaba kuvvet ile kimlik bilgilerini deneyin
- WebDav aracılığıyla web sayfasındaki bulunan diğer klasörlere dosyalar yükleyin. Diğer klasörlerde dosya yüklemek için izinleriniz olabilir.
SSL/TLS açıkları
- Uygulama HTTPS kullanıcısını zorlamıyorsa, o zaman MitM'ye karşı açık demektir.
- Uygulama hassas verileri (şifreler) HTTP kullanarak gönderiyorsa, bu yüksek bir açık demektir.
testssl.sh kullanarak açıkları kontrol edin (Bug Bounty programlarında muhtemelen bu tür açıklar kabul edilmeyecektir) ve a2sv kullanarak açıkları yeniden kontrol edin:
./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>
SSL/TLS zafiyetleri hakkında bilgi:
- https://www.gracefulsecurity.com/tls-ssl-vulnerabilities/
- https://www.acunetix.com/blog/articles/tls-vulnerabilities-attacks-final-part/
Tarama
Web üzerinde bir tür tarayıcı başlatın. Tarayıcının amacı, test edilen uygulamadan mümkün olduğunca fazla yol bulmaktır. Bu nedenle, web taraması ve harici kaynaklar kullanılarak mümkün olduğunca fazla geçerli yol bulunmalıdır.
- gospider (go): HTML tarayıcı, JS dosyalarındaki LinkFinder ve harici kaynaklar (Archive.org, CommonCrawl.org, VirusTotal.com, AlienVault.com).
- hakrawler (go): HML tarayıcı, JS dosyaları için LinkFinder ve harici kaynak olarak Archive.org ile.
- dirhunt (python): HTML tarayıcı, ayrıca "juicy files" gösterir.
- evine (go): Etkileşimli CLI HTML tarayıcı. Ayrıca Archive.org'da arama yapar.
- meg (go): Bu araç bir tarayıcı değildir ama faydalı olabilir. Sadece bir dosya ile hostları ve bir dosya ile yolları belirtebilir ve meg her hosttaki her yolu alır ve yanıtı kaydeder.
- urlgrab (go): JS render yeteneklerine sahip HTML tarayıcı. Ancak, bakımsız görünüyor, önceden derlenmiş versiyonu eski ve mevcut kod derlenmiyor.
- gau (go): Harici sağlayıcılar (wayback, otx, commoncrawl) kullanan HTML tarayıcı.
- ParamSpider: Bu betik, parametre içeren URL'leri bulacak ve listeleyecektir.
- galer (go): JS render yeteneklerine sahip HTML tarayıcı.
- LinkFinder (python): HTML tarayıcı, JS dosyalarında yeni yollar aramak için JS beautify yeteneklerine sahip. Ayrıca JSScanner adlı LinkFinder'ın bir sarmalayıcısına da göz atmak faydalı olabilir.
- goLinkFinder (go): Hem HTML kaynağında hem de gömülü javascript dosyalarında uç noktaları çıkarmak için. Hata avcıları, kırmızı takım üyeleri, infosec ninja'ları için faydalı.
- JSParser (python2.7): JavaScript dosyalarından göreli URL'leri ayrıştırmak için Tornado ve JSBeautifier kullanan bir python 2.7 betiği. AJAX isteklerini kolayca keşfetmek için faydalı. Bakımsız görünüyor.
- relative-url-extractor (ruby): Verilen bir dosyadan (HTML) URL'leri çıkaracak ve çirkin (minify) dosyalardan göreli URL'leri bulmak ve çıkarmak için şık bir düzenli ifade kullanacaktır.
- JSFScan (bash, çeşitli araçlar): JS dosyalarından ilginç bilgiler toplamak için çeşitli araçlar kullanır.
- subjs (go): JS dosyalarını bulur.
- page-fetch (go): Başsız bir tarayıcıda bir sayfayı yükler ve sayfayı yüklemek için yüklenen tüm URL'leri yazdırır.
- Feroxbuster (rust): Önceki araçların çeşitli seçeneklerini birleştiren içerik keşif aracı.
- Javascript Parsing: JS dosyalarında yol ve parametre bulmak için bir Burp uzantısı.
- Sourcemapper: Verilen .js.map URL'sinden güzelleştirilmiş JS kodunu alacak bir araç.
- xnLinkFinder: Belirli bir hedef için uç noktaları keşfetmek için kullanılan bir araç.
- waymore: Wayback makinesinden bağlantıları keşfedin (aynı zamanda yanıtları wayback'ten indirip daha fazla bağlantı arayın).
- HTTPLoot (go): Form doldurarak tarama yapın ve belirli regex'ler kullanarak hassas bilgileri bulun.
- SpiderSuite: Spider Suite, siber güvenlik profesyonelleri için tasarlanmış gelişmiş çok özellikli GUI web güvenlik Tarayıcı/Taraycıdır.
- jsluice (go): URL'leri, yolları, sırları ve JavaScript kaynak kodundan diğer ilginç verileri çıkarmak için bir Go paketi ve komut satırı aracı.
- ParaForge: Fuzzing ve enumerasyon için özel kelime listesi oluşturmak amacıyla istekten parametreleri ve uç noktaları çıkarmak için basit bir Burp Suite uzantısı.
- katana (go): Bunun için harika bir araç.
- Crawley (go): Bulabildiği her bağlantıyı yazdırır.
Dizileri ve dosyaları Brute Force ile kırma
Kök klasörden brute-forcing yapmaya başlayın ve bu yöntemle bulunan tüm dizileri ve Tarama ile keşfedilen dizileri brute-force ile kırdığınızdan emin olun (bu brute-forcing'i özyinelemeli olarak yapabilir ve kullanılan kelime listesinin başına bulunan dizilerin adlarını ekleyebilirsiniz).
Araçlar:
- Dirb / Dirbuster - Kali'de dahil, eski (ve yavaş) ama işlevsel. Otomatik imzalı sertifikalara ve özyinelemeli aramaya izin verir. Diğer seçeneklere göre çok yavaş.
- Dirsearch (python): Otomatik imzalı sertifikalara izin vermez ama özyinelemeli aramaya izin verir.
- Gobuster (go): Otomatik imzalı sertifikalara izin verir, özyinelemeli arama yoktur.
- Feroxbuster - Hızlı, özyinelemeli 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 tarayıcı değildir ama bulunan URL'lerin listesini vererek "tekrarlanan" URL'leri silmek için bir araçtır.
- Scavenger: Farklı sayfaların burp geçmişinden dizilerin bir listesini oluşturmak için Burp Uzantısı.
- TrashCompactor: İşlevselliği tekrarlanan URL'leri kaldırır (js importlarına dayalı).
- Chamaleon: Kullanılan teknolojileri tespit etmek için wapalyzer kullanır ve kullanılacak kelime listelerini seçer.
Tavsiye edilen sözlükler:
- https://github.com/carlospolop/Auto_Wordlists/blob/main/wordlists/bf_directories.txt
- Dirsearch dahil sözlük
- http://gist.github.com/jhaddix/b80ea67d85c13206125806f0828f4d10
- Assetnote kelime listeleri
- 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
Bruteforcing veya tarama sırasında yeni bir dizin keşfedildiğinde, bu dizin de Brute-Forced edilmelidir.
Bulunan her dosyada kontrol edilecekler
- Kırık bağlantı kontrol aracı: Ele geçirilme riski taşıyan HTML'ler içindeki kırık bağlantıları bulun.
- Dosya Yedekleri: Tüm dosyaları bulduktan sonra, tüm yürütülebilir 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** aracını kullanabilirsiniz.**
- Yeni parametreleri keşfedin: Gizli parametreleri keşfetmek için Arjun, parameth, x8 ve Param Miner gibi araçları kullanabilirsiniz. Mümkünse, her yürütülebilir web dosyasında gizli parametreleri aramayı deneyebilirsiniz.
- Arjun tüm varsayılan kelime listeleri: 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
- Yorumlar: Tüm dosyaların yorumlarını kontrol edin, kimlik bilgileri veya gizli işlevsellik bulabilirsiniz.
- Eğer CTF oynuyorsanız, "yaygın" bir hile, sayfanın sağında (tarayıcı ile kaynak kodunu açtığınızda verileri göremeyeceğiniz kadar birçok boşluk kullanarak) bilgileri gizlemektir. Diğer bir olasılık, birkaç yeni satır kullanmak ve web sayfasının altında bir yorumda bilgileri gizlemektir.
- API anahtarları: Eğer herhangi bir API anahtarı bulursanız, farklı platformların API anahtarlarını nasıl kullanacağınızı gösteren bir kılavuz vardır: keyhacks, zile, truffleHog, SecretFinder, RegHex, DumpsterDive, EarlyBird
- Google API anahtarları: Eğer AIzaSyA-qLheq6xjDiEIRisP_ujUseYLQCHUjik gibi görünen bir API anahtarı bulursanız, anahtarın erişebileceği API'leri kontrol etmek için gmapapiscanner projesini kullanabilirsiniz.
- S3 Buckets: Tarama sırasında herhangi bir alt alan adı veya herhangi bir bağlantının bazı S3 bucket ile ilişkili olup olmadığını kontrol edin. Bu durumda, bucket'ın izinlerini kontrol edin.
Özel bulgular
Tarama ve brute-forcing yaparken, dikkat etmeniz gereken ilginç şeyler bulabilirsiniz.
İlginç dosyalar
- CSS dosyaları içinde diğer dosyalara bağlantılar arayın.
- Eğer bir .git dosyası bulursanız, bazı bilgiler çıkarılabilir
- Eğer bir .env dosyası bulursanız, API anahtarları, veritabanı şifreleri ve diğer bilgiler bulunabilir.
- Eğer API uç noktaları bulursanız, bunları da test etmelisiniz. Bunlar dosya değildir, ama muhtemelen "onlara benzer" görünecektir.
- JS dosyaları: Tarama bölümünde, JS dosyalarından yol çıkarabilen çeşitli araçlar belirtilmiştir. Ayrıca, bulunan her JS dosyasını izlemek de ilginç olacaktır, çünkü bazı durumlarda, bir değişiklik, kodda potansiyel bir zafiyetin tanıtıldığını gösterebilir. Örneğin, JSMon'u kullanabilirsiniz.
- Ayrıca, keşfedilen JS dosyalarını RetireJS veya JSHole ile kontrol etmelisiniz.
- Javascript Deobfuscator ve Unpacker: https://lelinhtinh.github.io/de4js/, https://www.dcode.fr/javascript-unobfuscator
- Javascript Beautifier: http://jsbeautifier.org/, http://jsnice.org/
- JsFuck deobfuscation (karakterlerle javascript: "[]!+" 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 düzenli ifadeleri anlamanız gerekecektir. Bu faydalı olacaktır: https://regex101.com/ veya https://pythonium.net/regex
- Ayrıca, formların tespit edildiği dosyaları izlemelisiniz, çünkü bir parametredeki değişiklik veya yeni bir formun görünmesi, potansiyel yeni bir zayıf işlevselliği gösterebilir.
403 Yasaklı/Temel Kimlik Doğrulama/401 Yetkisiz (bypass)
{{#ref}} 403-and-401-bypasses.md {{#endref}}
502 Proxy Hatası
Eğer herhangi bir sayfa bu kodla yanıt verirse, muhtemelen kötü yapılandırılmış bir proxy vardır. GET https://google.com HTTP/1.1 gibi bir HTTP isteği gönderirseniz (host başlığı ve diğer yaygın başlıklarla), proxy google.com erişmeye çalışacak ve bir** SSRF** bulmuş olacaksınız.
NTLM Kimlik Doğrulama - Bilgi ifşası
Eğer çalışan sunucu kimlik doğrulama istiyorsa Windows ise veya kimlik bilgilerinizi isteyen bir giriş bulursanız (ve alan adı istiyorsa), bir bilgi ifşası tetikleyebilirsiniz.
Başlığı gönderin: “Authorization: NTLM TlRMTVNTUAABAAAAB4IIAAAAAAAAAAAAAAAAAAAAAAA=” ve NTLM kimlik doğrulamanın nasıl çalıştığı nedeniyle, sunucu "WWW-Authenticate" başlığında iç bilgi (IIS versiyonu, Windows versiyonu...) ile yanıt verecektir.
Bunu nmap eklentisi "http-ntlm-info.nse" kullanarak otomatikleştirebilirsiniz.
HTTP Yönlendirmesi (CTF)
Bir Yönlendirme içinde içerik yerleştirmek mümkündür. Bu içerik kullanıcıya gösterilmeyecek (çünkü tarayıcı yönlendirmeyi gerçekleştirecektir) ama orada gizli bir şey olabilir.
Web Zafiyetlerini Kontrol Etme
Artık web uygulamasının kapsamlı bir envanteri alındığına göre, birçok olası zafiyeti kontrol etme zamanı. Kontrol listesini burada bulabilirsiniz:
{{#ref}} ../../pentesting-web/web-vulnerabilities-methodology.md {{#endref}}
Web zafiyetleri hakkında daha fazla bilgi için:
- 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
Sayfaları değişiklikler için izleme
Değişiklikleri izlemek için https://github.com/dgtlmoon/changedetection.io gibi araçlar kullanabilirsiniz.
Web uygulamalarınız, ağınız ve bulutunuz hakkında bir hacker perspektifi edinin
Gerçek iş etkisi olan kritik, istismar edilebilir zafiyetleri bulun ve raporlayın. Saldırı yüzeyini haritalamak, ayrıcalıkları artırmanıza izin veren güvenlik sorunlarını bulmak ve temel kanıtları toplamak için otomatik istismarları kullanmak için 20'den fazla özel aracımızı kullanın, sıkı çalışmanızı ikna edici raporlara dönüştürün.
{% embed url="https://pentest-tools.com/?utm_term=jul2024&utm_medium=link&utm_source=hacktricks&utm_campaign=spons" %}
HackTricks Otomatik Komutlar
Protocol_Name: Web #Protocol Abbreviation if there is one.
Port_Number: 80,443 #Comma separated if there is more than one.
Protocol_Description: Web #Protocol Abbreviation Spelled out
Entry_1:
Name: Notes
Description: Notes for Web
Note: |
https://book.hacktricks.xyz/pentesting/pentesting-web
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}
{{#include ../../banners/hacktricks-training.md}}