Samurai, hedef bir domain için OSINT kaynaklarından URL/Subdomain havuzu toplar ve dork/wordlist eşleştirmesi ile potansiyel hassas endpoint’leri CRITICAL / HIGH / NORMAL olarak sınıflandırır.
- Neler Yapar?
- Özellikler
- Veri Kaynakları
- Kurulum
- Kullanım
- Parametreler
- Konfigürasyon (Opsiyonel)
- Çıktılar (Raporlar)
- Örnek Wordlist / Dorks
- Notlar & Limitler
- Güvenlik / Yasal Uyarı
- License
- URL/Subdomain Harvesting (OSINT)
- Birden fazla kaynaktan URL ve subdomain sinyali çekip tek havuzda birleştirir.
- Akıllı Filtreleme
- Statik dosyaları (js/css/png vb.) ve düşük değerli path’leri eler.
- Dork / Wordlist Eşleştirme
inurl:/filetype:/ext:gibi kalıpları destekler.
- Severity Sınıflandırma
.env,.sql,.bak,wp-config,.gitvb. sinyalleri öne çıkarır.
- Raporlama
- HTML (varsayılan), JSON veya TXT rapor üretir.
- ✅ Multi-source OSINT URL havuzu (Wayback / HackerTarget / OTX)
- ✅ Gürültü azaltma (static extension + path filtreleri + stopwords)
- ✅ Performans odaklı eşleştirme (URL token index + ext index)
- ✅ Severity: CRITICAL / HIGH / NORMAL
- ✅ Rapor formatları: HTML / JSON / TXT
- ✅ HTML raporda arama + severity filtreleme
- ✅ Kolay kullanım:
-wopsiyonel, dahili geniş dork seti
- Wayback Machine (CDX) — arşiv URL’leri
- HackerTarget (hostsearch) — subdomain sinyali
- AlienVault OTX — URL listeleri
Not: Bazı servisler rate-limit / kota uygulayabilir.
Python 3.8+ önerilir.
git clone https://github.com/xNewt0/Samurai.git
cd Samurai
pip install -r requirements.txtrequirements.txt
requestsfake-useragent
python3 samurai.py -d example.compython3 samurai.py -d example.com -w dorks.txtpython3 samurai.py -d example.com -t 50python3 samurai.py -d example.com --format json
python3 samurai.py -d example.com --format txtpython3 samurai.py -d example.com --format json -o -python3 samurai.py -d example.com --no-otx --no-hackertarget| Parametre | Açıklama | Varsayılan |
|---|---|---|
-d, --domain |
Hedef domain (örn: example.com) |
zorunlu |
-w, --wordlist |
Dork/wordlist dosyası (opsiyonel) | dahili liste |
-t, --threads |
Eşleştirme thread sayısı (1–200) | 30 |
-o, --output |
Output dosyası (veya - → stdout) |
otomatik isim |
--format |
html / json / txt |
html |
--no-report |
Rapor yazma | kapalı |
-v, --verbose |
Detaylı log | kapalı |
-q, --quiet |
Minimal çıktı | kapalı |
--no-color |
ANSI renk kapat | kapalı |
--version |
Versiyon yazdır ve çık | kapalı |
--timeout |
HTTP timeout (sn) | 30 |
--retries |
HTTP retry sayısı | 2 |
--backoff |
Retry backoff (sn) | 0.7 |
--max-urls |
Havuz maksimum URL | 75000 |
--wayback-limit |
Wayback CDX limit | 50000 |
--otx-pages |
OTX sayfa sayısı (500/page) | 3 |
--no-wayback |
Wayback kapat | kapalı |
--no-hackertarget |
HackerTarget kapat | kapalı |
--no-otx |
OTX kapat | kapalı |
--no-ext-filter |
Static ext filtresi kapat | kapalı |
--no-path-filter |
Path filtresi kapat | kapalı |
--no-stopwords |
Stopwords filtresi kapat | kapalı |
--resolve-subdomains |
Subdomain’leri DNS resolve edip ekle | kapalı |
--config |
JSON config ile filtreleri override et | kapalı |
Bazı filtreleri dışarıdan yönetmek için --config ile JSON dosyası verebilirsin.
Örnek config.json:
{
"banned_ext": [".png", ".jpg", ".css", ".js"],
"banned_path": ["/assets/", "/static/", "/vendor/"],
"stopwords": ["the", "and", "www", "http", "https"],
"crit_patterns": [".env", "wp-config", ".git", ".sql", ".bak"],
"hot_keywords": ["admin", "login", "swagger", "graphql", "config"]
}Kullanım:
python3 samurai.py -d example.com --config config.json- Arama kutusu + severity filtreleri
- Tek dosya rapor
- Otomasyon/pipeline için uygun
results[]içinde URL bazlıhits[](eşleşen dork/term/type)
- CRITICAL/HIGH/NORMAL bölümlere ayrılmış çıktı
Samurai inurl, filetype, ext benzeri yaklaşımları destekler.
Örnek dorks.txt:
inurl:admin
inurl:login
inurl:dashboard
inurl:config
inurl:backup
inurl:upload
filetype:env
filetype:sql
filetype:log
ext:bakİpucu: Çok genel dork’lar gürültüyü arttırır. Hedefe göre listeyi özelleştirmek en iyi sonuç verir.
- Bazı servisler (özellikle ücretsiz endpoint’ler) rate-limit uygulayabilir.
- Çıktılar “potansiyel” bulgudur; doğrulama (manual/automated) gerektirir.
- Filtreler noise azaltır; gerektiğinde
--no-*-filterile kapatılabilir.
Bu araç yalnızca yetkili olduğunuz sistemlerde güvenlik testi ve OSINT amaçlı kullanılmalıdır.
Yetkisiz kullanım yasa dışı olabilir. Kullanım sorumluluğu kullanıcıya aittir.
MIT — detaylar için: LICENSE