1 / 52

Optimized Attack for NTLM2 Session Response

Optimized Attack for NTLM2 Session Response. Daiji Sanai & Hidenobu Seki SecurityFriday.Com 2004.10.15. ReadMe. 注意事項. ◆ 本日のポイント. Windows 認証は本当に弱いか Windows 認証を正しく理解する Windows の認証方式 ハッシュの脆弱性 ネットワーク認証の脆弱性 NTLM2 Session Response 高速パスワード解析手法. ◆ Windows 認証は弱い!. え?誰が言ったの? あなたの会社は

jarah
Download Presentation

Optimized Attack for NTLM2 Session Response

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Optimized Attack for NTLM2 Session Response Daiji Sanai & Hidenobu SekiSecurityFriday.Com 2004.10.15

  2. ReadMe • 注意事項

  3. ◆本日のポイント • Windows認証は本当に弱いか • Windows認証を正しく理解する • Windowsの認証方式 • ハッシュの脆弱性 • ネットワーク認証の脆弱性 • NTLM2 Session Response • 高速パスワード解析手法

  4. ◆ Windows 認証は弱い! • え?誰が言ったの? • あなたの会社は • POP3、FTP、HTTP、TELNET..... • Windows認証に関しては、専門家も知らない誤解や誤情報が多い!

  5. 認証パスワードを盗めるか? • “認証から”......重要! • 認証パスワードとは • サーバーが記憶しているパスワード • クライアントが記憶しているパスワード • ネットワーク上を飛ぶ認証パスワード

  6. パスワードの盗み方(余談) • パスワードの在処 • 脳みそ、メモ帳、パソコンのアプリ、ポストイット • テクニカルである必要はない • 聞く • 盗み見 • ソーシャルエンジニアリング • ゴミ漁り • キーロガー  本日は、テーマ外!

  7. 認証パスワードの在処 Windowsが記憶する認証パスワードはどこ? • ローカルアカウント • SAM (Security Account Manager) • ドメインアカウント • Active Directory

  8. ◆記憶されるパスワードの形 • Windows 9x/Me • パスワードによるデータの暗号化(RC4) • PWLファイル • Windows NT/2000/XP/2003 • LMハッシュ、NTLMハッシュ

  9. LM ハッシュ • パスワードを鍵とした固定値のDES暗号化 • パスワードは14文字まで • 7文字毎に別々に暗号化 • 英大文字小文字の区別なし • 英数字記号パスワード総数:7兆5千億弱

  10. NTLM ハッシュ • パスワードをMD4でハッシュ化 • パスワードは127文字まで有効 • 英大文字小文字を区別 • 7文字ごとの分割なし • 総数≒∞

  11. ◆ネット上を飛ぶパスワードの形 • LM 認証 • NTLMv1 認証 • NTLMv2 認証 • NTLM2 Session Response • Windows Kerberos

  12. ネゴシエーション チャレンジ 認証データ LM 認証方式 サーバー クライアント チャレンジキー生成(A)8byte (A) 8byte 8byte 8byte DES LMハッシュ(16byte) KGS!@#$% DES 大文字化(パスワード)

  13. LM レスポンス • LM ハッシュ • 英数字記号パスワード総数:7兆5千億弱 • パスワードが7文字以下か8文字以上か瞬時に判明 • プレコンピューティング辞書攻撃が可能 • チャレンジを固定したサーバー

  14. ネゴシエーション チャレンジ 認証データ NTLMv1 認証方式 サーバー クライアント チャレンジキー生成(A)8byte (A) 8byte 8byte 8byte DES NTLMハッシュ(16byte) MD4 unicode(パスワード)

  15. NTLMv1 レスポンス • NTLM ハッシュ • プレコンピューティング辞書攻撃が可能 • チャレンジを固定したサーバー • 懸案事項 • DESの鍵空間はそんなに大きくない 256 = 約7京個

  16. ネゴシエーション チャレンジ 認証データ NTLMv2 認証方式 クライアント サーバー チャレンジキー生成(B)8byte チャレンジキー生成(A)8byte (A) (B) 16byte (B) HMAC-MD5 ユーザー名+ドメイン名 HMAC-MD5 NTLMハッシュ

  17. NTLMv2 レスポンス • NTLM ハッシュ • DES は使用せず • クライアントチャレンジがある • プレコンピューティング辞書攻撃不可 • 暗号処理にドメイン/ワークグループ名が含まれる • ドメイン/ワークグループの指定が必須で使いにくい • ほとんど使われていない

  18. 認証データ Windows Kerberos 認証方式 サーバー クライアント チャレンジキー生成(A)16byte (A) 36byte 日付などのデータ RC4 HMAC-MD5 1 HMAC-MD5 NTLMハッシュ

  19. Windows Kerberos • NTLM ハッシュ • DES は使用せず • クライアントチャレンジがある • プレコンピューティング辞書攻撃不可 • 盗聴攻撃は可能 • ユーザー(または管理者)が使用を強制できない • 故意に条件を変えて、回避できる

  20. Windows 認証比較

  21. OS別ハッシュ&レスポンス

  22. ◆ Windows 認証の脆弱性 • ハッシュの脆弱性 • ネットワーク認証の脆弱性 • よく知られる脆弱性 • 7文字暗号化問題(LMハッシュ、LM認証) • 下位互換性(LMハッシュ、LM認証) • レインボーテーブル(LMハッシュ、NTLMハッシュ) 違う! 何に対する脆弱性なのかを正しく理解する

  23. ◆ハッシュの脆弱性 • レインボーテーブルによる超高速解析 • ハッシュが抜かれるということは、手遅れ • 監査手法としては有効か

  24. Rainbow Table • パスワードハッシュ解析用計算手法 • 特にWindowsのハッシュに最適 • 既知の、パスワードとハッシュ値の組によるプリコンピューティング • 超高速化 • データベースの低容量化 • チャレンジを使うLM/NTLM認証には適応不可

  25. Rainbow Tableの効果 • RainbowCrackの例 • LM ハッシュ • パスワード総数:806億(英数字)/7兆5千億(記号も) • プレコンピューティング 5日/2年 • ディスク容量 3GB/119GB • 解析時間 20秒以内(+ディスクアクセス2分半)/ 13分以内(+ディスクアクセス1時間半)

  26. ◆ネットワーク認証の脆弱性 • 社内ユーザは、ネットワーク認証データの取得が容易 • 認証パケットの漏洩を防ぐことは困難 強い認証が必須

  27. ネットワーク認証の解析ツール • 良く知られるもの • ScoopLM/BeatLM • Cain • LC (L0pht Crack)

  28. LM 認証へのブルートフォース攻撃 • 2ヶ月以内に完全解読可能 • 通常の総当たり • 英数字記号パスワード総数:7兆5千億弱 • LM認証は弱く危険! LM認証を使ってはいけない

  29. Rainbowのネットワーク認証適用 • LM/NTLM認証には適用できないと言われるが • BugTraqで公表(2004/9/14:Urity) • サーバチャレンジを強制固定する • NTLMv1も、Rainbowの対象になる • クライアントチャレンジへの適用は不可 • NTLMv2 認証 • NTLM2 session response

  30. ◆ NTLM2 session response • 密かに変わっていた認証方式 • Windows 2000に実装 • Windows 2000 SRP1からデフォルト使用 • SRP1はSP3以降に含まれている • Windows XP/2003ではデフォルト使用 • あまり知られていないが現在はデフォルト • 見た目がNTLMv1と同じ

  31. NTLM2 session response • Eric Glass氏が2003年7月に解読 • プレコンピューティングへの対策 • Eric Glass氏によれば、プレコンピューティング辞書攻撃不可 • 正確な名称さえ不明 • 専門家の間では(Eric Glass氏による命名)NTLM2 session response

  32. ネゴシエーション チャレンジ (A) 認証データ 8byte 8byte 8byte DES 旧 NTLMv1 認証方式 クライアント サーバー チャレンジキー生成(A)8byte NTLMハッシュ

  33. ネゴシエーション チャレンジ 認証データ 8byte 8byte 8byte DES 新 NTLM2 S.R. 認証方式 クライアント サーバー チャレンジキー生成(B)8byte チャレンジキー生成(A)8byte (A) (B) (B) MD5 (C) (D) (D) NTLMハッシュ

  34. 使われる条件 • NTLM2 session security使用時に登場 • LMCompatibilityLevelレジストリとは不一致 • ネゴシエーション成立時のみ • 対2000サーバー Goldは対応 • サーバ側はデフォルト使用ではなくても、実装されていれば使用する • 対NTサーバーは利用できない • ユーザーが使用を強制できない

  35. 本当に強いのか? • クライアントチャレンジの導入 • Rainbow Tableで攻撃できない • 既知のクラックツールが使えない • Cainが対応→クラックスピードが遅い • 効率の良いクラッキング手段はないのか • 本当に安全なのか!

  36. ◆ NTLM2 S.R.の高速解析手法

  37. 8byte ここに着目 注目の2バイト (A) (B) 認証データ (B) 8byte 8byte 8byte MD5 DES (C) (D) 7byte 7byte 2byte NTLMハッシュ(16byte) MD4 パスワード

  38. 注目の2バイト(2) (A) (B) 認証データ (B) 8byte 8byte 8byte MD5 DES (C) (D) 65536通り 7byte 7byte 2byte NTLMハッシュ(16byte) MD4 あらかじめ65536通りにグループ化されたワードDBを作成しておくことで、65536倍の速さでクラッキングが可能になる パスワード

  39. 0000 0001 0002 下2バイトで分類 0003 0004 FFFE FFFF プレコンピューティング パスワード AAAAAAABBBBBBBCCCCCCCDDDDDDDEEEEEEEEFFFFFFFF・・・・ NTLMハッシュを計算 65536通り

  40. パケットより取得 チャレンジ 8byte (A) (B) 8byte 8byte 一致 照合 ABCD 0000000000 MD5 DES (C) (D) 判明した鍵グループ ~ FFFF 0000000000 0000 0000000000 65536通り 2バイトのDES鍵でブルートフォース攻撃 約0.1秒

  41. パスワードDBの特定 判明した鍵グループ(NTLMハッシュ) xxxxxxxxxxxxxxxxxxxxxxxxxxxxABCD 0000 0001 この中にパスワードがある 0002 ABCD ~ FFFE ~ FFFF 65536通り

  42. 解析時間とDBサイズ

  43. ブルートフォースパスワード空間 • 英小文字8文字まで 2171億 • 英(大小)数記号6文字まで 7430億 • 英(大小)数7文字まで 3兆6千億 • 英(大小)8文字まで 54兆 • 英(大小)数記号7文字まで 71兆 • 英(大小)数8文字まで 222兆

  44. プレコンピューティングの限界 • 全パスワード対応は、不可能 • パスワード推測アルゴリズムによる最適化 • 3ヶ月程度の強度までは、現実的な範囲 • 強いパスワードには影響がない • 充分に強いパスワードの使用が必須

  45. ◆認証パケットの取得の実際 • スイッチングハブ環境で、どうするか • スイッチも完璧ではない • 簡単に送出される認証パケット • ダミーサーバー登録 • ネットクロール • ウエブブラウズによる認証送出

  46. ダミーサーバー登録攻撃  • コンピュータ一覧をフェイクする • マスタブラウザへの偽登録は簡単 • ドメインマスタブラウザでも可能 • 偽サーバーをマスタブラウザに登録 • クリックしやすい名前で登録 • ユーザーがクリックするのを待つ

  47. ネットクロール • 共有フォルダ/プリンタの検索機能 • マイネットワークをクリック時 • マスタブラウザからコンピュータリスト取得 • 全コンピュータの共有フォルダをチェック • このとき、認証パケットを送出 • Me, XP, 2003もデフォルト有効 Microsoft KB256248,276322,320138

  48. ネットクロールその2 • Windows XP SP2でも動作 • Windows ファイアウォールに無関係 • ファイルとプリンタ共有例外に無関係 • ドメイン所属パソコンでは動作しない

  49. ウエブブラウズによる認証送出 • 7年経っても改善されない問題 • 悪意のあるウエブサーバー • SMB画像埋め込みで、認証取得可能 • <img src=file://\\www.xxx.yyy\zzz> • インターネットでも取得可 • NTサーバーを装えば、LM認証も飛ぶ

  50. 新たな問題 • ワード文書表示で、インターネットへ認証を送出 • WebClient service in Windows XP • 悪意のあるウエブサーバーで認証を取得可能 • IIS+.doc • 2004.9.3 発見 • 2004.9.6 マイクロソフトに報告 • マイクロソフトでは、重大な問題ではないと判断 • 2004.9.27NTBugTraqで公表

More Related