前回は、HTB(Hack The Box)にログインして、VPN接続まで進めました。

今回は、実際にHTBの用意したTier 0の「Meow」というマシンを攻撃して、どのようにサイバーセキュリティの学習をすすめていくか解説します。


まだ、OpenVPNの設定とHTBへの接続が済んでいない方は、前回の記事(サイバーセキュリティ入門‐環境構築編3|HTBのアカウント作成とVPN接続)をご覧ください。


※本サイトでは、HTBの記事作成ガイドラインに沿って、記事を作成しています。

まえがき

今回は、VirtualBoxにインストールしたKali Linuxを使ってマシンを攻略していきます。

しかし、まだ環境構築が済んでいない方でも「Pwnbox」を使えば、HTBのマシン攻略を体験できますので、ぜひ参考にしてください。


Pwnboxとは

Pwnboxは、「Parrot Security」というLinuxディストリビューションをもとに、HTBがオンラインで使えるようにカスタマイズした仮想環境です。

Pwnboxを使えば、VirtualBox+Kali Linuxというような環境構築をせずに、マシンの攻略を体験できます。

※無料アカウントのユーザーは、Pwnboxを2時間しか使えません。

参考:Introduction to Pwnbox | Hack The Box Help Center


1.「Meow」の学習ページにアクセスする

まずは、HTB Labsにログインしましょう。

https://i.gyazo.com/624fd77b8084f6e3082a7126de064898.png

次に、画面左側の「Starting Point」タブをクリックします。

https://i.gyazo.com/335816fd9813e40e9c04459a23a77c36.png

「Starting Point」タブを開くと、以下のような画面が表示されます。

https://i.gyazo.com/67fb9418a81b0815c5eea6d7648f91e6.png

少し下にスクロールすると、Tier 0のマシン一覧が表示されるので、今回攻略する「Meow」をクリックしましょう。

https://i.gyazo.com/4d1fbd5294cdc9c617af826cf6c9c057.png

すると、以下のような「Meow」の学習ページが表示されます。

https://i.gyazo.com/0ec090de23c25dea65e99526088dcf7c.png

2.「Meow」のマシンを起動する

まずは、「Meow」のマシンの起動が必要です。

「Meow」の学習タスクのリスト上部の「Start Machine」をクリックします。

https://i.gyazo.com/e2f34035967c796b68fbfd5de30a9225.png

なお、マシンの起動には少し時間がかかります。

「Machine is spawning. Please stand by…」と表示されている間は、操作せずに待っていましょう。


マシンの起動に成功すると、IPアドレスが表示されます。

このIPアドレスは、マシンの攻略に必要なので、メモしておきましょう。

https://i.gyazo.com/cfc59ac8c6221db0f3ffe7314a8dadde.png

2.「Meow」のマシンに接続する

マシンの起動に成功したら、VPN接続します。

前回の記事(サイバーセキュリティ入門‐環境構築編3|HTBのアカウント作成とVPN接続)を参考に設定を済ませている場合は、VPN接続を済ませましょう。


まだ、VPN接続の設定が済んでいない方は、「Connect with OpenVPN」をクリックしてVPN接続用の設定ファイルを、ダウンロードしましょう。

https://i.gyazo.com/5f6830664e2570c8677b3de4644c8df0.jpg

その後の手順は、前回の記事(サイバーセキュリティ入門‐環境構築編3|HTBのアカウント作成とVPN接続)を参考にしてください。

※「Connect with Pwnbox」から「Pwnbox」を起動して、学習を進めることもできます。


VPN接続が確立されると、以下のような表示に変わります。

https://i.gyazo.com/f124697dc0b736552eab9b2be156bf52.jpg

回答時の注意点

HTBのVPNに接続する際、フルトンネル(全ての通信が強制的にHTBにルーティングされる)になることがあります。

そうした場合、Webブラウザで開いている学習ページへのアクセスも「HTB内部ネットワーク経由」になり、接続が不安定になる場合があります。

その結果、「Task」や「Submit Flag」の送信時、通信エラーが発生する場合があります。


「Task」や「Submit Flag」の送信に失敗する場合は、以下の方法を試してみてください。


  • 一度VPN接続を切ってから、Task等を送信する
  • Kali Linux側のブラウザではなく、Windows側のブラウザで、Task等を送信する


3.Task1「What does the acronym VM stand for?」

設問の意味は、「VMという略語は何の略ですか?」です。


Task1の正解は「Virtual Machine」です。


4.Task2「What tool do we use to interact with the operating system in order to issue commands via the command line, such as the one to start our VPN connection? It's also known as a console or shell.」

設問の意味は、「VPN接続を開始するコマンドなど、コマンドラインからコマンドを実行するために、OSとやり取りする際に使うツールは何ですか?これは、コンソールやシェルとも呼ばれます。」です。


Task2の正解は「terminal」です。


5.Task3「What service do we use to form our VPN connection into HTB labs?」

設問の意味は、「HTB LabsへVPN接続するには、何を使えば良いですか?」です。


Task3の正解は「openvpn」です。


6.Task4「What tool do we use to test our connection to the target with an ICMP echo request?」

設問の意味は、「ICMPエコー要求を使って、ターゲットへの接続をテストするには、どのようなツールを使いますか?」です。


Task4の正解は「ping」です。


ICMPエコー要求とは

ICMP(Internet Control Message Protocol)は、インターネット通信に問題がないか確認するためのプロトコルです。

また、ICMPエコー要求(ping)は、ICMPでよく使われるコマンドです。

pingコマンドを実行すると、ターゲット(宛先)との疎通を確認できます。


試しに、Googleとの疎通を確認してみましょう。

pingの送受信ログの例は以下の通りです。

https://i.gyazo.com/b4eeee264b442dd2289b1f292ffd47aa.png

※行ごとの情報:{ホストからの応答データのサイズ} {ホスト名} {IPアドレス}: {pingが送ったパケットの通し番号} {パケットの寿命} {応答時間}


また、pingの送受信が終わった後に表示されるスキャン結果の例は、以下の通りです。

https://i.gyazo.com/cfb74403f70d46a591df6a89f5401435.png

上記からは、以下のことが分かります。


  • 「300 packets transmitted」:300個のパケットを送信
  • 「299 received」:299個のパケットを受信
  • 「0.333333% packet loss」:パケットロス率:0.33%
  • 「time 306429ms」:ping全体(送受信300回)の実行時間が約306秒
  • 「rtt min/avg/max/mdev = 12.631/29.254/64.717/12.682 ms」
    • 「min」:最も速かった応答時間は12.631ms
    • 「avg」:全体の平均応答時間は29.254ms
    • 「max」:最も遅かった応答は64.717ms
    • 「mdev」:応答時間のばらつきは12.682ms


7.Task5「What is the name of the most common tool for finding open ports on a target?」

設問の意味は、「ターゲットの開放されているポートを見つけるために、最もよく使われるツールの名前は何ですか?」です。


Task5の正解は「nmap」です。


Nmapとは

Nmap(Network Mapper)は、ポートスキャンで主に使われるネットワーク調査ツールです。

指定したIPアドレスに対して、


  • ホストの稼働状況
  • ポートの種類とステータス
  • 開放されているポートで実行されているソフトウェアとそのバージョン
  • 動いているOS


などを調査できます。


詳細:https://www.kali.org/tools/nmap/#nmap


8.Task6「What service do we identify on port 23/tcp during our scans?」

設問の意味は、「スキャン中に、ポート23/tcpでどのようなサービスを特定しますか?」です。


Task6の正解は「telnet」です。


telnetとは

telnet(Telecommunication network)は、インターネットを経由して、遠隔地のコンピュータを操作するための通信プロトコルです。

現在は、セキュリティ上の理由からtelnetはあまり使用されていません。

代わりに、よりセキュリティの高いSSH(Secure Shell)がよく使用されています。


9.Task7「What username is able to log into the target over telnet with a blank password?」

設問の意味は、「パスワードなしで、Telnetからターゲットにログインできるユーザー名は何ですか?」です。


Hintによると、「It is popularly known as the administrative account for any Linux-based Operating System, residing at the highest level of privilege on any such system.(LinuxベースのOSにおける管理者アカウントとして広く知られているユーザー名で、そのようなシステム上で最高レベルの権限を持つアカウントです。)」とあります。

基本、LinuxベースのOSにおける管理者アカウントは「root」です。

https://i.gyazo.com/a0e3c6c152d2591e659a2fff448b31e2.png

よって、Task7の正解は「root」です。


※ちなみに普段、ターミナルで操作する際は「sudo」コマンドを使うと思います。「sudo」は「superuser do」のことで、一時的にrootユーザーになって、一般ユーザーではできないシステム操作をするコマンドです。


10.「Submit Frag」

この設問は、「マシンの脆弱性を突いて、flag(侵入に成功したことを証明するランダムな文字列)を見つけてください。」です。


ここからは、いよいよターミナルを使って、マシンに侵入していきます。

この設問は、Task1からTask7までの知識を使う前提で設計されているので、これまでのTaskの内容を思い出しながら解いていきましょう。


まずは、マシンに対して、ポートスキャンを実行します。

先ほど「2.「Meow」のマシンに接続する」 で取得したIPアドレスを使って、以下のコマンドを実行しましょう。

$ nmap -n 「IPアドレス」 


すると、以下のようなスキャン結果が返ってきます。

スキャン結果の「23/tcp open  telnet」から、ポート23/tcp(telnet)が開放されていることが分かりました。

Starting Nmap 7.98( https://nmap.org ) at 2026-04-0709:04-0400
Nmap scan report forIPアドレス」
Host is up(0.24s latency).
Not shown:999 closed tcp ports(reset)
PORT   STATESERVICE
23/tcp open  telnet
Nmap done:1IPaddress(1 host up) scanned in47.70 seconds


では、以下のコマンドで、telnetに接続してみましょう。

$ telnet 「IPアドレス」 


すると、以下のような画面が表示されます。

https://i.gyazo.com/8a41dae1768a4feebf21b838a678d2ab.png

続けて、ログインユーザー名を求められるので、rootユーザーでログインします。

Meow login: root


ログインすると、以下のように、システム情報が表示されます。

https://i.gyazo.com/09683e465e43536f36ea381a572b3b59.png

では、目的のFragを見つけるために、lsコマンドで、ファイル一覧を出力してみましょう。

すると、「flag.txt」というテキストファイルが存在することが分かりました。

root@Meow:~# ls
flag.txt  snap


catコマンドで、flag.txtの中身を見てみると、fragであるランダム文字列(今回であれば、「b40abdfe23665f766f9c61ecba8a4c19」)が記載されています。

root@Meow:~# cat flag.txt
b40abdfe23665f766f9c61ecba8a4c19


あとは、HTBの回答欄に、上記のFragを入力しましょう。

これにて、Tier 0「Meow」のマシン攻略完了です。


あとがき

今回は、「Meow」というマシンの攻略を通して、


  • マシンへのVPN接続
  • Nmapによるネットワーク調査
  • telnetの脆弱性


などを学習しました。


また、これまでの記事で、環境構築からHTBを使った実践までの一連の流れについて解説してきました。

今後は、自身の興味に合わせて攻略するマシンを選び、学習を進めましょう。

今回攻略した「Meow」以外にも「Starting Point」のマシンはあるので、ぜひ挑戦して、サイバーセキュリティを学ぶきっかけにしてください。