Hack The Box Challenges: Easy Phish(Easy)
OSINTの問題で、ドメインから情報が筒抜けのパターンがあったので、
WriteUPを書いてみる。ドメインで知らなかったこと結構あった。
目次
Easy Phish
secure-startup.com
の顧客がフィッシングメールを受信している理由はなぜか?という問題。
ドメインしか手がかりがないので、dig
コマンドで調べる。
dig -t ANY
で、全部のリソースレコードを引っ張ることができる。
[saturn@SATURN-MBP.local, ~] (土 9 19 - 22:03:04) ~ $ dig -t ANY secure-startup.com ; <<>> DiG 9.10.6 <<>> -t ANY secure-startup.com ;; global options: +cmd ;; Got answer: ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 20836 ;; flags: qr rd ra; QUERY: 1, ANSWER: 5, AUTHORITY: 0, ADDITIONAL: 1 ;; OPT PSEUDOSECTION: ; EDNS: version: 0, flags:; udp: 512 ;; QUESTION SECTION: ;secure-startup.com. IN ANY ;; ANSWER SECTION: secure-startup.com. 599 IN A 34.102.136.180 secure-startup.com. 3599 IN NS ns69.domaincontrol.com. secure-startup.com. 3599 IN NS ns70.domaincontrol.com. secure-startup.com. 3599 IN SOA ns69.domaincontrol.com. dns.jomax.net. 2020070800 28800 7200 604800 600 secure-startup.com. 1799 IN TXT "v=spf1 a mx ?all - HTB{RIP_SPF_Always_2nd" ;; Query time: 219 msec ;; SERVER: 8.8.8.8#53(8.8.8.8) ;; WHEN: Sat Sep 19 22:03:27 JST 2020 ;; MSG SIZE rcvd: 218
17行目に、怪しいTXTレコードがあった。フラグの半分だけ見つかる。
secure-startup.com. 1799 IN TXT "v=spf1 a mx ?all - HTB{RIP_SPF_Always_2nd"
よくわからんので、調べると、SPFの情報はTXTレコードに書いてあるとのこと。
SPFは、なりすましメール対策に使われる送信ドメイン認証の方式のひとつ。
SPFをさらに掘り下げて調べると、DMARCやDKIMと切り離せないことが分かった。
[saturn@SATURN-MBP.local, ~] (土 9 19 - 22:21:45) ~ $ dig -t TXT _dmarc.secure-startup.com ; <<>> DiG 9.10.6 <<>> -t TXT _dmarc.secure-startup.com ;; global options: +cmd ;; Got answer: ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 3609 ;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 1 ;; OPT PSEUDOSECTION: ; EDNS: version: 0, flags:; udp: 512 ;; QUESTION SECTION: ;_dmarc.secure-startup.com. IN TXT ;; ANSWER SECTION: _dmarc.secure-startup.com. 1799 IN TXT "v=DMARC1;p=none;_F1ddl3_2_DMARC}" ;; Query time: 82 msec ;; SERVER: 8.8.8.8#53(8.8.8.8) ;; WHEN: Sat Sep 19 22:22:06 JST 2020 ;; MSG SIZE rcvd: 99
ということで、フラグの後半が見つかった。
_dmarc.secure-startup.com. 1799 IN TXT "v=DMARC1;p=none;_F1ddl3_2_DMARC}"
フラグは、2つ合わせて、HTB{RIP_SPF_Always_2nd_F1ddl3_2_DMARC}
SPF / Sender Policy Framework
送信ドメイン認証に使われる方法の1つ。 発信元情報の偽装を配送経路情で検知・排除する。
判断には、直近のSMTPサーバのアドレスが使われる。
発信側SMTPサーバに設定不要・受信側のSMTPサーバにかかる負荷が低く、導入しやすい。
ただし、発信元偽装していないスパムメールを防いだり、正当なメールでもDNSにない
SMTPサーバからのメールは受信できない、複数のSMTPサーバを経由してくると検証困難等、
デメリットも存在する。
SPFレコードというのは存在しないため、SPFについてはTXTレコードの中に書かれる。
TXTレコードの中身が、v=spf
で始まっている、ドメインが_spf
で始まるなど。詳しくは下の例。
DMARC
DMARCは、SPFとDKIM(電子署名を使って検証)の結果が認証失敗だった時に、
どのような対応をとるのかをDMARCポリシーとしてDNSに宣言しておく。
実際に認証失敗だった時、DMARCポリシーを元に受信したメールをどうするか判断する。
DMARCも、TXTレコードの中に書かれる。
TXTレコードの中身がv=DMARC
で始まる、ドメインが_dmarc
で始まるなど。詳しくは以下。