パンの木を植えて

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

【解決】HackTheBoxで openvpn するための環境を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} } \]

この辺りの記事の続きなのですが,そろそろくどいので結論だけ書きます.

seasawher.hatenablog.com

Imageをどうするか

Docker Image としては Offensive Docker を使用します.11GBくらいあって大変重いですが,20分程度で初回の pull が終われば後は使い放題なので,問題ないかと思います.

だいたいこれで終了なのですが,この Offensive Docker は Hack The Box 専用というわけではなくて,HackTheBox用に使うには長いコマンドを(長いReadmeから探してきて)打たないといけません.

HackTheBox用に用途を限定すれば長いコマンドを打たずに済むのではないかと思いました.

github.com

Docker Compose up するのが面倒

DevContainerを使って,ワークスペースをIDEで開いたら自動で docker compose up が実行されるようにします.

最終的に作ったもの

そういうわけで,作ったのがこちらのレポジトリです.

github.com

長いコマンドとかなしに,ワークスペースをVSCodeで開くだけでコンテナが立ち上がるようになっています.Remote拡張機能を入れていなかったとしても,docker compose up -d を実行するだけでOK.

反省

だいぶ打たないといけないコマンドが短くなって,なかなか快適になりました.

ただ,それでもDLしてきた .ovpn ファイルの特定の行をコメントアウトしたりする作業は手動ですね.シェルスクリプトを書くのも筋が悪い気がしますし,いやなら HackTheBox に課金しましょう……と言いたいところですが,やはり面倒なのでこのあたりもできれば自動化したいところ.

まあ時間があれば.

追記

Dockerfile の CMD に追記することによって接続コマンド実行は自動化できました.

ただ,特定の行をコメントアウトするのはいまだに手動ですね.