はじめに
本稿では、「Hack The Box」(通称、HTBとも呼ばれています)を快適に楽しむために必要となるKali Linuxのチューニングについて解説します。
Hack The Boxとは
Hack The Boxは、2017年6月に設立されたサイバーセキュリティトレーニングのオンラインプラットフォームです。 いくつかのソーシャル要素とゲーミフィケーション要素が採用されていることで、学習体験を楽しくやりがいのあるものにしています。
Hack The Boxを楽しむ手順
- 攻撃環境としてペネトレーションテスト用のOS(Kali Linux / Parrot Security Linux など)を用意する。
- Hack The Boxのダッシュボードにある[Access]ページからOpenVPNアクセスファイル(「connection pack」と呼ばれる)をダウンロードする。
- Hack The Box VPN 仮想ネットワークへ接続する。
Kali Linux仮想イメージのダウンロード
Offensive SecurityのサイトでVMwareおよびVirtualBoxイメージを入手することが可能です。
ここでは、Kali-Linux-2020.1-vmware-amd64を使用します。
kali@kali:~$ cat /etc/os-release
PRETTY_NAME="Kali GNU/Linux Rolling"
NAME="Kali GNU/Linux"
ID=kali
VERSION="2020.1"
VERSION_ID="2020.1"
VERSION_CODENAME="kali-rolling"
ID_LIKE=debian
ANSI_COLOR="1;31"
HOME_URL="https://www.kali.org/"
SUPPORT_URL="https://forums.kali.org/"
BUG_REPORT_URL="https://bugs.kali.org/"
キーレイアウトを日本語配列にする
初期設定のKali Linuxでは、英語キーボードが選択されています。日本語キーボードを使用している場合、次の手順にて設定変更を行います。
タイムゾーンを変更する
OpenVPN クライアントの設定
- Hack The Boxのダッシュボードにある[Access]ページより、
connection packをダウンロードする(ここでは、<your_username>.ovpnとする)。 -
Terminal Emulatorを実行し、次のコマンド構文を実行する。
kali@kali:~$ sudo openvpn <your_username>.ovpn
openvpnコマンド実行後に、sudo ifconfigコマンドにて、tun0:のIPアドレスを確認する。
tun0: flags=4305<UP,POINTOPOINT,RUNNING,NOARP,MULTICAST> mtu 1500
inet 10.10.14.XXX netmask 255.255.254.0 destination 10.10.14.XXX
inet6 dead:beef:2::XXXX prefixlen 64 scopeid 0x0<global>
inet6 fe80::e262:e52f:1660:XXXX prefixlen 64 scopeid 0x20<link>
unspec 00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00 txqueuelen 100 (UNSPEC)
RX packets 0 bytes 0 (0.0 B)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 22 bytes 1056 (1.0 KiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
Aliasesの設定
$HOME/.bashrcファイルを編集し、そのファイルの末尾にエイリアスを追加します。
kali@kali:~$ nano $HOME/.bashrc
## ALIASES
alias htb='sudo openvpn $HOME/vpn/<your_username>.ovpn'
alias mapshare='sudo $HOME/mapshare/mount-shared-folders.sh'
- htb: この設定により、ターミナルにて
htbと入力し、実行すれば HackTheBox のネットワークへ接続することができます。事前に$HOME/vpnディレクトリを作成し、connection pack(<your_username>.ovpnファイル)をダウンロード、配置しておく必要があります。 - mapshare: この設定により、ターミナルにて
mapshareと入力し、実行すればVMwareの[共有フォルダ]設定を回復することができます。
VMware関連のチューニング
ゲストOS(Kali Linux)からホストOSのフォルダに直接アクセスできる「共有フォルダ」機能を使用するための設定を行います。
Open VM Tools インストール
kali@kali:~$ sudo apt update && sudo apt full-upgrade -y
[ -f /var/run/reboot-required ] && sudo reboot -f
kali@kali:~$ sudo apt install -y --reinstall open-vm-tools-desktop fuse
kali@kali:~$ sudo reboot
共有フォルダの設定
- デスクトップ上に
mount-shared-folders.shスクリプトを作成。
#!/bin/bash
vmware-hgfsclient | while read folder; do
echo "[i] Mounting ${folder} (/mnt/hgfs/${folder})"
mkdir -p "/mnt/hgfs/${folder}"
umount -f "/mnt/hgfs/${folder}" 2>/dev/null
vmhgfs-fuse -o allow_other -o auto_unmount ".host:/${folder}" "/mnt/hgfs/${folder}"
done
sleep 2s
- ホームディレクトリにシンボリックリンクを作成する。
kali@kali:~$ ln -s /mnt/hgfs/OffsecVM $HOME/OffsecVM
Hack The Boxのランキング制度
Hack The Boxが人気な理由の一つが、そのゲーム性の高さといえます。攻略したマシンの数や課題提出に応じてポイントが付与されます。このポイント保有数に応じて7つのランクに認定されます。
| ランク | 必要なポイント |
|---|---|
| Noob | >= 0% |
| Script Kiddie | > 5% |
| Hacker | > 20% |
| Pro Hacker | > 45% |
| Elite Hacker | > 70% |
| Guru | > 90% |
| Omniscient | = 100% |
攻略によってポイントが獲得できるのはActive状態のMachineまたはChallenges(課題)です。
Machine攻略
Machineは合計20台提供されています。毎週最も古いマシンがドロップ Retiredされ、代わって新しいマシンが追加されます。
このため、常に新鮮な状態のマシン攻略に取り組むことができます。
なお、Activeマシンへの挑戦は無料プランにて可能です。これに対して、RetiredマシンはVIPアカウント(有償アカウント)を用意することで挑戦できます。
マシンの攻略には、各システムからuser.txt(ユーザーアクセス)とroot.txt(ルートアクセス)の2つのファイルを取得する必要があります。これらのファイルを取得した後、各テキストファイルに含まれているコードを入力することでポイントを獲得することができます。
Challenges攻略
Challenges(課題)をクリアすることでもポイントを獲得することが可能です。9つのカテゴリ([Reversing]、[Crypto]、[Stego]、[Pwn]、[Web]、[Misc]、[Forensics]、[Mobile]、[OSINT])から出題される問題に対してフラグ(HTB{s0m3_t3xt}形式で記述されたテキスト文字列)を取得し、入力することでポイントを獲得することができます。
なお、Challenges攻略で得られるポイントは、Machine攻略で得られるポイントの10分の1程度です。このため、ランクアップを狙うなら、積極的にマシン攻略を狙っていくことをオススメします。
Hack The Boxの招待コード (Invitation Code)
Hack The Boxにて個人がアカウントを作成するには、Invite Challengeページの課題をクリアする必要があります。
このページでは、「Invitation Code(招待コード)」を尋ねるテキストボックスが表示されます。
招待コードはページのソースを解析していくことで入手することができます。Firefoxの場合、右クリックして「要素を調査」をクリックします。Chromeでは右クリックして「検証」です。
ソースコードの解析には、Webアプリケーション「CyberChef」を使ってみてはいかがでしょうか。
- CyberChef, https://gchq.github.io/CyberChef/
YouTubeのIppSecチャネル
Hack The Boxにて、RetiredとなったマシンのWalkthrough(攻略方法)は、YouTubeのIppSecチャネルにて公開されています。
参考情報
- Hack The Box at Open Coffee Athens CIV, https://www.slideshare.net/opencoffeegr/hack-the-box-at-open-coffee-athens-civ
- VMware Tools for a Kali Guest, https://www.kali.org/docs/virtualization/install-vmware-tools-kali-guest/













