刪除 perl rootkit 的痛苦
因此,我們在辦公室託管了一個地理服務網路伺服器。
顯然有人闖入了這個盒子(可能通過 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 類型 設備大小 節點名稱
perl 9481 www cwd DIR 8,2 608 2 /ss
perl 9481 www rtd DIR 8,2 608 2 /ss
perl 9481 www txt REG 8,2 1168928 38385 /usr/ bin/perl5.8.8ss
perl 9481 www mem REG 8,2 135348 23286 /lib64/ld-2.5.soss
perl 9481 www mem REG 8,2 103711 23295 /lib64/libnsl-2.5.soss
perl 9481 www mem REG 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 23291 /lib64/libcrypt-2.5.soss
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 9481 www mem REG 8,2 1602809 23289 /lib64/libc -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 21328 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.soss
perl 9481 www 0r 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)
如果我能給你任何建議,那就是停止浪費你的時間清理。為以後的取證製作作業系統映像,然後重新安裝伺服器。
抱歉,這是解決自己被 rootkitted 的唯一安全方法。
稍後您可以檢查圖像,由於某些原因,它發生的原因。
根據我個人的經驗,我是這樣做的,後來發現一個內部使用者的 SSH 密鑰包含 2008 年的 openssl 缺陷。
我希望,它可以解決問題。
注意:
如果您要在重新安裝之前對伺服器進行映像/備份,請非常小心,如何執行此操作。正如@dfranke 所說,從受信任的介質引導到備份。
您不應該從有根伺服器連接到其他機器,因為眾所周知,強大的 rootkit 能夠通過受信任的會話(如 SSH)傳播。