"Christmas - the time to fix the computers of your loved ones" « Lord Wyrm

[Help]QNAP hijack - Bitcoin Miner

Captain Kirk 08.12.2021 - 12:42 4654 17
Posts

Captain Kirk

Fanboy von sich selbst
Avatar
Registered: Sep 2002
Location: NCC-1701
Posts: 6944
Sers,

hab grad folgende News online gelesen

klick

und bin natürlich prompt davon betroffen.
Wie ich mir den eingefangen habe ist mir ein Rätsel (kenn mich scheinbar doch nicht so aus, wie es sein sollte).
Punkt ist, dass ich es nicht schaffe den Prozess zu killen. (sudo kill 588)
Die Anleitung im Link hilft genau nix. Neustart bringt nix. Malware checker sagt - alles leiwand.

System immer alles up2date
443 hatte ich in Verwendung - nun geändert
admin account deaktiviert (war aktiv aber nicht in Verwendung)
der oom_reaper Prozess läuft als admin

any Tipps?

Viper780

Er ist tot, Jim!
Avatar
Registered: Mar 2001
Location: Wien
Posts: 48757
Grundsätzlich würd ich sagen alles platt machen, config neu erstellen, Daten von einem Sicheren Backup einspielen

Smut

Moderator
takeover & ether
Avatar
Registered: Feb 2003
Location: VIE
Posts: 16603
Falls möglich die Platten raus (Achtung bei Hersteller spezifischen raid configs), NAS reset und Platten wieder einbinden. Birgt halt ein Risiko. Wenn es heikel ist mal abschalten und neues NAS aufbauen und dann gezielt übersiedeln.
Ansonsten vipers Vorschlag wenn ein Backup der Daten existiert.

Captain Kirk

Fanboy von sich selbst
Avatar
Registered: Sep 2002
Location: NCC-1701
Posts: 6944
@Viper: der Vorschlag ist Safe aber org viel hackn.
Backup müsste ich erst erstellen. Die wichtigen (Roh-)Daten hab ich natürlich aber die unwichtigen waren halt trotzdem auch viel Aufwand.
Dh ich müsste mir erstmal storage organisieren.

@smut: ich hab ein raid5 laufen.
läuft das OS bei den qnaps nicht direkt auf den platten?

hab jetzt mal ein support ticket erstellt. muss mal mein backup nas überprüfen.

Viper780

Er ist tot, Jim!
Avatar
Registered: Mar 2001
Location: Wien
Posts: 48757
Backup erstellen?
Das ist jetzt zu spät.

Garbage

Administrator
The Wizard of Owls
Avatar
Registered: Jul 2000
Location: GR.ch|TI.ch
Posts: 11206
Zitat aus einem Post von Captain Kirk
@smut: ich hab ein raid5 laufen.
läuft das OS bei den qnaps nicht direkt auf den platten?
Bei Synology war (ist?) das bei ganz kleinen und günstigen Modellen so, bei QNAP eventuell auch.
Aber alles was etwas besser ist, sprich nicht das allergünstigste 2/4-Bay Modell, hat iirc einen eigenen Speicher am Mainboard wo das OS drauf ist.

Captain Kirk

Fanboy von sich selbst
Avatar
Registered: Sep 2002
Location: NCC-1701
Posts: 6944
ich würd mir halt rein die Daten ziehen.
nas ist ein 672N. also nix kleines.

edit: der qnap ressourcenmonitor sagt, dass der task im Ruhemodus ist und 0% CPU verwendet
edit2: am backup nas ist exakt dasselbe
Bearbeitet von Captain Kirk am 08.12.2021, 13:35

ZARO

Here to stay
Avatar
Registered: May 2002
Location: Wien 22
Posts: 946
Ich glaube, da musst du genauer lesen:

This process mimics a kernel process but its PID is usually greater than 1000.

Habe genauso einen oom_reaper process laufen, der aber PID unter 1000 hat und 0% CPU Leistung verbraucht.
Der Malware Process liegt bei PID über 1000 und mehr CPU Leistung.
Ich glaube, den prozess gibt es standartmässig auf jeder QNAP, malware tarn sich unter dem selben Namen.
Der Malware remover findet auch nichts.

lg

COLOSSUS

Administrator
Frickler
Avatar
Registered: Dec 2000
Location: ~
Posts: 11890
Unter Linux kann sich jeder Prozess den Namen geben, den er (bzw. der Programmierer der Anwendung, aus der der Prozess enstanden ist) moechte. Es gibt typischerweise einen Kernel-Thread, der "oom_reaper" benannt ist, und dafuer zustaendig ist, in Low Memory Conditions so lange andere Prozesse zu erschieszen, bis es dem System wieder besser geht. Falls ihr also nur so in die Prozesstabelle schaut, und dort was mit diesem Namen seht, ist das nicht unbedingt ein Hinweis auf Kompromittierung.

Afaik haben alle Kernel-Threads eine Parent Process ID (PPID) von 2, weil sie von kthreadd erzeugt werden. So sollte man also zweifelsfrei feststellen koennen, ob man es mit dem Kernel Thread oom_reaper, oder der Malware, die diesen Namen traegt (du hast ab dieser Zeile DJ Oetzi im Ohr!), zu tun hat.

Kann man z. B. so rausfinden:

Code:
pgrep oom_reaper | xargs ps -fp
UID          PID    PPID  C STIME TTY          TIME CMD
root          27       2  0 Oct09 ?        00:00:00 [oom_reaper]

Nachdem hier in der PPID-Column 2 zu lesen ist (und `ps` den Namen in eckige Klammern setzt - aber das ist nur ein visueller Hint, auf den man sich hier nicht verlassen kann!) handelt es sich mit an Sicherheit grenzender Wahrscheinlichkeit nicht um diese fiese Malware auf meinem Debian-Host ;)

Captain Kirk

Fanboy von sich selbst
Avatar
Registered: Sep 2002
Location: NCC-1701
Posts: 6944
danke für die Rückmeldungen.
@Zaro: du hast Recht. Ich hab zwar das mit PID größer 1000 hab ich zwar gelesen aber das "usually" war da mE nicht eindeutig.
Ich hab auch schon vom Support folgende Rückmeldung bekommen.
Zitat
wenn der Prozess eine PID > 1000 hat, dann ist es ein Virus.

Wenn < 1000, dann kein Virus.

Bitte stellen Sie als "admin" eine SSH-Verbindung zum NAS her (z.B. Putty --www.putty.org) und geben ein

q: quit (return to normal shell)
y. bestätigen

# n=`netstat -tnp|grep oom_reaper`;n1=${n%%/*};po=${n1#*SHED };b=`readlink /proc/$po/exe`&&kill -9 "$po" 2>/dev/null&&mv "$b" "$b".malware 2>/dev/null; lsof -i|grep 'ESTABLISHED'|awk '{print $2}'|while read px;do m=1048576;b=`readlink /proc/$px/exe` 2>/dev/null&&bs=$(wc -c<$b)&&(($m<$bs))&&(($bs<$m*10))&&grep -q "the UPX" "$b"&&kill -9 "$px" 2>/dev/null&&mv "$b" "$b".malware 2>/dev/null&&break;done; sed -e '/\/usr\/sbin:$PATH;/ s/^#*/#/' -i /etc/config/crontab

Dh. unterm Strich: unnötig gefürchtet (und ich hab doch nix falsch/offen konfiguriert)

xtrm

social assassin
Avatar
Registered: Jul 2002
Location:
Posts: 11893
Also ein guter Zeitpunkt, um ein wertiges Backup zu erstellen ;).

charmin

Super Moderator

Avatar
Registered: Dec 2002
Location: aut_sbg
Posts: 13836
lol das ist mal eine nette CLI eingabe, was gehtn :D

COLOSSUS

Administrator
Frickler
Avatar
Registered: Dec 2000
Location: ~
Posts: 11890
Zitat aus einem Post von Captain Kirk
@Zaro: du hast Recht. Ich hab zwar das mit PID größer 1000 hab ich zwar gelesen aber das "usually" war da mE nicht eindeutig.

Ist es auch nicht - ob die PID ueber oder unter 1000 liegt ist sicher kein eindeutiger Indikator fuer Malware oder nicht Malware. PIDs haben auf vielen Konfigurationen keinen atemberauben groszen Wertebereich, die rotieren auf Systemen mit langer Uptime und/oder starker Fork-Aktivitaet auch mal komplett durch, und Schwupps hat dein Malware-faux-oom_killer eine PID < 1000.


Die CLI-Wurscht versucht festzustellen, ob ein Prozess namens oom_reaper offen Netzwerkverbindungen hat, such sich dann die Executable zur verantwortlichen PID aus/via profcs und schiebt die an einen anderen Ort, iteriert dann ueber alle Prozesse in der Prozesstabelle, die INET-Sockets offen/ESTABLISHED haben und versucht fuer diese PIDs/Executables quasi-heuristisch festzustellen, ob sie auch die Malware sind (die wurde evtl. mit UPX gepackt?). Diese Prozesse werden dann auch gekillt und ihre Executables verschoben. Am Ende verwurstet man noch die Crontab des Systems, um (vmtl.) den Vektor im System zu erschlagen, mit dem sich die Malware selbst wieder deployed/startet.

Ich find's uebrigens generell keine gute Idee, so eine Wurscht in seine Shell zu pappen, ohne halbwegs zu verstehen, was man da EIGENTLICH tut.

charmin

Super Moderator

Avatar
Registered: Dec 2002
Location: aut_sbg
Posts: 13836
Danke für die Erklärung :)

meepmeep

Here to stay
Avatar
Registered: Feb 2006
Location: Wien
Posts: 2329
Colo glänzt wieder mit ausgezeichneten Erklärungen. Besten Dank, ich habe etwas gelernt!
Kontakt | Unser Forum | Über overclockers.at | Impressum | Datenschutz