يتذكر فهداً رآه على شاشة التلفزيون،
فهدا قويا يحاصر ظبيا رضيعا
وحين دنا منه شم الحليب
فلم يفترسه

كأن الحليب يروض وحش الفلاة
م.د
"حنى الوحوش ترفض أن تفعل مثلكم وتؤذي الطفولة أيها المجرمون"

30‏/05‏/2023

Fast Emulator For Shellcodes In Rust

I have developed a fast emulator for modern shellcodes, that perform huge loops of millions of instructions emulated for resolving API or for other stuff.

The emulator is in Rust and all the few dependencies as well, so the rust safety is good for emulating malware.  

There are shellcodes that can be emulated from the beginning to the end, but when this is not possible the tool has many features that can be used like a console, a memory tracing, register tracing, and so on.

https://github.com/sha0coder/scemu



In less than two seconds we have emulated 7 millions of instructions arriving to the recv. 

At this point we have some  IOC like  the ip:port where it's connecting and other details.

Lets see what happens after the recv() spawning a console at position: 7,012,204


target/release/scemu -f shellcodes/shikata.bin -vv -c 7012204



In the console, pressing "enter" several times to emulate  step into several steps and we arrive to a return instruction.


Let's see the stack in this moment:


The "ret" instruction is going to jump to the buffer read with recv() so is a kind of stager.

The option "-e" or "--endpoint" is not ready for now, but it will allow to proxy the calls to get the next  stage automatically, but for now we have the details to get the stage.


SCEMU also identify all the Linux  syscalls for 32bits shellcodes:



The encoder used in shellgen is also supported https://github.com/MarioVilas/shellgen

Let's check with cobalt-strike:


We can see where is connecting and which headers is using, so right now we can replicate the communications.



In verbose mode we could do several greps to see the calls and correlate with ghidra/ida/radare or  for example grep the branches to study the emulation flow.


target/release/scemu -f shellcodes/rshell_sgn.bin -vv | grep j


target/release/scemu -f shellcodes/rshell_sgn.bin -vv -c 44000 -l


The -l --loops options makes the emulation a bit slower but track the number of iterations.

Is possible to print all the registers in every step with  -r or --registers  but also is possible to track  specific register for example with --reg esi


target/release/scemu -f shellcodes/shikata.bin --reg esi 


In this case ESI register points to the API name, if we track EAX or ECX will see that are the counters of the loop. These shellcodes  contains a hard loop to locate the API names.

The flag -i or --inspect allow to monitor memory using expressions like "dword ptr [eax + 0xa]"

target/release/scemu -f shellcodes/shikata.bin -i 'dword ptr [esi]'

And more things to come...  find a demo below:

https://www.youtube.com/watch?v=qTYmMjW3DFs





Continue reading
  1. Pentest Box Tools Download
  2. Ethical Hacker Tools
  3. Pentest Tools Find Subdomains
  4. Bluetooth Hacking Tools Kali
  5. Hacks And Tools
  6. Hacker Tools For Windows
  7. Hacking Tools Mac
  8. Hacking Tools Name
  9. Usb Pentest Tools
  10. Pentest Automation Tools
  11. Hacker Security Tools
  12. Hack Tools
  13. Hack Tools Github
  14. How To Install Pentest Tools In Ubuntu
  15. Underground Hacker Sites
  16. Hacking Apps
  17. Hacking Tools For Kali Linux
  18. Hacker Tools Apk Download
  19. Github Hacking Tools
  20. Pentest Tools Find Subdomains
  21. How To Install Pentest Tools In Ubuntu
  22. How To Install Pentest Tools In Ubuntu
  23. Hacking Tools Name
  24. Hacking Tools 2020
  25. Top Pentest Tools
  26. Hacking Tools Mac
  27. Hacking Tools Online
  28. Hacker Tools Online
  29. Hacking Tools Name
  30. Pentest Recon Tools
  31. Hack Tools For Windows
  32. Pentest Tools For Android
  33. Hacker Tools Mac
  34. Hacking Tools Name
  35. Pentest Tools Alternative
  36. Hacking Tools Free Download
  37. Hacker Security Tools
  38. Hack App
  39. Underground Hacker Sites
  40. Hacking Tools For Kali Linux
  41. Nsa Hack Tools
  42. Pentest Tools For Android
  43. Blackhat Hacker Tools
  44. Hacker Tools Free Download
  45. Pentest Tools Website
  46. Pentest Reporting Tools
  47. Hacking Tools For Mac
  48. Pentest Tools Github
  49. Best Hacking Tools 2019
  50. Pentest Tools For Mac
  51. Hacker Tools For Windows
  52. Pentest Tools List
  53. Tools 4 Hack
  54. Kik Hack Tools
  55. Hack Tools Github
  56. Hacking Tools Kit
  57. Hacking Tools Online
  58. World No 1 Hacker Software
  59. Tools Used For Hacking
  60. Hack Tools For Windows
  61. Pentest Recon Tools
  62. Termux Hacking Tools 2019
  63. Hacking Tools
  64. Hacker Tools Software
  65. How To Install Pentest Tools In Ubuntu

ليست هناك تعليقات: