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)'
Lets see from the console where is pointing the SEH chain item:
to be continued ...
https://github.com/sha0coder/scemu
- Pentest Automation Tools
- Hack App
- New Hacker Tools
- Easy Hack Tools
- Hack Tools For Ubuntu
- Pentest Box Tools Download
- Pentest Tools Github
- Nsa Hack Tools
- Pentest Tools Free
- Hacking Tools Usb
- Pentest Tools Linux
- How To Install Pentest Tools In Ubuntu
- Hacking Tools For Beginners
- Hacker Tools Windows
- Pentest Tools Tcp Port Scanner
- Pentest Tools Framework
- Hack Tools
- New Hacker Tools
- Game Hacking
- Hacker Tools Github
- Hacker Tools
- Pentest Automation Tools
- Pentest Tools Download
- Hacker Tools Free Download
- Hack Tools Online
- Pentest Reporting Tools
- Hack Tool Apk
- Pentest Tools For Windows
- Hacking Tools Name
- Hack Tools Pc
- Pentest Tools
- Usb Pentest Tools
- Pentest Tools Kali Linux
- Hackrf Tools
- What Is Hacking Tools
- Hack Tool Apk No Root
- Nsa Hack Tools
- Hacking Tools Free Download
- Hack Tools
- Install Pentest Tools Ubuntu
- Hack Tools
- Hackers Toolbox
- Hack Apps
- Hacking Tools Name
- Pentest Tools Find Subdomains
- Hacker Techniques Tools And Incident Handling
- Blackhat Hacker Tools
- How To Hack
- Hacking Tools Hardware
- Best Hacking Tools 2019
- Hacker Tools For Ios
- Usb Pentest Tools
- Android Hack Tools Github
- Pentest Tools Review
- Pentest Tools Kali Linux
- Hacking Tools Hardware
- Hack Website Online Tool
- World No 1 Hacker Software
- Hacking Tools For Beginners
- World No 1 Hacker Software
- Pentest Tools Online
- Hacking Tools Pc
- Pentest Box Tools Download
- Hack Tools For Ubuntu
- What Is Hacking Tools
- Free Pentest Tools For Windows
- Best Hacking Tools 2019
- Hack And Tools
- Hacker Tools For Mac
- Pentest Tools For Windows
- Hacking Tools Github
- Hacking Tools Software
- Hack Tools Online
- Pentest Tools Alternative
- Android Hack Tools Github
- Hacker Tools Mac
- Pentest Reporting Tools
- Pentest Tools Open Source
- Pentest Tools Online
- Hacker Tools Mac
- Easy Hack Tools
- Pentest Tools Free
- Pentest Tools Alternative
- Hackrf Tools
- Best Pentesting Tools 2018
- Hacker
- Hack Tool Apk No Root
- World No 1 Hacker Software
- Hacking Tools Download
- Hacker Tools Apk Download
- Hacker Hardware Tools
- Black Hat Hacker Tools
- Hacking Tools Windows
- Hacking Tools Usb
- Hacker Tools Hardware
- Ethical Hacker Tools
- Bluetooth Hacking Tools Kali
- Hack Tools 2019
- Hacking Tools For Mac
- Hackrf Tools