Docs
Консоль

Запуск агентского сканирования через скрипт на целевом хосте


Альтернатива удалённому запуску агента со стороны сканера (по SSH или WinRM) - самостоятельный запуск скрипта на целевом хосте. Скрипт скачивает агента и CA-сертификат ExploitDog через прокси сетевого сканера, выполняет однократное сканирование и убирает за собой временные файлы.

Важно

Сетевой сканер должен быть развёрнут в защищённом сетевом сегменте: прокси сканера отдаёт бинарный файл агента и CA-сертификат по HTTP без шифрования.

Требования

Сетевой сканер:

  • версия 1.6.0 или выше

Linux:

  • Linux x86_64
  • bash, mktemp
  • curl или wget (скрипт сам выберет, что доступно)

Windows:

  • Windows x86_64
  • PowerShell 5.1 или выше (входит в состав Windows 10 / Server 2016 и новее)
  • ExecutionPolicy, позволяющая запуск локальных скриптов (RemoteSigned, Unrestricted или запуск с -ExecutionPolicy Bypass)

Сетевой доступ с целевого хоста до:

  • прокси сканера на порту из PROXY_URL / -ProxyUrl

Параметры

В bash-версии передаются через переменные окружения, в PowerShell-версии - как именованные аргументы. Значения по смыслу одинаковые.

Bash (env var)PowerShell (параметр)ОбязательныйДефолтОткуда взять
SECURE_PATHSecurePathдазначение exploitdog_net_scanner_secure_path из конфигурации Ansible сканера
AGENT_TOKENAgentTokenдатокен агента, выпущенный в интерфейсе ExploitDog
PROXY_URLProxyUrlдаURL прокси сканера (например, http://10.0.0.5:8080)
SERVER_URLServerUrlнетhttps://exploitdog.comURL сервера ExploitDog, куда агент репортит результаты

Что делает скрипт

  1. Проверяет архитектуру хоста. Поддерживается только x86_64 / AMD64; на других платформах падает с понятным сообщением.
  2. Создаёт временную директорию с уникальным именем (/tmp/exploitdog.XXXXXX на Linux, %TEMP%\exploitdog.XXX на Windows). Очистка регистрируется через trap EXIT (bash) или блок finally (PowerShell) — директория удаляется при любом завершении: успех, ошибка, SIGINT/Ctrl+C.
  3. Скачивает бинарный файл агента с ${PROXY_URL}/${SECURE_PATH}/embed/<os>/amd64
  4. Скачивает CA-сертификат ExploitDog с ${PROXY_URL}/${SECURE_PATH}/ca.pem. Нужен агенту для валидации TLS-соединения с сервером ExploitDog.
  5. Запускает агента в режиме однократного сканирования (--runOnce), передавая ему:
    • токен авторизации;
    • путь к CA-сертификату;
    • URL сервера ExploitDog (куда отправлять результаты);
    • URL прокси сканера;
    • путь к БД;
    • debug-уровень логирования.
  6. Удаляет временную директорию после завершения работы агента; PowerShell-версия дополнительно сбрасывает заданные env vars текущего процесса.

Логи сканирования идут в stdout/stderr скрипта.

Linux (bash)

Пример запуска

bash

Скрипт

bash

Windows (PowerShell)

Пример запуска

powershell

Если ExecutionPolicy запрещает запуск, можно обойти её для одного вызова:

powershell

Скрипт

powershell

Назад

HAProxy в качестве HTTP CONNECT прокси