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



 Burak ÇARIKÇI
CT-Zer0
CRYPTTECH

Yorumlar

Bu blogdaki popüler yayınlar

1. Geleneksel Stajyer CTF Soru ve Cevapları

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

2. Geleneksel Stajyer CTF Soru ve Cevapları - 2017