
NebulaPulsarは、Java(JSP)およびASP.NET(ASPX/ASHX/ASMX)用のウェブシェルの概念実証のインメモリインプラントフレームワークであり、もともとはAlienプロジェクトの一部として開発されました。
更新: このプロジェクトは現在、私のアイデアと実験目的を示すために Alien のサブプロジェクトとなっています。
NebulaPulsarは、Java(JSP)および ASP.NET(ASPX/ASHX/ASMX)向けの概念実証型インメモリインプラントフレームワークであり、もともとはAlienプロジェクトの一部として開発されました。
従来のウェブシェルのデモがコマンド実行のみに焦点を当てているのとは異なり、NebulaPulsarは、インメモリインプラントが暗号化された通信チャネルを確立し、ペイロードを動的にロードし、それらを完全にメモリ上で実行する方法を探求します。
このプロジェクトは、セキュリティ研究、マルウェア分析、防御教育を目的としています。運用可能な攻撃用フレームワークとして設計されていません。
技術詳細:
このプロジェクトが役立つ、または参考になると感じられたなら、リポジトリに⭐をいただけると大変嬉しく思います。皆様のサポートは、このツールを改良し続ける大きな励みになります。
「攻撃研究を恥じるなら、その貢献を誤って判断している。攻撃と防御は同等ではない。防御は攻撃の子である。」 — ジョン・ランバート
このプロジェクトは、教育、研究、および防御的なサイバーセキュリティ目的のみで作成されました。
その目的は、Javaおよび.NETプラットフォームにおける現代のインメモリインプラント、暗号化通信、動的ペイロード実行の実装を研究することです。
このプロジェクトは、不正アクセス、永続化、悪意のある展開を意図していません。明示的な許可なくシステムに対して使用することは固く禁じられています。
著者は、このプロジェクトに起因する悪用や損害について一切の責任を負いません。
Alien を開発する中で、現代のメモリ常駐型ウェブシェルやインプラントが内部でどのように設計されているのかをより深く理解したいと考えました。
公開されている多くのウェブシェルは機能に焦点を当てていますが、なぜそのように実装されているのかを説明することはほとんどありません。暗号化通信、インメモリペイロード実行、動的クラスローディング、セッションベースのインプラントなどの機能は、ブラックボックスとして扱われることがよくあります。
NebulaPulsarは、そのギャップを埋めるために作成されました。
既存の実装を複製するのではなく、このプロジェクトは現代のメモリインプラントの背後にある基本概念を探求し、それらのアイデアをJavaと.NETの両方のプラットフォームで実装する方法を示します。
開発プロセスを通じて、以下のトピックを研究しました。
ClassLoader内部Assembly.Load()とリフレクション目標は、これらの技術がどのように機能するかを理解することであり、その悪用を促進することではありません。
このフレームワークは2つのレイヤーに分かれています。
NebulaPulsarは常駐型のインメモリインプラントであり、以下の役割を担います。
DarkMatterは、NebulaPulsarによって実行されるペイロードです。
実際のポストエクスプロイトロジックを実装しながら、トランスポート層から独立しているため、追加のモジュールや機能で拡張が容易です。
NebulaPulsarは最初にターゲットのウェブシェルに注入され、メモリ内に常駐します。
初期化されると、暗号化された通信チャネルを確立し、着信ペイロードを待機します。
続いて、DarkMatter などのペイロードがこのチャネルを介して配信されます。NebulaPulsarはペイロードを復号し、直接メモリにロードして実行を引き渡します。
DarkMatterはより高度な機能を実装する役割を担い、NebulaPulsarは軽量であり続け、ペイロード管理と通信に集中します。
ダウンロード:
wget https://github.com/iss4cf0ng/NebulaPulsar/releases/latest/download/NebulaPulsar.tar.gz
tar -xzf NebulaPulsar.tar.gz
cd ./NebulaPulsar
Pythonで実行:
python3 main.py --url http://localhost/nebulapulsar.jsp --script java --encoding='utf-8'
このプロジェクトをご覧いただきありがとうございます。フィードバックや提案をお待ちしています。