Emulating Shellcodes - Chapter 2

 Lets check different  Cobalt Strike shellcodes and stages in the shellcodes emulator SCEMU.




This stages are fully emulated well and can get the IOC and the behavior of the shellcode.

But lets see another first stage big shellcode with c runtime embedded in a second stage.


In this case is loading tons of API using GetProcAddress at the beginning, then some encode/decode pointer and tls get/set values to store an address. And ends up crashing because is jumping an address that seems more code than address 0x9090f1eb.

Here there are two types of allocations:


Lets spawn a console on -c 3307548 and see if some of this allocations has the next stage.

The "m" command show all the memory maps but the "ma" show only the allocations done by the shellcode.



Dumping memory with "md" we see that there is data, and dissasembling this address with "d" we see the prolog of a function.

So we have second stage unpacked in alloc_e40064


With "mdd" we do a memory dump to disk we found the size in previous screenshot,  and we can do  some static reversing of stage2 in radare/ghidra/ida

In radare we can verify that the extracted is the next stage:


I usually do correlation between the emulation and ghidra, to understand the algorithms.

If wee look further we can realize that the emulator called a function on the stage2, we can see the change of code base address and  is calling the allocated buffer in 0x4f...



And this  stage2 perform several API calls let's check it in ghidra.


We can see in the emulator that enters in the IF block, and what are the (*DAT_...)() calls

Before a crash lets continue to the SEH pointer, in this case is the way, and the exception routine checks IsDebuggerPresent() which is not any debugger pressent for sure, so eax = 0;



So lets say yes and continue the emulation.


Both IsDebuggerPresent() and UnHandledExceptionFilter() can be used to detect a debugger, but the emulator return what has to return to not be detected. 

Nevertheless the shellcode detects something and terminates the process.

Lets trace the branches to understand the logic:


target/release/scemu -f shellcodes/unsuported_cs.bin -vv | egrep '(\*\*|j|cmp|test)'



Continuing the emulation it's setting the SEH  pointer to previous stage:


Lets see from the console where is pointing the SEH chain item:


to be continued ...


https://github.com/sha0coder/scemu






Related links


  1. Easy Hack Tools
  2. How To Hack
  3. Pentest Tools
  4. Pentest Tools
  5. Pentest Tools For Android
  6. Pentest Tools Kali Linux
  7. Hacking Tools Kit
  8. Computer Hacker
  9. Hacker Tool Kit
  10. Hacker
  11. Hack Tool Apk
  12. Pentest Tools Framework
  13. Install Pentest Tools Ubuntu
  14. Hacker Tools
  15. Hack Tools
  16. Pentest Tools Url Fuzzer
  17. Android Hack Tools Github
  18. Hacker Search Tools
  19. Hacker Tools List
  20. Pentest Box Tools Download
  21. Hacks And Tools
  22. Pentest Tools Apk
  23. What Are Hacking Tools
  24. New Hack Tools
  25. Hack Apps
  26. Pentest Tools Apk
  27. How To Hack
  28. Hacker Tools Software
  29. How To Make Hacking Tools
  30. Hack Tools Online
  31. Hacking Tools Name
  32. Hack Tools For Ubuntu
  33. Hack Website Online Tool
  34. Hack Tools Github
  35. Hacking Tools For Pc
  36. Hacking Tools Mac
  37. Hack App
  38. New Hack Tools
  39. Pentest Tools Open Source
  40. Top Pentest Tools
  41. Pentest Tools Online
  42. Hacking Tools For Windows 7
  43. Hacker Techniques Tools And Incident Handling
  44. Pentest Recon Tools
  45. Pentest Tools
  46. Underground Hacker Sites
  47. Hak5 Tools
  48. Hacking Tools Windows 10
  49. Hacker Search Tools
  50. Usb Pentest Tools
  51. Hacking Tools For Games
  52. Pentest Tools Framework
  53. Hack Tools Github
  54. Pentest Tools Online
  55. Easy Hack Tools
  56. Pentest Tools For Ubuntu
  57. Hacker Tools Github
  58. Pentest Tools Android
  59. Best Hacking Tools 2019
  60. Hacker Search Tools
  61. Pentest Tools Review
  62. Hacker Tools For Windows
  63. Pentest Automation Tools
  64. Hack And Tools
  65. Tools For Hacker
  66. Beginner Hacker Tools
  67. Beginner Hacker Tools
  68. Nsa Hack Tools
  69. Hacker Tools Free Download
  70. Pentest Tools For Android
  71. Pentest Tools Website
  72. Hacking Tools Mac
  73. Hacker Security Tools
  74. Hack Apps

No hay comentarios: