有人入侵了我的 Linux 机器,并运行了一段 Perl 代码,该代码似乎是某种机器人。第二天,我接到 ISP 的电话,说有大量垃圾邮件从您的 IP 地址发出。我在主目录中找到了这段 Perl 代码。
你能帮我找出这段代码的作用以及对我的系统有哪些损害吗?
谢谢迈克
答案1
(是的,它没有回答他所问的问题。它回答的是他需要知道什么)
从轨道上用核武器攻击它……这是唯一可以确保安全的方法。你真的不能相信一个被攻陷的系统,你的问题不仅仅是 perl 机器人。
虽然确实会发生这种情况,但是你知道什么仅仅是冰山一角。
所以...备份。现在就备份。我是认真的。就我而言,我将整个文件系统的文件级转储到 Windows 机器上,然后对其进行 AV 扫描 - 发现了病毒。对驱动器进行映像处理会更有趣,但对远程 VPS 进行映像处理似乎在当时是一件痛苦的事情。
重新安装你的操作系统。是的,这很麻烦,但你不知道做了什么。
设置远程访问正确的方式。设置基于密钥的身份验证。禁用通过 ssh 的 root 访问。使用非标准端口。如果需要,请安装 fail2ban 并进行设置。
现在,让我们讨论一下调查。根据您运行的 Linux 版本,您可能可以追踪攻击者连接的 IP 地址。其完全由于攻击者可能正在使用另一个受感染的系统,因此它毫无用处,但如果您想在防火墙处暂时阻止他,它可能很方便。您需要对 redhatealikes 中的 /var/log/audit/audit.log 和基于 ubuntu 的发行版中的 /var/log/auth.log 中的条目进行排序 - grep 可能有效,但解释如何做到这一点又是另一本书了。
您还可以使用它来查找攻击者何时进入,并检查当时更改了哪些文件 -这个 U&L 问题似乎是一个很好的开始。
事实上,这是一个明显复制粘贴的脚本,这表明攻击者的技术并不高超。这很好,因为造成的损害有限,但不好的是,他可能实际上不知道他的所有工具都有什么用处。
答案2
它会将您连接到变量中定义的 IRC 服务器$server
,进入频道#ddos
并接受数组中定义的任何命令@admins
。
事实上,由于有一个mail
命令,所以您的 ISP 所说的内容很可能是真实的,因此您很可能成为那些黑客控制的垃圾邮件发送者。
还有许多其他命令允许做很多事情,因为你没有它们实际运行的日志文件,我会认为那台机器不可靠并重新安装它(不过,我会先研究一下你是如何被黑客入侵的),因为它们甚至有一个要运行的命令任何shell 命令。
您可以先关闭网络接口,这样就不会造成任何损害,然后您就可以本地进入并尝试找出发生了什么。