Selamlar Herkese bu gün SmbCrawler hakkında yapılan bir araştırmayı sizlere sunmak istedim. Umarım keyifli bir konu olur.
SmbCrawler Nedir ?
SmbCrawler, etki alanı içerisinde kimlik bilgileri ve ana makine listesini bulunduğı dosyayı girdi olarak alan yetkilendirilmiş bir SMB Tarayıcısıdır (SMB Tarayıcısı (SMB Scanner), bir ağ üzerindeki Server Message Block (SMB) protokolünü kullanan cihazları ve paylaşılan dosyaları bulmak için kullanılan bir araçtır.). Bu araç ağ paylaşımlarını detaylı bir biçimde tarayarak izinlerini denetler, dizin ağaçarını tarar ve önceden belirlenen ve parametreleri yapılan dosyaları(sizin için ilgi çekici olan) otomatik olarak indirir ve parolalar,SSH anahtarı, DPAPI Blob'ları ile veritabanı dökümleri gibi yüksek olasılıklı önemli verileri depolamaya yarar. Kurumsal iç ağ sızma testleri ve kırmızı takım (Red Team) operasyonları bağlamında SmbCrawler, "ilk erişimi elde ettiğinde" durumun sistematik bir biçimde " dosya sunucularının kontrolünü ele alan " bir seviyeye taşır , bu amaç için özel olarak tasarlanmış bir keşif motoru işlevi görür.
SmbCrawler'a Genel Bakış.
Gerçekleşen her iç ağ sızma testi yada kırmızı takım angajmanı, eninde sonunda SMB yapılandırma hatalarından kaynaklanan sorunlardan sızma ile sonuçlanır. Paylaşılan sürücüler: düz metin olarak kimlik bilgileri,dışa aktarılmış e-posta kutuları,korunmasız yedekler ve hiçbir zaman temizlenmemiş " geçici" bellek dökümleri gibi kritik verileri sıklıkla barındırmaya devam eder. Bu sürecin temel araçlar ve Windows Explorer üzerinden manuel olarak yürütülmesi hem yavaş hemde yüksek derecede yakalanma riskini yükseltir . SmbCrawler, bu sorunu sürecin sıkıcı ve zaman alıcı kısımlarını otomatikleştirerek ortadan kaldırır:
SmbCrawler Nedir ?
SmbCrawler, etki alanı içerisinde kimlik bilgileri ve ana makine listesini bulunduğı dosyayı girdi olarak alan yetkilendirilmiş bir SMB Tarayıcısıdır (SMB Tarayıcısı (SMB Scanner), bir ağ üzerindeki Server Message Block (SMB) protokolünü kullanan cihazları ve paylaşılan dosyaları bulmak için kullanılan bir araçtır.). Bu araç ağ paylaşımlarını detaylı bir biçimde tarayarak izinlerini denetler, dizin ağaçarını tarar ve önceden belirlenen ve parametreleri yapılan dosyaları(sizin için ilgi çekici olan) otomatik olarak indirir ve parolalar,SSH anahtarı, DPAPI Blob'ları ile veritabanı dökümleri gibi yüksek olasılıklı önemli verileri depolamaya yarar. Kurumsal iç ağ sızma testleri ve kırmızı takım (Red Team) operasyonları bağlamında SmbCrawler, "ilk erişimi elde ettiğinde" durumun sistematik bir biçimde " dosya sunucularının kontrolünü ele alan " bir seviyeye taşır , bu amaç için özel olarak tasarlanmış bir keşif motoru işlevi görür.
Gerçekleşen her iç ağ sızma testi yada kırmızı takım angajmanı, eninde sonunda SMB yapılandırma hatalarından kaynaklanan sorunlardan sızma ile sonuçlanır. Paylaşılan sürücüler: düz metin olarak kimlik bilgileri,dışa aktarılmış e-posta kutuları,korunmasız yedekler ve hiçbir zaman temizlenmemiş " geçici" bellek dökümleri gibi kritik verileri sıklıkla barındırmaya devam eder. Bu sürecin temel araçlar ve Windows Explorer üzerinden manuel olarak yürütülmesi hem yavaş hemde yüksek derecede yakalanma riskini yükseltir . SmbCrawler, bu sorunu sürecin sıkıcı ve zaman alıcı kısımlarını otomatikleştirerek ortadan kaldırır:
- Bilgilerini tek seferde alır.
- Ana makine adları, IP adresleri, IP aralıkları veya Nmap XML çıktılarıyla beslenir.
- Paylaşımları, erişim izinlerini ve dizin yapılarını büyük ölçekte otomatik olarak enumerate eder.
- Gizli bilgi avcılığı profilleriyle eşleşen dosyaları otomatik olarak indirir ve yapılandırılmış, SQLite tabanlı bir veri deposuna kaydeder.
.Sonuç olarak SmbCrawler, günler yerine saatler içinde çalıştırabilen çıktıları kolayca grep'lenebilen aratabildiğiniz ve raporlanabilen, tekrarlanabilir bir iç keşif ve veriyi dışa aktarım yani exfiltration hattı sunar.
Peki SmbCrawler'ın Özellikleri neler ?
En son yayınlanan README dosyalarına göre SmbCrawler, özenle tasarlanmış aşağıdaki özellik setleri ile birlikte gelir:
Peki SmbCrawler'ın Özellikleri neler ?
En son yayınlanan README dosyalarına göre SmbCrawler, özenle tasarlanmış aşağıdaki özellik setleri ile birlikte gelir:
- Flexible hedef girişi:
Ana makine adlarını, tekil IP’leri, IP aralıklarını veya Nmap XML dosyalarını girdi olarak kabul eder. - İzin denetimleri:
Kimlik doğrulamayı hem misafir (guest) hem de sağlanan kullanıcı hesabı ile test eder; paylaşım erişimlerini ve isteğe bağlı olarak geçici bir dizin oluşturarak yazma yetkisini kontrol eder. - Yapılandırılabilir tarama derinliği:
Her paylaşım için ne kadar derine inilileceğini belirleme imkânı sunar; belirli yollar için ayrı profillerle derinlik geçersiz kılınabilir. - Pass-the-hash desteği:
Gerektiğinde düz metin parolalar yerine NTLM hash’leri kullanarak çalışabilir. - İlgi çekici dosya tespiti:
Kimlik bilgileri, yapılandırma dosyaları, bellek dökümleri ve anahtarlar gibi yüksek değerli dosyaları işaretleyip indiren ön tanımlı profillerle birlikte gelir. - Çok iş parçacıklı, duraklatılabilir motor:
Çalışma sırasında duraklatma, ana makineleri veya paylaşımları atlama ve durum inceleme gibi kontroller sunan çok iş parçacıklı bir tarama altyapısı sağlar. - SQLite tabanlı çıktı:
Bulguları bir SQLite veritabanına ve yapılandırılmış bir çıktı dizinine yazar; isteğe bağlı olarak etkileşimli HTML raporlama da üretir.
Peki SmbCrawler'ı nasıl kurabiliriz ?
SmbCrawler, PyPI üzerinde yayımlanan bir Python aracıdır. Yazar, sistem Python ortamının kirletilmemesi amacıyla özellikle pipx kullanımını önermektedir. README dosyasından alınan kurulum örnekleri aşağıda yer almaktadır:
Kod:
# Kurulum
pipx install smbcrawler
Kod:
# İkili dosya dönüştürme yardımcılarıyla önerilen kurulum (PDF, XLSX, DOCX, ZIP vb.)
pipx install "smbcrawler[binary-conversion]"
[binary-conversion] eklentisi, SmbCrawler’ın yaygın ikili dosya formatlarını metne dönüştürebilmesi için MarkItDown bağımlılığını sisteme dahil eder. Kırmızı takım kullanım senaryolarında bu seçeneğin neredeyse her zaman etkinleştirilmesi tavsiye edilir.
Nasıl SmbCrawler Kullanılır ?
README dosyasındaki örnekleri baz alarak , alan adı (domain) kimlik bilgileri ile bir hedef listesine karşı yapılan tipik bir taramayı gösterelim.
Kod:
$ smbcrawler crawl -i hosts.txt -u pen.tester -p iluvb0b -d contoso.local -t 10 -D 5
Bu komut peki ne işe yarar ?
- Hedef listesi olarak hosts.txt dosyasını kullanır.
- contoso.local alan adında pen.tester kullanıcısı olarak kimlik doğrulaması yapar.
- 10 adet iş parçacığı (worker threads) oluşturur (-t 10).
- Her bir paylaşımı 5 klasör derinliğine kadar tarar (-D 5).
Tarama sırasında crawler ile şu tuşları kullanarak etkileşime girebilirsiniz:
- p: Duraklatır ve belirli ana makineleri (host) veya paylaşımları seçerek atlamanızı sağlar.
- <boşluk>: Güncel ilerleme durumunu yazdırır.
- s: Daha detaylı bir durum görünümü gösterir.
Sistemin analitik kabiliyetinin merkezinde Profil Mimarisi yer almaktadır. YAML formatında konfigüre edilen bu profiller; hangi dosya nesnelerinin veya dizin yapılarının "kritik öznitelik" taşıdığını, derinlemesine analiz (deep-dive) eşiklerini ve hangi gizli verilerin (credentials/secrets) bayraklandırma mekanizmasına tabi tutulacağını belirleyen deterministik kurallar kümesidir. Kullanıcılar, kurumsal iş mantığına (business logic) veya dahili isimlendirme konvansiyonlarına özgü özel profiller entegre ederek sistemin varsayılan tespit yeteneklerini genişletebilirler.
Temel Hedef: Ele geçirilmiş tek bir Windows kimlik bilgisini; tek bir operasyonel döngü (sprint) içerisinde, SMB veri maruziyetine dair bütüncül bir içgörüye ve küratörlüğü yapılmış bir ganimet setine dönüştürmektir.
Örnek bir öperasyonel İş Akışı:
- İlk Erişim ve Yetki Kazanımı: Oltalama (phishing), parola püskürtme (password spraying) veya önceden elde edilmiş bir sızma noktası (foothold) aracılığıyla geçerli domain kimlik bilgileri temin edilir.
- Ağ Keşfi ve Hedef Envanteri: Mevcut araçlar (örneğin keimpx veya Nmap betikleri) kullanılarak potansiyel SMB hostları tespit edilir ve bir hedef dosyasına dışa aktarılır.
- Yüzey Alanı Haritalama: SmbCrawler, sığ bir derinlikte (örneğin -D 1) ve opsiyonel yazma kontrolleriyle çalıştırılarak hangi host ve paylaşımların okunabilir veya yazılabilir olduğu haritalandırılır; bu veriler özel bir tarama dosyası olarak kaydedilir.
- Hiyerarşik Önceliklendirme ve Derinlemesine Analiz: Oluşturulan başlangıç veri tabanı kullanılarak "yüksek değerli" paylaşımlar önceliklendirilir; ardından SmbCrawler, daraltılmış bir hedef kümesine karşı daha fazla derinlik ve optimize edilmiş profillerle yeniden koordine edilir.
- Veri Ekstraksiyonu ve Yanal Hareket (Lateral Movement): SQLite veri tabanı ve indirilen dosyalardan parolalar, SSH anahtarları, VPN konfigürasyonları, DPAPI verileri, uygulama sırları ve veri tabanı dökümleri ayıklanır. Elde edilen bu veriler, ağda daha ileri seviyede konumlanmak amacıyla NetExec gibi yanal hareket araçlarına girdi olarak beslenir.
- Grafik Tabanlı Ayrıcalık Analizi (Opsiyonel): Elde edilen ayrıcalıklar ve erişim yolları BloodHound ile Active Directory üzerinde görselleştirilerek, paylaşım seviyesindeki bulgular tam teşekküllü grafik tabanlı saldırı rotalarına dönüştürülür.
Red Team Perspektifi
SmbCrawler, pratik uygulanabilirlik ile nüfuz derinliği arasındaki o nadir dengeyi (sweet spot) temsil eder. Gerçek istemci ağlarında rutin olarak koşturulabilecek kadar yüksek performanslıdır; aynı zamanda terabaytlarca anlamsız veri yığını (junk) içinde boğulmak yerine, yüksek değerli ganimetleri (loot) açığa çıkaracak düzeyde rafine edilmiştir.Bir "red team" perspektifinden şunları yapmanıza olanak tanır:
- SMB Maruziyetini Sayısallaştırma: "X adet host, Y readable shares olarak okunabilir , Z yazma erişimi olan alan ve N adet yüksek öncelikli gizli anahtar/veri tespit edildi" şeklinde somut veriler sunar.
- Tekrarlanabilir Oyun alanı (Playbooks) Oluşturma: Angajman kitinizle birlikte önceden optimize edilmiş (pre-tuned) profiller göndererek, farklı istemci ortamları için standartlaştırılmış operasyon süreçleri inşa edebilirsiniz.
- Operasyonel Güvenliği (OPSEC) Sıkılaştırma: SmbCrawler; gürültü yaratan manuel dosya taramalarından ve jump box'lara saçılmış rastgele PowerShell script'lerinin yarattığı izlerden kaçınmanızı sağlar.
Tespit ve Etkisiz Hale Getirme (Detection and Mitigation)
Blue-Team perspektifinden bakıldığında, SmbCrawler’ın kabiliyetleri doğrudan önceliklendirmeniz gereken denetim mekanizmalarına (controls) dönüşmektedir:- Paylaşım İzinlerini Düzenli Olarak Denetleyin: Özellikle hassas kök dizinler ve kullanıcı profili paylaşımları üzerindeki "Everyone" ve "Authenticated Users" erişim yetkilerini sistematik olarak valide edin.
- Yazma Erişimini Sıkılaştırın (Hardening): Standart kullanıcıların dizin ve dosya oluşturma yetkilerini kısıtlayın; zira SmbCrawler’ın "yazma denetimi" (write-check) özelliği, bir saldırganın operasyonel araçlarını veya silahlandırılmış dokümanlarını tam olarak nereye konumlandırabileceğini deşifre eder.
- Paylaşımlardaki Hassas Veri Yoğunluğunu Azaltın: Genel amaçlı paylaşımlardan açık metin (cleartext) parolaları, SSH anahtarlarını, DPAPI ana anahtarlarını (master keys) ve bellek dökümlerini (dumps) kaldırın veya kriptografik yöntemlerle koruma altına alın.
- Anomali Teşkil Eden Numaralandırma (Enumeration) Modellerini İzleyin: Çok izlekli (multi-threaded) tarayıcılar, SMB günlüklerinde (logs) genellikle karakteristik izler bırakır; tek bir kaynaktan gelen yüksek hacimli dizin listeleme taleplerini ve yeni host'lara yönelik tekrarlanan erişim girişimlerini takip edin.
- SmbCrawler Benzeri Verileri DLP ve UEBA Sistemlerine Aktarın: Geniş kapsamlı okuma erişimini tamamen engelleyemediğiniz durumlarda, en azından olağandışı aktörlerin (principals) dosya ekosisteminizin geniş bir bölümünü taradığı anları tespit edin.
| Kategori | SmbCrawler Farkı |
| Basit Tarayıcılar (keimpx, temel Nmap scriptleri) | Bu araçlar kimlik doğrulaması ve paylaşım numaralandırmada başarılıdır; ancak içeriklere derinlemesine nüfuz etmezler veya gizli verileri sınıflandırmazlar. SmbCrawler, asıl "ganimeti" bulana kadar durmaz. |
| Manuel PowerShell ve Ad-hoc Scriptler | Özel scriptler esnektir ancak sürdürülebilirlikleri ve raporlamaları zordur. SmbCrawler’ın SQLite çıktısı ve profil sistemi, her operasyon için tutarlı ve tek bir "gerçeklik kaynağı" sunar. |
| Genel Keşif Çatıları (Sn1per, Scanners-Box) | Bu çatılar birçok protokolde genişlik (breadth) sağlar; SmbCrawler ise iç ağdaki en çok suistimal edilen saldırı yüzeylerinden biri olan Windows dosya paylaşımlarında dikey derinlik (depth) sunar. |
Sonuç (Conclusion)
Eğer yürüttüğünüz iç ağ angajmanları Windows ağlarına dokunuyorsa, SmbCrawler araç çantanızda kalıcı bir slotu hak ediyor demektir. Bu araç; SMB sunucuları, legacy paylaşımlar ve unutulmuş dışa aktarımlardan oluşan karmaşık yapıyı, üzerinde aksiyon alabileceğiniz yapılandırılmış bir izin ve sırlar haritasına dönüştürür. Savunmacılar için bu aracı kontrollü bir şekilde koşturmak, onlara acı verici olsa da gerçek veri maruziyetinin -yani motive bir saldırganın göreceği tablonun aynısının- net bir resmini sunacaktır.
Daha fazla bilgi ve uygulamayı indirmek için Tıklayınız.
Daha fazla bilgi ve uygulamayı indirmek için Tıklayınız.

