Gidip piyasadaki en pahalı phishing simülatörünü alıp, personelin önüne her ay 'Hediye çeki kazandınız' diye bayat bir mail atmak tam bir vizyonsuzluk. Hatta daha ileri gideyim; bu yaptığınız iş değil, sadece 'yönetime rapor sundum mu, sundum' demek için uydurulmuş bir bürokrasi. Eğer sosyal mühendisliği sadece tıklandığında 'Eyvah, hacklendiniz!' uyarısı çıkaran o dandik araçlardan ibaret sanıyorsanız, gerçek bir Red Teamer kapınızdan içeri girdiğinde ne olduğunu bile anlamazsınız. Gerçek dünya öyle çalışmıyor dostum.
Sektörde herkes 'Human Firewall' (İnsan Güvenlik Duvarı) falan diye havalı terimler savuruyor ama kimse o duvarın harcının ne kadar çürük olduğunu konuşmuyor. Sosyal mühendislik bir araç değil, bir psikoloji ve gözlem sanatıdır. Bugün size o çok övülen phishing araçlarının neden çöp olduğunu ve sahada işlerin nasıl yürüdüğünü biraz samimiyetle anlatacağım.
OSINT: Kapıyı Çalmadan Önce Paspasın Altına Bakmak
Bir sisteme sızmak için terminalin başında ter dökmeden önce yaptığımız ilk şey, o şirketin 'dijital gürültüsünü' dinlemektir. Sosyal mühendislikte teknik hazırlık, saldırının %90'ını oluşturur. LinkedIn'de yeni işe giren bir IT personeli mi buldunuz? Harika. O arkadaş muhtemelen 'testCompany' bünyesindeki ilk haftasında her şeyi ispatlama derdindedir.
Bir saldırgan olarak onun hangi teknolojileri kullandığını anlamak için 'GitHub' profilini, StackOverflow sorularını veya Twitter'daki dert yanmalarını takip ederim. Eğer adam 'Proxy arkasından Docker imajı çekemiyorum, yardım!' diye bir tweet attıysa, benim için artık bir hedef değil, bir 'giriş noktasıdır'.
Buradaki savunma stratejisi 'Paylaşmayın' demek kadar basit değil. Buradaki strateji, personelin 'ne paylaştığında risk oluşturduğunu' gerçekten kavramasıdır. Şirket içi kullanılan VPN markasını veya internal domain yapısını ifşa eden bir ekran görüntüsü, bizim için altın değerindedir.
Pretexting: Rol Yapma Sanatı ve Güvenin İstismarı
Phishing sadece mail atmak değildir. En etkili yöntemlerden biri 'Pretexting' yani bir senaryo üzerine kurgulanmış roldür. Kendimi bir kurye, bir denetçi veya genel müdürlükten gelen o 'gıcık' IT denetmeni olarak tanıtabilirim. İnsan beyni otoriteye, aciliyete veya yardımlaşma arzusuna yenik düşer.
Örneğin, testCompany içindeki bir çalışanı arayıp (Vishing), teknik destekten aradığımı ve hesabında 'şüpheli' bir aktivite gördüğümü söylediğimde, karşımdaki kişinin ilk refleksi savunma değil, yardımdır. İşte o an, sahte bir giriş sayfasının linkini 'hızlıca kontrol etmesi için' atarım.
Teknik Uygulama: Zararsızlaştırılmış Bir Credential Harvester
Bir sosyal mühendislik saldırısında teknik altyapı genellikle çok basittir. Amaç, hedefi şüphe uyandırmadan yönlendirmektir. Aşağıda, eğitim amaçlı kurgulanmış, gelen veriyi sadece loglayan ama hiçbir yere kaydetmeyen 'zararsızlaştırılmış' (defanged) bir Flask örneği görebilirsiniz. Bu, bir saldırganın nasıl basitçe bir 'login' sayfası taklit edebileceğini gösterir:
# EĞİTİM AMAÇLI: Zararsızlaştırılmış Kimlik Bilgisi Yakalama Simülasyonu
# Bu kod sadece terminale log basar, veritabanı kaydı yapmaz.
from flask import Flask, request, render_template_string
app = Flask(__name__)
# Sahte giriş sayfası şablonu (Sadece görsel amaçlı)
LOGIN_PAGE = '''
<html>
<body>
<h2>testCompany - SSO Giriş Paneli</h2>
<form method="POST" action="/auth-gateway">
Kullanıcı Adı: <input type="text" name="user"><br>
Şifre: <input type="password" name="pass"><br>
<input type="submit" value="Giriş Yap">
</form>
</body>
</html>
'''
@app.route('/login')
def login_page():
return render_template_string(LOGIN_PAGE)
@app.route('/auth-gateway', methods=['POST'])
def capture():
user = request.form.get('user')
# DİKKAT: Şifreler asla plain-text tutulmamalı ve bu yöntemle toplanmamalıdır.
# Bu sadece bir Red Team farkındalık gösterimidir.
print(f"[GÜVENLİK UYARISI] Etkileşim algılandı. Kullanıcı: {user}")
# Hedefi gerçek sisteme yönlendirerek şüpheyi azaltma taktiği
return "Sistem yoğunluğu nedeniyle ana sayfaya yönlendiriliyorsunuz... <script>window.location='https://portal.example.com';</script>"
if __name__ == '__main__':
# Sadece lokal test için 127.0.0.1 üzerinde çalıştırılır.
app.run(host='127.0.0.1', port=8080)
Bir saldırgan bu yapıyı kurduktan sonra, URL'yi sso-testCompany.info (example.com gibi düşünün) şeklinde bir domain ile maskeleyerek hedefe ulaştırır. Kullanıcı, adres çubuğuna bakmazsa -ki çoğu zaman bakmaz- oltaya gelmiş demektir.
MFA Fatigue: 'Evet'e Basana Kadar Durmamak
Şimdi gelelim o meşhur Çok Faktörlü Doğrulama (MFA) meselesine. Birçok kurum 'MFA'mız var, biz güvendeyiz' diyor. Yanılıyorsunuz dostum. MFA Fatigue (MFA Yorgunluğu) diye bir gerçek var. Eğer bir saldırgan elinde kullanıcı adı ve şifre varsa, hedefin telefonuna gece saat 03:00'te ardı ardına 50 tane onay bildirimi gönderebilir.
O uykulu haliyle 'Yeter be!' diyip 'Onayla' butonuna basan o kadar çok yönetici gördüm ki, inanamazsınız. Teknik olarak en güçlü kale, bir anlık 'insani' yorgunlukla içeriden yıkılır.
Peki Ne Yapacağız? (Defensive Mindset)
Sosyal mühendisliği engellemenin yolu 'yasaklamak' değildir. Yasaklar her zaman aşılır.
- Kültür Değişimi: 'Hata yaparsan seni kovarlar' korkusu olan bir şirkette, çalışan tıkladığı zararlı linki IT ekibine bildirmez. 'Hata yapabilirsin, yaparsan hemen haber ver ki çözelim' kültürü en büyük savunmadır.
- Donanımsal Anahtarlar: Eğer imkanınız varsa, push bildirimli MFA yerine FIDO2 destekli donanımsal güvenlik anahtarları (YubiKey vb.) kullanın. Bunlar, domain eşleşmesi yapmadan kod üretmez, dolayısıyla sahte sitelere karşı %100'e yakın koruma sağlar.
- Proses Güvenliği: Bir çalışan, 'Genel Müdür'den mail geldi, hemen şu ödemeyi yap' dendiğinde, o mailin doğruluğunu teyit edeceği ikinci bir kanal (out-of-band) kullanmalı. WhatsApp'tan yazmak veya aramak gibi basit bir kural, milyon dolarlık CEO Fraud dolandırıcılıklarını engeller.
Bitirirken
Sosyal mühendislik, insanın içindeki 'yardım etme' ve 'korku' duygularını sömürür. Teknik açıklar yamalanır (patch management), ama insan doğasına yama atamazsınız. Bizim işimiz Red Team olarak bu zayıflıkları gösterip, kurumu sadece firewall arkasına değil, bilinçli bir süreç yönetimine taşımaktır.
Unutmayın, en sofistike exploit bile, bir çalışanın 'Kapıyı benim için tutar mısın?' diyen yabancıya gülümsediği o saniye kadar etkili değildir.
Stay safe, stay paranoid.
