Im Rahmen meiner mündlichen Abschlussprüfung in Computertechnik (Abitur 2015) entwickelte ich diesen Proof of Concept für einen browserbasierten Keylogger. Der Keylogger beinhaltet ein umfangreiches Steuerungsinterface, womit die Nutzer verwaltet werden können. Ein Keylogger in Form von JavaScript Quellcode wird vom Webserver bereitgestellt und anschließend bei den Nutzern im Browser ausgeführt.
Es findet eine rund um die Uhr Überwachung der Cookies, der Texteingaben, sowie besuchten Seiten statt. Das Ausspähen der Cookies und Sessions ermöglicht es, die Identität des Nutzers, ohne das Wissen der eigentlichen Passwörter, anzunehmen. Der Keylogger kann modular um weitere Aufgaben erweitert werden und kann dynamisch Code nachladen. Somit existiert auch die Möglichkeit ein weiteres Modul, beispielsweise um DDos Angriffe auszuführen, hinzuzufügen.
Disclaimer
Das hier entwickelte Skript soll zeigen, wie gefährlich Userscripts und das Browser Add-On Greasemonkey ist, da Schadcode im Hintergrund geladen und ausgeführt wird. Es bestehen Möglichkeiten im Browser, geschützt vor gewöhnlichen Anti-Viren Programmen, unentdeckt zu agieren.
Mit der hier veröffentlichen Schulungsanwendung dürfen keine Straftaten begangen werden. Die Anwendung darf ausschließlich für Trainingszwecke verwendet werden.
Aufbau
- Das JavaScript Add-On (JavaScript, jQuery)
- Nachladen von JavaScript Code vom Command and Control Server
- Ausführen des Keyloggers (modular weitere Aufgaben)
- Absenden der aufgenommenen Daten an das Steuerungsinterface
- Steuerungsinterface / Cn’C (PHP, MySql)
- Modulares Bereitstellen des JavaScript Codes je nach aktivierten Aufgaben
- Verwaltung der Aufgaben
- Anzeige der aufgenommenen Nutzerdaten
- Auswahl der Nutzer
Screenshots des Steuerungsinterfaces
Im Steuerungsinterface befindet sich zunächst eine Liste der Nutzer, mit der aktuellen IP-Adresse und einer Spalte, wann der Schadcode zuletzt aktualisiert wurde.
Nach dem Klicken auf eines der Nutzer, werden Details angezeigt. Dort erhält ein Angreifer die Optionen einzelne Aufgaben für den Nutzer gezielt an- und auszuschalten. Verschiedene Angriffsziele sind modular als Aufgaben zuwählbar.
Nachdem eine Aufgabe aktiviert wurde, wird der Angriffscode der ausgewählten Aufgabe beim Nutzer ausgeführt.
Die Aufgabe “Cookies” ermöglicht es, dass der Angreifer die Identität des Nutzers annehmen kann, indem der Angreifer die Cookies des Nutzers bei sich setzt. Zum Setzen der Session-Cookies gibt es das Greasemonkey Script (Browser Add-On) “Set_Cookies_from_GET.user.js”.