Автор: Бенджамин Бен Давид и Матанпер
Управляющее резюме
В последние годы банковский троян Retefe в основном распространяется через фишинговые электронные письма, его уникальные свойства включают использование поддельных корневых сертификатов, выпущенных Comodo, для перехвата трафика пользователей через их собственный сервер.
Цель статьи — представить ход расследования и исследования нового варианта Retefe, с которым мы столкнулись несколько месяцев назад, а также дать новое представление о его новых свойствах и функциях.
Глубокое погружение
Во время обычного поиска угроз, проводимого в рамках консультационной службы для крупной финансовой компании, мы обнаружили новый вариант известного трояна Retefe, который, по-видимому, нацелен на шведские организации и частных лиц. Кампания разделяет свойства известных методов, связанных со старой известной деятельностью Ретефе.
Первоначальный доступ
Основным методом распространения Retefe являются фишинговые письма с прикрепленным вредоносным файлом (Excel, Exe и т. д.).
В нашем примере у нас был вредоносный файл excel со встроенным объектом — файл JS. В одном из листов excel документа мы можем найти команду «EMBED» в XML4 — отвечающую за привязку объекта к конкретной ячейке (изображение 1).
Из предписания по социальной инженерии текст внутри документа написан на шведском языке и переводится как: «Чтобы просмотреть квитанцию, дважды щелкните изображение».
Мы можем сделать серьезное предположение разведки о текущей кампании, нацеленной на шведские организации. или отдельные лица.
Анализ сценариев
Мы использовали инструмент под названием oleobj.py, который извлекает встроенные объекты из файлов OLE, в результате чего получается сильно запутанный файл JS.
Изучив код, мы можем увидеть функцию декодирования длинного списка с именем o8_MlWnpjcY7Hu2dDFJ. С помощью Cyberchef мы создали простой рецепт для перевода списка ниже (изображение 2).
Несколько переменных скрипта не легко читаются людьми, поэтому в обратном процессе мы заменили многие имена, чтобы сделать их более читабельными.
В скрипте есть много ссылок на элементы в списке выше, чтобы облегчить нашу работу, мы напрямую заменил их соответственно.
Скрипт используется для подготовки к MITM-атаке на хост жертвы.
Для достижения своей цели он записывает в память поддельный сертификат, предположительно подписанный известным издателем — центром сертификации COMODO с эмитентом электронной почты — я@мойхост.мойдомен.
В целом код отключает несколько настроек прокси (в IE && FF) и автоматически запускает загрузку JS-файла с URL-адреса, указанного в определенном ключе реестра (AutoConfigURL), когда пользователь открывает IExplorer или Firefox.
Основной код можно разделить на 4 части:
- Установка сертификата в WCM (менеджер сертификатов Windows).
- Отключение оптимального поиска прокси и установка вредоносного значения AutoConfigURL.
- Установка сертификата в БД Firefox с помощью nss3.dll.
- Переопределение настроек прокси-сервера Firefox.
Теперь давайте погрузимся в сценарий и посмотрим, как вышеуказанная функциональность отражена в каждой части.
Установка сертификата
В этом блоке кода вредоносный код создаст сценарий Powershell на целевом хосте (изображение 3).
Он получит дескриптор Certutil, а затем перечислит все его дочерние объекты (не в аспекте процесса, а как виджеты в форме окна) (изображение 4). После их перечисления скрипт отправит каждому из них системное сообщение «0x00F5» (BM_CLICK) с помощью функции «sendmessage()» (изображение 5).
Значение соответствует событию щелчка кнопки мыши — «нажатию» кнопки «Да» (изображение 6).
Таким образом устраняется необходимость вмешательства человека при встраивании сертификата.
Пока сценарий Powershell ищет дескриптор Certutil, основной сценарий запустит Certutil и попросит добавить вредоносный сертификат (изображение 7), который будет одобрен смоделированным щелчком мыши.
Управление настройками прокси
Функция — «InstallPac» изменяет значение ключа реестра: «AutoDetect» на 0, тем самым гарантируя, что машина не будет использовать оптимальный доступный для нее прокси, а будет использовать произвольно выбранный вредоносный прокси (MITM-атака) (изображение 8).
Затем выбирается 1 из 4 доступных строк лукового домена, а также выбирается слово «to» или «link».
Теперь, всего 5 раз, код получит IP-адрес от API доменов. .ipify.org или icanhazip.com каждый раз будет переопределять значение, помещенное в раздел реестра:
HKCU\Software\Microsoft\Windows\CurrentVersion\Internet Settings\AutoConfigURL.
Этот ключ устанавливает выбранный URL-адрес для отправки запроса при каждом открытии браузера.
В нашем случае файл JS будет прочитан и установлен текущий прокси для использования.
К сожалению, все доменов не работает, поэтому мы не смогли получить образец для анализа (изображение 9).
URL-адрес имеет следующий формат:
‹http/https›://‹onion domain›.‹to/link›/‹случайные 8 символов ascii (33–126 кодов)›.js? ip=‹публичный IP›.
Такой шаблон можно обнаружить с помощью следующего регулярного выражения:
«https?:\/\/[a-zA-Z0–9]+\.onion.(to|link)\/\ S{8}.js\?ip=([0–9]{1,3}\.){3}[0–9]{1,3}}».
Установка сертификата в базу данных Firefox
Как и раньше, она начинается с записи файла Powershell с именем psf.ps1 с использованием аналогичных методов.
Записанный файл добавит вредоносный сертификат в базу данных Firefox, используя nss3.dll, которая является основной DLL Mozilla.
Он вызывает необходимые функции DLL с помощью «делегата», что позволяет избежать общих обнаружений безопасности (изображение 10).
Функции-делегаты — это известный способ вызова функций DLL во время выполнения, что позволяет избежать обнаружения статических ошибок в таблицах импорта.
Переопределение настроек прокси-сервера Firefox
Функция получает путь к первой папке, содержащей строку «.default», в папке AppData Mozilla.
В этой папке сценарий переопределяет файл с именем : «prefs.js».
Каждая строка, содержащая строку «network.proxy». удаляется из него.
Таким образом, настройки прокси-сервера Firefox больше не указываются (удаляются) (изображение 11).
Теперь Firefox будет использовать (вредоносный) прокси-сервер по умолчанию — добавленный ключ реестра из раздела 2, содержащий вредоносный URL-адрес.
Краткое содержание
Семейство вредоносных программ Retefe довольно велико и содержит множество способов получения жертвой легитимного файла.
С помощью нашей аналитической группы мы обнаружили, что более новые версии Retefe больше не нацелены только на Европейские финансовые группы, но и все по всему миру.
Каждый раз, когда группа-жертва меняется, TTP развиваются, поэтому нам есть что ожидать ;-).
В этой статье мы подробно рассмотрели фактический код, который выполняет подготовку к атаке MITM, и методы уклонения от защиты, которые используются для сокрытия его вредоносных действий.
Мы показали наиболее важные фрагменты кода вредоносного JS-кода.
Ниже вы можете найти набор IOC для дальнейшего расследования поиска угроз в вашей среде.
МОК:
Хэши:
cert.der:
7ac67b785ce8633d6dc85e523cea55cd727658367b9a9877d608ce2565ec9c78
ps.ps1:
865f1fff807132c60c7e9b61 1d263b762d148cd986bd754b60c8c197839724c8
psf.ps1
ac26a0bd3820afbc886b841b365a89b879e00edd90c390126a4ebed71afc82df
Трафик:
- Icanhazip.com
- Api.ipify.org
- Mvbcmt5ao7vdbprh.onion
- srj6jqfnn4eobrgn.onion
- J65je6flfiejsea2.onion
- zgu5v7fzwito746r.onion
Командные строки:
- тасккилл/ф/им firefox.exe
- тасккилл/ф/им iexplore.exe
- тасккилл/ф/им chrome.exe
- powershell -ExecutionPolicy Unrestricted -Файл «\»
- certutil -addstore -f -user «\ROOT»\ «\»
Reg-keys: “HKCU\\Software\\Microsoft\\Windows\\CurrentVersion\\Internet Settings\\AutoDetect” “HKCU\\Software\\Microsoft\\Windows\\CurrentVersion\\Internet Settings\\AutoConfigURL” Changed value match: AutoDetect: 0 AutoConfigURL detection regex: https?:\/\/[a-zA-Z0–9]+\.onion.(to|link)\/\S{8}.js\?ip=([0–9]{1,3}\.){3}[0–9]{1,3}} CrowdStrike possible detection query: earliest=-7d [search aid=* event_simpleName=ProcessRollup2 FileName=”taskkill.exe” earliest=-7d | eval var=”TERM(“.aid.”) AND “.ParentProcessId_decimal.”” | appendpipe [|makeresults | eval var=”THIS_STRING_WILL_NOT_BE_IN_ANY_OF_YOUR_EVENTS”] | return 9999 $var] | search FileName=”certutil.exe” | stats values(ComputerName) | sort _time