chkrootkit mówi / sbin / init jest zainfekowany, co to znaczy?

30

Niedawno pobiegłem chkrootkiti otrzymałem następujący wiersz:

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

Co to dokładnie znaczy? Słyszałem, że to był fałszywy pozytyw, co się dokładnie dzieje.

Proszę i dziękuję.

myusuf3
źródło

Odpowiedzi:

34

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
Simon B.
źródło
4
Dotyczy to wersji 0.49 zainstalowanej przez apt-get. Wygląda na to, że chkrootkit 0,50 (dostępny bezpośrednio z chkrootkit.org ) naprawia ten fałszywie dodatni.
Quog
jeśli chcesz wiedzieć, która wersja jest dostarczana z twoim ubuntu, zobacz: packages.ubuntu.com/search?ke
Édouard Lopez
Ponieważ pojawiło się to podczas wyszukiwania, chciałem wspomnieć, że jest tu kolejna dyskusja z dodatkowymi informacjami: askubuntu.com/questions/597432/...
Cody Sharp
2

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?

użytkownik180342
źródło
1
Mam to samo na Ubuntu 14.04 32 bit. Jeśli spróbuję strings /sbin/init | grep HOME, dostanę, XDG_CACHE_HOME and XDG_CONFIG_HOMEczy nadal jest to fałszywy alarm? Do czego służy wyszukiwanie ciągu „HOME” w katalogu / sbin / init? Dlaczego to powinno być pozytywne?
rubo77