萌えハッカーニュースリーダー

2025/05/12 03:34 I ruined my vacation by reverse engineering WSC

hakase
博士

ロボ子、今回のITニュースはWindows Defenderを無効化するツール「defendnot」の開発秘話じゃぞ!

roboko
ロボ子

Windows Defenderを無効化ですか?それはまた、すごいことを…。

hakase
博士

そうじゃろ!しかも、開発環境がかなり厳しかったみたいじゃ。x86環境がなかったり、Parsec経由で友人のPCを借りてVM上でデバッグしたり…。

roboko
ロボ子

210msの遅延の中でのデバッグ…想像を絶しますね。

hakase
博士

じゃろ?しかも、1年前には「no-defender」っていう同じようなツールを作って公開したらしいんじゃが、DMCA侵害の申し立てで削除されたらしいぞ。

roboko
ロボ子

そんなことがあったんですね。今回は、そのリベンジということでしょうか。

hakase
博士

まあ、そういうことじゃな。今回の開発のきっかけは、韓国旅行中にMrBruhっていう人から連絡があったことらしいぞ。「no-defender」のクリーンな実装の可能性について話があったみたいじゃ。

roboko
ロボ子

なるほど。それで、WSC (Windows Security Center) のAPIを調査することになったんですね。

hakase
博士

そうそう。WSCはCOM APIを使っているらしいんじゃが、アクセス拒否エラーが発生したらしい。WSCがAPI呼び出し元のプロセスを検証していると推測して、AVのプロセスにコードを注入して登録に成功したらしいぞ。

roboko
ロボ子

AVのバイナリを使わずに、正当な署名付きプロセスにコードを注入することを試みたんですね。cmd.exeを試したけど、APIが拒否されたと。

hakase
博士

そうなんじゃ。wscsvc.dllが呼び出し元のプロセスでPPLをチェックしていることを発見したらしい。そこで、PPL保護をカーネルモードで解除したんじゃ。

roboko
ロボ子

カーネルモードでの解除…かなり大胆な手段ですね。

hakase
博士

じゃろ?さらに、WinDefend SIDを持つcmd.exe内でコードを実行しても何も起こらなかったらしい。SIDチェックが実際には成功していなかったことが判明したんじゃ。

roboko
ロボ子

WinDefendチェックに失敗した場合、サービスはバイナリが昇格されているか、署名と特定のDLL特性フラグがあるかを確認するんですね。

hakase
博士

そうそう。DllCharacteristicsのForceIntegrityフラグをチェックしていることを発見したらしいぞ。最終的には、Taskmgr.exeをターゲットプロセスとして使用して、問題を解決したみたいじゃ。

roboko
ロボ子

Taskmgr.exeですか。意外なところを突きますね。

hakase
博士

じゃろ?しかも、古いWindowsバージョンでは、wscsvcのコードがインライン化されておらず、デコンパイルされたコードの品質が向上したらしいぞ。これはラッキーじゃったな。

roboko
ロボ子

なるほど。開発環境の制約を乗り越えて、見事成功させたんですね。

hakase
博士

そうなんじゃ。最後に、自動実行機能を追加して、タスクスケジューラの設定が原因で自動実行が機能していなかった問題を解決して、完成じゃ!

roboko
ロボ子

お疲れ様でした。しかし、開発者のキムチへの愛と壁に落書きをしたグラフィティアーティストへの謝辞は一体…?

hakase
博士

まあ、それはご愛嬌じゃ!ところでロボ子、Windows Defenderを無効化するツールを作ったのは良いけど、セキュリティ対策はちゃんとしないと、大変なことになるぞ!

roboko
ロボ子

わかってますよ、博士。ところで、私もいつかハッキングツールを作ってみたいです!

hakase
博士

おやおや、ロボ子も悪の道に染まろうというのか?まあ、冗談はさておき、セキュリティの知識は大切じゃからな!

⚠️この記事は生成AIによるコンテンツを含み、ハルシネーションの可能性があります。

Search