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 links
- Hacker Tools Online
- Hack Apps
- Pentest Reporting Tools
- Pentest Tools Find Subdomains
- Game Hacking
- Hack Tools Online
- Pentest Tools Find Subdomains
- Tools For Hacker
- Hacker Tools Software
- Pentest Tools For Ubuntu
- Hacking Tools Name
- Pentest Tools For Windows
- Hack And Tools
- Bluetooth Hacking Tools Kali
- Pentest Tools Tcp Port Scanner
- Underground Hacker Sites
- Hacking Tools For Pc
- Hacking Tools Pc
- Tools 4 Hack
- Game Hacking
- Hack Tools For Ubuntu
- Hacking Tools And Software
- Top Pentest Tools
- Hack App
- Black Hat Hacker Tools
- Hack Tool Apk No Root
- Hacking Tools Usb
- Hack And Tools
- Bluetooth Hacking Tools Kali
- Pentest Automation Tools
- Github Hacking Tools
- Hacker Techniques Tools And Incident Handling
- Hacking Tools Mac
- Hacks And Tools
- Top Pentest Tools
- Computer Hacker
- Pentest Tools For Ubuntu
- Hack Tools For Games
- Pentest Tools Find Subdomains
- Hacking Tools For Windows 7
- Easy Hack Tools
- Hacking Tools Windows
- How To Install Pentest Tools In Ubuntu
- Hack Tool Apk
- Top Pentest Tools
- Pentest Tools Windows
- Hacking Tools
- Pentest Tools Kali Linux
- Pentest Tools For Mac
- Pentest Tools Website
- How To Install Pentest Tools In Ubuntu
- Hacker
- Pentest Tools Port Scanner
- What Are Hacking Tools
- Hacking Apps
- Hack Apps
- Hack Tools For Games
- Hacking Tools Github
- Hacking Tools For Mac
- Underground Hacker Sites
- Hacking Tools Software
- Hacking Tools For Kali Linux
- How To Make Hacking Tools
- Hacker Tools Online
- World No 1 Hacker Software
- Hacker Tools Hardware
- Hacking Tools Software
- Hacker Tools List
- Hacking Tools For Games
- Wifi Hacker Tools For Windows
- Computer Hacker
- Hackers Toolbox
- Hacker Tools For Ios
- Hacking Tools For Pc
- Pentest Tools For Mac
- Pentest Tools Alternative
- Pentest Tools For Windows
- Hacking Tools For Windows
- How To Install Pentest Tools In Ubuntu
- Hack Tools Github
- How To Make Hacking Tools
- Hacking Tools Online
- Pentest Reporting Tools
- Pentest Tools For Windows
- Hacking Tools For Windows
- Hack Tools For Ubuntu
- Hack Tools For Mac
- Hak5 Tools
- Hack Tools 2019
- Pentest Tools For Android
- Hacking Tools Hardware
- Hacker Tools Apk
- Hack Tools Pc
- Free Pentest Tools For Windows
- Pentest Tools Free
- Best Hacking Tools 2020
- Pentest Tools Apk
- Hacker Tools Apk
- Hack App
- Pentest Tools Subdomain
- Beginner Hacker Tools
- Hack Tools Github
- Hacker Tools Free
- Hacker Tools Mac
- Hacking Tools 2019
- Hacking Apps
- Pentest Tools Url Fuzzer
- Pentest Tools Download
- Kik Hack Tools
- Hacking Tools For Beginners
- Hacker Tools Free
- Tools Used For Hacking
- Hacker Techniques Tools And Incident Handling
- Pentest Tools For Windows
- Pentest Tools Website
- Hackrf Tools
- Hacking Tools Pc
- Hacking Tools Hardware
- Hacking Tools For Pc
- Hacks And Tools
- Hacking Tools Windows
- Nsa Hacker Tools
- Pentest Tools Website Vulnerability
No comments:
Post a Comment