SocksFusion - это утилита для создания зашифрованного соединения ("туннеля"), который позволяет передавать TCP-сообщения через сетевой экран. SocksFusion состоит из двух компонентов: Agent - распространяемое приложение, и Proxy - сервис, устанавливаемый на стороне проекта BlackBox Scanner.
Приблизительная схема сетевых соединений:
+-----------+
| BBS Cloud |
+-----------+
^
NAT |
+--------+ +-------+ | | +-------+ +--------+
| Target | <------ | Agent | ----|-|---> | Proxy | <------ | Client |
+--------+ +-------+ | | +-------+ +--------+
Agent - это клиентское приложение, передающее запросы сканера от своего имени. После запуска устанавливает соединение с Proxy, осуществляет "рукопожатие" (handshake) и передаёт свой Token. В случае успешной авторизации можно начинать сканирование через данного агента. Агент слушает прокси и реагирует на запросы в соответствии с протоколом Socks5.
Использование: Agent [string] [-a|--api URL] [--tutorial] [-s|--skip] [-i|--insecure]
[-d|--debug] [-o|--once] [--token-path filepath]
[-p|--proxy host:port] [--token string] [-v|--version]
Доступные опции:
string Использовать код активации для подключения к API серверу
-a,--api url Использовать выбранный адрес API сервера
--tutorial Запустить обучающий режим
--skip Пропустить интерактивный режим
-i,--insecure Не прекращать работу в случае ошибок проверки SSL сертификата
-d,--debug Показывать отладочую информацию о проходящих пакетах
-o,--once Выйти по окончании сканирования или в случае возникновения ошибки
--token-path path Использовать выбранный путь для чтения/записи токена
-p,--proxy host:port Использовать выбранный прокси сервер
--token string Использовать выбранный токен
-v,--version Показать версию агента и дату сборки
-h,--help Показать данную справочную информацию
Proxy - это сервер, соединяющий агентов и клиентов (экземпляров сканера). Для клиентских приложений Proxy предоставляет интерфейс Socks5.
Token - это случайная строка, служащая для авторизации конкретного агента. В случае, если агент не смог прочитать токен из командной строки или из файла, необходимо получить новый от API сервера при помощи кода активации. По умолчанию токен располагается по пути %APP_DATA%/bbs/RemoteAgent.token для Windows систем и $HOME/.bbs/RemoteAgent.token для Linux систем.