Johannes Bülow: IT Consulting & Service

Consulting und Support für IT-Sicherheit, Linux, Hosting, Entwicklung und mehr

Nullbulge-Ranner - Compiled Python Malware

Ich bin in den letzten Tagen über Eric Parker auf Malware gestößen, über BeamNG-Mods verteilt wurde.

Das interessante an dieser Malware ist, dass sie zwar in Python geschrieben ist, aber mithilfe von Pyinstaller1 kompiliert wurde. Dadurch, in Verbindung mit der gewählten Python-Version, ist die Malware effektiv nicht dekompilierbar und nur schwer zu reverse engineeren. Die meisten Informationen über die Malware mussten daher über dynamische Analyse in Sandboxen und VMs gewonnen werden.

Weiterlesen

Gedanken zu XZ

Dieser Blogpost ist dazu da, meine Gedanken zu der XZ-Situation zusammenzufassen.

1. Die Entdeckung

Die Entdeckung der Backdoor in liblzma war einerseits ein purer Glücksgriff, andererseits auch ein Beispiel dafür, warum Open Source so wichtig für die Entdeckung und Analyse von Schwachstellen ist. In diesem Fall war es dem Entdecker - trotz der Tatsache, dass er eigentlich Datenbank-Entwickler ist - in verhältnismäßig kurzer Zeit möglich, die Ursache der “langsamen” SSH-Logins (800 statt 300 ms) zu ermitteln und zu analysieren. Im Vergleich dazu hatte ich deutlich mehr Zeit investiert in die letztlich erfolglose Analyse eines Memory leaks unter Microsoft Windows.

Weiterlesen

Babelfish für Postgresql - MSSQL-Kompatibilität für Postgres

Babelfish ist ein Projekt, das die Verwendung von Postgresql für Software erlaubt, die eigentlich für MSSQL (Microsoft SQL Server) geschrieben wurden. Dies erlaubt zum einen das einsparen von Lizenzkosten, die bei MSSQL, insbesondere für hochverfügbare Umgebungen, leicht sehr hoch werden können, zum anderen aber auch, das größere und modernere Postgres-Ökosystem verwenden zu können.

Was ist Babelfish?

Ähnlich wie sein Namensvorbild, ist Babelfish kein migrationstool o.ä., sondern eine Kompatibilitäts/Übersetzungsschicht, vergleichbar etwa mit Wine. Im Optimalfall kann man also eine Applikation, die eine MSSQL-Datenbank benötigt, mit einem Postgres-DB-Server betreiben, ohne die Applikation umbauen zu müssen. Das kann einerseits für eine vereinfachte Migration sein, andererseits aber auch für die Ablösung bestehender MSSQL-Server durch Postgres-Server.

Weiterlesen

CAPEv2 Sandbox Teil 2: Einrichtung der VM(s)

Nach der Installation der Sandbox-Umgebung an sich kann man an die Erstellung und Installation der VMs gehen. Hier werde ich als Beispiel die Installation einer Windows 7 64bit-VM inkl. Microsoft Office 2010 (32bit) durchführen. Letztendlich gibt es jedoch keinen großen Unterschied zwischen den unterstützten Gast-Betriebssystemen (Windows 7+, MacOS oder diverse Linux-Distributionen), es ist jedoch je nach Platform mehr oder weniger Aufwand (Bei Windows 10+ muss Defender komplett deaktiviert werden und es empfiehlt sich den Großteil der Bloatware zu deinstallieren um die Hardwareanforderungen zu verringern).

Weiterlesen

CAPEv2 Sandbox Teil 1

Die CAPEv2-Sandbox-Umgebung ist sehr nützlich für die Analyse von Malware, da man hier die Malware in einer kontrollierten Umgebung “zünden” kann und eine genaue Protokollierung hat. Die Installation und konfiguration von CAPE ist jedoch nicht besonders einfach. Dieser Blogeintrag kann Ihnen hoffentlich als Einstieg dienen um sich eine solche Umgebung aufzubauen. Bei Rückfragen und weiterführenden Themen stehe ich gerne zur Verfügung.

Basis

Die Installations- und Konfigurationsskripte von CAPEv2 sind auf Ubuntu 22.04 optimiert. Eine Installation unter Debian ist ebenfalls mit vergleichsweise wenig Änderungen möglich. Für andere Distributionen und MacOS sind deutlich weiterführendere Änderungen notwendig, eine Installation unter Microsoft Windows ist nicht möglich. Bei der Installation in einer Virtuellen Maschine muss “Nesting”-Aktiviert sein. Die Hardware-Anforderungen sind stark von der geplanten Art und Anzahl von VMs ab. Es ist sinnvoll, mindestens 4 GB für OS und Applikation einzurechnen, plus den Hardwareressourcen die für die maximale Anzahl an gleichzeitig laufenden VMs benötigt werden.

Weiterlesen