Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Nessusの仕組み / How Nessus works

70 views

Published on

Spectre / Meltdownのスキャナがリモートクライアントの脆弱性をどうやって調べるのか気になったので作った資料です。
This

Published in: Software
  • Be the first to comment

Nessusの仕組み / How Nessus works

  1. 1. 脆弱性スキャナNessusの観察 ~パケットモニタリングを添えて~
  2. 2. 観察対象と動機 Spectre / Meltdown はOS上のメモリを読み取られる脆弱性 パケットを送り込んで遠隔コード実行可能なものではないはず どうやってリモートから脆弱性の有無を判断するんだろう・・・? Spectre and Meltdownテンプレート 注:テンプレートとは 脆弱性スキャナのパラメータやプラグインのプリセットのこと テンプレートを使用せず自分で同じ条件のスキャナを組むこともできる
  3. 3. 検証環境 Win10-Host Win7-Guest allow tcp 445 注1: Administratorアカウントが有効になっていないと 脆弱性を検出できなかった 注2: SMBが有効かつ445ポートが空いていないと 脆弱性を検出できなかった
  4. 4. 脆弱性の検出結果 Meltdown/Spectreに対する セキュリティアップデートの状況に 問題が見つかった KB4056897/KB4056894が必要 ntoskrnl.exeのバージョンが低い (カーネルパッチが当たっていない) どうやってこの結果を調べたのか?
  5. 5. レジストリキーの列挙 リモートレジストリサービス(WINREG) へのアクセスを観測 OpenHKLM: HKEY_LOCAL_MACHINEを開く OpenKey: 指定のレジストリキーを開く QueryInfoKey: サブキーの数と更新日を得る EnumKey: サブキーを列挙する システムに適用されているKBが このレジストリキーに列挙されている プラグインで指定したKBが見つからなければアラートを上げる
  6. 6. システムファイルの確認 システムファイル ntoskrnl.exe : Windowsカーネル itss.dll : ヘルプファイル用ライブラリ win32k.sys : Windowsカーネルドライバ bcrypt.dll : 暗号モジュール srv.sys: SMBドライバ プラグインで指定したファイルのバージョンが古ければアラートを上げる 備考: 名前付きパイプ IPC$/svcctl: Windowsサービス制御 IPC$/winreg : リモートレジストリサービス IPC$/lsarpc : 認証情報の取得
  7. 7. 結論 Win10-Host Win7-Guest レジストリキー システムファイル 1 2 3 5 6 1. AdministratorアカウントでIPC$に接続する 2. WINREG経由でレジストリにアクセスする 3. KBの適用状況一覧を取得して脆弱性が残ってい るか確認する 4. AdministratorアカウントでC$に接続する 5. C:/Windows/System32/にアクセスする 6. システムファイルを取得して脆弱性が残っている か確認する 4
  8. 8. おまけ:他のテンプレートは何をしているのか
  9. 9. WannaCry Ransomeware 1.マルウェアスキャナ(tenable_mw_scan)を 対象クライアントに書き込む 2.svcctl 経由でtenable_mw_scanを起動する 3.スキャン結果が記載されたtxtを取得する 備考: tenable_mw_scan: 既知のマルウェアのハッシュ値と比較して システム内のWannaCryを検出する実行ファイル PeekNamedPipe Requestに対して STATUS_INSUFF_SERVER_RESOURCESが返る = Eternal Blueが利用可能な状態 脆弱性の有無を確認 感染の有無を確認 備考: Metasploitでも同じ手法で脆弱性の有無を調査する
  10. 10. Basic Network Scan 名前付きパイプへのアクセスが多数 RPC経由でシステム情報を収集している ※WannaCryテンプレートのようなカスタムスキャナは無い オープンポートをスキャン 一通りのサービスポートをSYNスキャン Listen状態のポートは更に情報取得を試みる 5357 :WSD 49154-49157:lsass 135, 139, 445:SMB/RPC システム情報収集

×
Save this presentationTap To Close