echo $mypassword… Malware?

sia

gesperrt
Registriert
26 März 2015
Beiträge
5.926
Ort
FFM (NSFW)
Hi Leute,

Habe eben bei einem meiner User folgendes in ps aux entdeckt:

Code:
Expand Collapse Copy
user  4295  0.0  0.0   4336   808 pts/0    SN+  19:42   0:00 sh -c /usr/bin/env bash -c 'stty -echo; read -r mypassword; stty echo; echo $mypassword'

Was macht das und warum will es mein Passwort? In [kw].profile[/kw] und [kw].bashrc[/kw] findet sich kein Eintrag, ebenso nicht als Cronjob. Das muss also ein SSH-User gestartet haben, oder?
 
Über ps aux die Startzeit rausfinden, schauen ob zu dem Zeitpunkt der User per ssh eingeloggt war.
 
Zuletzt bearbeitet:
[src=bash][/src]
War er leider nicht…

Der Nutzer war nicht per SSH verbunden? Ich weiß ja nicht was das für ein Gerät ist, aber dann muss das doch bedeuten, dass der User physikalischen Zugriff auf deinen Server hatte, oder?
Mal nachgeschaut, ob nicht der Schrank offen war? :D

Was macht das und warum will es mein Passwort?
Ich versuche das ganze Mal aufzuschlüsseln:

Mit [src=bash]sh -c /usr/bin/env [/src] wird env gerufen, und alles nach env ist soweit ich das verstehen soll ein Parameter für env.
[src=bash]bash -c 'stty -ech; read -r mypassword[/src] liest deine Benutzereingabe versteckt aus, sieht dann aus wie bei sudo.
[src=bash]stty echo[/src] stellt den versteck-Modus wieder aus.
und [src=bash]echo $mypassword[/src] zeigt deinen zuvor eingegebenen Text offen an, aber da das ganze ja ein Parameter für env ist, wird es nicht angezeigt, sondern direkt als Variable eingesetzt.

Ist soweit ich das sehen kann nichts wirklich gravierendes, denke mal einer deiner User war zu faul, sein Passwort ständig eingeben zu müssen, und hat sich eine kleine Variable gebaut (was übrigens sehr Fahrlässig ist).
Sprich ihn doch mal an, ob er von diesem Befehl weiß, und erklär ihm bei der Gelegenheit doch am besten gleich noch, dass man in 2017 Befehle weder mit 'sh -c' noch mit dem gesamten Programmpfad rufen muss. :P
 
Zuletzt bearbeitet:
  • Thread Starter Thread Starter
  • #5
Mal nachgeschaut, ob nicht der Schrank offen war? :D
Gute Frage. "Steht" leider als vServer bei einem Hoster.

Ist soweit ich das sehen kann nichts wirklich gravierendes, denke mal einer deiner User war zu faul, sein Passwort ständig eingeben zu müssen, und hat sich eine kleine Variable gebaut
Dieser User hat leider weder Ahnung von Linux, noch physischen Zugriff – letzteres habe nicht mal ich.
 
Also fassen wir zusammen:
- Du hast einen Prozess gefunden, der eine Systemvariable setzen möchte, die deinem Passwort entspricht.
- Der Nutzer war zum Zeitpunkt des Prozessstarts nicht per SSH angemeldet
- Es ist kein Cronjob gewesen

Hat der Server Systemd?
Schau doch mal nach ob sich vielleicht was in init.d oder rc.local finden lässt.
 
Hat der User evtl. ein PHP Skript von der Console gestartet? Der Codeschnippsel findet sich auf GutHub, etc. und dient zu Abfrage von Benutzereingaben von der Console in PHP. Z.B. der piwik Installer nutzt diese Funktion im symfony Framework..
Über "pstree" sollte sich der Vaterprozess doch ausmachen lassen, oder?
 
  • Thread Starter Thread Starter
  • #8
Hat der User evtl. ein PHP Skript von der Console gestartet?

Kann ich mir nicht vorstellen, da wie gesagt niemand zu der Uhrzeit via SSH eingeloggt war. Der User hatte sich zuletzt 3 Tage davor eingeloggt.

Über "pstree" sollte sich der Vaterprozess doch ausmachen lassen, oder?
Kam bisher nicht noch mal vor. Habe mal ein IDS darauf angesetzt, das nächste Mal wenn das vorkommt bekomme ich eine eMail mit dem pstree. Danke.
 
Zurück
Oben