FASTCash ve Uygulanabilecek SIGMA Kuralı
FASTCash
Genel Bakış
2 Kasım 2018 tarihinde US-CERT (United States Computer Emergency Readiness Team) tarafından yayınlanan bir raporla[1,2] Lazarus (US-CERT’teki adıyla Hidden Cobra) grubunun yeni bir aktivitesini bildirdi. Yayınlanan rapora göre Lazarus grubunun FASTCash isimli bir zararlı yazılımı kullanarak ATMlerden izinsiz olarak para çektikleri anlaşıldı. Bu aktivitelerin 2016 yılında Asya ve Afrika’da başladığı ortaya çıktı. Lazarus, Kuzey Kore kökenli siber suç ve istihbarat grubudur. Kendisini ilk olarak Sony’nin 2014 yılında hacklenmesiyle duyduk. WannaCry isimli zararlının (ransomware) arkasında olduklarına dahil bilgiler bulunmaktadır. FastCash zararlısı Lazarus grubunun istediği miktarlarda (hesap bakiyesi olmasa dahi) istedikleri kadar para çekmelerini sağlıyor. Aşağıdaki görsel Lazarus grubunun FastCash’i nasıl kullandığını gösteriyor.
FastCash’in çalışma
mantığı[1]
Özet
Bu analizimizde Kuzey Kore kökenli Lazarus grubunun ne kadar karmaşık ve bilgi seviyelerinin ne kadar yüksek olduğunu görebiliyoruz. Hedef kitlesini bankaların oluşturduğu bu zararlının en az 2016 yılından beri aktif olduğu ve Lazarus grubunun bu zararlıyı kullanarak milyonlarca dolar para çaldığını biliyoruz. Bankacılıkta da kullanılan AIX işletim sistemine özel hazırlanmış bu zararlının yetenekleri, teknolojinin gelişmesiyle saldırganların da çok farklı teknikler kullandığını görmüş oluyoruz. FASTCash zararlısı, sistemler arası haberleşmenin arasına girip, ISO 8583 mesajlarını anlayıp bu mesajlara cevap vererek sahte banka işlemleri yapmaya olanak sağlıyor. Aşağıdaki görselde grubun genel olarak yaptıklarını görebilirsiniz.Temel Bilgiler
Bu bölümde verilecek olan dosyalar bu hareketin ilk çıkısında bulunan 3 dosyadır.Injection_API_executable_e
MD5
|
b3efec620885e6cf5b60f72e66d908a9
|
SHA-1
|
274b0bccb1bfc2731d86782de7babdeece379cf4
|
SHA-256
|
d465637518024262c063f4a82d799a4e40ff3381014972f24ea18bc23c3b27ee
|
SSDeep
|
1536:CnM87WOrh1EEshNunXJzZst56iYTKg+T8v6paBLc0s7G8Y+s0nrTqG0s0nrTqB:CpW2h1mhpaBqTrverE
|
Dosya
boyutu
|
87
KB
|
Dosya
türü
|
64-bit
XCOFF executable/ object module
|
Lost_File1_so_file
MD5
|
d790997dd950bb39229dc5bd3c2047ff
|
SHA-1
|
7e6407c28c55475aa81853fac984267058627877
|
SHA-256
|
3a5ba44f140821849de2d82d5a137c3bb5a736130dddb86b296d94e6b421594c
|
SSDeep
|
1536:lJhosJHev1QFf+Z/2kREPItM9arn4nwF8uHit2Ofut:jhZJtf+Z/tJtMErn4/k62Iut
|
Dosya
boyutu
|
112
KB
|
Dosya
türü
|
64-bit
XCOFF executable/ object module |
2.so
MD5
|
b66be2f7c046205b01453951c161e6cc
|
SHA-1
|
ec5784548ffb33055d224c184ab2393f47566c7a
|
SHA-256
|
ca9ab48d293cc84092e8db8f0ca99cb155b30c61d32a1da7cd3687de454fe86c
|
SSDeep
|
3072:ZGLUeY4Q05eZTe/+3YZbAF/svvtBb0tTy:gLFMAG3YZMF/eBbQTy
|
Dosya
boyutu
|
108
KB
|
Dosya
türü
|
64-bit
XCOFF executable/ object module
|
Bulaşma Yolları
Şimdiye kadar bildirilen ele geçirilmiş sistemleri, IBM tarafından geliştirilen AIX işletim sisteminin artık desteği kesilen versiyonları olduğu belirtildi. Lazarus grubunun büyük ihtimalle AIX işletim sisteminin bu versiyonlarının açıklarından yararlanıp bu operasyonu gerçekleştirdiği söylenebilir.Analiz
Ele geçirilen AIX sistemlerde faaliyetlerini gerçekleştiren Lazarus, Injection_API_executable_e (bundan sonra enjektör diye adlandıracağım) zararlısını sisteme yüklüyor. Injection_API_executable_e isimli dosya asıl çalıştırılabilir dosya olup geri kalan dosyalar DLL görevi görüyor diyebiliriz. Bu zararlının uzantısı AIX sistemlere özel olarak geliştirilen xcoff’tur. Enjektör, şüphe uyandırmayacak başka bir işlemin içine enjekte oluyor. Aşağıdaki ilk görsel AIX sistemi için libgcc kütüphanesinin çağırılması için kullanılan fonksiyonu görüyoruz.
Main fonksiyonu içerisinde inject fonksiyonun çağırılması
Inject fonksiyonu içerisinde yapılan process işlemleri
Başka bir işleme kendini enjekte ettikten sonra bütün network
trafiğini okuyup, ISO 8583 mesajları olup olmadığına bakıyor.
ISO 8583, finans sektöründe banka ile kart arasındaki haberleşmeyi
sağlayan protokol[3] diyebiliriz. ISO 8583 uluslararası
bir standart olup bütün dünyada kullanılmaktadır. ISO 8583’ü
daha iyi anlamak için biraz daha açıklamak istiyorum. ISO 8583
mesajları 4 haneden oluşur. İlk hane versiyon numarasını, ikinci
hane hangi mesaj tipi olduğunu (yetkilendirme, finansal, dosya
işlemi vs), üçüncü hane mesajın fonksiyonu (istek, cevap,
bildirim vs), dördüncü hane ise mesajın nereden geldiğini (
banka, kullanıcı vs) belirtir.
Birinci hanenin özellikleri
İkinci hanenin özellikleri
Üçüncü hanenin özellikleri
Dördüncü hanenin özellikleri
Örnek olarak zararlımızda kullanılan ISO 8583 mesajını ele
alalım. X200 mesajı kullanıcının para çekme isteği olarak
bankaya iletilir. Başarılı olursa x210 mesajı geri gelerek
kullanıcının para çekmesine izin verilir. FastCash’te bu
özelliği kullanarak mesajları taklit ediyor. Yukarıdaki örnekte
verildiği gibi FastCash’in ilgilendiği kısım genellikle x200
mesajları oluyor.
Adım adım Lazarus grubunun para çekmek için yaptıklarını
açıklayalım. Her kullanıcının kendine ait bir PAN (Primary Account Number) numarası vardır. Lazarus grubu ATM’ye gidip para
çekme isteği gerçekleştirdiği zaman, sunucudaki zararlı yazılım
araya girerek mesaj tipini kontrol ediyor. Bundan sonra:- Eğer ISO 8583 mesajı 200 kodlu yani ATM işlemi ise
çalışmaya devam edip, kontrollere devam ediyor.
- Eğer ISO 8583 mesajı 3 ile başlıyorsa (bakiye sorgulama)
onay mesajı yollayıp bakiyeyi veriyor.
- PAN numarasının saldırganların kara listesinde olup olmadığını kontrol ediyor. Bu kara listenin hashmap veri yapısı kullanılarak tutulduğu ve hashmap_get fonksiyonuyla içindekilere eriştiğini görebiliyoruz. Bunu CheckPan fonksiyonu ile yapıyor.
4.Kara listede değilse 00
onay kodunu yollayarak para çekmeye olanak sağlıyor. Bu mesajları
üretmek için GenerateResponseTransaction1 ve
GenerateResponseTransaction2 fonksiyonları kullandığını
görüyoruz.
ISO 8583 Mesaj oluşturmak için
gerekli fonksiyonun bir kısmı
ISO 8583 mesajlarının
yollanması için gerekli olan paketlenmenin yapılması için
kullanılan fonksiyonun başlangıcı
ISO 8583 mesajlarının paketinin açılması için
kullanılan fonksiyonun başlangıcı
Para çekmek için rastgele
sayı üreten fonksiyon
Öneriler
- Bilinçlenmek en büyük önlemlerden biridir. Gündemi takip
edebilecek kadar bilgi çok şey değiştirebilir.
- Güvenmediğiniz dosyaları çevrimiçi araçlarla (VirusTotal,
hybrid-analysis vb.) kolayca analiz edip, ondan sonra
çalıştırabilirsiniz.
- Güvenilir antivirüs programları kullanabilirsiniz.
- Sadece güvendiğiniz ofis dokümanlarının makrolarını
çalıştırınız.
- Firewall kullanarak sisteminizi daha güvenli hale
getirebilirsiniz. Firewall ile beraber ACL (user access control
list) kullanarak, spesifik olarak hangi kullanıcıların hangi
işlemleri yapabileceğine karar verebilirsiniz.
- 2 adımlı yetkilendirme önlemlerini kullanarak sisteme
erişimi daha güvenli hale getirebilirsiniz.
- Bankacılık işlemlerinin her bir adımını sertifikalı
doğrulama (SSL gibi) mekanizması kullanılabilir. Bu
sertifikaların sayısını az tutup, sertifikalara erişimi de
kısıtlarsak daha güvenli bir ortam yaratabiliriz.
FASTCash Tespiti için Yazılabilecek SIGMA Kuralları
title: FASTCash detection (Hash)description: FASTCash Detection Through Hashes.
author: Burak ÇARIKÇI
references:
- https://www.us-cert.gov/ncas/alerts/TA18-275A
- https://www.us-cert.gov/ncas/analysis-reports/AR18-275A
- https://www.symantec.com/blogs/threat-intelligence/fastcash-lazarus-atm-malware
date: 2019/02/15
status: testing
logsource:
product: unix
service: auditd
detection:
selection:
file_hash:
- 10ac312c8dd02e417dd24d53c99525c29d74dcbc84730351ad7a4e0a4b1a0eba
- ca9ab48d293cc84092e8db8f0ca99cb155b30c61d32a1da7cd3687de454fe86c
- 1f2cd2bc23556fb84a51467fedb89cbde7a5883f49e3cfd75a241a6f08a42d6d
- 3a5ba44f140821849de2d82d5a137c3bb5a736130dddb86b296d94e6b421594c
- 4a740227eeb82c20286d9c112ef95f0c1380d0e90ffb39fc75c8456db4f60756
- 820ca1903a30516263d630c7c08f2b95f7b65dffceb21129c51c9e21cf9551c6
- 9ddacbcd0700dc4b9babcd09ac1cebe23a0035099cb612e6c85ff4dffd087a26
- a9bc09a17d55fc790568ac864e3885434a43c33834551e027adb1896a463aafc
- ab88f12f0a30b4601dc26dbae57646efb77d5c6382fb25522c529437e5428629
- d465637518024262c063f4a82d799a4e40ff3381014972f24ea18bc23c3b27ee
- e03dc5f1447f243cf1f305c58d95000ef4e7dbcc5c4e91154daa5acd83fea9a8
- f3e521996c85c0cdb2bfb3a0fd91eb03e25ba6feef2ba3a1da844f1b17278dd2
file_name:
- Lost_File.so
- Lost_File1_so_file
- 2.so
- Injection_API_executable_e
- inject_api
- Injection_API_log_generating_script
condition: selection
falsepositives:
- Unknown
level: high
mitre-attack:
Execution:
- User Execution
Kaynakça
- HIDDEN COBRA – FASTCash Campaign:
https://www.us-cert.gov/ncas/alerts/TA18-275A
- MAR-10201537 – HIDDEN COBRA FASTCash-Related Malware:
https://www.us-cert.gov/ncas/analysis-reports/AR18-275A
- ISO 8583: https://en.wikipedia.org/wiki/ISO_8583
- FASTCash: How the Lazarus Group is Emptying Millions from
ATMs:
https://www.symantec.com/blogs/threat-intelligence/fastcash-lazarus-atm-malware
- FASTCash zararlısının IOC’lerinin Stix formatındaki
hali:
https://www.us-cert.gov/sites/default/files/publications/MAR-10201537_stix.xml
Burak ÇARIKÇI
Yorumlar
Yorum Gönder