Habréに関するコメントからDr.の脆弱性まで。ウェブ

比較的最近、ユーザーによる記事「Avira Free Antivirusのパスワードスタイラー」Habréに掲載されましたVeliant... 筆者は、前述のアンチウイルスの標準的な配信に、Chromeブラウザストレージからパスワードを簡単に抽出できるコンポーネントがあることを発見しました。



これが脆弱性と見なされるかどうかについてのコメントで議論がありました。しかし、著者からのコメントに夢中になりました。
これは、たとえばDLLの形式で実装できますか。DLLのAPIによって呼び出されると、呼び出し元プログラムのデジタル署名をチェックしますか?


実際、その直前に、同じ方法でデジタル署名検証に依存するいくつかのプログラムを調査しました。そして、このチェックは非常に簡単に回避できました。





ファイルのデジタル署名は実行可能ファイル自体にのみ一致しますが、実行中のプログラムは実行可能ファイルだけではありません。実行可能ファイルを変更せずにプログラムの動作に影響を与える方法はいくつかあります。ロードされたライブラリを置き換えたり、コードをメモリに直接挿入したりできます。



著者のプロフィール「Works in:Doctor Web」を見ました。しかし、この会社の製品が作者が話しているチェックを使用しているかどうかを確認するとどうなるでしょうか。私は調べてネタバレし、システムユーザーのDr.Web Security Space for Windowsに特権を昇格できる脆弱性を見つけました。



インテリジェンスサービス



私はDoctor Web製品を理解していないので、Webサイトでダウンロードできる最初の製品を選びました。それはDr.Web Security Space 12 for Windowsでした。デフォルトの設定では、この製品は30分ごとにアップデートをチェックします。また、更新メカニズムに脆弱性が見つかりました。



以下では、時間を参照しながらビデオで何が起こるかを説明する操作ビデオを提供します。脆弱性が正確に何であったかの説明もあります。



操作ビデオ





デモは、管理者権限のないユーザーからWindows 10 x64で実行されます。

0:00-0:12 Windowsコンソールで現在のユーザーが管理者ではないことを示します

0:12-0:24インストールされているDr.Web Security Spaceのバージョンを示し

ます0:24-0:29 drweb_eop_upd_dll.dllファイルはデスクトップのフォルダーにあります(ソースコードとファイルはチケットに添付されています)

0:29-0:34 C:\ ProgramData \ Doctor Web \ Updater \ etc

フォルダーに3つのファイルがあることを示します0:34-0:47 drweb_eop_upd_dll.dllライブラリを上のフォルダーにコピーしますデスクトップと1つのコピーをversion.dllと呼び、もう1つ-cryptui.dll

0:47-0 :56ファイルC:\ Program Files \ Common Files \ Doctor Web \ Updater \ drwupsrv.exeをデスクトップ上のdllの隣のフォルダーにコピーします...

0:56-1:00コピーしたファイルを実行します



デスクトップ上のフォルダーにあるdrwupsrv.exe実行可能ファイルは、近くにあるversion.dllをロードします。このライブラリは、ファイルC:\ ProgramData \ Doctor Web \ Updater \ etc \ drwupsrv.xml.newを作成します。ユーザーには、C:\ ProgramDataフォルダーとその下にファイルを作成する権限があるため、これは合法的な操作です。そのようなファイルを手動で作成しようとすると、Dr.Webのセキュリティメカニズムがそのような操作を妨げている可能性があります。しかし、動作中、ファイルはdrwupsrv.exeに代わって作成され、おそらく内部チェックをバイパスしてファイルが作成されます。実際、これは、記事の冒頭で説明されているまさに署名検証のバイパスです。



1:00-1:22は作成されたファイルとその内容を示しています。一般的な意味では、ファイルはファイルC:\ ProgramData \ Doctor Web \ Updater \ etc \ drwupsrv.xmlと同じ内容ですが、すべてのパスはデスクトップ上のフォルダーを指します(C:\ Users \ User \ Desktop \ dwtest)

1:22-2 :00何も起こりません(この段階ではソフトウェアの更新プロセスを待っています。デフォルトでは30分ごとに発生し、予想される時間はログで確認できます)

2:00-2:14作成された構成ファイルを取得すると、アップデーターはそれを確認しますC:\ Users \ User \ Desktop \ dwtestフォルダーにDr.Webソフトウェアファイルがない場合、そこにソフトウェアファイルのコピーが開始されます。



コピーされたファイルには、dwservice.exeファイルが含まれます。このファイルは、更新時にNT AUTHORITY \ SYSTEMユーザーとして起動されます。このファイルは、C:\ Users \ User \ Desktop \ dwtestフォルダーにあるcryptui.dllライブラリをロードします。ライブラリコードは、画面に表示されるインタラクティブコンソールを起動するだけです。whoamiコマンドを使用して、システム権限が取得されていることを確認します。



結果



脆弱性レポートはDoctor Webに送信され、開発者がすべてを修正したようです。



タイムライン:



2020年5月15日-技術サポートに連絡して、セキュリティ連絡先の提供を要求します。

2020年5月20日-この通話でレポートを送信できるという回答が得られます

2020年5

月20日- レポートを送信します2020年6 月14日-バージョン12の脆弱性が修正されたという回答を受け取ります バージョン11の移植を待っています

。07/07/2020-開発者は修正がリリースされたことを確認します。



この記事は英語です。



All Articles