AWSにサーバーがあり、GuardDutyが通知の送信を開始しました:
*** "type":"Backdoor:EC2/C&CActivity.B!DNS",
*** {"domain":"libcurl.so","protocol":"UDP","blocked":false}
*** is querying a domain name associated with a known Command & Control server. ***
考えられるすべてのセキュリティツールを使用してサーバーを確認しましたが、何も見つかりませんでした。 tcpdump -A
私のサーバーがこのドメインについてそのような種類の要求を送信するのを見ました。私はauditdをオンにしました。しかし、奇妙なことは何も見つかりませんでした。
私の質問は、どのプロセスがこのリクエストを正確に送信するかをどのように決定するかです。
通常のパケットキャプチャでは、パケットからPIDを識別する方法がないのではないかと思います。これは、パケットの送信元のポートだけが表示されるためです。
Netstatを使用して、そのポートを使用しているユーザーを特定できますが、DNSにはミリ秒かかるため、非常に幸運である必要があります。
Systemtapは、サンプルのsystemtapスクリプトを使用してどのプロセスがudpパケットをDNSに送信したかを見つけるために使用できます: https://sourceware.org/systemtap/examples/network/who_sent_it.stp
AWSが提供する最後のソリューション:EC2インスタンスで不正なアクティビティを特定して停止できない場合は、侵害されたEC2インスタンスを終了し、必要に応じて新しいインスタンスに置き換えることをお勧めします。
AWSからの公式回答:
The GuardDuty team has confirmed this to be a false positive. The domain "libcurl.so" has been removed from the source threat intelligence list.
参考:パスワードは脆弱ではなく、他のベストプラクティスが実現されました。 OSSEC、Tripwireなどがサーバー上にあります。