64
BladeRunner Adventures in Tracking Botnets Jason Jones and Marc Eisenbarth

BladeRunner - Adventures in Botnet Tracking

Embed Size (px)

DESCRIPTION

This presentation explores the 'adventurous' side of botnet tracking based on ongoing, in-depth research conducted within the world-renowned ASERT team at Arbor Networks. This research was originally presented at AusCERT14 by ASERT's Jason Jones and Marc Eisenbarth.

Citation preview

Page 1: BladeRunner - Adventures in Botnet Tracking

BladeRunner Adventures in Tracking Botnets

Jason Jones and Marc Eisenbarth

Page 2: BladeRunner - Adventures in Botnet Tracking

2  

Agenda •  Who Are We? •  ASERT Background •  BladeRunner

–  Background –  Redesign –  Malware Tracked –  Results –  Future Work

•  Conclusions

Page 3: BladeRunner - Adventures in Botnet Tracking

3  

Who Am I (Jason)? •  Sr. Security Research Analyst for Arbor Networks’ ASERT

–  Previously of TippingPoint DVLabs •  Speaker at

–  BlackHatUSA 2012 –  InfoSec Southwest 2013 –  Usenix LEET13 –  Botconf 2013 –  AusCERT

•  Research interests –  IP reputation –  Malware clustering –  Data mining dns / malware / target data

Page 4: BladeRunner - Adventures in Botnet Tracking

4  

Who is Marc? •  Manager of ASERT Research Team / ASERT Architect

–  Previously of TippingPoint DVLabs •  Speaker at

–  Shmoocon –  Usenix LEET12 –  InfoSec Southwest 2013 –  BotConf –  AusCERT * 2

Page 5: BladeRunner - Adventures in Botnet Tracking

5  

ASERT

• Arbor Security Engineering & Response Team – Active Threat Feed – ATLAS Intelligence Feed – Malware Reverse Engineering –  Threat Intelligence

Page 6: BladeRunner - Adventures in Botnet Tracking

6  

ASERT •  ASERT Malware Corral

–  Malware storage + processing system –  Processing occurs via sandbox, static methods –  Tagging via behavioral and static methods

•  Currently pulling in between 50 -100k samples / day –  Biggest problem is figuring out what to run

•  665 Unique family names tagged in 2014 –  DDoS, Bankers, Droppers, RATs, Advanced Threats, etc. –  161 different family phone homes tagged

Page 7: BladeRunner - Adventures in Botnet Tracking

7  

MCorral

Page 8: BladeRunner - Adventures in Botnet Tracking

BladeRunner

Page 9: BladeRunner - Adventures in Botnet Tracking

9  

Background • Started by Jose Nazario in 2006 • Original version focused on IRC bots • Only tracked DDoS commands • Presented at

–  VirusBulletin Conference 2006 –  BlackHat DC 2007 –  http://www.arbornetworks.com/asert/2012/02/ddos-attacks-

in-russia/ –  HITBKUL 2012

Page 10: BladeRunner - Adventures in Botnet Tracking

10  

Background •  Started tracking HTTP bots

–  Use os.system calls to curl -_- –  Was not enjoyable to read and write

•  Track binary protocol bots –  Uses “replay” – good to avoid time-consuming protocol

reversing, but…. –  If sample made successful conn, send packet back to CnC –  No connection in Mcorral = CnC was considered “dead” –  DynDNS-based malware tends to only be up for small, random

periods. Lots missed

Page 11: BladeRunner - Adventures in Botnet Tracking

11  

Redesign - Goals •  Lack of flexibility, lack of tracking led to redesign •  Most important requirement: *has* to do everything old

version did and “more” •  Track non-DDoS commands •  Support non-DDoS Malware •  Automatically expire CnC •  Have “conversations” with CnC

–  No replay –  Respond to all commands until termination

Page 12: BladeRunner - Adventures in Botnet Tracking

12  

Redesign - Architecture •  Three separate pieces

–  Data model •  Our system uses Django-based ORM •  Postgres backend •  Considering alt storage methods for handling “big data”

–  Harvesters •  Pull tagged connections from our analysis system •  Use VirusTotal Intelligence Hunting •  Configuration extractors

–  “Replicants” aka fake bots

Page 13: BladeRunner - Adventures in Botnet Tracking

13  

Redesign - Architecture

Page 14: BladeRunner - Adventures in Botnet Tracking

Replicated Malware

14  

Page 15: BladeRunner - Adventures in Botnet Tracking

15  

Replicated Malware

• Sixteen separate malware families re-implemented –  Ten HTTP-based

• Four implement some form of encryption / obfuscation –  One plain-text binary protocol –  Five binary protocol with some form of encryption

• More time consuming to reimplement binary protocols • Even more time consuming to reverse custom crypto

• No IRC bots

Page 16: BladeRunner - Adventures in Botnet Tracking

16  

My standard reversing process…

Page 17: BladeRunner - Adventures in Botnet Tracking

17  

DirtJumper Family / Variants

Page 18: BladeRunner - Adventures in Botnet Tracking

18  

DirtJumper Drive

h-ps://www.arbornetworks.com/asert/2013/06/dirtjumpers-­‐ddos-­‐engine-­‐gets-­‐a-­‐tune-­‐up-­‐with-­‐new-­‐drive-­‐variant/    

Page 19: BladeRunner - Adventures in Botnet Tracking

19  

Drive2

h-ps://www.arbornetworks.com/asert/2013/08/dirtjumper-­‐drive-­‐shiEs-­‐into-­‐a-­‐new-­‐gear/    

Page 20: BladeRunner - Adventures in Botnet Tracking

20  

Drive3

h-ps://www.arbornetworks.com/asert/2014/03/drive-­‐returns-­‐with-­‐new-­‐tacFcs-­‐and-­‐new-­‐a-acks/    

Page 21: BladeRunner - Adventures in Botnet Tracking

21  

Athena HTTP

h-ps://www.arbornetworks.com/asert/2013/11/athena-­‐a-­‐ddos-­‐malware-­‐odyssey/    

Page 22: BladeRunner - Adventures in Botnet Tracking

22  

Madness

•  Super-awesome Base64-encoded secrecy •  Most interesting strings in the binary are Base64-encoded •  Sometimes the author forgets to strip symbols from his binaries J •  Sometimes botnet ops give you their FTP creds in a file download J •  https://www.arbornetworks.com/asert/2014/01/can-i-play-with-madness/

Page 23: BladeRunner - Adventures in Botnet Tracking

23  

Madness

•  Bad admins give you download and execute containing their hosting site credentials J –  And that gets you their admin panel credentials

•  Poor guy has a small botnet L •  Appears to be the “cracked” version available in forums

Page 24: BladeRunner - Adventures in Botnet Tracking

24  

Solarbot

•  RC4 using s parameter as key •  NULL-delimited commands •  Commands are byte values •  Later discovered leaked cracked builder + panel

–  http://www.sendspace.com/file/nm5isp •  Really? Blocking Scrabble?

–  “Blacklist: https://scrabblefb-live2.sn.eamobile.com”

Page 25: BladeRunner - Adventures in Botnet Tracking

25  

DarkComet

h-ps://www.arbornetworks.com/asert/2012/03/its-­‐not-­‐the-­‐end-­‐of-­‐the-­‐world-­‐darkcomet-­‐misses-­‐by-­‐a-­‐mile/    

Page 26: BladeRunner - Adventures in Botnet Tracking

Results!

26  

Page 27: BladeRunner - Adventures in Botnet Tracking

27  

Results - Overview •  In production for over a year •  Provided a wealth of intelligence around attacks

–  What kinds of attacks are most popular •  Collected over 270,000 attack commands •  Stores information on over 3500 C2

–  Almost 1100 have been active at some point •  Since Jan 2014, data harvested from 1996 unique MD5

–  Number of C2 with double-digit sample associations

Page 28: BladeRunner - Adventures in Botnet Tracking

28  

Results - Locations

Page 29: BladeRunner - Adventures in Botnet Tracking

29  

Results - Locations

Page 30: BladeRunner - Adventures in Botnet Tracking

30  

Results - Locations

Page 31: BladeRunner - Adventures in Botnet Tracking

31  

Results - Locations

Page 32: BladeRunner - Adventures in Botnet Tracking

32  

Results - Locations

Page 33: BladeRunner - Adventures in Botnet Tracking

33  

Results - Locations

Page 34: BladeRunner - Adventures in Botnet Tracking

34  

Results - Locations

Page 35: BladeRunner - Adventures in Botnet Tracking

35  

Results - Locations

Page 36: BladeRunner - Adventures in Botnet Tracking

36  

Results - Locations

Page 37: BladeRunner - Adventures in Botnet Tracking

37  

Results - Locations

Page 38: BladeRunner - Adventures in Botnet Tracking

38  

Results - Locations

Page 39: BladeRunner - Adventures in Botnet Tracking

39  

Results - Locations

Page 40: BladeRunner - Adventures in Botnet Tracking

40  

Results - Locations

Page 41: BladeRunner - Adventures in Botnet Tracking

41  

Results - Locations

Page 42: BladeRunner - Adventures in Botnet Tracking

42  

Results - Locations

Page 43: BladeRunner - Adventures in Botnet Tracking

43  

Results - Locations

Page 44: BladeRunner - Adventures in Botnet Tracking

44  

Results – Downloaded Malware (1)

Page 45: BladeRunner - Adventures in Botnet Tracking

45  

Results – Downloaded Malware (2)

Page 46: BladeRunner - Adventures in Botnet Tracking

46  

Results – CnC Relationships via pDNS (1)

Page 47: BladeRunner - Adventures in Botnet Tracking

47  

Results – CnC Relationships via pDNS (2)

Page 48: BladeRunner - Adventures in Botnet Tracking

48  

Results – CnC Relationships via pDNS (3)

h-ps://www.virustotal.com/en/ip-­‐address/31.170.164.5/informaFon/    

Page 49: BladeRunner - Adventures in Botnet Tracking

49  

Results – CnC Relationships via Targets (1)

Page 50: BladeRunner - Adventures in Botnet Tracking

50  

Results – CnC Relationships via Targets (2)

• Many Drive/Drive2 CnC share similar targets • Coupling similarity in targets with pDNS gives

– Many co-located in same /24 – Some on exact same IP

• Some targets have multiple CnC on multiple botnets targeting – Speaks to larger campaign against a site

Page 51: BladeRunner - Adventures in Botnet Tracking

51  

Results – Geo-Political Activity (1)

• Russia / ex-Soviet Bloc area very active – Russian Gov’t related sites attacked – Azerbaijan / Dagestan-related event attacks – Anti-Gov’t sites attacked – Ukraine sees lots of attacks, is definitely not

weak ;) • Corruption exposure sites attacked

Page 52: BladeRunner - Adventures in Botnet Tracking

52  

Results – Geo-Political Activity (2)

Page 53: BladeRunner - Adventures in Botnet Tracking

53  

Results – Geo-Political Activity (3) •  Sochi Olympics

–  Expected target given some recent RU laws + global appeal of the event

–  Drive3 started targeting a few days before the games began –  Success story since we were able to use the intel for mitigation –  Shocker was that it consisted of compromised sites as C2 –  Hosters were able to get the majority of the C2 cleaned very fast

Page 54: BladeRunner - Adventures in Botnet Tracking

54  

Results – Geo-Political Activity (4) •  Numerous DDoS attacks launched during Crimea situation

–  Local Crimean gov’t sites –  UA gov’t sites –  RU gov’t sites –  Referendum Voting sites

•  Attacks had varying success •  Attacks still ongoing due to political unrest

Page 55: BladeRunner - Adventures in Botnet Tracking

55  

Results – Retaliation DDoS

• Stelios / Maverick gets dox’d on paste sites –  http://pastebin.ca/2457696

• Multiple CnC start launching attacks against paste sites –  Specifically targeted pastes with dox –  Hired externally, did not use own CnC for the attacks

•  Listed as owner of ddos-service.cc –  steliosmaver.ru Athena HTTP CnC possible backend

Page 56: BladeRunner - Adventures in Botnet Tracking

56  

Results – Protecting Targets

• Major reason why ASERT tracks botnets is for protection + intelligence –  Not for sale –  Not for ambulance chasing

• Multiple instances of Arbor customers being attacked –  Know the attack + botnet = easy to tailor protection

• Share data with those that have the power to take down

Page 57: BladeRunner - Adventures in Botnet Tracking

Parting Words

57  

Page 58: BladeRunner - Adventures in Botnet Tracking

58  

Wrap-Up •  BladeRunner-like systems produce useful threat intelligence

–  Botnet size can matter, especially in DDoS –  Find some actual new-to-you underground forums via DDoS targets ;)

•  Everyone should be doing it on some level –  Goal is to provide a blueprint and a starting point to help that become a

reality •  All the data makes for pretty pictures J •  Need better handling of larger datasets •  Add more custom command parsers

–  Files –  Generic “Commands”

Page 59: BladeRunner - Adventures in Botnet Tracking

59  

Future Work •  More bots

–  Andromeda –  Bankers (web-injects , configs)

•  Data Mining –  GraphDB – Currently investigating TitanGraph –  Correlate with other internal data sources –  Maltego modules via Canari

•  Code availability –  Config extraction –  Fake bots

Page 60: BladeRunner - Adventures in Botnet Tracking

60  

Moar Future Work

• Dynamically spin up EC2/Rackspace/Etc. instances for proxy-ing on demand – Seen a few geo-blocking DDoS CnC, but not

many – Also helps keep botnet IP space large and

dynamic to avoid blacklisting • Alternatives to Django/ORM

–  I like it, but…

Page 61: BladeRunner - Adventures in Botnet Tracking

61  

How Do I Get This Data? •  Most people can’t get all of it

–  As mentioned previously, not for sale •  Hosters / those with power/willingness to take C2’s down •  We freely share with CERTs / LE (EuroPol/FBI/equivs)

–  Not in the business of takedowns • Full-time job with amount of data processed • Legal morass

–  If you are one of those and are interested please contact us •  Work for ASERT ;)

Page 62: BladeRunner - Adventures in Botnet Tracking

62  

Code Availability

• Code *almost* ready yet ready for public release L • Still work to be done with cleaving out of our

infrastructure • Goal is to get standalone pieces of many fake bots to

allow people to integrate into their own backends and systems

• Targeting July 2014 •  https://github.com/arbor/

Page 63: BladeRunner - Adventures in Botnet Tracking

Questions/Comments/Feedback •  [email protected] / [email protected] •  @jasonljones / http://www.arbornetworks.com/asert/ •  http://jasonjon.es/research/

63  

Page 64: BladeRunner - Adventures in Botnet Tracking

Thank You!