Rat a-tat-tat

32
RAT-a-tat-tat Taking the fight to the RAT controllers

description

A presentation by Jeremy du Bruyn of SensePost at ZaCon V in 2013 in Johannesburg on his research into applying pentester techniques to bonnet C2s.

Transcript of Rat a-tat-tat

Page 1: Rat a-tat-tat

RAT-a-tat-tat

Taking the fight to the RAT controllers

Page 2: Rat a-tat-tat

Who Am I

• Jeremy du Bruyn– twitter: @herebepanda, irc: panda

• Pentester / Consultant at SensePost• Spoken at a previous ZaCon about password

cracking• Currently doing MSc. At Rhodes

Page 3: Rat a-tat-tat

What's this about

• I've done some research on two prolific RAT's that I'd like to share with y'all– I am not a malware researcher, I'm just a ex-network-

pentester-consultant-infosec guy– Some dynamic analysis using cuckoo sandbox– Some static analysis using scripts to pick apart the

server binaries• Ways to search for these RAT's on the greater

internet– With an example

Page 4: Rat a-tat-tat

Background story

• Malware.lu report on Mandiant APT1– Python code for finding Poison Ivy C2's

• Are there any Poison Ivy C2's in ZA?– Writing robust network code is hard– Rather leverage off of NMAP• I didn’t find any Poison Ivy C2's in ZA :) / :(

• I really want to play with this, where can I get some samples?

credit (http://www.malware.lu/Pro/RAP002_APT1_Technical_backstage.1.0.pdf)

Page 5: Rat a-tat-tat

My collection• VirusTotal provide access to their Private API, which allows for searching

and downloading of samples, to researchers• After speaking with some malware folks I got a list of the most popular

rats being used in attacks– (@vlad_o, @undeadsecurity, @bobmcardle)

• Started collecting in August 2013• Samples downloaded

– Searched for “Poison.* and “Fynloski.*”– Total 34 GB of samples

• For sure a cheap VPS would hold the few 100 MB's of samples I'd download

link (https://www.virustotal.com/en/documentation/private-api/)

Page 6: Rat a-tat-tat

RAT infrastructure

credit (http://www.contextis.com/research/blog/malware-analysis-dark-comet-rat/)

Page 7: Rat a-tat-tat

Poison Ivy

• Been around for many years– Oldest version on the website is from 2006, first

released in 2005– Latest public version is 2.3.2 released in 2008– Private versions still being released, including a Vista+

patch– Free to download off the authors website

• Apparently very popular amongst Chinese attackers– Recently used by Mandiant APT1 groups– Used in RSA hack

Page 8: Rat a-tat-tat

Poison Ivy

• Samples– 12,133 downloaded– 5,004 analysed

• Too much pondering/figuring in the beginning

• 26 live• Not a lot I know, but they provide some interesting insights• Average PI C2 lifespan is 3 months

• Analysis conducted using a mixture of the VirusTotal behavioural analysis results and local cuckoo sandbox instance

Page 9: Rat a-tat-tat

VT Behavioural Analysis

• They use a “cluster” of cuckoo sandbox machines to perform the analysis and provide data via JSON

• VirusTotal behavioural analysis not conducted on all samples– Like 1 in 10– Not allowed to share samples with 3rd parties

Page 10: Rat a-tat-tat

Cuckoo sandbox

• Cuckoo sandbox used for the majority of the samples– 5 WinXP SP2 virtual machine guests– Timeout of 2 minutes

• Only allowed DNS traffic to cuckoo host– Unbound DNS resolver

• Tweaked to report all traffic, even SYN– modules/processing/network.py (host down, not reported)– Malwr.com has the same problem

• api.py is super useful– Submit jobs, get analysis reports in JSON

• At the end able to process a couple hundred samples a day

Page 11: Rat a-tat-tat

Analysis system

• System is postgres driven• Extracted info from the samples put into DB:– C2 / proxy IP– Port

• Scripts would pick up unprocessed samples and perform liveness testing of C2 and extract the Camellia key– Again writing to the DB

Page 12: Rat a-tat-tat

Poison Ivy

• Camellia key used to authenticate server and encrypt communication– Crypto hashing algorithm– Used for all servers– Can be extracted from server traffic :)

link (https://en.wikipedia.org/wiki/Camellia_(cipher))

Page 13: Rat a-tat-tat

Poison Ivy

• JtR module available for brute-forcing (malware.lu)– I've asked for its inclusion into hashcat– @atom, if you are reading this, *cough* oclhashcat

Page 14: Rat a-tat-tat

Vulnerabilities

• Metasploit module for Buffer Overflow bug in Poison Ivy 2.3.2– Think meterpreter – All you need is the C2 IP, port and clear-text Camellia

password– Malware.lu guys used this to great effect

• FireEye “PIVY memory-decoding tool” for Immunity debugger can also extract this info

Link (http://www.rapid7.com/db/modules/exploit/windows/misc/poisonivy_bof) (http://www.fireeye.com/resources/pdfs/fireeye-poison-ivy-report.pdf)

Page 15: Rat a-tat-tat

My contribution

• NMAP service probes to detect C2’s across the Internet and NSE script to extract Camellia key from server traffic

Page 16: Rat a-tat-tat

DarkComet

• Very popular around the world• Development abandoned by the author after

Syrian government use– Crippled version available on author website– Current public full version is 5.3.1– Current public crippled version 5.4.1 “Legacy”

• Fairly good collection available via .torrent

Link (http://darkcomet-rat.com/) (https://thepiratebay.sx/torrent/7420705/DarkComet_RAT_Collection)

Page 17: Rat a-tat-tat

DarkComet

• Samples– 33,592 downloaded (32GB)– 12,133 analysed• 4408 successfully

• 40 live• Analysis script inspired by AlienVault Labs– Only worked on V5, updated to work on V5.1+

credit (https://code.google.com/p/alienvault-labs-garage/downloads/list)

Page 18: Rat a-tat-tat

DarkComet• Encrypted server configuration information contained within the binary

– C2 IP, port, password– FTP host, port, username, password, path

• Server configuration encrypted using static keys: – V5.1+ : #KCMDDC51#-890– V5.0 : #KCMDDC5#-890 – V4.2F : #KCMDDC42F#-890– V4.2 : #KCMDDC42#-890– V4.1 : #KCMDDC4#-890 – V2.x + 3.x : #KCMDDC2#-890

• Static key and password (“PWD”) used to authenticate and encrypt communications

credit (http://www.arbornetworks.com/asert/wp-content/uploads/2012/03/Crypto-DarkComet-Report1.pdf)

Page 19: Rat a-tat-tat

DarkComet

90.22

1.16 8.62

#KCMDDC51#-890 #KCMDDC51#-8900123456789 Other

Page 20: Rat a-tat-tat

DarkComet

• All this is encrypted using the static key + 'PWD‘

credit (http://www.contextis.com/research/blog/malware-analysis-dark-comet-rat/)

Page 21: Rat a-tat-tat

Vulnerabilties

• Makes use of SQLite DB– SQLi

• Arbitrary File Download vulnerability– RAT allows controller to overwrite files– Doesn't check that C2 initiated connection

• (comet.db)• Contains information on all connected servers

credit (http://www.matasano.com/research/PEST-CONTROL.pdf)

Page 22: Rat a-tat-tat

My contribution

• NMAP service probes to detect C2’s across the Internet – DarkComet• Receives “IDTYPE” encrypted with default (and most

popular) password

– Xtreme RAT• Sends “myversion|3.6 Public\r\n”• Receives

– Bytes 1-3 "\x58\x0d\x0a– Bytes 4 – 12 "\xd2\x02\x96\x49\x00\x00\x00\x00"

Page 23: Rat a-tat-tat

My contribution

• Updated DarkComet configuration extraction script, for v5.1+

Page 24: Rat a-tat-tat

menuPass Campaign

• One of my samples had the filename “Strategy_Meeting.exe” and a Google gave me the FireEye report “Poison Ivy: Assessing Damage and Extracting Intelligence”– menuPass campaign launched in 2009 targeting defense contractors– Main industries targeted where

• Defense, Consulting / Engineering, ISP, Aerospace, Heavy Industry, Government

• Spear-phishing used as initial attack vector– Weaponised .doc and .zip

• Using Pentest footprinting techniques I uncovered a bit about their infrastructure

Link (http://www.fireeye.com/resources/pdfs/fireeye-poison-ivy-report.pdf)

Page 25: Rat a-tat-tat

menuPass Campaign

credit (http://www.paterva.com/web6/products/casefile.php)

Page 26: Rat a-tat-tat

menuPass Campaign

• “The IP 60.10.1.120 hosted the domain apple.cmdnetview.com”

• This hostname appeared in my analysis but with an IP of 112.213.118.34

• One of my samples has hk.2012yearleft.com (112.213.118.33) and tw.2012yearleft.com (50.2.160.125) as C2’s– tw.2012yearleft.com was 60.10.1.114, 60.1.1.114 in FireEye

report– 5 live samples using this C2 in my collection– All used Camellia key “ketcxsAWfeAxiQ64ndURvA==”

Page 27: Rat a-tat-tat

menuPass Campaign

• New hostnames found using “ketcxsAWfeAxiQ64ndURvA==” from my samples:– banana.cmdnetview.com– drives.methoder.com– muller.exprenum.com

• New hostnames in 50.2.160.0/24 from samples:– kmd.crabdance.com 50.2.160.104– banana.cmdnetview.com 50.2.160.146– drives.methoder.com 50.2.160.125– muller.exprenum.com 50.2.160.125

Page 28: Rat a-tat-tat

menuPass Campaign• Using my NMAP poison-ivy.nse and nmap-service-probes.pi I found

additional C2's in 50.2.160.0/24:– 50.2.160.42:80/443 3ntLjgUGgQUYeKl3ncWgeQ==– 50.2.160.84:80/443 (daddy.gostudyantivirus.com)

(AoFSY4Fi5u8sX3Bo7To86w==)– 50.2.160.104:443 gdWSvDcDqmZFC5/qvQiwhQ==– 50.2.160.125:80/443 (document.methoder.com, drives.methoder.com,

mocha.100fanwen.com, scrlk.exprenum.com, zone.demoones.com) (ketcxsAWfeAxiQ64ndURvA==)

– 50.2.160.146:443 ketcxsAWfeAxiQ64ndURvA==– 50.2.160.179:443 gdWSvDcDqmZFC5/qvQiwhQ==– 50.2.160.193:443 tG3Sl8fQtuyKj/jh97O67w==– 50.2.160.226:443 gdWSvDcDqmZFC5/qvQiwhQ==– 50.2.160.241:443 gdWSvDcDqmZFC5/qvQiwhQ==

Page 29: Rat a-tat-tat

menuPass Campaign• Same key (gdWSvDcDqmZFC5/qvQiwhQ==) as kmd.crabdance.com (from

50.2.160.104):– ux.niushenghuo.info 142.4.121.144– for.ddns.mobi 142.4.121.144

• Hostnames from samples in 142.4.121.0/24:– gold.polopurple.com 142.4.121.138

• Additional PI C2 in 142.4.121.0/24 using NMAP:– 142.4.121.137:80/443 3ntLjgUGgQUYeKl3ncWgeQ==– 142.4.121.139:80/443 AoFSY4Fi5u8sX3Bo7To86w==– 142.4.121.140:443 gdWSvDcDqmZFC5/qvQiwhQ==– 142.4.121.141:80 ketcxsAWfeAxiQ64ndURvA==– 142.4.121.142:443 ketcxsAWfeAxiQ64ndURvA==– 142.4.121.144:443 gdWSvDcDqmZFC5/qvQiwhQ==– 142.4.121.181:443 gdWSvDcDqmZFC5/qvQiwhQ==– 142.4.121.203:443 gdWSvDcDqmZFC5/qvQiwhQ==

Page 30: Rat a-tat-tat

menuPass Campaign

[email protected] registered:– 2012yearleft.com– cmdnetview.com– gostudyantivirus.com– 100fanwen.com

• DomainTools reports that this email address has been used to register 157 domains– So still a lot of research to be done

Page 31: Rat a-tat-tat

Conclusion

• Those with an interest in amateur malware analysis– I utilised my pentesting skillset to work on this stuff

• Defenders looking for more ways to defend – Using these methods you can start investigating

attacks on your organisation and start moving up the kill-chain

• Greyhats wanting to increase the cost of attackers running these RAT's

Page 32: Rat a-tat-tat

Thank You

• If there’s time for questions, shoot.• Otherwise catch me at lunch