Brambul
Brambul
Giriş
Bu yazıda 2009 yılında beri aktif olan Kuzey Kore destekli Lazarus (Hidden Cobra veya Guardians of Peace olarakta bilinen) grubunun kullandığı zararlılardan olan Brambulu inceleyeceğiz. Lazarus grubunu 2014’te Sony’e yaptıkları saldırıdan tanıyoruz. Bu tehlikeli grup günümüze kadar çok fazla farklı teknik ve saldırı yolu kullanmıştır. Brambul’da bunlardan bir tanesidir. Brambul’u solucan (worm) kategorisine dahil edebiliriz. Asıl amacı SMB üzerinden yayılmak olmakla beraber Joanap arka kapı yazılımıyla beraber aynı anda dağıtılmaya ve kullanılmaya başlandığını görüyoruz.Özet
Bu analiz 2009 yılından beri aktif olan Lazarus grubunun kullandığı Brambul solucanının neler yaptığını anlatmaya yöneliktir. Yazıda Brambul hakkında temel bilgiler ve sistem üzerinde neler yaptığını, nasıl yayıldığını bulabilirsiniz. Kısaca bir özetlemek gerekirse oltalama mailleri ile yayılan Brambul rastgele IP adreslerine SMB üzerinden bağlanmaya çalışıyor. Bağlanırken kullandığı kullanıcı adı ve parola listesi zararlının içerisinde gömülü olarak bulunuyor.Temel Bilgiler
Brambul
|
|
MD5
|
f273d1283364625f986050bdf7dec8bb
|
SHA-1
|
0e0280a842fe88f586205a419b07d37f1fe97aca
|
SHA-256
|
8df658cba8f8cf0e2b85007f57d79286eec6309e7a0955dd48bcd15c583a9650
|
Dosya
Türü
|
Win32
EXE
|
Dosya
Boyutu
|
56
KB
|
Analiz
Zararlı üzerinde bilgi toplamaya başlayalım. DIE ile açtığımızda aşağıdaki gibi bir çıktıyla karşılaşıyoruz.Sectionlara baktığımız zaman herhangi bir bozukluk veya anomali görmüyoruz.
Bu adımlarla zararlıya ısındıktan sonra şimdi IDA ile
analizimize devam edelim. Main fonksinuyla analizimize başlayalım.
Zararlıyı çalıştıran kullanıcının SYSTEM olup olmadığı
kontrol ediliyor.
Kopyalama bittikten sonra kendini “-i” parametresi ile çağırıyor. Bundan sonra CreateProcessA fonksiyonu kullanılarak komut istemi çalıştırılıyor. Bu komutlar:
- “cmd.exe /c “net share admin$ /d””
- “cmd.exe /c “net share c$ /d””
Cmd üzerinden bu komutları çalıştırdıktan sonra kalıclılık sağlamak için kendini HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run registry’sine zararlının tam adresini ekliyor.
Kalıcılık sağlandıktan sonra işletim sistemi bilgilerini toplayıp mail attığını görüyoruz.
Maili attığı adres “whiat1001@gmail.com”, mailin atıldığı adres ise “johnS203@yahoo.com”
Bunlar SYSTEM kullanısıyla çalışırsa gerçekleşen fonksiyonlarıydı. Eğer kullanıcısı SYSTEM değil ise bunları yapmadığını ve 256 kere çalışan bir döngü içerisine girdiğini görüyoruz. Her seferinde bir thread oluşturduğunu ve sub_402900 isimli fonksiyonu çağırdığını görüyoruz.
Bu thread’de çalışan fonksiyona baktığımızda rastgele 4 sayı
ürettiğini görüyoruz. 4 sayı dendiğinde aklımıza gelen ilk
şey IP adresini oluyor. Bu sayıları %d.%d.%d.%d olarak Dest
değişkenine yazdığını görüyoruz.
Bu IP adresine bağlanmaya çalıştığını görüyoruz. Eğer IP adresi ile geçici olarak bağlantı kurulamıyorsa WSAGetLastError fonksiyonu çağırılarak kontrolü yapılıyor. Bu bloğun içine girildiğinde 255 kere dönen bir döngünün olduğunu ve yine thread oluşturarak sub_402B90 fonksiyonunun bu thread’e geçirildiğini görüyoruz.
Bağlantı kurulduktan sonra ilk görseldeki stringleri kullanıcı adı, ikinci görseldeki stringleri parola olarak kullanarak SMB üzerinden yayılmaya çalışıyor.
Eğer bağlantı sağlanırsa fonksiyonlarına en baştan başlayarak yayılmasına devam ediyor.
Analizden bağımsız olarak bazı Brambul zararlılarının
Petite2.1 compresser’ını kullandığını gördüm. Böyle
durumlarda unpack etmek gayet kolay. Ondan da bahsetmek istiyorum.
Petite packer’ını kullandığını DIE kullanarak
anlayabiliyoruz.
Burada ESP’yi takip ederek aşağıdaki gibi breakpoint koyuyoruz.
Çalıştırmaya devam ettiğimizde gerçek entry point ile karşılaşıyoruz.
O adrese devam ettiğimizde elimizde unpack edilmiş hali bekliyor. Scylla kullanarak yeni dosyamızı dump edip analiz edebiliriz.
Yeni dosyayı IDA ile açtığımızda importları ve stringleri görebiliyoruz.
Brambul Tespiti için Uygulanabilecek Kurallar
Yara Kuralı
rule brambul_not_packed{meta:
description = "Detect Brambul SMB Worm"
author = "CT-ZER0"
date = "15.11.2019"
strings:
$not_packed1 = "cmd.exe /c \"net share admin$\""
$not_packed2 = "MAIL FROM:<"
$not_packed3 = "RCPT TO:<"
$not_packed4 = "HELO <"
condition:
all of them
}
rule brambul_packed{
meta:
description = "Detect Brambul SMB Worm if it is packed"
author = "CT-ZER0"
date = "15.11.2019"
strings:
$p1 = ".petite"
$p2 = "ExitProcess"
$p3 = "LoadLibraryA"
$p4 = "VirtualProtect"
condition:
all of them
}
Sigma Kuralı
title: Brambuldescription: Detect Brambul SMB Worm Malicious Activities
references:
- https://www.symantec.com/security-center/writeup/2015-051114-3802-99
author:CT-ZER0
status: experimental
date: 2019/11/15
logsource:
product: windows
service: sysmon
detection:
selection1:
EventID: "1"
CommandLine:
- "cmd.exe /c \"net share admin$\""
- "cmd.exe /c \"net share c\""
- "%SYSTEM%\lsavc.exe"
selection2:
EventID: "13"
TargetObject:
- '*\SOFTWARE\Microsoft\Windows\CurrentVersion\Run\*'
condition: selection1 and selection2
fields:
- CommandLine
- TargetObject
falsepositives:
- Red team activities
level: high
Öneriler
- Oltalama maillerine dikkat edilmeli. Bilinmeyen kaynaktan
gelen mailler dikkatle incelenmelidir.
- Bilinmeyen dosyalar açılmadan önce online araçlarla
hızlıca tarama yapılıp, bir bilgi edinilebilir.
- SMB tarafında güçlü parolalar kullanılmalıdır.
- Güvenlik ürünü kullanabilirsiniz.
- 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.
Kaynaklar
- HIDDEN COBRA – Joanap Backdoor Trojan and Brambul Server
Message Block Worm: https://www.us-cert.gov/ncas/alerts/TA18-149A
- İncelenen dosyanın VirusTotal sonucu: https://www.virustotal.com/gui/file/8df658cba8f8cf0e2b85007f57d79286eec6309e7a0955dd48bcd15c583a9650/detection
CT-Zer0
Yorumlar
Yorum Gönder