chkrootkit sagt, dass / sbin / init infiziert ist, was bedeutet das?

30

Ich bin kürzlich gelaufen chkrootkitund habe die folgende Zeile erhalten:

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

Was bedeutet das genau? Ich habe gehört, dass das falsch positiv ist, was genau passiert.

Bitte und Dankeschön.

myusuf3
quelle

Antworten:

34

Es ist wahrscheinlich, dass dies falsch positiv ist, da es einen Fehler in chkrootkit gibt (der vermutlich in einer späteren Version 0.50-3ubuntu1 behoben wurde). Anscheinend führt chkrootkit keine ausreichend strenge Prüfung durch.

Siehe: https://bugs.launchpad.net/ubuntu/+source/chkrootkit/+bug/454566

Zusätzlich können Sie rkhunter ausprobieren, das chkrootkit ähnelt.

Weitere Informationen: Glücklicherweise zeigt das Ausführen der Datei `which chkrootkit` , dass chkrootkit nur ein Shell-Skript ist, sodass wir es direkt überprüfen können.

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

Die Schlüsselzeile lautet:

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

Seit den letzten Versionen von Ubuntu erzeugt das Ausführen dieses Befehls eine Ausgabe (muss als root oder sudo ausgeführt werden):

# 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)

Dies ist jedoch keine Infektion durch ein Rootkit. Ich habe mir auch den rkhunter-Code angeschaut und die Prüfungen sind weitaus strenger (Prüfung auf alle möglichen zusätzlichen Dateien, die vom Rootkit installiert wurden).

Ich habe die Zeilen 1003, 1004 in der chkrootkit-Datei geändert, um die Überprüfung von / proc / 1 / maps nicht durchzuführen. (Denken Sie daran, zuerst eine Kopie zu erstellen.)

if [ ${SYSTEM} != "HP-UX" ] && ( ${strings} ${ROOTDIR}sbin/init | ${egrep} HOME  ) \
             >/dev/null 2>&1
Simon B
quelle
4
Dies gilt für die von apt-get installierte Version 0.49. Es sieht so aus, als ob chkrootkit 0.50 ( direkt von chkrootkit.org erhältlich ) dieses falsche Positiv korrigiert .
Quog
Wenn Sie wissen möchten, welche Version mit Ihrem Ubuntu geliefert wird, schauen Sie unter: packages.ubuntu.com/search?keywords=chkrootkit
Édouard Lopez
Da dies bei der Fehlersuche bei der Suche auftrat, wollte ich erwähnen, dass es hier eine weitere Diskussion mit zusätzlichen Informationen gibt: askubuntu.com/questions/597432/…
Cody Sharp
2

Am Kubuntu 13.04 vom 31.07.2013

Laufen:

cat /sbin/init | egrep HOME

Produziert:

Binary file (standard input) matches

UND

Laufen:

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

Erzeugt KEINE Ausgabe.

Hinweis: Durch Entfernen der Periode wird eine Ausgabe erzeugt (Ändern von "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

So scheint es mir, dass der Teil, der HOME überprüft, das Problem ist.

Wenn man davon ausgehen kann, dass rkhunter eine gültige Prüfung hat, besteht der einfache Weg vielleicht darin, diesen Abschnitt aus chkrootkit zu entfernen und sowohl rkhunter als auch chkrootkit auszuführen?

user180342
quelle
1
Ich habe das gleiche auf Ubuntu 14.04 32 Bit. Wenn ich versuche zu strings /sbin/init | grep HOMEbekommen, XDG_CACHE_HOME and XDG_CONFIG_HOMEist das immer noch falsch positiv? Was ist der Zweck der Suche nach der Zeichenfolge "HOME" in / sbin / init? Warum sollte das positiv sein?
Rubo77