Odpowiedzi:
Prawdopodobnie jest to fałszywy alarm, ponieważ w chkrootkit jest błąd (rzekomo naprawiony w późniejszej wersji 0.50-3ubuntu1). Najwyraźniej chkrootkit nie wykonuje wystarczająco rygorystycznej kontroli.
Zobacz: https://bugs.launchpad.net/ubuntu/+source/chkrootkit/+bug/454566
Dodatkowo możesz wypróbować rkhunter podobny do chkrootkit.
Więcej informacji: Na szczęście uruchomienie pliku `który chkrootkit` pokazuje nam, że chkrootkit to tylko skrypt powłoki, więc możemy go sprawdzić bezpośrednio.
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
Kluczowa linia to:
cat ${ROOTDIR}/proc/1/maps | ${egrep} "init."
Od najnowszych wersji Ubuntu uruchomienie tego polecenia generuje pewne dane wyjściowe (należy je uruchomić jako root lub 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)
Jednak nie jest to infekcja rootkitem. Zajrzałem również do kodu rkhunter, a kontrole są znacznie bardziej rygorystyczne (testowanie pod kątem wszelkiego rodzaju dodatkowych plików instalowanych przez rootkita).
Zmieniłem wiersze 1003,1004 w pliku chkrootkit, aby nie sprawdzać wykonywania sprawdzania / proc / 1 / map (pamiętaj, aby najpierw zrobić kopię)
if [ ${SYSTEM} != "HP-UX" ] && ( ${strings} ${ROOTDIR}sbin/init | ${egrep} HOME ) \
>/dev/null 2>&1
Na Kubuntu 13.04 z dnia 2013-07-31
Bieganie:
cat /sbin/init | egrep HOME
Produkuje:
Binary file (standard input) matches
I
Bieganie:
cat /proc/1/maps | egrep "init."
Nie wytwarza wyjścia.
Uwaga: Usunięcie kropki daje wynik (zmiana „init.” Na „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
Wydaje mi się więc, że problemem jest sprawdzenie części HOME.
Jeśli można założyć, że rkhunter ma prawidłową kontrolę, być może łatwą drogą jest po prostu usunięcie tej sekcji z chkrootkit i uruchomienie zarówno rkhunter, jak i chkrootkit?
strings /sbin/init | grep HOME
, dostanę, XDG_CACHE_HOME and XDG_CONFIG_HOME
czy nadal jest to fałszywy alarm? Do czego służy wyszukiwanie ciągu „HOME” w katalogu / sbin / init? Dlaczego to powinno być pozytywne?