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
Related articles
- Beginner Hacker Tools
- Nsa Hack Tools
- Hacking Tools For Windows
- Hack Tools For Pc
- Hack And Tools
- Hacker Tools Free
- Nsa Hack Tools
- Hackers Toolbox
- Hack Tools
- Pentest Tools Url Fuzzer
- Hacking Tools Free Download
- Hacker Tools Github
- Hacker Tools Software
- Hacker Tools List
- Tools For Hacker
- Pentest Tools Android
- What Are Hacking Tools
- Best Hacking Tools 2020
- Pentest Tools Open Source
- Hack Tools Pc
- Hackers Toolbox
- Hacking Tools Pc
- Computer Hacker
- Pentest Tools Subdomain
- Hacker Tools Hardware
- Pentest Tools Website Vulnerability
- Hackrf Tools
- How To Install Pentest Tools In Ubuntu
- Hacking Tools Windows
- Hacker Hardware Tools
- Hacking Tools For Windows 7
- Pentest Tools Download
- Pentest Recon Tools
- How To Hack
- Hack Tools For Pc
- Hacking Tools Github
- Hack Tools 2019
- Install Pentest Tools Ubuntu
- Hacker Tools Hardware
- Hacker Tools Free
- Hacker Tool Kit
- Pentest Tools Tcp Port Scanner
- Hacking Tools Name
- Hacker Tools Free
- Pentest Tools List
- Hack Tools Pc
- Pentest Tools
- Hacker
- Pentest Tools
- Hacking Tools For Windows Free Download
- Hacking Tools For Windows Free Download
- Pentest Tools Open Source
- Usb Pentest Tools
- Hack Tools Mac
- Hacking Tools Hardware
- Wifi Hacker Tools For Windows
- Hacking Tools Windows
- Install Pentest Tools Ubuntu
- Pentest Tools Tcp Port Scanner
- Hacker Tools
- How To Install Pentest Tools In Ubuntu
- How To Make Hacking Tools
- Top Pentest Tools
- Hack Tools For Windows
- Pentest Tools Review
- Hacker Search Tools
- New Hacker Tools
- Pentest Tools Tcp Port Scanner
- Hacker Tools Apk Download
- Best Hacking Tools 2020
- Pentest Recon Tools
- Hacking Tools For Windows 7
- Best Hacking Tools 2019
- What Is Hacking Tools
- Hacking Tools Download
- Hackers Toolbox
- Hack Apps
- Bluetooth Hacking Tools Kali
- Hacker Tools Windows
- Pentest Tools For Ubuntu
- Pentest Recon Tools
- Pentest Reporting Tools
- Nsa Hacker Tools
- Beginner Hacker Tools
- How To Install Pentest Tools In Ubuntu
- Hacking Tools Windows 10
- Hacking Tools For Mac
- Pentest Tools
- Ethical Hacker Tools
- Computer Hacker
- Hacker Search Tools
- Hacking Tools Pc
- Hacker Tools Free
- Wifi Hacker Tools For Windows
- Hacker Tools Online
- Hack Tools For Games
- Hacking Tools For Windows 7
- Hacker Tools Linux
- Hacking Tools For Kali Linux