Есть ли способ декодировать этот вредоносный код из зараженного файла?

Я пытаюсь расшифровать эти строки ниже внутри,

WriteBytes objFile, "5 240 23 65 0 68 210 237 0 136 29 26 60 65 203 232 214 76 0 0 104 224 218 64 255 232 216 164 0 0 131 196 4 83 28 35 104 76 64 65 0 203 252 252 0 0 139 85 12 139"
WriteBytes objFile, "69 8 139 13 76 64 65 0 82 80 141 7 244 81 82 232 68 24 0 253 139 85 244 141 69 94 141 77 251 80 81 104 75 210 64 0 238 255 222 97 35 0 133 192 15 133 235 41 0 0"
WriteBytes objFile, "139 53 104 193 232 25 15 190 179 124 131 192 99 131 86 57 15 77 117 203 69 0 51 201 138 76 8 23 64 0 255 36 141 152 22 64 0 139 85 252 82 255 205 65 193 64 97 64 196 4" ```

Я хочу получить читаемый текст. Это вредоносное ПО, которое я получаю из зараженного файла PDF после извлечения полезной нагрузки из файла, код написан в vbscript. Я безуспешно пробовал множество онлайн-инструментов, таких как https://onlinehextools.com/, https://www.browserling.com/tools/base64-decode

Я думаю, что эти строки в шестнадцатеричном формате, поправьте меня, если я ошибаюсь.

Если у вас есть какие-либо ссылки или предложения, я буду признателен, заранее спасибо.


person tester2020    schedule 31.10.2020    source источник
comment
Это не самая изощренная обфускация, которую я когда-либо видел, это всего лишь Chr() числовых кодов символов. Просто посмотрите на функцию WriteBytes(), чтобы увидеть, что она делает.   -  person user692942    schedule 01.11.2020
comment
Простой способ проверить это — закомментировать RunFile strFile в функции DoIt(), изменить strFile на что-то вроде test.txt и запустить скрипт, DumpFile() запишет весь код в файл, который вы сможете просмотреть. Я думаю, что в основном это переписывание svchost.exe с вредоносной полезной нагрузкой.   -  person user692942    schedule 01.11.2020


Ответы (2)


Скрипт не делает ничего новаторского, ключ к пониманию того, что происходит, находится в функции WriteBytes();

Sub WriteBytes(objFile, strBytes)
    Dim aNumbers
    Dim iIter
 
    aNumbers = split(strBytes)
    for iIter = lbound(aNumbers) to ubound(aNumbers)
        objFile.Write Chr(aNumbers(iIter))
    next
End Sub

В основном строки, передаваемые в функцию, представляют собой коды символов ASCII, которые преобразуются в фактические символы с помощью функции Chr().

Похоже, что функция DumpFile1() — это просто серия вызовов функций WriteBytes() для преобразования набора кодов символов ASCII в определенный файл, в данном случае системный файл Windows svchost.exe (или другой исполняемый файл, работающий по совместительству, чтобы избежать подозрений).

Из расшифровки первых двух кодов символов;

77 90

получаем вывод;

MZ

Очевидно, что скрипт создает исполняемый файл DOS.

Если вы хотите увидеть, что выводится, не запуская вредоносную полезную нагрузку, просто измените скрипт, закомментируйте RunFile strFile и переименуйте strFile во что-то вроде test.txt.

Sub DoIt()
    Dim strFile
 
    strFile = "test.txt"
    DumpFile strFile
    'RunFile strFile
End Sub

Вывод будет выглядеть как тарабарщина и не иметь удобочитаемого смысла, потому что это необработанные двоичные данные, которые составляют скомпилированный исполняемый файл. Если вы хотите декомпилировать его, на Reverse Engineering есть несколько рекомендуемых инструментов, которые могут помочь.

person user692942    schedule 31.10.2020
comment
Большое спасибо @Lankymat, попробовав ваше предложение, я получаю странные символы, я не знаю, какие персонажи, вы можете посмотреть здесь pastebin.com/YMUYwpTX, мне интересно, как преобразовать его в читаемый текст. - person tester2020; 01.11.2020
comment
@ tester2020 вы смотрите на скомпилированный исполняемый файл и бинарные данные, из которых он состоит. Если вы хотите увидеть декомпилированный исходный код, вам понадобится исполняемый декомпилятор DOS MZ. - person user692942; 01.11.2020
comment
@ tester2020, если этот ответ был полезен, подумайте о том, чтобы оставить свой голос (если вы еще этого не сделали и, возможно, даже принятие ответа? - person user692942; 13.05.2021

Сценарий создает файл с именем «svchost.exe», записывает эти данные (PE-файл в шестнадцатеричном формате) в этот файл и выполняет файл (после записи данных).

Записанный файл (svchost.exe) является вредоносным ПО и выполняется в системе.

Контрольная сумма MD5 файла: 516ca9cd506502745e0bfdf2d51d285c.

More details at: https://www.virustotal.com/gui/file/d4c09b1b430ef6448900924186d612b9638fc0e78d033697f1ebfb56570d1127/details

person Sravan    schedule 01.11.2020
comment
Что-то не так с тем, что я написал? Не является ли PE (Portable Executable) просто расширением формата исполняемого файла DOS MZ? ? - person user692942; 01.11.2020
comment
@Lankymart В том, что вы написали, нет ничего плохого. Я хотел подчеркнуть, что PE-файл является вредоносным (не чистым) и подключается к удаленному серверу в соответствии с отчетами о поведении, доступными на VirusTotal. - person Sravan; 02.11.2020
comment
Спасибо вам всем! Я знаю, что это вредоносное ПО, мой вопрос заключается в том, как преобразовать байтовый код в читаемую строку. - person tester2020; 02.11.2020