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

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

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

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

ツールディレクトリ

カテゴリ

すべてのカテゴリを見る
Loading categories
Document-Linux-Privilege-Escalation — Canonical の snapd デーモンの REST API における「Dirty_Sock」(CVE-2019-7304) と呼ばれる脆弱性を悪用します。 | Kitploit
ツール/GitHubGitHub/coby-nguyen/document-linux-privilege-escalation
特権昇格脆弱性分析エクスプロイトペネトレーションテスト学習と教育
GitHubcoby-nguyen/document-linux-privilege-escalation

Document-Linux-Privilege-Escalation

Canonical の snapd デーモンの REST API における「Dirty_Sock」(CVE-2019-7304) と呼ばれる脆弱性を悪用します。

リポジトリを見る

人気

すべて見る →

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

すべてのツールを探索

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

すべてのツールを見る →
共有
1年前未レビュー

Linux 権限昇格(snapd 経由)

プロジェクトの目的:

Canonical の snapd デーモン(Ubuntu Linux のデフォルトサービス)の REST API における「Dirty_Sock」(CVE-2019-7304)と呼ばれる脆弱性を悪用して、root アクセスを取得します。

Ramil Mustafayev のガイド: https://kryptohaker.medium.com/linux-privilege-escalation-via-snapd-using-dirty-sock-exploit-and-demonstration-of-cve-2019-7304-892716cf99ca

セットアップ:

この脆弱性は、snapd 2.37 より前のバージョンで、UNIX ソケットに対するアクセス制御を実行する際に、リモートソケットアドレスが誤って検証・解析されていたために悪用されました。これは当時、一部の Unix および Linux ディストリビューション(例:Ubuntu 16.04)にも影響しました。したがって、この悪用を実装するには、snapd 2.32 と Ubuntu 16.04 が必要です。

snapd 2.32 の Debian パッケージを https://launchpad.net/ubuntu/+source/snapd から入手しました。

image

まず、Ubuntu マシンが悪用可能かどうかを確認するために、cat /etc/lsb-release(Ubuntu のバージョンとその説明を表示します)と uname -a(現在のコンピュータとオペレーティングシステムの情報を確認します)というコマンドを使用します。これにより、このマシンが悪用可能であることを確認できます。

image

次のステップは、systemctl start snapd コマンドを使用して snapd サービスを開始することです(実際には、攻撃者がこの欠陥を悪用する際、snapd サービスは管理者によって開始されている必要があります。そうでないと、攻撃者は正常に起動できません)。次に、snapd のバージョンを確認して、脆弱であることを確認できます。

image

次に、id(ユーザーとグループの情報を表示)および tail /etc/passwd(/etc/passwd ファイルは、登録されたすべてのユーザーを追跡するために使用されます)というコマンドを使用して、ユーザーの権限を確認します。以下の結果は、「coby」というユーザー名の攻撃者が、システムへの最低限のアクセス権しか持たない通常のユーザーであることを示しています。

image

悪用:

この攻撃を開始するには、2 つのバージョンを持つ dirty_sock スクリプトを利用します。これは https://github.com/initstring/dirty_sock から取得できます。バージョン 1 はアウトバウンドのインターネット接続と SSH サービスの実行を必要としますが、バージョン 2 は要件なしで直接実行できます。

この悪用で使用される dirty_sockv2.py には、注目すべき重要なコンポーネントがいくつかあります。このスクリプトの最初の重要なコンポーネントは、インストール可能な snap パッケージを表す base64 エンコード文字列である変数 TROJAN_SNAP です。このパッケージは、インストールフックに bash スクリプトが含まれた空の「devmode」snap であり、新しいユーザーを作成します(「devmode」(開発者モード)は、開発およびデバッグの目的で snap が厳密な制限を回避できるようにする特別なインストールモードです)。

image

このスクリプトのもう 1 つの重要なコンポーネントは、create_sockfile() 関数です。この関数は、「snapd の ucrednet.go」ファイルの安全でない解析を悪用して、ランダムなソケットファイルを生成し、;uid=0; というダーティソックを滑り込ませることで、UID 変数を上書きできるようにします。

image

この悪用を実装するには、ターミナルで dirty_sockv2.py を実行するだけです。dirty_sock エクスプロイトを正常に実行すると、同じパスワードを持つ dirty_sock アカウントがスクリプトによって自動的に作成されたことがわかります。

image

次に、/etc/passwd を確認して登録済みユーザーのリストを確認すると、「dirty_sock」という新しいユーザーが作成されたことがわかります。

image

su コマンドを使用して、見つけた認証情報を使って「dirty_sock」アカウントにログインできます。ログインが成功したら、このユーザーの権限を確認でき、sudo グループに属していることがわかります。これは、攻撃者がすでにシステムの完全な制御を取得しており、最高権限で何でもできることを意味します。

image

結論:

この脆弱性の CVSS スコアは 8.8(重大度:高)であり、悪用された場合、システムに大きな影響を与える可能性があります。この脆弱性は、悪用に高い権限を必要としないため、重大度が高くなっています。攻撃者がすでにシステム上に何らかの足場(例:低権限のユーザー)を持っている場合、root への権限昇格が可能になるため、この脆弱性は、特にマルチユーザー環境やクラウド環境において、深刻なローカルセキュリティ上の脅威となります。

ツールをダウンロード