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)'
Lets see from the console where is pointing the SEH chain item:
to be continued ...
https://github.com/sha0coder/scemu
- Hacking Tools For Beginners
- Hack Tools Mac
- Pentest Tools Find Subdomains
- World No 1 Hacker Software
- Pentest Tools Online
- Github Hacking Tools
- Hack Tools Mac
- Bluetooth Hacking Tools Kali
- Hacking Tools Kit
- Hacking Tools For Mac
- Hacker Tools Online
- Hacker Tools Linux
- Hack And Tools
- World No 1 Hacker Software
- Pentest Tools Url Fuzzer
- Best Hacking Tools 2019
- Hacking Tools Windows
- Hacking Tools Kit
- Hacker Tools Free Download
- Hack Apps
- Pentest Reporting Tools
- Hacking Tools For Pc
- Pentest Tools For Ubuntu
- Hacker Tools For Mac
- Pentest Tools For Windows
- Hacking Tools For Kali Linux
- Blackhat Hacker Tools
- Ethical Hacker Tools
- Growth Hacker Tools
- Black Hat Hacker Tools
- Pentest Automation Tools
- Pentest Tools Website
- Pentest Tools Linux
- Hack Tools Pc
- Beginner Hacker Tools
- Hacking Tools Windows
- Hacking Tools For Games
- Pentest Tools Bluekeep
- Hacking Tools For Beginners
- Hacking Tools Name
- Pentest Box Tools Download
- Hacking Tools Pc
- Hacking Tools And Software
- Hacker Tools 2019
- Hacking Tools Download
- Bluetooth Hacking Tools Kali
- Pentest Tools Online
- Hacking Tools Github
- Hack Tool Apk No Root
- Nsa Hack Tools
- Hack Tools For Games
- Hacker Tools For Mac
- Pentest Tools Online
- Pentest Tools Free
- Best Hacking Tools 2019
- Pentest Tools Online
- Hacker Tools Software
- Pentest Tools Subdomain
- Hacking App
- Beginner Hacker Tools
- Hacking Tools And Software
- Hackrf Tools
- New Hacker Tools
- Pentest Tools Website
- Hacker Tools Free Download
- Pentest Tools For Android
- Pentest Tools Review
- Hacking Tools Kit
- Kik Hack Tools
- Hacking Tools 2019
- Kik Hack Tools
- Hacking Tools Windows 10
- Hack Website Online Tool
- Tools Used For Hacking
- Hacker Tools
- Hack Tools
- Pentest Tools Subdomain
- Computer Hacker
- Hack Tools Mac
- Hackrf Tools
- Pentest Tools Windows
- Beginner Hacker Tools
- Pentest Tools Website
- Hacking Tools Pc
- Hacker Tools Hardware
- Hacking Tools Online
- Hacking Tools Download
- Best Hacking Tools 2019
- Pentest Tools Review
- Pentest Tools Find Subdomains
- Hacker Tools 2019
- Hack Tools Download
- Pentest Tools Nmap
- Pentest Tools Windows
- Pentest Tools Windows
- Pentest Tools Framework
- Pentest Tools Subdomain
- Hacker Tools 2020
- Bluetooth Hacking Tools Kali
- Hack Tool Apk
- Hacking Tools Kit
- Growth Hacker Tools
- Hack Tools Download
- Hacker Tools 2019
- Hack Tools Github
- Hacking Tools For Windows
- Android Hack Tools Github
- Hacking Tools Github
- Hacker Search Tools
- Growth Hacker Tools
- Pentest Tools Url Fuzzer
- Hack Tools Online
- Pentest Tools Url Fuzzer
- Hacker Tools For Windows
- Tools 4 Hack
- Pentest Tools Subdomain
- Pentest Tools Port Scanner
- Pentest Tools Nmap
- Hack Tools Pc
- Pentest Tools List
- Nsa Hack Tools Download
- Pentest Tools Apk
- Hacker Search Tools
- Pentest Tools Review
- Github Hacking Tools
- Nsa Hack Tools
- Hack And Tools
- Tools Used For Hacking
- Hacker Tools Hardware
- Hacking Tools Mac
- Termux Hacking Tools 2019
- Hack Tools 2019
- Pentest Recon Tools
- Pentest Tools Website Vulnerability
- Hacking Tools For Pc