Skip to content
KitploitKITPLOIT
ToolsBlog
Einreichen
ToolsBlog
Einreichen

Hacking-, PenTest- und Cybersicherheits-Tools für Ihr Sicherheitsarsenal!

Kitploit ist ein Verzeichnis von Hacking-, Cybersicherheits- und Pentesting-Tools. Entdecken Sie die neuesten Projekt-Updates, um Schwachstellen zu finden, Systeme zu analysieren, Tests zu automatisieren und Ihre Sicherheit zu stärken.

··Feeds·Kontakt·Datenschutz·© 2026 Kitploit

Tool-Verzeichnis

Kategorien

Alle Kategorien anzeigen
Loading categories
Tools/GitHubGitHub/0xsp-srd/aether
Dynamische Analyse (Sandboxing)SpeicherforensikSchwachstellenanalyseShellcodeForensikMalware-AnalyseDigitale ForensikCommand and ControlBinäranalyseIncident Response
GitHub0xsp-srd/aether

aether

5843vor 2 MonatenVon Kitploit geprüft

Beliebteste

Alle anzeigen →

Entdecken Sie die meistgenutzten Tools unserer Community.

Alle Tools erkunden

Durchsuchen Sie unsere Tool-Sammlung

Alle Tools anzeigen →

Windows-Tool für Speicherforensik und Threat Hunting, das den Speicher laufender Prozesse auf schädliche Muster, Injection-Techniken und reflektiv geladene .NET-Assemblys scannt und ein mehrschichtiges Konfidenzmodell verwendet, um Fehlalarme zu reduzieren.

Repository anzeigen
Teilen

Aether logo


Aether

Version: 0.9 (stabile Version)

Aether ist ein Windows-Tool für Memory-Forensik und Threat Hunting, das den Live-Prozessspeicher nach schädlichen Mustern durchsucht, Injektionstechniken, Implantat-Signaturen und reflektiv geladene .NET-Assemblys erkennt. Es arbeitet mit einem mehrschichtigen Konfidenzmodell, das die False-Positive-Rate drastisch reduziert und nach schädlichem Verhalten sucht. Aether verfügt über gute Fähigkeiten zur Erkennung von Hollowing-, APC- und Thread-Hijacking-Techniken. Sicherheitsanalysten können es zum Scannen, Jagen und Erstellen von Snapshots verdächtiger Regionen für die Offline-Analyse verwenden.

Dokumentation: https://0xsp.com/docs/aether-getting-started/

Forschungsartikel:

https://0xsp.com/security%20research%20%20development%20srd/aether-memory-forensics-and-threat-hunting-tool/

https://0xsp.com/research/game-of-hide-and-seek-detecting-dynamic-api-resolution-at-runtime-with-aether/

Kernfunktionen

Kurze Erläuterungen zu den Kernfunktionen von Aether – den vollständigen technischen Blogbeitrag findest du unter den obigen Links:

Signatur-Scan

  • Byte-Muster-Abgleich im gesamten Prozessspeicher mit einem First-Byte-Index, der eine 50-100-fache Beschleunigung gegenüber naivem Scannen bietet
  • ASCII + UTF-16LE Doppelkodierung – findet Strings, die von der .NET-CLR gespeichert werden (wobei "msxsl:script" zu 6D 00 73 00 78 00 ... wird)
  • Dynamisches Laden von Regeln aus JSON-Dateien – neue Signaturen können in rules/ abgelegt werden, ohne neu kompilieren zu müssen
  • PE-Header-Erkennung in MEM_PRIVATE-Regionen – kennzeichnet reflektiv geladene .NET-Assemblys (MZ + PE + BSJB-Metadaten)
  • Strukturelle Memory-IOCs

    Aether legt fünf Filter auf das rohe Working-Set-Signal, sodass ein Fund mehrere übereinstimmende Indikatoren erfordert, bevor er mit FP-Filterung gemeldet wird:

    EbeneFilterZweck
    L1StrukturellNur ausführbare IMAGE-Unterregionen werden berücksichtigt (eliminiert .data/.rdata-COW-Rauschen)
    L2QuantitativBewertung anhand der private_pages-Anzahl und des private_ratio (niedrig / mittel / hoch)
    L3KorroborationNur heraufstufen, wenn ein unabhängiges Signal auf derselben Allokationsbasis übereinstimmt – Signaturtreffer, missing_peb_entry, private_rwx, Hook-Prolog oder On-Disk-Diff
    L4CLR-bewusstModulspezifische Unterdrückung für ngen/R2R/tiered-JIT-Ziele (*.ni.dll, mscor*, clr*, coreclr, system.private.corelib*) statt pauschalem Überspringen, wenn die CLR geladen ist
    L5On-Disk-DiffAbbilden der Moduldatei mit CreateFileMappingW(SEC_IMAGE_NO_EXECUTE); Vergleich der ersten 16 Bytes jeder privaten ausführbaren Seite mit derselben RVA auf der Festplatte. Jede Abweichung ist ein echter Modifikations-IOC

    Weitere strukturelle Prüfungen:

    • PEB-Modul-Querverweis: MEM_IMAGE-Allokationen, die nicht in der PEB-Modulliste enthalten sind (DLL-Hollowing / Module Stomping)
    • Working-Set-Scan: Erkennung modifizierter Codeseiten über K32QueryWorkingSetEx, stapelverarbeitet mit einem Syscall pro Region statt einem pro 4-KB-Seite (≈ 50-100× schneller als die naive Schleife)
    • Private-RWX-Erkennung: kennzeichnet MEM_PRIVATE + PAGE_EXECUTE_* (erzeugt FP-Ergebnisse) Allokationen (Shellcode, JIT-Spray, dynamische Code-Stub-Allokationen)
    • Hook-Prolog-Sonde – liest die ersten 16 Bytes jeder privaten Codeseite und gleicht klassische x86/x64-Trampoline ab:
      • E9 ?? ?? ?? ?? — JMP rel32
      • FF 25 ?? ?? ?? ?? — JMP [rip+disp32]
      • 68 ?? ?? ?? ?? C3 — PUSH imm32 ; RET
      • 48 B8 ?? ?? ?? ?? ?? ?? ?? ?? FF E0 — MOV RAX, imm64 ; JMP RAX
      • 49 BB ?? ?? ?? ?? ?? ?? ?? ?? 41 FF E3 — Detours-Stil MOV R11, imm64 ; JMP R11
    • CLR-Erkennung – Section-Object-Sonde für Cor_Private_IPCBlock_v4_<PID> und die v2-Variante Cor_Private_IPCBlock_<PID> (Legacy-.NET-2/3/mscorwks), sodass laute App-Pools mit alten Laufzeiten nicht falsch klassifiziert werden

    Thread-Startadressen-Validierung (TSAV / L8)

    Aether prüft Threads mit strengerer Klassifizierung und Kreuzkorrelation mit den L1-L5-Ergebnissen. Für jeden erstellten Thread im Zielprozess liest Aether seine Win32StartAddress über NtQueryInformationThread und, sofern die Zugriffsrechte es erlauben, auch das Live-Rip/Eip über GetThreadContext/Wow64GetThreadContext. Jede Adresse wird dann gemäß der folgenden Tabelle bewertet – weitere Details im Blogbeitrag:

    BefundSchweregradBedingung
    TSAV_SHELLCODE_PRIVATEKRITISCHAdresse liegt in einer MEM_PRIVATE + PAGE_EXECUTE_*-Region – klassischer CreateRemoteThread-Shellcode
    TSAV_SUSPENDED_RIPKRITISCHDas Rip eines angehaltenen Threads weicht von Win32StartAddress ab und zeigt auf eine verdächtige Region – erkennt Win32StartAddress-Spoofing (EarlyBird-/APC-Tricks) und SetThreadContext-Hijacking
    TSAV_HOLLOWED_HOSTHOCHAdresse liegt in einer MEM_IMAGE-Allokation, die nicht in der PEB-Modulliste ist (DLL-Hollowing / Module Stomping)
    TSAV_MODIFIED_HOSTHOCHAdresse liegt in einer MEM_IMAGE-Allokation, die von der L1-L5-Pipeline bereits als MODIFIED_CODE_*, MISSING_PEB, PRIVATE_RWX, DISK_MEM_DIFF oder HOOK_PROLOGUE gekennzeichnet wurde
    TSAV_STAGED_PRIVATE_RWHOCHMEM_PRIVATE + PAGE_READWRITE – Shellcode-Staging vor VirtualProtect
    TSAV_MAPPED_NONPEMITTELMEM_MAPPED (pagefile-backed section) ohne PE-Header – sRDI / Pagefile-Reflective-Loader
    TSAV_SPOOF_TRAMPOLINEMITTELAdresse entspricht einem gesperrten Trampolin (LoadLibraryA/W/ExA/W, WinExec, CreateProcessA/W, VirtualAlloc[Ex], RtlExitUserThread, RtlExitUserProcess, NtTerminateProcess, ShellExecuteA/W)

    Was dies stärker macht als die einfache Prüfung „liegt die Startadresse in einem Modul":

    • VirtualQueryEx-Querprüfung – jede Adresse wird in einem einzigen O(1)-Aufruf auf Type/Protect/AllocationBase abgefragt, statt eines linearen Scans über die Modulliste
    • Kreuzkorrelation mit L1-L5 – ein Thread, dessen Start innerhalb einer bereits gekennzeichneten Allokation liegt, wird von „OK" auf TSAV_MODIFIED_HOST hochgestuft
    • PEB-Konsistenz – ausgehöhlte Module werden auch dann erkannt, wenn die Startadresse technisch innerhalb eines „echten" Bereichs liegt
    • Suspended-RIP-Sonde – Win32StartAddress ist prozessbeschreibbar über NtSetInformationThread und das fälschbare Feld; das Live-Rip eines angehaltenen Threads ist das, was ein Loader nicht einfach umschreiben kann. Wir vergleichen beide und kennzeichnen jede Abweichung, die auf eine verdächtige Region zeigt
    • WoW64-fähig – wechselt automatisch zu Wow64GetThreadContext und liest Eip für 32-Bit-Threads in einem 64-Bit-Prozess
    • Zugriffsrechte-Leiter – fällt pro Thread von QUERY_INFORMATION | GET_CONTEXT → QUERY_INFORMATION → QUERY_LIMITED_INFORMATION zurück, sodass Szenarien mit Teilzugriff weiterhin nützliche Klassifizierungen liefern

    L9 + L10 – Heap-API-Tabellen-Erkennung mit modulübergreifender Korrelation

    Dynamische API-Auflösung zur Laufzeit ist eine häufig von Malware verwendete Technik. Der Erkennungsmechanismus von Aether identifiziert dieses Verhalten, indem er den Heap nach gültigen Moduladressen und Zeigern durchsucht und die Ergebnisse mit den unten beschriebenen Filterkriterien korreliert:

    Jeder Filter eliminiert eine bestimmte FP-Klasse, die in realer Telemetrie beobachtet wurde:

    FilterRegelFP-Klasse, die er entfernt
    F1count >= 5zufällige zeigerförmige Daten, NULL, HMODULES
    F2Läufe ablehnen, die nur in die Host-EXE zeigenC++-Vtabellen der Anwendungsklasse
    F3distinct_modules >= 2Single-DLL-Framework-Vtabellen (Qt, MFC, wxWidgets)
    F4capability_modules >= 2Browser-/CRT-Vtabellen, die eine einzelne OS-DLL berühren (z. B. iertutil + ucrtbase + shlwapi)
    F5 (L10)>= 80% der prüfbaren Zeiger landen auf exportierten RVAsWinsock-LSP-Dispatch-Tabellen, Plugin-Callback-Arrays, Vtabellen, die auf interne (nicht exportierte) Methoden zeigen

    Entropie-Analyse & Shellcode-Heuristiken

    Aether unterstützt derzeit die XOR-Erkennung auf Stub-Ebene und verwendet den Shannon-Entropie-Algorithmus, um die Zufälligkeit von Bytewerten in Speicherregionen zu prüfen; alles oberhalb eines Schwellenwerts wird gekennzeichnet. Um die hohe Anzahl an False Positives zu bewältigen, verwendet Aether mehrere Indikatoren.

    C2-Beacon-Erkennung

    • TCP-Verbindungsüberwachung – pollt GetExtendedTcpTable für eine Ziel-PID
    • Beacon-Mustererkennung – identifiziert periodische kurzlebige Verbindungen (klassisches C2-Callback-Verhalten)
    • Verbindungstabellen-Ausgabe – formatierte Konsolentabelle mit Status, Endpunkt, Treffern und Protokoll

    Ausgabemodi

    • Farbiger Konsolenbericht mit schweregradbasierter ANSI-Hervorhebung
    • Maschinenlesbares JSON für SIEM-/d-tect.py-Pipeline-Integration
    • Abgestufte Verdachtsausgabe – jeder MODIFIED_CODE_*-Fund enthält private_pages und region_pages, sodass das Triage die tatsächlichen Zahlen hat
    • Tabellenförmige Ausgabe mit Unicode-Box-Drawing-Zeichen für die Verbindungsüberwachung

    Verwendung

    root@kitploit:~
    Aether.exe --scan --pid <PID> [OPTIONEN]
    Aether.exe --scan --lookup "ProcessName.exe"
    Aether.exe --hunt <PID> SLEEP_MS PERIODE
    Aether.exe --scan-all [OPTIONEN]
    

    Optionen

    FlagBeschreibung
    --pid, -p <PID>Ziel-Prozess-ID, die gescannt werden soll
    --lookup, -l <name>Alle PIDs finden, die zu einem Prozessnamen passen
    --json, -jErgebnisse als JSON ausgeben (für SIEM-Integration)
    --verbose, -vDetailierte Scan-Informationen pro Region anzeigen
    --scan-all, -aAlle Prozesse scannen
    --hunt, -b <PID> [ms] [Treffer]Verbindungen überwachen – alle ms pollen (Standard 2000), Endpunkte mit ≥ Treffer Vorkommnissen kennzeichnen
    --networkingNetzwerküberwachungsmodus
    --rules, -r <Verz>Regelverzeichnis (Standard: rules/)
    --config, -c <Datei>Einzelne Regeldatei (Legacy-Format)
    --dump, ``Bestimmte Speicherregion mit benutzerdefinierter Größe sichern
    --read, ``Speicherregion live im Terminal lesen
    --help, -hHilfe anzeigen

    Kompilieren

    Voraussetzungen

    • Zig 0.16 – hier herunterladen
    • Cross-Kompilierung funktioniert von jedem Host-Betriebssystem (Linux, macOS, Windows)

    Build

    root@kitploit:~
    git clone https://github.com/0xsp-SRD/aether
    cd aether
    
    # Debug-Build (Sicherheitsprüfungen aktiviert)
    zig build
    
    # Release-Build (kleinere, schnellere Binärdatei)
    zig build -Doptimize=ReleaseSafe
    # oder
    zig build -Doptimize=ReleaseFast
    

    Die erstellte ausführbare Datei liegt in zig-out/bin/Aether.exe.

    Bereitstellung

    Kopiere zig-out/bin/Aether.exe und das Verzeichnis rules/ auf die Ziel-Windows-Maschine, wenn du einen zusätzlichen Signatur-Scan durchführen möchtest. Wenn der Zielprozess Administratorrechte erfordert, musst du Aether.exe mit Administratorrechten ausführen.

    Einschränkungen

    • Nur Usermode – kein Kernel-Treiber; Rootkits oder Manipulationen auf Kernelebene können nicht erkannt werden
    • Nur IPv4 – Die TCP-Verbindungsüberwachung unterstützt derzeit keine IPv6-Endpunkte.
    • L5-Disk-Diff benötigt Dateizugriff – Wenn die ursprüngliche Moduldatei gelöscht oder gesperrt wurde, überspringt der On-Disk-Diff dieses Modul stillschweigend (die anderen Ebenen laufen weiter)
    • TSAV-Spoof-Trampolin-Liste wird im eigenen Prozess des Scanners aufgelöst – erfasst den häufigen Fall, dass System-DLLs eine gemeinsame ASLR-Basis in der Sitzung haben, kann aber Ziele mit eindeutigen prozesslokalen Basen übersehen (selten unter Win10+)
    • TSAV-RIP-Sonde erfasst nur angehaltene Threads – eine Win32StartAddress-Überschreibung bei einem bereits laufenden Thread kann nur erkannt werden, wenn der Thread zufällig in einem Wait geparkt ist, wenn die Sonde ihn prüft (gleiche Einschränkung wie Moneta)
    • XOR-PE-Erkennung ist in dieser Version grundlegend

    Lizenz

    Aether Community ist unter der GNU GPL v3.0 lizenziert. Kommerzielle Lizenzen sind für proprietäre oder kommerzielle Nutzung ausschließlich vom Autor erhältlich.

    Tool herunterladen