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:
  1. Eğer ISO 8583 mesajı 200 kodlu yani ATM işlemi ise çalışmaya devam edip, kontrollere devam ediyor.
  2. Eğer ISO 8583 mesajı 3 ile başlıyorsa (bakiye sorgulama) onay mesajı yollayıp bakiyeyi veriyor.
  3. 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.



    5.Lazarus grubu parayı çekmiş olur.
Genel olarak FASTCash zararlısını kullanarak Lazarus grubunun nasıl kaçak bir şekilde nasıl para çektiğini gördük. Bunun dışında zararlının içerisinde ISO 8583 ile ilgili fonksiyonlarında bulunduğu görülüyor. Bazıları aşağıdaki görsellerde sunulmuştur.
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

  1. HIDDEN COBRA – FASTCash Campaign: https://www.us-cert.gov/ncas/alerts/TA18-275A
  2. MAR-10201537 – HIDDEN COBRA FASTCash-Related Malware: https://www.us-cert.gov/ncas/analysis-reports/AR18-275A
  3. ISO 8583: https://en.wikipedia.org/wiki/ISO_8583
  4. FASTCash: How the Lazarus Group is Emptying Millions from ATMs: https://www.symantec.com/blogs/threat-intelligence/fastcash-lazarus-atm-malware
  5. 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

Bu blogdaki popüler yayınlar

1. Geleneksel Stajyer CTF Soru ve Cevapları

2. Geleneksel Stajyer CTF Soru ve Cevapları - 2017

B*-Tree (BTree, BPlusTree) Veri Yapısı ile Veri İndeksleme