LoginSignup
0
0

TryHackMe Writeup:TakeOver

Posted at

はじめに

本記事はTryHackMeのWriteupです。
RoomはTakeOver、Difficulty(難易度)はEasyです。

TakeOverはサブドメインの列挙を行なうことで、フラグを取得します。

このRoomでは、サブドメインを調査する方法について学ぶことができます。

TakeOver

準備作業としてマシンを起動後、/etc/hostsファイルにIPアドレスと、futurevera.thmのドメイン名を記入します。

以下はポートスキャンの結果です。試しにgobusterも実行しましたが、特にフラグにつながるようなヒントは見つかりませんでした。

##################
# Port scan tool #
##################
 *Detailed scan :1
 *Full scan     :2


 ***Select scanning method by number***
1
Starting Nmap 7.94 ( https://nmap.org ) at 2023-09-10 17:36 JST
Nmap scan report for 10.10.139.197
Host is up (0.24s latency).

PORT    STATE SERVICE  VERSION
22/tcp  open  ssh      OpenSSH 8.2p1 Ubuntu 4ubuntu0.4 (Ubuntu Linux; protocol 2.0)
| ssh-hostkey: 
|   3072 dd:29:a7:0c:05:69:1f:f6:26:0a:d9:28:cd:40:f0:20 (RSA)
|   256 cb:2e:a8:6d:03:66:e9:70:eb:96:e1:f5:ba:25:cb:4e (ECDSA)
|_  256 50:d3:4b:a8:a2:4d:1d:79:e1:7d:ac:bb:ff:0b:24:13 (ED25519)
80/tcp  open  http     Apache httpd 2.4.41 ((Ubuntu))
|_http-title: Did not follow redirect to https://futurevera.thm/
|_http-server-header: Apache/2.4.41 (Ubuntu)
443/tcp open  ssl/http Apache httpd 2.4.41 ((Ubuntu))
|_http-server-header: Apache/2.4.41 (Ubuntu)
|_ssl-date: TLS randomness does not represent time
|_http-title: FutureVera
| tls-alpn: 
|_  http/1.1
| ssl-cert: Subject: commonName=futurevera.thm/organizationName=Futurevera/stateOrProvinceName=Oregon/countryName=US
| Not valid before: 2022-03-13T10:05:19
|_Not valid after:  2023-03-13T10:05:19
Service Info: OS: Linux; CPE: cpe:/o:linux:linux_kernel

Service detection performed. Please report any incorrect results at https://nmap.org/submit/ .
Nmap done: 1 IP address (1 host up) scanned in 26.26 seconds
Scan completed

ブラウザを起動してアクセスすると、サイトが表示されます。
ルームの説明内容を踏まえて、ヒントはサブドメインだと思われるため、以降ffufを用いてサブドメインの列挙を行います。

ffuf

ワードリストは、SecListssubdomains-top1million-5000.txtファイルを使用します。

$ ffuf -w /<Your dir path>/SecLists/Discovery/DNS/subdomains-top1million-5000.txt -u https://<Ip address> -H "Host: FUZZ.futurevera.thm"

上記のコマンドを実行すると以下の様な出力がえられます。

[Status: 200, Size: 4605, Words: 1511, Lines: 92, Duration: 236ms]
    * FUZZ: vpn

[Status: 200, Size: 4605, Words: 1511, Lines: 92, Duration: 236ms]
    * FUZZ: www

[Status: 200, Size: 4605, Words: 1511, Lines: 92, Duration: 236ms]
    * FUZZ: ns1

[Status: 200, Size: 4605, Words: 1511, Lines: 92, Duration: 236ms]

Sizeの振る舞いから効率よく調査するためには、以下のようにオプションを付与する必要があります。

$ ffuf -w /<Your dir path>/SecLists/Discovery/DNS/subdomains-top1million-5000.txt -u https://<Ip address> -H "Host: FUZZ.futurevera.thm" -c -fs 0,4605

-Hオプションは、HTTPヘッダーを指定します。HostヘッダーをFUZZ.futurevera.thmとして指定することで、サブドメインのFUZZがリストの値に置換されます。
-fsオプションは、ステータスコードのフィルタリングを行います。上記の例では4605のステータスコードを除外しています。

上記オプションを付与して実行すると、2個のサブドメインが検出されました。

[Status: 200, Size: 1522, Words: 367, Lines: 34, Duration: 237ms]
    * FUZZ: support

[Status: 200, Size: 3838, Words: 1326, Lines: 81, Duration: 236ms]
    * FUZZ: blog

証明書の確認

ffufの実行結果から2つのサブドメインを列挙することができました。

タスクの説明を参考にしながら/etc/hostsファイルにsupport.futurevera.thmを追加します。

ブラウザからsupport.futurevera.thmにアクセスします。

サーバ証明書を確認すると、Subject Alt Namesから新しいサブドメインを発見しました。

スクリーンショット 2023-09-10 18.23.05.png

同じように/etc/hostsファイルに新しいサブドメインを追記します。
上記サブドメインを辿ると、フラグが見つかります。

おわりに

想像力があればすぐに解ける場合もあると思いますが、ffufツールの重要性を学びました。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0