パンの木を植えて

主として数学の話をするブログ

【解決?編】HackTheBox用の環境をDockerを使って構築したい

\[ %%% 黒板太字 %%% \newcommand{\A}{\mathbb{A}} %アフィン空間 \newcommand{\C}{\mathbb{C}} %複素数 \newcommand{\F}{\mathbb{F}} %有限体 \newcommand{\N}{\mathbb{N}} %自然数 \newcommand{\Q}{\mathbb{Q}} %有理数 \newcommand{\R}{\mathbb{R}} %実数 \newcommand{\Z}{\mathbb{Z}} %整数 %%% 2項演算 %%% \newcommand{\f}[2]{ \frac{#1}{#2} } \]

無理やりにですが一応できたので記事にしておきます.

あらすじ

HackTheBox をやりたいのですが,PWNBOX の「ひと月に2時間まで」という利用制限に引っかかってしまいました.

PWNBOXならブラウザ上で何も設定しなくてもできて便利なのですが,制限されてしまったものは仕方がありません.

課金すれば「月に24時間まで」に延長できるみたいですが,それより先にOVPNを試したいと思いました.

HackTheBoxの公式チュートリアルでは Oracle のVMを使いなさいと書いてありましたが,Dockerを使いたいので試行錯誤してみます.

手順

offensive-docker を利用

Docker HubにてhackTheBoxで検索すると,GitHub上にある次のリポジトリにたどり着きました.

これを利用します.

github.com

READMEの Features(機能)のところを見ると

Connection to HTB (Hack the Box) vpn to access HTB machines.

などと書かれていますので,これを使えばできるはずです.


Considerations to run the container のところを見ると,

 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

を実行しなさいと書かれているので実行します.


ovpnファイルをコンテナに持っていって実行する

docker run コマンドを実行したことにより,my-offensive-docker という名前のコンテナができています.

HackTheBox からDLしてきた .ovpn ファイルがあると思いますが,それを docker cp コマンドを使ってコンテナ上の /offensive ディレクトリにコピーします.

そして openvpn your_file.ovpn コマンドを実行します.このとき私の場合は .ovpn ファイルの中にある

data-ciphers-fallback AES-128-CBC data-ciphers AES-256-CBC:AES-256-CFB:AES-256-CFB1:AES-256-CFB8:AES-256-OFB:AES-256-GCM

という記述が邪魔で実行できず,やむをえずこの部分をコメントアウトしました.それでも問題なさそうでしたが,詳しいことはわかりません.


コンテナに接続する

うまくいけば Initialization Sequence Completed と表示されます.

そしたら別タブを開いて,docker exec -it my-offensive-docker bash コマンドでコンテナに接続しましょう.

おしまいです.


問題点

一応動作はしてるのですが,いくつか問題点がありますね.

  • 途中で ovpn ファイルのいくつかの行をコメントアウトしてしまったことが正しいのかわからない点
  • 手動で ovpn ファイルをコンテナへコピーするのが面倒という点
  • Offensive dockerはいろいろ入りすぎており,HTBするだけならもっと軽くできそうという点

この辺りはまあ,今後のアップデートにご期待ください.

以上!