Today Great Book at Amazon.com
Visit Amazon.com to see more

Wednesday, May 31, 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





Related word

  1. Best Pentesting Tools 2018
  2. How To Install Pentest Tools In Ubuntu
  3. Pentest Tools Website Vulnerability
  4. Pentest Tools Github
  5. Android Hack Tools Github
  6. Hack Tools For Games
  7. Pentest Tools Port Scanner
  8. Hack Apps
  9. Hack Tools 2019
  10. Black Hat Hacker Tools
  11. Hack Tools Github
  12. Hacking Tools Kit
  13. Pentest Tools Bluekeep
  14. Hacking Tools Hardware
  15. Pentest Automation Tools
  16. Ethical Hacker Tools
  17. Hacking Tools For Windows Free Download
  18. Pentest Tools Github
  19. Hack Tools For Pc
  20. Pentest Tools Download
  21. Hacker Tools Free
  22. Hacker Techniques Tools And Incident Handling
  23. Pentest Tools For Android
  24. Hacker Tools Github
  25. Black Hat Hacker Tools
  26. Hacker Tool Kit
  27. Hacking Tools And Software
  28. Hacker
  29. Hacker Search Tools
  30. Pentest Tools Github
  31. Hack Tools Github
  32. Tools 4 Hack
  33. Hacking Tools Hardware
  34. Pentest Tools
  35. Hak5 Tools
  36. Install Pentest Tools Ubuntu
  37. Hacker Tools Github
  38. Hacker Tools Free Download
  39. Hacking Tools For Windows Free Download
  40. Computer Hacker
  41. Hack Tools For Mac
  42. Hack Tools Pc
  43. Hacking Tools Kit
  44. Hack Tools For Mac
  45. Hackers Toolbox
  46. Hacker Tools For Mac
  47. Hack Tools Online
  48. Hacker Tools 2019
  49. Pentest Tools For Mac
  50. Hak5 Tools
  51. Hacker Tools List
  52. Top Pentest Tools
  53. Game Hacking
  54. Best Hacking Tools 2020
  55. Pentest Tools Alternative
  56. Free Pentest Tools For Windows
  57. Pentest Tools Find Subdomains
  58. Pentest Automation Tools

No comments:

Wee Knowledge is an information of business management blog. All comments should be respect to other. If there are any unrespect comment, it will be deleted. Hope you will get somthing form this blog.
Wee Knowledge.Blogspot.com