Skip to content

Scanning Engine v2 - Module - SOCKS

Overview

The SOCKS module scans targets for SOCKS proxy services and tests both SOCKS4 and SOCKS5 protocols. It can detect open SOCKS proxies, identify exit IP addresses, and determine if the exit IP is a TOR exit node.

Targeting

The module accepts targets in the standard Minion targeting format. Each target should specify an IP address and port number. The module will attempt to connect to the specified target and test both SOCKS4 and SOCKS5 protocols.

Schemas

The schema for the body object of all results generated with .task.module_name equal to socks can be found here. The schema for results is available both in standalone and bundled form.

Examples

These are examples of the .body object for results with .task.module_name equal to socks.

Open SOCKS Proxy

This example shows a target with both SOCKS4 and SOCKS5 protocols open and functional.

{
  "socks4": {
    "state": "open",
    "exit_ip": "[REDACTED]"
  },
  "socks5": {
    "state": "open",
    "exit_ip": "[REDACTED]"
  }
}

SOCKS4 Only

This example shows a target with only SOCKS4 protocol open.

{
  "socks4": {
    "state": "closed"
  },
  "socks5": {
    "state": "open",
    "exit_ip": "[REDACTED]"
  }
}

SOCKS5 Only

This example shows a target with only SOCKS5 protocol open.

{
  "socks4": {
    "state": "closed"
  },
  "socks5": {
    "state": "closed"
  }
}

Changelog

v2.0.0 (2025-08-18)

  • Refactored scanner implementation for better performance and maintainability
  • Simplified TOR node handling with external configuration
  • Improved error handling and timeout management
  • Streamlined connection logic with dedicated timeout wrapper
  • Convert python to Go module

v1.0.0 (2025-07-08)

  • Initial release of versioning for each module. All modules are being tagged with version number 1.0.0. Going forward:
  • Major version should be changed when there are changes that impact consumers or clients of the modules.
  • Minor version should be changed when there are additions which enrich or enhance the module but shouldn't affect consumers or clients.
  • Patch version should be changed when there are bugfixes.