
Sun Sep 27 2026

Merhaba! 👋
Bugün birlikte siber güvenliğin gizli tehlikeleri üzerine sohbet edeceğiz.
Hepimiz günlük hayatımızda telefon, tablet, laptop — kısacası her an çevrimiçiyiz.
Peki, bu bağlantı bize ne kadar güvenli geliyor?
Bu senaryo yalnızca filmlerde değil, gerçek hayatta her gün tekrar ediyor.
| Terim | Ne anlama gelir? | Neden önemli? |
|---|---|---|
| Scareware | “Sistemde virüs var!” diye korkutup tıklatmaya çalışan sahte uyarılar. | Kullanıcıyı panik içine sokar, kötü amaçlı yazılım indirir. |
| Malvertising | Zararlı reklamlar aracılığıyla yayılan kötü amaçlı kodlar. | Güvenilir sitelerde bile gizlice bulaşabilir. |
Kısaca: Her ikisi de güven duygumuzu sömürerek cihazımızı ele geçirmeye çalışır. 🎭
Hazırsan derinlemesine inceleyelim ve dijital hayatımızı biraz daha güvenli hale getirelim! 🚀
Hadi bir sahte sistem uyarısı sayfasının içine girelim ve bu sayfaların nasıl çalıştığını adım adım inceleyelim. Amaç: saldırganın oyun kitabını anlamak ki, kullanıcılarınızı (ve kendinizi) koruyabilelim 🛡️
Sahte uyarı sayfalarının tek bir hedefi var: kullanıcının panik yapıp düşünmeden hareket etmesini sağlamak. Bunu üç ana unsuru birleştirerek başarırlar:
| Unsur | Ne İşe Yarar? |
|---|---|
| Tam ekran modal | Tarayıcıyı kapatma, sekme değiştirme, ESC tuşu → hepsi engellenir (veya öyle sanılır) |
| Sayaç (countdown) | "Süre dolunca sistem kilitlenecek / veriler silinecek" psikolojisi kurar ⏱️ |
| Sesli uyarı + sahte destek numarası | Duygusal baskıyı zirveye taşır, "acil yardım" çağrısı yapar 📞 |
Aşağıda eğitim amaçlı, sadeleştirilmiş bir örnek var. Gerçek saldırılar çok daha obfuscate (karmaşıklaştırılmış) olsa da, iskelet bu şekildedir:
<!DOCTYPE html>
<html lang="tr">
<head>
<meta charset="UTF-8">
<title>Sistem Uyarısı</title>
<style>
/* Modal tam ekranı kaplar, kullanıcıyı "hapseder" */
.overlay {
position: fixed;
inset: 0;
background: rgba(0, 0, 0, 0.95);
color: #fff;
display: flex;
flex-direction: column;
align-items: center;
justify-content: center;
z-index: 999999; /* Diğer her şeyin üstünde */
font-family: system-ui, sans-serif;
}
.warning-box {
background: #b71c1c;
padding: 2rem;
border-radius: 8px;
text-align: center;
max-width: 90%;
box-shadow: 0 0 30px rgba(255, 0, 0, 0.6);
}
h1 { font-size: 1.8rem; margin-bottom: 0.5rem; }
.timer { font-size: 3rem; font-weight: bold; color: #ffeb3b; margin: 1rem 0; }
.phone { font-size: 1.3rem; color: #fff; background: #1565c0; padding: 0.5rem 1rem; border-radius: 4px; text-decoration: none; display: inline-block; margin-top: 1rem; }
.phone:hover { background: #1e88e5; }
</style>
</head>
<body>
<div class="overlay" id="overlay">
<div class="warning-box" role="alertdialog" aria-labelledby="alert-title" aria-describedby="alert-desc">
<h1 id="alert-title">⚠️ KRİTİK GÜVENLİK UYARISI</h1>
<p id="alert-desc">Bilgisayarınızda şüpheli bir faaliyet tespit edildi. Sistem güvenliğiniz tehlikede.</p>
<div class="timer" id="timer">05:00</div>
<p>Süre dolunca sisteminiz kalıcı olarak kilitlenecektir.</p>
<a href="tel:+908501234567" class="phone" id="support-phone">📞 Destek Hatını Ara: +90 850 123 45 67</a>
</div>
</div>
<script>
// ---------- 1. SESLİ UYARI (Web Audio API) ----------
function playAlarm() {
const ctx = new (window.AudioContext || window.webkitAudioContext)();
const oscillator = ctx.createOscillator();
const gainNode = ctx.createGain();
oscillator.type = 'square'; // Keskin, rahatsız edici ton
oscillator.frequency.value = 880; // La5 notası
gainNode.gain.value = 0.3; // Ses seviyesi
oscillator.connect(gainNode);
gainNode.connect(ctx.destination);
oscillator.start();
// 500ms sonra sessize al, sonra tekrar et (döngü)
setTimeout(() => oscillator.stop(), 500);
}
// Her 1.5 saniyede bir alarm çal
const alarmInterval = setInterval(playAlarm, 1500);
// ---------- 2. SAYAC (COUNTDOWN) ----------
let seconds = 300; // 5 dakika
const timerEl = document.getElementById('timer');
function updateTimer() {
const m = Math.floor(seconds / 60).toString().padStart(2, '0');
const s = (seconds % 60).toString().padStart(2, '0');
timerEl.textContent = `${m}:${s}`;
if (seconds <= 0) {
clearInterval(timerInterval);
clearInterval(alarmInterval);
// ---------- 3. YÖNLENDİRME (setTimeout ile) ----------
// Sayaç biterse sahte "destek" sayfasına veya indirme sayfasına atar
window.location.href = 'https://sahte-destek-sitesi.com/cozum.html';
}
seconds--;
}
const timerInterval = setInterval(updateTimer, 1000);
updateTimer(); // İlk anında göster
// ---------- 4. KULLANICI KAÇIŞINI ENGELLEME (Bazı Tarayıcılarda İşe Yarar) ----------
// ESC, F11, Ctrl+W, Alt+F4 gibi tuşları yakalamaya çalışır
document.addEventListener('keydown', (e) => {
if (e.key === 'Escape' || e.key === 'F11' || (e.ctrlKey && e.key === 'w') || (e.altKey && e.key === 'F4')) {
e.preventDefault();
e.stopPropagation();
playAlarm(); // Kaçmaya çalışınca alarmı tetikle
}
}, true);
// Sağ tık menüsünü devre dışı bırak
document.addEventListener('contextmenu', e => e.preventDefault());
// Tarayıcıyı tam ekrana zorla (Kullanıcı izni gerektirir, genelde reddedilir ama denenir)
if (document.documentElement.requestFullscreen) {
document.documentElement.requestFullscreen().catch(() => {});
}
</script>
</body>
</html>
.overlay)position: fixed; inset: 0; → Sayfanın tamamen üzerine otururz-index: 999999 → Diğer her elementin (hatta devtools bile) üzerinde kalmaya çalışırrole="alertdialog" + aria-* → Erişilebilirlik (accessibility) attributes kullanıcıyı kandırmak için hileli şekilde kullanılır — ekran okuyucular "kritik uyarı" derplayAlarm)AudioContext → Tarayıcının düşük gecikmeli ses motoruOscillatorNode.type = 'square' → Kare dalga = çok rahatsız edici, "sistem hatası" hissi verirsetInterval(playAlarm, 1500) → Ses tekrar tekrar çalar, kullanıcı sustur butonunu arar (bulamaz)💡 Gerçek hayatta: Saldırganlar
AudioContextbaşlatmak için kullanıcı etkileşimi (tıklama, tuş basma) gerektirdiğini bilirler. Bu yüzden sayfa yüklendiğindedocument.body.onclick = () => { ctx.resume(); ... }gibi bir tetikleyici koyarlar.
setTimeout YönlendirmesisetInterval(updateTimer, 1000) → Her saniye günceller, kullanıcı zamanın gözü önünde biterken izler0 olduğunda clearInterval → alarm durur, sonra window.location.href ile yönlendirmekeydown listener true (capture phase) ile eklenir → en önce biz yakalarıze.preventDefault() + e.stopPropagation() → Tarayıcının varsayılan davranışını (ESC ile fullscreen çıkış, Ctrl+W ile sekme kapatma) iptal etmeye çalışırcontextmenu engelleme → Sağ tık "İncele" / "Kaynak Göster" menüsünü gizler❗ Not: Modern tarayıcılar (Chrome, Firefox, Edge) bu engellemeleri tamamen respected etmez. Örneğin ESC tuşu her zaman fullscreen'den çıkışı zorunlu kılar. Ama kullanıcı bunu bilmez — panik anında "çıkamıyorum" der.
| Teknik | Psikolojik Etki |
|---|---|
| Kırmızı arka plan + uyarı ikonu | Tehlike algısını anında tetikler (beyinde amigdala harekete geçer) |
| Geri sayım (05:00 → 00:00) | "Zaman kaybediyorum, hemen bir şey yapmalıyım" aciliyeti yaratır ⏱️ |
| Sesli alarm | Görselden bağımsız olarak işitme duyusunu da istila eder, odaklanmayı bozar 🔊 |
| Sahte destek numarası (0850 / 0800) | "Resmi destek" hissiyatı verir, kullanıcı arar → saldırgan "teknisyen" olur 📞 |
| Sistem kilitlenme tehdidi | Kayıp averzyonu (loss aversion) — "verilerim gider" korkusu mantığı baskılar |
*support*.xyz, *tech-help*.top) bloklayın.Fullscreen API iznini kısıtlayın, AudioContext otomatik başlatmayı engelleyin.Unutmayın: Bu sayfaların hiçbiri sisteminize bulaşmamıştır. Sadece bir tarayıcı sekmesidir. Sekmeyi kill edince biter. Bu basit gerçeği hatırlatmak, kullanıcınızı kurtarır. 🛡️
Hazırsan bir sonraki bölümde: Bu sayfaların nasıl dağıtıldığını (malvertising, SEO poisoning, push bildirimi) ve ağ seviyesinde nasıl tespit edileceğini konuşalım. 🚀
Hazırsan bu kısmı adım adım inceleyelim 🎯
| Uzantı Türü | Ne Sağlıyor? | Sahte Kullanım |
|---|---|---|
| Sitelink | Ek sayfa linkleri | Sahte “İndirim”, “Garanti” sayfalarına yönlendirme |
| Callout | Kısa avantajlar | “%100 Orijinal”, “Hızlı Teslimat” |
| Structured Snippet | Kategori listesi | “Markalar: Apple, Samsung” (gerçek stok yok) |
| Location | Fiziksel adres | Sahte mağaza adresi / boş bir ofis |
Ne oluyor burada?
Uzantılar reklamı daha profesyonel gösteriyor, kullanıcı “güvenli” hissedip tıklıyor 🎣
Sonuç: Sahtekarlar Google Ads’in hızlı onay ve gecikmeli raporlama zayıflıklarını birleştirerek düşük maliyetle büyük trafik yakalıyor. Bizim tarafımızdan proaktif doğrulama ve gerçek zamanlı izleme bu zinciri kırmak için en etkili yollar 🚀
Hazırsan bu kırmızı bayrakları tek tek inceleyelim. Her biri tek başına bir şey ifade etmez ama birkaç tanesi bir arada çıktığında "dur, bir saniye" demenin vakti gelmiştir 🛑
Ne oluyor? Saldırganlar genellikle meşru siteleri taklit eden, ama ufak farklar taşıyan URL'ler kullanır.
Kontrol listesi:
google.com vs goog1e.com, paypal.com vs paypal-security.com)security.google.com.attacker.com — aslında attacker.com!)https:// mi? (http:// görürsen hemen çık)?redirect=..., ?token=...)💡 İpucu: Adres çubuğuna tıkla, tam URL'i gör. Bazı tarayıcılar kısaltır.
Ne oluyor? Kilit ikonu 🔒 sadece "bağlantı şifreli" der, "site güvenli" demaz.
Kontrol listesi:
⚠️ Unutma: Let's Encrypt ücretsiz sertifika verir. Saldırgan da alabilir. Sertifika kimlik kanıtı değil, sadece şifreleme kanıtıdır.
Ne oluyor? Bazı phishing siteleri, adres çubuğunun içine kilit emojisi koyar veya favicon olarak kullanır.
Kontrol listesi:
🧠 Eğlence notu: Bazı siteler favicon olarak 🔒 koyar. Tarayıcının kendi kilidi parlak/renklidir, sayfa içi kilit düz resimdir.
Ne oluyor? Kötü niyetli siteler requestFullscreen() API'sini kullanıp, sahte bir tarayıcı arayüzü çizer. Sen sanırsın tarayıcındasın, aslında sayfa içindesin.
Kontrol listesi:
F11 bas → gerçek tam ekran açılıyor mu? (Sayfa içi sahte tam ekran F11'e tepki vermez)Esc bas → Çıkıyor mu? (Çıkmıyorsa şüpheli)🛠 Test et: Şu an bu sayfada
F11bas, farkı hisset. SonraEscile çık.
Ne oluyor? AudioContext API'si ile tarayıcıdan ses çalınır. "Virüs bulundu", "Microsoft desteği arayın" gibi robot sesleriyle panik yaratılır.
Kontrol listesi:
⛔ Kural: Tarayıcı hiçbir zaman "bilgisayarınızda virüs var" diye sesli uyarı vermez. Veren sitedir, tarayıcı değildir.
Ne oluyor? Sosyal mühendisliğin en eski numarası: Zaman baskısı + Korku = Mantık kapatılır.
Kontrol listesi:
🎯 Mantra: "Aciliyet = Tuzağıdır." Derin nefes al, 5 dakika bekle, resmi kanaldan kontrol et.
| Kontrol Noktası | Nasıl Bakılır? | Kırmızı Bayrak |
|---|---|---|
| URL | Adres çubuğuna tıkla, tamını oku | Yazım hatası, gereksiz subdomain, http:// |
| Sertifika | Kilit → Sertifika detayı | Kime verildi? Geçerli mi? Kendi imzalı mı? |
| Kilit Pozisyonu | Tarayıcı chrome'unda mı, sayfa içinde mi? | Sayfa içindeyse → sahte |
| Tam Ekran | F11 / Esc testi |
Çıkmıyorsa → hile |
| Ses / Bildirim | Tarayıcı izni var mı? | İzinsiz bildirim / robot sesi = phishing |
| Dil | "Hemen yap", "Son şans", "Para/Şifre" | Aciliyet + hassas istek = dur |
Son söz: Bu listeyi ezberlemek zorunda değilsin. Alışkanlık yap. Her "şüpheli" hissettiğin an bir tık, bir bak, bir nefes al. Zamanla bu kontrol reflexin olur 🧠✨
Sonraki bölümde bu sinyalleri otomatik tespit eden araçları (tarayıcı eklentileri, güvenlik eklentileri, kurumsal çözümler) inceleyeceğiz. Hazır mısın? 🚀
DNS filtreleme, en basit ve en etkili ilk savunma hattımız. Mantığı şu: kullanıcı (veya zararlı bir script) api.evil-corp.com adresini çözmeye çalışırken, DNS sunucumuz "Böyle bir domain yok" diye cevap verirse, bağlantı asla kurulamaz 🚫
Yani trafiği ağ seviyesinde, hiçbir proxy veya agent kurmadan kesiyoruz. Şirket ağında, ev laboratuarında veya CI/CD pipeline'ında — her yerde çalışır.
| Araç | Avantajı | Nerede Parlar? |
|---|---|---|
| NextDNS | Bulut tabanlı, loglama ve analytics harika, CLI + API var | Küçük ekipler, uzak takımlar, hızlı kurulum |
| Pi-hole | Kendi sunucunda çalışır, tam kontrol, Gravity listeleri | Homelab, ofis ağı, air-gapped ortamlar |
| Cloudflare Gateway | Zero Trust entegrasyonu, ücretsiz tier cömert | Cloudflare ekosistemi içindeyseniz |
Ben NextDNS ile başlayıp, sonra Pi-hole'a da bir göz atalım — ikisi de CLI ile otomate edilebilir ✅
Önce CLI'ı kurup, profilimize özel bir blocklist ekleyelim. Şirketimizde "yasağı domain listesi" tutuyorsak (ör. blocklist.txt), bunu otomatik olarak NextDNS'e push edebiliriz.
# 1️⃣ nextdns-cli kurulumu (macOS / Linux)
curl -sSL https://nextdns.io/install.sh | bash
# 2️⃣ Profilinize bağlanın (API key gerektirir)
nextdns login -config <PROFIL_ID>
# 3️⃣ DNS'i sistemde etkinleştirin (systemd-resolved / NetworkManager ile uyumlu)
sudo nextdns install \
-config <PROFIL_ID> \
-listen 127.0.0.1:53 \
-report-client-info \
-auto-activate
# 4️⃣ Kendi blocklist dosyanızı ekleyin (her satır bir domain)
# Örnek blocklist.txt:
# malware.example.com
# c2.badactor.net
# tracking.evilcorp.io
nextdns blocklist add -config <PROFIL_ID> -name "Company Blocklist" -file ./blocklist.txt
# 5️⃣ Değişiklikleri anında uygulayın
nextdns reload -config <PROFIL_ID>
Bu sayede ne oluyor?
nextdns install → Sistemin DNS'ini NextDNS'e yönlendirir, şifreli DoH/DoT kullanır 🔐blocklist add → Kendi listemizi özel bir kategori olarak ekler, loglarda "Company Blocklist" olarak görünür 📋reload → Cache'i temizler, yeni kurallar anında devreye girer ⚡💡 İpucu: CI/CD pipeline'ınıza
blocklist.txtgüncelleme adımı ekleyin. Her commit'tenextdns blocklist addçalıştırıpreloadyaparsanız, liste her zaman güncel kalır.
Pi-hole kullanıyorsanız, Gravity veritabanı blok listelerinin birleşimidir. Kendi listelerinizi /etc/pihole/custom.list dosyasına ekler, sonra Gravity'i yeniden oluşturursunuz.
# 1️⃣ Özel blocklist dosyasını Pi-hole'a kopyalayın
sudo cp ./blocklist.txt /etc/pihole/custom.list
# 2️⃣ Gravity'i yeniden derleyin (tüm listeleri indirip birleştirir)
sudo pihole -g
# 3️⃣ Veya dahaverbose çıktı ile:
pihole -g --verbose
Nasıl çalışıyor?
pihole -g → Tüm upstream blocklistleri (StevenBlack, OISD, vb.) + custom.list indirilir, SQLite DB'sine (gravity.db) yazılır 🗃0.0.0.0 / :: döner ❌| Senaryo | Öneri |
|---|---|
| Hızlıca başla, merkezi loglama istiyorsun | NextDNS (CLI + Dashboard) ✅ |
| Ağın tam kontrolü sizde olsun, internet yok | Pi-hole (lokal, air-gapped uyumlu) 🏠 |
| Zero Trust / SASE stratejiniz var | Cloudflare Gateway (WARP client ile) ☁️ |
Ben genellikle hibrit kullanıyorum: ofiste Pi-hole, uzak çalışanlarda NextDNS. İkisi de aynı blocklist.txt kaynağından beslenir — tek kaynak, çoklu dağıtım 🎯
nextdns allowlist add veya Pi-hole'da Whitelist ile çözün 🛡Hazırsanız bir sonraki bölümde egress firewall kurallarıyla DNS dışı trafiği de nasıl kilitleyeceğimize bakalım 🚀
Tarayıcı, saldırganın en sevdiği "giriş kapısı" olabilir 🚪. İyi haber: Chrome, Edge ve Firefox hepsi zaten güçlü izolasyon mekanizmaları sunuyor — sadece açıp yapılandırmak kalıyor. Hadi nasıl kilitleyeceğimize bakalım 🔒.
Küçük hatırlatma: Kurumsanız Enterprise Policy (GPO/Intune/MDM) ile merkezi dağıtın. Kullanıcı profilinde yaparsanız sadece o profil etkilenir.
JSON formatında bir policy dosyası hazırlayıp dağıtmak en temiz yöntem. İşte minimum güvenli başlangıç seti:
{
"SitePerProcess": true,
"PopupsAllowedForUrls": [],
"ExtensionInstallBlocklist": ["*"],
"ExtensionInstallAllowlist": [
"extension_id_1",
"extension_id_2"
],
"BlockThirdPartyCookies": true,
"SafeBrowsingProtectionLevel": 2
}
Ne oluyor burada? 👇
| Policy | Ne işe yarar? |
|---|---|
SitePerProcess: true |
Site İzolasyonu'nu zorunlu kılar — her origin ayrı renderer süreç alır 🧱 |
PopupsAllowedForUrls: [] |
Hiçbir site pop-up açamaz. Boş dizi = "hiçbiri" ⛔ |
ExtensionInstallBlocklist: ["*"] |
Varsayılan: tüm uzantılar engelli. Sizin beyaz listenizdeki hariç 🚫 |
ExtensionInstallAllowlist |
Sadece onayladığınız uzantı ID'leri yüklenebilir ✅ |
BlockThirdPartyCookies: true |
Üçüncü taraf çerezler engellenir — takip azalır 🍪 |
SafeBrowsingProtectionLevel: 2 |
Geliştirilmiş Koruma modu (real-time URL kontrolü) 🔍 |
İpucu:
ExtensionInstallAllowlistboş bırakırsanız hiçbir uzantı yüklenemez. Kullanıcılarınız şikayet ederse gerekli ID'leri ekleyin.
Nasıl dağıtırsınız?
HKLM\Software\Policies\Google\Chrome (veya Edge için Microsoft\Edge) altına registry değerleri yazın veya ADMX şablonlarını GPO'ya ekleyin./etc/opt/chrome/policies/managed/ (veya ~/Library/Managed Preferences/) altına policy.json bırakın.Firefox da policies.json ile aynı mantıkta yönetiliyor. Örnek:
{
"policies": {
"DisableAddonInstallation": true,
"InstallAddonsPermission": {
"allow": ["extension-id@mozilla.org"]
},
"PopupBlocking": {
"allow": [],
"default": true
},
"TrackingProtection": {
"Value": "strict"
},
"Cookies": {
"Behavior": "reject-third-party"
}
}
}
Kısa özet 📋:
DisableAddonInstallation: true → Uzantı kurulumu tamamen kapalı.InstallAddonsPermission.allow → İstisna listesi.PopupBlocking.default: true + allow: [] → Pop-up'lar tamamen engelli.TrackingProtection: strict → Gizlilik modu "Katı" seviyesinde.Cookies.Behavior: reject-third-party → Üçüncü taraf çerezler reddedilir.Dosya yeri:
C:\Program Files\Mozilla Firefox\distribution\policies.json/etc/firefox/policies/policies.json/Library/Managed Preferences/org.mozilla.firefox.plist (veya policies.json yanına)Kurumsal politika yoksa, kullanıcı kendi profili için şunları yapabilir:
| Tarayıcı | Ayar yolu | Ne yapmalı? |
|---|---|---|
| Chrome/Edge | chrome://settings/content → Pop-ups and redirects |
"Don't allow sites to send pop-ups or use redirects" seçili ✅ |
chrome://settings/cookies |
"Block third-party cookies" ✅ | |
chrome://extensions → Developer mode kapalı |
Bilinmeyen uzantıları sil 🗑 | |
| Firefox | about:preferences#privacy → Enhanced Tracking Protection |
"Strict" seçin 🔒 |
about:preferences#privacy → Permissions → Block pop-up windows |
İşaretli ✅ | |
about:addons → Uzantıları gözden geçirin |
Gereksizleri kaldırın |
Pro tip:
chrome://flags/#enable-site-per-process(Chrome/Edge) veyaabout:config→fission.autostart = true(Firefox) ile Site Isolation'ı manuel de aktif edebilirsiniz. Ama policy ile yaparsanız kullanıcı kapatılamaz 😉.
PopupsAllowedForUrls: [])Hepsi yeşil ise 🎉 — tarayıcınız artık "sandbox içinde sandbox" seviyesinde. Sıradaki bölümde bu izolasyonu ağ seviyesinde nasıl pekiştireceğimize bakacağız 🌐.
Hala "Mac'im kilitlendi, ne yapayım?" diye panik içindeysen sakın korkma. Amcanın (veya herhangi bir kullanıcının) Mac'i kilitlendiğinde — özellikle şüpheli bir popup, sahte destek uyarısı ya da "sistem kilitlendi" mesajı geldiyse — sakin bir kafayla şu adımları sırasıyla uygula. Benim de başıma geldi, işe yaradı 😅
Mac tamamen donduysa, Power (Touch ID) tuşuna 10–15 saniye basılı tut. Ekran karanar, fanlar susar. Bu "hard shutdown" — veri kaybı riski var ama kilitli ekrandan kurtulmanın tek yolu bazen bu.
⚠️ Dosyalarını kaydetme şansın yoksa bu adım zorunlu.
Mac'i tekrar açarken Shift tuşuna basılı tut, Apple logosu gelince bırak. "Safe Boot" yazısı çıkmalı. Bu mod:
Ne işe yarar? Şüpheli yazılım (örneğin sahte "System Optimizer" veya "Mac Cleaner") bu modda çalışmaz. Temizlik yapmanın en iyi şansı bu.
Güvenli Modda açtıysan, şimdi terminali aç (Cmd + Space → Terminal) ve şüpheli servisleri tara:
sudo launchctl list | grep -i suspect
Ne oluyor burada? launchctl list çalışan her launch daemon/agent'ı listeler. grep -i suspect ile "suspect", "fake", "malware", "cleaner" gibi anahtar kelimeleri filtreler. Çıktıda garip bir servis görürsen (ör. com.fake.maccleaner), hemen sil.
LaunchAgent dosyalarını da temizle:
rm -rf ~/Library/LaunchAgents/com.fake.*
🛑
rm -rfdikkatli kullan! Sadececom.fake.*pattern'ini hedefliyorsun — kendi scriptlerin varsa yanlış silme.
Profil kontrolü de unutma:
Sistem Ayarları → Gizlilik ve Güvenlik → Profiller yolundan tanımadığın profilleri sil. Genelde "MDM" veya "Yönetim Profili" ismiyle gelir.
Kilit ekranı sahte bir "Apple Destek" sayfasıysa ve amca şifresini girdiyse, Keychain'de saklı her şifre kompromite olmuş olabilir.
Keychain Access uygulamasını açDosya → "login" Anahtarlığını Kilitle → sonra Kilidini Aç (yeni şifre isteyecek)security delete-generic-password -a "$USER" -s "herhangi-bir-servis"
Ama pratikte: Keychain'i sıfırla (Keychain Access → Ayarlar → "Varsayılan Anahtarlığı Sıfırla"), sonra tüm kritik şifreleri (Apple ID, e-posta, banka, SSH key'leri) değiştir.Güvenli Modda olsan bile, kalıntı dosyalar olabilir. İki ücretsiz ve güvenilir seçenek:
| Araç | Ne İşe Yarar? |
|---|---|
| Malwarebytes for Mac | Adware, PUP, trojan taraması — ücretsiz sürüm yeterli |
| Objective-See Tools (KnockKnock, BlockBlock, LuLu) | Persistence mekanizmalarını, şüpheli network bağlantılarını, kernel extension'ları görselleştirir |
Malwarebytes CLI ile hızlı tarama:
/Applications/Malwarebytes.app/Contents/MacOS/Malwarebytes --scan
✅ Tarama bittiğinde "Quarantine" edilenleri sil, raporu kaydet.
Objective-See önerisi: KnockKnock ile "Persistence" sekmesinden LaunchAgents, LaunchDaemons, Login Items, Kernel Extensions listesini al — şüpheli her şeyi VirusTotal butonuyla kontrol et.
Bu adım teknik değil, ama kritik. Amcayı kandıran sahte "Apple Destek" sayfası muhtemelen Google Ads üzerinden servis ediliyordu.
Neden önemli? Bu URL'ler engellenirse, diğer amcalar/kullanıcılar da kurtarılır. 2 dakikanı al, rapor et 🙏
| Adım | Ne Sağladı? |
|---|---|
| Zorla kapatma | Donanım seviyesinde reset, kilit ekranından kurtulma |
| Güvenli Mod | Şüpheli yazılımları devre dışı bırakma |
| LaunchAgent/Profil temizliği | Persistence (kalıcılık) mekaniklarını kırmak |
| Keychain sıfırlama | Çalınan oturum anahtarlarını geçersiz kılma |
| Malware/Objective-See taraması | Kalan zararlı dosyaları ve persistence noktalarını bulma |
| Sahte site raporu | Başkalarının da düşmemesi için upstream engelleme |
Son söz: Mac kilitlendiğinde asla ekrandaki numarayı arama, asla uzaktan erişim izni verme. Apple hiçbir zaman "bilgisayarınız kilitlendi, şimdi arayın" popup'ı çıkmaz. Bu 6 adım, amcanın Mac'ini temizler — ve senin de geceni kurtarır 😄
Hazırsan bir sonraki bölüme: "Gelecekte Nasıl Önlenir?" — MDM, UEM, ve kullanıcı eğitimi konusuna geçebiliriz.
Hadi işin ötesine geçelim. Güvenlik bir ürün değil, bir süreç. Küçük alışkanlıklar birikince dev bir kale oluşur 🏰
Küçük adımlar, büyük koruma. Bugün başladığın her alışkanlık, yarın başını ağrıtmayacak bir yatırımdır 💪
Bu içerik tamamen yapay zeka destekli otomasyon sistemi ile üretilmiştir.
All rights reserved