Keylogging ist ein ziemlich häufiges Merkmal vieler Malware-Familien, da das Aufzeichnen der auf einer Tastatur gedrückten Taste viele interessante Informationen wie Benutzernamen, Passwörter usw. preisgeben kann. Zurück von SANSFIRE habe ich mir mein Backlog an Hunting-Ergebnissen angesehen und ein interessantes Stück Python-Malware gefunden. Dieser implementiert einen Keylogger und einen Screenshot-Grabber, aber auch... Ein "Maus-Logger"! Mit Maus-Logger meine ich, dass es die von der Maus des Benutzers generierten Aktivitäten erfassen kann.
Der Angreifer verwendet den klassischen "Python-Modul pyinput"[1]:. Anschließend wird ein Listener definiert, um Mausereignisse zu erfassen.
Der Listener fügt Nachrichten an ein Protokoll (einschließlich gedrückter Tasten) an, das in regelmäßigen Abständen exfiltriert wird. Interessant ist die Technik, die der Angreifer anwendet: Anstatt ein klassisches kompromittiertes Postfach oder ein Gmail-Konto zu verwenden, wird mailtrap.io[2] verwendet.
Das Risiko bei diesem Setup besteht darin, dass Port 2525 in der Firewall des Opfers nicht geöffnet ist.
Ein weiteres interessantes Verhalten: Sobald das Skript den Listener gestartet hat, löscht es sich selbst. Dies ist möglich, da der Python-Interpreter die gesamte Datei liest und sie analysiert, um nach Syntaxfehlern zu suchen. Das geparste Skript wird dann in Bytecode kompiliert (ein Low-Level-Satz von Anweisungen, die speziell für Python gelten). Der Bytecode wird von der Python Virtual Machine (PVM) ausgeführt und die Originaldatei wird nicht mehr benötigt.
Comments