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
Related links
- Hacking Tools Online
- Pentest Tools
- Easy Hack Tools
- Tools 4 Hack
- Hack Tools
- Computer Hacker
- Blackhat Hacker Tools
- Pentest Tools For Android
- Hacking Apps
- Pentest Tools Alternative
- Ethical Hacker Tools
- Hacker Tools For Pc
- Pentest Tools Online
- Hacking Tools Kit
- How To Install Pentest Tools In Ubuntu
- Pentest Automation Tools
- Pentest Tools For Ubuntu
- Hacker Tools Free Download
- Hacker Tools For Ios
- Pentest Tools For Ubuntu
- Hacker Tools 2020
- Hack And Tools
- Hacker Tools Windows
- Hacker Techniques Tools And Incident Handling
- Hack Tools
- World No 1 Hacker Software
- Hacker Tools Apk Download
- Hacking Tools Windows 10
- Hacker Tools
- Hack Website Online Tool
- Hacking Tools And Software
- Hacking App
- Pentest Reporting Tools
- Hacker Tools Free Download
- Hack Apps
- Hacker Tools 2020
- Pentest Tools Kali Linux
- Nsa Hack Tools Download
- Best Pentesting Tools 2018
- How To Hack
- Hacking Tools For Beginners
- Hacking Tools For Windows
- Hacker Tools Free
- Hackers Toolbox
- Free Pentest Tools For Windows
- Hacker Techniques Tools And Incident Handling
- Hacker Tools 2020
- Hacking Tools Hardware
- Pentest Tools Tcp Port Scanner
- Tools For Hacker
- Pentest Tools Kali Linux
- Hacker Tools Linux
- What Are Hacking Tools
- Computer Hacker
- World No 1 Hacker Software
- Hackrf Tools
- Underground Hacker Sites
- Hack Rom Tools
- Hackers Toolbox
- Pentest Tools For Mac
- Hacking Tools Free Download
- Hacker Tools
- Computer Hacker
- Hacker Tools Apk
- Hacking Tools Usb
- Hacker Tools Software
- Hacker Search Tools
- Hack Tools Mac
- Hacker Tools Software
- Underground Hacker Sites
- How To Install Pentest Tools In Ubuntu
- What Is Hacking Tools
- Pentest Tools Open Source
- Hacking Tools Hardware
- Game Hacking
- Hacking Tools For Windows
- Hacker Tools Mac
- Ethical Hacker Tools
- Hacker Tools For Pc
- Hacker Tools Apk Download
- Computer Hacker
- Hack Tools 2019
- Hack Tools Github
- Pentest Tools Windows
- Hacking Tools For Windows Free Download
- Hacking Tools Pc
- Blackhat Hacker Tools
- Hacking Tools Free Download
- How To Make Hacking Tools
- Computer Hacker
- Pentest Tools Download
- Nsa Hacker Tools
- Hacker Search Tools
- Hacking App
- Pentest Tools
- Hacker Tools For Windows
- Pentest Tools Port Scanner
- Pentest Tools Apk
- Hacking Tools Usb
- How To Hack
- Blackhat Hacker Tools
- Hacker Tools For Pc
- Github Hacking Tools
- Hack Tools For Ubuntu
- Pentest Tools Find Subdomains
- Blackhat Hacker Tools
- Pentest Tools Review
- Pentest Tools Tcp Port Scanner
- Pentest Tools Url Fuzzer
- Growth Hacker Tools
- Hacking Tools Github
- Growth Hacker Tools
- Bluetooth Hacking Tools Kali
- Hacking Tools For Mac
- Pentest Tools Kali Linux
- Hack App
- Pentest Tools Subdomain
0 Comments:
Post a Comment
Subscribe to Post Comments [Atom]
<< Home