• Home
  • About
    • taichi photo

      taichi

      ars longa vita brevis.

    • Learn More
    • Twitter
    • LinkedIn
  • Posts
    • All Posts
    • All Tags
  • Projects

脆弱性診断メモ

04 Dec 2018

Reading time ~1 minute

脆弱性診断メモ(作成中)

脆弱性とはなにか?

・リスク = 驚異 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

 



TechnologySecurity Share Tweet +1