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
- Pentest Tools Github
- Hacking Tools Free Download
- Hacker Tools Apk Download
- Pentest Recon Tools
- Hacker Tools Online
- Hacker Tools For Ios
- Hacker Tools Free
- Hacking Tools For Games
- Hacker Tools Apk
- Hacking Tools Software
- Pentest Tools Kali Linux
- Hacking Tools Kit
- Pentest Tools For Mac
- Tools Used For Hacking
- Hacker Tools Mac
- Hacking Tools Github
- Nsa Hack Tools Download
- Hack Tools Pc
- Pentest Tools Alternative
- Hacking Tools Free Download
- Hack Tools For Pc
- Pentest Tools Url Fuzzer
- Bluetooth Hacking Tools Kali
- Termux Hacking Tools 2019
- Hacker Tools Windows
- Hacker Tools 2020
- Hacker Tools For Ios
- Nsa Hack Tools Download
- Free Pentest Tools For Windows
- Hacker Tools Mac
- Hack Tools Download
- Hacking Tools For Games
- Hacker Tools For Ios
- Hacker Security Tools
- Black Hat Hacker Tools
- Hacking Apps
- Hacker Tools For Ios
- Hacking Tools For Games
- What Is Hacking Tools
- Pentest Tools Kali Linux
- Pentest Tools Url Fuzzer
- Hacker Tools 2020
- Hack Tools Mac
- How To Install Pentest Tools In Ubuntu
- Pentest Tools Free
- Black Hat Hacker Tools
- Hack Tools Github
- Hacker Tools Free
- Pentest Recon Tools
- Hacking Tools For Pc
- Best Pentesting Tools 2018
- Pentest Tools Framework
- Hacker Tools Mac
- Hacker Tools List
- Hacker
- Hacking Tools Online
- Hacking Tools Download
- Hack Tools For Windows
- Hack Tools For Ubuntu
- Pentest Tools For Windows
- Pentest Tools Windows
- Hack Tools Pc
- Growth Hacker Tools
- How To Hack
- Hack Tools For Ubuntu
- Pentest Tools Url Fuzzer
- Termux Hacking Tools 2019
- Hacking Tools
- Hacker Tools For Windows
- Hackrf Tools
- Hacking Tools Mac
- Hack Tools For Pc
- Pentest Tools
- Hack Tools Online
- Hack Tools For Windows
- Physical Pentest Tools
- Pentest Tools Github
- How To Install Pentest Tools In Ubuntu
- Pentest Box Tools Download
- Hacking Tools Pc
- Underground Hacker Sites
- Hacking Tools And Software
- Hack Tools Github
- Pentest Automation Tools
- Black Hat Hacker Tools
- Hacker Tools 2020
- Hacking Tools Free Download
- Hacker Tools Online
- Pentest Tools For Windows
- Hacker Tools Hardware
- How To Hack
- Pentest Box Tools Download
- Pentest Tools Subdomain
- Hacking Tools Online
- Computer Hacker
- Hacker Tools For Pc
- Hacker Techniques Tools And Incident Handling
- Pentest Tools Find Subdomains
- Hacking Tools Usb
- Ethical Hacker Tools
- Bluetooth Hacking Tools Kali
- Hacker Tools List
- Hacker Tools For Mac
- Wifi Hacker Tools For Windows
- Hacking Apps
- Hacking Tools
- Hak5 Tools
- Wifi Hacker Tools For Windows
- How To Hack
- Hacker Tools Github
- Hack Tools For Mac
- Hacking Tools For Games
- Hack App
- Hacker Tools Software
- Bluetooth Hacking Tools Kali
- Hacker Tools Apk Download
- Pentest Tools Android
- What Is Hacking Tools
- Hack Tools Download
- Hack Tools For Pc
- Hacking Tools Online
- Hack Tools
- Hack Tools For Games
- Hack Tools 2019
- Hacking Tools For Beginners
- Hacking Tools Kit
- Termux Hacking Tools 2019
- How To Hack
- Hacker Tools Mac
- Hacker Techniques Tools And Incident Handling
- Install Pentest Tools Ubuntu
- Pentest Tools Bluekeep
- Kik Hack Tools
- Nsa Hacker Tools
- Hacking Tools For Kali Linux
- Tools For Hacker
- Hacking Tools Github
No comments:
Post a Comment