Thread Starter
#0
YASAL UYARI:Bu makale, Red Team operasyonlarında güvenlik kontrollerinin (SmartScreen, AV) nasıl test edileceğini ve Blue Team analistlerinin sahte imzaları nasıl tespit edebileceğini anlatmak için hazırlanmıştır. Dijital sertifikaların çalınması veya kötüye kullanılması ciddi bir siber suçtur.
1. Giriş: "Mavi Rozet" Yanılgısı
Windows işletim sisteminde bir .exe dosyasına sağ tıklayıp özellikler dediğinizde "Dijital İmzalar" sekmesini görmek, kullanıcıya ve hatta kıdemli sistem yöneticilerine bile güven verir. "Microsoft Corporation" veya "Google LLC" imzası taşıyan bir dosyayı kim virüs sanar ki?Code Signing (Kod İmzalama), yazılımın bütünlüğünü ve kaynağını doğrular. Ancak saldırganlar için bu mekanizma, aşılması gereken bir duvardan ziyade, saklanılacak bir maskedir.
Eğer bir zararlı yazılım imzalıysa:
- SmartScreen uyarısı (Bilinmeyen Yayıncı) çıkmaz.
- Antivirüsler (heuristic tarama) dosyaya daha toleranslı davranır.
- Analistler (Incident Response) "Bu dosya imzalı, temizdir" diyerek geçer.
2. Yöntem 1: "SigThief" ile İmza Kopyalama (Görsel Aldatmaca)
Bir dosyanın dijital imzası, aslında dosyanın sonuna eklenen (append edilen) bir veri bloğudur (PKCS#7 blob).Ünlü güvenlik araştırmacısı Josh Pitts tarafından geliştirilen SigThief tekniği şuna dayanır: Microsoft'un orijinal bir dosyasından (örneğin consent.exe) imza bloğunu kesip, kendi zararlı yazılımımızın sonuna yapıştırabiliriz.
Teknik Analiz:
Windows PE (Portable Executable) yapısında "Certificate Table" bir adresi işaret eder. Biz bu adresi değiştirip, kopyaladığımız imzayı gösterirsek ne olur?- Sonuç: Dosyaya sağ tıklandığında "Microsoft Corporation" imzası görünür.
- Sorun: İmza "Geçersiz" (Invalid) olarak işaretlenir çünkü dosyanın Hash'i (özeti) değişmiştir.
- Vuruş: Bu teknik işletim sistemini kandırmaz (imza geçersizdir), ancak dosyayı inceleyen insan gözünü kandırır. Bir yönetici "Properties" sekmesine baktığında imza sahibini görür ve detaya inmezse tuzağa düşer.
CODE
123456# SigThief Mantığı (Kavramsal Python)
# 1. Hedef imzalı dosyanın sertifika tablosunu oku.
# 2. Zararlı dosyanın (payload.exe) sonuna bu tabloyu ekle.
# 3. Checksum'ı güncelleme (Bazen bozulmaya yol açar).
python sigthief.py -i clean_microsoft_file.exe -t malware.exe -o signed_malware.exe3. Yöntem 2: DLL Side-Loading (Proxy Signing)
Bu yöntem, 2026 yılının en geçerli ve tehlikeli tekniğidir. Burada sahte imza kullanmayız; gerçek imzalı bir dosyayı kendi amacımız için kullanırız.Mantık:Microsoft imzalı yasal bir uygulama (örneğin eski bir Teams Updater veya OneDrive.exe), çalışırken yanındaki bir DLL dosyasını (örneğin version.dll) yükler.
Eğer biz, gerçek OneDrive.exe'nin yanına kendi zararlı kodumuzu içeren version.dll dosyasını koyarsak ne olur?
- Kullanıcı veya Sistem OneDrive.exe'yi çalıştırır.
- İşletim sistemi "Bu dosya Microsoft imzalı, güvenli" der ve çalışmasına izin verir.
- OneDrive.exe, bizim zararlı version.dll dosyamızı yükler ve kodumuzu çalıştırır.
4. Yöntem 3: Sertifika Hırsızlığı (The Holy Grail)
En "Epic" ve en zor yöntemdir. Lapsus$ grubu (NVIDIA sızıntısı) ve Stuxnet (Realtek/JMicron sertifikaları) bunun en büyük örnekleridir.Saldırganlar, büyük bir teknoloji şirketinin "Private Key"ini (Özel Anahtar) ele geçirirse, kendi zararlı yazılımlarını o şirketmiş gibi gerçekten imzalayabilirler.
- Etki: İşletim sistemi, antivirüs ve kullanıcılar dosyayı %100 meşru ve güvenli görür.
- Risk: Sertifika otoritesi (CA) durumu fark ettiğinde sertifikayı iptal eder (Revocation), ancak bu süre zarfında binlerce sistem enfekte olabilir.
5. Teknik Derinlik: PE Yapısı ve Authenticode
Bir dosyanın imzalı olup olmadığını anlamak için PE Header yapısındaki IMAGE_DIRECTORY_ENTRY_SECURITY alanına bakılır.Red Teamer'lar için önemli bir not: Bazı güvenlik araçları, sadece bu alanda veri olup olmadığına bakar, imzanın geçerliliğini doğrulamaz (zaman ve performans kaybı olmaması için). Bu zafiyet, geçersiz imzaların bile bazı güvenlik duvarlarını aşmasını sağlar.
CODE
1234# PowerShell ile bir dosyanın imzasını doğrulama (Blue Team Aracı)
Get-AuthenticodeSignature -FilePath "C:\Path\To\File.exe" | Format-List *
# Eğer Status "Valid" değilse (HashMismatch vb.), imza spoof edilmiştir.6. Blue Team: Sahte İmzayı Nasıl Anlarız?
- Status Check: Sadece imzanın varlığına değil, Valid (Geçerli) olup olmadığına bakılmalıdır.
- Timestamp (Zaman Damgası): İmza zamanı ile dosyanın derlenme zamanı (Compile Time) arasındaki tutarsızlıklar şüphe çekicidir.
- Subject/Issuer Analizi: İmzalayan kişi "Microsoft" görünebilir ama sertifikayı veren kurum (Issuer) bilinmedik bir yerel CA ise bu bir saldırıdır.
- Process Hacker / Process Explorer: Bu araçlar, çalışan işlemlerin imzalarını renk kodlarıyla (Yeşil: Güvenilir, Kırmızı: İmzasız/Geçersiz) gösterir.
7. Sonuç
"Güven" siber dünyadaki en büyük zafiyettir. Code Signing Spoofing, makinelerin birbirine duyduğu bu matematiksel güveni istismar eder. 2026'da modern EDR'lar artık sadece imzaya bakmıyor, imzalayanın "Reputation" (İtibar) puanına da bakıyor. Ancak DLL Side-Loading gibi yöntemler, güven zincirinin hala en zayıf halkası olmaya devam ediyor.