1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Windows Scripting Host(WSH)完全解説― Windows 標準に潜む “静かな実行エンジン”

1
Posted at

1. Windows Scripting Host(WSH)とは

Windows Scripting Host(WSH) は、Windows に標準搭載されている スクリプト実行基盤 であり、
GUI・CUI の両方からスクリプトを実行できる「Windows ネイティブの自動化エンジン」です。

WSH 自体は アプリケーションではなくランタイム であり、
スクリプト言語を Windows OS と直接接続 する役割を担います。


2. WSH を構成する 2 つの実行エンジン

WSH には、用途が明確に分かれた 2 種類の実行エンジンがあります。

実行エンジン 特徴 主な用途
wscript.exe GUI 向け MsgBox、ユーザー操作
cscript.exe CUI 向け ログ出力、自動処理

重要
同じ VBScript でも、どちらで実行するかによって挙動が変わります。


3. 対応スクリプト言語(代表例)

WSH は複数のスクリプト言語をサポートしますが、
実戦で最も使われるのは VBScript です。

拡張子 内容
.vbs VBScript(平文)
.vbe VBScript(エンコード)
.js JScript(古い JavaScript)

4. なぜ Red Team にとって WSH が重要なのか

WSH が攻撃者視点で価値を持つ理由は、次の一点に集約されます。

WSH は「Windows 標準」であり、ユーザー権限そのままで動作する

つまり:

  • PowerShell が制限されている
  • Office マクロが無効化されている
  • 外部ツールの実行が監視されている

こうした環境でも WSH だけは生き残っているケースが非常に多い

WSH は典型的な LOLBins(Living Off the Land Binaries) です。


5. 最小構成の VBScript(MsgBox)

Dim message
message = "Welcome to THM"
MsgBox message

解説

  • Dim:変数宣言
  • MsgBox:Windows GUI のメッセージ表示

実行

wscript hello.vbs

結果:
👉 Windows のメッセージボックスが表示される


6. VBScript から EXE を実行する仕組み

WSH の本当の威力は 外部プログラム実行 にあります。

Set shell = WScript.CreateObject("Wscript.Shell")
shell.Run "C:\Windows\System32\calc.exe", 0, True

内部構造の理解(重要)

  • Wscript.Shell
    → Windows Shell への COM インターフェース
  • Run()
    → 任意のコマンド・EXE を実行可能
  • 第2引数 0
    → ウィンドウ非表示
  • 第3引数 True
    → 実行完了まで待機

calc.exe は PoC
→ 実戦ではここに 任意のペイロード が入る。


7. wscript と cscript の違い(実戦視点)

観点 wscript cscript
実行形態 GUI CLI
MsgBox 表示 非表示
出力取得 不可 可能
ステルス性 高い 低い

使い分け指針

  • 静かに動かすwscript
  • 出力を回収するcscript

8. 拡張子ブラックリスト回避テクニック

.vbs がブロックされている場合でも、
WSH は 拡張子ではなくエンジン指定で実行 できます。

wscript /e:VBScript payload.txt

なぜ動くのか?

  • /e:VBScript により 明示的に言語指定
  • ファイル拡張子は無関係
  • 中身が VBScript なら実行可能

メール添付・DL チェーンで頻出


9. WSH が検知されにくい理由

理由 内容
標準搭載 管理者も削除しない
署名済み Microsoft 正規バイナリ
日常利用 管理スクリプトと区別困難
低ノイズ PowerShell より目立たない

10. 実戦での典型的な利用シナリオ

  • 初期侵入後の 横展開補助
  • PowerShell 制限下での コマンド実行
  • LOLbins チェーンの 中継役
  • 権限昇格前の 環境偵察

11. 防御側(Blue Team)視点の対策

対策 内容
AppLocker / WDAC wscript / cscript 制限
EDR LOLbins 振る舞い検知
拡張子監視 .vbe /e: オプション
ログ監査 Script Host 実行履歴

まとめ

Windows Scripting Host は一見すると古く、地味な技術です。
しかし Red Team の世界では、こう評価されます。

「最後まで残っている実行手段」

派手さはありません。
でも 生き残った時点で勝ち筋になる

WSH は、
静かに、確実に、Windows を動かすためのエンジン です。

1
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?