Как определить процесс, который делает DNS-запрос?

У меня есть сервер на 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 Я видел, что мой сервер отправил такой запрос об этом домене. Я включил аудитд. Но ничего странного не было найдено.

У меня вопрос, как определить, какой процесс именно отправить этот запрос?

2 ответа

Официальный ответ от 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 и другие вещи находятся на сервере.

Я боюсь, что при обычном захвате пакетов нет способа идентифицировать PID из пакетов, потому что все, что вы можете видеть, это то, с какого порта был отправлен пакет.

Вы можете использовать netstat, чтобы определить, кто использует этот порт, но DNS занимает миллисекунды, поэтому вам очень повезло.

Systemtap можно использовать для определения того, какой процесс отправил пакеты udp в dns, используя пример сценария systemtap: https://sourceware.org/systemtap/examples/network/who_sent_it.stp

Последнее решение, предоставленное AWS: если вы не можете идентифицировать и остановить несанкционированную активность на вашем экземпляре EC2, мы рекомендуем вам прекратить работу скомпрометированного экземпляра EC2 и заменить его новым экземпляром по мере необходимости.

Другие вопросы по тегам