Мы уже рассказывали, про анализ подозрительных PDF-документов. Сегодня продолжу эту тему и расскажу о своем опыте извлечения вредоносного бинарного файла, найденного внутри PDF-документа.
Еще по теме: Как восстановить удаленные метаданные PDF
Извлечение вредоносного файла из PDF
Пример, над которым я работал, можно скачать с MalwareBazaar.
Для начала я использовал Peepdf, чтобы получить общее представление о файле PDF. Однако появилась ошибка, которая указала на некорректный заголовок файла.
1 2 |
remnux@remnux:~/Desktop$ peepdf -i mal.pdf Error: Bad PDF header!! (%PDF-------------------------------------------------------------------------------------------------------------------1.1) |
Ошибка показала, что перед номером версии PDF слишком много символов «дефис» (-). После удаления лишних символов Peepdf успешно распознал PDF.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 |
remnux@remnux:~/Desktop$ peepdf -i mal.pdf Warning: PyV8 is not installed!! File: mal.pdf MD5: 90bab3d5738ec6a6bcb2e391647256da SHA1: a958a439416ae65b86402d9e47ba59dd3d3ff148 SHA256: bb0ccba404c39b400aaa46fa9b917e0602a17875d6d3e3fd7bf2d6d2a87d8a53 Size: 728523 bytes Version: 1.1 Binary: True Linearized: False Encrypted: False Updates: 0 Objects: 9 Streams: 2 URIs: 0 Comments: 0 Errors: 0 Version 0: Catalog: 1 Info: No Objects (9): [1, 2, 3, 4, 5, 6, 7, 8, 9] Streams (2): [5, 8] Encoded (1): [8] Objects with JS code (1): [9] Suspicious elements: /OpenAction (1): [1] /Names (1): [1] /JS (1): [9] /JavaScript (1): [9] /EmbeddedFiles: [1] /EmbeddedFile: [8] |
Этот результат уже показал нам интересные вещи: в PDF есть JavaScript и встроенный файл. Начнем с объекта /OpenAction (объект 1).
В интерактивной оболочке Peepdf можно использовать команду object 1, чтобы посмотреть содержимое этого объекта.
1 2 3 4 5 6 7 |
PPDF> object 1 << /Type /Catalog /Pages 3 0 R /OpenAction 9 0 R /Names << /EmbeddedFiles << /Names [ RFQ_4155965-Order_EU2406.uue 7 0 R ] >> >> /Outlines 2 0 R >> |
Мы видим файл RFQ_4155965-Order_EU2406 с расширением .uue. Это указывает на то, что файл закодирован в формате Uuencode. Далее я расскажу, как извлечь этот файл.
Теперь перейдем к объекту 8, который содержит встроенный файл.
1 2 3 4 5 6 7 8 9 10 |
PPDF> object 8 << /Length 726687 /Filter /FlateDecode /Type /EmbeddedFile >> stream PR=�X�l~ �RFQ_4155965-Order_EU2406.exe�}|TŹ~6� l8 $!`�EiA�,Hb@��D$ac�٠b��K1�%($�.�p\���X_��^��mi��҄p��� ��Xg=�IÂ1��}�l���>��ѝ3g^��y��mf�wl̂ X��uAh��\����n�QW�1Jxm���l6-�ӕ���[����G����`��w>�Џ����ɨ >�q�C �2�ъ{�ON�����'o��:�Kɟ������rZ��̽��N�Lo�l�ϥ���K��G����w�5���/ך0��W��_˟����?�x�*������������Dᭅ�U |
Здесь подтверждается, что /OpenAction используется для запуска встроенного бинарного файла.
Для извлечения файла я использовал инструмент PDF Stream Dumper.
Загрузил PDF, выбрав Load —> Pdf File в панели инструментов.
Затем нашел объект 8, который был идентифицирован ранее.
Правой кнопкой мыши выбрал Save Decompressed Stream.
Файл был сохранен с расширением .ZIP, так как файлы Uuencode можно извлечь из архива ZIP. После распаковки архива появился извлеченный бинарный файл.
После успешного извлечения файла я использовал Detect It Easy для анализа.
Детали бинарного файла:
Имя файла:
1 |
RFQ_4155965-Order_EU2406.exe |
Хeш SHA256:
1 |
4d388655eb9d0e796c42c1801ae4b8932fc3e6cc6c77d65c2f8c0ea27bd605f6 |
Результат VirusTotal однозначно показали, что это вредоносный файл.
ПОЛЕЗНЫЕ ССЫЛКИ: