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
- Black Hat Hacker Tools
- What Are Hacking Tools
- Pentest Automation Tools
- Pentest Tools Website
- How To Hack
- Hack Tools For Windows
- Tools Used For Hacking
- Nsa Hack Tools Download
- Pentest Tools Find Subdomains
- Hack App
- What Is Hacking Tools
- Hacking Tools For Kali Linux
- Easy Hack Tools
- Pentest Box Tools Download
- Hack Tools Mac
- New Hacker Tools
- Hacking Tools Name
- Pentest Tools Open Source
- Hacker Tools For Windows
- Hacking Tools Download
- What Is Hacking Tools
- Pentest Tools Bluekeep
- Hack Tools Online
- Hacker Tools Linux
- New Hacker Tools
- Growth Hacker Tools
- Hacking Apps
- Hacker Tools 2020
- Hack Website Online Tool
- How To Install Pentest Tools In Ubuntu
- Hack Tools 2019
- Pentest Tools For Android
- Pentest Tools
- Hacking Tools Online
- Hack Tools
- Pentest Tools Kali Linux
- Pentest Tools Review
- Hack Tools
- Hack Tool Apk No Root
- Nsa Hack Tools
- Hacker Tools Online
- Hacker Tools Free
- How To Make Hacking Tools
- Hacking Tools
- Pentest Tools For Mac
- Hacking Tools For Beginners
- Hacking Tools For Beginners
- Pentest Tools Bluekeep
- Hacking Tools
- Hacking Tools 2020
- Pentest Tools For Ubuntu
- Game Hacking
- Tools For Hacker
- Hacker Tools For Windows
- Hacking Tools Hardware
- Pentest Tools Framework
- Pentest Tools Bluekeep
- Nsa Hack Tools
- Android Hack Tools Github
- Hack Tools For Games
- Hack Tool Apk
- Pentest Tools Download
- Best Hacking Tools 2019
- Nsa Hack Tools
- Hack Tool Apk
- Hack Tools For Games
- Hackers Toolbox
- Install Pentest Tools Ubuntu
- Hack Tools Github
- Hacker Tools Apk Download
- Hacking Tools
- Hacker Tools Linux
- Pentest Tools Bluekeep
- Best Hacking Tools 2020
- Hacker Tools Free Download
- Hack Tools Pc
- Hacking Tools Name
- Hacking Tools For Mac
- Pentest Tools Free
- Hacking Tools Software
- Hacker Tools 2020
- Pentest Box Tools Download
- Underground Hacker Sites
- Pentest Tools Github
- Hacker Tools List
- Pentest Tools For Ubuntu
- Hacker Tools Hardware
- Bluetooth Hacking Tools Kali
- How To Make Hacking Tools
- Hacking Tools Online
- Hacker Tools 2020
- Hak5 Tools
- Hacker Tools Online
- Hack Tools
- Hacker Tools 2019
- Free Pentest Tools For Windows
- Hackrf Tools
- Hack Tool Apk
- Hak5 Tools
- Pentest Tools Tcp Port Scanner
- Pentest Tools List
- Hacking Tools 2020
- Pentest Tools Url Fuzzer
- Pentest Tools Linux
- Usb Pentest Tools
- Best Pentesting Tools 2018
- Hack Tools Pc
- Hacking Tools For Windows
- Hacking Tools For Windows 7
- Hack Tools
- Hacking Tools 2020
- Pentest Tools Alternative
- Hacking Tools For Windows 7
- Black Hat Hacker Tools
- Hacking Tools For Windows Free Download
- Hacker Tools For Ios
- Kik Hack Tools
- World No 1 Hacker Software
- Hacking Tools Github
- Hacking Tools For Beginners
- Hacks And Tools
- Hacker Tools List
- Usb Pentest Tools
- Free Pentest Tools For Windows
- Game Hacking
- New Hack Tools
- Pentest Recon Tools
- How To Hack
- Pentest Tools Nmap
- Hack Tools For Ubuntu
- Kik Hack Tools
- Hack Tool Apk No Root
- Hacker Tools For Windows
- Hack Tools For Ubuntu
- Hacker Tools Windows
- Pentest Box Tools Download
- Pentest Tools Alternative
- Hacking Apps
- Hacking App
- Hacking Tools 2020
- Pentest Tools For Mac
- Hacker Tools Github
- Pentest Tools For Mac
- Wifi Hacker Tools For Windows
- Install Pentest Tools Ubuntu
- Pentest Tools Port Scanner
- Hack Tools For Ubuntu
- Black Hat Hacker Tools
- Kik Hack Tools
- Ethical Hacker Tools
- Free Pentest Tools For Windows
- Hacker Tools Hardware
- Hacking Tools For Windows 7
- Hacking Tools Online
- Hacker Tools Hardware
- Computer Hacker
- Termux Hacking Tools 2019
- Hack Tools Mac
- New Hacker Tools
- Pentest Tools Subdomain
- Hacking App
- Physical Pentest Tools
- Install Pentest Tools Ubuntu
- Termux Hacking Tools 2019
No comments:
Post a Comment