我在 Ubuntu 10.04.3 服务器上的一个用户帐户被黑客入侵,我不知道是怎么回事。密码很强大。我的用户的 crontab 中安装了一个 cronjob,该 cronjob 在 /var/tmp/.aw 中运行并可执行
/var/tmp/.aw 目录包含一系列可执行文件,其中一个名为 bash。
我检查了我的 ~/.bash_history,发现了一些非常可疑的东西。我在下面提供了相关的代码片段。
w
ls
passwd
cd /var/tmp
w
ls
wget http://download.microsoft.com/download/win2000platform/SP/SP3/NT5/EN-US/W2Ksp3.exe
w
wget http://download.microsoft.com/download/win2000platform/SP/SP3/NT5/EN-US/W2Ksp3.exe
w
cat /prooc/cpuinfo
cat /proc/cpuinfo
exotr
wq
w
exit
w
ls
passwd
cd /var/tmp
ls
wget http://download.microsoft.com/download/win2000platform/SP/SP3/NT5/EN-US/W2Ksp3.exe
ls
tar xzvf IPmech.tgz
rm -rf IPmech.tgz
cd .aw
s
ls
./autorun
chmod +x *
./autorun
./start TKLL
ls
rm -rf m.ses
ps x
kill -9 4350
ls
ps x
rm -rf m.ses
kill -9 4460
ls
ps x
w
ls
nano 192.168.0.100.user2
rm -rf *seeN8
ls
rm -rf *see*
ls
nano m.set
rm -rf m.ses
ps x
kill -9 4582
ls
ps x
kill -9 4645
rm -rf m.ses
ls
ps x
kill -9 4693
ls
rm -rf m.ses
ps x
kill -9 4733
rm -rf m.ses
ps x
kill -9 4757
ls
nano m.set
rm -rf m.ses
ps x
kill -9 4800
we
w
ls
ps x
kill -9 4878
ls
rm -rf m.ses
ps x
kill -9 4926
ls
w
ps x
ls
kill -9 4964
w
exit
w
ls
ps x
cd /var/tmp
w
ls
exit
sudo su
passwd
ls
ls -al
ls .ssh/
rm id_dsa.pub
touch .sudo_as_admin_successful
sudo su
passwd
it is
sudo su
w
echo "yay :D" > /dev/pts/9
echo "I take it it's working..." > /dev/pts/9
w
echo "Is this annoying???" > /dev/pts/9
w
exit
具体问题:
- exotr 是什么?我无法用 which 找到它,也没有它的 man 条目
- 什么是 IPmech?谷歌搜索后,你会看到一大堆关于陶瓷和陶瓷裂纹建模的内容。IPMech 似乎是俄罗斯科学院下属的力学问题研究所。但我不确定它是否合法。另外,我仍然不知道他们一开始是如何进入帐户的。日志回溯得不够远,无法看到与历史记录相对应的登录尝试。
- 我已经完全删除了 crontab(里面没有其他内容)并删除了 /var/tmp/.aw,然后重新启动了服务器。我检查了正在运行的进程,看是否有任何异常,一切看起来都正常。我已经更改了密码。我是否也需要更改公钥?
- 我还可以/应该寻找什么来帮助识别入侵机制?
谢谢
答案1
我写了一篇在 Security.SE 上回答不久前,有人提出了一种技术来找出它们是如何进入的。但这不是一个全面的答案,因为这样的事情会写满整本书。
其要点是:“查看日志;通过时间戳识别可疑内容(文件、日志条目)”。
就你的情况而言,使用你拥有的任何日志来查找他的 IP 地址(last -i
或grep username /var/log/auth.log
),然后查看所有其他日志(特别是如果你运行的 Web 服务器日志)以查找该 IP 地址。搜索所有日志IPmech
也可能有用。如果你能找到他从哪里获得它,你也许可以自己获取一份副本并查看它的作用。我的猜测(基于我自己对 的 Google 搜索IPmech
)是它正在运行一个开放代理。
exotr
在我看来,这似乎是拼写错误exit
。他按了“o”而不是“i”,并且把“tr”搞混了,而不是“t”。尤其是因为他在两个命令之后成功输入了“exit”。
清理服务器固然很好,但即使“一切看起来都合法”,你也永远不可能当然。使用入侵前的备份进行擦除并重新安装是一种可以确保安全的方法。请参阅我的服务器被黑了 紧急求助。无论如何,这样做都是很好的做法,因为只有成功恢复后,备份才算是真正的备份。