diff --git a/Dockerfile b/Dockerfile new file mode 100644 index 0000000..bacdfc4 --- /dev/null +++ b/Dockerfile @@ -0,0 +1,45 @@ +FROM kalilinux/kali-rolling + +# タイムゾーン設定 +# 今回は設定しない(UTCのまま) + +# ENV TZ=Asia/Tokyo +# RUN echo $TZ > /etc/timezone && \ +# apt update && apt install -y tzdata && \ +# ln -sf /usr/share/zoneinfo/$TZ /etc/localtime && \ +# dpkg-reconfigure -f noninteractive tzdata + +# 基本ツールのインストール(必要に応じて変更) +RUN apt update && apt install -y \ + git \ + kali-linux-headless \ + nmap \ + curl \ + wget \ + python3 \ + python3-pip + + # net-tools \ + # vim \ + # unzip \ + # file \ + # tcpdump \ + # tshark \ + # exiftool \ + # bsdmainutils \ + + + +# 必要に応じてその他のツールを追加 +# metasploit-framework \ +# sqlmap \ +# hydra \ + +# Pythonライブラリをインストールする + RUN pip3 install cryptography --break-system-packages + +# 作業ディレクトリを指定 +WORKDIR /root + +# デフォルトのシェルをbashに設定 +CMD ["/bin/bash"] \ No newline at end of file diff --git a/README.md b/README.md index c8b60c0..f136114 100644 --- a/README.md +++ b/README.md @@ -1,3 +1,10 @@ # kali-linux-tool-dev -Kali Linuxを学習するためのリポジトリです \ No newline at end of file +Kali Linuxを学習するためのリポジトリです + + +* **Gitリポジトリ**: + * https://gitea.pglikers.com/secure/kali-linux-tool-dev +* **関連リポジトリ**: + * https://gitea.pglikers.com/secure/cve-research + * https://gitea.pglikers.com/secure/ctf-training-lab \ No newline at end of file diff --git a/docker-compose.yaml b/docker-compose.yaml new file mode 100644 index 0000000..9df927e --- /dev/null +++ b/docker-compose.yaml @@ -0,0 +1,13 @@ +services: + kali: + build: + context: . + dockerfile: Dockerfile + container_name: kali_container + tty: true # シェルに接続するためにTTYを有効にする + stdin_open: true # インタラクティブモードを有効にする + volumes: + - ./data:/root/data # ホストとコンテナ間でデータを共有するボリューム + # environment: + # - TZ=Asia/Tokyo # タイムゾーンの設定 + command: /bin/bash # シェルを起動する \ No newline at end of file diff --git a/readme/images/img01.png b/readme/images/img01.png new file mode 100644 index 0000000..bc9cf7e Binary files /dev/null and b/readme/images/img01.png differ diff --git a/readme/kali-linux.md b/readme/kali-linux.md new file mode 100644 index 0000000..907307e --- /dev/null +++ b/readme/kali-linux.md @@ -0,0 +1,149 @@ +# Kali Linux について + +公式サイト:https://www.kali.org/ + +目次 +- [Kali Linux について](#kali-linuxについて) + - [Kali Linuxを構築する](#kali-linuxを構築する) + - [Dockerイメージ](#dockerイメージ) + - [2. USBライブ環境(パーシステントモード)](#2-usbライブ環境パーシステントモード) + - [3. USBライブ環境(通常モード)](#3-usbライブ環境通常モード) + - [学習用のサーバ](#学習用のサーバ) + - [web-dvwaイメージ (⭐️⭐️⭐️⭐️⭐️)](#web-dvwaイメージ️️️️️) + - [bkimminich/juice-shop (⭐️⭐️⭐️⭐️⭐️)](#bkimminichjuice-shop️️️️️) + - [crAPI (⭐️⭐️⭐️⭐️)](#crapi️️️️) + - [bWAPP](#bwapp) + - [Metasploitable2](#metasploitable2) + - [Kali Linuxの使い方](#kali-linuxの使い方) + +![top](./images/img01.png) + + +## Kali Linuxを構築する + +### Dockerイメージ + +* Kali LinuxのDockerイメージを取得 + +```sh +docker pull kalilinux/kali-rolling +docker run -it kalilinux/kali-rolling /bin/bash +``` + +* kali-rolling: ローリングリリース版のKali Linux + * 最新アップデートが反映されたイメージ + +公式イメージは最小限の構成なのでペストレーションツール群を使うには +aptで追加インストールが必要 + +* kali-linux-headless + * `apt install -y kali-linux-headless` + * `CLI / サーバ / Docker`の用途で使い魔う +* kali-linux-default + * `apt install -y kali-linux-default` + * GUIツールが含まれます + * + * Burp Suite (GUI) + * Wireshark (GUI) + * GUI エディタ + * 画面キャプチャ系 + + +含まれる主なツール例 + +``` +* nmap +* sqlmap +* hydra +* nikto +* nuclei +* metasploit(CLI) +* searchsploit +``` + +### 2. USBライブ環境(パーシステントモード) + +USB環境でもデータを保持したい場合は、「パーシステント(Persistent)モード」を使うことができます。 +Kali Linuxで行った変更(インストールしたツールや設定、保存したファイルなど)が +USBに保存され、次回起動時にも保持されます。 + +**設定手順** + +1. Kali LinuxのISOファイルをダウンロードします。 +2. Rufusなどのツールを使って、Kali LinuxのISOをUSBメモリに書き込みます。 +3. 書き込み後、USBメモリにパーシステントパーティションを作成します。 + + +### 3. USBライブ環境(通常モード) + +USBライブ環境は、Kali Linuxを直接USBメモリから起動して使う方法です。この方法は、システムにインストールせずにフル機能のKaliを実行できる点で便利です。 + +**メリット** + +GUIツールも含め、Kaliの全機能を利用でき、ネットワークテストや脆弱性診断に最適です。USBをどこでも持ち運べるため、複数のPCで簡単に起動可能です。 +デスクトップ環境も使用でき、GUIベースのツールを使いたい場合に適しています。 + +**デメリット** + +データ保持が通常できない(通常のライブUSBの場合): +PCを再起動すると、作業したデータやインストールしたツールは消えてしまいます。 +USBメモリは書き込み回数に限界があるため、頻繁に使うと寿命が短くなる可能性があります。 + +--- + +## 学習用のサーバ + +### web-dvwaイメージ (⭐️⭐️⭐️⭐️⭐️) + +学習用の脆弱な ebアプリ(DVWA) + +```sh +docker run -d -p 8080:80 vulnerables/web-dvwa +``` + +### bkimminich/juice-shop (⭐️⭐️⭐️⭐️⭐️) + +* OWASP公式 +* 現代Web(SPA / API) +* スコアボード付き +* 難易度が段階的 + +```sh +docker run -d -p 3000:3000 bkimminich/juice-shop +``` + +### crAPI (⭐️⭐️⭐️⭐️) + +* API専用の脆弱性教材 +* モバイル・バックエンド視点 +* 実務に一番近い + +```sh +git clone https://github.com/OWASP/crAPI.git +cd crAPI +docker compose up -d +``` + + +### bWAPP + +* PHP + MySQL +* 100以上の脆弱性 +* 実務的 + +```sh +docker run -d -p 8081:80 raesene/bwapp +``` + +### Metasploitable2 + +* 古典的なサーバ侵入 +* FTP / SSH / RCE / 権限昇格 + +```sh +docker run -d -p 21:21 -p 22:22 -p 80:80 tleemcjr/metasploitable2 +``` + + +## Kali Linuxの使い方 + diff --git a/readme/tools.md b/readme/tools.md new file mode 100644 index 0000000..6b42737 --- /dev/null +++ b/readme/tools.md @@ -0,0 +1,20 @@ +## ネットワークセキュリティ + +### nmap + +### masscan + +### netcat (nc) + +## Webセキュリティ + +## 脆弱性スキャン + +### nuclei + +### nikto + +## CVE / Exploit + + +## ログ・検知側の視点 \ No newline at end of file