- Регистрация
- 20.01.2011
- Сообщения
- 7,665
- Розыгрыши
- 0
- Реакции
- 135
На сегодняшний день данная техника обфускации активно используется при распространении некоторых семейств зловредного ПО. Ниже расследование Mandiant по методологии противника, известной как "Обфускация ссылок через формат Schema". Данный метод поможет увеличить процент успеха у фишинговых кампаний и усложнить для различных АВ-инструментов определение реальной конечной ссылки.
Техника также может помочь обойти инструменты сетевой защиты, которые полагаются на определение реального домена конечной ссылки (например, проверка домена по внутренним фидам угроз) и которые могут пропустить ее без последствий через свои механизмы защиты.
Мы рекомендуем администраторам проверить - обходит ли данная схема механизмы их сетевой защиты при ведении логов и отработки различных сценариев защиты от атак.
Первая наводка
Для просмотра ссылки Войдиили Зарегистрируйся первым заметил данный метод Для просмотра ссылки Войди или Зарегистрируйся об активной кампании Для просмотра ссылки Войди или Зарегистрируйся при обфускации доменов конечных ссылок. Исследование Mandiant обнаружило различные форматы данной техники, которые были ранее использованы для распорстранения некоторых других семейств зловредного ПО.
В оригинальном твите был зафиксирован следующий пример использования: ссылка вида "hxxp://google.com@1157586937”, которая приводит в результате к открытию Для просмотра ссылки Войдиили Зарегистрируйсявидео. Данный твит иллюстрирует две различные техники обфускации ссылок, используемые одновременно:
Начнем с того, что цель этого знака дать понять вашему браузеру как обработать структуру ссылки в момент перехода на нее посетителем.
Для просмотра ссылки Войдиили Зарегистрируйся определяет стандарт структуры ссылок. В секции 3.1 (Common Internet Scheme Syntax, общая схема интернет синтаксиса) раскрываются базовые стандарты для ссылок:
В секции 3.3 (HTTP) раскрывается формат для HTTP-ссылки в виде следующей структуры:
В RFC специально указывается, что "имя пользователя или пароль не разрешены" в ссылке. Имя пользователя определяется как текст перед знаком "@”. Когда браузер обрабатывает ссылку с заполненным именем пользователя (все, что предшествует знаку «@»), он отбрасывает значение имени пользователя и отправляет запрос на сервер, заданный после знака «@».
Возвращаясь к примеру из твите, "google.com” трактуется браузером в ссылке как имя пользователя. В зависимости от целей фишинговой страницы значение может быть абсолютно любым (например, для эффективности это может быть емэйл-домен нашей цели).
Альтернативный формат имени хоста
В примере выше цифры "1157586937” воспринимаются браузером как имя хоста. Однако, IP-адрес сервера редко отображается как целое число. Это и есть второй уровень обфускации нашей ссылки.
Стандартный вариант отображения IPv4 IP-адреса - формат в виде четырех десятичных чисел, разделенных точками, каждое десятичное число представляет собой 8 бит IP-адреса. Например, IP-адрес 1.2.3.4 может быть представлен как двоичное число 00000001.00000010.00000011.00000100.
Двоичный формат IP-адреса можно также представить как одно большое двоичное число, которое затем преобразовать в десятичное. В нашем примере двоичное число 00000001.00000010.00000011.00000100 становится десятичным числом 16909060.
Рис. 1. Демонстрация преобразования IP 1.2.3.4 в десятичное число
Браузеры выполняют подобные преобразования налету. При этом возможно использовать и другие варианты целых чисел:
Шестнадцатеричный (hexadecimal) формат может быть тоже представлен с точками:
hxxp://google.com@0xC0.0xA8.0x0.0x1
Восьмеричный (Octal) формат тоже возможен:
hxxp://google.com@0300.0250.0000.0001
Или мы можем смешать два формата, чтобы еще больше запутать следы:
hxxp://google.com@0xc0.168.0x0.1
Домены тоже могут быть использованы для иллюзии реальной конечной ссылки:
hxxp://legit.banking.site.com@loginportal.onlinebanking.orly/loginPortal.php
Существует множество открытых инструментов для обфускации ссылок. Например - Для просмотра ссылки Войдиили Зарегистрируйся от Vincent Yiu, который поможет вам сгенерировать в том числе и смешанные варианты ссылок.
В реальных условиях
VirusTotal показывает различные варианты использования данных схем как минимум с февраля 2022 года. Продолжающееся использование подобных схем обфускации ссылок через Schema иллюстрирует эффективность данного метода для злоумышленников. Данный метод помогает избежать обнаружений инструментами безопасности и увеличивает процент успеха при открытии ссылки жертвой.
Часто такие ссылки используется для загрузки и запуска дополнительного вредоносного ПО. Было замечено, что для запуска зловредного кода на компьютере жертвы вместе используется как минимум несколько уязвимостей. Чаще всего это CVE-2017-0199 в документах вместе с CVE-2017-11882. Широкий спектр семейств вредоносных программ использует эту технику для запуска файлов, включая LOKIBOT, MATIEX, FORMBOOK и AGENTTESLA.
Пример недавнего инцидента
В феврале 2023 был обнаружен следующий документ Microsoft Word при помощи правил YARA и VirusTotal Retrohunt: аттака состояла из нескольких этапов - внедрение шаблона и эксплойт с загрузкой AGENTTESLA, которые отправлял затем данные с жертвы через шифрованный Телеграм-канал.
Имя файла PO.docx
MD5 291f6887bdaf248c7f0cdc9e2c9515cb
SHA-256 7dcbd34116b44f88962e2de72a92849304804fa5141513a35a023f5ab510b3bf
PO.docx был впервые замечен на VirusTotal 6 февраля 2023. Он содержит в себе метод инжекта шаблона в момент открытия документа, запрашивая на следующей стадии подгрузку зловредного ПО.
Если документ распакован, то следующий этап в цепочки заражения можно увидеть внутри файла webSettings.xml.rels:
Рисунок 2: файл webSettings.xml.rels
На данном этапе загружается и исполняется файл со следующей ссылки:
hxxp://dgdf000000ghfjfgh000000fghfghg0000000fhfghfg000000sdgfggdf00000gdfge00000rtdfgdf00000gdfg@647601465/56.doc
Ссылка после деобфускации выглядит как hxxp://38.153.157.57/56.doc. Внедрение шаблона приводит к следующему запросу, сделанному из Microsoft Word. Обратите внимание, что обфускация отсутствует в сетевом трафике; поле имени пользователя нет в логе, а целочисленное представление IP-адреса было изменено на формат с четырьмя точками:
Имя файла56.doc
MD5 fd3ef9f75b0be31f0a482f60a387cb76
SHA-256 1b93a3abb08c33bea46795890d311a201daa56080c4c14eda338eea19a4b4625
Загруженный документ 56.doc впервые появился на VirusTotal 6 февраля 2023, в тот же день, что и PO.docx. 56.doc — это файл RTF, использующий CVE-2017-11882 для загрузки и выполнения.hxxp://38.153.157.57/156/vbc.exe. В отличие от PO.docx, здесь не используется метод обфускации URL.
Имя файлаvbc.exe
MD5 cea776885d515fe1e88bccb71c016af3
SHA256 d8be588eb6eedc59b033c43150cf324fb8e56050e359b47da8017f4c47d264da
Внутреннее имя исполняемого файла «NNbHhH.exe», который является AGENTTESLA, отправляющим украденные данные через Telegram с идентификатором бота и токеном «6010275350: AAH4W3CDRhQk0wgfyhQ_jITTy3QYmrxdDbw».
Обнаружение
Вместо того, чтобы начинать с нуля писать регулярное выражение (Regex), часто можно найти уже имеющееся выражение в интернете, которое мы можем повторно использовать для своих целей. Интересно, что наиболее популярное регулярное выражение для определения ссылок из сообщения на Для просмотра ссылки Войдиили Зарегистрируйсяне сможет определить ссылку с использованием данных техник, рассмотренных в нашей статье.
RegEx с ответа на StackOverflow:
Если мы проверим данное выражение в Для просмотра ссылки Войдиили Зарегистрируйся, мы увидим, что оно пропускает обфусцированные нами ссылки:
К сожалению, вы не сможете выявить ссылки, обфусцированные с помощью рассмотренных в статье техники, если ваш инструмент безопасности использует данное регулярное выражение. Когда браузер получает запрос на переход по адресу ссылки с использованием данного синтаксиса, он автоматически переводит его в валидный формат до реальной отправки запроса. Поэтому, анализируя сетевой трафик, вы не увидите обфусцированный URL-адрес.
Однако использование файлового анализа, такого как YARA или AV/EDR поможеть выявить схемы обфусцирования конечных ссылок и корректно зафиксировать их в логах. Также если используется модуль Powershell’а как Invoke-WebRequest, обфусцированный адрес будет отображаться в логах.
В заключении статьи включены правила YARA для определения обфусцированных ссылок в документах Office, файлах RTF и PDF.
Заключение
В настоящий момент обфускация ссылок через Schema активно используется для доставки различного вредоносного ПО - от фишинговых страниц до внедрения шаблонов в документы. Администраторы должны убедиться в корректной настройке своих инструментов безопасности и адекватного журналирования поступающих угроз для определения, идентификации и получения корректных признаков этих угроз, чтобы быть уверенными, что их защита не обходятся с помощью обфусцированных ссылок в формате не соответствующем RFC. Использование правил Yara само по себе может помочь определить и предотвратить угрозы для ваших систем.
Благодарности
Особая благодарность Connor McLaughlin и Jared Wilson за их помощь на каждом этапе нашего исследования.
Приложение 1. Правила Yara
Приложение 2. Семейства вредоносного ПО и используемые ими ссылки.
AGENTTESLAhxxp://OASOSIDFOSWEROEROOWRWERWEREW
WW0W83W338W83WOWRWWRWRWRW9W9R9W9R
9WR9W9RW9R9W9R9W9R0WR7RR7W7RW7RRW7R
66WSD6DSD6S6D6DSD66D6S@39209
5676/58..........................58.......................doc
LOKIBOT
hxxp://xzcbbsjjfhjsdjzazazasvxcvnbbzaszxccvx@3
92133367/xzswqqazzza_sxcvbnzazazzzzzzza_zxas
dazzzasdzczxc/xzzzcv_qazzxcs.doc
FORMBOOK
hxxp://ZZZJOOIOIOSDP99090SDXDdad9SDED990
00DF00DF0SDF00DF0XCCXC0V00S0FDS0F0DF00S
SZZZZZZZZ0X0C0XCZZXC0X@392117348/22u.22u.
22u.doc
MATIEX
hxxp://WEEEERRRRRRRRRRRPPPOOOOSSSSSSSO
OOOOPPWEEEEEEEOOOOOOOCCVVVVVVVVOVV
VVVVVVVVVVVVVVOOOOOO@104.168.32.152/O
__O.DOC
Техника также может помочь обойти инструменты сетевой защиты, которые полагаются на определение реального домена конечной ссылки (например, проверка домена по внутренним фидам угроз) и которые могут пропустить ее без последствий через свои механизмы защиты.
Мы рекомендуем администраторам проверить - обходит ли данная схема механизмы их сетевой защиты при ведении логов и отработки различных сценариев защиты от атак.
Первая наводка
Для просмотра ссылки Войди
В оригинальном твите был зафиксирован следующий пример использования: ссылка вида "hxxp://google.com@1157586937”, которая приводит в результате к открытию Для просмотра ссылки Войди
- Использовании знака "@” для обфускации конечного назначения ссылки
- Использование альтернативного формата имени хоста для обфускации конечного назначения IP-адреса
Начнем с того, что цель этого знака дать понять вашему браузеру как обработать структуру ссылки в момент перехода на нее посетителем.
Для просмотра ссылки Войди
<scheme>//<user>:<password>@<host>:<port>/<url-path>
В секции 3.3 (HTTP) раскрывается формат для HTTP-ссылки в виде следующей структуры:
http://<host>:<port>/<path>?<searchpart>
В RFC специально указывается, что "имя пользователя или пароль не разрешены" в ссылке. Имя пользователя определяется как текст перед знаком "@”. Когда браузер обрабатывает ссылку с заполненным именем пользователя (все, что предшествует знаку «@»), он отбрасывает значение имени пользователя и отправляет запрос на сервер, заданный после знака «@».
Возвращаясь к примеру из твите, "google.com” трактуется браузером в ссылке как имя пользователя. В зависимости от целей фишинговой страницы значение может быть абсолютно любым (например, для эффективности это может быть емэйл-домен нашей цели).
Альтернативный формат имени хоста
В примере выше цифры "1157586937” воспринимаются браузером как имя хоста. Однако, IP-адрес сервера редко отображается как целое число. Это и есть второй уровень обфускации нашей ссылки.
Стандартный вариант отображения IPv4 IP-адреса - формат в виде четырех десятичных чисел, разделенных точками, каждое десятичное число представляет собой 8 бит IP-адреса. Например, IP-адрес 1.2.3.4 может быть представлен как двоичное число 00000001.00000010.00000011.00000100.
Двоичный формат IP-адреса можно также представить как одно большое двоичное число, которое затем преобразовать в десятичное. В нашем примере двоичное число 00000001.00000010.00000011.00000100 становится десятичным числом 16909060.

Рис. 1. Демонстрация преобразования IP 1.2.3.4 в десятичное число
Браузеры выполняют подобные преобразования налету. При этом возможно использовать и другие варианты целых чисел:
Шестнадцатеричный (hexadecimal) формат может быть тоже представлен с точками:
hxxp://google.com@0xC0.0xA8.0x0.0x1
Восьмеричный (Octal) формат тоже возможен:
hxxp://google.com@0300.0250.0000.0001
Или мы можем смешать два формата, чтобы еще больше запутать следы:
hxxp://google.com@0xc0.168.0x0.1
Домены тоже могут быть использованы для иллюзии реальной конечной ссылки:
hxxp://legit.banking.site.com@loginportal.onlinebanking.orly/loginPortal.php
Существует множество открытых инструментов для обфускации ссылок. Например - Для просмотра ссылки Войди
В реальных условиях
VirusTotal показывает различные варианты использования данных схем как минимум с февраля 2022 года. Продолжающееся использование подобных схем обфускации ссылок через Schema иллюстрирует эффективность данного метода для злоумышленников. Данный метод помогает избежать обнаружений инструментами безопасности и увеличивает процент успеха при открытии ссылки жертвой.
Часто такие ссылки используется для загрузки и запуска дополнительного вредоносного ПО. Было замечено, что для запуска зловредного кода на компьютере жертвы вместе используется как минимум несколько уязвимостей. Чаще всего это CVE-2017-0199 в документах вместе с CVE-2017-11882. Широкий спектр семейств вредоносных программ использует эту технику для запуска файлов, включая LOKIBOT, MATIEX, FORMBOOK и AGENTTESLA.
Пример недавнего инцидента
В феврале 2023 был обнаружен следующий документ Microsoft Word при помощи правил YARA и VirusTotal Retrohunt: аттака состояла из нескольких этапов - внедрение шаблона и эксплойт с загрузкой AGENTTESLA, которые отправлял затем данные с жертвы через шифрованный Телеграм-канал.
Имя файла PO.docx
MD5 291f6887bdaf248c7f0cdc9e2c9515cb
SHA-256 7dcbd34116b44f88962e2de72a92849304804fa5141513a35a023f5ab510b3bf
PO.docx был впервые замечен на VirusTotal 6 февраля 2023. Он содержит в себе метод инжекта шаблона в момент открытия документа, запрашивая на следующей стадии подгрузку зловредного ПО.
Если документ распакован, то следующий этап в цепочки заражения можно увидеть внутри файла webSettings.xml.rels:

Рисунок 2: файл webSettings.xml.rels
На данном этапе загружается и исполняется файл со следующей ссылки:
hxxp://dgdf000000ghfjfgh000000fghfghg0000000fhfghfg000000sdgfggdf00000gdfge00000rtdfgdf00000gdfg@647601465/56.doc
Ссылка после деобфускации выглядит как hxxp://38.153.157.57/56.doc. Внедрение шаблона приводит к следующему запросу, сделанному из Microsoft Word. Обратите внимание, что обфускация отсутствует в сетевом трафике; поле имени пользователя нет в логе, а целочисленное представление IP-адреса было изменено на формат с четырьмя точками:

Имя файла56.doc
MD5 fd3ef9f75b0be31f0a482f60a387cb76
SHA-256 1b93a3abb08c33bea46795890d311a201daa56080c4c14eda338eea19a4b4625
Загруженный документ 56.doc впервые появился на VirusTotal 6 февраля 2023, в тот же день, что и PO.docx. 56.doc — это файл RTF, использующий CVE-2017-11882 для загрузки и выполнения.hxxp://38.153.157.57/156/vbc.exe. В отличие от PO.docx, здесь не используется метод обфускации URL.
Имя файлаvbc.exe
MD5 cea776885d515fe1e88bccb71c016af3
SHA256 d8be588eb6eedc59b033c43150cf324fb8e56050e359b47da8017f4c47d264da
Внутреннее имя исполняемого файла «NNbHhH.exe», который является AGENTTESLA, отправляющим украденные данные через Telegram с идентификатором бота и токеном «6010275350: AAH4W3CDRhQk0wgfyhQ_jITTy3QYmrxdDbw».
Обнаружение
Вместо того, чтобы начинать с нуля писать регулярное выражение (Regex), часто можно найти уже имеющееся выражение в интернете, которое мы можем повторно использовать для своих целей. Интересно, что наиболее популярное регулярное выражение для определения ссылок из сообщения на Для просмотра ссылки Войди
RegEx с ответа на StackOverflow:
https?:\/\/(www\.)?{1,256}\.[a-zA-Z0-9()]{1,6}\b(*)
Если мы проверим данное выражение в Для просмотра ссылки Войди

К сожалению, вы не сможете выявить ссылки, обфусцированные с помощью рассмотренных в статье техники, если ваш инструмент безопасности использует данное регулярное выражение. Когда браузер получает запрос на переход по адресу ссылки с использованием данного синтаксиса, он автоматически переводит его в валидный формат до реальной отправки запроса. Поэтому, анализируя сетевой трафик, вы не увидите обфусцированный URL-адрес.
Однако использование файлового анализа, такого как YARA или AV/EDR поможеть выявить схемы обфусцирования конечных ссылок и корректно зафиксировать их в логах. Также если используется модуль Powershell’а как Invoke-WebRequest, обфусцированный адрес будет отображаться в логах.
В заключении статьи включены правила YARA для определения обфусцированных ссылок в документах Office, файлах RTF и PDF.
Заключение
В настоящий момент обфускация ссылок через Schema активно используется для доставки различного вредоносного ПО - от фишинговых страниц до внедрения шаблонов в документы. Администраторы должны убедиться в корректной настройке своих инструментов безопасности и адекватного журналирования поступающих угроз для определения, идентификации и получения корректных признаков этих угроз, чтобы быть уверенными, что их защита не обходятся с помощью обфусцированных ссылок в формате не соответствующем RFC. Использование правил Yara само по себе может помочь определить и предотвратить угрозы для ваших систем.
Благодарности
Особая благодарность Connor McLaughlin и Jared Wilson за их помощь на каждом этапе нашего исследования.
Приложение 1. Правила Yara
Код:
rule M_Hunting_ObfuscatedURL_DottedQuad{ meta: author = "Mandiant" description = "Finds URL Schema Obfuscation of the format http://loremipsum@1.2.3.4" strings: $doc = {d0 cf 11 e0} $pdf = {25 50 44 46 2D} $docx = {50 4b 03 04} $rtf = {7b 5c 72 74} $url = /https?:\/\/[\w\d\-\_]{1,255}\@\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}(\:\d{1,5})?/ nocase condition: ($doc at 0 or $docx at 0 or $pdf at 0 or $rtf at 0) and filesize < 3MB and all of them}
Код:
rule M_Hunting_ObfuscatedURL_Integer{ meta: author = "Mandiant" description = "Finds URL Schema Obfuscation of the format http://loremipsum@16909060" strings: $doc = {d0 cf 11 e0} $pdf = {25 50 44 46 2D} $docx = {50 4b 03 04} $rtf = {7b 5c 72 74} $url = /https?:\/\/[\w\d\-\_]{1,255}\@\d{8,10}(\:\d{1,5})?/ nocase condition: ($doc at 0 or $docx at 0 or $pdf at 0 or $rtf at 0) and filesize < 3MB and all of them}
Код:
rule M_Hunting_ObfuscatedURL_DottedQuadHex{ meta: author = "Mandiant" description = "Finds URL Schema Obfuscation of the format http://loremipsum@0x01.0x02.0x03.0x04" strings: $doc = {d0 cf 11 e0} $pdf = {25 50 44 46 2D} $docx = {50 4b 03 04} $rtf = {7b 5c 72 74} $url = /https?:\/\/[\w\d\-\_]{1,255}\@0x[a-fA-F0-9]{1,2}\.0x[a-fA-F0-9]{1,2}\.0x[a-fA-F0-9]{1,2}\.0x[a-fA-F0-9]{1,2}(\:\d{1,5})?/ nocase condition: ($doc at 0 or $docx at 0 or $pdf at 0 or $rtf at 0) and filesize < 3MB and all of them}
Код:
rule M_Hunting_ObfuscatedURL_DottedQuadMix{ meta: author = "Mandiant" description = "Finds URL Schema Obfuscation of the format http://loremipsum@1.2.0x03.0x04" strings: $doc = {d0 cf 11 e0} $pdf = {25 50 44 46 2D} $docx = {50 4b 03 04} $rtf = {7b 5c 72 74} $url = /https?:\/\/[\w\d\-\_]{1,255}\@(0x[a-fA-F0-9]{1,2}|\d{1,3})\.(0x[a-fA-F0-9]{1,2}|\d{1,3})\.(0x[a-fA-F0-9]{1,2}|\d{1,3})\.(0x[a-fA-F0-9]{1,2}|\d{1,3})(\:\d{1,5})?/ nocase condition: ($doc at 0 or $docx at 0 or $pdf at 0 or $rtf at 0) and filesize < 3MB and all of them}
Код:
rule M_Hunting_ObfuscatedURL_Domain{ meta: author = "Mandiant" description = "Finds URL Schema Obfuscation of the format http://loremipsum@mandiant.com" strings: $doc = {d0 cf 11 e0} $pdf = {25 50 44 46 2D} $docx = {50 4b 03 04} $rtf = {7b 5c 72 74} $url = /https?:\/\/[\w\d\-\_]{1,255}\@([\w\d\-]{1,100}\.){1,10}[\w\d\-]{1,20}(\:\d{1,5})?/ nocase $exclusions = /https?:\/\/[\w\d\-\_]{1,255}\@(gmail\.com|hotmail\.com|yahoo\.com|outlook\.com|hotmail\.co\.uk|sentry\.io|[\w\d\.]{1,50}\.sentry\.io)/ nocase condition: ($doc at 0 or $docx at 0 or $pdf at 0 or $rtf at 0) and filesize < 3MB and $url and not $exclusions}
Приложение 2. Семейства вредоносного ПО и используемые ими ссылки.
AGENTTESLAhxxp://OASOSIDFOSWEROEROOWRWERWEREW
WW0W83W338W83WOWRWWRWRWRW9W9R9W9R
9WR9W9RW9R9W9R9W9R0WR7RR7W7RW7RRW7R
66WSD6DSD6S6D6DSD66D6S@39209
5676/58..........................58.......................doc
LOKIBOT
hxxp://xzcbbsjjfhjsdjzazazasvxcvnbbzaszxccvx@3
92133367/xzswqqazzza_sxcvbnzazazzzzzzza_zxas
dazzzasdzczxc/xzzzcv_qazzxcs.doc
FORMBOOK
hxxp://ZZZJOOIOIOSDP99090SDXDdad9SDED990
00DF00DF0SDF00DF0XCCXC0V00S0FDS0F0DF00S
SZZZZZZZZ0X0C0XCZZXC0X@392117348/22u.22u.
22u.doc
MATIEX
hxxp://WEEEERRRRRRRRRRRPPPOOOOSSSSSSSO
OOOOPPWEEEEEEEOOOOOOOCCVVVVVVVVOVV
VVVVVVVVVVVVVVOOOOOO@104.168.32.152/O
__O.DOC