Malware-Analyse mit Capa: Schadcode-Fähigkeiten schnell und einfach einschätzen

Sie haben Malware entdeckt und wollen wissen, was diese im Schilde führt? Das kostenlose Tool Capa übernimmt die Analyse für Sie.

In Pocket speichern vorlesen Druckansicht 2 Kommentare lesen
Creative,Code,Skull,Hologram,On,Modern,Computer,Background,,Cybercrime,And

(Bild: Pixels Hunter/Shutterstock.com)

Lesezeit: 8 Min.
Inhaltsverzeichnis

Das automatisierte Erkennen von Schadcode mit Signaturen ist seit Jahrzehnten ein selbstverständlicher Bestandteil des IT-Alltags vieler Menschen – sei es nun passiv mit eingeschaltetem Virenschutz oder aktiv beim gezielten Scan. Im Vergleich zum bloßen Aufspüren erscheint die Fähigkeiten-Analyse einer spezifischen Malware als deutlich größere Herausforderung. Greift der Schadcode auf gespeicherte Passwörter zu? Kann er Änderungen an der Windows-Registry vornehmen? Oder versucht er gar, eine Backdoor auf dem System zu öffnen?

Das kostenlose und quelloffene Tool Capa (abgeleitet vom englischen "capabilities", also Fähigkeiten) beweist, dass auch diese anspruchsvolle Aufgabe mit einem signaturbasierten Ansatz gelingen kann. Anhand sogenannter Capa-Regeln überprüft es Malware im Handumdrehen auf spezifische Fähigkeiten und liefert die Resultate in klar strukturierter und leicht lesbarer Form zurück. Damit nimmt Capa sowohl Laien als auch Sicherheitsexperten zeitintensive Analyse-Arbeit ab.

Im Artikel stellen wir das Werkzeug aus dem Hause Mandiant vor. Wir gehen auf unterschiedliche Verwendungsmöglichkeiten ein, werfen einen Blick auf Capas frei erweiterbare Signatur- beziehungsweise Regelsammlung und geben abschließend Tipps zum Weiterlesen.

Grundsätzlich analysiert Capa ausführbare Dateien statisch – also ohne sie dabei auszuführen. Anders als viele Analysetools beschränkt es sich nicht auf das Analysieren ausführbarer Windows-Dateien. Vielmehr kann man das Tool auch mit dem Linux-Standardformat ELF sowie mit .NET-Modulen und Shellcode füttern. Zusätzlich versteht Capa seit der aktuellen Hauptversion 7 auch Malware-Reports, die mit der sogenannten CAPE Sandbox, einer mit Cuckoo Sandbox verwandten dynamischen Analyseumgebung, erstellt wurden.

Die Überlegung hinter der CAPE-Kompabilität: Ohne sie auszuführen, kann das Tool mit gepackten oder teilweise verschlüsselten Schädlingen relativ wenig anfangen. Denn erst zur Laufzeit, etwa in CAPE, offenbaren solche Exemplare all ihre Geheimnisse, die Capa somit aus Analyse-Reports ergründen kann.

Capa gibt einen Warnhinweis aus, wenn es bei gepackten Binaries nicht (viel) weiterkommt.

(Bild: mandiant.com)

Aufgrund der statischen Arbeitsweise ist jedes der verfügbaren Dateiformate gleichermaßen unter Windows, Linux und macOS analysierbar. Für alle drei Betriebssysteme gibt es fertig kompilierte Fassungen der aktuellen Capa-Version 7.0.1 bei GitHub. Grundsätzlich gilt natürlich: Sobald man mit Schadcode hantiert, der auf dem eigenen System ausführbar ist, sollte man auf eine eigens eingerichtete Analyse-VM zum Schutz des Hostsystems nicht verzichten.

Noch ein kleiner Hinweis an dieser Stelle: Ein VirusTotal-Scan der Capa-Windows-Binaries lieferte uns beim Ausprobieren eine Handvoll Treffer zurück. Auf Anfrage bestätigte uns das für Capa verantwortliche Flare-Team von Mandiant jedoch schriftlich, dass es sich um (generische) Falscherkennungen handelt. Die kommen bei "Hacker-Tools" aufgrund verdächtiger Eigenschaften gar nicht so selten vor und sind im konkreten Fall möglicherweise PyInstaller sowie diversen Strings in den enthaltenen Capa-Regeln geschuldet.

Capa läuft auf der Kommandozeile; eine Installation ist nicht notwendig und die jeweils aktuelle Fassung der Signatursammlung bereits enthalten. Die Basis-Syntax zum Anwerfen einer Analyse lautet:

capa (Dateiname.Endung)

Mit speziellen Flags sind die Scans anpassbar, auf ein paar interessante Anwendungsbeispiele gehen wir später noch ein. Wer sich einen kompletten Überblick verschaffen möchte, befragt unter Eingabe von capa -h die integrierte Hilfefunktion.

Ausschnitt aus Capas umfangreicher Hilfe: Zusätzliche Flags tunen bei Bedarf den Scan-Output.

(Bild: Screenshot)