TryHackMe 歴1ヵ月半が参加する Advent of Cyber 2022 [Day 3]

3日目。まだいけそうか。

[Day 3] Nothing escapes detective McRed

本日は OSINT のお話。

What is the name of the Registrar for the domain santagift.shop?

whois コマンドなどを用いて調べる。

Find the website's source code (repository) on github.com and open the file containing sensitive credentials. Can you find the flag?

github.com にアクセスし、右上の検索窓から "SantaGiftShop" を検索すると santagift.shop のソースが見つかる。ファイルの数が多いのでまずはソースコードを clone もしくはダウンロードする。

そのあとは grep コマンドで flag を検索する。-r オプションが役に立つ。

What is the name of the file containing passwords?

まずは先ほどと同様に grep コマンドを用いて password が含まれるファイルを探してみる。-l オプションで特定のワードを含むファイル名のみを出力できる。また、-i オプションは大文字 / 小文字を区別せずに検索する(-i は癖付けた方が良さげだなと)。

あとは中身を見つつファイル名を回答する。複数のファイルにパスワードが書いてある気がするけど Answer format を見るに

別解: README にファイルの説明も書いてあった……

What is the name of the QA server associated with the website?

QA とは「品質保証(Quality Assurance)」を意味するらしい。後に出てくるが QA 環境は「限りなく本番環境に近い環境(ステージング環境)」であるから QA server はテスト環境みたいなもの?

まずは "QA" で検索をかけてみる。今回はあえて -i オプションを外す。

config.php の中身を見てみると if($ENV = "QA") なる条件文があり、その中に /** Database hostname */ があるのでそこを見る。

What is the DB_PASSWORD that is being reused between the QA and PROD environments?

引き続き config.php の中身を読み解くと /** Database password */ があり、これは PROD 環境(本番環境)のものと同じ、つまり使い回されている(reused)ことがわかる。

Check out this room if you'd like to learn more about Google Dorking! 

No answer needed

感想

OSINT って言葉が出るたびに「OSINT ってなんだったっけ」と思うほど印象が薄かったが、企業の github リポジトリが public になってましたなんてニュースは時々見る気がするので結構重要なんだなと。日ごとに CTF とかで使えそうだと思う知識が増えているので非常にやりがいがある。