目次
Kali Linuxとはなに?
Kali Linuxとは、Linuxディストリビューション(OS配布形態)です。開発元はセキュリティ会社Offensive Securityで、ぺネストレーションに特化しています。
Linuxは単体では扱いにくいため、他のソフトウェアを組み合わせたディストリビューションでの配布も珍しくありません。Kali Linuxでは、ディストリビューションのDebianをぺネストレーション向けにしてあります。
ペネトレーションテストとはなに?
ペネトレーションテストとは、システムに実際のハッキング攻撃を行いセキュリティ上の問題を確かめることです。すなわち、システムに対するセキュリティ面の実用実験のようなものです。
ペネトレーションテストで把握できる範囲は、システムの脆弱性・漏洩の可能性がある情報・侵入時に入り込める領域などです。得られた調査結果は情報取得や改竄試行といった攻撃にも使用でき、これにより攻撃された時のインパクトも把握できます。
Kali Linuxの使い方5つ
Kali Linuxは、はじめからパソコンなどコンピュータに入っているツールではありません。使うためには、ダウンロードや設定など必要な手順があります。
その手順通りにKali Linuxを入手することで、利用を開始することができます。以下に一般的な利用手順をご紹介しますので、Kali Linuxを使いたい時の参考にしてください。
Kali Linuxの使い方1:VirtualBoxを使う
Kali Linuxの使い方1つ目は、VirtualBoxを使うことです。Kali LinuxはOSのため、コンピュータ本体やVirtual Machine(VM:仮想的にコンピュータを動作できる技術)が必要になります。
VMで提供されているソフトウェアは様々ですが、Kali LinuxではフリーソフトウェアのVirtualBoxを使います。仮想化製品として、今ある本体にOSインストール環境を用意できます。
Kali Linuxの使い方2:ダウンロードする
第一に必要となる作業は、ダウンロードです。Kali Linuxでペネトレーションテストを行うために必要なものを、順番にダウンロードしていきます。
順番にと言うように、ダウンロードが必要なものは1つではありません。今回メインでご紹介しているKali Linuxと、上記でご紹介したVirtualBox、この2つのダウンロードが必要不可欠になります。各ダウンロードについて、確認しておきましょう。
VMのダウンロードする
Kali Linuxをダウンロードする前に、VM(Virtual Machine)のダウンロードを行ってください。Kali Linuxは、OSとして環境がないと動作できません。そのため、はじめにOSの動作環境となるVMをダウンロードする必要があります。
VMのダウンロードおよび利用は無料です。自分のコンピュータに適したパッケージを選択し、ダウンロードを行いましょう。
kali Linuxをダウンロードする
Kali Linuxは、公式サイトのダウンロードページで配布されています。いくつかの種類が用意されていますが、VirtualBoxを使う際はVirtualBoxに特化したイメージを利用しましょう。
そのイメージは、Offensive Securityページにある項目のKALI LINUX VIRTUALBOX IMAGESからダウンロードできます。ハードディスク容量に注意してください。
インポートし起動させる
ダウンロード後、VirtualBoxを起動します。メニューのファイルから仮想アプライアンスのインポート・拡張子が.ovaのファイル・次への順に選択します。
次の仮想アプライアンスの画面で設定後インポートをクリックし、利用許諾に同意したら完了です。VBoxのVM一覧に追加されたKaliを起動するとログイン画面が表示されるので、デフォルトのユーザ名はkaliとパスワードkaliを入力するとログインができます。
Kali Linuxの使い方3:SQLインジェクションモードを選ぶ
Kali Linuxの使い方3つ目は、SQLインジェクションモードの選択です。SQLインジェクションモードを選ぶと、User IDの入力欄が表示されます。
このプログラムはSQLインジェクションに対する脆弱性を保持しており、1など適当にIDを入力すると適したデータが返ってきます(適当過ぎると応答しません)。
Kali Linuxの使い方4:全テーブル名の取得する
Kali Linuxの使い方4つ目は、全テーブル名の取得です。SQLインジェクションモードでwhere句に介入し、UNIONを使って任意の値を引き抜きます。
任意の値を引き抜くことができたら、全DBが持つテーブルが出力されます。しかし、出力されるテーブルの種類は雑多かつ大量です。そのため、重要なデータを持っているdvwaというDBのテーブルだけを抜き出します。
Kali Linuxの使い方5:設定する
Kali Linuxの使い方5つ目は、設定です。デフォルトの対応言語の中に日本語も含まれていますので、設定ページのRegion & Languageで言語とキーボードの設定を行ってください。詳細の日付と時刻から、タイムゾーンも設定できます。
しかし、日本語入力に対応させるためにはパッケージのインストールが必要になります。画面左側にあるタスクバーからTerminalを選択し、コードを入力すると入手できます。
Kali Linuxの便利なツール6つ
Kali Linuxには、ぺネストレーションテストに際して便利なツールがたくさん含まれています。今回ご紹介するのはその一部、hydra・crunch・nmap・aircrach-ng・john・burpsuiteです。
実際に攻撃してテストするものから弱い部分を調べるだけのものまでありますので、それぞれ機能を知り、ぺネストレーションテストに役立てましょう。
Kali Linuxの便利なツール1:hydra
Kali Linuxの便利なツール1つ目は、hydraです。アカウントクラッキングツールで、パスワードの強度(脆弱性)をチェックすることができます。
法的に問題なく調べることができるのは、ローカルサーバにおける自身のパスワードのみです。Googleなど、Web上でのパスワードには使ってはいけないため注意してください。
Kali Linuxの便利なツール2:crunch
Kali Linuxの便利なツール2つ目は、crunchです。総当たり攻撃を行う.txtファイルを作ることができるソフトです。
最少文字数と最大文字数が指定済みのパスワードを作成し、hydraなどでブルート(CPUの演算処理能力を活用してログインを繰り返す総当たり攻撃)を行えます。ただし、hydraでは総攻撃の際に全ての文字列が乗った.txtのテキストファイルを要求してくるため、その用意も必要です。
Kali Linuxの便利なツール3:nmap
Kali Linuxの便利なツール3つ目は、nmapです。ポートスキャンツールとして、指定したホストにポート番号を変えながらIPパケット送信を行い、その反応でどのポートが外部アクセス可能かを調べることができます。
スキャンオプションが豊富なため、細かく調査可能です。また、ポートスキャン以外に、ホストの挙動からOSやバージョンと動作情報の推測・稼働サーバソフトウェアの種類やバージョンの取得も行えます。
Kali Linuxの便利なツール4:aircrack-ng
Kali Linuxの便利なツール4つ目は、aircrack-ngです。無線LANやWi-Fiといった、無線類の脆弱性を調べることができます。
サイバー系の危険に関しては機器・端末類に目が行きがちですが、無線も危険な部分です。無線にはそれを使うためのWAPキーがあり、使用者以外が悪用すると情報への侵入経路になり得ます。インターネットを無線で使うのは当たり前の時代ですので、無線類の調査は大事と言えます。
Kali Linuxの便利なツール5: john
Kali Lunuxの便利なツール5つ目は、johnです。パスワード解析を行えるツールで、サーバ内にあるアカウントの脆弱性(パスワードの強度)を調べることができます。
知らべることができる内容は、1つ1つのアカウントが安全な(解析されにくい)パスワードかどうかや、簡単で強度の弱いパスワード設定になっているアカウントの有無などです。
Kali Linuxの便利なツール6:burpsuite
Kali Linuxの便利なツール6つ目は、durpsuiteです。Java製のツールで、主に脆弱性診断に用いられます。
特にHTTP通信関連のテストに優れており、Proxyを使用したHTTPリクエスト改変・レスポンス改変・再送信・サイトマップ作成・プロキシとしてWebブラウザ通信の内容をキャプチャするなど機能を持ちます。もちろん、HTTPS通信にも対応済みなので、現代においても有用なツールとなっています。
Kali Linuxを理解しペネトレーションテストを行ってみよう
Kali Linuxは、自身に関係したセキュリティの強さと弱い部分を調べるために役立つツールということを紹介しました。
Kali Linuxを使ったぺネストレーションで脆弱脃をチェック・改善して、セキュリティ強度を高めましょう。
インフラエンジニア専門の転職サイト「FEnetインフラ」
FEnetインフラはサービス開始から10年以上『エンジニアの生涯価値の向上』をミッションに掲げ、多くのエンジニアの就業を支援してきました。
転職をお考えの方は気軽にご登録・ご相談ください。