0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

【Hack The Box】環境設定 for M1Mac Docker-compose

Last updated at Posted at 2024-09-01

概要

M1MacでHack the Box攻略用のKali-linuxをDocker-compose上で動作させます。
完了形は、Docker上のKali-linuxでHack the BoxのOpenVPNを接続し、10.10.10.10に導通を確認したら成功です。

環境など

macOS, Docker Desktop, Docker-composeのバージョンは以下の通りです。

terminal
➜  workspace git:(main) ✗ sw_vers       
ProductName:		macOS
ProductVersion:		14.6.1
BuildVersion:		23G93

➜  workspace git:(main) ✗ docker version
Client:
 Version:           27.2.0
 API version:       1.47
 Go version:        go1.21.13
 Git commit:        3ab4256
 Built:             Tue Aug 27 14:14:45 2024
 OS/Arch:           darwin/arm64
 Context:           desktop-linux

Server: Docker Desktop 4.34.0 (165256)
 Engine:
  Version:          27.2.0
  API version:      1.47 (minimum version 1.24)
  Go version:       go1.21.13
  Git commit:       3ab5c7d
  Built:            Tue Aug 27 14:15:41 2024
  OS/Arch:          linux/arm64
  Experimental:     false
 containerd:
  Version:          1.7.20
  GitCommit:        8fc6bcff51318944179630522a095cc9dbf9f353
 runc:
  Version:          1.1.13
  GitCommit:        v1.1.13-0-g58aa920
 docker-init:
  Version:          0.19.0
  GitCommit:        de40ad0
  
➜  workspace git:(main) ✗ docker-compose version
Docker Compose version 2.29.2

Docker-composeの準備

まず、作業ディレクトリを確保します。Terminalで以下のコマンドを実行してください。

terminal
mkdir workspace
cd workspace
touch Dockerfile
touch docker-compose.yml
mkdir HTB

作成した、Dockerfiledocker-compose.ymlに以下のコードをコピペしてください。

Dockerfile
FROM kalilinux/kali-rolling:arm64

# Update package list and install essential packages
RUN apt update && apt upgrade -y && apt install openvpn -y

# Set the working directory
WORKDIR /root/workspace
docker-compose.yml
version: "3.8"
services:
  kali:
    image: kalilinux/kali-rolling:arm64
    container_name: kali_container
    cap_add:
      - NET_ADMIN
    ports:
      - "1337:1337/udp"
      - "443:443/tcp"
    devices:
      - /dev/net/tun
    volumes:
      - ./workspace:/root/workspace # ホストの./workspaceをコンテナの/root/workspaceにマウント
    tty: true
    stdin_open: true
    restart: unless-stopped
    sysctls:
      - net.ipv6.conf.all.disable_ipv6=0

docker-compose.ymlを格納しているディレクトリで以下のコマンドを実行し、KaliのBashに入ってください。

bash
docker-compose up -d
docker exec -it kali_container /bin/bash

以下からはKali上で実行するコマンドです。

terminal
apt install sudo -y
sudo apt upgrade -y
sudo apt update -y
sudo apt install kali-tools-top10 -y
sudo apt install openvpn -y 

Hack the boxのOpenVPNに接続する

HTBのHomeにアクセスし、画像の矢印→の通りに操作して下さい。
まずは、「CONNECT TO HTB」をクリック
Hack the box VPN (1).png
「Machines」をクリック
Hack the box VPN.png
「OpenVPN」をクリック
Hack the box VPN (2).png
1つ目は「US」か「EU」、2つ目は適当で、3つ目はUDPとTCPも好み、4つ目でダウンロードする。
するとlab_{username}.ovpnというファイルが手に入る。そして、先ほど作成したworkspace/HTBに保存してください(Macで操作して大丈夫です)。
Hack the box VPN (3).png

KaliでOpenVPNに接続する

KaliのBashで以下のコマンドを実行してください。lab_{username}.ovpnのファイル名を変更することだけ気をつけてください。

bash
sudo sysctl net.ipv6.conf.all.disable_ipv6=0
cd /root/workspace/HTB
mkdir -p /dev/net
mknod /dev/net/tun c 10 200
chmod 600 /dev/net/tun
sudo openvpn lab_{username}.ovpn

VPNのログが表示され続けられるため、タブを消去せず、新しいTerminalを開いてKaliに入ってください。

terminal
cd workspace
docker exec -it kali_container /bin/bash
bash
cd /root/workspace/HTB
curl 10.10.10.10

curl 10.10.10.10でHTMLからflag{??????????_????????}が取れたら成功です。お疲れ様でした。

上手くいかない時

  • Dockerのバージョンが低くてだめだった場合は以下の「Use the new Virtualization framework」にチェックボックスを入れてみてください。スクリーンショット 2024-08-30 0.27.07.png
  • HTBのOpenVPNのサーバーを変更してみてください。通信方式が若干異なるので画像以外でも試してみてください。

おわりに

Qiitaで記事を書き慣れていないため、改善点などがあったらコメントしてください。また、上手くVPNが繋がらなかった時も、是非コメントしてください!解決して、より良い記事にして行きましょう!

0
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?