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
- Physical Pentest Tools
- Hacking Tools Name
- Hacker Tools For Pc
- How To Install Pentest Tools In Ubuntu
- Hack Tools For Mac
- Hacker Tool Kit
- Hacker Techniques Tools And Incident Handling
- Hacking Tools Software
- Hacking Tools Online
- World No 1 Hacker Software
- Tools Used For Hacking
- Hacker Tool Kit
- Pentest Tools
- Nsa Hack Tools
- Hacking Tools For Windows Free Download
- Hacker Tools Windows
- Hacking Tools For Games
- Hacking Tools
- Nsa Hack Tools
- What Is Hacking Tools
- Hacking Tools Kit
- Pentest Tools Review
- Beginner Hacker Tools
- Hack Tools Mac
- Pentest Box Tools Download
- Hacking Tools For Kali Linux
- Hack Tools Mac
- Hacker Techniques Tools And Incident Handling
- Hacking Tools For Mac
- Hack Tools Pc
- Hacker Tool Kit
- Hack Rom Tools
- Hacker Hardware Tools
- Hacking Tools For Pc
- Hacking Tools For Pc
- Hacking Tools Hardware
- Pentest Tools Url Fuzzer
- Hack App
- Hacker Tools 2019
- Pentest Tools For Mac
- Hacker Tools For Pc
- Hack Tools Online
- Hacker Tools For Pc
- Hack Tools Online
- World No 1 Hacker Software
- Pentest Tools
- Hack Tools For Windows
- Hacker Search Tools
- Hacking Tools Windows 10
- Hacking Tools Free Download
- Tools 4 Hack
- Android Hack Tools Github
- Hacker Tools For Ios
- Hack Website Online Tool
- Pentest Tools
- Pentest Automation Tools
- Hacker Hardware Tools
- Hacking Tools Windows 10
- Pentest Tools For Mac
- Hacking Tools Windows
- Pentest Tools Find Subdomains
- Hacking Tools 2019
- Hack And Tools
- Hack Rom Tools
- Hacker Tools Free Download
- Pentest Tools Find Subdomains
- Pentest Tools Github
- Hack Tools
- Wifi Hacker Tools For Windows
- Pentest Tools Review
- Hacker Tools Windows
- Hacker Hardware Tools
- Hacking Tools Usb
- Pentest Tools List
- Wifi Hacker Tools For Windows
- Install Pentest Tools Ubuntu
- Tools For Hacker
- Nsa Hacker Tools
- Hack Tools Pc
- Pentest Tools Url Fuzzer
- Hack Rom Tools
- Tools 4 Hack
- Hacker Hardware Tools
- Tools For Hacker
- Hacker Tools List
- Hack Tools Download
- Hacking Tools Online
- Wifi Hacker Tools For Windows
- Blackhat Hacker Tools
- Best Pentesting Tools 2018
- Hacking Tools For Beginners
- Hacker Tools 2020
- Hacker Tools For Pc
- Hacking Tools And Software
- Install Pentest Tools Ubuntu
- How To Hack
- Hacking Tools For Windows
- Hack Tool Apk
- Hacking Tools Kit
- Hack Rom Tools
- Hacking Tools Usb
- Pentest Tools For Ubuntu
- Hacking Tools Windows 10
- Hack Tools For Windows
- Hackers Toolbox
- Hack Tools 2019
- Hack Tool Apk
- How To Hack
- Pentest Tools List
- Hacking Tools Online
- Hacking Tools For Kali Linux
- Hackers Toolbox
- Hack Tools For Pc
- Hackers Toolbox
- Nsa Hacker Tools
- Android Hack Tools Github
- Hack Tools Pc
- Computer Hacker
- Hacking Tools Mac
- Termux Hacking Tools 2019
- Blackhat Hacker Tools
- Github Hacking Tools
- Hacker Tools Software
- Pentest Tools Review
- Pentest Tools Github
- Hacking Tools Free Download
- Pentest Tools Nmap
- Hacking Tools Windows 10
- Hack Website Online Tool
- Hacking Tools Kit
- Hacker Tools For Ios
- Hacker Tools Free
- Pentest Tools List
- Best Hacking Tools 2020
- Pentest Tools Kali Linux
- Hacking Tools Kit
- Pentest Tools List
- Free Pentest Tools For Windows
- Pentest Tools Apk
- Hacker Tools Hardware
- Hack Website Online Tool
- What Are Hacking Tools
- Best Hacking Tools 2019
- Pentest Tools List
- Hacker Tools Github
- Hack Tools For Ubuntu
- Usb Pentest Tools
- Pentest Tools Framework
- Ethical Hacker Tools
- Hacker Tools
- Hacker Tools For Pc
- Hack Website Online Tool
- Game Hacking
- Hacker Tools
- Pentest Box Tools Download
- Hack Tools Mac
- Pentest Tools Subdomain
- Tools For Hacker
- Hack Tool Apk No Root
- Bluetooth Hacking Tools Kali
- Hacker Tools Hardware
- Pentest Tools Bluekeep
Sem comentários:
Enviar um comentário