Атаки Remcos RAT используют известный способ обхода UAC

Атаки Remcos RAT используют известный способ обхода UAC

Атаки Remcos RAT используют известный способ обхода UAC

Эксперты SentinelOne выявили новую спам-кампанию, нацеленную на засев RAT-трояна Remcos с помощью загрузчика DBatLoader. Вредоносные письма распространяются в основном в странах Восточной Европы.

Текущие атаки примечательны тем, что используют способ обхода контроля учетных записей Windows (UAC), опубликованный почти три года назад. По всей видимости, эффективности он не утратил.

Рассылка поддельных писем в рамках данной кампании ведется из TLD-доменов, соответствующих стране получателя. Вредоносные вложения обычно выдаются за инвойс, детали тендера или другой финансовый документ. Само сообщение лаконично и призвано привлечь внимание к прикрепленному архивному файлу, содержащему зловреда.

 

Первичная полезная нагрузка DBatLoader замаскирована под документ Microsoft Office, LibreOffice либо PDF, снабженный двойным расширением и/или иконкой приложения, вводящей в заблуждение. При запуске зловред загружает из публичного облака (Microsoft OneDrive, Google Диск) пейлоад второй ступени — стейджер.

В рамках подготовки запуска Remcos вредоносный загрузчик создает и исполняет BAT-скрипт, нейтрализующий UAC по методу, который Дэниел Геберт (Daniel Gebert) продемонстрировал на Windows 10 в 2020 году. Для обхода такой защиты исследователь использовал подмену DLL и имитацию доверенной директории.

Дело в том, что Windows слепо доверяет некоторым каталогам (вроде C:\Windows\System32\), позволяя исполняемым файлам повышать привилегии без вывода предупреждений UAC. Имитация папки с умышленно внесенным пробелом (например, C:\Windows \System32) способна ввести в заблуждение ОС: некоторые Windows-программы, в том числе Проводник, в таких случаях не видят различий.

Используемый DBatLoader скрипт создает такой мок-объект и копирует туда KDECO.bat, легитимный файл easinvoker.exe и вредоносную библиотеку netutils.dll. Утилита easinvoker.exe, по словам экспертов, позволяет провести подмену DLL, и зловредная netutils, запускающая KDECO.bat, в данном случае исполняется в ее контексте, притом незаметно для пользователя.

Чтобы не вызвать подозрений у штатного антивируса, вредоносный загрузчик добавляет исключение в список Microsoft Defender. Зловред также прописывается в системе на автозапуск, создавая новый ключ реестра.

Целевой пейлоад, remcos.exe, запускается на исполнение путем инъекции в процесс. Обнаруженные образцы трояна обладали функциями кейлогера, умели делать снимки экрана, а также использовали бесплатный сервис DuckDNS для связи с C2.

Для защиты от подобных атак Sentinel One советует включить UAC-настройку «Всегда уведомлять» и мириться с тем, что она слишком назойлива и создает много шума. Админам также рекомендуется отслеживать создание подозрительных файлов и исполнение процессов из доверенных папок с хвостовыми пробелами, особенно со строкой «\Windows» в пути к файлу.

Расширения Chrome могут слить секреты URL через атаку по стороннему каналу

Как оказалось, расширения Chrome можно использовать для слива кодов авторизации, сеансовых ID и других секретов из URL любой открытой вкладки. Никаких специальных разрешений для этого не понадобится, только доступ к declarativeNetRequest API.

Этот механизм, пришедший на смену webRequest API, позволяет расширениям сообщать браузеру, что следует изменить или заблокировать на загружаемой странице (заголовки, реклама, трекеры).

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

Исследователь Луан Эррера (Luan Herrera) обнаружил, что блокировку, диктуемую правилами, Chrome производит почти мгновенно, за 10-30 мс, а остальные запросы выполняются дольше (~50-100ms) — из-за сетевых подключений. Эту разницу во времени расширение может использовать для бинарного поиска с целью посимвольного слива URL.

// extensions/browser/api/web_request/extension_web_request_event_router.cc:1117-1127
case DNRRequestAction::Type::BLOCK:
  ClearPendingCallbacks(browser_context, *request);
  DCHECK_EQ(1u, actions.size());
  OnDNRActionMatched(browser_context, *request, action);
  return net::ERR_BLOCKED_BY_CLIENT;

Оракул для подобной тайминг-атаки строится с использованием chrome.tabs.reload для перезагрузки страницы и перехватчика chrome.tabs.onUpdated, помогающего отследить событие status === "complete". Замер времени между reload и завершением загрузки покажет, заблокирован запрос или успешно обработан.

Повторение проверок и бинарного поиска позволяет получить полный URL (с довеском после «?»), затратив на каждый знак строки несколько прогонов. Таким образом, можно незаметно для пользователя украсть включенные приложением в адрес секреты — токены OAuth и сброса пароля, API-ключи, ссылки на контент, закрытый для поисковых систем.

Проверка PoC проводилась на Windows 11 24H2 с использованием Chrome разных версий:

  • 144.0.7559.97 (Stable)
  • 145.0.7632.18 (Beta)
  • 146.0.7647.4 (Dev)
  • 146.0.7653.0 (Canary)

В Google подтвердили возможность подобной атаки по стороннему каналу, но заявили, что решить проблему нереально.

RSS: Новости на портале Anti-Malware.ru