APT34
APT34
Genel bakış
APT34 (diğer isimleriyle OilRig,
HELIX KITTEN, IRN2) en az 2014 yılından beri aktif olduğu bilinen
siber casusluk grubudur. APT34 grubu genel olarak Ortadoğu
ülkelerini hedef almaktadır[1]. Grubun hedef kitlesini
devlet kurumları, finansal kurumlar, enerji ve telekomünikasyon
kurumları oluşturmaktadır. Grubun İran kökenli olduğu
biliniyor. 2019 Nisan ayında Telegram üzerinden kullandıkları
araçlar, grup üyelerine ait fotoğraflar, saldırdıkları ve ele
geçirdikleri sistemlere ait bilgiler sızdırıldı.
Özet
Bu yazımızda en az 4 senedir aktif
olan ve Türkiye’de hedefleri arasında olan APT34 grubunu
anlatmaya çalıştım. Bu APT grubunun amacı İran için istihbarat
sağlamak. Kendini diğer gruplardan ayıran özelliklerden bir
tanesi de DNS trafiği üzerinden haberleşme sağlayıp, buraya önem
vermesi. Bu teknik genelde kullanılan bir teknik olmadığı için
yer vermek gerektiğini düşünüyorum. APT34 grubunun kullandığı
araçların, gruba ait insanların bilgilerinin, yükledikleri ve
kullandıkları webshell’lerin adreslerinin, birileri tarafından
ifşa edilmeside bu grubu son günlerde göz önüne getiriyor.
Aşağıdaki görselde grubun genel atak şeması verilmiştir.
Sızan belgeler
Sızan belgeler içerisinde kurumlara
yüklenen webshell bilgileri, grubun üyelerine ait bilgiler ve
grubun kullandığı araçlar var. Lab Dookhtegan isimli Telegram
kanalından paylaşılan bu sızıntı dosyaları, grubun içerisinden
birinin paylaştığı tahmin ediliyor. Kanalın 25 Mart 2019’da
kurulduğu ve bu yazı yazılırken (20 Mayıs 2019) hala aktif
olduğu ve paylaşımlarına devam ettiğini görmekteyiz. Aşağıdaki
mesajda da görüldüğü üzere APT34 / OILRIG grubunun İran
İstihbarat Teşkilatına bağlı bir grup olduğu, grubun
yöneticilerinin, grup hakkındaki bilgilerin ve amaçlarının
paylaşılacağı belirtiliyor. Ayrıca grubun hedef tahtasında
İran’ın komşularının olduğu da vurgulanıyor.
İngilizceleriyle beraber mesajların farsçalarını da görüyoruz.
Aşağıda isimleri görülen dosyalar sızdırılan dosyalardır. Buradan da onaylayabileceğimiz gibi hedef kitlesinin genel olarak orta doğu ülkeleri ve bu ülkelerin kurumları olduğu ortaya çıkmaktadır.
Yayınlanan bilgilere göre APT34’ün kullandığı sunucuları kullanılamaz hale getirdiklerini iddaa ediyorlar.
Sızdırılan bilgiler içerisinde çeşitli kurumlara ait webshell bilgileri bulunmakta. Webshell’i arka kapı (backdoor) olarak düşünebiliriz. Saldırgan webshell yerleştirdiği sistemlere istediği zaman erişim sağlayıp, yetkisinin eriştiği her işlemi yapabilir. Webshell yüklenen sistemlere baktığımızda Türkiye’den de kurumların olduğu dikkatimizi çekiyor.
Kullanılan Yöntemler
Sızdırılan dosyaların arasında
saldırganların kullandığı araçlar da bulunmakta. Bu araçların
adı poisonfrog, glimpse ve webmaks-dnspionage olarak geçmektedir.
Poisonfrog
Poisonfrog isimli aracın bir arka
kapı (backdoor) uygulaması olduğu, hem agent hem de sunucu
kurulumu için gerekli dosyaları görebiliyoruz. Agent klasörüne
baktığımızda bizi bir tane .ps1 uzantılı PowerShell dosyası
karşılıyor. Dosyayı açıp incelemeye başlayalım.
Dosyanın ilk satırlarında 2 tane
base64’lenmiş değişken görüyoruz. Bu değişkenleri decode
ettiğimiz zaman aşağıdakileri görmekteyiz. 2 tane payload
oldukları ve bu zararlının ilk parçaları olduğunu
söyleyebiliriz. dns_ag isimli değişkene baktığımız zaman bunun
subdomain üretme, veri alma ve yollama işlerini yaptığını
görüyoruz. Aşağıdaki görselde mylefheart[.]com domainine
atag12[rastgele sayı ve karakterlerden oluşan
string].myleftheart[.]com olacak şekilde üretildiğini görüyoruz.
Diğer payload’a baktığımız zaman (http_ag değişken isimli) proxy kullanarak ağ bağlantısı kurduğunu görüyoruz.
Payloadlar çalıştıktan sonra
C:\Users\Public\Public dizinine 2 tane powershell dosyası
indiriliyor. Bu PowerShell dosyaları (.ps1 uzantılı) scheduled
task (zamanlanmış görev) oluşturarak dUpdater.ps1 ve hUpdater.ps1
dosyalarını her 10 dakikada bir çalıştırıyor.
Sunucu tarafındaki dosyalara
baktığımız zaman birtakım javascript dosyası (.js uzantılı),
ayar dosyaları ve rehber olarak hazırlanmış programların nasıl
çalıştırılacağına dair belgeler buluyoruz. Sadece .js
dosyaları olup, html ve css dosyaları olmamasından dolayı arayüzü
tam olarak görüntüleyemiyoruz fakat anlamlandıracak kadar bilgi
veriyor. panel.ejs (isminden ne olduğunu tahmin etmek çok zor
değil) dosyasını tarayıcı ile açtığımızda aşağıdaki gibi
bir görüntüyle karşılaşıyoruz.
İçerisinde bulunan ilginç bir dosya
ise config.json isimli dosya. Bu dosyanın içerisinde guid, user ve
password bilgiler bulunuyor.
Özetlemek gerekirse Poisonfrog bir arka kapı yazılımı ve paylaşılan dosyalarda hem agent hem de sunucu ve bunlara ait olan kurulum bilgileri vardır.
Webmask
Bu sızıntıda APT34 grubunun ünü olan dns masking yönteminin nasıl kullanıldığını görüyoruz. Webmask isimli dosyayla paylaşılan bu aracın içerisinde guide.txt (kurulum rehberi), install.sh (kurulum için gereken betik), dns-redir klasörü ve icap klasörü çıkıyor. guide.txt’yi açtığımız zaman 2 şekilde kurulum olacağını ve 2. kurulumda bunu kullanın (use this) yorumunu görüyoruz.
Ekran görüntüsünde de görüldüğü
üzere Arap Emirlikleri’nin dns adresi örnek olarak verilmiş.
Python ile yazılmış dosyalara baktığımızda dnsd.py ve icap.py
isimli 2 tane önemli dosya görüyoruz. dnsd.py dosyasında eğer
dns sorgusunda çakışan (override) öğeler varsa bu betiğin
içerisinde değiştiriliyor. Override fonksiyonu bu işi yapıyor.
DNS enjeksiyonun gerçekleştiği yer
ise icap.py isimli betikte. Buradaki inject ile başlayan
fonksiyonlarda enjeksiyon yapılıp diğer fonksiyonlarda header
(başlık) ve cookie bilgisi ile değişikliklerinde yapıldığını
görüyoruz.
Bu betikte ilgimi çeken bir diğer
fonksiyon ise extract_login_password isimli fonksiyon. Bu fonksiyonu
Türkçeye çevirdiğimiz zaman parolaları çıkarmak-ayıklamak
anlamına geliyor. İçerisinde hazır olarak bulunan alanlardan
herhangi biriyle karşılaşınca düzenli ifadeler (regular
expression) yardımıyla kullanıcı adı ve parolaları kaydediyor.
Özetlemek gerekirse bu araç, DNS
trafiğini saldırganların ayarladığı şekilde değiştirerek,
kullanıcı adı ve parola bilgilerini çalmak için kullanılıyor.
Glimpse
Sızdırılan belgelerde göze çarpan diğer klasör ise Glimpse isimli C2C (komuta kontrol) amaçlı kullanılan araç. Klasörün içerisinde “Read me.txt” (Beni oku) isimli bir dosya var. Açıp okuduğumuz zaman Glimpse’i kurmak için gerekli adımların yazıldığını görüyoruz. Agent, Panel ve Server kurulum bilgileri verilmiş. Glimpse projesi 3 parçadan oluşuyor. Agent, Panel ve Server. Agent, APT34’ün sızdığı sistemlere yüklediği yazılım. Panel, saldırganların kullanması için oluşturulmuş olan panel. Server ise sunucu işlemlerini yapan gelen verileri işleyen kısım. Node.js ve Windows Server kullanıldığını görüyoruz.Burada da iletişimin DNS üzerinden sağlandığını görüyoruz. Poisonfrog’tan farklı olarak TXT DNS kaydı olarak iletişim kuruluyor. TXT DNS kaydı normal DNS kaydından farklı olarak metin (text) olarak ekstra bir sütunda bilgi saklıyor[2]. Örnek olarak @ 3600 IN TXT "istediğiniz metni koyabilirsiniz" bir TXT DNS kaydıdır[2]. “control: 95 - ackNo: 0 - aid: 59071d8289 - action: M >>> 59071Md8200089EC36AC95T” mesajı APT34 grubunun örnek olarak kullandığı bir mesajdır[3]. Burada action parametresine verilen her değerin bir karşılığı bulunuyor.
-
M parametresi: Bu parametre geldiğinde agent’a ait dosya bilgilerini güncelliyor.
-
W parametresi: Agent daha önce kayıtlı değilse kayıt işlemi yapılıp whoami ve ipconfig /all komutu çalıştırılıyor. Kayıtlı ise gelen komut çalıştırılıyor.
-
D parametresi: Base64’lenmiş olarak gelen komutu çalıştırır.
-
0 parametresi: Parametredeki dosyayı waiting klasöründen istiyor. Buradaki iletişimide DNS üzerinden sağlıyor
-
1 parametresi: Server’daki dosyayı Agent’a yollamak için kullanılıyor.
-
2 parametresi: Agent’taki dosyayı Server’a yollamak için kullanılıyor.
Webshells_and_panel
Bu klasöre baktığımızda
kullanılan Webshell’leri (yukarıda da bahsi geçmişti) ve grubun
kendisi için geliştirdiği panelleri görüyoruz. Daha önce
incelediklerimizden çok farklı panel veya arka kapı yazılımları
değil. FoxPanel22 isimli panele baktığımızda gayet modern
arayüze sahip bir panel bizi karşılıyor.
HyperShell isimli koda baktığımız
zaman aspx uzantılı olduğunu görüyoruz. Kodu incelediğimiz
zaman klasik fonksiyonlara sahip olduğunu görüyoruz. Aşağıdaki
görselde o anki dizini döndüren bir fonksiyon ve indirme işlemi
yapan bir fonksiyon görünüyor.
İletişim için Json kullanıldığını ve Json için gerekli işlemler yapıldığını biliyoruz. Bunlarda 2 tane basit fonksiyonla implement edilmiş.
Cookie bilgisinin bu arka kapı yazılımı için önemli olduğunu ve bu değeri okumak için fonksiyon yazıldığını görüyoruz.
APT34’ün Tespiti için Uygulanabilecek SIGMA Kuralı
title:
APT34
description:
Detects malicious activities of APT34
references:
-
https://attack.mitre.org/groups/G0049/
author:
Burak ÇARIKÇI
logsource:
category:
firewall
detection:
outgoing:
dst_ip:
-
193.70.17.18
-
95.168.176.173
-
213.227.140.35
-
142.234.200.73
-
185.174.100.56
-
213.32.113.190
-
217.79.185.65
-
46.105.134.228
-
*.myleftheart.com
-
adobelicence.com
-
lowconnectivity.com
-
microsoftfixer.com
-
hpserver.online
-
updatenodes.site
-
updatesecuritypatch.com
-
adpolicer.org
-
jscript.online
-
cloudipnameserver.com
-
adobelicence.com
-
withyourface.com
-
googie.email
-
0ffice36o.com
-
adpolicer.org
-
defender-update.com
-
dns.adobelicence.com
-
adobelicence.com
-
dns.msnconnection.com
-
acrobatverify.com
-
msnconnection.com
-
supermario2018.com
-
anyportals.com
incoming:
src_ip:
-
193.70.17.18
-
95.168.176.173
-
213.227.140.35
-
142.234.200.73
-
185.174.100.56
-
213.32.113.190
-
217.79.185.65
-
46.105.134.228
-
*.myleftheart.com
-
adobelicence.com
-
lowconnectivity.com
-
microsoftfixer.com
-
hpserver.online
-
updatenodes.site
-
updatesecuritypatch.com
-
adpolicer.org
-
jscript.online
-
cloudipnameserver.com
-
adobelicence.com
-
withyourface.com
-
googie.email
-
0ffice36o.com
-
adpolicer.org
-
defender-update.com
-
dns.adobelicence.com
-
adobelicence.com
-
dns.msnconnection.com
-
acrobatverify.com
-
msnconnection.com
-
supermario2018.com
-
anyportals.com
condition:
1 of them
logsource:
product:
windows
service:
sysmon
detection:
selection:
EventID:
1
Image:
'*\schtasks.exe'
CommandLine:
-
'* /create * hUpdater.ps1'
-
'*/create * dUpdater.ps1'
filter:
User:
'NT AUTHORITY\SYSTEM'
condition:
selection and not filter
fields:
-
CommandLine
-
ParentCommandLine
falsepositives:
-
Administrative activity
-
Software installation
level:
high
Öneriler
-
Bilinçlenmek en büyük önlemlerden biridir. Gündemi takip edebilecek kadar bilgi çok şeyi değiştirebilir.
-
Oltalama saldırıları ile ilgili güncel kalın. Gelen mail adresini, mailde bulunan yazım yanlışlarını, şüpheli linkleri, kullanılan görselleri kontrol etmek önemli bir ipucu verebilir.
-
SMS veya şifresiz halde gelen 2 adımlı doğrulama yöntemlerini kullanmak güvenli
olmayabilir.
Donanımsal veya uygulama olarak hizmet veren 2 adımlı doğrulama
yöntemleri kullanılabilir.
-
Güvenmediğiniz dosyaları, IP ve URL adreslerini, VirusTotal vb. siteleri kullanarak kontrol edebilirsiniz.
-
Güvenilir antivirüs programları kullanabilirsiniz.
-
DNS trafiğini kontrol etmek APT34 için işe yarayabilen bir teknik olabilir.
-
Domain-Based Message Authentication, Reporting & Conformance (DMARC) sistemi
kurularak kuruma
gelen spam mailleri en aza indirebilirsiniz
Kaynakça
-
APT34: Glimpse project: https://marcoramilli.com/2019/05/02/apt34-glimpse-project/
Burak ÇARIKÇI
CT-Zer0
CRYPTTECH
CT-Zer0
CRYPTTECH
Yorumlar
Yorum Gönder