CVE-2019-7304 UbuntuLinux特権エスカレーションの脆弱性が再現されました

2019年1月、外国のセキュリティ担当者は、UbuntuLinuxのデフォルトインストールに特権エスカレーションの脆弱性を発見しました。これは、デフォルトのサービスであるsnapdAPIのバグが原因です。すべてのローカルユーザーがこの脆弱性を使用して、システムへの直接ルートアクセス(CVE番号CVE-2019-7304)を取得できます。

Linuxシステムでのアプリケーションのパッケージ化を簡素化するために、さまざまな新しい競合する標準が登場しています。 Ubuntu LinuxのメーカーであるCanonicalは、「Snap」パッケージを宣伝しています。これは、Windowsアプリケーションと同様に、すべてのアプリケーションの依存関係を単一のバイナリファイルに変換する方法です。

Snapエコシステムには、開発者がすぐに使用できるソフトウェアパッケージを提供および保守できる「アプリストア」が含まれています。

ローカルにインストールされたSnapの管理の一部と、このオンラインストアとの通信は、「snapd」と呼ばれるシステムサービスによって処理されます。このサービスはUbuntuに自動的にインストールされ、「root」ユーザーのコンテキストで実行されます。 Snapdは、特にクラウドとInternet ofThings向けの「SnappyUbuntuCore」の合理化されたローテーションにおいて、Ubuntuオペレーティングシステムの重要な部分になるように開発されています。

0 X1の脆弱性の説明

Snapdは、ローカルUNIX_AFソケットに接続されたRESTAPIを提供します。制限されたAPI関数へのアクセス制御は、ソケットの接続に関連付けられたUIDを照会することによって実現されます。 forループでの文字列の解析中に、ユーザー制御のソケットピアデータに影響を与えてUID変数を上書きする場合があります。これにより、すべてのユーザーが任意のAPI関数にアクセスできます。

APIにアクセスしてrootを取得する方法はたくさんあります。 2つの可能性を以下に示します。

  1. 「create-user」APIを使用して、UbuntuSSOから照会された詳細情報に基づいてローカルユーザーを作成します。

  2. Sideloads Snapには、新しいローカルユーザーを生成するためのインストールフックが含まれています。

この影響バージョン:

Ubuntu 18.10

Ubuntu 18.04 LTS

Ubuntu 16.04 LTS

Ubuntu 14.04 LTS

0 X2環境のセットアップ

実験環境Ubuntu16.04

次に、POCコードをダウンロードします。

https://github.com/initstring/dirty_sock

Ubuntuにログインします:https://login.ubuntu.com

次に、秘密鍵をローカルで生成します。

ssh-keygen -t rsa -C ""

次に、。/。sshに移動し、id_rsa.pub(公開キー)をアカウントのssh_keyにコピーします。

0 X2エクスプロイト

ダウンロードしたpocコードファイルの最初のスクリプトからテストを開始します。

スクリプト1を直接使用して、特権エスカレーション攻撃を実行します。

表示は成功しましたが、sshが起動していないため、接続に失敗し、再び表示に失敗します。

スクリプト2を使用して成功します。

アカウントdirty_sockを正常に追加し、その情報を確認して、sudo権限があることを確認します。

正しいエスカレーションに成功しました!

最初の特権エスカレーションに戻ると、snapのバージョンが更新されていることがわかりました。

公式の修正はスナップを2.37.1以上にアップグレードすることであるため、スクリプト1は使用できません!ただし、スクリプト2を使用してユーザーをすでに追加しているため、バックドアユーザーが存在します。したがって、Ubuntuシステムのユーザーは、できるだけ早く更新およびアップグレードする必要があります。

参考記事:

https://github.com/SecuritySi/CVE-2019-7304_DirtySock

http://www.4hou.com/vulnerable/16181.html

https://github.com/initstring/dirty_sock

Recommended Posts

CVE-2019-7304 UbuntuLinux特権エスカレーションの脆弱性が再現されました
CVE-2017-16995-Ubuntuローカル特権エスカレーションの脆弱性が再現されました
Linux(ubuntu 12.04)
UbuntuLinux研究ノート