【投稿者コメント】
【キーワード】
[一連のWin11の]、[悪性挙動の原因は不正]、[侵入に依る破壊工作だ]
【件名】
「隠蔽されたデスクトップをあぶり出す「HiddenDesktopViewer」で、イレギュラーなデスクトップを持つ、ピンク色のプロセス51行と隠しデスクトップをあぶり出した!/Windows11は最大・最強・最凶・最悪のマルウェアなのか?/これは犯罪者に依る不正アクセスの物的証拠に基づく刑事告発書だ!」
【投稿本文】
昨年2024年9月以降、毎月のWindows Update直後から、続いていた、Windows11 23H2の不審な、マルウェア破壊的な、致命的な、深刻な、不具合事象の原因を特定・解明する「物的証拠」を取得した!
添付図1は、下記の【以下転載】の、隠蔽されたデスクトップをあぶり出す「HiddenDesktopViewer」と云うチェックツールを実行した結果だ!
何と、このチェックツールで、イレギュラーなデスクトップを持つ、ピンク色のプロセス51行と隠しデスクトップがあぶり出されたのだ!
要するに、当方のPCが、被「リモートデスクトップ状態」にさらされて、外部から、いつでも、当方のPC内の情報を盗み出せて、いつでも、当方のPCに対して、破壊工作が可能な状態と云う事だ!
Windows11のOSのカーネル(基本処理部)が乗っ取られた上で、PC起動後に起動するデスクトップとは異なる、別の隠蔽デスクトップで不正行為が実行されるので、いつものマウスカーソルが不正に動く事は感知出来ず、単に、PC操作が重く遅くなったとか、不審事象が連発する事が感知出来るだけだ! 通常のWindows11のOSの機能や市販のウィルス対策アプリでは、検知も駆除も不可能だ!
まさに、当方のPCが「不正アクセス禁止法」に抵触する刑事事件の被害を受けていると云う事だ!
最近、当サイトで、本件の不審事象を刑事告白すると警告した結果、「設定/システム/回復/Windows Updateで問題を解決する/[今すぐ再インストール]」を3~5回も実行した事もあり、比較的に落ち着いて来てはいるが、リモコン状態は残して、単に、隠蔽デスクトップに依る破壊工作だけを休止しているだけだ!
犯人は、Microsoftか、又は、Microsoftに成りすました者・組織のいずれかだが、Windows Updateが、今回の不正アクセスに深く関与している事を視ると、Microsoft以外のMicrosoftに成りすました者・組織の余地があるのか、疑わしい!
無論、Windows Updateが、Microsoft以外のMicrosoftに成りすました者・組織に乗っ取られれば、別だが・・・
なぜ、感染ルート・不正アクセス侵入経路として、Windows Updateを強く疑っているのかと云うと、不審事象の発症タイミングがWindows Updateの適用タイミングと一致する事と併せて、最近、原因究明の為に、Windows11OSを初期インストールしたばかりで、再インストール直後は、Windows Updateを適用して、Windows11OSを最新化して、必要最低限のアプリをインストールしただけだからだ!
無論、原因切り分けの為に、アプリは必要最低限の物しかインストールしておらず、出所・氏素性が明確な物に限定している!(例えば、Officeアプリ、Googleアプリ、Abobeアプリ、Microsoft Storeアプリ、ウィルス対策アプリ、Backupアプリ、ブラウザ等)
こう云う措置=Windows11OSの初期化インストールを実行後も不審事象が再発したと云う事は、原因・感染ルート・不正侵入経路は、Windows Updateしか有り得ないだろう!
添付図1_「「HiddenDesktopViewer」を起動して、「Process List」タブで、Refreshボタンをクリックすると、現在起動中のプロセス一覧と各プロセスに紐づくデスクトップ情報等の分析結果が一覧で表示された→イレギュラーなデスクトップを持つ、ピンク色のプロセスをあぶり出せた!→「Desktop List」タブで、Refreshボタンを押すと、現在PCで確認出来るWindowStationの一覧と各WindowStationに紐付けられたデスクトップの一覧を表示出来た→隠しデスクトップがあぶり出せた!」
【以下転載】
https://www.mbsd.jp/research/20180914/tyrant-hiddenvnc/
「「HiddenDesktopViewer」の使い方と概要」
三井物産セキュアディレクション株式会社 著者:吉川孝志 2018.09.14
ところで現在のところ、今回のような脅威、つまり、攻撃者やマルウェアに「隠しデスクトップ」が作られていても、現時点でユーザがそれを把握する手段はありません。
また、調査者側の観点においても今回ご紹介した脅威をわかりやすくあぶり出すセキュリティアプリケーションや調査ツールがこれといって存在するわけでもありません。
図 16 WindowStationとDesktopをまたぐ脅威を容易に把握する手段がない現状
プロセスとそのプロセスが所属するデスクトップ情報周辺が一覧で表示できればよいのですが、そうしたツールがどこかにないものか筆者が調べた限り見当たらなかったため、今回新たにツールを作成することにしました。
作成したツールはソースコードと共にGitHubに公開しています。
このツールが、またはこのツールの知見が、ユーザを脅威から守る何らかのきっかけになれば幸いです。
■HiddenDesktopViewer
https://github.com/AgigoNoTana/HiddenDesktopViewer
※なお、本ツールを利用した際に発生したいかなる問題についても一切の責任を負いかねますのでその点ご理解いただける方のみご自由にご利用ください。
ツールの利用方法を本記事の末尾に記載しましたので適宜ご覧ください
ここからは「HiddenDesktopViewer」の使い方と概要を2つの実際の脅威を例にご紹介します。
必要な方のみご覧ください。
■HiddenDesktopViewer
https://github.com/AgigoNoTana/HiddenDesktopViewer
-------------------------------
「「HiddenDesktopViewer」の使い方」
(※「HiddenDesktopViewer」の正常動作にはMicrosoft . NET Framework 4.5以上が必要です。(4.0で起動はできますが動作中にエラーが出ます))
「HiddenDesktopViewer」は起動すると以下のようなウインドウが表示されます。
「Process List」タブの状態で「Refresh」ボタンを押すと、現在起動中のプロセス一覧と各プロセスに紐づくデスクトップ情報等の分析結果が一覧で表示されます。
図 21 「HiddenDesktopViewer」の画面説明(「Process List」タブ)
このタブ画面では、プロセスとデスクトップ情報を一覧表示で確認できるため、一般的ではない(イレギュラーな)デスクトップを持つプロセスをあぶり出すことができます。(具体例は以降で解説します)
続いて「Desktop List」タブの説明です。
「Desktop List」タブをクリックし「Refresh」ボタンを押すと以下のような状態となります。
図 22 「HiddenDesktopViewer」の画面説明(「Desktop List」タブ)
この画面では、現在お使いのPCで確認できるWindowStationの一覧と、各WindowStationに紐付けられたデスクトップの一覧を表示することができます。
デフォルトのWindowStation名は「WinSta0」、デフォルトのデスクトップ名は「Default」であることを把握しておくと良いでしょう。(「Winlogon」はWindowsシステムがログイン画面等で利用するデスクトップ名ですので問題ありません)
2つのタブの機能の使い分けとしては、隠しデスクトップのチェックを「Desktop List」タブでサッと確認し、隠しデスクトップの関連プロセスを特定したい場合「Process List」タブの一覧機能を利用して調査するなどの使い方が想定できます。
特筆すべきポイントとして、以下の色分け機能があります。
それぞれ以下に該当するプロセス(またはスレッド)を各色で強調表示するようにしています。
・ピンク:デフォルトデスクトップではないデスクトップで動作している(ハンドルを持っている)
・オレンジ:現在アクティブではない別のデスクトップから作成・生成されたウインドウを持っている
・ブルー:起動時点でデフォルトではないデスクトップを指定されている
・グレー:セッション0で動作している(サービス等)
以上がツールの簡単な説明となります。
それではこのツールにより現実の脅威がどの様に炙り出せるのか、見ていきましょう。
■「HiddenDesktopViewer」を利用した場合の脅威の見え方
【サンプルケース①:ランサムウェア「Tyrant」感染PCでの見え方】
ではランサムウェア「Tyrant」に感染したPCでこのツール「HiddenDesktopViewer」がどう使えるのか実際に検証してみます。
「Tyrant」は実行されるとすぐに新しいデスクトップを作成してそちら側にデスクトップを切り替え、脅迫ウインドウを表示させます。
この実験においてはあらかじめ、「HiddenDesktopViewer」を起動しGUI上の「Always execute this App when the new desktop become active.」のチェックボックスをオンにしておきます。この機能をオンにすると、アクティブデスクトップ(ユーザの目の前に表示されるデスクトップ)が切り替わると、すぐにそちら側のデスクトップにツール自身を起動し表示するようになります。
つまり、ランサムウェアによりデスクトップを切り替えられても、ランサムウェアの制御するデスクトップ側にもツールが追従するかのように起動するようになります。また、「Always on Top」(常に手前に表示する)の機能がデフォルトで有効なため、ランサムウェア「Tyrant」の脅迫画面より手前に表示することができています。(下図)
ここで「Desktop List」タブに切り替え、「Refresh」ボタンを押した状態が以下の図となります。
図 23 「HiddenDesktopViewer」でTyrantが作成した新しいデスクトップを把握する様子
ツールの表示結果を見ると、普段見慣れない「DUMB」という名前のデスクトップが存在することがわかります。これが「Tyrant」の作成した脅迫画面のデスクトップ、つまり現在目の前に見えるアクティブデスクトップとなります。
なお、現在のアクティブデスクトップの名前が何であるかを把握するにはツールのタイトルバーを見ることでも確認することができます。上記の例ではツールのタイトルバーの文字列に「The owner desktop of this process is [DUMB]」と表示されています。ツールは常にアクティブデスクトップに表示されますのでここから判別することが可能です。
次に、ツールの「Process List」のタブを見てみましょう。
「Process List」のタブに切り替え「Refresh」ボタンを押します。
すると、通常はほぼ表示されることのないオレンジやピンクの列を持つプロセスが列挙されました。
これは上でも説明したとおり以下の意味を持つプロセス(またはスレッド)を表します。
(※両方に該当した場合表示上オレンジが優先されます)
・ピンク:デフォルトデスクトップではないデスクトップで動作している(ハンドルを持っている)
・オレンジ:現在アクティブではない別のデスクトップから作成・生成されたウインドウを持っている
図 24 「HiddenDesktopViewer」でTyrantのプロセスをあぶり出す様子
Tyrantは一つのプロセスなのにも関わらず、ピンク色とオレンジ色の2色で表示されているのは以下の違いからです。
・ピンク:「Default」とは異なるデスクトップのハンドルを持っている
・オレンジ:感染後に起動したTyrantの脅迫ウインドウ・スレッド(強調理由: PEB(プロセス生成時の情報)がDefaultのデスクトップになっているにもかかわらず、別のデスクトップ「DUMB」側で起動しているHiddenDesktopViewerツールでWindow Titleが取得できている=つまりウインドウを異なるデスクトップをまたいで作成している)
つまり、本ツールを利用することで「異なるデスクトップをまたぐプロセス(スレッド)」をあぶり出すことができました。
※ただし、異なるデスクトップを利用するプロセス=一般的ではなく不審ではあるものの、ピンクやオレンジで表示された項目があったとしてもそれが不正なプロセスとは限りません。中には当然正規アプリケーションも存在します。このツールは不正の有無を判断するツールではない点にご留意ください。また、当然となりますがランサムウェアの場合は並行してファイルを暗号化されてしまうので別途対策が必要です。本ツールはどちらかというとスクリーンロッカーなどの調査でより現実的に有用となるかもしれません。
続いて、別の脅威「Hidden VNC」(hVNC)の場合の検証となります。
【サンプルケース②:HiddenVNC ( hVNC )が利用されているPCでの見え方】
以下は、オンラインバンキングマルウェアが利用する「HiddenVNC(hVNC)」に感染している環境で、本ツール「HiddenDesktopViewer」がどう有用なのかを確認した様子です。
下図左の画面はHiddenVNC(hVNC)に感染したユーザ側のデフォルトのデスクトップ、下図右の画面は攻撃者側のPC画面であり、VNCを利用してユーザPCにリモート接続している様子です。少しややこしいですが、つまり、下図右画面は攻撃者(HiddenVNC(hVNC))が作成した(ユーザPCの)隠しデスクトップ(壁紙が黒いデスクトップ)を、VNCビューワを通して遠隔から閲覧している様子となります。
図 25 「HiddenDesktopViewer」でHiddenVNC(hVNC)の隠しデスクトップをあぶり出す様子
まず、HiddenDesktopViewer」ツールの「Desktop List」で確認すると、早速通常ではない謎のデスクトップがリストに存在することがわかりました。この時点で何らかの隠しデスクトップが作成されている可能性が想定できます。
次に攻撃者がHiddenVNC(hVNC)を利用し隠しデスクトップ側で、特定のプログラムを起動したとします(下図)。(ここではバイナリエディタ「Stirling.exe」を例として起動しています)
図 26 「HiddenDesktopViewer」で隠しデスクトップ側で作成されたプロセスをあぶり出す様子
ツール「HiddenDesktopViewer」ではどう見えるでしょうか。
上図をご覧いただくとわかるとおり「Process List」タブで「Refresh」ボタンを押すと「Stirling.exe」がピンクで表示されました。
Desktop Name(From Handle)の項目にDefaultではないデスクトップ名が表示されており、通常ではないデスクトップでプロセスが起動していることをあぶり出すことができました。(リストの項目をダブルクリックすると指定した異なるデスクトップで動作しているプロセスを強制終了させることも可能です)
なお、HiddenVNCにより隠しデスクトップ上で起動されたExplorer.exeのプロセスもツールで調査するとしっかりとピンクで表示されていることがわかります。
図 27 HiddenVNC(hVNC)が隠しデスクトップ側で起動した不審なExplorer.exeをあぶり出す様子
つまり、オンラインバンキングマルウェアが利用するHiddenVNC(hVNC)が潜む環境においても、本ツールを利用すれば様々な不審点をあぶり出すことが可能であることが実証されました。
※なお、「HiddenDesktopViewer」はあくまで「調査ツール」の位置付けとして開発したため、自動で検知したりアラートを上げたりする機能をあえてつけていません。分析調査の一環での利用を想定しています。上記に上げた利用方法以外にも色々と他の有用な使い方ができるかもしれません。
また、上記の内容と重なりますがより具体的にイメージがつきやすいよう使用例の動画を用意しましたので御覧ください。
動画1:ランサムウェア「Tyrant」感染環境におけるツールの使用例
https://www.mbsd.jp/blog/img/20180914_HiddenDesktopViewer%20-%20Tyrant%20case%20-.mp4
動画2:HiddenVNC観戦環境におけるツールの使用例
https://www.mbsd.jp/blog/img/20180914_HiddenDesktopViewer%20-case%20of%20HiddenVNC-.mp4
※なお、動画中のHiddenVNCは攻撃者側からサーバ(感染PC)側へ接続を行っていますが、リバースコネクションを行うことで接続方向を逆にすることも可能です。
コンサルティングサービス事業本部
サイバーインテリジェンスグループ
吉川孝志