Jemand auf Youtube behauptet, einen Keylogger auf Ubuntu zu haben, der weder als root ausgeführt noch installiert wurde. Der Link unten zeigt eine Demo davon funktioniert.
http://www.youtube.com/watch?v=Y1fZAZTwyPQ
Trotz gegenteiliger Behauptungen hätte diese Person es als root installieren können, bevor sie für das Video demonstrierte. Gibt es einen anderen halb-glaubwürdigen Beweis dafür, dass dies ohne root für die Installation oder Ausführung wirklich möglich ist?
UPDATE: Die in der Antwort vom 24. Juni genannte Software lässt sich ohne sudo / root nicht installieren. Ich habe eine Prämie für jeden hinzugefügt, der einen Link zu einer funktionierenden Linux-Keylogger-Software erstellt, die mit normalen Benutzerrechten installiert und ausgeführt werden kann.
Antworten:
Ja, es ist echt. Wenn Sie über einen Browser ausgenutzt wurden und ein Angreifer Code mit Ihren Benutzerrechten ausführen kann, kann er ein Programm über GNOME- oder KDE-Autostart-Funktionen registrieren, mit denen Programme beim Anmelden ausgeführt werden. Jedes Programm kann Scan-Codes von gedrückten Tasten in X Window System erhalten. Mit dem Befehl xinput kann dies leicht demonstriert werden. Weitere Informationen finden Sie im Blog-Beitrag zur GUI-Isolierung .
quelle
Das Konzept in diesem Video ist 100% real und der Code ist sehr einfach.
Identifizieren Sie Ihre Tastatur-ID mit:
xinput --list
Tastatureingaben protokollieren mit:
xinput --test $id
Ordnen Sie die Zahlen den Tasten zu mit:
xmodmap -pke
quelle
Ja, es ist möglich.
Sie können es auf Ihrem eigenen Computer mit ähnlicher Software lkl versuchen .
quelle
make install
den Fehlercannot create regular file '/usr/local/bin/lkl': Permission denied
. Runningsudo make install
hat den Fehler nicht angezeigt, aber der Versuch, lkl tatsächlich auszuführen, ergab einen weiteren FehlerHave to be root to perform a iopl()!
.Ich habe das Video nicht gesehen, also reagiere ich auf den Eindruck, dass ich mehr über die Behauptungen im SU-Thread als über das von Ihnen zitierte Video informiert wurde.
Wenn ein Angreifer als Benutzer Code auf Ihrem Computer ausführen kann, kann er Ihre Tastendrücke protokollieren.
Na duh. Alle Anwendungen, die Sie ausführen, haben Zugriff auf Ihre Tastendrücke. Wenn Sie etwas in Ihren Webbrowser eingeben, hat Ihr Webbrowser Zugriff auf Ihre Tastendrücke.
Ah, sagst du, aber was ist mit dem Protokollieren von Tastendrücken in einer anderen Anwendung? Solange die andere Anwendung auf demselben X-Server ausgeführt wird, können sie weiterhin protokolliert werden. X11 versucht nicht, Anwendungen zu isolieren - das ist nicht seine Aufgabe. Mit X11 können Programme globale Verknüpfungen definieren, was für Eingabemethoden, zum Definieren von Makros usw. nützlich ist.
Wenn der Angreifer Code als Benutzer ausführen kann, kann er auch Ihre Dateien lesen und ändern und alle möglichen anderen Schäden verursachen.
Dies ist keine Bedrohung. Das gehört zu den normalen Erwartungen an ein funktionierendes System. Wenn Sie einem Angreifer erlauben, Code auf Ihrem Computer auszuführen, ist Ihr Computer nicht mehr sicher. Es ist, als ob Sie Ihre Haustür öffnen und einen Axtmörder hereinlassen: Wenn Sie dann in zwei Teile gespalten werden, liegt das nicht daran, dass Ihre Haustür unsicher ist.
Der Keylogger kann nur vom infizierten Benutzer gedrückte Tasten protokollieren. (Zumindest solange der infizierte Benutzer das sudo-Passwort nicht eingibt.)
quelle
Es ist zu 100% möglich. Für ttys / ptys (Textmodus) ist es am einfachsten, ein Shim zu / bin / {ba, da, a} sh hinzuzufügen (z. B. ein zweites .code-Segment, RX) und den Einstiegspunkt zu ändern (ähnlich wie bei einem ELF) Virus würde). In diesem Fall kann man ~ / .profile oder ~ / .bashrc (usw.) ändern, um ein sehr einfaches hypothetisches Modell zu erhalten:
exec ~ / .malicious_programme
Dieser lädt möglicherweise dynamischen Code für freigegebene Objekte, um das betreffende Schadprogramm auszublenden (Beispiel: Zulassen des Lesens und Änderns von Profilen, Ausblenden der Zeile und / oder Ausblenden des Programms).
Man kann dann das UNIX98 pty (7) -System oder sogar einfach pipe (2) verwenden, um alle Eingaben in einer gegabelten Shell aufzuzeichnen, vorausgesetzt, die fd ist nicht mit FD_CLOEXEC markiert, und sogar Benutzereingaben in die Shell ändern.
In X11 werden die Dinge natürlich komplizierter, obwohl kdm / gdm / xdm als setuid-root ausgeführt wird (oder das Äquivalent zu den Fähigkeiten [siehe setcap (8)] oder welches Sicherheitsmodell auch immer Sie verwenden, wenn es nicht standardmäßig verwendet wird). Kann man Privilegien erhöhen? iopl (2) oder ioperm (2) machen das Leben mit direktem Zugriff auf die x86-Tastaturanschlüsse 0x60 / 0x64 ziemlich einfach. Da wir davon ausgehen, dass Sie dies nicht können, müssen wir nach einer alternativen Route suchen. Ich kenne einige, aber ich bin mir nicht ganz sicher, ob Sie eine Dissertation darüber wünschen, wie dies möglich ist und welche Schnittstellen betroffen sind.
Es genügt zu sagen, dass Ring 3-Trojaner, die keine Superuser sind, trotz Prozessisolation auf * nix durchaus möglich sind. Dies ist auf verschiedene Probleme zurückzuführen (insbesondere bei X), die Funktionen für Daemons im Benutzermodus hinzugefügt haben, die z. B. Text bereitstellen -to-Speech-Unterstützung für alle Apps, ohne die Sicherheit des Systems zu gefährden. Ich habe bereits eine skizziert, die analog zu ttysnoops (die längst über das Ablaufdatum hinausgeht) funktioniert und keine Wurzel benötigt. Ich habe Beispielcode für diesen Fall (der interne Terminals in X enthalten würde), aber ich habe ihn noch nicht veröffentlicht. Wenn Sie weitere Informationen wünschen, können Sie mich gerne kontaktieren.
quelle
/bin
ohne Berechtigungen ändern ?Ja, es ist möglich, Software ohne su- oder sudo-Berechtigungen zu installieren. Dies geschieht jedoch in der Regel durch eine Ausnutzung der Rechteerweiterung. In diesem Video werden die Funktionen dieses Keyloggers ziemlich gut dargestellt, es werden jedoch ein paar Details zur Installation des Keyloggers ausgelassen. Es mag hier ein bisschen trickreich sein, aber es ist schwer, es allein aus dem Video zu erkennen.
quelle
su
odersudo
, sondern ein Privileg Eskalation ausnutzen würde die Angreifer Root - Rechte geben - auch bekannt als „Super - User“ oder „su“ Privileg.Zu Testzwecken habe ich einen TTY-Keylogger erstellt, der dynamisch an die tty eines Benutzers angehängt werden kann. Das Programm muss nicht von root installiert werden und kann von jedem Konto verwendet werden. Nach dem Anhängen werden Eingaben protokolliert, die mit dem Muster übereinstimmen, das beim Start des Programms in der Befehlszeile angegeben wurde.
quelle
Dies ist mit Systemen wie Crunchbang (Debian-basierte Distribution) möglich. Fügen Sie einfach Berechtigungen zur sudoers-Datei hinzu, indem Sie nano visudo im Terminal verwenden, und fügen Sie Keylogger hinzu, um einen automatischen Start durchzuführen, wie z. B. logkeys für Linux, logkeys --start --output /home/user/.secret /Log
Viel Glück
quelle