Changed variable names for clearer structure.
This commit is contained in:
@@ -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}"
|
||||
|
||||
@@ -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)
|
||||
|
||||
|
||||
@@ -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),
|
||||
|
||||
@@ -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
|
||||
|
||||
|
||||
@@ -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))
|
||||
|
||||
|
||||
Reference in New Issue
Block a user