Before we start , I would like to bring your attention to this SLAE course from securitytube which will help you learn Shellcoding - http://www.securitytube-training.com/online-courses/securitytube-linux-assembly-expert/
AGENDA : :
1. Introduction to Egg Hunter
2. Dummy Algo of Egg Hunter
3. Writing Egg Hunter Shellcode
4. Wrapper Script to generate shellcode with custom EGG tag
1. Introduction to Egg Hunters
Egg Hunter :-
Fuzzysecurity says :
The egg hunter is composed of a set of programmatic instructions that are translated to opcode and in that respect it is no different than any other shellcode (this is important because it might also contain badcharacters!!). The purpose of an egg hunter is to search the entire memory range (stack/heap/..) for our final stage shellcode and redirect execution flow to it.
AGENDA : :
1. Introduction to Egg Hunter
2. Dummy Algo of Egg Hunter
3. Writing Egg Hunter Shellcode
4. Wrapper Script to generate shellcode with custom EGG tag
1. Introduction to Egg Hunters
Egg Hunter :-
Fuzzysecurity says :
The egg hunter is composed of a set of programmatic instructions that are translated to opcode and in that respect it is no different than any other shellcode (this is important because it might also contain badcharacters!!). The purpose of an egg hunter is to search the entire memory range (stack/heap/..) for our final stage shellcode and redirect execution flow to it.
After reading a lot of blog post I found this common paper link so thought of going through it.The paper contains very good information and different methods of egg hunting . I found sigaction method easy but every method has their own pros and cons.
Please read this paper if you are interested in egg hunter's use/implementation.
2. Dummy Algo of Egg Hunter
dummyfunc_egghunt(addr)
{
if (value(addr)==EGGTAG/STRING)then
jmp to addr
else
dummyfunc_egghunt(addr+1)
}
3. Writing Egg Hunter Shellcode
4. Wrapper Script to generate custom TAG shellcode
Reverse TAG/EGG python program -
Final Script -
[x] C code here - https://github.com/hexachordanu/SLAE/blob/master/Assignment-3/shellcode.c
[x] egghunter.nasm - https://github.com/hexachordanu/SLAE/blob/master/Assignment-3/egghunter.nasm [32 bytes]
[x] Wrapper Script to generate egg hunter with custom tag can be found here - https://github.com/hexachordanu/SLAE/blob/master/Assignment-3/eggwrapperscript.sh
[x] All scripts can be found here - https://github.com/hexachordanu/SLAE/tree/master/Assignment-3
Proof of Concept :
This blog post has been created for completing the requirements of the SecurityTube Linux Assembly Expert certification: http://www.securitytube-training.com/online-courses/securitytube-linux-assembly-expert/
Student-ID: SLAE-1219
Comments
Post a Comment