
NebulaPulsar ist ein Proof-of-Concept-In-Memory-Implant-Framework für Java (JSP) und ASP.NET (ASPX/ASHX/ASMX) Webshells, ursprünglich entwickelt als Teil des Alien-Projekts.
Update: Dieses Projekt ist jetzt ein Unterprojekt von Alien, um meine Ideen zu demonstrieren und experimentelle Zwecke zu verfolgen.
NebulaPulsar ist ein Proof-of-Concept-In-Memory-Implant-Framework für Java (JSP) und ASP.NET (ASPX/ASHX/ASMX), das ursprünglich im Rahmen des Alien-Projekts entwickelt wurde.
Im Gegensatz zu traditionellen Webshell-Demonstrationen, die sich ausschließlich auf die Ausführung von Befehlen konzentrieren, untersucht NebulaPulsar, wie ein In-Memory-Implant einen verschlüsselten Kommunikationskanal aufbauen, Payloads dynamisch laden und vollständig im Arbeitsspeicher ausführen kann.
Das Projekt ist für Sicherheitsforschung, Malware-Analyse und defensive Schulungszwecke gedacht. Es ist nicht als operatives offensives Framework konzipiert.
Technische Details:
Wenn Sie dieses Projekt hilfreich oder informativ finden, würde ich mich sehr über einen ⭐ auf dem Repository freuen. Ihre Unterstützung wäre eine großartige Motivation, dieses Tool weiterzuentwickeln.
"If you shame attack research, you misjudge its contribution. Offense and defense aren't peers. Defense is offense's child." — John Lambert
Dieses Projekt wurde ausschließlich zu Bildungs-, Forschungs- und defensiven Cybersicherheitszwecken erstellt.
Sein Zweck ist es, die Implementierung moderner In-Memory-Implants, verschlüsselter Kommunikation und dynamischer Payload-Ausführung auf Java- und .NET-Plattformen zu untersuchen.
Das Projekt ist nicht für unbefugten Zugriff, Persistenz oder böswillige Bereitstellung vorgesehen. Jegliche Nutzung gegen Systeme ohne ausdrückliche Genehmigung wird ausdrücklich abgelehnt.
Der Autor übernimmt keine Verantwortung für Missbrauch oder Schäden, die aus diesem Projekt resultieren.
Während der Entwicklung von Alien wollte ich besser verstehen, wie moderne speicherresidente Webshells und Implants intern aufgebaut sind.
Viele öffentlich verfügbare Webshells konzentrieren sich auf die Funktionalität, erklären aber selten, warum sie auf diese Weise implementiert sind. Funktionen wie verschlüsselte Kommunikation, In-Memory-Payload-Ausführung, dynamisches Klassenladen und sitzungsbasierte Implants werden oft als Black Boxes behandelt.
NebulaPulsar wurde entwickelt, um diese Lücke zu schließen.
Anstatt eine bestehende Implementierung zu klonen, untersucht dieses Projekt die zugrunde liegenden Konzepte moderner Speicher-Implants und demonstriert, wie diese Ideen sowohl auf der Java- als auch auf der .NET-Plattform umgesetzt werden können.
Während des Entwicklungsprozesses habe ich unter anderem folgende Themen studiert:
ClassLoader-InternaAssembly.Load() und ReflexionDas Ziel ist es zu verstehen, wie diese Techniken funktionieren, nicht ihren Missbrauch zu fördern.
Dieses Framework ist in zwei Ebenen unterteilt:
NebulaPulsar ist das residente In-Memory-Implant. Es ist verantwortlich für:
DarkMatter ist der von NebulaPulsar ausgeführte Payload.
Es implementiert die eigentliche Post-Exploitation-Logik, bleibt dabei unabhängig von der Transportschicht und kann leicht um zusätzliche Module und Fähigkeiten erweitert werden.
NebulaPulsar wird zuerst in die Ziel-Webshell injiziert und verbleibt resident im Speicher.
Nach der Initialisierung wird ein verschlüsselter Kommunikationskanal aufgebaut und auf eingehende Payloads gewartet.
Nachfolgende Payloads, wie DarkMatter, werden dann über diesen Kanal zugestellt. NebulaPulsar entschlüsselt den Payload, lädt ihn direkt in den Speicher und übergibt die Ausführung an ihn.
DarkMatter ist für die Implementierung erweiterter Funktionalitäten zuständig, während NebulaPulsar leichtgewichtig bleibt und sich auf Payload-Management und Kommunikation konzentriert.
Herunterladen:
wget https://github.com/iss4cf0ng/NebulaPulsar/releases/latest/download/NebulaPulsar.tar.gz
tar -xzf NebulaPulsar.tar.gz
cd ./NebulaPulsar
Mit Python ausführen:
python3 main.py --url http://localhost/nebulapulsar.jsp --script java --encoding='utf-8'
Vielen Dank, dass Sie sich dieses Projekt angesehen haben. Rückmeldungen und Vorschläge sind willkommen.