1. ホーム
  2. 記事一覧
  3. Kali Linux とは?

2022.10.22

Kali Linux とは?

Linuxディストリビューションには様々な種類が存在します。

その中でもサイバーセキュリティに特化したKali Linuxについて解説します。Kali Linuxについて学ぶことで、セキュリティに興味を持つきっかけになればと思います。

Kali Linuxとは

Kali Linuxは、「カーリーリナックス」と呼び、DebianベースのオープンソースLinuxディストリビューションの一つです。サイバーセキュリティに特化したLinuxで、ペネトレーションテスト、コンピュータフォレンジック、リバースエンジニアリングなどのセキュリティに関する数多くのツールがサポートされています。

Kali Linuxを使いセキュリティチェックをすることで、自社サイトの脆弱性を把握することができます。ただしKali Linuxはセルフセキュリティチェックするには非常に便利ですが、他社サイトに使用するとサイバー攻撃とみなされ違法行為になる可能性があるため、使い方には注意が必要です。

Kali Linuxの特徴

  • サイバーセキュリティに関する多くのツールを使うことができる

    Kali Linuxでは600を超えるツールを使用することができます。

  • 幅広いデバイスに対応

    Kali Linuxは幅広いデバイスをサポートしています。様々なハードウェア上で動作し、多くのUSBやワイヤレスデバイスとの互換性があります。

代表的なツール

以下は、代表的なツールです。これら以外にも様々なツールがサポートされているので、目的に応じてKali Linux公式ドキュメントを確認してください。

ポートスキャン

ポートスキャンとは、対象となるIPアドレスの各ポートの稼働状況を調査する手法です。各ポートへ通信し、応答内容から解放されているポートや稼働中のサービスの情報を確認することができます。

ペネトレーションテスト

ペネトレーションテストは、侵入テストのことです。実際に対象のシステムに対して、攻撃者が実行するような手法を用いて侵入します。システムのセキュリティ耐性や、攻撃を受けた際のリスクを把握するために行われます。

DoS攻撃

対象となるWEBサイトやサーバーに対して、大量のアクセスを送る攻撃です。アクセスが集中することにより、対象のWEBサイトへのアクセス困難、サーバーをダウンさせるなど、対象物が正常に動作しないようにすることが目的で行われます。

SQLインジェクション

SQLインジェクションはWEBアプリケーションの脆弱性を利用して、データベースを不正に操作する攻撃のことです。WEBアプリケーションの検索ボックスや入力フォームなどに、不正なSQL文を記入することで実行されます。

これによってデータベースに登録された情報の改ざんや漏洩の被害を受けます。

デジタルフォレンジック

デジタルフォレンジックとは、サイバー攻撃を受けた機器のデータを解析、分析することです。再発防止、被害の原因特定、訴訟の準備などの目的で行われます。

Kali Linuxのインストール方法

Kali Linuxは以下の方法でインストールすることができます。

  1. PCへ直接Kali ISOのインストール
  2. 仮想環境(VirtualBox、VMware)へKali ISOのインストール
  3. コンテナ(Docker)へのインストール
  4. クラウド(Amazon AWS、Microsoft Azure)を利用したインストール
  5. USBへのKali ISOのダウンロード

今回は上記の内のDockerとAWSへのインストールについて解説します。

Dockerへのインストール

Kali Linuxコンテナの作成

以下のコマンドでKali Linuxのイメージをpullすることができます。

$ docker pull kalilinux/kali-rolling

取得したイメージからコンテナ作成

$ docker run -itd kalilinux/kali-rolling

上記コマンドでKali Linuxのコンテナを作成することができました。現状では、まだツールのインストールはされていません。ツールをインストールするためにコンテナの中に入ります。

$ docker exec -it <コンテナID> bash

ツールのインストールの前に、以下のコマンドを実行しておきましょう。

# apt update

あとは目的に応じて、必要なツールをインストールするだけです。Kali LinuxではNmap、Metasploit Frameworkなど個々でツールをインストールすることも可能ですが、メタパッケージと呼ばれる目的に応じたツールをパッケージ化したものも提供されています。

これにより個々にapt install gitとインストールする必要はなく、apt install <メタパッケージ名>で複数のパッケージや依存関係のあるライブラリなどをまとめてインストールすることができます。

主なメタパッケージ

  • kali-linux-headless

    gitやvimなどの基本的な機能を主にインストールするパッケージです。公式でも推奨されているため、インストールしておくことをお勧めします。

  • kali-tools-passwords

    kali Linuxが提供する全てのパスワードクラッキングツールをインストールすることができます。

  • kali-tools-database

    データベースのセキュリティチェックに関するツールをインストールすることができます。sqlmapなどが含まれています。

  • kali-tools-top10

    kali Linuxが提供するツールの中で、重要とされる10個のツールをインストールすることができます。aircrack-ng、sqlmap、wiresharkなどが含まれています。

メタパッケージのインストール

それでは、kali-linux-headlessを作成したコンテナにインストールします。以下のコマンドを実行します。

# apt -y install kali-linux-headless    

上記コマンドを入力後、数分間でインストールが完了します。ここまでで基本的なKali Linuxの設定は完了しました。必要に応じて、ツールやメタパッケージをインストールして下さい。

AWSへのインストール

AWSのEC2へのKali Linuxのインストールについて解説します。通常のEC2インスタンス作成の手順と基本的には同じように進めていきますが、AMIの選択の部分が通常とは異なります。今回はKali LinuxのEC2へのインストールの解説のため、VPC、サブネットなどの作成、設定は割愛します。またAWSでのKali Linuxの使用は若干の料金が発生することにも注意してください。

EC2の作成

EC2の以下の画面に進み、インスタンスの作成をクリックします。

「インスタンスを起動ページ」のアプリケーションおよびosイメージの検索欄にKali Linuxと入力します。

Kali Linuxを選択します。

続行をクリックします。

以下のようにAMIが反映されます。あとは通常通りEC2の作成を行ってください。

最終的に以下のように表示されると、Kaliインスタンスの作成完了です。

インスタンスへのSSH接続

Kaliインスタンスへの接続は通常のEC2インスタンスへの接続と若干異なるので注意が必要です。通常EC2インスタンスに接続する際、ssh -i <キーペア> ec2-user@<パブリックIPアドレス>と入力しますが、これではKaliインスタンスに接続することはできません。ユーザー名をec2-userからkaliに変更するとKaliインスタンスに接続することができます。

ssh -i <キーペア> kali@<パブリックIPアドレス>

以下のように表示されると、接続成功です。

┏━(Message from Kali developers)
┃ This is a cloud installation of Kali Linux. Learn more about
┃ the specificities of the various cloud images:
┃ ⇒ https://www.kali.org/docs/troubleshooting/common-cloud-setup/
┗━(Run: “touch ~/.hushlogin” to hide this message)
┌──(kali㉿kali)-[~]
└─$

AWSを使用したKaliインスタンスには、Dockerと異なり多くのツールが既にインストールされています。ただし、インストールされていないツールもあるため使用する際には目的のツールがインストールされているか確認する必要があります。

Nmapを使ってポートスキャン

DockerとAWSのEC2へのKali Linuxのインストールが完了しました。ここでは、DockerにインストールしたKali LinuxでNmapを使用して、簡単なポートスキャンを実行します。冒頭でも説明しましたが、Nmapでポートスキャンする対象は必ず、自身の管理下にあるIPアドレスに対して行ってください。

Nmapのインストール

DockerへのKali Linuxのインストールの項目で、初期設定としてインストールしたkali-linux-headlessの中にNmapも含まれています。kali-linux-headlessのインストールをせずに、Nmapを単体でインストールしたい場合は以下のコマンドを実行してください。

# apt install nmap

Nmapの実行

実際にKaliコンテナからホストPC(127.0.0.1)に対してポートスキャンしてみましょう。

通常Nmapのコマンドは、nmap <対象のIPアドレス>でポートスキャンを実行します。コンテナの中からホストPCへのポートスキャンの際に、nmap 127.0.0.1とするとホストPCではなくコンテナ自身を指してしまうため今回は以下のコマンドを実行します。これでホストPCに対してポートスキャンを行うことができます。

# nmap host.docker.internal

実行結果

以下のような実行結果を得ることができました。使用されているポートとサービスの一覧が表示され、PostgreSQLなどのサービスが動いていることがわかります。今回は、簡単なポートスキャンだけですが、Kali Linuxに含まれているツールを使用することで様々なセキュリティチェックを行うことができます。

Starting Nmap 7.93 ( https://nmap.org ) at 2022-10-19 09:34 UTC
Nmap scan report for host.docker.internal (192.168.65.2)
Host is up (0.00069s latency).
Not shown: 993 closed tcp ports (reset)
PORT      STATE SERVICE
88/tcp    open  kerberos-sec
5432/tcp  open  postgresql
5555/tcp  open  freeciv
5900/tcp  open  vnc
8000/tcp  open  http-alt
49152/tcp open  unknown
49161/tcp open  unknown

まとめ

  • Kali Linuxは「カーリーリナックス」と呼び、サイバーセキュリティに特化したDebianベースのLinuxディストリビューションです。
  • 600以上のツールと、目的ごとにツールをまとめてインストールできるメタパッケージが提供されています。
  • ツールの使用は、自身の管理下にあるサイトやサーバーに対して行ってください。他社サイトに使用するとサイバー攻撃とみなされ違法行為になる可能性があります。

【番外編】USBも知らなかった私が独学でプログラミングを勉強してGAFAに入社するまでの話

IT未経験者必見 USBも知らなかった私が独学でプログラミングを勉強してGAFAに入社するまでの話

プログラミング塾に半年通えば、一人前になれると思っているあなた。それ、勘違いですよ。「なぜ間違いなの?」「正しい勉強法とは何なの?」ITを学び始める全ての人に知って欲しい。そう思って書きました。是非読んでみてください。

「フリーランスエンジニア」

近年やっと世間に浸透した言葉だ。ひと昔まえ、終身雇用は当たり前で、大企業に就職することは一種のステータスだった。しかし、そんな時代も終わり「優秀な人材は転職する」ことが当たり前の時代となる。フリーランスエンジニアに高価値が付く現在、ネットを見ると「未経験でも年収400万以上」などと書いてある。これに釣られて、多くの人がフリーランスになろうとITの世界に入ってきている。私もその中の1人だ。数年前、USBも知らない状態からITの世界に没入し、そこから約2年間、毎日勉学を行なった。他人の何十倍も努力した。そして、企業研修やIT塾で数多くの受講生の指導経験も得た。そこで私は、伸びるエンジニアとそうでないエンジニアをたくさん見てきた。そして、稼げるエンジニア、稼げないエンジニアを見てきた。

「成功する人とそうでない人の違いは何か?」

私が出した答えは、「量産型エンジニアか否か」である。今のエンジニア市場には、量産型エンジニアが溢れている!!ここでの量産型エンジニアの定義は以下の通りである。

比較的簡単に学習可能なWebフレームワーク(WordPress, Rails)やPython等の知識はあるが、ITの基本概念を理解していないため、単調な作業しかこなすことができないエンジニアのこと。

多くの人がフリーランスエンジニアを目指す時代に中途半端な知識や技術力でこの世界に飛び込むと返って過酷な労働条件で働くことになる。そこで、エンジニアを目指すあなたがどう学習していくべきかを私の経験を交えて書こうと思った。続きはこちらから、、、、

note記事3000いいね超えの殿堂記事 今すぐ読む

エンベーダー編集部

エンベーダーは、ITスクールRareTECHのインフラ学習教材として誕生しました。 「遊びながらインフラエンジニアへ」をコンセプトに、インフラへの学習ハードルを下げるツールとして運営されています。

RareTECH 無料体験授業開催中! オンラインにて実施中! Top10%のエンジニアになる秘訣を伝授します! RareTECH講師への質疑応答可

関連記事

2020.02.25

完全未経験からエンジニアを目指す爆速勉強法

USBも知らなかった私が独学でプログラミングを勉強してGAFAに入社するまでの話

  • キャリア・学習法
  • エンジニア

2024.07.30

ABACとRBACの違いを徹底解説!あなたのシステムに最適なアクセス制御モデルはどっち?

ABAC(Attribute-Based Access Control)は、アクセス制御を属性に基づいて行う柔軟なモデルです。このモデルでは、ユーザー、リソース、アクション、および環境の属性を考慮してアクセス権を決定します。ABACはその柔軟性と詳細な制御が可能な点で、現代の情報システムにおいて重要な役割を果たしています。

  • インフラエンジニア
  • サイバーセキュリティ

2024.09.28

【Terraformハンズオン】Lambda関数にレイヤーを追加してみよう

この記事では、Lambda関数の中でも「レイヤー」について解説し、記事後半ではIaCツールのTerraformを使ってハンズオン形式でレイヤーの作成方法と利用方法を学びます。

  • AWS
  • ハンズオン
  • Terraform

2023.12.29

なりすましメール対策の要 SPF・DKIM・DMARCを徹底解説

これらの脅威に対抗するため、SPF(Sender Policy Framework)、DKIM(DomainKeys Identified Mail)、DMARC(Domain-based Message Authentication, Reporting, and Conformance)という三つの重要な技術が開発されました。これらはそれぞれ異なる方法でメールの正当性を確認し、不正なメールの送信を防ぎます。

  • サイバーセキュリティ