
Offensive Dockerは、ターゲットへの評価を簡単かつ迅速に開始するための環境を作成するためによく使われる攻撃ツールを備えたイメージです。
Offensive Docker は、ペンテスト環境を簡単かつ迅速に構築するための、より多くのツールを備えたイメージです。
➡️ 注: 次のリポジトリをチェックして、Google Cloud Platform または Digital Ocean(無料クレジット含む)の VPS で offensive docker を起動する方法を確認してください。Offensive Docker VPS
プロジェクトのwikiをご覧ください。
Dockerイメージは以下の2つの方法で使用できます。
git clone --depth 1 https://github.com/aaaguirrep/offensive-docker.git
cd offensive-docker
docker build -t offensive-docker .
docker run --rm -it --name my-offensive-docker offensive-docker /bin/zsh
Docker Hubのイメージを使用: aaaguirrep/offensive-docker
docker pull aaaguirrep/offensive-docker
docker run --rm -it --name my-offensive-docker aaaguirrep/offensive-docker /bin/zsh
イメージを使用する際には様々なユースケースがあり、コンテナを適切に実行する方法を知っておく必要があります。
HTB VPN経由でHTB(Hack the Box)マシンにアクセスするためにコンテナを使用する場合。
docker run --rm -it --cap-add=NET_ADMIN --device=/dev/net/tun --sysctl net.ipv6.conf.all.disable_ipv6=0 --name my-offensive-docker aaaguirrep/offensive-docker /bin/zsh
ローカルディレクトリからコンテナディレクトリに情報を共有し、ローカルディレクトリに情報を保存する場合。情報は /offensive ディレクトリの下に保存する必要があります。
docker run --rm -it -v /path/to/local/directory:/offensive --name my-offensive-docker aaaguirrep/offensive-docker /bin/zsh
コンテナ内部のサービス(apache、squid)をローカル環境に公開する場合。
docker run --rm -it --name my-offensive-docker -p 80:80 -p 3128:3128 aaaguirrep/offensive-docker /bin/zsh
コンテナ内でエイリアスを使用して apache2 と squid サービスを起動します。
apacheUp
squidUp
umount コマンドでディレクトリをマウントする場合。
docker run --rm -it --privileged --name my-offensive-docker aaaguirrep/offensive-docker /bin/zsh
ツールは /tools ディレクトリにダウンロードされます。
Dockerイメージに以下のような便利な設定を行うことができます。
アクセスキー、トークン、APIキーをDockerで使用するには、次のリポジトリを確認してください: Offensive Docker Custom
どちらのオプションを使用する場合も、-v オプションを使用してローカルディレクトリを /offensive コンテナディレクトリにマッピングする必要があります。
Dockerfile の "ショートカットを作成" ステップに次の行を追加し、新しいイメージをビルドして、-v オプションを指定して新しいコンテナを実行します。
RUN echo "alias vpnhtb=\"openvpn /offensive/path/to/ovpn/file\"" >> /root/.zshrc
次の手順で新しい Dockerfile を作成し、新しいイメージをビルドして、-v オプションを指定して新しいコンテナを実行します。
FROM aaaguirrep/offensive-docker
# ショートカットを作成し、ワークステーションからovpnファイルを読み込む
RUN echo "alias vpnhtb=\"openvpn /offensive/path/to/ovpn/file\"" >> /root/.zshrc
コンテナを削除すると、コマンド履歴を含むすべての情報が削除されます。次の設定は、コマンド履歴をローカル環境に保存し、新しいコンテナを実行するときに読み込むオプションを提供します。これにより、新しいコンテナを実行してもコマンド履歴が失われません。
どちらのオプションを使用する場合も、-v オプションを使用してローカルディレクトリを /offensive コンテナディレクトリにマッピングする必要があります。
Dockerfile の "ショートカットを作成" ステップに次の行を追加し、新しいイメージをビルドして、新しいコンテナを実行します。
# コマンド履歴をローカル環境に保存・読み込む
RUN sed -i '1i export HISTFILE="/history/.zsh_history"' /root/.zshrc
次の手順で新しい Dockerfile を作成し、新しいイメージをビルドして、新しいコンテナを実行します。
FROM aaaguirrep/offensive-docker
# コマンド履歴をローカル環境に保存・読み込む
RUN sed -i '1i export HISTFILE="/history/.zsh_history"' /root/.zshrc
イメージは以下の環境でテストされています。
Mac 用 Docker サービス
Docker version 19.03.13, build 4484c46d9d
Google Cloud Platform 上の Linux インスタンス用 Docker サービス
Docker version 19.03.6, build 369ce74a3c
Digital Ocean 上の Linux ドロップレット用 Docker サービス
Docker version 19.03.6, build 369ce74a3c
コンテナを削除すると情報が失われるため、コンテナディレクトリに情報を保存しないでください。コンテナ実行時に -v パラメータを使用して、ローカル環境に情報を保存する必要があります。例:
docker run --rm -it -v /path/to/local/directory:/offensive --name my-offensive-docker aaaguirrep/offensive-docker /bin/zsh
上記のコマンドは、ローカルディレクトリのパスを /offensive コンテナディレクトリにマッピングします。すべての情報は /offensive ディレクトリの下に保存する必要があります。
hashcat と john the ripper は CTF などの管理された環境でのみ使用してください。問題が発生する可能性があります。
寄付をありがとうございます。常に感謝しています。
コーヒーを飲みながら、Dockerイメージに追加するツールをさらにチェックしています。
すべてのコントリビューターに感謝します!
Copyright (c) 2020, Arsenio Aguirre