Perl 脚本 rootkit(利用)

信息安全 Rootkit
2021-09-09 20:21:07

几天前,我在我的服务器上收到了垃圾邮件滥用。作为预防措施,我封锁了 SMTP 端口并开始了调查。我找到了一个正在运行的 Perl 进程。它使用的脚本已被删除,但我在/proc/PID/fd/3. 这是它的md5:

server:~# md5sum spam_scipt
c97b6d65fe2e928f190ca4a8cf23747c  spam_scipt

该 Perl 脚本用于从我的服务器发送垃圾邮件。它使用域生成算法为发送垃圾邮件进程状态的 dropzone 生成 URL。我修改了脚本以查看当前正在生成的链接:

server:~# perl spam_scipt 
wget version is 11
Set browser wget
Warning: bad ps syntax, perhaps a bogus '-'? See http://procps.sf.net/faq.html
Runned postfix found, use /usr/sbin/sendmail
Probe host redacted.info
Go https://ibkxluxisp.redacted.info:1905//b/index.php?id=5cb885d577c7bbacdae44dd9f7f86b641ad60d58b1b9df07b97953a70376ec47&check=1
Generate host ibkxluxisp.redacted.info:1905
https://ibkxluxisp.redacted.info:1905//b/index.php?id=5fb58ad575c14b08785ae5255ffbf83c9f561d18e961b2eb96dc5a058a41&version=18&sent=0&user=584e6388c671f38756eac21cec

第二次尝试:

server:~# perl spam_scipt 
wget version is 11
Set browser wget
Warning: bad ps syntax, perhaps a bogus '-'? See http://procps.sf.net/faq.html
Runned postfix found, use /usr/sbin/sendmail
Probe host redacted.info
Go https://wodhvqubux.redacted.info:1905//b/index.php?id=5cb186d575c44b1e5174c7c111636063b338bc3ef4d46e4533036eded038a7&check=1
Generate host wodhvqubux.redacted.info:1905
https://wodhvqubux.redacted.info:1905//b/index.php?id=5a497fe86dde12da162b6460bb8cd215966679ad7bf97338b9b6c2e741fe&version=18&sent=0&user=544c648ace7ff7834db9fadf36bdserver:~# ;

子域现在只更改。所以在简单的 ping 之后,我们得到了 dropzone 的 IP 地址:

server:~# ping vodhvqubux.redacted.info
PING vodhvqubux.redacted.info (94.23.208.20) 56(84) bytes of data.
64 bytes from ns207415.ovh.net (94.23.208.20): icmp_seq=1 ttl=59 time=4.02 ms
^C
--- vodhvqubux.redacted.info ping statistics ---
1 packets transmitted, 1 received, 0% packet loss, time 0ms
rtt min/avg/max/mdev = 4.026/4.026/4.026/0.000 ms

这些犯罪分子已经以相同的 IP 地址出现在公共场合: http://forum.spamcop.net/forums/lofiversion/index.php/t12096.html http://www.jaguarpc.com/forums/general-hosting-网络支持/26972-可能需要一些帮助-妥协-系统-无法找到-door.html

我不明白如何在不知道密码的情况下使用 root 访问权限上传脚本。这是该 perl 进程的环境:

SHELL=/bin/bash
SSH_CLIENT=xx.xx.xx.xx.xx 60480 220
USER=root
MAIL=/var/mail/root
PATH=/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin
PWD=/tmp
SHLVL=1
HOME=/root
LOGNAME=root
SSH_CONNECTION=xxx.xxx.xxx.xxx 60480 xx.xx.xx.xx 220
_=/usr/bin/nohup
OLDPWD=/root

也许这有帮助。我已经升级了所有软件,重新启动了服务器,但这又发生了。也没有 ssh 登录的日志access.log

Perl 脚本http://www.sendspace.com/file/xfrqtt

任何人都可以协助 OVH DC 滥用 IP 吗?罪犯的网站运行得非常完美。

2个回答

你的服务器被感染了它应该被清洗干净

rootkit 的主要功能是将自身安装在不显眼的地方,并拦截它需要的任何东西以抵抗重新启动和升级。例如,它可能已将其代码添加到内核本身,并劫持读写系统调用,以便在升级内核文件时自动重新感染内核文件。

因此,您的救赎之路是从头开始完全重新安装系统;重建分区、格式化硬盘、启动操作系统安装 CD/DVD。这是唯一确定的方法

(实际上是可以想象的,并且已经在实验室条件下证明了,一些rootkits安装在主板固件中,或者一些外围设备的固件中,包括键盘——只要这样的固件可以从软件中重新刷新,理论上它是易受攻击的. 你的服务器不太可能被入侵到那个深度,所以完全重新安装就足够了——不需要升级到真正的葬礼火葬场。)

正如汤姆所说,你有一个 rootkit。您的系统受到威胁,您必须​​使用已知的安全文件从头开始。你不能信任任何系统实用程序,你不能信任你的日志——如果你所有的日志现在看起来都不错的话;这并不意味着他们在试图闯入您的系统时没有记录一些有趣的事情(但随后掩盖了他们的踪迹)。我会启动到 live cd,对数据(不是可执行文件/不是脚本)或安全相关文件(例如,/etc/passwd 或 ssh-keys)进行只读备份,然后重新格式化并重新安装您的操作系统。

我真诚地怀疑这是 openssh 中的一个缺陷(如果是这样的话,这不会只发生在您的服务器上,而是全球数百万台服务器上)。这很可能是您的服务器独有的一些安全漏洞。

也许您(或您的一个用户)正在重用密码,并且有人以这种方式截获了密码。也许某个用户的密码很弱,可以被暴力破解(例如,在常见的密码字典列表中;或者是一些基本的东西,例如字典单词和数字),或者您将帐户提供给恶意用户。也许有人没有强大的密码来保护他们的 ssh 私钥并且有人得到了一个副本。因此,更改所有密码和接受的授权公钥。

或者,您可能安装了恶意应用程序/脚本或存在重大安全漏洞的应用程序/脚本。

安装主动安全措施,例如 fail2ban(频繁失败的登录尝试将减慢/阻止)/SELinux 或 AppArmor(访问控制为用户提供最低权限)/tripwire 或 OSSEC(完整性检查文件)等,以降低进一步攻击的风险或至少在您受到攻击时迅速通知您。