Метка zgRAT, используемая в системах обнаружения угроз, одновременно применяется к двум принципиально разным типам вредоносного программного обеспечения - инфостилеру PureLogs и трояну удаленного доступа PureRAT. Такое смешение приводит к ложным срабатываниям, неверной классификации инцидентов и затрудняет работу аналитиков, которым приходится тратить время на перепроверку сигналов, не соответствующих реальной угрозе.
Описание
Оба семейства разработаны на платформе .NET одним и тем же автором, известным под псевдонимом PureCoder. Однако их функционал кардинально различается. PureLogs автоматически собирает и выгружает на сервер злоумышленников сохранённые в браузере пароли, данные банковских карт, cookie-файлы, учётные записи криптокошельков, логины от VPN и мессенджеров. Это типичный инфостилер - программа, ориентированная на кражу конфиденциальной информации без активного вмешательства в работу заражённого устройства.
PureRAT, напротив, предоставляет атакующему полный удалённый контроль над компьютером жертвы. С его помощью можно включать веб-камеру и микрофон, вести запись нажатий клавиш, выполнять команды в командной строке, запускать скрытый просмотр рабочего стола (Hidden VNC) и внедрять код в другие процессы. Это троян удалённого доступа (RAT), а не автоматический похититель данных.
Несмотря на такие различия, метка zgRAT в базах сигнатур и средствах реагирования регулярно приписывается обоим семействам. Как поясняется {в аналитической заметке}, специально посвящённой этой проблеме, многие правила обнаружения, подписанные как zgRAT, на деле соответствуют PureLogs, в то время как другие - PureRAT. Более того, существует довольно популярное правило YARA, которое срабатывает практически на любой исполняемый файл, защищённый обфускатором .NET Reactor, независимо от того, является ли он вредоносным. Это создаёт благодатную почву для ложных срабатываний, которые трудно отсеять без дополнительного анализа.
Отсутствие чёткого определения самого термина zgRAT лишь усугубляет ситуацию. Одни источники утверждают, что zgRAT - это то же самое семейство, что и PureLogs, другие настаивают на его отождествлении с PureRAT. Специалисты по обратной разработке khr0x и Jane в своём блоге прямо указывали, что PureLogs и zgRAT - не одно и то же. Тем не менее путаница сохраняется, и аналитикам приходится мириться с тем, что ярлык в предупреждении системы не всегда отражает истинную природу вредоносного кода.
Подобная неразбериха случалась и раньше. Ранее в сообществе наблюдались споры вокруг меток ResolverRAT и PureHVNC, которые на деле также относились к PureRAT. Сегодняшняя ситуация с zgRAT повторяет ту же ошибку: вместо того чтобы использовать устоявшееся имя разработчика или наиболее раннее распространённое обозначение, новые сигнатуры наследуют сомнительный ярлык, который затем тиражируется в разных системах.
Последствия такой практики не ограничиваются неудобствами для аналитиков. Для бизнеса ложные тревоги означают перегрузку центров мониторинга, снижение доверия к автоматизированным средствам защиты и риск пропустить настоящую атаку из-за "шума". Если система помечает чистый файл как zgRAT только из-за обфускации, доверие к ней падает, и реальная угроза может остаться незамеченной. Кроме того, неверная классификация влияет на статистику угроз и искажает картину для руководства, которое принимает решения о выделении ресурсов на защиту.
Различить PureLogs и PureRAT на сетевом уровне позволяют специализированные инструменты, использующие статистический анализ протоколов командных серверов. Такие решения не полагаются на подписи по сертификатам или фиксированные порты, а анализируют поведение трафика, что даёт более точный результат. Однако широкое внедрение подобных методов пока остаётся уделом продвинутых команд, а массовые средства обнаружения продолжают опираться на статические правила, подверженные ошибкам классификации.
Для снижения путаницы эксперты рекомендуют сообществу придерживаться единого подхода: использовать название, данное разработчиком вредоносной программы, или наиболее раннее широко принятое обозначение. Если классификация неясна, лучше указывать "неизвестное семейство", чем закреплять ошибочный ярлык, который затем порождает ложные срабатывания. Только согласованная практика именования позволит сделать индикаторы компрометации более надёжными и сократить время реагирования на реальные инциденты.
Индикаторы компрометации
IPv4 Port Combination
- 196.251.107.6:56001
- 204.44.93.88:8449
- 45.192.211.59:56001
- 46.151.182.159:776
- 5.101.84.75:4242
- 85.239.149.178:56001
MD5
- 010301d23beacee631006245ed09a2f7
- 323fed78fc8aaa86c3d35aa85313645d
- 3c9852c53cb45221886b34ed6bc7d674
- 404f0d36fcbe5c4643e821403a4827eb
- 7e49bac468548a0e83133f0d5b02544b
- b4400998cf293b0767455fb37526b18e
SHA1
- 0cdc9d6c5c58fd264d138ab9cec71364d12f4fa9
- 20f86e41741071d7257e945683c3f621fb14990f
- 4d8b035279dd2b565c457d2cf09911b653642a54
- b2312267c752e3b583cc2f763b0785a4bce7f1e1
- b296953446d3161e61e3982c8c66d68f1295f788
- f055ec7c63d01bde2d6aa1b68ee62c0dd87f076b
SHA256
- 0cb54132e0a6c763044968293effe0794ae787435ca616a626245d23e2291b11
- 1cd9e489da7d5a543a219458d60fae774c3c7771a2d60bbe3a6217bbf8fbe626
- 5a3938aa0350f3bf94c8f12cab8b9b0555648c20176fe9166a91240c4b27fa18
- 794331fd4fd48600ebee0c579517f3a7122a87a2bf8e2da18dfc8d5d57c0da93
- e937e353759cb981feb958f6fc54cc4922169260a9eaa8f1d7266c14b53fe7ce
- f273dfb134166251f00456f8fcff32a827afa03781794f8071281dcadc37b444