Hier ist der Inhalt meiner vagabundierenden Maschine dieser speziellen Datei:
root:x:0:0:root:/root:/bin/bash
daemon:x:1:1:daemon:/usr/sbin:/usr/sbin/nologin
bin:x:2:2:bin:/bin:/usr/sbin/nologin
sys:x:3:3:sys:/dev:/usr/sbin/nologin
sync:x:4:65534:sync:/bin:/bin/sync
games:x:5:60:games:/usr/games:/usr/sbin/nologin
man:x:6:12:man:/var/cache/man:/usr/sbin/nologin
lp:x:7:7:lp:/var/spool/lpd:/usr/sbin/nologin
mail:x:8:8:mail:/var/mail:/usr/sbin/nologin
news:x:9:9:news:/var/spool/news:/usr/sbin/nologin
uucp:x:10:10:uucp:/var/spool/uucp:/usr/sbin/nologin
proxy:x:13:13:proxy:/bin:/usr/sbin/nologin
www-data:x:33:33:www-data:/var/www:/usr/sbin/nologin
backup:x:34:34:backup:/var/backups:/usr/sbin/nologin
list:x:38:38:Mailing List Manager:/var/list:/usr/sbin/nologin
irc:x:39:39:ircd:/var/run/ircd:/usr/sbin/nologin
gnats:x:41:41:Gnats Bug-Reporting System (admin):/var/lib/gnats:/us$
nobody:x:65534:65534:nobody:/nonexistent:/usr/sbin/nologin
syslog:x:100:103::/home/syslog:/bin/false
Kann mir jemand erklären, warum es so schlimm ist, wenn ein Bösewicht diese Datei von meinem Produktionsserver bekommt?
Entscheidend ist, dass Pentester /White-Hats/ethische Hacker sowie Black-Hat-Ziel /etc/passwd
als proof of concept
, als Test für die Möglichkeit, Zugang zu einem System zu erhalten.
Technisch ist /etc/passwd
nicht so beängstigend. In der Vergangenheit wurden private Daten gespeichert, natürlich Passwörter, aber heutzutage müsste man sich mehr Sorgen um /etc/shadow
machen - die meisten Linux-Systeme verwenden heutzutage shadow
Dienstprogramme, um ein Hashing und zu speichern gesalzenes Passwort in /etc/shadow
, das im Gegensatz zu /etc/passwd
nicht für die ganze Welt lesbar ist. (es sei denn, Sie verwenden den Befehl pwunconv
, der die gehashten Passwörter tatsächlich zurück in `/ etc/passwd verschiebt).
Die einzigen mehr oder weniger sensiblen Informationen sind die Benutzernamen. Wenn Sie sshd
oder telnet
auf dem Server haben und einen Benutzernamen mit einem schwachen Passwort haben, besteht die Möglichkeit eines Brute-Force-Angriffs.
Übrigens war Ihre gleiche Frage vorher gestellt . Hier habe ich nur einige der dort bereits erwähnten Begriffe umformuliert.
Kleiner Zusatz: Dies ist ein wenig weit hergeholt, aber ich habe bemerkt, dass Sie bash
als Root-Shell haben. Angenommen, Sie haben einen Benutzer auf dem System, dessen Shell bash
ist. Schlimmer noch - dieser Benutzer ist sudoer. Wenn Ihre Bash veraltet oder nicht gepatcht ist, kann ein Angreifer versuchen, die Sicherheitsanfälligkeit Shellshock auszunutzen, um Daten zu stehlen oder eine Gabelbombe auszuführen, um Ihr System vorübergehend herunterzufahren. Also ja, technisch gesehen ist /etc/passwd
keine große Sache, aber es gibt einem Angreifer eine Vorstellung von einigen Informationen darüber, was er versuchen soll
Zusätzliche Bearbeitung, 18.11.2016
Nachdem ich einen Ubuntu-Server für eine Weile auf Digital Ocean verwendet hatte, stellte ich fest, dass die meisten Brute-Force-Angriffe auf meinen Server für root
Benutzer ausgeführt wurden - 99% der Einträge für ein fehlgeschlagenes Kennwort in /var/log/auth.log
waren für root
. /etc/password
gibt dem Angreifer, wie bereits erwähnt, einen Blick auf die Liste der Benutzer und nicht nur auf die Systembenutzer, sondern auch auf die menschlichen Benutzer. Dies bedeutet mehr potenzielle Angriffspunkte. Denken Sie daran, dass nicht alle Benutzer sicherheitsbewusst sind und nicht immer ein sicheres Kennwort erstellen. Daher ist die Wahrscheinlichkeit, dass ein Angreifer auf menschliches Versagen oder Überbewusstsein setzt, sehr hoch.
Um sich an einem Computer anzumelden, müssen Sie sowohl den Benutzernamen als auch das Kennwort kennen.
/etc/passwd
liefert Informationen zu Benutzern, die Ihnen die Hälfte der benötigten Informationen und einen Hash Ihres Passworts enthalten.
Ein Hash ist etwas, das aus Ihrem Passwort berechnet wird. Es ist schwierig, ein Passwort aus einem Hash zu finden, aber nicht umgekehrt. Wenn Sie beide haben, können Sie Brute-Force-Versuche durchführen, um das Kennwort offline zu finden. Versuchen Sie dann erst, eine Verbindung zum Computer herzustellen, wenn Sie es gefunden haben.
Heutzutage wird die Sicherheit verbessert, da die Hashes in einer anderen Datei /etc/shadow
gespeichert werden, die von den meisten Benutzern standardmäßig nicht gelesen werden kann.
Aber wenn ich Zugriff auf /etc/passwd
und /etc/shadow
hätte, könnte ich Ihr Passwort wahrscheinlich mithilfe eines Brute-Force-Wörterbuch-Angriffs finden. Da ich dies lokal auf meinem Computer ausführen kann, werden Sie nicht viele fehlgeschlagene Versuche bemerken, Ihr Kennwort zu finden, und ich muss mich erst wieder mit Ihrem Computer verbinden, wenn ich das Kennwort kenne. Ich kann dann tun, was ich will.
Es gibt weitere Informationen hier auf Wikipedia