Skip to content
KitploitKITPLOIT
StrumentiExploitsBlog
Log in
Invia
StrumentiExploitsBlog
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.

FeedContattoPrivacy© 2026 Kitploit

Directory degli strumenti

Categorie

Vedi tutte le categorie
Loading categories
Nemesis — .NET process monitor che aggancia il CLR a livello nativo, estrae gli assembly riflessivi dalla memoria e verifica l'integrità di AMSI/ETW rispetto ai binari su disco. | Kitploit
Strumenti/GitHubGitHub/zypherion-technologies/nemesis
Strumenti DifensiviAnalisi Dinamica (Sandboxing)Memory ForensicsReverse EngineeringAnalisi Malware
GitHubzypherion-technologies/nemesis

Nemesis

.NET process monitor che aggancia il CLR a livello nativo, estrae gli assembly riflessivi dalla memoria e verifica l'integrità di AMSI/ETW rispetto ai binari su disco.

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 →
Vedi Repository
4143211 giorni faRevisionato da Kitploit
Condividi

Nemesis

Website Discord Telegram X

strumento windows che ho fatto perché mi sono stancato di fissare i fork di jlaive nei campioni malware senza nulla di pubblico per smontarli davvero a runtime.

in breve, è un monitor di processi .net che aggancia il clr a livello nativo, traccia i caricamenti riflessivi degli assembly e dumpa automaticamente i pe direttamente dalla memoria. controlla anche l'integrità di amsi ed etw rispetto ai binari originali su disco, rilevando tecniche di bypass come il patching delle stringhe in clr.dll e l'uso diretto di LoadFromBuffer.

dove trovare i campioni? consiglio di dare un'occhiata a https://tria.ge (non è una sponsorizzazione) e puoi scaricare qualsiasi campione tu voglia e filtrare in base a una famiglia

perché questo nome?

ti starai chiedendo, perché il nome nemesis?

perché rappresenta esattamente lo scopo dello strumento. una nemesi è qualcosa che rappresenta una sfida costante o la rovina per un avversario e questa è l'idea dietro questo progetto.

nel mito greco nemesis era lo spirito della punizione divina, colui che infliggeva la giusta punizione a chiunque diventasse troppo arrogante o si credesse intoccabile. un po' troppo esplicito per malware che si vanta di essere "fud" se mi chiedi.

perché esiste

sono un analista di malware. se fai questo lavoro (hobby per me) abbastanza a lungo inizi a vedere le stesse catene di loader ripetersi all'infinito, specialmente da quando jlaive (chiamato anche crybat) è esploso e ogni script kiddie l'ha forkato.

lo schema è stupido semplice ma fastidioso da morire da gestire:

qualcosa.bat  →  powershell offuscato  →  stub csharp  →  il tuo payload reale

fai doppio clic su un .bat che sembra insalata di parole. cmd avvia powershell con un muro di spazzatura. powershell decripta/decomprime uno stub .net (aes, gzip, base64). quello stub patcha amsi + etw, carica riflessivamente l'exe/dll reale in memoria e hai finito, niente di amichevole tocca mai il disco in una forma utile.

questo mi dava fastidio. non c'è davvero un buon strumento pubblico mirato a combattere questa catena specifica, agganciando dove il payload .net si materializza davvero, dumpandolo prima che il processo si autodistrugga, catturando le patch amsi/etw che questi stub fanno sempre. così ho costruito nemesis.

non è un proiettile d'argento. non sostituirà il tuo sandbox. ma ti dà qualcosa di reale da eseguire contro un .bat sospetto su una macchina di test e tirare fuori davvero gli artefatti.

cosa fa effettivamente

launcher (Launcher.exe)

  • crea il tuo target sospeso (exe, bat, cmd, qualunque cosa)
  • inietta Nemesis.dll prima che il main thread parta
  • aspetta che nemesis dica che è pronto
  • riprende. se il target genera processi figli powershell, il launcher può iniettare anche quelli

nemesis dll (Nemesis.dll)

  • aggancia i percorsi di caricamento del clr che gli stub in stile jlaive colpiscono davvero:
    • nLoadImage
    • nLoadFile
    • AssemblyNative::LoadFromBuffer (pattern risolto da nLoadImage)
  • quando un pe riflessivo appare in memoria -> accoda un dump in %TEMP%\Nemesis_dumps
  • confronta gli export live di amsi.dll / ntdll.dll con le copie su disco (cattura la classica patch ret su AmsiScanBuffer / EtwEventWrite)
  • il controllo amsi esamina anche le stringhe in .rdata del clr quando il clr è caricato (alcuni bypass patchano quelle invece, c'è un ottimo paper di vxug a riguardo chiamato; 2024-11-21 - New AMSI Bypss Technique Modifying CLRDLL in Memory.pdf )
  • logga su console (colorata) + %TEMP%\Nemesis.log ha anche ENABLE_VIRTUAL_TERMINAL_PROCESSING per evitare problemi con la console che diciamo è un po' strana :D

in pratica: lascia che la catena del bat vada, cattura il payload dove il crypter lo carica davvero, e logga i trucchi di evasione lungo il percorso.

Prova:

image image image

build

serve visual studio 2022+ con c++ desktop + masm (x64).

apri Nemesis.slnx, scegli Release | x64, compila la soluzione.

esecuzione su un target reale

questo è il caso d'uso effettivo, puntalo su un bat sospetto e vedi cosa salta fuori:

cd x64\Release
.\Launcher.exe "C:\path\to\suspicious.bat"

gli argomenti extra dopo -- vengono passati al target:

.\Launcher.exe myapp.exe -- --some-flag

percorso dll personalizzato:

.\Launcher.exe --dll C:\path\Nemesis.dll myapp.exe

artefatti:

  • log → %TEMP%\Nemesis.log
  • pe dumpati → %TEMP%\Nemesis_dumps

cosa è / cosa non è nemesis

è:

  • un helper di analisi runtime per crypter in stile jlaive (catene bat → ps1 → csharp)
  • utile su una vm di laboratorio quando hai un campione e vuoi dump in memoria + telemetria amsi/etw
  • aperto ad altri analisti per usarlo, estenderlo, lamentarsi

non è:

  • un sostituto di un edr
  • garantito di catturare ogni variante forkata (cambiamenti di offuscamento, nuovi bypass, es. amsi/etw patchless perché al momento non è fatto per questo e ho intenzione di cambiarlo in futuro magari questo diventerà un toolkit per linguaggi managed)

note

  • solo x64 per i detour dell'asm del clr al momento
  • gli host cmd.exe spesso non hanno clr, nemesis segnala comunque pronto così il launcher non si blocca, il lavoro vero avviene quando appare powershell/dotnet
  • la rebuild fallisce con LNK1104? qualcosa ha ancora nemesis.dll caricata, uccidi il target e ricompila
  • il rumore di pwsh.exe vcpkg durante la build è innocuo, ignoralo

letture consigliate (l'ecosistema jlaive)

se vuoi capire cosa stai combattendo:

  • Trend Micro su BatCloak / Jlaive — il layer cake bat → ps1 → csharp
  • Fortinet su ScrubCrypt — il fastidioso successore di jlaive, se ti interessa cosa c'era di leggermente diverso in scrubcrypt era il fatto che incanalavano i comandi con il segno pipe nel .bat, funziona piuttosto bene...
  • Unprotect.it — ScrubCrypt — analisi della tecnica
  • https://github.com/backdoorskid/ClrAmsiScanPatcher - trova la stringa .net come menzionato prima, consiglio di leggere quel file .pdf :)

disclaimer

usando nemesis accetti questo. è fornito così com'è con nessuna garanzia — ti assumi tutti i rischi.

sei l'unico responsabile per un uso legale e autorizzato (vm di laboratorio, sistemi di tua proprietà, permesso esplicito). nella misura massima consentita dalla legge, gli autori e zypherion.tech declinano ogni responsabilità per qualsiasi danno, perdita o rivendicazione legale derivante dall'uso o dall'abuso. vedi LICENSE per i termini completi.

licenza

Scarica lo strumento