Skip to content
KitploitKITPLOIT
ツールエクスプロイトブログ
Log in
提出
ツールエクスプロイトブログ
提出

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

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

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

ツールディレクトリ

カテゴリ

すべてのカテゴリを見る
Loading categories
CVE-2021-21978 — エコーバージョン付きエクスプロイトスクリプト | Kitploit
ツール/GitHubGitHub/skytina/cve-2021-21978
脆弱性分析エクスプロイトウェブアプリケーション悪用ペネトレーションテストレッドチーミングペイロード開発
GitHubskytina/cve-2021-21978

CVE-2021-21978

エコーバージョン付きエクスプロイトスクリプト

リポジトリを見る
255115年前Kitploit レビュー済み

人気

すべて見る →

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

すべてのツールを探索

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

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

CVE-2021-21978

エコーバージョンのエクスプロイトスクリプト、より簡単な方法

0. 脆弱性情報

VMware View PlannerのWeb管理インターフェースには、ログ機能ファイルをアップロードするエントリがあり、認証がなく、書き込まれるログファイルのパスがユーザー制御可能です。アップロードログ機能ファイルlog_upload_wsgi.pyを上書きすることで、RCEを実現できます。

脆弱性コード:

def application(environ, start_response):
    logger.debug("application called")

    if environ['REQUEST_METHOD'] == 'POST':
        post = cgi.FieldStorage(
            fp=environ['wsgi.input'],
            environ=environ,
            keep_blank_values=True
        )

        # TO DO: Puth path in some config or read from config is already available
        resultBasePath = "/etc/httpd/html/vpresults"
        try:
            filedata = post["logfile"]
            metaData = post["logMetaData"]

            if metaData.value:
                logFileJson = LogFileJson.from_json(metaData.value)

            if not os.path.exists(os.path.join(resultBasePath, logFileJson.itrLogPath)):
                os.makedirs(os.path.join(resultBasePath, logFileJson.itrLogPath))

            if filedata.file:
                if (logFileJson.logFileType == agentlogFileType.WORKLOAD_ZIP_LOG):
                    filePath = os.path.join(resultBasePath, logFileJson.itrLogPath, WORKLOAD_LOG_ZIP_ARCHIVE_FILE_NAME.format(str(logFileJson.workloadID)))
                else:
                    filePath = os.path.join(resultBasePath, logFileJson.itrLogPath, logFileJson.logFileType)
                with open(filePath, 'wb') as output_file:
                    while True:
                        data = filedata.file.read(1024)
                        # End of file
                        if not data:
                            break
                        output_file.write(data)

1. 依存関係

pip install requests

2. 検出

git clone https://github.com/skytina/CVE-2021-21978
cd CVE-2021-21978
python3 CVE-2021-21978.py https://192.168.80.3/

image-20210305162131318

3. エクスプロイト

エクスプロイトスクリプトはlog_upload_wsgi.pyを上書きし、バックドアとして機能させます。

image-20210305162339613

4. 参考リンク

エクスプロイトソース:https://twitter.com/osama_hroot/status/1367258907601698816

VMware公式アナウンスメント: https://www.vmware.com/security/advisories/VMSA-2021-0003.html

声明

  • 本ツールはセキュリティ担当者の安全テストおよび研究目的でのみ使用されます。無許可のテストによって生じる直接的または間接的な結果および損失は、すべてユーザー自身が負うものとします。
  • The tool is only used for security testing and research by security personnel. Any direct or indirect consequences and losses caused by unauthorized testing are the responsibility of the user.

上記の内容が役に立ったと思われる場合は、公式アカウントをフォローしてください。

ツールをダウンロード