スマートフォン解析 top

TOP > タイガーチームセキュリティレポート > DNS over HTTPSを利用した攻撃の検証

タイガーチームセキュリティレポート

はじめに

イランの攻撃グループによりDNS-over-HTTPS(DoH)を利用した攻撃が観測された記事が紹介されていた。 本記事によると、この攻撃はDoHという新しいプロトコルを利用した攻撃であるため、監視できない機器が存在し、 通常クリアテキストで送信されるDNS通信が暗号化されるという点で優れているとされている。 そこで今回はこの攻撃を実際に試して、その時の状況を検証してみることにした。

評価環境と攻撃の流れ

以下の図が評価環境と攻撃の流れである。

【攻撃の流れ】
1.社内のDNSサーバに対してDNSサーバのIPアドレスを問い合わせる
2.DNSサーバからDoHサーバのIPアドレスのレスポンスを受信
3.受信したIPアドレスを利用してDoHサーバに対してHTTPS通信を利用したDNSリクエストを送信する。このリクエスト内にBase64でエンコードされたデータが含まれている。)
4.ファイルが攻撃用DNSサーバ上にアップロードされる。

評価結果

クライアントPCでDoHを利用してデータを持ち出した時の画面が以下である。DoHサーバとしてcloudflareを指定して実行し、データの持ち出しが成功している。

データ持ち出し時の攻撃用サーバの状況が以下である。ファイルの受信が完了した旨が表示されている。

攻撃時のパケットを調べてみると、最初にcloudflareのドメイン名をDNSサーバに問い合わせた後、cludflareに対してTLS通信を行っていることが分かる。

その後の通信状況からcloudflare(104.16.248.249)と攻撃用サーバ(18.179.44.123)の通信に絞ったパケットの一覧が以下である。 (攻撃用サーバは自身がSSHで接続しているため、SSHの接続は除いている。)SourceとDestinationにはcloudflareのIPアドレスのみが表示されていて、 攻撃用サーバ(データの持ち出した先)のIPアドレスはどこにも表示されていない。

TLSの中身は当然暗号化されているため確認することはできず、データの持ち出し先のIPアドレスや攻撃時に利用したドメイン名は特定できない。

また、DoHではなくDNSを利用した場合のクライアントPC上のパケットが以下の図である。 パケットでドメイン名を確認することができる。下の図はクライアントPC上のパケットなので、DNSサーバのIPアドレスしか確認することはできないが、 DNSサーバと攻撃用サーバの通信経路上のパケットでは攻撃用サーバのIPアドレスも確認することが可能であることが予想される。

対策

今回の評価結果から、DoHを利用したデータ持ち出しに対しては、プロキシサーバにおいて、外部のDoHサーバへの通信をブロックすることが有効な対策となると考えられる。 また、この攻撃の優位性は参考記事に記載されているように、暗号化されているため実際のデータ持ち出し先が隠蔽されてしまうことにある。 データの持ち出し先を特定するための手がかりを少しでも残すためには、コマンド実行時のパラメータを記録できる仕組み(EDRなど)を導入しておけばドメインの所有者などから手がかりをつかめる可能性があると考えられる。

参考情報

[1] Iranian hacker group becomes first known APT to weaponize DNS-over-HTTPS (DoH)
https://www.zdnet.com/article/iranian-hacker-group-becomes-first-known-apt-to-weaponize-dns-over-https-doh/


サイバーセキュリティ研究所 北島