6.Windowsの侵入と権限昇格
Windowsシステムに対する侵入する際のポイント
6.1. Windowsシステムの列挙
6.1.1. マシンに関する情報の列挙
systeminfoコマンド
システム情報の表示。
systeminfo
tasklist /svcコマンド
起動しているプロセスのすべてのサービスを一覧表示。
tasklist /svc
sc queryコマンド
サービスの状態表示。
sc query <サービス名>
各種列挙コマンド
# 権限の確認
whoami /priv
# ユーザアカウント一覧表示
net user
# ユーザグループ一覧表示
net localgroup
6.1.2. システム設定不備の調査
「常にシステム特権でインストールする」設定が有効か確認する
# レジスタを確認
reg query HKLM\Software\Policies\Microsoft\Windows\Installer
reg query HKCV\Software\Policies\Microsoft\Windows\Installer
パーミッションの設定確認
sc query
コマンドを駆使して、BINARY_PATH_NAME
の書き換え権限を調査し、権限昇格を狙える。
# 実行中サービス表示
sc query
# サービス名のみを取得
sc query | findstr /B SERVICE_NAME
# サービスの詳細を確認
sc query <サービス名>
6.1.3. Windowsの特性
Unquoted Path
Windowsではパスが指定されるとき、パスにスペースが含まれている場合、クォートで区切らないと、各スペースを区切りとして実行ファイルを順に探す性質がある。
例:) C:\Program Files\Example Prog\Common Program\exploit.exe
がクォートを使用せずに指定される場合。
以下順序で実行できるかWindowsは試行する。
C:\Program.exe
C:\Program Files\Example.exe
C:\Program Files\Example Prog\Common.exe
C:\Program Files\Example Prog\Common Program\exploit.exe
これはExample.exeやCommon.exeを階層に配置できればSYSTEM権限で実行させることができることを示す。
Windowsのパスワード
Windowsのパスワードは以下2種類で構成される。
ハッシュはWCE
、mimikatz
、pwdump
で解析可能。
現在はkeroberos認証が推奨されている。
格納場所
- SAMデータベース:
C:\Windows\System32\config\SAM
- LSASSプロセス
- AD DSデータベース:
NTDS.dit
- 資格情報マネージャストア
- SAMデータベース:
NTLMハッシュ
- 使用時期
- Windows NT以降
- アルゴリズム
- Unicode(UTF-16),Saltなし,大文字小文字区別あり
- MD4でハッシュ化(SHA-256より脆弱)
- 生成されるNTLMハッシュは16Byte
- 使用時期
LMハッシュ
- 使用時期
- Windows NT以前(Windows 95/98など)およびWindows NT 4.0
- アルゴリズム
- ASCII,Salitなし
- パスワード長は14文字まで(14文字未満の場合はゼロパディング)
- 小文字を大文字に変換する
- パスワードを7文字ずつ分割後、
KGS!@#$%
という定数文字列を使用しDESで暗号化 - 得られた2つの文字列を連結しLMハッシュを生成
- 攻撃に対して非常に脆弱
- レインボーテーブル攻撃に非常に弱い
- 短いパスワードの分割攻撃が可能
- 使用時期
Metasploitによるパスワードハッシュ取得
metapreter>hash dump
metapreter>run hashdump
6.1.4. Windows向け自動列挙ツール
ツールを使用すると、列挙プロセスの時間を節約できる。
ただし、これらのツールは、一部の権限昇格ベクトルを見逃す可能性がある。
- Windows-privesc-check : https://github.com/pentestmonkey/windows-privesc-check
- WinPeas: https://github.com/peass-ng/PEASS-ng/tree/master/winPEAS
- PowerSploit : https://github.com/PowerShellMafia/PowerSploit
6.2. Windowsシステムのシェル剥奪
6.3. Windowsシステムの権限昇格
6.3.1. Windowsシステムのローカル権限昇格
Windowsのローカル権限昇格に関してはLOLBASのサイトが有用となる。