Skip to content
KitploitKITPLOIT
StrumentiBlog
Invia
StrumentiBlog
Invia

Strumenti di Hacking, PenTest e Cybersecurity per il tuo Arsenale di Sicurezza!

Kitploit è una directory di strumenti di hacking, cybersecurity e pentesting. Scopri gli ultimi aggiornamenti dei progetti per trovare vulnerabilità, analizzare sistemi, automatizzare i test e rafforzare la tua sicurezza.

··Feed·Contatto·Privacy·© 2026 Kitploit

Directory degli strumenti

Categorie

Vedi tutte le categorie
Loading categories
aether — Strumento di memory forensics e threat hunting per Windows che analizza la memoria dei processi in esecuzione alla ricerca di pattern dannosi, tecniche di injection e assembly .NET caricati in modo riflessivo, utilizzando un modello di confidenza a più livelli per ridurre i falsi positivi. | Kitploit
Strumenti/GitHubGitHub/0xsp-srd/aether
Analisi Dinamica (Sandboxing)Memory ForensicsAnalisi delle VulnerabilitàShellcodeInformatica ForenseAnalisi MalwareDigital ForensicsCommand and ControlAnalisi di BinariRisposta agli Incidenti
GitHub0xsp-srd/aether
58432 mesi faRevisionato da Kitploit

Più Popolari

Vedi tutti →

Scopri gli strumenti più utilizzati dalla nostra community.

Esplora tutti gli strumenti

Sfoglia la nostra collezione di strumenti

Vedi tutti gli strumenti →

aether

Vedi Repository

Informazioni

Strumento di memory forensics e threat hunting per Windows che analizza la memoria dei processi in esecuzione alla ricerca di pattern dannosi, tecniche di injection e assembly .NET caricati in modo riflessivo, utilizzando un modello di confidenza a più livelli per ridurre i falsi positivi.

Condividi

Aether logo


Aether

versione : 0.9 (versione stabile)

Aether è uno strumento di memory forensics e threat hunting per Windows che scansiona la memoria dei processi in esecuzione alla ricerca di pattern dannosi, rileva tecniche di injection, firme di implant e assembly .NET caricati in modo riflesso. Funziona con un modello di confidenza multistrato che riduce drasticamente il tasso di falsi positivi e dà la caccia a comportamenti dannosi. Aether ha buone capacità nel rilevare tecniche di Hollowing, APC e thread hijacking. Gli analisti di sicurezza possono usarlo per scansionare, cacciare e creare snapshot di regioni sospette per l'analisi offline.

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

Articoli di ricerca:

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/

Funzionalità principali

Brevi spiegazioni delle funzionalità principali di Aether; puoi leggere il post tecnico completo per maggiori approfondimenti:

Scansione delle firme

  • Corrispondenza di byte-pattern nella memoria del processo con un che offre un'accelerazione di 50-100x rispetto alla scansione semplice
indice di primo byte
  • Doppia codifica ASCII + UTF-16LE — intercetta le stringhe memorizzate dal CLR .NET (dove "msxsl:script" diventa 6D 00 73 00 78 00 ...)
  • Caricamento dinamico delle regole da file JSON — inserisci nuove firme in rules/ senza ricompilare
  • Rilevamento dell'header PE nelle regioni MEM_PRIVATE — segnala assembly .NET caricati in modo riflesso (metadati MZ + PE + BSJB)
  • Indicatori di compromissione (IOC) strutturali della memoria

    Aether applica cinque filtri sopra il segnale grezzo del working set, così un riscontro richiede più indicatori concordanti prima di essere segnalato con il filtraggio dei falsi positivi:

    LivelloFiltroScopo
    L1StrutturaleVengono considerate solo le sotto-regioni IMAGE eseguibili (elimina il rumore COW di .data / .rdata)
    L2QuantitativoClassifica in base al conteggio di private_pages e al private_ratio (basso / medio / alto)
    L3CorroborazionePromuove solo se un segnale indipendente concorda sulla stessa base di allocazione — hit di firma, missing_peb_entry, private_rwx, prologo di hook o diff su disco
    L4Consapevole del CLRSoppressione per-modulo per target ngen / R2R / tiered-JIT (*.ni.dll, mscor*, clr*, coreclr, system.private.corelib*) invece di saltare tutto quando il CLR è caricato
    L5Diff su discoMappa il file del modulo con CreateFileMappingW(SEC_IMAGE_NO_EXECUTE); confronta i primi 16 byte di ogni pagina eseguibile privata con lo stesso RVA su disco. Qualsiasi divergenza è un IOC di modifica reale

    Altri controlli strutturali:

    • Cross-reference dei moduli PEB : allocazioni MEM_IMAGE che non sono nella lista dei moduli del PEB (DLL hollowing / module stomping)
    • Scansione del working set : rilevamento delle pagine di codice modificato tramite K32QueryWorkingSetEx, in batch con una sola syscall per regione invece di una per pagina da 4 KB (≈ 50-100× più veloce del loop semplice)
    • Rilevamento Private RWX : segnala allocazioni MEM_PRIVATE + PAGE_EXECUTE_* (produce risultati FP) (shellcode, JIT spray, allocazioni di stub di codice dinamici)
    • Sonda del prologo di hook — legge i primi 16 byte di ogni pagina di codice privata e confronta i classici trampoline x86/x64:
      • 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 — stile Detours MOV R11, imm64 ; JMP R11
    • Rilevamento CLR — sonda dell'oggetto sezione per Cor_Private_IPCBlock_v4_<PID> e per la v2 Cor_Private_IPCBlock_<PID> (legacy .NET 2/3 / mscorwks), così gli application pool rumorosi che eseguono runtime vecchi non vengono classificati erroneamente

    Validazione dell'indirizzo di inizio dei thread (TSAV / L8)

    Aether controlla i thread con una classificazione più rigorosa e una correlazione incrociata con i risultati L1–L5. Per ogni thread creato nel processo target, Aether legge il suo Win32StartAddress tramite NtQueryInformationThread e, quando i permessi lo consentono, anche il Rip / Eip live tramite GetThreadContext / Wow64GetThreadContext. Ogni indirizzo viene poi classificato come nella tabella seguente; per maggiori dettagli leggi il blog post:

    VerdettoSeveritàCondizione
    TSAV_SHELLCODE_PRIVATECRITICALL'indirizzo si trova in una regione MEM_PRIVATE + PAGE_EXECUTE_* — classico shellcode CreateRemoteThread
    TSAV_SUSPENDED_RIPCRITICALIl Rip del thread sospeso non corrisponde a Win32StartAddress e risolve in una regione sospetta — intercetta lo spoofing di Win32StartAddress (trucchi EarlyBird / APC) e gli hijack di SetThreadContext
    TSAV_HOLLOWED_HOSTHIGHIndirizzo all'interno di un'allocazione MEM_IMAGE che non è nella lista dei moduli del PEB (DLL hollowing / module stomping)
    TSAV_MODIFIED_HOSTHIGHIndirizzo all'interno di un'allocazione MEM_IMAGE che il pipeline L1–L5 ha già segnalato come MODIFIED_CODE_*, MISSING_PEB, PRIVATE_RWX, DISK_MEM_DIFF o HOOK_PROLOGUE
    TSAV_STAGED_PRIVATE_RWHIGHMEM_PRIVATE + PAGE_READWRITE — staging di shellcode pre-VirtualProtect
    TSAV_MAPPED_NONPEMEDIUMMEM_MAPPED (sezione supportata da pagefile) senza header PE — loader riflessivo sRDI / pagefile
    TSAV_SPOOF_TRAMPOLINEMEDIUML'indirizzo corrisponde a un trampoline in denylist (LoadLibraryA/W/ExA/W, WinExec, CreateProcessA/W, VirtualAlloc[Ex], RtlExitUserThread, RtlExitUserProcess, NtTerminateProcess, ShellExecuteA/W)

    Cosa rende questo più forte del semplice controllo "l'indirizzo di inizio è in un modulo":

    • Controllo incrociato con VirtualQueryEx — ogni indirizzo viene interrogato per Type / Protect / AllocationBase in una singola chiamata O(1) invece di una scansione lineare dell'elenco dei moduli
    • Correlazione incrociata con L1–L5 — un thread il cui inizio cade in un'allocazione già segnalata viene promosso da "OK" a TSAV_MODIFIED_HOST
    • Coerenza PEB — i moduli hollowed vengono rilevati anche quando l'indirizzo di inizio ricade tecnicamente in un intervallo "reale"
    • Sonda RIP sospeso — Win32StartAddress è scrivibile dal processo tramite NtSetInformationThread ed è il campo spoofabile; il Rip live di un thread sospeso è quello che un loader non può riscrivere facilmente. Confrontiamo i due e segnaliamo qualsiasi discordanza che risolva in una regione sospetta
    • Consapevole di WoW64 — passa automaticamente a Wow64GetThreadContext e legge Eip per i thread a 32 bit all'interno di un processo a 64 bit
    • Scaletta dei diritti di accesso — per ogni thread ripiega da QUERY_INFORMATION | GET_CONTEXT → QUERY_INFORMATION → QUERY_LIMITED_INFORMATION, così gli scenari con accesso parziale producono comunque classificazioni utili

    L9 + L10 - Rilevamento della tabella API nell'heap con correlazione cross-module

    La risoluzione runtime delle API è una tecnica usata frequentemente dal malware. Il meccanismo di rilevamento di Aether identifica questo comportamento scansionando l'heap alla ricerca di indirizzi e puntatori validi di moduli e correlando i risultati con i criteri di filtraggio descritti di seguito:

    Ogni filtro elimina una specifica classe di falsi positivi osservata nella telemetria reale:

    FiltroRegolaClasse di FP che rimuove
    F1count >= 5dati casuali a forma di puntatore, NULL, HMODULES
    F2rifiuta sequenze che puntano solo all'EXE hostvtable C++ della classe applicazione
    F3distinct_modules >= 2vtable di framework a DLL singola (Qt, MFC, wxWidgets)
    F4capability_modules >= 2vtable di browser / CRT che toccano una singola DLL di sistema (es. iertutil + ucrtbase + shlwapi)
    F5 (L10)>= 80% dei puntatori controllabili ricade su RVA esportatetabelle dispatch LSP di Winsock, array di callback di plugin, vtable che puntano a metodi interni (non esportati)

    Analisi dell'entropia ed euristiche per shellcode

    Aether supporta al momento il rilevamento di pattern XOR a livello di stub e adotta l'algoritmo dell'entropia di Shannon per verificare la casualità dei valori dei byte nelle regioni di memoria; segnala tutto ciò che supera una soglia. Per gestire l'elevato numero di falsi positivi, Aether utilizza più indicatori.

    Rilevamento beacon C2

    • Monitoraggio delle connessioni TCP — interroga GetExtendedTcpTable per un PID target
    • Rilevamento di pattern beacon — identifica connessioni periodiche di breve durata (classico comportamento di callback C2)
    • Output tabellare delle connessioni — tabella console formattata con stato, endpoint, hit e protocollo

    Modalità di output

    • Report console colorato con evidenziazione ANSI basata sulla severità
    • JSON leggibile da macchina per l'integrazione con pipeline SIEM / d-tect.py
    • Output di sospetto graduato — ogni riscontro MODIFIED_CODE_* include private_pages e region_pages, così il triage ha i numeri reali
    • Output formattato a tabella con caratteri Unicode box-drawing per il monitoraggio delle connessioni

    Utilizzo

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

    Opzioni

    FlagDescrizione
    --pid, -p <PID>ID del processo target da scansionare
    --lookup, -l <name>Trova tutti i PID che corrispondono a un nome di processo
    --json, -jRestituisce i risultati in JSON (per l'integrazione con SIEM)
    --verbose, -vMostra i dettagli di scansione per regione
    --scan-all, -aScansiona tutti i processi
    --hunt, -b <PID> [ms] [hits]Monitora le connessioni — interroga ogni ms (default 2000), segnala gli endpoint con ≥ hits occorrenze
    --networkingModalità di monitoraggio della rete
    --rules, -r <dir>Directory delle regole (default: rules/)
    --config, -c <file>File di regole singolo (formato legacy)
    --dump, ``Dump di una specifica regione di memoria con dimensione personalizzata
    --read, ``Legge il contenuto di una regione di memoria in tempo reale sul terminale
    --help, -hMostra l'aiuto

    Come compilare

    Prerequisiti

    • Zig 0.16 — scarica qui
    • La cross-compilazione funziona da qualsiasi sistema operativo host (Linux, macOS, Windows)

    Compilazione

    root@kitploit:~
    git clone https://github.com/0xsp-SRD/aether
    cd aether
    
    # Debug build (safety checks enabled)
    zig build
    
    # Release build (smaller, faster binary)
    zig build -Doptimize=ReleaseSafe
    # or
    zig build -Doptimize=ReleaseFast
    

    L'eseguibile compilato si trova in zig-out/bin/Aether.exe.

    Distribuzione

    Copia zig-out/bin/Aether.exe e la directory rules/ sulla macchina Windows target se vuoi eseguire ulteriori scansioni di firme. Se il processo target richiede privilegi amministrativi, devi eseguire Aether.exe con privilegi di amministratore.

    Limitazioni

    • Solo usermode — nessun driver kernel; non può rilevare rootkit o manipolazioni a livello kernel
    • Solo IPv4 — il monitoraggio delle connessioni TCP non supporta per ora endpoint IPv6.
    • Il diff su disco L5 richiede l'accesso al file — se il file del modulo originale è stato eliminato o è bloccato, il diff su disco salta silenziosamente quel modulo (gli altri livelli continuano comunque a funzionare)
    • La lista spoof-trampoline di TSAV viene risolta nel processo dello scanner stesso — intercetta il caso comune in cui le DLL di sistema condividono una base ASLR a livello di sessione, ma potrebbe non rilevare target con basi uniche per processo (raro su Win10+)
    • La sonda RIP di TSAV intercetta solo thread sospesi — una riscrittura di Win32StartAddress su un thread già in esecuzione può essere rilevata solo se il thread si trova in uno stato di attesa quando viene sondato (stesso vincolo di Moneta)
    • Il rilevamento XOR-PE è basilare in questa versione

    Licenza

    Aether Community è concesso in licenza sotto GNU GPL v3.0. Licenze commerciali disponibili solo dall'autore per uso proprietario o commerciale.

    Scarica lo strumento