Yakın zamanda gerçekleşen bir kötü amaçlı yazılım kampanyası, 64 bit Rust ikili dosyasını indirmek ve yürütmek için bir Word belgesindeki VBA makrosunu kullandı. Bu ikili dosya, kötü amaçlı bir AgentTesla yükünü kendi bellek alanına yüklemek için dosyasız enjeksiyon tekniklerini kullanır.
Kötü amaçlı yazılım, bunu başarmak için yerel süreçlerin.NET kodunu yürütmesine yönelik bir mekanizma olan CLR barındırmadan yararlanır ve.NET çalışma zamanı kitaplıkları dinamik olarak yüklenir ve kötü amaçlı yazılımın dosyaları diske yazmadan çalışmasına olanak tanır.
Kötü amaçlı yazılım, “EtwEventWrite” API’sini yamalayarak Windows için Olay İzlemeyi (ETW) devre dışı bırakıyor ve ardından belirli bir URL’den AgenetTesla yükünü içeren bir kabuk kodu indiriyor. Kabuk kodu daha sonra “EnumSystemLocalesA” API’si kullanılarak yürütülür.
Kabuk kodu, yakalanmaması için VirtualAlloc, VirtualFree ve RtlExitUserProcess gibi API’leri dinamik olarak çözmek için karma oluşturmayı kullanır ve ardından belleği ayırır ve çalıştırılabilmesi için kodu çözülmüş AgentTesla yükünü bu belleğe yazar.
Başlangıç olarak, kötü amaçlı yazılım boyutu ve kodlanmış kabuk kodu verilerini bellekten alır. Daha sonra, her seferinde dinamik olarak oluşturulmuş farklı bir 0x10 baytlık anahtar kullanarak yükün 0x10 baytlık parçalarının şifresini teker teker çözen özel bir şifre çözme rutini kullanır.
Etkili Kötü Amaçlı Yazılım Analizi için ANY.RUN’u Şirketinize Entegre Edin
SOC, Tehdit Araştırması veya DFIR departmanlarından mısınız? Öyleyse 400.000 bağımsız güvenlik araştırmacısından oluşan çevrimiçi topluluğa katılabilirsiniz:
- Gerçek Zamanlı Tespit
- İnteraktif Kötü Amaçlı Yazılım Analizi
- Yeni Güvenlik Ekibi Üyelerinin Öğrenmesi Kolay
- Maksimum veriyle ayrıntılı raporlar alın
- Linux’ta ve tüm Windows İşletim Sistemi Sürümlerinde Sanal Makineyi Kurma
- Kötü Amaçlı Yazılımlarla Güvenli Bir Şekilde Etkileşim Kurun
Tüm bu özellikleri şimdi sanal alana tamamen ücretsiz erişimle test etmek istiyorsanız:
ANY.RUN’u ÜCRETSİZ deneyin
İşlem, son veriyi içeren 0x3E184 baytlık arabelleğin tamamının şifresini çözer. Daha sonra, kabuk kodu gerekli DLL adlarının (ole32, oleaut32, wininet, mscoree, kabuk32) bir listesini çıkarır ve bunları PEB yapısını kullanarak yüklü modül listesinde arar.
Gerekli bir DLL eksikse, kötü amaçlı yazılım onu yüklemek için LoadLibraryA’yı kullanır ve kabuk kodu, yüklenen kitaplıklar içindeki VirtualProtect, SafeArrayCreate ve CLRCreateInstance gibi işlevleri bulmak için API karma işleminden yararlanır.
Kabuk kodu, bellekteki “AmsiScanBuffer” ve “AmsiScanString” işlevlerini yamalayarak AMSI taramasını devre dışı bırakır ve ardından kötü amaçlı.NET kodunu yürütmek için CLR barındırma işlemi gerçekleştirir.
Bir CLR çalışma zamanı örneği oluşturmayı, istenen .NET sürümünü bulmak için yüklü çalışma zamanlarını numaralandırmayı ve varsayılan AppDomain’i almayı içerir. Kötü amaçlı derleme bayt kodunu tutmak için bir SafeArray oluşturulur ve bu daha sonra AppDomain’e yüklenir. Yüklenen derlemenin giriş noktası, başka bir SafeArray üzerinden iletilen tüm bağımsız değişkenlerle birlikte çağrılır.
Buna göre SonicWall, kabuk kodu, bellekte kötü amaçlı.NET kodunu (MSIL AgentTesla yükü) yürütmek için CLR barındırmayı kullanır ve bunu ilk önce bir CLR MetaHost örneği almak için CLRCreateInstance’ı çağırarak başarır.
CLR çalışma zamanını ayarlamak ve başlatmak için ICorRuntimeHost gibi arayüzleri alır, şifresi çözülmüş MSIL yükünü içeren bir SafeArray nesnesi oluşturur ve bunu varsayılan uygulama etki alanına yükler.
Kabuk kodu, yüklenen derlemenin giriş noktasını yürütmek için Invoke_3’ü çağırır ve yerel işlem içinde AgentTesla işlemini etkili bir şekilde başlatır. Yürütmenin ardından kabuk kodu MSIL yükünü siler ve SafeArray nesnesini yok eder.
IOC’ler
Belge Dosyası:
MD5 :D99020C900069E737B3F4AB8C6947375
SHA256 : A6562D8F34D4C25A94313EBBED1137514EED90B233A94A9125E087781C733B37
64 bit indirilen yürütülebilir dosya:
MD5 : 4521162D45EFC83FA76C4B5C0D405265
SHA256 : F00ED06A1D402ECF760EC92F3280EF6C09E76036854ABACADCAC9311706ED97D
Kabuk kodu bloğu:
MD5 : CD485BF146E942EC6BB51351FA42B1FF
SHA256 : 02C03E2E8CA28849969AE9A8AAA7FDE8A8B918B5A29548840367F3ECAC543E2D
Enjekte Edilen AgentTesla Yükü:
MD5 : 6999D02AA08B56EFE8B2DBBD6FDC9A78
SHA256 : 7B6867606027BFCA492F95E2197A3571D3332D59B65E1850CB20AA6854486B41
Kötü amaçlı yazılım tarafından kullanılan URL’ler:
https[:]//Yeni Kodlayıcı[.]cc/Users/signed_20240329011751156[.]exe (64 bit exe indirildi)
https[:]//Yeni Kodlayıcı[.]cc/Kullanıcılar/shellcodeAny_20240329011339585[.]bin (kabuk kodu indirildi)
Is Your Network Under Attack? - Read CISO’s Guide to Avoiding the Next Breach - Download Free Guide