Port 53

明日のための技術メモ

Hack The Box Challenges: Easy Phish(Easy)

OSINTの問題で、ドメインから情報が筒抜けのパターンがあったので、
WriteUPを書いてみる。ドメインで知らなかったこと結構あった。

目次

Easy Phish

f:id:saturn-glave:20200922125600p:plain

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で始まるなど。詳しくは下の例。

www.naritai.jp

DMARC

DMARCは、SPFDKIM(電子署名を使って検証)の結果が認証失敗だった時に、
どのような対応をとるのかをDMARCポリシーとしてDNSに宣言しておく。
実際に認証失敗だった時、DMARCポリシーを元に受信したメールをどうするか判断する。

DMARCも、TXTレコードの中に書かれる。
TXTレコードの中身がv=DMARCで始まる、ドメイン_dmarcで始まるなど。詳しくは以下。

www.naritai.jp

参考

www.naritai.jp

qiita.com

ent.iij.ad.jp