Changed variable names for clearer structure.

This commit is contained in:
Jakob Friedl
2025-07-22 21:31:18 +02:00
parent 725696ffa5
commit 36719dd7f0
11 changed files with 38 additions and 61 deletions

View File

@@ -143,7 +143,7 @@ proc agentBuild*(cq: Conquest, listener, sleep, payload: string) =
# The following shows the format of the agent configuration file that defines compile-time variables
let config = fmt"""
# Agent configuration
-d:ListenerUuid="{listener.name}"
-d:ListenerUuid="{listener.listenerId}"
-d:Octet1="{first}"
-d:Octet2="{second}"
-d:Octet3="{third}"

View File

@@ -11,11 +11,11 @@ proc delListener(cq: Conquest, listenerName: string) =
cq.listeners.del(listenerName)
proc add(cq: Conquest, listener: Listener) =
cq.listeners[listener.name] = listener
cq.listeners[listener.listenerId] = listener
proc newListener*(name: string, address: string, port: int): Listener =
proc newListener*(listenerId: string, address: string, port: int): Listener =
var listener = new Listener
listener.name = name
listener.listenerId = listenerId
listener.address = address
listener.port = port
listener.protocol = HTTP
@@ -91,7 +91,7 @@ proc restartListeners*(cq: Conquest) =
for l in listeners:
let
settings = newSettings(
appName = l.name,
appName = l.listenerId,
debug = false,
address = "",
port = Port(l.port)
@@ -107,7 +107,7 @@ proc restartListeners*(cq: Conquest) =
try:
discard listener.runAsync()
cq.add(l)
cq.writeLine(fgGreen, "[+] ", resetStyle, "Restarted listener", fgGreen, fmt" {l.name} ", resetStyle, fmt"on port {$l.port}.")
cq.writeLine(fgGreen, "[+] ", resetStyle, "Restarted listener", fgGreen, fmt" {l.listenerId} ", resetStyle, fmt"on port {$l.port}.")
except CatchableError as err:
cq.writeLine(fgRed, styleBright, "[-] Failed to restart listener: ", err.msg)

View File

@@ -21,7 +21,7 @@ proc dbStoreListener*(cq: Conquest, listener: Listener): bool =
conquestDb.exec("""
INSERT INTO listeners (name, address, port, protocol)
VALUES (?, ?, ?, ?);
""", listener.name, listener.address, listener.port, $listener.protocol)
""", listener.listenerId, listener.address, listener.port, $listener.protocol)
conquestDb.close()
except:
@@ -38,10 +38,10 @@ proc dbGetAllListeners*(cq: Conquest): seq[Listener] =
let conquestDb = openDatabase(cq.dbPath, mode=dbReadWrite)
for row in conquestDb.iterate("SELECT name, address, port, protocol FROM listeners;"):
let (name, address, port, protocol) = row.unpack((string, string, int, string))
let (listenerId, address, port, protocol) = row.unpack((string, string, int, string))
let l = Listener(
name: name,
listenerId: listenerId,
address: address,
port: port,
protocol: stringToProtocol(protocol),

View File

@@ -24,16 +24,7 @@ proc serializeTask*(task: Task): seq[byte] =
# TODO: Encrypt payload body
# Serialize header
packer
.add(task.header.magic)
.add(task.header.version)
.add(task.header.packetType)
.add(task.header.flags)
.add(task.header.seqNr)
.add(cast[uint32](payload.len))
.addData(task.header.hmac)
let header = packer.pack()
let header = packer.packHeader(task.header, uint32(payload.len))
# TODO: Calculate and patch HMAC

View File

@@ -97,7 +97,7 @@ proc writeRow(cq: Conquest, row: seq[Cell]) =
proc drawTable*(cq: Conquest, listeners: seq[Listener]) =
# Column headers and widths
let headers = @["Name", "Address", "Port", "Protocol", "Agents"]
let headers = @["UUID", "Address", "Port", "Protocol", "Agents"]
let widths = @[8, 15, 5, 8, 6]
let headerCells = headers.mapIt(Cell(text: it, fg: fgWhite, bg: bgDefault))
@@ -110,10 +110,10 @@ proc drawTable*(cq: Conquest, listeners: seq[Listener]) =
for l in listeners:
# Get number of agents connected to the listener
let connectedAgents = cq.agents.values.countIt(it.listenerId == l.name)
let connectedAgents = cq.agents.values.countIt(it.listenerId == l.listenerId)
let rowCells = @[
Cell(text: l.name, fg: fgGreen),
Cell(text: l.listenerId, fg: fgGreen),
Cell(text: l.address),
Cell(text: $l.port),
Cell(text: $l.protocol),
@@ -160,7 +160,7 @@ proc timeSince*(agent: Agent, timestamp: DateTime): Cell =
proc drawTable*(cq: Conquest, agents: seq[Agent]) =
let headers: seq[string] = @["Name", "Address", "Username", "Hostname", "Operating System", "Process", "PID", "Activity"]
let headers: seq[string] = @["UUID", "Address", "Username", "Hostname", "Operating System", "Process", "PID", "Activity"]
let widths = @[8, 15, 15, 15, 16, 13, 5, 8]
let headerCells = headers.mapIt(Cell(text: it, fg: fgWhite, bg: bgDefault))