Malware: LoveLetter / Reverse engineering

Mar 26, '16

Intro

Završen je moj crawler koji vrši monitor na malware sample stranicama i ufatio "bruku" malware-a. Neki dan sam reversao ovaj ali mi je bilo mrsko postaviti neki tekst o njemu. Sutra imam obaveza pa ću danas da postavim, a ako ne postavim danas neću nikad.. Pa da počnemo :)

EDIT: Postavljena geturls skripta. Pozdrav tr3x.

Info

MD5: 4a15a452bc958a92d25c3b4103041e65
SHA: 27dfd06eb5d78ba1d52bef58336788d8ebaad0dfe75b468e91ab07277785ba8e

Filename: 4a15a452bc958a92d25c3b4103041e65.exe
Honeypot: Remote
Detection ratio: 25 / 47

Datoteka je inače bila pakirana u setup arhivu, peID detektovao Inno Setup paker. Kažu ne može se unpakovati, a ja kao ono, ma daj ljudi jeste li normalni. Prvi link baca unpaker koji je pisao QuickeneR. Sljedeći korak - unpakirati fajl.

> innounp.exe -x 4a15a452bc958a92d25c3b4103041e65.exe

17.07.2011  15:18                 0 License.txt
20.06.2012  13:20           208.896 LoveLetter.exe
15.06.2012  23:42               233 Readme.txt
31.07.2000  11:52            19.393 Why.mid

To su "ostaci" unpakinga. LoveLetter.exe izgleda najzanimljivije ovdje pa da vidimo šta se krije tu. Ispod je objašnjenje fajlova.

License.txt         // Ludi kinezi, prazan fajl
LoveLetter.exe      // Gore rečeno, malware sample
Readme.txt          // Nešta na kineskom
Why.mid             // Ne želite znati

Run the Linux !!

$ packer LoveLetter.exe
Microsoft Visual Basic 5.0 / 6.0

$ md5sum LoveLetter.exe
2e62536f2b417c5f2cc88b321bee997c

Ok! :# Ajmo skenirati "LoveLetter" na VT. Čino mi se da je UD čim je na new-list malware pa da vidimo šta kaže VirusTotal. Završenim skeniranjem, detection rate je 10/46. Malware postavlja registry ključ za automatsko pokretanje poslije boot-a koristeći se WinAPIom RegCreateKey(Ex).

HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Run\loveletter

Registry Loveletter

Sniff, sniff :)

Kad malo bolje pogledam, možda bi bilo interesantno vidjeti kakve requeste radi. Pokrenem malware, vidim da se veže na remote IP/hostname (process explorer huh).

Inside of sniffing

Olly naravno otkriva više nego dovoljno detalja ali sam trenutno na Linux mašini. Ispisao sam bash skriptu koja koristi grep uz parametar za binary fajl i traži http:// i www stringove. Mislim da svaki korisnik Linuxa to može ispisati tako da vam ne treba skripta (recimo).

$ ./geturls LoveLetter.exe
 Text string HUE= "http://hi.baidu.com/ietrtg"
 Text string HUE= "http://url.gouwuke.cn/id/1" = DEAD
 Text string HUE= "http://www.haoda123.com"
 Text string HUE= "http://www.baidu.com/baidu?tn=flstudios_cb&word={searchTerms}&cl=3&ie=utf-8"
 Text string HUE= "http://www.87265.com"
 Text string HUE= "http://www.9365.info"
 Text string HUE= "http://adsvc1.unadnet.com.cn/ad/softad/popup.htm"
 Text string HUE= "http://adsvc1.unadnet.com.cn/count/softcount/?LoveLetter"
 Text string HUE= "http://adsvc1.unadnet.com.cn/ad/softad/tuijian.htm"
 Text string HUE= "http://%61%64%73%76%63%31%2E%39%33%36%35%2E%69%6E%66%6F/ad/softad/pwc.htm"

Pri samoj eksekuciji spaja se na remote (z11.cnzz.com), a cnzz.com je kineski provajder za cloud hosting i analizu korisnika uz posebne parametre. Ispod je slika i request za spajanje koji sam snifao.

5   TCP 192.168.1.175   42.156.140.24   3065    80      z11.cnzz.com    http    7   655 Bytes   1,425 Bytes 1.1 KB/Sec  12/26/2013 4:35:58 AM:544   12/26/2013 4:35:59 AM:115   00:00:00.570        

Request:

GET /stat.htm?id=555586&r=&lg=en-us&ntime=1388027462&repeatip=1&rtime=0&cnzz_eid=1364475466-1388027462-&showp=1152x776&st=1495&sin=&t=&rnd=1229355078 HTTP/1.1
Accept: */*
Referer: http://adsvc1.unadnet.com.cn/count/softcount/?LoveLetter
Accept-Language: 
Accept-Encoding: gzip, deflate
User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1)
Host: hzs7.cnzz.com
Connection: Keep-Alive
Cookie: cna=YqdCC09ZcxcCAbx/bf7Y29oX

Request Info

Malware šalje request i na još jednu subdomenu na istom websajtu te vršit UrlDownloadToFile sa pojedinih linkova. Ispod više detalja.

6   TCP 192.168.1.175   42.156.140.11   3066    80      c.split.cnzz.com    http    7   1,419 Bytes 2,118 Bytes 0.1 KB/Sec  12/26/2013 4:35:59 AM:806   12/26/2013 4:36:18 AM:562   00:00:18.755    

GET /core.php?web_id=555586&t=z HTTP/1.1
Accept: */*
Referer: http://adsvc1.unadnet.com.cn/count/softcount/?LoveLetter
Accept-Language: bs-ba
Accept-Encoding: gzip, deflate
If-Modified-Since: Thu, 26 Dec 2013 03:11:16 GMT
User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1)
Host: c.cnzz.com
Connection: Keep-Alive
Cookie: cna=YqdCC09ZcxcCAbx/bf7Y29oX

Output: Output

UrlDownloadToFile (više o API-u ovdje):

17  TCP 192.168.1.175   222.217.240.28  3100    80      xz.ieanquan.com http    1,094   990,204 Bytes   1,034,214 Bytes 95.1 KB/Sec 12/26/2013 4:36:56 AM:962   12/26/2013 4:37:07 AM:072   00:00:10.109                    
-
GET /download/dianxin_silent[57].exe HTTP/1.1

20  TCP 192.168.1.175   220.181.61.212  3117    80      allot.hd.sohu.com   http    7   407 Bytes   918 Bytes   0.7 KB/Sec  12/26/2013 4:37:02 AM:301   12/26/2013 4:37:02 AM:835   00:00:00.534                    
-
GET /foxd/gz?file=SohuNewPlayer.exe&new=/229/67/w8KSsVuAsvthyDIBzRQsP1.exe HTTP/1.1

24  TCP 192.168.1.175   58.215.93.130   3137    80          http    432 388,200 Bytes   405,777 Bytes   72.4 KB/Sec 12/26/2013 4:37:16 AM:852   12/26/2013 4:37:22 AM:089   00:00:05.237                    
-
GET /280cf9c20714744ccd17e57f66106dc70000000000370d38/9291/15474/setup_2949-14598.exe HTTP/1.1

Statični analizeri

Malware isto pristupa sljedećim linkovima da obavi analizu korisnika koji ga je pokrenuo, samim tim i šalje request o detaljima koji su naznačeni u linkovima dole. Većina stvari nema nikakve specifične informacije. Inače radi se o jednostavnom downloaderu koji je više manje undetected.

http://www.wk12345.com:8080/xiaocai/intf_queryAd?userName=%s|guid=%s|softVersion=%d
http://www.wk12345.com:8080/xiaocai/intf_clientLoginOrout?param=%s|userName=%s|guid=%s|softVersion=%d
http://tongji.toutiao001.com/toutiao_web_manage/getversion.php

Također sam našao i panel putujući kroz linkove a nalazi se na sljedećem linku. Možda pokušam uraditi bruteforce drugi dan. Link:

http://www.wk12345.com:8080/xiaocai/jsp/login.jsp

Zaključak

Ništa specijalno, radi se o običnom downloaderu mlweru koji vrši multi-threaded operacije. Upratio sam da ne "baca" request jedan po jedan već skida sve odjednom. Ostale datoteke mi nisu bile od interesa, većinom sponzor artikli i slično.

Pozdrav! Evo neko me zamolio za skriptu pa da mu udovoljim :))

#!/bin/bash

# geturls (./geturls)
# skripta za malware reseaching / pretrazivanje url-ova unutar binary fajla
# script for malware research / searching for url-s in binary file
# dn5 / @dn5__ / http://dn5.ljuska.com
# updatejted 29.Dec.2013. zbog public releasa

if [ ! -n "$1" ]
then
    echo "Enter a filename to scan"
    exit 0
fi

if [ -f $1 ]
then
    echo "Searching for URI inside of" $1
    resultHTTP=$(grep -a "http://" $1)
    resutlHTTPS=$(grep -a "https://" $1)
    resultWWW=$(grep -a "www." $1)

    #HUE = Hueristic detection stringova
    echo "$resultHTTP"  > "url"
    echo "$resultHTTPS" >> "url"
    echo "$resultWWW" >> "url"

    # brisanje praznih linija
    awk 'NF > 0' url
    rm url #ne treba nam više <- moze del po potrebi
else
    echo "File does not exsist"
fi