Skip to content
Diese Seite wurde mit KI-Unterstützung erstellt und übersetzt. Falls Ihnen Ungenauigkeiten auffallen, helfen Sie gerne bei der Verbesserung. Auf GitHub bearbeiten

Unterstützte Dateitypen

PRX-SD identifiziert Dateitypen mit Magic-Number-Erkennung (Untersuchung der ersten Bytes einer Datei) anstatt auf Dateiendungen zu vertrauen. Dies gewährleistet eine genaue Identifikation, auch wenn Dateien umbenannt wurden oder keine Endungen haben.

Dateityp-Matrix

Die folgende Tabelle zeigt alle unterstützten Dateitypen und welche Erkennungsschichten für jeden gelten:

DateitypErweiterungenMagic-BytesHashYARAHeuristikArchiv-Rekursion
PE (Windows).exe, .dll, .sys, .scr, .ocx4D 5A (MZ)JaJaJa--
ELF (Linux).so, .o, (keine)7F 45 4C 46JaJaJa--
Mach-O (macOS).dylib, .bundle, (keine)FE ED FA CE/CF oder CE FA ED FE/CFJaJaJa--
Universal Binary(keine)CA FE BA BEJaJaJa--
PDF.pdf25 50 44 46 (%PDF)JaJaJa--
Office (OLE).doc, .xls, .pptD0 CF 11 E0JaJaJa--
Office (OOXML).docx, .xlsx, .pptx50 4B 03 04 (ZIP) + [Content_Types].xmlJaJaJaExtrahiert
ZIP.zip50 4B 03 04JaJaBegrenztRekursiv
7-Zip.7z37 7A BC AF 27 1CJaJaBegrenztRekursiv
tar.tar75 73 74 61 72 bei Offset 257JaJaBegrenztRekursiv
gzip.gz, .tgz1F 8BJaJaBegrenztRekursiv
bzip2.bz242 5A 68 (BZh)JaJaBegrenztRekursiv
xz.xzFD 37 7A 58 5A 00JaJaBegrenztRekursiv
RAR.rar52 61 72 21 (Rar!)JaJaBegrenztRekursiv
CAB.cab4D 53 43 46 (MSCF)JaJaBegrenztRekursiv
ISO.iso43 44 30 30 31 bei Offset 32769JaJaBegrenztRekursiv
Shell-Skript.sh, .bash23 21 (#!)JaJaMuster--
Python.py, .pycText / 42 0D 0D 0AJaJaMuster--
JavaScript.js, .mjsText-ErkennungJaJaMuster--
PowerShell.ps1, .psm1Text-ErkennungJaJaMuster--
VBScript.vbs, .vbeText-ErkennungJaJaMuster--
Batch.bat, .cmdText-ErkennungJaJaMuster--
Java.class, .jarCA FE BA BE / ZIPJaJaBegrenzt.jar rekursiv
WebAssembly.wasm00 61 73 6DJaJaBegrenzt--
DEX (Android).dex64 65 78 0A (dex\n)JaJaBegrenzt--
APK (Android).apkZIP + AndroidManifest.xmlJaJaBegrenztRekursiv

Erkennungsschicht-Legende

SchichtBedeutung
HashSHA-256/MD5-Hash gegen Signaturdatenbank geprüft
YARAVollständiges YARA-Regelset auf Dateiinhalt angewendet
Heuristik: JaVollständige dateityp-spezifische heuristische Analyse (siehe Heuristik)
Heuristik: BegrenztNur grundlegende Entropie- und Strukturprüfungen
Heuristik: MusterTextbasiertes Muster-Matching für verdächtige Befehle und Verschleierung
Archiv-RekursionInhalte werden extrahiert und jede Datei wird einzeln gescannt

Magic-Number-Erkennung

PRX-SD liest die ersten 8192 Bytes jeder Datei, um ihren Typ zu bestimmen. Dieser Ansatz ist zuverlässiger als erweiterungsbasierte Erkennung:

Datei: invoice.pdf.exe
Erweiterung deutet auf: PDF hin
Magic-Bytes: 4D 5A → PE-Executable
PRX-SD identifiziert: PE (korrekt)

Erweiterungs-Abweichung

Wenn die Dateiendung nicht mit der erkannten Magic-Number übereinstimmt, fügt PRX-SD eine Notiz zum Scan-Bericht hinzu. Erweiterungs-Abweichungen sind eine häufige Social-Engineering-Technik (z.B. photo.jpg.exe).

Magic-Erkennungs-Priorität

Wenn mehrere Signaturen passen könnten (z.B. ZIP-Magic für sowohl .zip als auch .docx), verwendet PRX-SD eine tiefere Inspektion:

  1. Magic-Bytes bei Offset 0 lesen
  2. Bei Mehrdeutigkeit (z.B. ZIP) die interne Struktur prüfen
  3. Für ZIP-basierte Formate nach [Content_Types].xml (OOXML), META-INF/MANIFEST.MF (JAR), AndroidManifest.xml (APK) suchen
  4. Auf den generischen Container-Typ zurückfallen

Rekursives Archiv-Scannen

Wenn PRX-SD ein Archiv (ZIP, 7z, tar, gzip, RAR usw.) antrifft, extrahiert es den Inhalt in ein temporäres Verzeichnis und scannt jede Datei einzeln durch die vollständige Erkennungspipeline.

Rekursionstiefe

EinstellungStandardBeschreibung
max_archive_depth5Maximale Verschachtelungsebenen für Archive innerhalb von Archiven
max_archive_files10.000Maximale Dateien, die aus einem einzelnen Archiv extrahiert werden
max_archive_size_mb500Maximale Gesamtgröße der extrahierten Inhalte vor dem Stopp

Diese Limits verhindern Ressourcenerschöpfung durch Zip-Bomben und tief verschachtelte Archive.

toml
# ~/.config/prx-sd/config.toml
[scanning]
max_archive_depth = 5
max_archive_files = 10000
max_archive_size_mb = 500

Zip-Bomben

PRX-SD erkennt Zip-Bomben (Archive mit extremen Kompressionsverhältnissen) und stoppt die Extraktion, bevor übermäßiger Festplatten- oder Arbeitsspeicher verbraucht wird. Eine Zip-Bomben-Erkennung wird als SUSPICIOUS in den Scan-Ergebnissen gemeldet.

Passwortgeschützte Archive

PRX-SD kann keine passwortgeschützten Archive extrahieren. Diese werden als übersprungen in den Scan-Ergebnissen mit einem Hinweis auf die Verschlüsselung gemeldet. Die Archivdatei selbst wird weiterhin gegen Hash- und YARA-Datenbanken geprüft.

Skript-Erkennung

Für textbasierte Skriptdateien (Shell, Python, JavaScript, PowerShell, VBScript, Batch) wendet PRX-SD musterbasierte Heuristiken an:

MusterPunkteBeschreibung
Verschleierte Strings10-20Base64-kodierte Befehle, übermäßige String-Concatenation
Download + Execute15-25curl/wget zu bash/sh geleitet, Invoke-WebRequest + Invoke-Expression
Reverse Shell20-30Bekannte Reverse-Shell-Muster (/dev/tcp, nc -e, bash -i)
Credential-Zugriff10-15Lesen von /etc/shadow, Browser-Credential-Stores, Keychain
Persistenz-Mechanismen10-15Cron-Jobs, systemd-Dienste, Registry-Schlüssel hinzufügen

Nicht unterstützte Dateien

Dateien, die keiner bekannten Magic-Number entsprechen, werden weiterhin gegen Hash- und YARA-Datenbanken geprüft. Heuristische Analyse wird nicht auf unbekannte Dateitypen angewendet. Häufige Beispiele:

  • Rohe Binärdaten
  • Proprietäre Formate ohne öffentliche Magic-Numbers
  • Verschlüsselte Dateien (sofern das Container-Format nicht erkannt wird)

Diese Dateien erscheinen als type: unknown in Scan-Berichten und erhalten nur Hash- + YARA-Scannen.

Nächste Schritte

Released under the Apache-2.0 License.