Respostas:
É provável que seja um falso positivo, pois há um erro no chkrootkit (supostamente corrigido em uma versão posterior 0.50-3ubuntu1). Aparentemente, o chkrootkit não executa uma verificação suficientemente rigorosa.
Veja: https://bugs.launchpad.net/ubuntu/+source/chkrootkit/+bug/454566
Além disso, você pode tentar o rkhunter, que é semelhante ao chkrootkit.
Mais algumas informações: Felizmente, a execução do arquivo `what chkrootkit` nos mostra que o chkrootkit é apenas um shell script para que possamos inspecioná-lo diretamente.
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
A linha principal é:
cat ${ROOTDIR}/proc/1/maps | ${egrep} "init."
Desde versões recentes do Ubuntu, executar esse comando produz alguma saída (precisa ser executada como root ou 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)
No entanto, isso não é uma infecção por um rootkit. Também observei o código rkhunter e as verificações são muito mais rigorosas (teste para todos os tipos de arquivos adicionais instalados pelo rootkit).
Alterei as linhas 1003,1004 no arquivo chkrootkit para não verificar a verificação de / proc / 1 / maps (lembre-se de tirar uma cópia primeiro)
if [ ${SYSTEM} != "HP-UX" ] && ( ${strings} ${ROOTDIR}sbin/init | ${egrep} HOME ) \
>/dev/null 2>&1
No Kubuntu 13.04 a partir de 31/07/2013
Corrida:
cat /sbin/init | egrep HOME
Produz:
Binary file (standard input) matches
E
Corrida:
cat /proc/1/maps | egrep "init."
Não produz saída.
Nota: A remoção do período produz saída (alterando "init." Para "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
Portanto, parece-me que a parte que verifica HOME é o problema.
Se alguém puder supor que o rkhunter tenha uma verificação válida, talvez a rota mais fácil seja apenas remover esta seção do chkrootkit e executar o rkhunter e o chkrootkit?
strings /sbin/init | grep HOME
eu recebo XDG_CACHE_HOME and XDG_CONFIG_HOME
é que ainda um falso positivo? Qual é o objetivo de procurar a string "HOME" em / sbin / init? Por que isso deveria ser positivo?