脆弱性診断メモ(作成中)
脆弱性とはなにか?
・リスク = 驚異 x 資産 x 脆弱性(プログラムの不具合などによって発生した商法セキュリティ上の欠陥)
・JVN(脆弱性、影響と対策が載っているところ)
ーWifiなど
・CVSS(共通脆弱性評価システム)
ー脆弱性情報の評価をしている
ー深刻度の判断材料になる
ー3つの指標がある(それぞれ0 - 10の値になる)
・CVSSで算出してみる
ーCSVVを使いこなすための勘所(参考)
ーCVSS計算機で算出する
法律・ガイドライン
・不正に入手した他人のIDとパスワードを使うのは違法の可能性(サーバーアクセス、メール閲覧、送信など)
・総務省「情報セキュリティ関連法令の要求事項集」実際の裁判の判例とかが載っている
・法務省「情報処理の高速化等に対処するための刑法等の一部を改正する法律案」を参照(Q&Aとかのってる)
・SQLインジェクション対策漏れの判決
ー顧客から要求がなくても受注先が責任
環境構築
- VirtualBox
- Extentionを機能拡張にインストール
- Kali Liux
- Linux Distribution Timeline(2013年)
- 侵入テストとセキュリティ監査を目的としたLinux(様々なツールが実装されている)
- Guest Additionをインストール
- ネットワークがNAT(インターネットなどに接続可能)であることを確認
- metasploitable2
- 意図的に脆弱に作られたLinuxの仮装マシン
- Nessus
- 脆弱性スキャナー
- 商用
- OpenVAS
- Nessusuから派生したセキュリティスキャナー
- Openベース
攻撃者が使用する代表的なツール
- nmap(ポートスキャナー)
- サービスを提供しているマシンのポートの開閉を調べる
- 指定した範囲のポートに順にアクセス(ex, 20 -25)
- いつ使うの?
- どこに玄関があいているかな?(HTTPだからといって80にする必要はない)
- それぞれの玄関には何々さん専用(ペートレーションテスト、余分なポートが開いてないか)
- WIreshark(ネットワークプロトコルアナライザー)
- HTTP通信の中身をみることが可能
- username, passwordわかる
- nikto(脆弱性スキャナー)
- Webサーバーとその上のアプリに対して脆弱性があるか辞書ベースでチェックできる
- “outdate”とか出てくる
- アンチクリックジャッキングが存在してないよ
- PHPinfo.pyとかバージョンが実装されているとなにか問題あるの?
- それ自体は脆弱性ってわけではないけど、infoからバージョンがわかる
- The Hydra(オンラインパスワードクラッカー)
- まずは使用する辞書を用意、txtファイルに書き出し
- ターゲットのIPアドレスを指定してコマンド
- sshでターゲットのサーバーに接続
- サイトにログインしたい場合もまずは辞書の用意
- htmlを分析
- コマンドを実行
- もっと実用的な辞書って手に入るの?
- 不特定多数に対してアタックするためのやつと分ける
- ターゲットに寄って変える
- レインボーなんとら
- John the Ripper(オフラインパスワードクラッカー)
- password.txt とshadow.txtを password.dbに入れて実行
- Metasploit Framework & Armitage(ペネとレーションテストツール)
- 様々な「攻撃を実証」するツール
- Exploit で脆弱性を発見する
- backdoorとか
- GUIのツイール:Armitage
- Nessus
- ターゲットとSantemplateを選ぶ
- OpenVasもだいたい同じ感じ
Webアプリ攻撃
metasploitable2にあらかじめてある脆弱性のあるアプリ(DVWA)に対して攻撃してみる
・Brute Force攻撃
ーパスワードの総当たり攻撃
・Command Execution
ーOSコマンドが勝手に実行されてしまうこと
ーShelllコマンドを利用する(IPアドレス、;セミコロン、cat,ncなどを利用)
ー ncを使うとそのIPアドレスにネットで中継できる(割と自由になんでもできる)
・CSRF(クロスサイト・リクエスト・フォージェリ)
ー利用者が悪意ある人により予期せぬ処理をさせられる
ー<a href= ></a>でpass変更の罠をつくる
・File Inclusion
ー 攻撃者が任意のファイル名を変更して攻撃する
ー URLが直接ファイル名のままだとまずい
ー URLをいじるだけでPasswordファイルを見つけることができる
・SQLインジェクション
ーDBを不正に操作
ーSQL文法を直接入力
ーunion文を利用することで、passwordファイルの中身などを表示することが可能
ー特定のユーザーの情報など全部見れる
・Blind SQL インジェクション
ー 脆弱性があるが文字列やエラー文などが表示されるかされないかという1ビットの情報からパスワードをみつける。
ーusersというテーブルが存在するかとか推測
ーカラム名を推測
ー条件式を定義してなにも表示されない場合は存在しないと推測
ーuser名の最初の文字がどの文字なのかも条件式でわかる(ASCII codeの何番目以上かとかわかる)(0x3aを用いる)
・File Upload攻撃
ーFileをアップロードできるサービスにおいて悪意のあるスクリプトが書かれたファイルをアップロードする
ーそのファイルを利用して、色々な操作をする
ー例えば、[GET][cmd]スクリプトファイルをあげれば、そのあとにURLから好きなコマンドを実行できるようになる
・クロスサイト・スクリプティング
ーWebページのアクセス時に悪意のあるページが表示されて(もしくは自動的に)、画面で操作をすると利用者がスクリプトを実行して情報を悪意のある人に送る
ーcookieの取得
ーalertとかでXSSが実行できるかをまず確認
ーフィッシングサイトを構築(phpプログラムとログを表示するサイト、HTMLフォーム)
ーstored型のページはリロードされるたびに実行される
・sqlmap
ー SQLインジェクションに特化したオープンソースの脆弱性診断ツール
ーターミナルのコマンドから直接利用可能
・WASP ZAPP
ー Webアプリケーションの脆弱性の情報を後悔している
ー ターミナルから直接利用することができる
ー対象URLにIPアドレスを指定してスキャン開始
ー結果がアラートのタブに表示される
ー1通り、サイトの機能を動かしてみてログを作ってからスキャン(スパイダースキャン&動的スキャン)をした方が良い
ー誤検知の可能性があるので、検知されたものを手動で確認する必要がある
・色々な攻撃のチートシートが公開されているので確認!
・security onion
- ubuntuベースのセキュリティ、ログの監視ツール
情報源
有用な情報を得るためにメタデータを把握していることが非常に重要
- 「我が国の竿バーセキュリティ戦略」
- セキュリティ驚異の変遷
- NISC ー我が国のサイバーセキュリティ組織について ー政府の政策などの資料がある
- FISC ー関連資料、セミナーやってる
- pciデータセキュリティ基準 ークレジット業界におけるグローバルセキュリティ基準 ークレジットカード以外にも使える具体的に対策が載っている
- 国民のための情報セキュリティ ーWi-Fiのセキュリティ対策について
- METI ーサイバーセキュリティ経営ガイドラインが良い
- IPA(情報セキュリティサイト, MyJVN) ー驚異ごとに分類していてわかりやすい ー「資料・報告書」→「映像コンテンツ」 ー企業・組織向け ーWebサイト開発・運用向け ーITテクニカルウォッチおすすめ ー海外セキュリティ関連文書おすすめ
- CSC20(SNAS JAPAN) ーCISと企業が協力している団体 ー優先順位の高いセキュリティ対策20を紹介している ー対策コストの削減に活用できる
- JPCERT ー日本のセキュリティ非営利団体 ー色々なコーディングの規約が載っている
- 日本シーサート
- 迷惑メール対策推進協議会
- フィッシング対策協議会 ー過去の例とかがみれる
- DBSC ーデータベースのセキュリティについて
- JNSA
- ISOG
- JDCG
- JSSEC ースマートフォンのセキュリティについて
- デジタルフォレンジック研究会 ー証拠保全ガイドラインが見られる貴重な資料
- Netcraft ー相手がどのネットワーク、プロバイダ、IPアドれる、サーバー、OSに属しているかがわかる ー「what’s the site running」に対象のURLを入れて調べられる
- aguse ーこれも相手のネットワークがわかるやつ
- SHODAN ー対象のURLの情報公開状況について調べることができる(HTTPとHTTPSについてとか)
- VirusTotal ー無料ウイルス検出オンラインサービス(ファイル、アドレスなど)
- ACTIVE ーマルウェア対策プロジェクト ー感染のチェック、駆除のツールとかある
-
日本サイバー犯罪センター ー注意喚起情報
- Badstore.net(脆弱ECサイト)
- Mutillidae(脆弱サイト)
- WebGoat(学習ツール)
- OWASP BWA(脆弱サイトとトレーニングアプリケーション)
- SamuraiWTF
- Web Security Dojo