INTRODUCTION H ERE Claudio nex Guarnieri @botherder - - PowerPoint PPT Presentation

introduction h ere
SMART_READER_LITE
LIVE PREVIEW

INTRODUCTION H ERE Claudio nex Guarnieri @botherder - - PowerPoint PPT Presentation

INTRODUCTION H ERE Claudio nex Guarnieri @botherder Security Researcher at Rapid7 Core member of The Shadowserver FoundaBon Core member of The


slide-1
SLIDE 1
slide-2
SLIDE 2

INTRODUCTION ¡

slide-3
SLIDE 3

HERE ¡

  • Claudio ¡“nex” ¡Guarnieri ¡@botherder ¡
  • Security ¡Researcher ¡at ¡Rapid7 ¡
  • Core ¡member ¡of ¡The ¡Shadowserver ¡FoundaBon ¡
  • Core ¡member ¡of ¡The ¡Honeynet ¡Project ¡
  • Dictator ¡of ¡Cuckoo ¡Sandbox ¡
slide-4
SLIDE 4

NOT ¡HERE ¡

  • Mark ¡“rep” ¡Schloesser ¡@repmovsb ¡
  • Here? ¡
  • German ¡coding ¡machine ¡
  • Jurriaan ¡“skier” ¡Bremer ¡@skier_t ¡
  • Our ¡Dutch ¡Windows ¡wizard ¡
  • Alessandro ¡“jekil” ¡Tanasi ¡@jekil ¡
  • Italian ¡Ferrari ¡
slide-5
SLIDE 5

SANDBOXING ¡

slide-6
SLIDE 6

PROBLEMS ¡

  • Process ¡high ¡volumes? ¡
  • Automate ¡specific ¡tasks? ¡
  • Integrate ¡with ¡internal ¡security? ¡
  • Support ¡your ¡Ier-­‑1 ¡analysts? ¡
slide-7
SLIDE 7

PROS ¡

  • Automate ¡the ¡whole ¡analysis ¡process ¡
  • Process ¡high ¡volumes ¡of ¡malware ¡
  • Usable ¡by ¡virtually ¡anyone ¡
  • Get ¡the ¡actual ¡executed ¡code ¡
  • Can ¡be ¡very ¡effecIve ¡if ¡used ¡smartly ¡
slide-8
SLIDE 8

CONS ¡

  • Can ¡be ¡expensive ¡
  • Some ¡porIons ¡of ¡the ¡code ¡might ¡not ¡be ¡

triggered ¡

  • Environment ¡could ¡be ¡detected ¡
  • Can ¡be ¡a ¡complete ¡waste ¡
slide-9
SLIDE 9

PREPARATION ¡

  • Define ¡requirements ¡and ¡expectaBons ¡
  • Goal ¡
  • Throughput ¡
  • Design ¡the ¡analysis ¡environment ¡
  • Design ¡proper ¡integraIon ¡
  • Make ¡sense ¡of ¡the ¡data! ¡
slide-10
SLIDE 10

CUCKOO ¡SANDBOX ¡

slide-11
SLIDE 11

Automated ¡malware ¡ analysis ¡system, ¡easy ¡ to ¡use ¡and ¡customize. ¡

slide-12
SLIDE 12

WHY? ¡

  • We ¡believe ¡in ¡open ¡source ¡
  • Empower ¡students ¡and ¡researchers ¡
  • Open ¡architecture ¡for ¡more ¡flexibility ¡and ¡

creaBvity ¡

slide-13
SLIDE 13

SOME ¡NUMBERS ¡

  • Almost ¡50000 ¡lines ¡of ¡code, ¡Python ¡and ¡C ¡
  • 4 ¡core ¡developers ¡
  • ~25 ¡contributors ¡over ¡Ime ¡
  • ~8000 ¡downloads ¡of ¡the ¡last ¡version ¡
slide-14
SLIDE 14

BITS ¡OF ¡HISTORY ¡

Aug ¡ 2010 ¡ 0.1a ¡ Jan ¡ 2011 ¡ 0.1 ¡ Nov ¡ 2011 ¡ 0.2 ¡ Dec ¡ 2011 ¡ 0.3 ¡ Jul ¡ 2012 ¡ 0.4 ¡ Dec ¡ 2012 ¡ 0.5 ¡

slide-15
SLIDE 15

WHAT ¡YOU ¡NEED ¡TO ¡KNOW ¡

  • Basic ¡usage ¡of ¡Linux ¡
  • Basic ¡usage ¡of ¡virtual ¡machines ¡
  • Knowledge ¡to ¡leverage ¡the ¡results ¡
  • Windows ¡APIs ¡
  • Malicious ¡behaviors ¡
  • With ¡Python ¡you ¡can ¡get ¡awesome! ¡
slide-16
SLIDE 16

HOW ¡IT ¡WORKS ¡

Pull ¡task ¡ Prepare ¡ analysis ¡ Instrument ¡ the ¡guest ¡ Execute ¡ and ¡log ¡ Process ¡ and ¡report ¡
slide-17
SLIDE 17

KEY ¡FEATURES ¡

  • Completely ¡automated ¡
  • Run ¡concurrent ¡analysis ¡
  • Able ¡to ¡trace ¡processes ¡recursively ¡
  • Customize ¡analysis ¡process ¡
  • Create ¡behavioral ¡signatures ¡
  • Customize ¡processing ¡and ¡reporIng ¡
slide-18
SLIDE 18

RESULTS ¡

  • Behavioral ¡Logs ¡
  • File ¡dumps ¡
  • Screenshots ¡
  • Network ¡traffic ¡
  • Memory ¡dumps ¡
slide-19
SLIDE 19

DEMO ¡

slide-20
SLIDE 20

COMPONENTS ¡

Scheduler ¡ Machine ¡ Manager ¡ Result ¡ Server ¡ Post-­‑ Processing ¡ Processing ¡ Signatures ¡ ReporIng ¡ UBls ¡ Submission ¡ Analyzer ¡ Analysis ¡ Package ¡ CuckooMon ¡
slide-21
SLIDE 21

SUBMISSION ¡

  • Python ¡API ¡
  • Command-­‑line ¡uIlity ¡
  • Web ¡uIlity ¡
  • REST ¡API ¡
  • OpIons: ¡
  • Priority ¡
  • Timeout ¡
  • Machine ¡
  • Package ¡
  • Arguments ¡
  • Memory ¡dump ¡
slide-22
SLIDE 22

ANALYSIS ¡PACKAGES ¡

  • In ¡Analyzer ¡(under ¡analyzer/windows/modules/
packages/) ¡
  • Python ¡modules ¡
  • Define ¡how ¡to ¡interact ¡with ¡the ¡malware ¡and ¡

the ¡system ¡

  • Can ¡be ¡used ¡for ¡scripIng ¡tasks ¡
slide-23
SLIDE 23

HELPER ¡FUNCTIONS ¡

  • Create ¡process ¡
  • Monitor ¡process ¡status ¡
  • Inject ¡DLL ¡
  • Take ¡process ¡memory ¡dump ¡
slide-24
SLIDE 24
slide-25
SLIDE 25

AUXILIARY ¡MODULES ¡

  • In ¡Analyzer ¡(under ¡analyzer/windows/modules/
auxiliaries/) ¡
  • Python ¡modules ¡
  • Run ¡concurrently ¡to ¡the ¡analysis ¡
  • Default: ¡
  • Screenshots ¡
  • EmulaIon ¡of ¡human ¡interacIon ¡
slide-26
SLIDE 26
slide-27
SLIDE 27

PROCESSING ¡MODULES ¡

  • In ¡Core ¡(under ¡modules/processing/) ¡
  • Python ¡modules ¡
  • Process ¡raw ¡results ¡
  • Populate ¡collecIon ¡of ¡abstracted ¡results ¡
slide-28
SLIDE 28
slide-29
SLIDE 29

SIGNATURES ¡

  • In ¡Core ¡(under ¡analyzer/windows/modules/signatures/) ¡
  • Python ¡modules ¡
  • Isolate ¡specific ¡events ¡
  • IdenIfy ¡malware ¡family ¡
  • IdenIfy ¡malicious ¡behavior ¡
  • Extract ¡configuraIon ¡
  • … ¡
slide-30
SLIDE 30
slide-31
SLIDE 31
slide-32
SLIDE 32

DEMO ¡

slide-33
SLIDE 33

REPORTING ¡MODULES ¡

  • In ¡Core ¡(under ¡analyzer/windows/modules/repor6ng/) ¡
  • Python ¡modules ¡
  • Make ¡use ¡of ¡abstracted ¡results ¡
  • Default: ¡
  • JSON ¡
  • HTML ¡
  • MAEC ¡
  • MongoDB ¡
slide-34
SLIDE 34
slide-35
SLIDE 35

COMMUNITY ¡

  • Community ¡Repository ¡
  • hcps://github.com/cuckoobox/community ¡
  • u"ls/community.py ¡
slide-36
SLIDE 36

USE ¡CASE ¡

  • APT! ¡APT! ¡APT! ¡
  • AutomaIcally ¡collect ¡and ¡analyze ¡PoisonIvy ¡
  • Extract ¡configuraIons ¡
  • Report ¡PoisonIvy ¡C&C ¡to ¡a ¡backend ¡
slide-37
SLIDE 37
slide-38
SLIDE 38
slide-39
SLIDE 39
slide-40
SLIDE 40

DEMO ¡

slide-41
SLIDE 41

CONCLUSIONS ¡

slide-42
SLIDE 42

JUICY ¡IDEAS ¡

  • Automate ¡extracIon ¡of ¡bankers ¡configs ¡
  • Automate ¡extracIon ¡of ¡RAT ¡configs ¡✔ ¡
  • Automate ¡process ¡memory ¡forensic ¡
  • Automate ¡unpacking ¡
  • Any ¡others? ¡
slide-43
SLIDE 43

SUMMING ¡UP ¡

  • Open ¡source ¡soluIon ¡(and ¡will ¡remain ¡so) ¡
  • Flexible ¡and ¡customizable ¡
  • Easy ¡to ¡integrate ¡
  • Very ¡acIvely ¡developed ¡
slide-44
SLIDE 44

FUTURE ¡

  • 0.6 ¡to ¡be ¡released ¡soon! ¡

then ¡

  • Simplify ¡the ¡analysis ¡results ¡
  • Add ¡a ¡proper ¡web ¡interface ¡
  • Improve ¡performances ¡
  • Bare-­‑metal ¡support ¡(almost ¡done) ¡
  • Add ¡Mac ¡OS ¡X ¡support ¡
  • Feedback? ¡
slide-45
SLIDE 45

OTHER ¡STUFF ¡

  • Malwr ¡
  • hcps://malwr.com ¡
  • VxCage ¡
  • hcps://github.com/cuckoobox/vxcage ¡
slide-46
SLIDE 46

? ¡

www.cuckoosandbox.org ¡ @cuckoosandbox ¡ ¡ nex@cuckoosandbox.org ¡ @botherder ¡