Top Banner
Malware Reverse Engineering Tools: IDA Pro, OllyDbg, PEiD etc.
12

Malware’Reverse’Engineering’ - George Mason Universityastavrou/courses/ISA_785_F11/Malware Revers… · Malware’reverse’engineering’scheme’ 1....

Jun 09, 2020

Download

Documents

dariahiddleston
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Malware’Reverse’Engineering’ - George Mason Universityastavrou/courses/ISA_785_F11/Malware Revers… · Malware’reverse’engineering’scheme’ 1. Create’isolated’experimental’environment(hostonly’VM)’

Malware  Reverse  Engineering  Tools:    

IDA  Pro,  OllyDbg,  PEiD  etc.  

Page 2: Malware’Reverse’Engineering’ - George Mason Universityastavrou/courses/ISA_785_F11/Malware Revers… · Malware’reverse’engineering’scheme’ 1. Create’isolated’experimental’environment(hostonly’VM)’

What  is  reverse  engineering?  

•  Reverse  engineering  is  the  process  of  analyzing  a  subject  system  to  create  representaFons  of  the  system  at  a  higher  level  of  abstracFon  (Chikofsky,  January  1990)  

•  Going  backwards  through  the  development  cycle  

•  Source  code  deducFon  •  Architecture  discovery    

Page 3: Malware’Reverse’Engineering’ - George Mason Universityastavrou/courses/ISA_785_F11/Malware Revers… · Malware’reverse’engineering’scheme’ 1. Create’isolated’experimental’environment(hostonly’VM)’

RE  applicaFons  

•  White  hats:  – Clean  Room  Design  (avoid  copyright  infringement)    -­‐  React  OS,  Wine  HQ,  IBM  BIOS  

– Vulnerability  discovery  (trigger,  pen  tesFng)  – Malware  analysis  

•  Black  hats:  – Cracking,  hacking  – Vulnerability  discovery  (exploit)  – Malware  re-­‐engineering  (shell  code  reuse)  

Page 4: Malware’Reverse’Engineering’ - George Mason Universityastavrou/courses/ISA_785_F11/Malware Revers… · Malware’reverse’engineering’scheme’ 1. Create’isolated’experimental’environment(hostonly’VM)’

Reverse  engineering  approaches  •  Behavioral  analysis  

–  Execute  malware  in  isolated  environment  and  record  its  acFvity  footprint  •  Registry  (RegShot)  •  Files  (DiskMon,  FileMon)  •  Network  (Wireshark)  •  API  and  system  services/calls  (Process  Explorer,  EasyHook,  custom  filter  

drivers)  

•  Code  analysis  –  Inspect  Import/Exports  (PEiD)  –  IdenFfy  packer  and  unpack  (PEiD,  various  unpackers)  –  Disassemble,  analyze  call/data  flow  graph  –  Debug,  decrypt  and  reveal  actual  values  –  Patch  binary  to  traverse  most  of  code  branches  

Page 5: Malware’Reverse’Engineering’ - George Mason Universityastavrou/courses/ISA_785_F11/Malware Revers… · Malware’reverse’engineering’scheme’ 1. Create’isolated’experimental’environment(hostonly’VM)’

Basic  skill  set  of  RE  Tasks  

Unpacking  

Disassembling  

Binary  Debugging/patching  

Dynamic  (behavior)  analysis  

Tools  

PEiD,  OllyDbg,    

OllyDbg,  So^ICE,  WinDbg  

IDA  Pro,    PE  Explorer,  OllyDbg  

PaiMei,  Wireshark,  Process  Explorer  

Page 6: Malware’Reverse’Engineering’ - George Mason Universityastavrou/courses/ISA_785_F11/Malware Revers… · Malware’reverse’engineering’scheme’ 1. Create’isolated’experimental’environment(hostonly’VM)’

Malware  analysis  quesFons  

•  What  type?  (worm,  virus,  keylogger,  dropper  etc.)  

•  How  does  it  propagate?  (remote  code  injecFon,  overwrite,  network  vector,  etc.)  

•   What  does  it  do  (payload)?  (registry  abuse,  dropper,  credenFals  the^,  etc.)  

•  What  are  the  trigger  condiFons?  (Fme  bomb  date,  service  presence,  etc.)  

Page 7: Malware’Reverse’Engineering’ - George Mason Universityastavrou/courses/ISA_785_F11/Malware Revers… · Malware’reverse’engineering’scheme’ 1. Create’isolated’experimental’environment(hostonly’VM)’

Malware  reverse  engineering  scheme  1.  Create  isolated  experimental  environment  (host  only  VM)  2.  Submit  malware  to  exisFng  sandboxes  (Anubis,  ThreatExpert)  

•  Inspect  its  high  level  behavior  •  Watch  file  droppers  and  created  processes  

3.  Examine  its  imports,  exports  and  strings  •  Based  on  import  API,  guess  malware  type  (e.g.  SetWindowsHook)  

4.  IdenFfy  packer  and  unpack  (manual  or  auto,  PEiD)  5.  Disassemble/decompile  malware    

•  Trace  API  usage  (context,  constant  adributes)  •  Deduce  variables,  create  structures,  name  them  properly  (symanFcs)    •  Deduce  funcFon  semanFcs  (what  does  it  do,  approx.)  •  Trace  sensiFve  data  path  

6.  Debug  binary  •  Trigger  condiFons  •  Resolve  implicit  jumps  (control  flow)  •  Reveal  actual  values  variables  (dynamic  API  adributes)    

7.  Patch  binary  (opFonal)  •  Execute  malicious  payload  (addresses  limitaFons  of  step  2)  

   

Page 8: Malware’Reverse’Engineering’ - George Mason Universityastavrou/courses/ISA_785_F11/Malware Revers… · Malware’reverse’engineering’scheme’ 1. Create’isolated’experimental’environment(hostonly’VM)’

Assembly  language    

Page 9: Malware’Reverse’Engineering’ - George Mason Universityastavrou/courses/ISA_785_F11/Malware Revers… · Malware’reverse’engineering’scheme’ 1. Create’isolated’experimental’environment(hostonly’VM)’

Disassembler:  IDA  Pro  

Page 10: Malware’Reverse’Engineering’ - George Mason Universityastavrou/courses/ISA_785_F11/Malware Revers… · Malware’reverse’engineering’scheme’ 1. Create’isolated’experimental’environment(hostonly’VM)’

Debugger:  OllyDbg    

Page 11: Malware’Reverse’Engineering’ - George Mason Universityastavrou/courses/ISA_785_F11/Malware Revers… · Malware’reverse’engineering’scheme’ 1. Create’isolated’experimental’environment(hostonly’VM)’

Hands-­‐On  Training  

Page 12: Malware’Reverse’Engineering’ - George Mason Universityastavrou/courses/ISA_785_F11/Malware Revers… · Malware’reverse’engineering’scheme’ 1. Create’isolated’experimental’environment(hostonly’VM)’

IDA  Shortcuts