
lure v0.7.1
Lokales Linux-Tool zur Binäranalyse. Keine Cloud. Kein Root. Sehen Sie genau, was eine Binärdatei tut, bevor Sie sie ausführen.
lure
Lokale Linux-Binäranalyse. Keine Cloud. Kein Root. Keine Kosten.
lure ist ein lokales Linux-ELF-Analyse- und Sandboxing-Tool für Sicherheitsforscher, Reverse Engineers und CTF-Spieler. Version 0.7.1 fügt ARM64-Binärunterstützung über QEMU-User-Mode-Emulation hinzu.

Es bietet drei sich ergänzende Arbeitsabläufe:
- Statische Analyse mit
lure inspect— untersucht ein ELF, ohne es auszuführen. - Verhaltensanalyse mit
lure run— führt ein ELF unter Linux-Namespaces,straceund einer seccomp-bpf-Richtlinie aus und erstellt anschließend einen lesbaren Bericht. - Berichtsvergleich mit
lure diff— vergleicht zwei gespeicherte Verhaltensberichte.
Alles wird lokal verarbeitet. Keine Probe oder kein Bericht wird an einen Cloud-Dienst hochgeladen.
Alpha-Software: lure befindet sich noch in aktiver Entwicklung. Testen Sie es in einer Umgebung, die für Sicherheitsforschung geeignet ist, und behandeln Sie diese Sandbox nicht als Ersatz für eine dedizierte Malware-Analyse-VM.

Was es tut
Lure kombiniert statische ELF-Inspektion mit Verhaltensanalyse durch Ausführung. Es kann zeigen, worauf eine Binärdatei zugreift, welche Netzwerkverbindungen sie versucht, welche Prozesse sie erzeugt und wie der Lauf als SAUBER, VERDÄCHTIG oder GEFÄHRLICH eingestuft wird.
Warum
- Datenschutz — Proben und Berichte bleiben auf Ihrem Rechner.
- Lesbar — strukturierte Berichte statt rohem
strace-Rauschen. - Einfacher Arbeitsablauf — untersuchen, ausführen, speichern und vergleichen über eine CLI.
- Kostenlos — MIT-lizenziert und auf Standard-Linux-Werkzeugen aufgebaut.
- Multi-Architektur — x86-64 nativ + ARM64 über QEMU-User-Mode-Emulation.
Funktionen
Statische ELF-Inspektion
lure inspect berichtet:
- ELF-Architektur und -Typ (x86-64, ARM64 und mehr)
- Byte-Reihenfolge (Endianness)
- Dateigröße
- MD5- und SHA-256-Hashes
- NX
- PIE
- RELRO-Status
- Vorhandensein von Stack-Canaries
- Verknüpfte Bibliotheken
- ELF-Sektionsheader mit
--sections - Druckbare ASCII-Zeichenfolgen mit
--strings
Die untersuchte Datei wird nicht ausgeführt.
lure inspect /bin/ls
lure inspect ./arm64_binary # ARM64-ELF — keine QEMU-Emulation für die Inspektion erforderlich

Sandbox-Ausführung
lure run kombiniert:
- Linux-User-Namespaces
- Einen Netzwerk-Namespace
- Einen Mount-Namespace
- Einen PID-Namespace
strace-Syscall-Tracing- Eine seccomp-bpf-Syscall-Richtlinie, die auf den Gast angewendet wird
- Ein minimales Sandbox-Dateisystem
- Ein Timeout (standardmäßig 30 Sekunden)
- Optionalen Netzwerkzugriff mit
--allow-net - Optionale rohe
strace-Ausgabe - Optionale TXT- und JSON-Berichte
- Best-Effort-cgroups-v2-Ressourcengrenzen, sofern verfügbar
- ARM64-Binäremulation über
qemu-aarch64(v0.7.1+)
Netzwerkzugriff ist standardmäßig blockiert.
lure run ./suspicious_binary
lure run ./arm64_binary # ARM64: qemu-aarch64 umschließt die Binärdatei automatisch
Wenn eine ARM64-Binärdatei erkannt wird, führt lure Folgendes aus:
- Prüft, ob
qemu-aarch64im PATH ist (beendet mit einem klaren Installationshinweis, falls nicht). - Stellt
qemu-aarch64dem Ausführungsbefehl voran — strace verfolgt die gesamte QEMU-Kette. - Zeigt Architektur: ARM64 (QEMU-emuliert) im Panel „Ausführungszusammenfassung" an.
Berichtsvergleich
lure diff vergleicht zwei gespeicherte .json-Berichte:
lure run --save ./binary_v1
lure run --save ./binary_v2
lure diff ~/.lure/reports/binary_v1_*.json ~/.lure/reports/binary_v2_*.json
Installation
Von PyPI
pip install lure-analyze
Systemabhängigkeiten (erforderlich)
| Werkzeug | Paket | Zweck |
|---|---|---|
strace | sudo pacman -S strace | Syscall-Tracing |
unshare | Teil von util-linux (vorinstalliert) | Namespace-Isolation |
gcc / cc | sudo pacman -S gcc | Kompilieren des seccomp-Wrappers zur Laufzeit |
Systemabhängigkeiten (optional)
| Werkzeug | Paket | Zweck |
|---|---|---|
qemu-aarch64 | sudo pacman -S qemu-user | ARM64-Binäremulation |
Installieren Sie qemu-user, um ARM64-ELF-Binärdateien mit lure run zu analysieren. Statische Inspektion mit lure inspect funktioniert für ARM64-ELFs ohne zusätzliche Werkzeuge.
cgroups-v2-Ressourcengrenzen (optional)
Um Speicher- und PID-Grenzen zu aktivieren, delegieren Sie einen cgroup-Unterbaum an Ihren Benutzer:
sudo mkdir -p /sys/fs/cgroup/lure
sudo chown "$USER" /sys/fs/cgroup/lure
Verwendung
lure inspect BINARY [--json] [--sections] [--strings]
lure run BINARY [--timeout SECS] [--args 'ARG ...'] [--allow-net] [--out FILE] [--save]
lure diff REPORT1 REPORT2
Änderungsprotokoll
v0.7.1
- ARM64-Binärunterstützung über
qemu-aarch64-User-Mode-Emulation lure inspectzeigt für AArch64-ELFs korrektARM64anlure runerkennt ARM64-ELFs automatisch und umschließt die Ausführung mitqemu-aarch64- Die Ausführungszusammenfassung zeigt für ARM64-Läufe
Architektur: ARM64 (QEMU-emuliert)an - Sauberer Fehler und Installationshinweis, wenn
qemu-aarch64fehlt - 4 neue Tests für ARM64-Inspektion (Anzeige + JSON) und Ausführung (fehlendes QEMU + QEMU-Erfolg)
v0.6.0
- cgroups-v2-Ressourcengrenzen (512 MB Speicher, max. 64 PIDs)
- seccomp-bpf-Allowlist über kompilierten C-lure-wrapper
- Vollständige Mount- und PID-Namespace-Isolation mit minimalem chroot
lure diff-Berichtsvergleich
Lizenz
MIT — siehe LICENSE.