Возможен ли вирус в документе Word

Когда пользователь открывает или закрывает зараженный файл, вредоносная программа извлекает макромодуль "ThisDocument" и сохраняет его в корневом каталоге диска С: под названием:

C:temp.tmp

Затем вирус считывает данные из шаблона MS Word — "Normal.dot" и добавляет их в файл

C:temp.tmp

После этого он анализирует содержимое файла "temp.tmp" и копирует код, который находится после строки:

‘RELAX

и обновляет файл "Normal.dot", внедряя в него свой вредоносный макрос. Далее он записывает изменения в свой текущий документ. В конце вредоносная программа проверяет атрибуты открытого документа, и если он не имеет атрибутов "Скрытый" и "Системный" – устанавливает значение 862-го байта в "1" и удаляет файл:

C:temp.tmp

В инфицированный файл добавляется следующая информация:

‘ Logfile ‘ * DSR Normal.dot". В системный реестр вносится следующая запись:

[HKCUSoftwareMicrosoftMS Setup (ACME)User Info] "LogFile"="True"

После этого вредоносное ПО производит проверку по следующей строке:

‘ DSR DSR (KZ, город Костанай, КГУ) Это простой пример чтения C: bootlog.sys

Рекомендации по удалению

  • Завершить работу MS Word.
  • Удалить ключ реестра:
  • [HKCUSoftwareMicrosoftMS Настройка (ACME)Информация о пользователе]
    C:

    etlog.sys C:bootlog.sys

    MD5: 4913a3d7faea301aa83595813ecfe7fb SDA1: d55b8bc059cbe1e0184d2dd14b7be52db9417c8a

    Ваш мозг на 60% состоит из жира. Добавьте 40% науки!

    Рациональное питание для серой массы

    Уроки форензики. Исследуем вредоносные документы Microsoft Office

    Одним из наиболее широко распространенных методов атак на компании и обычных пользователей является социо­альная инже­нерия. Злоумышленники отправляют жертвам электронные письма с вложениями, зачастую это документы Microsoft Office с вредоносным содержимым. В данной статье мы исследуем, как анализировать такие документы и как осуществлять поиск вредоносного кода в их содержимом.

    Сог­ласно мат­рице MITRE ATT

  • olevba — для извле­чения и ана­лиза исходно­го кода мак­росов VBA из докумен­тов MS Office (OLE и OpenXML);
  • oledump — для ана­лиза потоков дан­ных OLE-фай­ла;
  • rtfdump — для ана­лиза фай­лов фор­мата RTF;
  • rtfobj — для извле­чения встро­енных объ­ектов из фай­лов RTF;
  • scdbg — для ана­лиза шелл‑кода, ути­лита пос­тро­ена на осно­ве биб­лиоте­ки для эму­ляции libemu.
  • info

    Ис­сле­дова­ние мы будем про­водить в лабора­тории для ана­лиза вре­доно­сов, под­робно опи­сан­ной в статье «Код под над­зором. Соз­даем вир­туаль­ную лабора­торию для ана­лиза мал­вари».

    Все необходимые для анализа вредоносных файлов утилиты располагаются в каталоге FLAREOffice виртуальной машины, работающей на Windows 10. Общий подход к этому анализу можно найти в памятке Лени Зельцера.

    Теперь давайте перейдем к рассмотрению файлов с сайта CyberDefenders. Я не буду приводить ответы на вопросы из заданий — выполнив все описанные ниже эксперименты, ты сможешь найти их самостоятельно.

    Obfuscated

    Заг­рузим с сай­та ар­хив с задани­ем. Пер­вым делом пос­чита­ем хеш MD5 содер­жащего­ся в архи­ве фай­ла (в резуль­тате получит­ся зна­чение 49b367ac261a722a7c2bbbc328c32545 ) и про­верим его на VirusTotal.

    Те­перь получим информа­цию о струк­туре вре­донос­ного докумен­та. Для это­го вос­поль­зуем­ся ути­литой oleid.

    oleid 49b367ac261a722a7c2bbbc328c32545

    Тул­за опре­дели­ла, что это документ Microsoft Office Word и в нем есть VBA-мак­рос. Его нам пред­сто­ит вытащить наружу. Для начала вос­поль­зуем­ся ути­литой oledump и пос­мотрим, в каком потоке OLE содер­жится VBA-мак­рос.

    oledump 49b367ac261a722a7c2bbbc328c32545

    Мак­рос спря­тал­ся в вось­мом потоке дан­ных. Выг­рузим его при помощи инс­тру­мен­та olevba с клю­чом -a .

    olevba -a 49b367ac261a722a7c2bbbc328c32545

    В потоке Macros/ VBA/ Module1 сос­редото­чена основная фун­кци­ональ­ность вре­донос­ного скрип­та. Из вывода ути­литы вид­но, какие фун­кции он исполь­зует. Давай извле­чем этот скрипт и нач­нем иссле­довать код.

    olevba -c 49b367ac261a722a7c2bbbc328c32545

    Функция AutoOpen( ) инициирует выполнение скрипта при открытии документа. Чтобы усложнить задачу, злоумышленники использовали обфускацию кода VBA-макроса: переменные представлены в формате Base64. Мы вручную декодируем обфусцированный код и проанализируем его функциональные возможности.

    info

    Для деоб­фуска­ции VBA-мак­роса мож­но вос­поль­зовать­ся ути­литой ViperMonkey, которая эму­лиру­ет выпол­нение сце­нария, но сегод­ня про­ведем руч­ной ана­лиз.

    Нач­нем с фун­кции AutoOpen( ) .

    На кар­тинке ты видишь выделен­ный фраг­мент кода, содер­жащий нес­коль­ко очень инте­рес­ных фун­кций. Фун­кция FileLen( ActiveDocument. FullName) получа­ет раз­мер докумен­та Word и записы­вает его в перемен­ную N18Eoi6OG6T2rNoVl41W . Фун­кция Open( ActiveDocument. FullName) откры­вает документ в бинар­ном фор­мате, затем записы­вает его содер­жимое в перемен­ную E2kvpmR17SI и пре­обра­зует счи­тан­ные стро­ки в кодиров­ку Unicode.

    Во вто­ром выделен­ном бло­ке с исполь­зовани­ем объ­екта vbscript. regexp выпол­няет­ся поиск такой стро­ки в откры­том фай­ле:

    MxOH8pcrlepD3SRfF5ffVTy86Xe41L2qLnqTd5d5R7Iq87mWGES55fswgG84hIRdX74 dlb1SiFOkR1Hh

    В перемен­ной Y5t4Ul7o385qK4YDhr хра­нит­ся ука­затель на пер­вый сим­вол най­ден­ной стро­ки в исходном докумен­те.

    Об­фусци­рован­ный вре­донос­ный код рас­положен пос­ле обна­ружен­ной нами стро­ки, его раз­мер сос­тавля­ет 16 827 байт.

    Из фай­ла счи­тыва­ется информа­ция начиная с бай­та 0x503c , далее декоди­рует­ся по алго­рит­му, который мы раз­берем ниже, и сох­раня­ется в файл %appdata% Microsoft Windows maintools. js . Затем с помощью WScript. Shell выпол­няет­ся JS-скрипт maintools. js с парамет­ром EzZETcSXyKAdF_e5I2i1 .

    Да­вай раз­берем алго­ритм декоди­рова­ния и напишем неболь­шую прог­рамму на Python для получе­ния исходно­го JS-скрип­та.

    Чтобы упростить чтение кода, я изменил названия переменных. Алгоритм декодирования очень прост: для каждого байта выполняется операция XOR (исключающее «или») с ключом, который хранится в переменной KEY. После каждого преобразования байта также обновляется сам ключ.

    Продолжение доступно только участникам

    Вариант 1. Присоединись к сообществу «Xakep.ru», чтобы читать все материалы на сайте

    Членство в сообществе в течение указанного срока откроет тебе доступ ко ВСЕМ материалам «Хакера», позволит скачивать выпуски в PDF, отключит рекламу на сайте и увеличит личную накопительную скидку! Подробнее

    Вариант 2. Открой один материал

    Заинтересовала статья, но нет возможности стать членом клуба «Xakep.ru»? Тогда этот вариант для тебя! Обрати внимание: этот способ подходит только для статей, опубликованных более двух месяцев назад.

    Оцените статью
    InternetDoc.ru
    Добавить комментарий