Risposte:
È probabile che si tratti di un falso positivo poiché esiste un bug in chkrootkit (presumibilmente corretto in una versione successiva 0.50-3ubuntu1). Apparentemente chkrootkit non esegue un controllo abbastanza rigoroso.
Vedi: https://bugs.launchpad.net/ubuntu/+source/chkrootkit/+bug/454566
Inoltre potresti provare rkhunter che è simile a chkrootkit.
Qualche informazione in più: Fortunatamente, eseguendo il file `quale chkrootkit` ci mostra che chkrootkit è solo uno script di shell in modo da poterlo ispezionare direttamente.
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
La linea chiave è:
cat ${ROOTDIR}/proc/1/maps | ${egrep} "init."
Dalle recenti versioni di Ubuntu, l'esecuzione di quel comando produce un output (è necessario eseguirlo come root o 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)
Tuttavia, questa non è un'infezione da un rootkit. Ho anche esaminato il codice rkhunter e i controlli sono molto più rigorosi (test per tutti i tipi di file aggiuntivi installati dal rootkit).
Ho modificato le righe 1003,1004 nel file chkrootkit per non verificare eseguire il controllo di / proc / 1 / maps (ricordarsi di prendere prima una copia)
if [ ${SYSTEM} != "HP-UX" ] && ( ${strings} ${ROOTDIR}sbin/init | ${egrep} HOME ) \
>/dev/null 2>&1
Su Kubuntu 13.04 a partire dal 2013-07-31
In esecuzione:
cat /sbin/init | egrep HOME
produce:
Binary file (standard input) matches
E
In esecuzione:
cat /proc/1/maps | egrep "init."
Non produce output.
Nota: la rimozione del periodo produce output (cambiando "init." In "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
Quindi mi sembra che la parte che controlla HOME sia il problema.
Se si può supporre che rkhunter abbia un controllo valido, allora forse il percorso facile è semplicemente rimuovere questa sezione da chkrootkit ed eseguire sia rkhunter che chkrootkit?
strings /sbin/init | grep HOME
che ottengo XDG_CACHE_HOME and XDG_CONFIG_HOME
è ancora un falso positivo? Qual è lo scopo della ricerca della stringa "HOME" in / sbin / init? Perché dovrebbe essere positivo?