Kali Linux は Offensive Security (現 OffSec) が維持する Debian ベースの「攻撃側に最適化された」 Linux ディストリ。600 以上のセキュリティツールが事前にインストール・設定済みで出荷され、ペネトレーションテスト・レッドチーム演習・CTF・OSCP 試験環境の事実上の標準となっている。本稿は「Ubuntu に nmap を入れれば済むのでは?」という素朴な疑問から入り、Kali が解いている問題・ペンテストワークフロー・普通の Linux との違い・デプロイパターン・法と倫理の境界線までを扱う。
難しく見えても本質は次の 3 つだけ。(1) Kali は 「ペンテスト用に道具を全部詰め込んだ Linux」 — Ubuntu のような普段使い OS ではなく、攻撃側の検査ツール 600 本入りの工具箱。(2) 入っているからといって 「他人のシステムに撃って良い」ことには絶対にならない — 不正アクセス禁止法 / CFAA に当然抵触する (§07 必読)。(3) 合法に練習する場は 自分の VM / HackTheBox / TryHackMe / VulnHub / PortSwigger Academy など、攻撃可能に作られた CTF サイトに限る。— ここを土台に各章を順に開いていけばいい。
なぜ独立したディストリが必要なのか #
「nmap も Metasploit も Burp も apt-get で Ubuntu に入る」のに、わざわざ Kali を使う必要があるのか? という疑問は正当。Kali が解いているのは「ツールを揃えること」ではなく、その周辺 にある。
料理を始めるとき、包丁とまな板を 1 個ずつ買い揃えることもできるし、調理道具一式が揃ったプロ用ケースを買うこともできる。Ubuntu に nmap や Metasploit を 1 個ずつ入れていくのが前者、Kali を入れるのが後者。600 のツールが互いに干渉しないようバージョンが調整されていること、無線 NIC で監視モードがすぐ動くようカーネルが調整されていること、Live USB で持ち運べて痕跡を残さないこと — これら「周辺の整え方」を全部やってある運用パッケージが Kali の本当の価値。
- 整合性の取れた依存関係 — 600 ツールが衝突せずに同居するパッケージング (Aircrack-ng / Metasploit / OpenVAS / Burp が同じ Python・Ruby・Java の上で動く)
- 無線ドライバとカーネル — monitor mode / packet injection 対応の無線 NIC ドライバがカーネルに事前パッチ済み。普通の Ubuntu では別途ビルドが要る
- 検証済みのバージョン組合せ — 個別ツールの最新ではなく「セットでテストされたバージョン」を提供 (rolling release だが品質ゲートあり)
- ライブブート + 永続化 — USB から起動して即フル機能、暗号化された USB persistence で証拠と作業状態を持ち運べる
- 役割ベースの metapackage —
kali-tools-web/kali-tools-wireless/kali-tools-forensicsなどで用途別にまとめてインストール - オフライン更新 — オフライン現場でもパッケージリポジトリミラーをローカルに持てる
つまり Kali は 「セキュリティ業務の現場で必要なものを、すぐに動く形で出荷する」 運用パッケージ。個人の好みのディストリに必要ツールだけ入れるのも完全に有効な選択肢で、経験を積んだ pentester は意図的に Arch / Ubuntu / NixOS で自分の環境を組むこともよくある。
系譜 — Auditor → BackTrack → Kali #
Kali は突然出てきたわけではなく、2000 年代初頭から続く「攻撃用 Linux ライブ CD」の系譜の現代版。
| 年 | 名前 | 維持 |
|---|---|---|
| 2003 | Auditor Security Collection | Max Moser |
| 2004 | WHAX (Whoppix の派生) | Mati Aharoni |
| 2006 | BackTrack 1 (Auditor + WHAX 統合) | Offensive Security |
| 2012 | BackTrack 5 (最終版) | Offensive Security |
| 2013 | Kali Linux 1.0 (Debian 全面再構築) | Offensive Security |
| 2019 | Kali Linux 2019.4 — 非 root デフォルトに大転換 | Offensive Security |
| 2020+ | Kali Linux (rolling) | OffSec (社名変更) |
単なるリネームでなく、Ubuntu/Slackware ベースから Debian ベースに作り直し、FHS (Filesystem Hierarchy Standard) 準拠を整えた全面再構築だった。OSCP (Offensive Security Certified Professional) という業界資格と緊密に結びついており、OSCP の試験環境は Kali ベース。
ペンテスト 6 フェーズと Kali ツールの対応 #
「Kali には 600 ツール入っている」と言われても、いつ何を使うのかが分からない。ペンテスト全体を 6 フェーズに切り、各フェーズの代表ツールを当てはめる のが頭の整理に効く。
ペンテスト 6 フェーズは 「合法的に行う強盗のリハーサル」と同じ流れ。① 偵察 (Recon) = 建物の周りを歩いて入口・窓・警備の場所を確認、② 弱点分析 (Vuln Analysis) = 鍵の脆い窓を特定、③ 侵入 (Exploitation) = 実際に窓から入る、④ 拠点拡大 (Post-Exploit) = 鍵束を奪って金庫まで辿る、⑤ 報告 (Reporting) = 経緯を依頼主に文書化、⑥ 後始末 (Cleanup) = 残した足跡を消す。必ず依頼主の書面許可 (RoE) を得てから始める、というのは強盗ごっこの大前提。各フェーズで使うツールは下表のとおり。
- Scope 同意 (RoE: Rules of Engagement) — どのホスト / 何の手口まで OK か
- 隔離環境の確保 — ターゲットへの経路 / 検知をすり抜けない / 業務影響の確認
- 出口管理 — マルウェア配置・C2 接続を残さない
- ログ — 全コマンド history と tcpdump 出力を保存 (証拠 / クライアント開示用)
実務では フェーズが線形に進むことはほぼなく、戻りループ が頻繁に発生する。Post-exploit で見えた内部ホストに対して再び Recon する、Exploit に失敗 → vuln analysis に戻ってさらに調査する、というのが現実。Kali はこの往復の摩擦を最小化するために作られている。
Kali ツールの 13 カテゴリ俯瞰 #
Kali のアプリケーションメニューは 13 のカテゴリ で組まれている。「初学者がまず触るべきツール 1 個ずつ」という観点で代表を選んで俯瞰する。
600 ツールを前にすると圧倒されるが、実務で本当に毎日使うのは 7 ツールくらい。(1) nmap (ポートスキャン), (2) gobuster / dirb (Web のディレクトリ列挙), (3) Burp Suite Community (Web プロキシ), (4) Metasploit Framework (代表的なエクスプロイト集), (5) john / hashcat (パスワード解析), (6) Wireshark (パケット解析), (7) LinPEAS / WinPEAS (権限昇格の候補列挙)。この 7 つで HackTheBox / TryHackMe の Easy〜Medium マシンの 80% は解ける。他のツールは「必要になったときに 1 個ずつ覚える」で十分。
| # | カテゴリ | 代表ツール |
|---|---|---|
| 01 | Information Gathering | nmap / masscan / theHarvester / recon-ng / amass / dnsrecon / Maltego / enum4linux / smbmap |
| 02 | Vulnerability Analysis | nikto / OpenVAS (GVM) / searchsploit / sqlmap / wpscan / sslscan / lynis |
| 03 | Web Application Analysis | Burp Suite / OWASP ZAP / sqlmap / dirb / gobuster / whatweb / wapiti / commix |
| 04 | Database Assessment | sqlmap / SQLNinja (MS-SQL) / jSQL / tnscmd10g (Oracle) |
| 05 | Password Attacks | john (オフライン) / hashcat (GPU) / hydra / medusa (オンライン) / crunch (wordlist) |
| 06 | Wireless Attacks | aircrack-ng / airodump-ng / wifite / hcxdumptool (PMKID) / reaver / bully (WPS) |
| 07 | Reverse Engineering | Ghidra (NSA) / radare2 / iaito / apktool / dex2jar / edb-debugger / gdb-peda |
| 08 | Exploitation Tools | Metasploit Framework / SET (Social Engineering) / BeEF / msfvenom |
| 09 | Sniffing & Spoofing | Wireshark / tcpdump / ettercap / bettercap (現代版 MitM) / Responder |
| 10 | Post Exploitation | mimikatz / BloodHound (AD グラフ) / CrackMapExec (NetExec) / PowerSploit / Empire |
| 11 | Forensics | Autopsy / Sleuth Kit / Volatility / binwalk / foremost |
| 12 | Reporting | Faraday IPE / Dradis / CherryTree / PwnDoc |
| 13 | Social Engineering Tools | SET / Maltego / King Phisher |
最初は 5〜10 ツールに絞る のが正解 — nmap (recon) / dirb gobuster (web 列挙) / Burp Suite Community (web プロキシ) / Metasploit Framework (exploit) / john hashcat (hash 解析) / Wireshark (パケット解析) / LinPEAS (Linux 特権昇格)。このセットで HackTheBox や TryHackMe の易〜中マシンの 80% がカバーできる。
metapackage で一括: kali-tools-web / kali-tools-wireless / kali-tools-forensics などで用途別にまとめて入る。
「普通の Linux と違う」点 #
Kali を 普段使いの OS にしてはいけない 理由がいくつかある。設計思想が攻撃者用に振っているので、デスクトップやサーバ運用には合わない。
F1 レース車は 速く走るために、エアコン・カーナビ・後部座席・衝突安全機構が全部外されている。Kali も同じで、攻撃ツールがすぐ動くように、普段の Linux にあるはずの防御機能 (FW / AppArmor / 自動サービス起動) が意図的に外されている。だからこれを 普段の通勤用 (Web サーバ / 本番 VM / メインデスクトップ) として使うと、ハードニング不足で簡単に踏まれる。「Kali = Live USB / VM / Docker でだけ動かす」と最初から決めておくのが正解。
| 項目 | Kali の設計 | 普通の Linux |
|---|---|---|
| デフォルトユーザ | 2020 年から非 root (kali:kali)。それまでは root デフォルトで批判が多かった |
一般ユーザ + sudo |
| セキュリティハードニング | 意図的に最小限 — ファイアウォール無効, AppArmor 無効 (攻撃用 NIC を使うため) | 各ディストリで強化 |
| ネットワーク | デフォルトでサービス自動起動なし (postgresql, ssh は手動) — 自分の存在を隠すため | sshd, cron, rpcbind 等が起動 |
| インストール済みツール | 600+ — multi-GB の base image | 100 程度 (server) / 数千 (desktop full) |
| カーネル | 無線 monitor mode + injection に対応した patched kernel | mainline kernel |
| 更新ポリシー | rolling release (安定版なし) | LTS (Ubuntu / RHEL) または rolling (Arch) |
| ターゲット | エフェメラルな攻撃用環境 (USB / VM / コンテナ) | 永続的な OS |
ペンテスト終了後に状態をリセットできる (Live USB / VM スナップショット / Docker / クラウドスナップショット) のが Kali の使い方の前提。本番 OS として晒すと、ハードニング不足で簡単に踏まれる。
デプロイパターン — 用途で使い分ける #
Kali は どこでも動く ことが強み。現場・予算・法的境界に応じて使い分ける。
| 形態 | 強み | 弱み | 典型ユースケース |
|---|---|---|---|
| Live USB (Persistence) | ホスト OS に痕跡なし / どこでも持ち運べる / 暗号化 USB で証拠持帰り | NIC ドライバ非認識リスク / 起動が遅い | 物理的な現場ペンテスト |
| VM (VMware / VirtualBox / UTM) | スナップショットで一瞬リセット / ホストと隔離 / 公式 OVA 提供 | 無線 NIC は USB 経由必須 | 学習・CTF・自宅ラボ (標準) |
| Bare metal | 性能フル / GPU で hashcat 全開 | 普段使いに不向き | 専用 pentest ラップトップ |
| WSL2 (Windows) | Windows 内でツール使える / 軽い | GUI 制限 / monitor mode 不可 | Windows メイン + 部分的 Kali |
| Docker / kalilinux/kali-rolling | 一瞬で立ち上げ / 用途別に隔離 | カーネル機能は親 OS 依存 | 特定ツール 1 つを叩きたいとき |
| NetHunter (Android) | スマホで Kali / 無線監視 / Bluetooth 攻撃 | OnePlus / Pixel など限定機種 | モバイル現場検査・Wi-Fi audit |
| Cloud (AWS / Azure / GCP) | パブリック IP / 高速回線 | 事業者 AUP で 事前申請が必要 | 大規模スキャン・分散ファジング |
| ARM (Raspberry Pi 等) | 安価・小型・電池駆動 / drop-box | 性能限界 | 物理現場の隠れた足場 |
# Docker で 1 行
$ docker run -it --rm kalilinux/kali-rolling bash
# Docker で metapackage 込み (web ツール一通り)
$ docker run -it --rm kalilinux/kali-rolling bash
# apt update && apt install -y kali-tools-web
# WSL2 (Windows PowerShell)
PS> wsl --install -d kali-linux法と倫理 — 合法と違法の境界 #
Kali は道具にすぎず、何を撃つかで合法・違法が分かれる。日本では 不正アクセス禁止法、米国では Computer Fraud and Abuse Act (CFAA)、EU では Cybercrime Convention などが、許可なきシステムへの攻撃を犯罪としている。
包丁を持っているだけで違法ではないが、他人に向けた瞬間に犯罪になる。Kali も同じ — インストールしているだけでは合法だが、許可なしのサーバに nmap を撃った瞬間に犯罪。判断基準はシンプルで、(1) 自分の所有物か / (2) 書面で許可を取った委託か / (3) HackTheBox など意図的に「撃って良い」と公開された練習場か — この 3 つのどれかに該当しないなら、撃ってはいけない。「公開されているから」「脆弱なのが悪いから」は許可の代わりにならない、と最初に骨に刻んでおくのが、長くこの分野でいるための最低条件。
合法に Kali を使える 3 つの場:
- 自分が所有・管理するシステム — 自宅ラボ、自分の VPS、自分のクラウドアカウント上の VM
- 明示的な書面許可がある委託 — Penetration Test 契約 (RoE 文書化)、Bug Bounty (HackerOne / Bugcrowd の scope 内)、雇用主の社内 audit
- 意図的に攻撃可能に作られた練習プラットフォーム — HackTheBox / TryHackMe / VulnHub / PortSwigger Web Security Academy / OverTheWire
意図的にセットアップされた CTF サイト以外への攻撃 (例えばニュースで脆弱性報告を見て、その企業のサーバに同じ手口を試す) はほぼ確実に違法。「軽い気持ちで」が人生で一番高くつくミスになりうる。
OSCP (Offensive Security Certified Professional) は Kali を実際に使い 24 時間で 5 台のマシンに侵入する実技試験で、業界で最も認知度の高いペンテスト資格。OSCP の練習環境 (PEN-200 ラボ) も Kali 前提。次世代資格として OSWE (Web Expert), OSEP (Evasion Expert), OSED (Exploit Developer), OSWP (Wireless) が同じ OffSec から出ている。
競合と defensive 対照 #
「攻撃用 Linux」は Kali だけではない。目的や思想で住み分けがある。
| 攻撃用 (offensive) | 特徴 |
|---|---|
| Kali Linux | Debian + 600 ツール / OffSec / 業界標準 |
| Parrot Security OS | Debian + 多数ツール + 匿名化志向 (AnonSurf 内蔵) + 軽量 |
| BlackArch Linux | Arch ベース / 2,800+ ツール (Kali より多い) / 上級者向け |
| Pentoo | Gentoo ベース / ハードコア向け |
| Commando VM | Windows 上のペンテスト環境 (Mandiant) — AD 評価向け |
| REMnux | Ubuntu ベース / マルウェア解析専用 |
| 防御用 (defensive) | 特徴 |
|---|---|
| SIFT Workstation (SANS) | Ubuntu ベース / デジタルフォレンジック・インシデント対応 |
| Security Onion | Ubuntu ベース / NSM + IDS (Suricata / Zeek / Wazuh) |
| CAINE | Ubuntu ベース / フォレンジック・LiveCD |
攻撃を学ぶなら Kali、その通信を見る側を学ぶなら Security Onion、マルウェアを解剖するなら REMnux、インシデントの後始末を学ぶなら SIFT。実務のセキュリティ業務で本物に強くなるには両方の側を体験するのが近道。
まとめ — 「全部入っている = 全部使う」ではない #
Kali Linux は「ペンテストに必要なものを、すぐに動く形で出荷した Debian 派生」という運用パッケージとして 2013 年に登場し、OSCP との連動と OffSec のメンテナンスで業界標準の地位を確立した。600 ツールが入っていることそのもの よりも、「セキュリティの 6 フェーズに必要な道具が衝突せず動く」「無線・ライブブート・モバイル・コンテナ・クラウドのすべてに展開できる」「リセット可能なエフェメラル環境として運用できる」という設計思想が本体。
初学者がまず学ぶべきは、Kali を VM に入れて HackTheBox / TryHackMe の easy マシンを 10 個解く こと。そこで自然に nmap → gobuster → Burp → Metasploit → linpeas → john / hashcat という 7 ツールの使い方が身につく。全部入っている = 全部使う、ではない — 自分のワークフローに合うツール 5〜10 個を 深く 使える方が、600 ツールを浅く知っているより遥かに強い。