Son yıllarda özellikle finansal kurumlara gerçekleştirilen hedeflenmiş siber saldırılara (APT) bakıldığında, sızma testi uzmanlarının da yakından bildiği Cobalt Strike aracının kullanıldığını görebilirsiniz. Hatta Rusya’nın merkez bankası yetkililerine kulak verirseniz, 2017 yılında bu araçla 240 bankaya yapılan siber saldırılar sonucunda 17 milyon doların çalındığını öğrenebilirsiniz. Siber saldırganların taktik, teknik ve prosedürlerinin başarılı bir şekilde simülasyonunu yapmaya imkan tanıyan, özellikle gizli haberleşme özelliği ile istismar sonrası (post exploitation) kullanılan bir araç olan Cobalt Strike, özellikle güvenlik teknolojileri ve insan kaynağı yatırımdan yoksun kurumlara karşı kullanıldığında ciddi derecede sıkıntılara yol açabilmektedir.

Bu hikaye 2018 yılının Nisan ayında, finansal kurumlara ödeme sistemleri ve çözümleri sunan bir firmanın çalışanının kurumsal e-posta adresinden, bir bankanın çalışanına e-posta gönderilmesiyle başlar. E-postanın ekinde yer alan Powerpoint sunum dosyasına bakıldığında firma tarafından hazırlanmış masum bir dosya gibi görünse de, güvenlik sistemlerinde alarm üretip engellenmesi sebebiyle şüpheleri üzerine çeker ve ardından bankanın güvenlik analistleri tarafından analiz edilmeye başlanır.

Powerpoint dosyası açıldığında ortaya çıkan uyarı mesajı, dosyanın içeriğinde bağlantılar olduğunu işaret eder. Bağlantılara detaylı olarak bakıldığında, uyarı mesajında çıkan “Update Links” butonuna basıldığında Litvanya’daki bir sunucuya ait olan http://213[.]252.244.174/download/ web adresinden file.ext dosyasının indirilip çalıştırılacağı anlaşılır.

APT 19
APT 19

Bu bağlantının sunum dosyasının neresinde olduğunun öğrenilmesi için ise sunum.pptx dosyası 7-Zip aracı ile açılıp ortaya çıkan klasörlerde 213[.]252.244.174 adresi aratıldığında bu adresin sunum\ppt\slides\_rels\slide29.xml.rels dosyası içinde, 29. slaytta olduğu anlaşılır. 29. slayta dikkatlice bakıldığında ise bağlantının sağ alt köşeye gizlendiği görülür.

APT 19
APT 19

file.ext dosyasının içeriğine bakıldığında, VBS (Visual Basic Script) betiği içerisinde çağrılan, base64 ile gizlenmiş (encode) bir powershell betiği olduğu görülür. Bu betik çözüldükten (decode) sonra ise bu defa bellekte bir alana enjekte edildikten sonra CreateThread API’si ile çalıştırılan, base64 ile gizlenmiş başka bir kod ortaya çıkar. Çoğunlukla son adımda ortaya çıkan bu kod parçası bir kabukkodu olur. (shellcode)

APT 19
APT 19
APT 19

Kabukkodu xxd aracı ile analiz edilebilir hale çevrildikten sonra Radare2‘nin rabin2 aracı ile karakter dizilerine (strings) bakıldığında bunun http(s)://213[.]252.244.174/QYkG adresi ile haberleşen bir HTTP(S) kabukkodu olabileceği anlaşılır.

APT 19
APT 19

Kabukkodunu dinamik olarak analiz etmeden önce 213.252.244.174 IP adresi çevrimdışı olduğu için daha önce dinamik sistem analizi esnasında Fiddler aracı ile elde edilen, https://213[.]252.244.174/QYkG adresinden indirilen ancak okunaklı olmayan pakedin (2. stage payload), Charles Proxy aracı ile test.com adresine yönlendirilmesi ve daha önce elde edilen paketi diskten okuyup istekte bulunan herhangi bir programa göndermesi sağlanır.

APT 19
APT 19
APT 19
APT 19
APT 19
APT 19
APT 19

Dinamik sistem analizi esnasında Fiddler ile kayıt edilen HTTPS trafiğinde yer alan gizlenmiş Cookie bilgisine göre bu kabukkodunun Cobalt Strike aracına ait olduğu ihtimali güçlenir.

APT 19

Kabukkodunu dinamik olarak analiz etmek için Code Cave yönteminden faydalanılarak ilgili kabukkodu (shellcode-ctek.bin), calc.exe programının son bölümündeki boş alanlara (000000000…) yerleştirilir ve bu kod parçasına kesme noktası (breakpoint) koyularak program akışının kabukkodundan devam etmesi (CreateThread) sağlanarak, kod parçası analiz edilmeye çalışılır.

APT 19
APT 19
APT 19

Bellekte 0265000 adresine açılan DLL dosyasının karakter dizileri (strings) incelenip, araştırıldığında (#1) ve ayrıca ortaya çıkan API adresleri de Google arama motoru üzerinde araştırıldığında bu DLL dosyasının CobaltStrike aracına ve kabukkodunun da bu araçta kullanılan Metasploit’in Block Reverse Http(s) kabukkoduna ait olduğu olduğu anlaşılır.

APT 19
APT 19
APT 19

Analizin devamında ortaya çıkan ilave bilgiler de Google arama motorunda araştırıldığında FireEye‘ın 2017 yılında Çin devleti tarafından desteklendiği iddia edilen, hukuk ve yatırım firmaları hedef aldığı belirtilen APT19 grubu ile ilgili yayınlamış olduğu araştırma yazısına ulaşılır.

APT 19
APT 19
APT 19

Bu girişimin ardında APT 19 grubu mu vardır ve hedef mi büyütmüşlerdir bilinmez ancak tehdit raporlarında 3. parti firmalar üzerinden hacklenen firmalarla ilgili yazılar okuyan bir siber güvenlik araştırmacısı olarak bu tür hedeflenmiş, organize, ileri seviye siber saldırıların ülkemizde de gerçekleştirildiğine bu analiz yazısı ile dikkat çekmek ve özellikle finans sektöründeki firmaların bu tür siber saldırılara karşı çok dikkatli olmalarını öneririm.

Bir sonraki yazıda görüşmek dileğiyle herkese güvenli günler dilerim.

Not:

  • Bu yazı ayrıca Pi Hediyem Var #15 oyununun çözüm yolunu da içermektedir.