Bu makaleyle kötü amaçlı yazılımların analizine ayrılmış yayın serisini tamamlıyoruz. İÇİNDE
Bugün, CERT Group-IB'de kötü amaçlı yazılım analizi uzmanı Ilya Pomerantsev, kötü amaçlı yazılım analizinin ilk aşaması hakkında konuşacak - CERT Group-IB uzmanlarının uygulamalarından üç mini vaka örneğini kullanarak AgentTesla örneklerinin yarı otomatik olarak açılması.
Tipik olarak kötü amaçlı yazılım analizindeki ilk aşama, paketleyici, kriptolayıcı, koruyucu veya yükleyici biçimindeki korumanın kaldırılmasıdır. Çoğu durumda bu sorun, kötü amaçlı yazılımı çalıştırarak ve döküm gerçekleştirerek çözülebilir ancak bu yöntemin uygun olmadığı durumlar da vardır. Örneğin, kötü amaçlı yazılım bir şifreleyici ise, bellek bölgelerini boşaltılmaya karşı koruyorsa, kod sanal makine algılama mekanizmaları içeriyorsa veya kötü amaçlı yazılım başladıktan hemen sonra yeniden başlatılıyorsa. Bu gibi durumlarda “yarı otomatik” denilen paket açma yöntemi kullanılıyor, yani araştırmacı süreç üzerinde tam kontrole sahip ve istediği zaman müdahale edebiliyor. Örnek olarak AgentTesla ailesinin üç örneğini kullanarak bu prosedürü ele alalım. Ağ erişimini devre dışı bırakırsanız bu nispeten zararsız bir kötü amaçlı yazılımdır.
Örnek No.1
Kaynak dosya, CVE-2017-11882 güvenlik açığından yararlanan bir MS Word belgesidir.
Sonuç olarak, yük indirilir ve başlatılır.
Süreç ağacının ve davranışsal belirteçlerin analizi, sürece enjeksiyonu gösterir RegAsm.exe.
AgentTesla'ya özgü davranışsal belirteçler vardır.
İndirilen örnek yürütülebilir örnektir . NET-dosya koruyucu tarafından korunuyor .NET Reaktörü.
Yardımcı programda açalım dnSpy x86 ve giriş noktasına ilerleyin.
Fonksiyona giderek TarihSaatOfseti, yeni için başlatma kodunu bulacağız . NET-modül. Hadi koyalım kesme noktası ilgilendiğimiz satırda ve dosyayı çalıştırın.
Döndürülen arabelleklerden birinde MZ imzasını görebilirsiniz (0x4D 0x5A). Hadi kurtaralım.
Dökümü yapılmış bir yürütülebilir dosya, yükleyici olan dinamik bir kitaplıktır; veriyi kaynak bölümünden çıkarır ve başlatır.
Aynı zamanda, gerekli kaynaklar da çöplükte mevcut değil. Bunlar ebeveyn örneğindedir.
Yarar dnSpy İlgili iki dosyadan oldukça hızlı bir şekilde bir "Frankenstein" oluşturmamıza yardımcı olacak iki son derece kullanışlı işlevselliğe sahiptir.
- İlki, dinamik bir kitaplığı ana örneğe "yapıştırmanıza" olanak tanır.
- İkincisi, eklenen dinamik kütüphanenin istenen yöntemini çağırmak için giriş noktasında fonksiyon kodunu yeniden yazmaktır.
“Frankenstein”ımızı kurtarıyoruz, ayarlıyoruz kesme noktası satırda şifresi çözülmüş kaynaklara sahip bir arabellek döndürür ve önceki aşamaya benzer şekilde bir döküm üretir.
İkinci döküm şöyle yazılmıştır: VB.NET aşina olduğumuz bir koruyucu tarafından korunan yürütülebilir bir dosya kafa karıştırıcı.
Koruyucuyu kaldırdıktan sonra daha önce yazılan YARA kurallarını kullanıyoruz ve açılan kötü amaçlı yazılımın gerçekten AgentTesla olduğundan emin oluyoruz.
Örnek No.2
Kaynak dosya bir MS Excel belgesidir. Yerleşik bir makro, kötü amaçlı kodun yürütülmesine neden olur.
Sonuç olarak PowerShell betiği başlatılır.
Betik, C# kodunun şifresini çözer ve kontrolü ona aktarır. Korumalı alan raporundan da görülebileceği gibi kodun kendisi bir önyükleyicidir.
Yük yürütülebilir bir dosyadır . NET-dosya.
Dosyanın açılması dnSpy x86, karışık olduğunu görebilirsiniz. Yardımcı programı kullanarak gizlemeyi kaldırma de4dot ve analize geri dönün.
Kodu incelerken aşağıdaki işlevi keşfedebilirsiniz:
Şifreli çizgiler dikkat çekici Giriş noktası и çağırmak. Koyduk kesme noktası ilk satıra tampon değerini çalıştırın ve kaydedin bayt_0.
Dökümü yine bir uygulamadır . NET ve korunuyor kafa karıştırıcı.
kullanarak karışıklığı ortadan kaldırıyoruz de4dot ve şuraya yükle: dnSpy. Dosya açıklamasından karşı karşıya olduğumuzu anlıyoruz CyaX-Sharp yükleyici.
Bu yükleyici kapsamlı bir anti-analiz işlevine sahiptir.
Bu işlevsellik, yerleşik Windows koruma sistemlerinin atlanmasını, Windows Defender'ın devre dışı bırakılmasının yanı sıra korumalı alan ve sanal makine algılama mekanizmalarını da içerir. Payload'ı ağdan yüklemek veya kaynak bölümünde saklamak mümkündür. Başlatma, kendi sürecine, kendi sürecinin bir kopyasına veya süreçlere enjeksiyon yoluyla gerçekleştirilir. MSBuild.exe, vbc.exe и regsvcs.exe saldırganın seçtiği parametreye bağlı olarak.
Ancak bizim için bunlar daha az önemlidir. AntiDump-ekleyen işlev kafa karıştırıcı. Kaynak kodu şu adreste bulunabilir:
Korumayı devre dışı bırakmak için bu fırsatı kullanacağız dnSpydüzenlemenizi sağlayan IL-kod.
Kaydet ve yükle kesme noktası yük şifre çözme işlevini çağırma hattına. Ana sınıfın yapıcısında bulunur.
Yükü başlatıp boşaltıyoruz. Daha önce yazılan YARA kurallarını kullanarak bunun AgentTesla olduğundan emin oluyoruz.
Örnek No.3
Kaynak dosya yürütülebilir dosyadır VB Yerel PE32-dosya.
Entropi analizi, büyük miktarda şifrelenmiş verinin varlığını gösterir.
Başvuru formunu incelerken VB Kod Çözücü garip pikselli bir arka plan fark edebilirsiniz.
Entropi grafiği bmp-image, orijinal dosyanın entropi grafiğiyle aynıdır ve boyut, dosya boyutunun %85'idir.
Görüntünün genel görünümü steganografinin kullanıldığını göstermektedir.
İşlem ağacının görünümüne ve ayrıca bir enjeksiyon işaretleyicisinin varlığına dikkat edelim.
Bu, paketin açılmasının devam ettiğini gösterir. Visual Basic yükleyicileri için (aka VBKrypt veya VBIenjektör) tipik kullanım kabuk kodu yükü başlatmak ve enjeksiyonun kendisini gerçekleştirmek için.
Analiz VB Kod Çözücü bir olayın varlığını gösterdi Yük formda FegatassocAirballoon2.
Hadi gidelim IDA profesyoneli belirtilen adrese gidin ve işlevi inceleyin. Kod oldukça karmaşıktır. Bizi ilgilendiren kısım aşağıda sunulmaktadır.
Burada sürecin adres alanı bir imza için taranır. Bu yaklaşım son derece şüphelidir.
İlk olarak, tarama başlangıç adresi 0x400100. Bu değer statiktir ve taban kaydırıldığında ayarlanmaz. İdeal sera koşullarında sonunu gösterecektir. PE-yürütülebilir dosyanın başlığı. Ancak veritabanı statik değildir, değeri değişebilir ve gerekli imzanın gerçek adresini aramak değişken taşmasına neden olmayacak olsa da çok uzun zaman alabilir.
İkincisi, imzanın anlamı iWGK. 4 baytın benzersizliği garanti etmek için çok küçük olduğunun açık olduğunu düşünüyorum. Ve ilk noktayı dikkate alırsanız hata yapma olasılığı oldukça yüksektir.
Aslında gerekli parça daha önce bulunanın sonuna eklenmiştir. bmp-ofsetle resimler 0xA1D0D.
Performans Kabuk kodu iki aşamada gerçekleştirilir. İlki ana gövdenin şifresini çözer. Bu durumda anahtar kaba kuvvetle belirlenir.
Şifresi çözülmüş olanı at Kabuk kodu ve çizgilere bakın.
İlk olarak, artık bir alt süreç yaratma fonksiyonunu biliyoruz: CreateProcessDahiliW.
İkinci olarak sistemdeki sabitleme mekanizmasının farkına vardık.
Orijinal sürece geri dönelim. Hadi koyalım kesme noktası üzerinde CreateProcessDahiliW ve yürütmeye devam edin. Sonra bağlantıyı görüyoruz NtGetContextThread/NtSetContextThreadyürütme başlangıç adresini adrese değiştirir Kabuk Kodu.
Oluşturulan sürece bir hata ayıklayıcıyla bağlanıyoruz ve etkinliği etkinleştiriyoruz Kütüphane yükleme/boşaltma işlemini askıya al, işleme devam edin ve yüklemeyi bekleyin . NET-kütüphaneler.
Daha fazla kullanma ProcessHacker paketlenmemiş içeren döküm bölgeleri . NET-başvuru.
Tüm işlemleri durdurup, sisteme yerleşmiş olan kötü amaçlı yazılımın kopyasını sileriz.
Dökülmüş dosya bir koruyucu tarafından korunmaktadır .NET Reaktörübir yardımcı program kullanılarak kolayca kaldırılabilen de4dot.
Daha önce yazılan YARA kurallarını kullanarak bunun AgentTesla olduğundan emin oluyoruz.
özetlemek gerekirse
Bu nedenle, örnek olarak üç mini vaka kullanarak yarı otomatik numune açma sürecini ayrıntılı olarak gösterdik ve ayrıca tam teşekküllü bir vakaya dayalı olarak kötü amaçlı yazılımları analiz ettik, incelenen numunenin AgentTesla olduğunu tespit ederek işlevselliğini ve uzlaşma göstergelerinin tam listesi.
Yaptığımız kötü amaçlı nesnenin analizi çok fazla zaman ve çaba gerektiriyor ve bu işin şirketteki özel bir çalışan tarafından yapılması gerekiyor ancak her şirket bir analist çalıştırmaya hazır değil.
Grup-IB Adli Bilişim ve Kötü Amaçlı Kod Analizi Laboratuvarı'nın sunduğu hizmetlerden biri de siber olaylara müdahaledir. Müşterilerin bir siber saldırının ortasında belgeleri onaylamak ve bunları tartışmak için zaman kaybetmemeleri için Group-IB başlatıldı Olay Müdahale Tutucusu, kötü amaçlı yazılım analizi adımını da içeren bir abonelik öncesi olay müdahale hizmetidir. Bu konuda daha fazla bilgiyi burada bulabilirsiniz
AgentTesla örneklerinin nasıl paketten çıkarıldığını bir kez daha incelemek ve bir CERT Group-IB uzmanının bunu nasıl yaptığını görmek isterseniz bu konudaki web semineri kaydını indirebilirsiniz.
Kaynak: habr.com