chkrootkit说/ sbin / init被感染了,这是什么意思?

我最近运行chkrootkit并得到以下行:

 Searching for Suckit rootkit... Warning: /sbin/init INFECTED 

这究竟是什么意思? 我听说这是误报,究竟发生了什么。

谢谢,麻烦您了。

这可能是误报,因为chkrootkit中存在一个错误(据说在后来的版本0.50-3ubuntu1中修复)。 显然chkrootkit没有进行足够严格的检查。

请参阅: https : //bugs.launchpad.net/ubuntu/+source/chkrootkit/+bug/454566

另外你可以试试类似于chkrootkit的rkhunter。

更多信息:幸运的是,运行文件`chkrootkit`告诉我们chkrootkit只是一个shell脚本,所以我们可以直接检查它。

 Searching for Suckit in the file /usr/sbin/chkrootkit we find: ### Suckit if [ -f ${ROOTDIR}sbin/init ]; then if [ "${QUIET}" != "t" ];then printn "Searching for Suckit rootkit... "; fi if [ ${SYSTEM} != "HP-UX" ] && ( ${strings} ${ROOTDIR}sbin/init | ${egrep} HOME || \ cat ${ROOTDIR}/proc/1/maps | ${egrep} "init." ) >/dev/null 2>&1 then echo "Warning: ${ROOTDIR}sbin/init INFECTED" else if [ -d ${ROOTDIR}/dev/.golf ]; then echo "Warning: Suspect directory ${ROOTDIR}dev/.golf" else if [ "${QUIET}" != "t" ]; then echo "nothing found"; fi fi fi fi 

关键是:

 cat ${ROOTDIR}/proc/1/maps | ${egrep} "init." 

从最近的Ubuntu版本开始,运行该命令会产生一些输出(需要以root或sudo身份运行):

 # sudo cat /proc/1/maps | egrep "init." b78c2000-b78db000 r-xp 00000000 08:02 271571 /sbin/init (deleted) b78db000-b78dc000 r--p 00019000 08:02 271571 /sbin/init (deleted) b78dc000-b78dd000 rw-p 0001a000 08:02 271571 /sbin/init (deleted) 

但是,这不是rootkit的感染。 我还查看了rkhunter代码,检查更加严格(测试rootkit安装的各种其他文件)。

我在chkrootkit文件中更改了行1003,1004,不检查执行/ proc / 1 / maps的检查(记得先复制一份)

 if [ ${SYSTEM} != "HP-UX" ] && ( ${strings} ${ROOTDIR}sbin/init | ${egrep} HOME ) \ >/dev/null 2>&1 

关于Kubuntu 13.04截至2013-07-31

运行:

 cat /sbin/init | egrep HOME 

生产:

 Binary file (standard input) matches 

运行:

 cat /proc/1/maps | egrep "init." 

产生NO输出。

注意:删除句点会产生输出(将“init。”更改为“init”)

 b7768000-b779f000 r-xp 00000000 08:02 399192 /sbin/init b779f000-b77a0000 r--p 00036000 08:02 399192 /sbin/init b77a0000-b77a1000 rw-p 00037000 08:02 399192 /sbin/init 

因此在我看来,检查HOME的部分是问题所在。

如果可以假设rkhunter有一个有效的检查,那么也许简单的路径只是从chkrootkit中删除这一部分并运行rkhunter和chkrootkit?