Soft Evil-WinRM

Zer0must2b

Zer0must2b

Green Team
23.06.2019
242
78
evil-winrm_logo.png


GitHub:

Описание

WinRM (Windows Remote Management ) - это реализация протокола WS-Management от Microsoft. Стандартный протокол на основе SOAP, позволяющий взаимодействовать аппаратным и операционным системам разных производителей. Microsoft включила его в свои операционные системы, чтобы облегчить жизнь системным администраторам.

Эту программу можно использовать на любых серверах Microsoft Windows с включенной этой функцией (обычно на порту 5985), конечно, только если у вас есть учетные данные и разрешения на ее использование. Таким образом, мы можем сказать, что он может быть использован на этапе взлома/тестирования. Цель этой программы - предоставить приятные и простые в использовании функции для взлома. Его также можнот использовать в законных целях системными администраторами, но большинство его функций сосредоточено на взломе / тестировании.

Возможности
  • История команд
  • Завершение команды WinRM
  • Завершение локальных файлов
  • Загружать и скачивать файлы
  • Список удаленных сервисов машины
  • Загрузить скрипты Powershell
  • Загружать в память dll файлы в обход некоторых AV
  • Загрузка в память C # (C Sharp) скомпилированных исполняемых файлов в обход некоторых AV
  • Загрузка x64 полезных нагрузок, сгенерированных с использованием потрясающей техники
  • Раскраска выходных сообщений (может быть отключена по желанию)
  • Поддержка SSL и сертификатов
Help
Код:
Usage: evil-winrm -i IP -u USER [-s SCRIPTS_PATH] [-e EXES_PATH] [-P PORT] [-p PASS] [-U URL] [-S] [-c PUBLIC_KEY_PATH ] [-k PRIVATE_KEY_PATH ]
    -S, --ssl                        Enable SSL
    -c, --pub-key PUBLIC_KEY_PATH    Local path to public key certificate
    -k, --priv-key PRIVATE_KEY_PATH  Local path to private key certificate
    -s, --scripts PS_SCRIPTS_PATH    Powershell scripts local path
    -e, --executables EXES_PATH      C# executables local path
    -i, --ip IP                      Remote host IP or hostname (required)
    -U, --url URL                    Remote url endpoint (default /wsman)
    -u, --user USER                  Username (required)
    -p, --password PASS              Password
    -P, --port PORT                  Remote host port (default 5985)
    -V, --version                    Show version
    -h, --help                       Display this help message
Требования
Требуется Ruby 2.3 или выше. Некоторые ruby gems необходимы , такие как: winrm >=2.3.2, winrm-fs >=1.3.2, stringio >=0.0.2и colorize >=0.8.1.
Код:
~$ sudo gem install winrm winrm-fs colorize stringio
Установка и быстрый запуск
  • Шаг 1. Клонировать репо: git clone https://github.com/Hackplayers/evil-winrm.git
  • Шаг 2. Готов. Просто запустите его!~$ cd evil-winrm && ruby evil-winrm.rb -i 192.168.1.100 -u Administrator -p 'MySuperSecr3tPass123!' -s '/home/foo/ps1_scripts/' -e '/home/foo/exe_files/'
Если вы не хотите -p вводить пароль в виде открытого текста, вы можете при желании избежать установки аргумента, после чего появится запрос на ввод пароля, который не будет отображаться.

Чтобы использовать IPv6, адрес должен быть добавлен в /etc/hosts.

Альтернативный метод установки в качестве ruby gem
  • Шаг 1. Установите его: gem install evil-winrm
  • Шаг 2. Готов. Просто запустите его!~$ evil-winrm -i 192.168.1.100 -u Administrator -p 'MySuperSecr3tPass123!' -s '/home/foo/ps1_scripts/' -e '/home/foo/exe_files/'
Документация
Основные команды
  • Загрузка: локальные файлы могут быть автоматически заполнены с помощью клавиши табуляции. Рекомендуется использовать абсолютный путь до пункта назначения, чтобы избежать ошибок. В противном случае вы можете получить неконтролируемые ошибки из-за ограничений Winrm-fs.
    • использование: upload local_path remote_absolute_path
  • загрузка: рекомендуется использовать абсолютные пути, чтобы избежать ошибок. В противном случае вы можете получить неконтролируемые ошибки из-за ограничений Winrm-fs.
    • использование: download remote_absolute_path local_path
Примечание о путях (выгрузка/загрузка) : если загружаемый файл находится в исходном удаленном каталоге, можно использовать абсолютный путь по первому параметру, чтобы использовать простое имя файла. Относительные пути не рекомендуется использовать и могут вызвать ошибки при загрузке/выгрузке. Второй аргумент (назначение для загрузки/выгрузки) может быть пустым, и в этом случае он будет загружен/выгружен в текущий локальный каталог или исходный (целевой каталог после подключения) удаленного каталога.
  • services: список всех услуг. Никаких прав администратора не требуется.
  • menu: загрузить Invoke-Binaryи l04d3r-LoadDll функции, которые мы объясним ниже. Когда ps1 загружен, все его функции будут отображены.
image2.png


Загрузка скрипта powershell
  • Чтобы загрузить файл ps1, вам просто нужно ввести имя (разрешена вкладка автоматического заполнения).Скрипты должны быть в пути, указанном в -s аргументе. Введите menu снова и посмотрите загруженные функции.
image7.png


Расширенные команды
  • Invoke-Binary: позволяет исполняемым файлам, скомпилированным из c#, выполняться в памяти. Имя может быть заполнено автоматически с помощью клавиши табуляции и позволяет использовать до 3 параметров. Исполняемые файлы должны быть в пути, указанном в -e аргументе.
image3.png

  • l04d3r-LoadDll: позволяет загружать библиотеки dll в память, это эквивалентно: [Reflection.Assembly]::Load([IO.File]::ReadAllBytes("pwn.dll"))
    Файл DLL может быть размещен на smb, http или локально. Как только он загружен введите menu, появляетса возможность автозаполнения всех функций.
image4.png


image5.png

  • Donut-Loader: позволяет инжектить полезные нагрузки x64, созданные с помощью техники . Не нужно кодировать payload.bin, просто сгенерировать и заинжектить!
image8.png


Вы можете использовать этот чтобы создать payload.bin, если вы не используете Windows. В этом сценарии используется модуль Python, написанный Марчелло Сальвати ( byt3bl33d3r ). Может быть установлен с помощью pip:
Код:
pip3 install donut-shellcode
image10.png


Дополнительные возможности
  • Чтобы отключить цвета, просто измените код этой переменной $colors_enabled. Установите значение false:$colors_enabled = false
 
Xulinam

Xulinam

Grey Team
02.03.2017
831
196
А вы переводом статей занимаетесь?
 
Zer0must2b

Zer0must2b

Green Team
23.06.2019
242
78
В общем пытаюсь
 
Мы в соцсетях: