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
MorphAES — IDPS & SandBox & AntiVirus UCCISORE FURTIVO. MorphAES è il primo motore polimorfo di shellcode al mondo, con proprietà metamorfiche e capacità di bypassare i sandbox, rendendolo non rilevabile per un IDPS; è multipiattaforma e indipendente dalle librerie. | Kitploit
Strumenti/GitHubGitHub/cryptolok/morphaes
ExploitEvasione IDS/IPSShellcodePenetration TestingGenerazione di ShellcodeSviluppo PayloadBinary Exploitation
GitHubcryptolok/morphaes

MorphAES

IDPS & SandBox & AntiVirus UCCISORE FURTIVO. MorphAES è il primo motore polimorfo di shellcode al mondo, con proprietà metamorfiche e capacità di bypassare i sandbox, rendendolo non rilevabile per un IDPS; è multipiattaforma e indipendente dalle librerie.

Vedi Repository
3241034 anni 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 →
Condividi

MorphAES

IDPS & SandBox & AntiVirus STEALTH KILLER.

MorphAES è il primo motore polymorphic di shellcode al mondo, con proprietà metamorfiche e la capacità di bypassare i sandbox, che lo rende non rilevabile per un IDPS, è anche cross-platform e indipendente dalle librerie.

Proprietà:

  • Polimorfismo (cifratura AES)
  • Metamorfismo (cambiamento di logica e costanti)
  • Indipendente dalla piattaforma (Linux/BSD/Windows)
  • Furtività IDPS (il numero totale di possibili firme è superiore al numero di atomi nell'universo per un dato codice)
  • Evitamento sandbox (istruzioni assembly speciali)
  • Evitamento caratteri cattivi (\x00, \x04, \x05, \x09, \x0a, \x20)
  • Può produrre eseguibili ed essere sfruttato da remoto
  • Il codice in input può avere lunghezza arbitraria
  • Possibilità di uno slittamento NOP

Dipendenze per il morpher:

  • Python 2.7 - motore principale

Dipendenze per l'esecuzione del codice:

  • Intel AES-NI a 64 bit - per la decifratura

Tuttavia, ci sono alcune limitazioni (alias aspetti white-hat):

  • Il metamorfismo non è molto robusto e può essere rilevato utilizzando espressioni regolari (ma può essere migliorato abbastanza facilmente)
  • I byte nulli Unicode potrebbero ancora funzionare (ma a chi importa?)
  • Funzionerà solo su processori Intel a 64 bit con supporto AES-NI, ma poiché tutti i PC degli utenti (come Pentium, Celeron, i3, i5, i7) e i server dell'industria (come Xeon) lo possiedono, è più una specifica che una limitazione, quindi un'implementazione a 32 bit è poco pratica
  • Quasi ogni shellcode è garantito funzionare, tuttavia un codice arbitrario no (per evitare abusi di malware)
  • I PoC e gli eseguibili per Windows/BSD sono in fase di sviluppo, così come la versione ARM

Come funziona

  1. Padding dello shellcode con NOP (poiché AES è un cifrario a blocchi) e aggiunta di uno slittamento NOP opzionale
  2. Cifratura dello shellcode con una chiave casuale usando AES-128-ECB personalizzato (non il migliore, ma il più semplice) - polimorfismo
  3. Randomizzazione delle costanti, cambiamenti logici, modifica e riscrittura delle istruzioni - metamorfismo

Come fare

Dovrai assemblare la mia implementazione personalizzata AESNI-128-ECB usando una CPU Intel x64 e metterla nella stessa cartella dello script Python.

Per Linux:

root@kitploit:~
sudo apt-get install python
as --64 AES.s -o AES.o
ld AES.o -o AES

Esegui lo script Python e inserisci il tuo shellcode o nulla per uno shell Linux predefinito. Puoi anche specificare il tuo indirizzo di esecuzione.

È anche possibile compilare ed eseguire su Windows/BSD/Mac, ma lo sto ancora testando.

Puoi testare il PoC Linux in assembly:

root@kitploit:~
as --64 shellcodePoC.s -o shellcodePoC.o
ld shellcodePoC.o -o shellcodePoC
./shellcodePoC

o in C:

root@kitploit:~
gcc -m64 -fno-stack-protector -z execstack shellcode.c -o shellcode
./shellcode

Ogni file è commentato e spiegato.

Test

A questo punto, dovrebbe essere abbastanza ovvio che gli hash saranno diversi ogni volta, ma confrontiamo gli SSDEEP di 2 eseguibili Linux dello stesso shellcode:

  • 96:GztTHyKGQh3lo6Olv4W4zS/2WnDf74i4a4B7UEoB46keWJl09:Gzty6VOlvqSTDflmNroh,
  • 96:GQtT23yKmFUh3lo6OlOnIrFS4rkoPPf74i4a4B7UEoB46keWJ5:GQtCGWVOlOWFSsPflmNroh,

Beh, c'è qualcosa in comune, ma globalmente sono 2 firme diverse, ora che dire dello shellcode stesso:

  • 6:Cq8bnJYn4Xkm3qECaADATyEnT8snTiETiTCfhUaAP6mYGexCKdKZzX+rqVCKdKTc:xuJ0Zp2xRZof79G/KVyk/KTbA,
  • 6:vrg+T1RfLEQD/zD1DZzDJ3zDBfjDcDRJDULUwzWq0Cgk3g4zE/Yq0Cgk3gy12Ots:vLjjEszWCp3w/YCp3Nts,

Firme quasi totalmente diverse per lo stesso shellcode morphato!

Alla data di pubblicazione, l'eseguibile veniva rilevato come shellcode solo da 2 antivirus su 53 (AVG e Ikarus) su virustotal, ma ora, non riesce nemmeno ad essere analizzato.

malwr e cuckoo2 non vedono nulla di sospetto.

Dal punto di vista del reverser, IDA non vedrà nulla.

Radare2 mostrerà le istruzioni reali solo se assemblato dall'assemblatore stesso, tuttavia non rileva alcuna attività crittografica o sospetta per l'eseguibile.

Anche se non l'ho testato personalmente, penso che FortiSandbox, Sophos Sandstorm, Blue Coat, GateWatcher e i loro derivati potrebbero fallire miseramente...

In poche parole

Fondamentalmente, può trasformare il codice di uno script-kid (o un codice noto) in un zero-day.

Gli IDPS falliranno perché è quasi impossibile creare una firma e difficile fare un'espressione regolare o un'analisi euristica.

La maggior parte dei sandbox non utilizzano direttamente le istruzioni Intel AES-NI, quindi non eseguiranno il codice, quindi "tutto è a posto" per loro, mentre non lo è.

L'unico modo per sconfiggere questo tipo di shellcode è utilizzare un sandboxing appropriato e/o un'IA.

Ovviamente anche DEP/NX/CANARY/ASLR dovrebbero funzionare.

Nota che l'intera esecuzione è fatta in puro assembly, nessun Python (o OpenSSL) è necessario per l'esecuzione dello shellcode poiché utilizzo solo istruzioni assembly integrate, quindi è indipendente dal sistema (certamente, dovrai assemblarlo per ciascuno adattando le istruzioni/opcode, ma sono comunque gli stessi).

Note

Questo è ancora un lavoro in corso, implementerò i motori e i PoC per Windows e BSD/Mac al più presto.

Gli IDPS e i sandbox sono il passato.

"La tradizione diventa la nostra sicurezza, e quando la mente è sicura è in decadenza."

Jiddu Krishnamurti

Scarica lo strumento