MikroTik Hacklendi mi? 10 Dakikalık Kontrol, Temizlik ve Kalıcı Önlem
MikroTik hacklendi mi? Bilinmeyen user, script, scheduler ve SOCKS kontrolü, Meris botnet temizleme sırası, netinstall kararı ve kalıcı güvenlik önlemleri.
Erdem Özyurt
Özet: MikroTik router’ınızın ele geçirilip geçirilmediğini 10 dakikada anlayabilirsiniz: bilinmeyen kullanıcı, sizin yazmadığınız script ve scheduler görevi, açılmış SOCKS/web proxy ve değişmiş DNS ayarı en net işaretlerdir. Bu yazıda adım adım kontrol komutları, doğru temizlik sırası (ve salt güncellemenin neden yetmediği), netinstall’ın ne zaman şart olduğu ve bir daha yaşamamak için kalıcı önlemler var.
Kısa arka plan: 2018’de Winbox’taki CVE-2018-14847 açığı, kimlik doğrulaması olmadan cihazdan dosya okumaya, dolayısıyla yönetici parolasını ele geçirmeye izin veriyordu. Açık aynı yıl kapatıldı; ama parolası o dönemde çalınan ve hiç değiştirilmeyen cihazlar yıllar sonra Meris botnetinin gövdesi oldu. Eylül 2021’de dönemin en büyük HTTP DDoS saldırılarından bazıları bu botnete atfedildi. MikroTik’in resmi açıklaması net: cihazlarda gizlenmiş bir zararlı dosya yok, saldırgan RouterOS’un kendi özelliklerini kullanarak cihazı yeniden yapılandırıyor. “MikroTik virüsü” diye aranan şey aslında bu: dosya değil, yabancı yapılandırma.
Honeypot sistemimde 8291/tcp (Winbox) taramalarının günün her saati sürdüğünü görüyorum; bu taramaları yapan IP’lerin güncel dökümü Tellal tehdit istihbaratı platformunda açık erişimle yayında. Yani soru “beni kim hedefler ki” değil; internete açık her yönetim portu zaten taranıyor.
Router’ın Ele Geçirildiğini Gösteren Belirtiler Neler?
En güvenilir belirtiler yapılandırma izleridir: tanımadığınız kullanıcı hesabı, sizin yazmadığınız script, fetch çalıştıran scheduler görevi, açılmış SOCKS veya web proxy, değişmiş DNS sunucusu ve tanımadığınız bir L2TP client. Davranış tarafında ise açıklayamadığınız trafik, sürekli yüksek CPU ve yavaşlayan internet görülür.
| Belirti | WinBox’ta yeri | Komut |
|---|---|---|
| Bilinmeyen kullanıcı | System → Users | /user print |
| Yazmadığınız script | System → Scripts | /system script print |
| Fetch çalıştıran görev | System → Scheduler | /system scheduler print |
| Açılmış SOCKS proxy | IP → SOCKS | /ip socks print |
| Açılmış web proxy | IP → Web Proxy | /ip proxy print |
| Değişmiş DNS sunucusu | IP → DNS | /ip dns print |
Tanımadığınız L2TP client (örn. lvpn) |
Interfaces | /interface l2tp-client print |
| 5678 portuna izin veren input kuralı | IP → Firewall | /ip firewall filter print |
| Açıklanamayan trafik/CPU | Tools → Torch | /tool torch |
Tablodaki scheduler + fetch, SOCKS, lvpn isimli L2TP client ve 5678 portu kalemleri MikroTik’in Meris için yayınladığı resmi bulaşma göstergeleridir. 2018 dalgasında ayrıca web proxy üzerinden kripto madenci script enjeksiyonu ve DNS değişikliği de kamuya yansıyan analizlerde raporlandı; o yüzden proxy ve DNS kontrolünü listeden düşürmüyorum.
10 Dakikalık Kontrol: Hangi Komutlarla Bakarım?
Aşağıdaki blokları sırayla çalıştırın; her birinde ne aradığınız yorum satırında yazıyor. Sözdizimi RouterOS 7 içindir, tamamı v6’da da aynen çalışır.
# 1) Kullanıcılar: listede tanımadığınız hesap var mı?
/user print
# Şu anda kim oturum açmış? Yabancı IP'den aktif oturum kırmızı alarm.
/user active print
# 2) Script ve zamanlanmış görevler: MikroTik'in Meris göstergesi tam burası.
/system script print
# on-event içinde "fetch" geçen, adını siz koymadığınız görev arıyorsunuz.
/system scheduler print detail
# 3) Proxy'ler: kullanmıyorsanız ikisi de enabled=no olmalı.
/ip socks print
/ip proxy print
# 4) DNS: sunucular sizin verdikleriniz mi? Yabancı static kayıt var mı?
/ip dns print
/ip dns static print
# 5) Tünel ve firewall kalıntıları: "lvpn" veya tanımadığınız client.
/interface l2tp-client print
# 5678 gibi portlara accept veren, yorumunu sizin yazmadığınız kural.
/ip firewall filter print where chain=input
# 6) Açık servisler ve dosyalar: internete hangi kapılar bakıyor?
/ip service print
# Cihaza sizin atmadığınız dosya (script, paket) var mı?
/file print
# 7) Davranış: anlık trafik kime akıyor? (WAN interface adınızı yazın)
/tool torch ether1
# Login denemeleri ve sistem olayları:
/log print where topics~"system|critical"
Yedi adımın hepsi temizse büyük ihtimalle sorun yok. Tek bir kalem bile şüpheliyse bir sonraki bölüme geçin ve hiçbir şeyi silmeden önce /export file=vaka-kaydi ile mevcut durumun kopyasını alın; neyle uğraştığınızı sonra anlamak için bu kanıt gerekir.
Temizlik Sırası: Neden Salt Güncelleme Yetmez?
Çünkü güncelleme açığı kapatır ama saldırganın elindeki parolayı geçersiz kılmaz; eklediği kullanıcıyı, script’i ve scheduler görevini de silmez. MikroTik bunu resmi açıklamasında açıkça söylüyor: parolanız 2018’de çalındıysa yükseltme tek başına yardımcı olmaz. Temizlik bir paket iştir ve sırası önemlidir.
Doğru sıra:
- Yönetim düzlemini internetten kesin. Mümkünse cihaza LAN’dan bağlanın; değilse önce
/ip service set winbox address=<sizin-IP>/32ile kapıyı daraltın. Saldırganla aynı anda aynı cihazda oturum açık olmasın. - Kanıt alın:
/export file=vaka-kaydi(yukarıda aldıysanız geçin). - RouterOS’u ve firmware’i güncelleyin:
/system package update check-for-updates
/system package update install
# Yeniden başladıktan sonra bootloader:
/system routerboard upgrade
- TÜM parolaları değiştirin, yabancı hesapları silin.
admindahil her kullanıcıya yeni ve güçlü parola; tanımadığınız hesaba açıklama yazmayın, silin:
/user set admin password=YeniGucluParola
/user remove <yabanci-hesap>
- Yabancı yapılandırmayı sökün. Print çıktısındaki numarayla hedefli silin; toptan
remove [find]çalıştırıp kendi görevlerinizi de uçurmayın:
/system scheduler remove numbers=<supheli-numara>
/system script remove numbers=<supheli-numara>
/ip socks set enabled=no
/ip proxy set enabled=no
/interface l2tp-client remove [find name="lvpn"]
- DNS’i doğrulayın:
/ip dns set servers=satırına kendi bildiğiniz sunucuları yazın, yabancı static kayıtları silin. - Firewall’u yeniden kurun ve izlemeye alın. Saldırganın açtığı accept kurallarını temizledikten sonra input chain’i baştan disipline edin.
Bu sıranın mantığı basit: önce kapıyı kapatıyorsunuz (1), sonra kilidi değiştiriyorsunuz (3-4), en son evi topluyorsunuz (5-7). Sırayı ters kurarsanız, siz temizlik yaparken saldırgan scheduler ile yapılandırmayı geri yükler.
Netinstall Ne Zaman Şart?
Meris özelinde MikroTik, dosya sistemine gizlenmiş bir zararlı olmadığını söylediği için yapılandırma temizliği çoğu vakada yeterlidir. Ancak üç durumda tartışmayı bırakıp Netinstall ile sıfırdan kurarım:
- Emin olamıyorsanız: Config yüzlerce satır, cihaz elden ele dolaşmış, kim ne eklemiş bilinmiyor. Okuyup aklayamadığınız yapılandırma, aklanmamış yapılandırmadır.
- Belirtiler geri geliyorsa: Temizlediniz, bir hafta sonra scheduler’da yine fetch görevi var. Bir şeyi gözden kaçırıyorsunuz demektir; döngüyü netinstall kırar.
- Cihaz çok eski bir sürümden geliyorsa: Yıllarca güncellenmemiş, 6.42 öncesi dönemi internete açık geçirmiş bir cihazı “temizledim” diye üretimde tutmak, riski bilerek taşımaktır.
Netinstall cihazın depolamasını temiz bir RouterOS imajıyla baştan yazar; yapılandırma seviyesindeki her kalıntıyı kesin olarak yok eder. Kritik uyarı: kurulum ekranındaki eski yapılandırmayı koruma (keep old configuration) seçeneğini işaretlemeyin, yoksa bulaşık config aynen geri gelir. Adım adım netinstall prosedürü için sıfırlama ve netinstall rehberine bakın. Sonrasında yapılandırmayı temiz olduğu bilinen bir export’tan, satır satır okuyarak geri yükleyin; ne yedeklediğinizi bilmiyorsanız yedekleme ve export yazısı fark için iyi bir başlangıç.
Kalıcı Önlem: Bir Daha Bulaşmasın
Kalıcı çözümün üç ayağı var: yönetim düzlemini internetten kaldırmak, kullanılmayan servisleri kapatmak ve güncel kalmak. MikroTik’in resmi sertleştirme dokümanındaki çekirdek set şu:
# Kullanmadığınız yönetim servislerini kapatın:
/ip service disable telnet,ftp,www,api,api-ssl
# Winbox ve SSH yalnız yönetim ağınızdan erişilsin:
/ip service set winbox address=192.168.88.0/24
/ip service set ssh address=192.168.88.0/24
/ip ssh set strong-crypto=yes
# MAC tabanlı erişimi üretim ağında sınırlayın:
/tool mac-server set allowed-interface-list=none
/tool mac-server mac-winbox set allowed-interface-list=none
/tool mac-server ping set enabled=no
# Komşu keşfini kapatın (cihaz kendini ilan etmesin):
/ip neighbor discovery-settings set discover-interface-list=none
# Kullanılmayan servisler: Meris'in kullandığı SOCKS dahil hepsi kapalı.
/ip socks set enabled=no
/ip upnp set enabled=no
/ip cloud set ddns-enabled=no update-time=no
/tool bandwidth-server set enabled=no
# Router LAN'a DNS hizmeti veriyorsa bunu açık bırakın,
# ama WAN'dan gelen 53. port isteklerini firewall'da mutlaka drop edin:
/ip dns set allow-remote-requests=yes
Servis kısıtları tek başına yetmez; input chain’de son kuralı drop olan, deneme yapanı otomatik karalisteye alan bir set gerekir. Hazır ve açıklamalı kural setini brute force koruması yazısında anlattım. Uzak yönetimi tamamen VPN arkasına almak isterseniz (doğrusu budur) güvenli uzaktan erişim rehberi adım adım anlatıyor.
Kapanış kontrol listesi (5 dakika):
- RouterOS güncel mi? (
/system package update check-for-updates) - Winbox/SSH
address=ile kısıtlı mı, internete kapalı mı? - Telnet, FTP, www, api kapalı mı?
- SOCKS, UPnP, cloud, bandwidth-server kapalı mı?
- Tüm kullanıcılarda güçlü ve bu yıl değiştirilmiş parola var mı?
- Temiz durumun tarihli bir export’u elinizde mi?
Bu altı maddeyi geçen cihaz, hem 2018 dalgasının hem Meris’in kullandığı yolların tamamını kapatmış olur.
Elinizde onlarca cihaz varsa ve bu denetimi filonun tamamına tek standartta uygulamak istiyorsanız MikroTik destek hizmetim üzerinden ulaşabilirsiniz; bulaşmış cihazın temizliğinden yönetim düzleminin VPN arkasına taşınmasına kadar birlikte kurgularız.
Sıkça Sorulan Sorular
MikroTik router'ımın hacklendiğini nasıl anlarım?
En net işaretler şunlar: /user print çıktısında tanımadığınız hesap, /system scheduler print içinde fetch çalıştıran bir görev, açılmış SOCKS veya web proxy ve değişmiş DNS sunucusu. Cihazda açıklayamadığınız trafik veya CPU yükü tabloyu tamamlar. Bu kontrollerin tamamı 10 dakika sürer.
Meris botnet nedir, benim cihazıma da bulaşmış olabilir mi?
Meris, 2018'deki Winbox açığı (CVE-2018-14847) döneminde parolası çalınan MikroTik cihazlarını kullanan bir DDoS botnetidir. MikroTik'e göre dosya sistemine gizlenmiş bir zararlı yok; saldırgan RouterOS'un kendi özelliklerini (scheduler, SOCKS, L2TP) yapılandırarak cihazı kullanıyor. O dönemden kalma, parolası hiç değişmemiş bir cihazınız varsa risk gerçektir.
RouterOS'u güncelledim, temizlenmiş sayılır mıyım?
Hayır. Güncelleme açığı kapatır ama saldırganın elindeki parolayı geçersiz kılmaz; eklediği script ve scheduler görevlerini de silmez. MikroTik'in kendi ifadesiyle, parolanız 2018'de çalındıysa salt yükseltme yardımcı olmaz. Güncellemenin yanında tüm parolaları değiştirin, yabancı yapılandırma öğelerini sökün ve firewall'u gözden geçirin.
Netinstall yapmadan botnet temizliği mümkün mü?
Çoğu vakada evet. Bilinen belirtiler yapılandırma seviyesindedir ve komutlarla sökülür. Netinstall'a üç durumda giderim: config'de neyin değiştiğinden emin olamıyorsanız, temizlik sonrası belirtiler geri geliyorsa veya cihazın geçmişi bilinmiyorsa. Netinstall sırasında eski yapılandırmayı koruma seçeneğini işaretlemeyin; bulaşık config aynen geri gelir.
Winbox'ı internete açık tutmak güvenli mi?
Değil. 8291 portu botlar tarafından sürekli taranıyor; kendi honeypot verimde bu taramalar günün her saati görünüyor. Yönetimi VPN arkasına alın; olmuyorsa /ip service set winbox address= ile yalnız bilinen IP'lere kısıtlayın ve input chain'de geri kalan herkese drop uygulayın.
Yazan: Erdem Özyurt
Bilişim Danışmanı · ISP Altyapı · Siber Güvenlik
Kablo döşemekten kod yazmaya, ağ tasarımından web geliştirmeye; Layer 1'den Layer 7'ye bütünlük içinde çalışıyorum.
Hakkımda daha fazla →