はじめに
GuardDutyでTrojan:EC2/DGADomainRequest.Bを検知し、その調査を行いました。
DGADomainRequest.Bは、ドメイン生成アルゴリズム (DGA) で生成されたと思われるドメインへのアクセスを試み、DNSへクエリを行ったことを検知する仕組みです。
調査の実施
トロイの感染が疑われたため、GuardDuty以外にもセキュリティ対策として導入済みのアプリケーションでサーバのフルスキャンを実施し、トロイに感染していないことを即座に確認しました。
トロイに感染していないことが確認できましたが、Trojan:EC2/DGADomainRequest.Bが毎日のように検知されています。
情報を集める中で、SSHサーバが接続元IPアドレスの正逆一致の確認を行う場合があることを知り、確認しました。
対象のサーバはWindows Serverであり、SSHの利用のためにCygwinを使用している環境でしたが、そのようなログはありませんでした。
事例を調査すると、頻発しているものや数時間に1回のケースなどが見つかりましたが、
弊社で検知した際は、起動時に1回のみ検知する状態でした。基本的には起動時に即時発生するため、Cygwinを含めたアプリケーションはほとんど起動していませんでした。
もしトロイに感染していたとしてもこのタイミングでは動作できないでしょう。
同じ事象が複数の環境の複数のサーバで発生しています。
共通点は、ドメイン参加しているWindows Serverであることでしたが、
弊社で管理しているドメイン参加しているWindows Serverのすべてで発生しているわけではありませんでした。
該当サーバのEventlogを確認すると、定期的にActiveDirectoryサーバへの接続が失敗しているようでした。
サーバからDNSクエリを実行しても問題は発生していないようです。
弊社ではGuardDutyを導入したばかりで、導入当初から検知されていたため、何が原因で発生しているのか分からない状態でした。
調査が長引く中、環境の一つでActiveDirectoryサーバの更新を行っており、該当サーバのみDNSの設定を新しいActiveDirectoryサーバに設定変更していないことが判明しました。
通信ログを確認すると、ActiveDirectoryサーバへの通信ができず、2番目に登録したAWSのDNSとの通信が行われていることが確認できました。
ActiveDirectoryサーバへ向けた通信をAWSのDNSへ行うことで、この事象が発生していると推測しました。
原因
該当サーバでは、正常な状態でドメインを運用することができていないじょうたいでした。
ドメイン参加時にActiveDirectoryサーバをDNSサーバとして登録していますが、
該当環境では以下のいずれかでした。
1.DNSサーバを複数台設定する際に、1番目にActiveDirectory、2番目にAWSのDNSを指定
2.ネットワーク設定が初期化され、DNSサーバがDHCPで取得されたもの
1の環境の場合、前述したようにActiveDirectoryの指定が誤っているか、何かしらの問題で通信できない場合は、2番目側のDNSへ通信が行われます。
2の場合は、DHCPによって取得される設定であり、該当環境ではAWSのDNSでした。
本来はDNSを固定で設定されていた認識でしたが、設定が初期化されDHCPによる取得となっておりました。
実際に2の環境で必ずAWS側のDNSを利用する状態で、ユーザ認証や更新を行うと、Trojan:EC2/DGADomainRequest.Bを手動で発生させることができました。
上記から、ドメイン参加環境において、ActiveDirectoryサーバへの通信をAWSのDNSに行うと、この事象が発生する事が分かり、セキュリティリスクはないと判断しました。
またドメインに参加しているWindowsServerは起動時にActiveDirectoryに接続し、自分のホスト名やIPアドレスが
ActiveDirectoryに登録されているかの確認を行うようです。
起動時にほぼ必ず、検知するのはこの挙動が原因の様です。
セキュリティリスクはないが、ドメイン参加環境としてはこのメッセージが定期的に発生する状態だと、ドメイン上のユーザ認証ができない状態となっており、ドメイン参加サーバの動作として不安定と考えます。
弊社では、利用するActiveDirectoryが外部NW上にあるため、ActiveDirectoryと通信不可時に、
せめてDNSクエリだけでもAWS側のDNSを利用したいとこの構成にしていますが。
Trojan:EC2/DGADomainRequest.Bが頻繁に検知される場合は、
設定されたActiveDirectoryサーバのメンテナンスやDHCP OptionSetの利用など、設定の改善を行い、
正常動作するようにしていく必要はありますので、検知時は随時調査は必要と考えています。