Zararlı Yazılım Trafiğinin Sahte Servislerle Yönetimi

Analiz aşamasında lab ortamında çalıştırılan zararlı yazılımların ihtiyaç duydukları servislere bağlantı kurmaları, gerek program akışında başarılı bağlantıdan sonra çalışan bölümlerin dinamik olarak analiz edilebilmesi gerekse analiz edilecek ağ trafiğinin oluşturulması için gereklidir. Bu gibi durumlarda zararlıyı analistin kontrolündeki sahte servislere yönlendirmek sıklıkla kullanılan etkili bir yöntemdir.

Yazı boyunca bu yöntem anlatılırken sanal bir ağda çalışan iki adet sanal makine kullanılmıştır. Bunlardan birinde Windows XP, diğerinde ise REMnux kuruludur. WinXP’nin IP adresi 10.10.10.130, REMnux’ün ise 10.10.10.128 olarak atanmıştır. Bu örnek lab ortamı olup birçok farklı kombinasyon mümkündür. Analiz için uzak bir FTP sunucusuna bağlanmaya çalışan bir zararlı seçilmiştir. Kullanılan araçlar ve zararlının SHA256 özeti şu şekildedir.

Kullanılan Araçlar:
  • FTP Kullanan Zararlı Örneği (sha256:d7ac4d6442a3448fb147fd70b5e98f8e244b5e129f8bbd5f085b04cf01158c03)
  • ApateDNS
  • Inetsim, Fakenet
  • Wireshark
Zararlının gerçekte bağlantı kurmaya çalıştığı C&C veya benzer işlem gören uzak sistem yerine sahte servislerin çalıştığı makineye bağlantı kurmasını sağlamak için DNS üzerinden basit birkaç yöntem kullanılabilir. Bunlardan ilki “SistemDizini:WindowsSystem32Driversetchosts” dosyasına zararlının bağlantı kurmak istediği alanadını ve sahte servislerin çalıştığı makinenin IP’sini eşleştiren bir satır eklenebilir (10.10.10.128 ftp.zararli.com). Bunun yerine yapılan bütün DNS sorgularına sahte servislerin çalıştığı makinenin IP addresini içeren bir cevap döndüren ApateDNS aracını kullanmak bazı durumlarda daha pratik olabilir. Bunun için ApateDNS aracı çalıştırılıp “DNS Reply IP” bölümüne yönlendirilmek istenilen sistemin IP adresi girilip “Start Server” tuşuna basılır. Sistemde birden fazla ağ arayüzü varsa “Selected Interface” bölümünden ilgili arayüz seçilmelidir.

Başka bir ihtimal de zararlının bir alanadı yerine doğrudan uzak siteme IP adresi ile erişmesidir. DNS sorgularına sahte cevap gönderme yöntemi bu durumda işe yaramayacaktır. Böyle bir durumda iptables veya başka bir NAT desteği bulunan yazılım aracılığıyla analiz makinesinden (WinXP) giden paketlerin hedef IP adresi veya belli bir IP ‘ye giden paketlerin hedef IP adresi değiştirilerek bağlantı sahte servislerin bulunduğu (REMnux) sisteme yönlendirilebilir. Alternatif olarak zararlının dinamik analizi sırasında hedef adresi hafızada değiştirerek doğrudan istenilen adrese bağlanması da sağlanabilir.
Sahte servislerin çalışacağı sistemde(REMnux) konsoldan “inetsim” komutu girilerek servisler başlatılır. Servislerin tam listesi ve dinledikleri portlar bu aşamada konsolda görülebilir. Daha sonra Wireshark root olarak çalıştırılıp “Capture->Interfaces” menüsünden ilgili arayüz(örnekte eth0) seçilerek dinlenmeye başlanır. Alternatif olarak Windows üzerinde çalışan Fakenet aracı kullanılarak, ikinci bir sisteme ihtiyaç kalmadan, servisler analiz makinesinde çalıştırılabilir.

Zararlı yazılım çalıştırılıp ApateDNS ekranından yaptığı DNS sorguları izlenir. Örnek zararlının “darlstop123.p.ht” ve “whatismyip.akamai.com” adresleri için DNS istekleri gönderdiği görülüyor.

Bu aşamada isteğe göre REMnux’e geri dönülerek Wireshark’ın yakalamış olduğu ağ trafiği incelenebilir veya bir debugger aracılığıyla zararlının başarılı bağlantı durumunda gerçekleştirdiği aktiviteler dinamik olarak analiz edilebilir. Örnekteki zararlı için Wireshark ekranına bakıldığında zararlının FTP ve HTTP servislerine bağlanmaya çalıştığı görülmektedir. HTTP üzerinden GET isteği ile anasayfayı almaya çalıştığı görülmektedir. “whatismyip.akamai.com” adresine bağlanıldığında bunu aslında sistemin internete çıkış IP’sini öğrenmek için yaptığı anlaşılıyor.

FTP bağlantısının detaylarını öğrenmek için Wireshark’ta bağlantıya dahil olan paketlerden (satırlardan) herhangi birine sağ tıklayıp “Follow TCP Stream” seçilerek bağlantı boyunca yapılan veri alışverişi toplu halde görülebilir. Örnek bağlantının içeriği şu şekildedir:

220 INetSim FTP Service ready.
USER u489099192
331 Please specify the password.
PASS 031025
230 Login successful.
TYPE I
200 Switching to BINARY mode.
PASV
500 Unknown command.
TYPE I
200 Switching to BINARY mode.
PORT 10,10,10,130,19,137
200 PORT command successful.
STOR NO_PWDS_report_06-02-2014_22-23-47-BB9E89D3316C6D89E8BA3AAF96AA0063-IIIA.bin
150 Ok to send data.
226 File receive OK.
İçerikten de açıkça görüldüğü üzere zararlı, FTP sunucusuna bağlantı kurarken kullanıcı adı ve şifre olarak “u489099192 | 031025” değerlerini kullanıyor. Daha sonra da bir dosya yüklemeye çalışıyor.
Elde edilen bu tarz bilgiler zararlıyı etkisizleştirmek için kullanılabilecek olsa da bu bilgileri kullanmak için bazı yasal süreçlerin işletilmesi gerekebilir. Zararlıyı etkisizleştirmekten kasıt bulaştığı sistemlerden silmek yerine komuta merkezini devre dışı bırakarak bulaştığı sistemlerden bilgi sızdırmasını veya komuta merkezinden kontrol edilmesini engellemektir. Sonuçta elde edilen bilgileri doğrulamak adına FTP sunucusuna bağlantı kurulmuş ama başka bir işlem yapılmamıştır.

Onur ALANBEL