
NebulaPulsar è un framework di impianti in-memory proof-of-concept per webshell Java (JSP) e ASP.NET (ASPX/ASHX/ASMX), sviluppato originariamente come parte del progetto Alien.
Aggiornamento: Questo progetto è ora un sottoprogetto di Alien per dimostrare le mie idee e per scopi sperimentali.
NebulaPulsar è un framework proof-of-concept di implant in-memory per Java (JSP) e ASP.NET (ASPX/ASHX/ASMX), sviluppato originariamente come parte del progetto Alien.
A differenza delle dimostrazioni tradizionali di webshell che si concentrano esclusivamente sull'esecuzione di comandi, NebulaPulsar esplora come un implant in-memory può stabilire un canale di comunicazione crittografato, caricare dinamicamente payload ed eseguirli interamente in memoria.
Il progetto è pensato per la ricerca sulla sicurezza, l'analisi malware e la formazione difensiva. Non è progettato per essere un framework offensivo operativo.
Dettagli tecnici:
Se trovi questo progetto utile o informativo, apprezzerei molto una ⭐ sul repository. Il tuo supporto sarebbe una grande motivazione per continuare a migliorare questo strumento.
"Se attacchi la ricerca offensiva, ne fraintendi il contributo. Offesa e difesa non sono pari. La difesa è figlia dell'offesa." — John Lambert
Questo progetto è stato creato esclusivamente per scopi educativi, di ricerca e di cybersecurity difensiva.
Il suo scopo è studiare l'implementazione di moderni implant in-memory, comunicazione crittografata ed esecuzione dinamica di payload su piattaforme Java e .NET.
Il progetto non è inteso per accessi non autorizzati, persistenza o distribuzione malevola. Qualsiasi uso contro sistemi senza esplicita autorizzazione è fortemente sconsigliato.
L'autore non si assume alcuna responsabilità per qualsiasi uso improprio o danno derivante da questo progetto.
Durante lo sviluppo di Alien, volevo capire meglio come sono progettati internamente i moderni webshell e implant residenti in memoria.
Molti webshell pubblici si concentrano sulla funzionalità ma raramente spiegano perché sono implementati in quel modo. Caratteristiche come comunicazione crittografata, esecuzione di payload in memoria, caricamento dinamico di classi e implant basati su sessione sono spesso trattate come scatole nere.
NebulaPulsar è stato creato per colmare questa lacuna.
Invece di clonare un'implementazione esistente, questo progetto esplora i concetti sottostanti ai moderni implant di memoria e dimostra come tali idee possono essere implementate sia sulla piattaforma Java che su quella .NET.
Durante il processo di sviluppo, ho studiato argomenti tra cui:
ClassLoader in JavaAssembly.Load() e reflection in .NETL'obiettivo è capire come funzionano queste tecniche, non incoraggiarne l'uso improprio.
Questo framework è suddiviso in due livelli:
NebulaPulsar è l'implant residente in memoria. È responsabile di:
DarkMatter è il payload eseguito da NebulaPulsar.
Implementa la logica effettiva di post-sfruttamento, rimanendo indipendente dal livello di trasporto, rendendo facile estenderlo con moduli e capacità aggiuntive.
NebulaPulsar viene prima iniettato nel webshell di destinazione e rimane residente in memoria.
Una volta inizializzato, stabilisce un canale di comunicazione crittografato e attende i payload in arrivo.
I payload successivi, come DarkMatter, vengono poi consegnati attraverso questo canale. NebulaPulsar decifra il payload, lo carica direttamente in memoria e trasferisce l'esecuzione ad esso.
DarkMatter è responsabile dell'implementazione di funzionalità più avanzate, mentre NebulaPulsar rimane leggero e si concentra sulla gestione dei payload e sulla comunicazione.
Scarica:
wget https://github.com/iss4cf0ng/NebulaPulsar/releases/latest/download/NebulaPulsar.tar.gz
tar -xzf NebulaPulsar.tar.gz
cd ./NebulaPulsar
Esegui con Python:
python3 main.py --url http://localhost/nebulapulsar.jsp --script java --encoding='utf-8'
Grazie per aver visitato questo progetto. Feedback e suggerimenti sono benvenuti.