GitHubの研究者であるKevinBackhouseは、通常のユーザーがシステムへのフルアクセス権を持つ管理者になることを示すために、いくつかのコマンドを必要とするだけです。
Ubuntu開発者は多くの脆弱性を修正して、標準ユーザーがroot権限を簡単に取得できるようにしました。
GitHubの研究者であるKevinBackhouseは、先週火曜日に公開された記事に次のように書いています。 「ターミナルで数回の簡単なコマンドと数回のクリックで、標準ユーザーは自分の管理者アカウントを作成できます。」
最初の一連のコマンドは、アカウントサービスと呼ばれるデーモンでサービス拒否エラーをトリガーしました。このデーモンは、名前が示すように、コンピューター上のユーザーアカウントを管理するために使用されます。
これを行うために、Backhouseはシンボリックリンクを作成し、.pam_environmentという名前のファイルを/ dev / zeroにリンクし、地域の言語設定を変更して、アカウントサービスにSIGSTOPを送信しました。
いくつかの追加コマンドの助けを借りて、Backhouseは、アカウントサービスがクラッシュする前に、アカウントからログアウトするのに十分な時間を与えるようにタイマーを設定することができました。正しく実行されると、Ubuntuが再起動し、ユーザーが新しいアカウントを作成できるウィンドウを開きます。このアカウントには、ご想像のとおり、root権限があります。
ビデオは、管理者アカウントの作成を示しています
バックハウスは言った、Ubuntu元のバージョンに含まれていないコードを含む、変更されたバージョンのアカウントサービスが使用されます。追加のコードは、ホームディレクトリで.pam_environmentファイルを探します。ファイルを/ dev / zeroへのシンボリックリンクにすると、.pam_environmentは無限ループに陥ります。
ハッカーに関係するXNUMX番目のバグは、ユーザーセッションとログイン画面を管理するGNOMEディスプレイマネージャーにあります。ディスプレイマネージャ(通常はgdm3と略されます)は、現在ユーザーが存在しないことを検出すると、オペレーティングシステムの初期構成もトリガーします。
「gdm3はシステムに何人のユーザーがいるかをどのようにチェックしますか?」 バックハウスは修辞的に尋ねました。「ご想像のとおり、デーモンアカウントに問い合わせてください。では、アカウントデーモンが応答しない場合はどうなりますか?関連するコードはこちらです。 「」
これらの脆弱性は、誰かが物理的なアクセス権を持ち、脆弱なマシンに有効なアカウントを持っている場合にのみトリガーできます。デスクトップ版のUbuntuでのみ動作します。
解決
オープンソースのオペレーティングシステムのメンテナは先週、これらのエラーを修正しました。Backhouseは、これらの脆弱性を偶然に発見したと述べ、技術的な詳細については、上記のリンク先のブログ投稿に記載されています。