SOAPHound и ADWS: новые методы уклонения и обнаружения
Анализ посвящен поведению инструмента SOAPHound, который использует Веб-службы Active Directory (ADWS) посредством обмена данными SOAP/XML через порт 9389. Авторы отмечают заметный переход от ранее обсуждавшихся инструментов перечисления на базе LDAP к подходу на основе ADWS, что меняет ландшафт обнаружения и криминалистического анализа.
Ключевая особенность: запросы «от localhost» и событие 1644
В журналах событий запросы SOAPHound часто фиксируются как исходящие от localhost с идентификатором события 1644. Это маскирует фактический источник трафика и затрудняет трассировку активности к реальному злоумышленнику или инструменту.
Неожиданная логика обработки несуществующих атрибутов
В ходе тестирования выявлено важное поведение при формировании запросов: любые ссылки на несуществующие атрибуты в запросе интерпретируются как ЛОЖНЫЕ, а не как неопределённые значения. В соответствии с технической спецификацией Microsoft Active Directory это приводит к преобразованию таких выражений в отрицание ложного, представленное как (! (Ложь)). Это поведение наблюдается у разных типов запросов SOAPHound, что указывает на универсальную методологию формирования запросов, а не случайный или ограниченный по случаю эффект.
«Любые ссылки на несуществующие атрибуты в запросе интерпретируются как ЛОЖНЫЕ, а не как неопределённые».
Поведение SDFlags: отличие от SharpHound
При сравнении с реальными операциями других инструментов было отмечено принципиальное отличие в работе со значениями SDFlags:
- SharpHound использует выборку SDFlags, применяя значения
0x4или0x5в зависимости от целей перечисления дескрипторов безопасности; - SOAPHound же последовательно использует
SDFlags:0x7в различных операциях, даже когда дескрипторы безопасности формально не запрашиваются.
Такое жёстко запрограммированное поведение указывает на специфическую реализацию взаимодействия через ADWS и имеет значение для постановки задач обнаружения.
Последствия для обнаружения и судебной экспертизы
Ключевой результат исследования — понимание тонких преобразований LDAP-запросов критично для эффективного обнаружения. Схема с отрицанием ложного делает исходные запросы «невидимыми» или маскирует их смысл в логах, что затрудняет последующую криминалистику. В то же время поведенческие маркеры SOAPHound дают точки для надежного выявления.
Практические рекомендации по обнаружению
- Отслеживать трафик SOAP/XML на порту 9389 и анализировать соответствующие логи;
- Фильтровать события, помеченные как исходящие от localhost с идентификатором
1644, — не считать их автоматически «внутренними» и проверять контекст; - Искать шаблон преобразования запросов, где ссылки на несуществующие атрибуты интерпретируются как ЛОЖЬ и обращаются в конструкцию
(! (Ложь)); - Мониторить использование SDFlags в запросах: последовательное присутствие
0x7в операциях ADWS может быть индикатором SOAPHound; - Интегрировать эти признаки в многоуровневые правила обнаружения — сочетать сетевые, журналируемые и поведенческие сигнатуры для снижения ложных срабатываний.
Выводы
SOAPHound демонстрирует сдвиг в технике перечисления Active Directory: переход к ADWS и использование SOAP/XML по порту 9389 вместе с особенностями логики обработки атрибутов и постоянным применением SDFlags:0x7 создают новые вызовы для аналитиков и команд SOC. Однако именно эти отличительные признаки — «localhost» в событиях 1644, поведение с несуществующими атрибутами и шаблон SDFlags — могут служить надежными маркерами для выявления и последующего расследования.
Понимание и внедрение обнаружения на основе этих маркеров, а также объединение знаний из всех рассмотренных аналитических частей позволит повысить эффективность защиты и улучшить криминалистическую обработку инцидентов, связанных с использованием SOAPHound.
Отчет получен из сервиса CTT Report Hub. Права на отчет принадлежат его владельцу.
Ознакомиться подробнее с отчетом можно по ссылке.
