删除 perl rootkit 的痛苦

pau*_*ago 8 security linux rootkit process perl

所以,我们在办公室托管了一个地理服务网络服务器。

显然有人闯入了这个盒子(可能是通过 ftp 或 ssh),并放入了某种 irc 管理的 rootkit 东西。

现在我正在尝试清理整个事情,我找到了试图通过 irc 连接的进程 pid,但我无法弄清楚谁是调用进程(已经用 ps、pstree、lsof 看过)该进程是一个 perl www 用户拥有的脚本,但 ps aux |grep 在最后一列显示假文件路径。

是否有另一种方法来跟踪该 pid 并捕获调用者?

忘了说:内核是2.6.23,可以利用成为root,但是我不能太接触这台机器,所以我不能升级内核

编辑:lsof 可能有帮助:

lsof -p 9481
命令 PID 用户 FD 类型设备大小节点名称 ss
perl 9481 www cwd DIR 8,2 608 2 /ss
perl 9481 www rtd DIR 8,2 608 2 /ss
perl 9481 www, txt 2838usr /s斌/ perl5.8.8ss
perl的WWW 9481 REG MEM 8,2 135348 23286 /lib64/ld-2.5.soss
perl的WWW 9481 REG MEM 8,2 103711 23295 /lib64/libnsl-2.5.soss
perl的WWW 9481 REG MEM 8,2 19112 23292 /lib64/libdl-2.5.soss
perl 9481 www mem REG 8,2 586243 23293 /lib64/libm-2.5.soss
perl 9481 www mem REG 8,2 27041/libss-2641/lib2641
perl 9481 www mem REG 8,2 14262 23307 /lib64/libutil-2.5.soss
perl 9481 www mem REG 8,2 128642 23303 /lib64/libpthread-2.5.soss
perl 941661 / libutil-2.5.soss perl 94861 www me08c8282 -2.5.soss
perl 9481 www mem REG 8,2 19256 38662 /usr/lib64/perl5/5.8.8/x86_64-linux-threa d-multi/auto/IO/IO.soss
perl 9481 www mem REG 8,2 213 38877 /usr/lib64/perl5/5.8.8/x86_64-linux-threa d-multi/auto/Socket/Socket.soss
perl 9481 www mem REG 8,2 52512 23298 /lib64/libnss_files-2.5.9481
perl www r FIFO 0,5 1068892 管道
perl 9481 www 1w FIFO 0,5 1071920 管道
perl 9481 www 2w FIFO 0,5 1068894 管道
perl 9481 www 3u IPv4 130646198 TCP 192.168.90.7:60321->www.****.net:ircd (SYN_SENT)

Are*_*tar 38

如果我能给你任何建议,那就是不要再浪费时间打扫卫生了。为以后的取证内容制作操作系统的映像,然后重新安装服务器。

抱歉,但这是解决自己被 rootkit 感染的唯一安全方法。

稍后您可以检查图像,出于某些原因,它发生的原因。

根据我个人的经验,我是这样做的,后来发现一个内部用户在 2008 年有一个包含 openssl 缺陷的 SSH 密钥。

我希望,它清除了事情。

注意:
如果你要的图像/备份之前重新安装服务器,是非常小心,你是如何做到这一点。正如@dfranke 所说,从受信任的介质启动到备份。

您不应该从有 root 权限的服务器连接到其他机器,因为众所周知,优秀的 rootkit 能够通过受信任的会话(例如 SSH)进行传播。

  • 我强烈支持这个建议。您已经找到了一个 rootkit,但您完全不知道攻击者还篡改了什么。一旦生根,永远生根。从受信任的介质启动,将驱动器清零。Fdisk,格式化,重新安装,doo dah,doo dah。 (11认同)
  • +1 对于任何生产系统(实际上,任何系统)都没有理由进行清洁。用火杀死它并重建。 (4认同)