APT Üzerinden Operasyon Merkezi Bakış Açısı ile C2 Sunucusu Tespiti — Seri 1
Bu yazımda Bir kaç APT grubunu baz alarak C2 sunucularını tespit etmeye yönelik teknik güvenlik bakış açıları sunmayı amaçlıyorum. APT grupları genel olarak devlet destekli, imkanları ve olanakları fazla olan tehlikeli hacker gruplarıdır.
Örnek olarak APT39 farklı isimlerle bilinen Iran istihbarat ve güvenlik bakanlığı tarafından desteklenen siber casusluk yapmak üzerine hareket eden bir tehdit grubudur. Bu gruplar sistemlere sızmak, verileri çalmak ve tespit edilmemek için belirli taktik ve teknikleri kullanırlar. Her aşamada kullandıkları ve kolay kolay değişmeyen taktik ve teknikler onların prosedürüdür. Her grubun kendine ait taktik,teknik ve prosedürü vardır. Bu kavram TTP olarak geçer.

Şimdi yavaş yavaş konumuza gelelim.
Bir saldırıyı tespit edebilmek için öncelikle atak surface/vector’lerimizi tespit etmeli ve bu alanlardan alabileceğimiz maksimum verimlilikteki log kaynaklarını tespit etmeliyiz. Ne demek bu? Hemen bir örnek ile değerlendirelim.
Web üzerinden gelebilecek saldırılarda IIS veya Apache loglarını almak gerekiyor. Yeterli mi? Hayır tabii ki. Daha verimli olması için WAF log’u da lazım bize.
IIS veya Apache üzerinden alacağınız loglarda saldırıyı tespit edebiliriz ama saldırıya karşı alınmış bir aksiyon var mı göremeyiz.(Drop/deny/permit/allow) Bunun için WAF log’u işimizi görecektir.
Logları aldıktan sonra kritik log kaynaklarını belirleme, parse etme vb. kısımlar var. O kısımları konuya dahil değil şu an için.
Logları güzelce alıyoruz şimdi sıra geldi kural yazma kısmına. Bu yazımızda sızılmış bir sistemi ele alıyor olacağız. Örnek olarak APT39'un C2 ile iletişim kurarken kullandığı teknikleri inceleyebilir ve bunları tespit etmek için kurallar yazabiliriz.
Not: Tespit edilebilir davranışlar ve yazılabilir kurallar üzerinden gitme niyetindeyim. APT39 özelinde bir yazı değil ama birçok örnekte onları kullanacağım.
- T1071 — Application Layer Protocol
- T1102 — Web Service
- T1090 — Proxy
- T1036 — Masquerading
APT39 C2 sunucusu ile iletişimi HTTP, DNS, legitimate app/process name, proxy(genel olarak enfekte olmuş hostlar) üzerinden sağlamış. Daha farklı bir yöntem olarakta kurban makinedeki verileri DropBox’a dosya yüklemiş ve C2 sunucusuna indirmiştir.
C2'ye veri göndermek için APT12, APT28 ve APT37 gibi farklı hacker grupları wordpress, google drive ve twitter gibi güvenilir platformları kullanmışlardır. Tespit etmesi gerçekten zor bir durum. Bir güvenlik analisti için bu tarz durumları riskli görmek çok zor. Belki ağ trafiği akışını ve content’ini analiz ettiğimizde bu konuda daha sağlam bir yaklaşımda bulunabiliriz.
Aşağıdaki bilgiler için DLP, IPS, Firewall ve DNS logları şu an için ihtiyacımız olan log kaynaklarıdır.
C2 sunucusu tespiti için outbound trafikler incelenmelidir. Gönderilen veri ve verinin boyutu(Bytes IN/Out) burada tespit konusunda bilgi verebilir ama söz konusu APT ise yeterli değildir. Ayrıca destination adres için istihbarat kaynakları detaylıca analiz edilmelidir. Trafik permit almış mı? Trafik drop edildiyse bile destination adres suspicious ise sistem enfekte olmuş olabilir.
a) İletişim kurulan domain whois bilgisi incelenmelidir. Kayıt tarihi yeni mi? Yeni ise istihbarat olmayabilir. Yeni kaydedilmiş her alan adı şüphelidir. Domain random ise DGA tekniği ile güvenlik cihazları atlatılmaya çalışıyor olabilir. (qyshzm.com gibi domainler)
DGA: C2 domainleri ile iletişim kurmak için hackerlar tarafından kullanılan domain adlerinin bir listesini programlı olarak üreten kodlardır. Örnek olarak bir IP adresi üzerinde ysyds.com, xmsja.ru, instagramhhsds.me gibi domainlerin olması.
Fast fluxing: DGA’nın tam tersi diyebiliriz. Burada bir domain üzerinde sürekli olarak farklı IP adresleri kullanılır. Bu IP adresleri proxy görevi gören compromised hostlardır.
Bu ikisi neden çok önemli? DGA ile yeni üretilmiş bir domain name için istihbarat kaynağı olmayacaktır ve bu istihbarat kaynaklarını bypass edecektir. Diğer fayda ise outbound bağlantılar için firewall üzerinden x.com’u bloklarsınız ama DGA yöntemi ile xy.com’u kullanarak C2 ile yine iletişim kurabilecektir. Bu durumda sadece domainin IP adresini bloklayarak kurtulabilir misiniz? Hayır.
Fast fluxing tekniği de bu yüzden var. x.com ve xy.com’un kullandığı IP adresini blokladığınızı var sayalım. Fast fluxing tekniğinde sürekli IP adresleri değişir, domain isimleri değişmez. Bu IP adresleri hacklenmiş makineler olduğu için bunlar güvenilir olarak gözükür ve proxy olarak çalışır.
Kısaca destination kısmında DGA yönteminde domain name sürekli değişirken, fast fluxing yönteminde IP adresi sürekli değişir. Bu yüzden domain name ve IP adresleri beraber bloklanmalıdır. Bu maksimum çözüm olabilir ama yeterli olmayabilir.
b) DNS logları içerisinde yaygın olarak kullanılmayan record tipleri incelenmelidir.(TXT, NULL, CNAME gibi) DNS üzerinde ağırlıklı olarak tehdit grupları verileri c2 sunucusuna göndermek için TXT ve CNAME kullanmıştır. Geolocation burada yine ayırt edici olabilir.(Yemen, Malezya vb) TLD’lerin yaygınlaşması saldırganların güvenlik cihazlarını atlatmasına yardımcı olmuştur. Tehdit istihbaratından kaçmak için TLD’ler çok sık kullanılmaktadır. TLD’ler burada yine ayırt edici bir faktor olacaktır. Yaygın olarak kullanılmak TLD’ler şüphelidir ve detaylıca incelenmelidir. (.biz, .xyz, .me ve benzeri)
c) DNS loglarında DNS çözümleme hatalarını inceleyin ama false-pozitif azaltmak için çok sayıda oluşan NXDOMAIN(domain does not exist) response kodlarını filtreleyin. Yani çok sayıda DNS çözümleme hatası alıyorsa bir sunucu veya host bu detaylı bir şekilde incelenmelidir. Muhtemelen kötü amaç için kullanılan malicious domaine erişim sağlayamadığı için bu response dönüyor olabilir.
d)Bir host üzerinden tek bir domainin bir çok sub-domainine yapılan çok sayıdaki DNS istekleri şüphelidir.(Burada ağırlıklı olarak istihbaratı domain üzerinden sorgulayın)
e) Denied edilmiş çok sayıda outbound trafikler çok önemlidir. Bu demek oluyor ki “Güvenlik politikası çok sayıda ihlal girişimine maruz kalmıştır.”. Bir host izni olmayan bir adres ile iletişim kurmaya çalışıyor. Şüpheli!
f) Destination port eğer olağan değilse mutlaka izlenmelidir. (destination 33987 port number) Çünkü bu extra bir çaba gerektirir. Normal bir kullanıcı neden böyle bir şey yapsın? Potansiyel olarak şüpheli portlar tespit edilmelidir.(njRAT 5552 portunu kullanırdı.)
g)Kimileri kurbanlarını, kimileri ZXproxy ve ZXPortMap gibi araçlar kullanarak C2 sunucusuna veri göndermeyi deneyebilir. APT28, NATO çalışanlarını hackledikten sonra verileri gönderirken Gürcistan askeri mail sunucusunu proxy olarak kullandı. Yani verinin Local’den dışarıya çıkışı aşağıdaki sıralamada olmuştur.
Hacklenmiş nato çalışanı hostları >> Gürcistan askeri mail sunucusu >> C2 sunucusu
Trafiği SIEM üzerinden incelediğinde L2R güvenilir bir sunucuya iletişim görebilirsin. Bu çok olağan bir aktivitedir. Ayırt etmesi neredeyse imkansız ama bakış açımızı çoğu zaman bu seviyede tutmamız gerekiyor. Gurcistan asker sunucuları ile ilgili herhangi bir hacking haberi var mı? Bunu karşılaştığınız olaya göre yorumlayabilirsiniz.
h)C2 sunucusu ile iletişim kurmak için masquerading(maskeleme) tekniği kullanılarak yasal bir dosya adını veya dosya yolunu kullanabilirler. APT39 meşru bir McAfee dosyası olan mfevtps.exe’yi taklit etmiş ve C2 iletişimini proxy yöntemi ile yapmak için Mozilla Firefox kılığında kötü amaçlı bir yazılımı ve mfevtpse.exe dosyasını kullanmıştır. Dışarı yönlü bağlantı yapan dosyalar eğer abnormal bir trafik gerçekleştiriyorsa incelenmelidir. Normalde şartlarda dışarı bir trafik oluşturmaması gereken bir dosya veya process tehlike arz edebilir. Ya da bağlantı sağladığı adres şüpheliyse…
ı) Gönderilen bir ZIP dosyası ise bu durumu daha şüpheli yapacaktır. DLP varsa zaten bu durum tespit edilecektir.
To be continued
Mitigations
- IPS > Belirli saldırgan kötü amaçlı yazılımlara yönelik trafiği belirlemek için ağ imzalarını kullanan ağ’a izinsiz giriş algılama ve önleme sistemleri, ağ düzeyinde etkinliği azaltmak için kullanılabilir. İmzalar genellikle protokoller içindeki benzersiz göstergeler içindir ve belirli bir attacker veya tool tarafından kullanılan belirli C2 protokolüne dayalı olabilir. Saldırganlar muhtemelen zaman içinde C2 için kullandıkların tool’ların imzalarını değiştirecek ve savunma araçları tarafından algılanmayı önleyecek şekilde protokoller oluşturacaktır.
- Restrict Web-Based Content > Web proxy’leri, yetkisiz harici hizmetlerin kullanımını önleyen ağ iletişim politikasını uygulamak için kullanılabilir.
- Restrict File and Directory Permissions > c:\windows\system32 gibi klasörleri korumak için dosya erişimi için gerekli denetlemeler ve kısıtlamalar yapılmalıdır.
- SOC hizmeti alın.
Yazı biraz uzun oldu. Devamını bu yazının 2. serisinde paylaşmış olacağım.