Trance Shift 8 - Tech

@skyriserの技術系ネタメモ。とりあえずCTFのWriteup書いていく

Dockerコンテナ上のKali LinuxからOpenVPN

Docker for Mac上にKali LinuxのGUI環境を作成する - Trance Shift 8 - Tech

の記事を書いてGUI出来たやったー、さあTryHackMeのCTFやっぞ!と思ったら

ERROR: Cannot open TUN/TAP dev /dev/net/tun: No such file or directory (errno=2)

トンネルI/Fが無く、VPNが張れなかった。

このあたりを参考にすると、

  • Dockerにはデフォルトでネットワーク関連の機能は省略されている
  • priviledged を指定してコンテナを動作させるのが楽だけど、ちょっとリスクが高い
  • そこで、NET_ADMIN だけ付与して動作させるのがよさそう

とのこと。以前の記事では Dockerfile を使ってなかったので、スクリプトに組み込む形にした。 以下にコマンドを変更。

# Host (--cap-add NET_ADMINを追加)
docker run -it --rm \
  -p "5905:5900" \
  -p "8081:8081" \
  -v "kali-xface:/home/kali" \
  -v "$HOME/dev/:/mnt/dev" \
  --cap-add NET_ADMIN \
  --name kali \
  kali-xfce zsh -c 'su - kali'

VPNを張る際に、トンネルI/Fが必要になるので、

# vpn.sh
sudo mkdir -p /dev/net && sudo mknod /dev/net/tun c 10 200
sudo openvpn vpn/***.ovpn

VPN張るスクリプト作って事前にインターフェースを作るようにした。 お行儀良いかどうか微妙だけど、取りあえず。