Wie sich Bot-Netze enttarnen lassen

24.06.2005
Von f niemann

Die Funktion ermöglicht es, eine am Zielrechner angeschlossene Webcam zu überwachen. Ferner beinhaltet der Code den erwähnten Keylogger, der auf Internet-Seiten wie etwa die des Online-Bezahlsystems Paypal (www.paypal.com) reagiert.

Bot-Netzwerk wird enttarnt

Sicherlich reichen die gewonnenen Erkenntnisse aus, um den Wurm mittels Scan-Engine zu deaktivieren oder zu blockieren. Doch Team Seekuhrity wollte das Bot-Netzwerk verstehen und die Betreiber enttarnen. Man hätte die jeweiligen Anteile des Client-Codes nachprogrammieren und die Verbindung zu den IRC-Servern beobachten können. Dies hätte aber vielleicht den Lauschangriff verraten. Aus diesem Grund legten die Autoren die bösartigen Kommandos lahm, ohne die Kommunikation mit dem Bot-Netz zu unterbinden. Diese Codes bedienen sich der Winsock2-Library. Auf diese Weise ließen sich dem Bot-Verbund Informationen entlocken.

Assembler-Befehl "NOP" deaktiviert Schadensroutinen

Alle schadhaften Netzoperationen im binären Objekt wurden durch das x86-Assembler-Kommando "NOP" (No Operation) ersetzt. Aufrufe von Send- und Update-Funktionen, die Inhalte über das Netzwerk-Interface versendeten, ließen sich so deaktivieren. Heraus kam eine harmlose Variante des Bots, die zwar Kommandos vom IRC-Server entgegennahm, aber kaum noch etwas ausführte. Anstelle von Fehlermeldungen übermittelte der modifizierte Bot stets einen "OK"-Statuscode an das Netzwerk. Nach eingehender Überprüfung im virtuellen Netz ging die "infizierte" Honeypot-Maschine ins Internet. Die Bot-Betreiber hatten keine Möglichkeit, den Rechner als Lauscher zu identifizieren. Dies war jedoch nur möglich, weil die Bot-Schreiber ihren Code nicht ausreichend geschützt hatten und dieser vollständig lesbar gemacht werden konnte.

Wie sich der Bot modifizieren lässt, soll ein Beispiel demonstrieren. Der Bot-Code enthält einen TFTP-Server, der zum Nachladen von Code-Elementen oder für Updates verwendet wird. Im disassemblierten Binär-Code findet sich folgende Referenz: