Wie kann man feststellen, ob die Konsolenanmeldung echt ist?

13

Unter Windows kann man das Drücken von Ctrl+ Alt+ erzwingen Del, um einen Interrupt auszulösen, der das Anmeldefenster öffnet.

Wenn ich mich an einer Konsole eines Linux-Computers anmelde: Wie kann ich feststellen, ob es sich bei dieser Anmeldung um eine echte Anmeldung handelt oder um eine falsche Anmeldung, um meine Anmeldeinformationen zu stehlen?

Max Ried
quelle

Antworten:

14

Angenommen, Sie möchten vor anderen normalen Benutzern des Systems geschützt werden (wenn der Gegner Root-Zugriff hat, sind alle Wetten deaktiviert), können Sie im Prinzip einen sicheren Aufmerksamkeitsschlüssel verwenden :

Der Secure Attention Key eines Betriebssystems ist ein Sicherheitstool, das zum Schutz vor Trojaner-Passworterfassungsprogrammen bereitgestellt wird. Es ist eine unschlagbare Möglichkeit, alle Programme zu beenden, die sich als Anmeldeanwendungen tarnen könnten. Den Benutzern muss beigebracht werden, diese Tastenfolge einzugeben, bevor sie sich am System anmelden.

( Umgang mit dem Linux 2.4.2 Secure Attention Key (SAK), Andrew Morton, 18. März 2001 )

Diese verwandte U & L-Frage könnte von Interesse sein: Wie finde ich den Secure Attention Key (SAK) auf meinem System und kann ich ihn deaktivieren?

dhag
quelle
Was kann passieren, wenn SAK bei eingeschaltetem X-Server aktiviert wird?
Incnis Mrsi
@IncnisMrsi: Das habe ich versucht. Es scheint in etwa der Tastenkombination Strg + Alt + Rücktaste zu entsprechen, vorausgesetzt, Sie haben dies nicht deaktiviert. Ich erinnere mich, dass es ein bisschen buggy wirkte, aber ich kann mich an keine Einzelheiten erinnern.
Kevin
Ich habe es häufig auf meinem vtty getroffen, und nach einiger Zeit kam die Anmeldung nicht zurück. Das fühlt sich fehlerhaft an, aber +1 für einen eigentlich alltagstauglichen SysRq.
Max Ried,
@ Kevin: Wenn also ein Benutzer einen legitimen X-Server (der auf PCs unbedingt euid = 0 ist) auf einem tty ≠ 7 ausführt, hat seine Konfiguration SAK deaktiviert, ist SAK dann nicht so unbesiegbar, wie Kernel-Docs behaupten? Angenommen, eine emulierte GUI DM läuft darauf.
Incnis Mrsi
@IncnisMrsi: Ich denke, was es tatsächlich tut, ist, alles in Ihrer Sitzung zu töten und das "richtige" Ding neu zu starten, was auch immer das sein mag. Wenn tty = 7 ist, erhalten Sie ein brandneues X, andernfalls loginusw. Dies ist fehlerhaft, da einige ausgefallene DEs wie GNOME es nicht mögen, aus dem Nichts getötet zu werden. Wenn Ihr Angreifer jedoch euid = 0 hat, haben Sie bereits verloren.
Kevin
2

Zunächst einmal, ich bin nicht sicher , dass Sie von dem überzeugt sein , über können Ctrl+ Alt+ DelAnmeldefenster auf Windows, das ist auch die Rolle eines Virus / Trojaner zu Hijack Unterbrechung, und es ist sehr gut möglich umzusetzen.

Zweitens, wenn ein solcher Mechanismus sowohl unter Windows als auch unter Linux implementiert ist, bedeutet dies, dass die Administratorrechte mit Sicherheit gefährdet sind.

Wenn unter Linux jemand eine gefälschte Shell geschrieben hat, um eine Eingabeaufforderung anzuzeigen und Ihre Anmeldeinformationen abzurufen, kann Ctrl+ Coder Ctrl+ Zausreichen, wenn diese Signale nicht abgefangen werden, um den Trick zu entdecken. Durch mehrmaliges Eingeben falscher Anmeldeinformationen können Sie Abweichungen vom normalen Timerverhalten erkennen.

Das Umschalten zwischen verschiedenen Konsolen erhöht auch die Wahrscheinlichkeit, den Trick zu entdecken.

Auf jeden Fall können Sie jedoch nicht sicher sein, ob Ihre Anmeldeaufforderung / Ihr Anmeldefenster zu 100% auf einem System der Vertrauenswürdigkeit ist.

netmonk
quelle
0

Sie können ctrl+ alt+ F1... verwenden F7, um in ein anderes tty zu wechseln und sich von dort aus anzumelden. Sie können auch ctrl+ zoder ctrl+ verwenden c. Wenn jedoch jemand versucht, Ihr Login und Passwort mit dieser Methode zu stehlen, ist es dennoch möglich, dass Sie betrogen werden. Hängt davon ab, welches Betriebssystem Sie verwenden, wer Zugriff darauf hatte und welche Art von Zugriff er hatte.

Im Allgemeinen können Sie sich nie zu 100% sicher sein, aber wenn jemand dies tun würde, würde ich davon ausgehen, dass er bereits Root-Zugriff hat - daher wären Ihre Anmeldedaten für ihn bedeutungslos.

MatthewRock
quelle
3
Wenn ich eine solche Falle einrichten würde, würde ich mein Programm auf jeden Fall auf jedem Tty ausführen lassen. Beachten Sie, dass diejenigen, auf die Sie mit den Steuertasten zugreifen, nicht besonders sicher sind.
John WH Smith
Gutes Argument; Das war das Beste, was mir in den Sinn kam.
MatthewRock
Kann Ihnen ein magisches sysrq helfen?
Max Ried,
0

Ein Benutzer (auch wenn er kein Root-Benutzer ist), der physisch auf die Konsole zugreifen kann, kann einen solchen Trick ausführen.

Melden Sie sich über an sshund überprüfen Sie, welche Prozesse auf einer virtuellen Konsole ausgeführt werden, auf der Sie sich lokal anmelden möchten. Ob es sich gettyum einen (für eine TUI tty) oder einen anderen legitimen Display-Manager handelt? Hat es UID = 0?

Wenn einer der beiden Werte falsch ist, ist das Hostnamen- login: Banner mit Sicherheit gefälscht. Aber, wie staatliche Antworten bereits geschrieben haben, hilft es nicht, wenn ein Übeltäter seine Privilegien bereits erweitert hat root.

Incnis Mrsi
quelle
-1

Kurze Antwort: Das kann man nicht sagen.

Wenn der Anmeldeaufforderungsbefehl jedoch ersetzt wurde, bedeutet dies, dass der Angreifer Root-Zugriff auf den Computer hat. In diesem Fall könnte er / sie auch:

  • habe einen Keylogger installiert, um dein Passwort zu stehlen. Sie können das Problem mithilfe eines eindeutigen Kennworts abschwächen, sodass der Angreifer nicht auf andere von Ihnen verwendete Onlinedienste zugreifen kann.
  • Melden Sie sich als Sie (oder als ein beliebiger anderer Benutzer) auf dem Computer an, indem Sie einfach das Kennwort ändern, oder greifen Sie auf die Dateien Ihres (oder eines anderen) Benutzers zu.

Daher ist es umstritten, ob die Anmeldeaufforderung legitim ist oder nicht.

In der Regel sollten Sie sich nicht bei einem Computer anmelden, von dem Sie glauben, dass er gefährdet ist.

dr01
quelle
8
Ich könnte ein Programm entwerfen, das das Verhalten einer Anmeldeaufforderung imitiert, und es in jedem TTY ohne Root-Berechtigungen ausführen (wie ich selbst). Bei korrekter Ausführung kann die tatsächliche Eingabeaufforderung nicht von der Programmausgabe unterschieden werden, sodass Sie aufgefordert werden, Ihre Anmeldeinformationen einzugeben. Beachten Sie jedoch, dass es Root-Rechte erfordert, um Sie zu authentifizieren (wodurch die Falle vollständig transparent wird). Wenn also die Anmeldung fehlschlägt und Sie sicher sind, dass Sie keinen Tippfehler gemacht haben, können Sie davon ausgehen, dass Sie (auch) gefangen wurden spät).
John WH Smith
6
Du installierst es nicht. Sie verwenden einfach Ihr eigenes Konto, um sich an jedem Terminal anzumelden und dort die gefälschte Anmeldung auszuführen. Benutzer, die danach versuchen, ein Terminal zu verwenden, werden Ihre gefälschte Eingabeaufforderung als Sie ausführen, nicht das loginProgramm, das als Root ausgeführt wird. Ich gehe nicht davon aus, dass das eigentliche loginProgramm kompromittiert wurde.
John WH Smith
7
@ dr01. Melden Sie sich wie gewohnt an. Wenn Sie bereit sind, Ihre zu starten ~/bin/fakelogin, verwenden Sie diese Option , exec ~/bin/fakelogindamit Ihr Benutzerkonto beim Beenden (aus welchem ​​Grund auch immer) abgemeldet und die echte Anmeldeaufforderung dem anderen Benutzer angezeigt wird.
Roaima
3
Normalerweise protokollieren Sie ein Kennwort, wenn Sie versuchen, es an einer Eingabeaufforderung zu stehlen, und geben "Ungültige Anmeldung" ein. Beenden Sie dann Ihr Programm. Sie müssen sich also nicht mit authentifizieren $euid=0.
Ned64,
1
Warum die Abstimmungen?
dr01