Kaçabilirsin ama Saklanamazsın

If you are looking for an English version of this article, please visit here.

Evvel zaman içinde, kalbur saman içinde; pireler berber, develer tellal iken bir tehdit aktörü varmış. Bu tehdit aktörü hedef aldığı kurumlardaki üst düzey çalışanlara ekinde bir HTML dosyası bulunan bir e-posta göndermiş. Bu HTML dosyası açılır ve içindeki bağlantı adresi (https://go0gle-drive[.]blogspot[.]com) takip edilirse, hedef alınan kişi mega.nz isimli dosya saklama ve paylaşım sitesindeki bir adrese (https://mega[.]nz/file/axlmBSxR) yönlendiriliyormuş. Bu dosya indirilip çalıştırılırsa, tehdit aktörü tarafından hedef sistem uzaktan yönetilerek ses, görüntü, tuş kaydı da dahil olmak üzere her türlü kötülük yapılabiliyormuş. Rivayete göre de ağ tabanlı kum havuzu sistemlerinden bazıları, tehdit aktörü tarafından gönderilen bu HTML dosyasında yer alan bağlantı adresini analiz edemiyormuş.

AsyncRAT
AsyncRAT
AsyncRAT
AsyncRAT

Bir kurum yukardaki gibi bir senaryo ile karşılaştığında, saldırı girişimi başarıya ulaşmasa da konuyu büyük bir dikkatle ele almalıdır çünkü bu öncü bir sarsıntı olup ardından gelecek büyük depremin işaretçisi olabilir dolayısıyla bu girişimin hedefli (Spear Phishing), organize mi (APT) yoksa çok sayıda kullanıcıya gerçekleştirilen genel bir kampanyanın parçası mı sorularına da arka planda yanıt araması gerekir. Tabii bu soruların yanıtlarını bulması kimi zaman mümkün olmasa da yapılan analizler sayesinde bir fikir elde edilebilir. Ben de bu yazı ile bu sorulara yanıt aramaya koyuldum.

İlk olarak statik analiz ile dosyanın C# ile geliştirilip, paketlenmiş olduğunu gördüm. Dosyayı sanal bir sistem üzerinde çalıştırıp dinamik olarak analiz ettiğimde zararlı yazılımın Pastebin sitesindeki bir adrese eriştiğini öğrendim. Bu web adresini ziyaret ettiğimde sayfada bir ip adresi (193.161.193.99) ve bağlantı numarasının (port) yer aldığını gördüm.

AsyncRAT
AsyncRAT
AsyncRAT

Özellikle APT saldırılarında kullanılan zararlı yazılımlar tehdit aktörleri tarafından özel olarak geliştirildiği ve saldırıdan hemen önce derlendiği için VirusTotal‘a yüklendiğinde çoğunlukla genel bir imza adı altında (Backdoor, Trojan vb) tespit edilmektedir. Bu gibi durumlarda Intezer gibi servislerden faydalanarak zararlı yazılımın kodunun başka hangi zararlı yazılımlarda kullanıldığını arayarak eşleştirme yapmanız ve tehdit aktörü konusunda bilgi edinmeniz söz konusu olabilir.

Bu zararlı yazılımı VirusTotal’a yüklediğim spesifik olarak bir zararlı yazılımla eşleştirilmediğini gördüm. Bunun üzerine Intezer üzerinde arama yaptığımda da maalesef yine elim boş kaldı. (Generic Malware)

Pastebin.com sayfasından elde ettiğim ip adresini VirusTotal’da arattığımda bu ip adresinin bağlantı noktası yönlendirmek amacıyla hizmet veren Portmap.io servisine ait olduğunu öğrendim.

AsyncRAT
AsyncRAT
AsyncRAT
AsyncRAT

Kendisini gizlemek için elinden geleni yapan tehdit aktörünün geliştirmiş olduğu zararlı yazılımın ne olduğunu öğrenmek için araştırmaya devam ettiğimde sıra dinamik kod analizine geldi ve imdadıma OPSEC başlıklı yazımda kullandığım dnSpy hata ayıklayıcısı yetişti. dnSpy aracı ile hata ayıklamaya başlamadan önce paketlenmiş yazılımın bellekte gizlediği ana modülünü bulmak için ExtremeDumper aracını çalıştırdığımda ortaya kötülüklerin anası Stub.exe çıkmış oldu.

AsyncRAT

Stub.exe programını adım adım dnSpy ile analiz ettiğim bir noktada AES ile şifrelenmiş olup çözülen 0.5.6B değeri dikkatimi çekti. Bu değeri Google’da “rat 0.5.6B” anahtar kelimeleri ile arattığımda bilin bakalım karşıma ne çıktı ? Açık kaynak kodlu AsyncRAT! :)

AsyncRAT
AsyncRAT
AsyncRAT

GitHub üzerinde bu projeyi detaylı bir şekilde incelediğimde analiz ettiğim zararlı yazılımın AsyncRAT olduğunu benzer kod bloklarından yola çıkarak doğrulayabildim.

AsyncRAT

Son aşamada Stub.exe dosyasının benzerlerini vhash ile VirusTotal üzerinde arattığımda çok sayıda örnek ile karşılaştım. Tüm bu örnekler, analiz ettiğim zararlı yazılımdaki Pastebin adresine mi sahip, ortak bir kampanyanın parçası mı diye merak içinde düşünürken ya 50’den fazla her bir örneğin analiz raporunu inceleyip bunu kontrol edecektim ya da tembellere yakışır çok kısa ve pratik bir yol bulacaktım. :) Hindi gibi düşünmeye başladıktan sonra aklıma Python ile tüm bu örnekleri statik olarak analiz ederek önce AES şifreleme anahtarını bulan ve ardından da konfigürasyon bilgilerini çıkaran bir araç hazırlama fikri geldi.

AsyncRAT

Tabii değişken isimleri her bir programda rastgele oluşturulduğu için öncelikle AES anahtarını statik bir değişkenden faydalanarak bulmam gerekiyordu. .Net ile geliştirilen programların derlendiğinde baytkoda (CIL/MSIL) çevrildiğini bildiğimiz için baytkod üzerinde statik değerler aramaya koyuldum.

AsyncRAT

Bunun için meşhur Mono projesinde yer alan Mono Disassembler (monodis) aracından faydalanmaya karar verdim. Monodis aracı ile tüm Stub.exe örneklerini koda çevirdikten sonra AES şifreleme anahtarının her daim 0x288c değerinden sonra gelen IL_003c değerinde olduğunu tespit ettim. ve bu bilgilerden faydalanarak Python ile AsyncRAT Configuration Extractor aracını geliştirdim. Aracı tüm örnekler üzerinde çalıştırdığımda her birinin konfigürasyonunda yer alan bilgilerin, analiz ettiğim zararlı yazılımdan farklı olduğunu dolayısıyla analiz ettiğim zararlı yazılım ortak bir kampanyanın parçası olmadığını öğrenmiş oldum.

AsyncRAT
AsyncRAT
AsyncRAT
AsyncRAT
AsyncRAT
AsyncRAT

Sonuç itibariyle tüm bu bilgileri derleyip topladıktan sonra bu siber saldırı girişiminin bir APT saldırısı olmasa da hedeflenmiş bir saldırının (Spear Phishing) parçası olması terazide ağır basmış oldu. Özellikle Covid-19 salgınından sonra artan bu tür hedeflenmiş siber saldırı girişimlerine karşı kurumların ve çalışanlarının çok dikkatli olmasını önerir bir sonraki yazıda görüşmek dileğiyle herkese güvenli günler dilerim.