how not to code your ransomware liviu itoaf
play

How NOT to code your ransomware Liviu Itoaf About Me $ whoami - PowerPoint PPT Presentation

How NOT to code your ransomware Liviu Itoaf About Me $ whoami Security Researcher @ Kaspersky Hands-on work: coding, reverse engineering, vulnerability research Malware analysis trainings T ags: GTD (Getting Things


  1. How NOT to code your ransomware Liviu Itoafă

  2. About Me $ whoami • Security Researcher @ Kaspersky • Hands-on work: coding, reverse engineering, vulnerability research • Malware analysis trainings • T ags: GTD (Getting Things Done)

  3. IS IT REALLY A PROBLEM? Actually YES! Comapnies started to create vaccines for this.

  4. Evolution and techniques • File scramblers, • Traditional ransomware Websites ransomware – CTB-Locker 1 • MacOS - KeRanger 2 • • MBR cryptors - Petya 3 • Mobile ransomware 4 • OS: Windows, Android, Linux, FreeBSD, OSX

  5. Infection • Spam | Malvertising | Exploit kits | Watering hole attacks https://tpzoo.fjles.wordpress.com/2013/02/lion-zebra-water-hole.jpg

  6. Distribution • Partnership programs • “Distributors” can sign up as affjliates – Get a compiled binary containing the AffjliateID and a public key – Can distribute sample to their own target group – Collect 40-70% of the revenues, payable in crypto-currency

  7. Defences against analysis • Obfuscations – Many levels of packing • Anti-forensics – Self-deletion from disk – Erase key from memory – Change time of the module to that of the kernel32.dll 1 • Anti-AV – Tricks signature checks by spawning hollowed explorer.exe (RunPE)

  8. Psychological tactics • Scaremongering victims – Gradually increasing the ransom amount – Warnings to not delete any fjles or run antivirus software ('don't call the police') – Message selected based on victim's country info (geolocation) – Voice warnings using text-to-speach emulator 1 • Gaining buyers' trust – SDLC, customer support and bug fjxing – New features and defenses against malware analysts • Increasing victims' confjdence – Decrypts fjles free – Customer support

  9. Close but no cigar...

  10. Client side fm Client side fm fmaw #1 fmaw #1 – NO encryption

  11. Client side fm Client side fm fmaw #2 fmaw #2 - Weak encryption

  12. Client side fm fmaw #3 – OPSEC fails Recipe Read the source fjle ● Create encrypted version ● Forget to delete the original fjles ● Delete original fjles but not erase them ● Erase the fjles but forget about MFT 1 ● Erase everything but forget about Shodow Copies 2 ● Delete everything but forget the encryption key 3 ●

  13. Client side fm Client side fm fmaw #4 fmaw #4 – Compilation „errors“ • Same ransomware was compiled also for Linux Ransomware family afgecting Linux and FreeBSD servers • My guess: The attacker took the sources from some Internet forum • and Google'ed how to compile them

  14. Client side fm Client side fm fmaw #5 fmaw #5 – Key management

  15. Client side fm fmaw #6

  16. Client side fm fmaw #7

  17. Server side fm fmaw #1

  18. Server side fm fmaw #2 It's not more secure than rand(), it's just faster!

  19. Server side fm fmaw #3 Normal fmow: (1) Read data; (2) Init chipher; (3) Decrypt data; (4) • Write decrypted data; (5) Update fmag • Alterative fmow: (1), (2), (3), (4) + (1), (2), (3), (4) + ...+ (5)

  20. Server side fm fmaw #4

  21. Summary • Crypto is HARD • OPSEC • Don't rush to get the bitcoins • Don't trust everything • Always backup • User education • In-depth protection

Recommend


More recommend