rkhunter azt mondja fertőzött a gépem :-(

Fórumok

Igaz ezt csak emailben közli.
Please inspect this machine, because it may be infected.

Aztán manuálisan volt egy:
# rkhunter --update
[ Rootkit Hunter version 1.4.0 ]

Checking rkhunter data files...
Checking file mirrors.dat [ No update ]
Checking file programs_bad.dat [ No update ]
Checking file backdoorports.dat [ No update ]
Checking file suspscan.dat [ No update ]
Checking file i18n/cn [ No update ]
Checking file i18n/de [ No update ]
Checking file i18n/en [ No update ]
Checking file i18n/tr [ No update ]
Checking file i18n/tr.utf8 [ No update ]
Checking file i18n/zh [ No update ]
Checking file i18n/zh.utf8 [ No update ]
Viszont az adatbázisokból nem derül ki hogy mikoriak.

Ezután volt egy:
# rkhunter --propupd
# rkhunter -c és semmi fertőzöttet nem talált csak egy figyelmeztetést,
Checking for hidden files and directories [ Warning ]
Ez meg speciel az /etc/.updated melynek tartalma a következő:

This file was created by systemd-update-done. Its only
purpose is to hold a timestamp of the time this directory
was updated. See systemd-update-done.service(8).

Illetve van egy error is:

Checking for a system logging configuration file [ Not found ]
Error: Invalid display - keyword cannot be found: Display line: display --to SCREEN+LOG --type PLAIN --result FOUND --color GREEN --log-indent 2 --screen-indent 4 SYSTEM_CONFIGS_SYSLOG_SYSTEMD_JOURNAL

Örülnék ha nem terjesztene rémhíreket.

Hozzászólások

Nem terjeszt rémhíreket. Figyel arra, ha valami változott a gépeden, amire érdemes lehet odafigyelni. Teszem azt, létrejön egy új felhasználó.

tr '[:lower:]' '[:upper:]' <<<locsemege
LOCSEMEGE

Na de farkast kiált egy rendszer szegmensre. A hiba meg nem fertőzést jelent.

Mert nem azt közli a mail-ben hogy warning, hanem hogy infected. Jelentős különbség.
Pedig az /etc/rkhunter.conf-ban azt állítottam be hogy MAIL_ON_WARNING=name@local.host
S nincs # jel a MAIL_CMD=mail /s "[rkhunter] Warnings found for ${HOST_NAME}"

Tehát számomra ez rémhír. Hiszen minden egyes nap lefut, minden egyes nap ugyanezt közli, s én minden egyes nap kézzel is lefuttassam hogy lássam nincs gond, "csak" az 1 db warning?

Most belenéztem az rkhunter.cronjob logjába is, és azok az adatbázisok amiről beszéltem eggyel feljebb, hát mit mondjak. 2007-es a legrégebbi, idei nincs is. Ráadásul az 1.3-as változat adatait tölti le, holott én frissítettem 1.4-re manuálisan.
Nem tudom számít-e de maga csomag is 1.4:
# rpm -qa | grep rkhunter
rkhunter-1.4.0-7.mga5

Sajnos egyelőre nem találtam meg hogy mi határozza meg honnan szedje le az adatbázisokat.

És mit ad Isten létezik: http://rkhunter.sourceforge.net/1.4/backdoorports.dat mégis az 1.3-asat tölti le állandóan.
Itt valami gáz van.

Az adatbázisát te állíthatod össze. Figyelmedbe ajánlom a "may be" szókapcsolatot, így tehát nem rémhír ez. Ha azt mondom egy köhögő emberre, fertőzött lehet, azzal még nem állítottam azt, hogy ő fertőzött, de még csak azt sem, hogy egyáltalán beteg.

tr '[:lower:]' '[:upper:]' <<<locsemege
LOCSEMEGE

Akkor kérlek világosíts fel, mert a manban nem találom.
Most a man szerint futtatom ezt:

# rkhunter --versioncheck
[ Rootkit Hunter version 1.4.0 ]

Checking rkhunter version...
This version : 1.4.0
Latest version: 1.4.2
Update available

Gondolom akkor jön részemről az

# rkhunter --update

Ezt kapom:

# rkhunter --update
[ Rootkit Hunter version 1.4.0 ]

Checking rkhunter data files...
Checking file mirrors.dat [ No update ]
Checking file programs_bad.dat [ No update ]
Checking file backdoorports.dat [ No update ]
Checking file suspscan.dat [ No update ]
Checking file i18n/cn [ No update ]
Checking file i18n/de [ No update ]
Checking file i18n/en [ No update ]
Checking file i18n/tr [ No update ]
Checking file i18n/tr.utf8 [ No update ]
Checking file i18n/zh [ No update ]
Checking file i18n/zh.utf8 [ No update ]

No de ha van egyszer update akkor miért nem frissíti? Tényleg nem értem.

Nézzük tovább. Azt írja a man:
rkhunter uses a configuration file, named rkhunter.conf.
Ez a fájl nálam az /etc/ mappában található, és nincs benne semmiféle ftp vagy webcím. Akkor honnan szedi le az új adatbázist.

man rkhunter --update
Nagy vonalakban azt írja hogyha jól értem, ez az opció hivatott arra, hogy ellenőrizze van-e újabb adatfájl.
Azt javasolja hogy ez rendszeresen fusson le a cronban. Igen ez elvileg be is van állítva. Gondolom a disztró fejlesztői megoldották ezt. S igen jó ha fel van telepítve a wget vagy lynx amivel le tudja majd szedni. (Mind a kettő fent van)
Az /etc/cron.daily-ban van is egy rkhunter parancs mely egy igen hosszú sort tartalmaz, tele opcióval.

Ergo itt minden rendben.
A script naponta lefut és ellenőrzi hogy van-e újabb adatfájl, s ha igen azt letölti, és azt használva kapásból le is ellenőrzi a rendszert.

Jól értem?

Most akkor manuálisan elindítom itt a cronban lévőt így az /etc/cron.daily mappában állva: ./rkhunter hogy kimondottam ez a script fusson le, és ne a bináris parancs.

....
Gőzöm nincs hogy mit csinál, mert csak a nagy semmit látom egyelőre. gondolom dolgozik, és majd kidobja az eredményt.
Megjött a prompt, és ezt kaptam:

Error: Invalid display - keyword cannot be found: Display line: display --to SCREEN+LOG --type PLAIN --result FOUND --color GREEN --log-indent 2 --screen-indent 4 SYSTEM_CONFIGS_SYSLOG_SYSTEMD_JOURNAL
Warning: Hidden file found: /etc/.updated: ASCII text

Most komolyan ez fertőzést jelent? Nem írja sehol hogy infected.

S lássuk mi érkezett a rendszer levéltárba:

From: root
To: nextra@asus.home
Subject: [rkhunter] Warnings found for asus
Date: Thu, 02 Jul 2015 15:36:49 +0200
User-Agent: Heirloom mailx 12.4 7/29/08

Please inspect this machine, because it may be infected.

Még egyszer kérdezem, miért nem azt küldte a levélben, amit kinyomott a promptban?
Hiszen egy Error-ra meg egy Warningra nem fogom összecsinálni magam, de egy infectedre belém bújik a félsz.

És keresni kezdem a problémát és nem találom. S így már nem is értem.

Nézzük a legújabb rkhunter-cronjob.logot

# cat rkhunter-cronjob.log | tail -n 19
[15:36:49]
[15:36:49] System checks summary
[15:36:49] =====================
[15:36:49]
[15:36:49] File properties checks...
[15:36:49] Files checked: 134
[15:36:49] Suspect files: 0
[15:36:49]
[15:36:49] Rootkit checks...
[15:36:49] Rootkits checked : 296
[15:36:49] Possible rootkits: 0
[15:36:49]
[15:36:49] Applications checks...
[15:36:49] Applications checked: 3
[15:36:49] Suspect applications: 0
[15:36:49]
[15:36:49] The system checks took: 2 minutes and 28 seconds
[15:36:49]
[15:36:49] Info: End date is 2015. júl. 2., csütörtök, 15.36.49 CEST

Akárhogy is mondod, félrevezet. Farkast kiált én megijedek, mindent átnézek, sehol a farkas, S ha ezt mindig így teszi a későbbiekben már nem foglalkozom vele, és ha tényleg valóban lesz majd egy fertőzés akkor így jártam.

Az update nem fogja magat az rkhuntert frissiteni, legfeljebb az adatbazisat. Amugy a mirrors.dat tartalmazza, honnan huzza ezeket, de be is van drotozva a scriptbe mirrorkent a sourceforge. A scriptbe belenezve lathatod, hogy ha akar egy warningot is talalt, akkor mar kiirja az ominozus uzenetet syslogba vagy a kuldott levelbe. A konfigfileban keress ALLOWHIDDENFILE opciora, es lon vilagossag!

Látom ti nem is figyeltek. Soha nem írtam arról hogy a programot miért nem frissíti. Arról írtam hogy az adatbázist miért nem.
Hiszen az én verzióm az 1.4-es és az 1.3-as adatbázisát használja.
Ez világosan látszik a logokból.

Megnéztem az ALLOWHIDDENFILE részre. világosabb nem lett tőle a szobában, hiszen itt csak "fehér listára" tudom tenni a jelenlegi Warningot, de arról nem szól egy sor sem, ha Warning akkor az fertőzés.

Mindenesetre most megadtam neki, hogy ezután legalább emiatt ne kiabáljon.

Nem. Nem keverem össze.

Tudom hogy ez van feltelepítve mint program.

# rpm -qa | grep rkhunter
rkhunter-1.4.0-7.mga5

A parancs maga is tudatja.
# rkhunter --version
Rootkit Hunter 1.4.0

stb....

És most figyelj. Adatbázis frissítés:

# rkhunter --update
[ Rootkit Hunter version 1.4.0 ]

Checking rkhunter data files...
Checking file mirrors.dat [ No update ]
Checking file programs_bad.dat [ No update ]
Checking file backdoorports.dat [ No update ]
Checking file suspscan.dat [ No update ]
Checking file i18n/cn [ No update ]
Checking file i18n/de [ No update ]
Checking file i18n/en [ No update ]
Checking file i18n/tr [ No update ]
Checking file i18n/tr.utf8 [ No update ]
Checking file i18n/zh [ No update ]
Checking file i18n/zh.utf8 [ No update ]

Jó szerinte nincs mit frissíteni. Akkor nézzük a logot.

12:38:22] Info: Executing download command '/bin/wget -q -O /var/lib/rkhunter/tmp/rkhunter.upd.FHrmX3xaRH http://rkhunter.sourceforge.net/1.3/backdoorports.dat 2>/dev/null'
[12:38:22] Info: This version : 2010111401
[12:38:22] Info: Latest version: 2010111401
[12:38:22] Checking file backdoorports.dat [ No update ]

S itt látható hogy az 1.3-as adatbázisát használja.

De most direkt manuálisan megnézem hogy mi a helyzet itt:

http://rkhunter.sourceforge.net/1.4/backdoorports.dat

A fájl létezik. Igaz ugyanaz mint az 1.3-asé. Legalábbis ez a backdoorports.dat. A többivel nem tudom mi a helyzet.

Sajnálom, de én ezen sem tudok dűlőre jutni. Mint ahogyan azon sem, hogyha manuálisan indítom a cronban lévő rkhunter parancsot akkor Warningot ad, de a levélben már fertőzést emleget. Pontosan ugyanazt a Warningot kellett volna emailben is elküldeni.
Egy Figyelmeztetés SOHA nem lehet FERTŐZÉS!

A figyelmet köszönöm.

Egy Figyelmeztetés SOHA nem lehet FERTŐZÉS!

Miért nem? Mert te a szobád falára a házirend egyik pontjába beleírtad, s kitűzted? :)

Szerk.: Látom, a szövegértés nem erősséged. Mondok két mondatot:

1. A balesetet szenvedett ember keze eltörött.

2. A balesetet szenvedett ember keze lehet, hogy eltörött.

Az első esetben egy törött kézről van szó. A második esetben pedig arról, hogy vélelmezünk valamit, ami lehet, hogy úgy van. Vagy nem.

Az rkhunter azt írja, lehet, hogy fertőzött a géped. Szerintem azért írja ezt, mert az rpm -V az rpm adatbázisban tárolt ellenőrző összegekhez képest eltérést talált futtatható bináris file-okból számolt ellenőrző összegekben. Ez két oknál fogva fordulhat elő:

- a prelink módosította a binárist, ekkor nincs baj
- kártékony kód miatt módosítva lettek egyes binárisok, ekkor baj van

Érted már, miért feltételes módban fogalmaz? Mert gyanús a változás, de nem kizárólag kártékony kód futásának lehet következménye, tehát nem biztos, hogy baj van. Ámbátor lehet. :)

tr '[:lower:]' '[:upper:]' <<<locsemege
LOCSEMEGE

"És mit ad Isten létezik: http://rkhunter.sourceforge.net/1.4/backdoorports.dat mégis az 1.3-asat tölti le állandóan."

Döbbenet...


if [ "${MIRROR}" = "http://rkhunter.sourceforge.net" ]; then
				MIRROR="${MIRROR}/1.3"
			fi

Tele van kicsit hányás módon hardkódolt dolgokkal. Majd egy hozzáértő megmondja, de szerintem az egész így elég pitty-putty.

Amúgy vasztoltam, és az 1.4 egy link az 1.3-ra, ergo ugyanazok vannak benne. És kósza emlékeim szerint az ilyen rkhunt dolgok úgy csinálják, hogy ha gyanús helyen gyanús fájl/könyvtár jelenik meg, akkor sápítoznak, és kézimunkázni kell. Értse mindenki kedve szerint.

Mivel használom az rkhunter-t, megnéztem, nálam mi a helyzet.

1. A cron.daily-ből napi ütemezéssel indul.

2. A script alacsony prioritással - 10-es nice - indítja előbb a --update opcióval...

3. ... aztán a --cronjob --nocolors --report-warnings-only opciókkal, amely a tényleges vizsgálat.

4. Ideiglenes file-ba logot ír, amit mailben elküld nekem az ellenőrzést követően, ha a vizsgálat visszatérési értéke nullától különböző.

5. Hasznos a /etc/rkhunter.conf file tanulmányozása, igény szerinti módosítása. Egy példa. Belenéz az sshd_config file-ba, s ha módosítottál a PermitRootLogin értékén, illetve az rkhunter konfigja másra számít, mint ami az sshd_config-ban van, sikítani fog, tehát az ALLOW_SSH_ROOT_USER értékét tessék igény szerint beállítani!

6. A PKGMGR is legyen beállítva. Most figyelj! Használsz prelink-et? Mert ha igen, megváltozhatnak a binárisaid, ami miatt az rpm -V konzisztencia vizsgálatnál ellenőrző összeg hibák fognak keletkezni bináris file-oknál, amely épp úgy fog kinézni, mintha gonosz halászok - hekkerek :) - felnyomták volna a géped. Fedorán éppen ezért alapértelmezetten már nem telepítik a prelinket.

7. Amikor úgy gondolod, rendben van a géped, futtass egy rkhunter --propupd parancsot, ezzel rögzítve egy aktuális állapotot, amelyhez képest sikongat változások esetén. Például, ha új felhasználó jön létre, sikít.

tr '[:lower:]' '[:upper:]' <<<locsemege
LOCSEMEGE

Please inspect this machine, because it may be infected.

Szerintem javítsd ki a címet. A fenti mondat nem azt jelenti, hogy fertőzött a géped, hanem azt, hogy lehet, hogy fertőzött a géped. Az rkhunter nem állította, hogy fertőzött.

tr '[:lower:]' '[:upper:]' <<<locsemege
LOCSEMEGE

Nekem is hasonló a problémám, hogy fertőzöttséget jelez az rkhunter. Viszont egy másik serveren nem. Kérdésem, ha a fertőzött fileokat felül írom a jó szerveren lévő fileokkal, akkor megoldottam a problémát, vagy más lesz a megoldás?

Igen, ezért is írtam hozzá ilyen megjegyzést, mert nem igazán tudom, hogy valójában most mi történt :)

A lényeg, hogy ha lefuttatom a "rkhunter -c" parancsot, akkor több helyen "warning" jelzést kapok, illetve e-mail figyelmeztetést.

pl:
/usr/sbin/adduser [ Warning ]
/usr/bin/ldd [ Warning ]
/usr/bin/lwp-request [ Warning ]
/bin/which [ Warning ]
/etc/rkhunter.conf [ Warning ]

Checking for backdoor ports [ Warning ]

Checking version of GnuPG [ Warning ]
Checking version of OpenSSL [ Warning ]
Checking version of OpenSSH [ Warning ]

A log: http://jpst.it/A79l

Előre is köszi!

És megnézted, hogy a logban foglaltak mennyire igazak?

Nézzük sorban.

1.)


[13:16:54] File: /etc/rkhunter.conf
[13:16:54] Current hash: efe9a35714650dbc59e90fd9602282f42886f03e
[13:16:54] Stored hash : 4e31d13994f1229963cbfef050596bfe7a9282bd
[13:16:54] Current size: 44607 Stored size: 44608
[13:16:54] Current file modification time: 1436695227 (12-júl-2015 12:00:27)
[13:16:54] Stored file modification time : 1436473981 (09-júl-2015 22:33:01)

Te módosítóttad 2015.07.12. 12:00:27-kor az rkhunter konfigját?
Ha igen, akkor futtattál utána update-et?

2.)


[13:16:32] /usr/sbin/adduser [ Warning ]
[13:16:32] Warning: The command '/usr/sbin/adduser' has been replaced by a script: /usr/sbin/adduser: Perl script, ASCII text executable

[13:16:39] /usr/bin/ldd [ Warning ]
[13:16:39] Warning: The command '/usr/bin/ldd' has been replaced by a script: /usr/bin/ldd: Bourne-Again shell script, ASCII text executable

[13:16:45] /usr/bin/lwp-request [ Warning ]
[13:16:45] Warning: The command '/usr/bin/lwp-request' has been replaced by a script: /usr/bin/lwp-request: Perl script, ASCII text executable

[13:16:53] /bin/which [ Warning ]
[13:16:53] Warning: The command '/bin/which' has been replaced by a script: /bin/which: POSIX shell script, ASCII text executable

Mit tudsz ezekről? Belenéztél? Volt mostanában ezekre a csomagokra frissítés?
Ha igen, akkor futtattál utána update-et?

Egyébként ezek nincsenek felsorova SCRIPTWHITELIST-ként az rkhunter konfigjában? Mert a default konfigban így vannak.


# Allow the specified commands to be scripts.
#
# This is a space-separated list of filenames. The option may
# be specified more than once. The option may use wildcard
# characters.

3.)


[14:08:30] Checking for TCP port 1524 [ Found ]
[14:08:30] Warning: Network TCP port 1524 is being used by /usr/sbin/portsentry. Possible rootkit: Possible FreeBSD (FBRK) Rootkit backdoor
Use the 'lsof -i' or 'netstat -an' command to check this.

[14:08:30] Checking for TCP port 6667 [ Found ]
[14:08:30] Warning: Network TCP port 6667 is being used by /usr/sbin/portsentry. Possible rootkit: Possible rogue IRC bot
Use the 'lsof -i' or 'netstat -an' command to check this.

[14:08:31] Checking for TCP port 31337 [ Found ]
[14:08:31] Warning: Network TCP port 31337 is being used by /usr/sbin/portsentry. Possible rootkit: Historical backdoor port
Use the 'lsof -i' or 'netstat -an' command to check this.

[14:08:32] Checking for backdoor ports [ Warning ]

Amennyiben használod a portsentryt ezeken a portokon, akkor az rkhunterrel tudattad, hogy ezeket a portokat ne vizsgálja?

4.)


[14:08:38] Checking version of GnuPG [ Warning ]
[14:08:38] Warning: Application 'gpg', version '1.4.12', is out of date, and possibly a security risk.

[14:08:38] Checking version of OpenSSL [ Warning ]
[14:08:38] Warning: Application 'openssl', version '1.0.1e', is out of date, and possibly a security risk

[14:08:38] Checking version of OpenSSH [ Warning ]
[14:08:38] Warning: Application 'sshd', version '6.0p1', is out of date, and possibly a security risk.

Debian Wheezyről van szó, amely mint tudjuk, több mint egy éve oldstable állapotú, és abban pontosan a felsorolt verziójú csomagok vannak (gnupg, openssl, openssh-server). Ha elolvasod, akkor ott van az elavult mellett a "possibly" szó is.

Biztos nyomós oka van, hogy "jessie" helyett még mndig "wheezy"-t használsz, de ezt lassan át kellene gondolni, vagy az rkhuntert beállítani.

Szia, köszönöm a részletes segítséget! :)!
1.
Igen én bele nyúltam és futtattam a "rkhunter --propupd" parancsot, de ennek ellenére nem hagyja jóvá.

2. Nincs, és elvileg hagyományosan update-eltem a Debian-nt. Mondjuk a másik serveremen a rkhunter minden frissítésnél jelentkezik és ellenőrzi a frissítéseket, amit nem igazán értem, hogy hogyan csináltam, mondjuk ez érdekelne ezen a szerveren is ez a beállítás.

3. Igen használok:
Gondolom ez elég: PORT_WHITELIST="TCP:1524 TCP:6667 TCP:31337"

4. Egy saját kis webhostingom fut a szerveren, amit nagyon nem szeretnék újra telepíteni egy esetleges frissítési hibánál. Így ameddig lehet marad ez a verzió.
Kérdésem, hogy hogyan lehetne ezeket a fileokat is megfeleltetni a rkhunternek és miért nem jelez be a másik szerver?

Ő Debiant használ, és ott az "--update" a weekly-ből fut, a daily csak ellenőriz és jelentést gyárt.


# grep -r -- '--update' /etc/cron.*
/etc/cron.weekly/rkhunter:                        $RKHUNTER --update --nocolors --appendlog
/etc/cron.weekly/rkhunter:                        $RKHUNTER --update --appendlog 1>/dev/null 2>>$OUTFILE
#

De szerintem amikor azt említette, hogy "a másik serveremen a rkhunter minden frissítésnél jelentkezik és ellenőrzi a frissítéseket", akkor inkább az rkhunternek az apt konfigrészletére célozhatott, ami csomagmozgásnál hívódik meg a /etc/default/rkhunter-ben bállított APT_AUTOGEN, illetve a /etc/rkhunter.conf.local és /etc/rkhunter.conf ENABLE_TESTS és DISABLE_TESTS értékei szerint:


# cat /etc/apt/apt.conf.d/90rkhunter
// Makes sure that rkhunter file properties database is updated after each remove or install only APT_AUTOGEN is enabled
DPkg::Post-Invoke { "if [ -x /usr/bin/rkhunter ] && grep -qiE '^APT_AUTOGEN=.?(true|yes)' /etc/default/rkhunter; then /usr/share/rkhunter/scripts/rkhupd.sh; fi" }
#


# cat /usr/share/rkhunter/scripts/rkhupd.sh
#!/bin/sh
set -e

if ! grep -qsE '^DISABLE_TESTS=.*(hashes.*attributes|attributes.*hashes|properties)' /etc/rkhunter.conf{.local,} || \
     grep -qsE '^ENABLE_TESTS=.*(hashes|attributes|properties)' /etc/rkhunter.conf{.local,}; then
         rkhunter --propupd --nolog
fi
#

/etc/default/rkhunter:


# Set this to yes to enable automatic database updates
# (default: false)
APT_AUTOGEN=""

Ezért úgy gondolom, inkább a /etc/default/rkhunter a 2. és az 1. pont kulcsa.

Fedorán már nem támogatott a prelink, de nálam még volt, mert upgrade-eltem, mintha rolling release volna. Miután leszedtem a prelinket,

dnf erase prelink

az rkhunter zaklatott, hogy nem stimmelnek a fileméretek binárisok esetén. Amit én tettem:

A hibaüzenetek alapján megkerestem, mely csomagokban vannak az adott binárisok, például:

rpm -qf `which find`
findutils-4.5.14-3.fc22.x86_64

Utána ezeket a csomagokat újra telepítettem (root joggal):

dnf reinstall findutils coreutils gawk

Ezt követően root-ként:

rkhunter --propupd
rkhunter --check

tr '[:lower:]' '[:upper:]' <<<locsemege
LOCSEMEGE