はじめに
OSCP合格に向けて着手しているTryHackMeのwriteup兼備忘録になります。
今回は難易度がEasyである「Surfer」というRoomを攻略しました。
※扱い次第では法に触れるため、悪用厳禁です。
Task1 Surfer
ポートスキャンを行います。
└─$ nmap -Pn -T4 10.10.193.119
Starting Nmap 7.93 ( https://nmap.org ) at 2024-03-30 08:41 EDT
Nmap scan report for 10.10.18.190
Host is up (0.26s latency).
Not shown: 994 closed tcp ports (conn-refused)
PORT STATE SERVICE
22/tcp open ssh
80/tcp open http
1112/tcp filtered msql
3325/tcp filtered active-net
4004/tcp filtered pxc-roid
9500/tcp filtered ismserver
Nmap done: 1 IP address (1 host up) scanned in 33.48 seconds
httpが空いていたのでひとまずアクセスすると、ログインページが表示されました。
ソースコード等みても特にヒントはなさそう、、
次にgobusterコマンドで隠しディレクトリを解析します。
最近、「-x」オプションの存在を知り重宝してます。
└─$ gobuster dir -u http://10.10.193.119 -x html,php,txt,jpg,png -w ../../usr/share/dirb/wordlists/common.txt
===============================================================
Gobuster v3.6
by OJ Reeves (@TheColonial) & Christian Mehlmauer (@firefart)
===============================================================
[+] Url: http://10.10.193.119
[+] Method: GET
[+] Threads: 10
[+] Wordlist: ../../usr/share/dirb/wordlists/common.txt
[+] Negative Status codes: 404
[+] User Agent: gobuster/3.6
[+] Extensions: jpg,png,html,php,txt
[+] Timeout: 10s
===============================================================
Starting gobuster in directory enumeration mode
===============================================================
/.html (Status: 403) [Size: 278]
/.hta (Status: 403) [Size: 278]
...
/assets (Status: 301) [Size: 315] [--> http://10.10.193.119/assets/]
/backup (Status: 301) [Size: 315] [--> http://10.10.193.119/backup/]
/changelog.txt (Status: 200) [Size: 816]
/index.php (Status: 302) [Size: 0] [--> /login.php]
/index.php (Status: 302) [Size: 0] [--> /login.php]
/internal (Status: 301) [Size: 317] [--> http://10.10.193.119/internal/]
/login.php (Status: 200) [Size: 4774]
/logout.php (Status: 302) [Size: 0] [--> /login.php]
「/change.txt」、「/assets」、「/backup」辺りに何かありそうなのでアクセスしてみますが、特に何も無さそう、、
続いて「/assets」、「/backup」に対してgobusterコマンドを再度実施してみると、、
└─$ gobuster dir -u http://10.10.193.119/backup -x html,php,txt,jpg,png -w ../../usr/share/dirb/wordlists/common.txt
===============================================================
Gobuster v3.6
by OJ Reeves (@TheColonial) & Christian Mehlmauer (@firefart)
===============================================================
[+] Url: http://10.10.193.119/backup
[+] Method: GET
[+] Threads: 10
[+] Wordlist: ../../usr/share/dirb/wordlists/common.txt
[+] Negative Status codes: 404
[+] User Agent: gobuster/3.6
[+] Extensions: html,php,txt,jpg,png
[+] Timeout: 10s
===============================================================
Starting gobuster in directory enumeration mode
===============================================================
/.html (Status: 403) [Size: 278]
/.hta (Status: 403) [Size: 278]
/.hta.php (Status: 403) [Size: 278]
...
/.htpasswd.php (Status: 403) [Size: 278]
/chat.txt (Status: 200) [Size: 365]
「/chat.txt 」を見つけたので確認してみます。
要約するとAdminに対して、ユーザ名と同じパスワードを使うのをやめるようチャットされています。
つまり...?
ログイン名とパスワードともに「admin」にすることでログインすることが出来ました。
右側の対応履歴にフラグについての文面とリンクがあるので、実際にアクセスしてみます。
このアクセス方法では駄目のようですが、このリンクにはフラグが隠されていそうです。
このページ上で他にできそうな要素としてはPDFの出力機能のようなので、この辺りを調べてみます。
おそらくですが、指定されたサイトをpdfとして出力されていると思われます。
つまり、さきほどのフラグが表示されるサイトのURLをどうにか指定すれば、フラグを獲得できるのではないかと予測できます。
なのでここでBurp Suiteで「Export to PDF」のリクエストをキャッチします。
一番下に記載のあるURLが先ほど試しに出力したPDFのサイトだと思われます。
Uncover the flag on the hidden application page.
よってさきほど出力したPDF内に記載のある下記フラグが回答になります。
flag{6255c55660e292cf0116c053c9937810}
さいごに
以上となります。
export2pdf関連は過去にも触れたことがあったので、その経験を活かせた感じがします。。