Re-mapping database fields in API
parent
d41d961cb4
commit
58e8a2cfa9
28
empire
28
empire
|
@ -10,7 +10,7 @@ from Crypto.Random import random
|
||||||
# Empire imports
|
# Empire imports
|
||||||
from lib.common import empire
|
from lib.common import empire
|
||||||
from lib.common import helpers
|
from lib.common import helpers
|
||||||
from lib.common import listeners
|
from lib.common import listeners #might not need this...
|
||||||
|
|
||||||
global serverExitCommand
|
global serverExitCommand
|
||||||
serverExitCommand = 'restart'
|
serverExitCommand = 'restart'
|
||||||
|
@ -646,11 +646,9 @@ def start_restful_api(startEmpire=False, suppress=False, username=None, password
|
||||||
"""
|
"""
|
||||||
activeListenersRaw = execute_db_query(conn, 'SELECT id, name, module, listener_type, listener_category, options FROM listeners')
|
activeListenersRaw = execute_db_query(conn, 'SELECT id, name, module, listener_type, listener_category, options FROM listeners')
|
||||||
listeners = []
|
listeners = []
|
||||||
# Get options out of activeListeners
|
|
||||||
|
|
||||||
for activeListener in activeListenersRaw:
|
for activeListener in activeListenersRaw:
|
||||||
[ID, name, module, listener_type, listener_category, options] = activeListener
|
[ID, name, module, listener_type, listener_category, options] = activeListener
|
||||||
#listeners.append({'ID':ID, 'name':name, 'module':module, 'listener_type':listener_type, 'listener_category':listener_category, 'options':options })
|
|
||||||
listeners.append({'ID':ID, 'name':name, 'module':module, 'listener_type':listener_type, 'listener_category':listener_category, 'options':pickle.loads(activeListener[5]) })
|
listeners.append({'ID':ID, 'name':name, 'module':module, 'listener_type':listener_type, 'listener_category':listener_category, 'options':pickle.loads(activeListener[5]) })
|
||||||
|
|
||||||
return jsonify({'listeners' : listeners})
|
return jsonify({'listeners' : listeners})
|
||||||
|
@ -735,12 +733,15 @@ def start_restful_api(startEmpire=False, suppress=False, username=None, password
|
||||||
"""
|
"""
|
||||||
Returns JSON describing all currently registered agents.
|
Returns JSON describing all currently registered agents.
|
||||||
"""
|
"""
|
||||||
activeAgentsRaw = execute_db_query(conn, 'SELECT * FROM agents')
|
activeAgentsRaw = execute_db_query(conn, 'SELECT id, session_id, listener, name, language, language_version, delay, jitter, external_ip, '+
|
||||||
|
'internal_ip, username, high_integrity, process_name, process_id, hostname, os_details, session_key, nonce, checkin_time, '+
|
||||||
|
'lastseen_time, parent, children, servers, profile, functions, kill_date, working_hours, lost_limit, taskings, results FROM agents')
|
||||||
agents = []
|
agents = []
|
||||||
|
|
||||||
for activeAgent in activeAgentsRaw:
|
for activeAgent in activeAgentsRaw:
|
||||||
[ID, sessionID, listener, name, delay, jitter, external_ip, internal_ip, username, high_integrity, process_name, process_id, hostname, os_details, session_key, checkin_time, lastseen_time, parent, children, servers, uris, old_uris, user_agent, headers, functions, kill_date, working_hours, ps_version, lost_limit, taskings, results] = activeAgent
|
[ID, session_id, listener, name, language, language_version, delay, jitter, external_ip, internal_ip, username, high_integrity, process_name, process_id, hostname, os_details, session_key, nonce, checkin_time, lastseen_time, parent, children, servers, profile, functions, kill_date, working_hours, lost_limit, taskings, results] = activeAgent
|
||||||
agents.append({"ID":ID, "sessionID":sessionID, "listener":listener, "name":name, "delay":delay, "jitter":jitter, "external_ip":external_ip, "internal_ip":internal_ip, "username":username, "high_integrity":high_integrity, "process_name":process_name, "process_id":process_id, "hostname":hostname, "os_details":os_details, "session_key":session_key, "checkin_time":checkin_time, "lastseen_time":lastseen_time, "parent":parent, "children":children, "servers":servers, "uris":uris, "old_uris":old_uris, "user_agent":user_agent, "headers":headers, "functions":functions, "kill_date":kill_date, "working_hours":working_hours, "ps_version":ps_version, "lost_limit":lost_limit, "taskings":taskings, "results":results})
|
|
||||||
|
agents.append({"ID":ID, "session_id":session_id, "listener":listener, "name":name, "language":language, "language_version":language_version, "delay":delay, "jitter":jitter, "external_ip":external_ip, "internal_ip":internal_ip, "username":username, "high_integrity":high_integrity, "process_name":process_name, "process_id":process_id, "hostname":hostname, "os_details":os_details, "session_key":session_key, "nonce":nonce, "checkin_time":checkin_time, "lastseen_time":lastseen_time, "parent":parent, "children":children, "servers":servers, "profile":profile,"functions":functions, "kill_date":kill_date, "working_hours":working_hours, "lost_limit":lost_limit, "taskings":taskings, "results":results})
|
||||||
|
|
||||||
return jsonify({'agents' : agents})
|
return jsonify({'agents' : agents})
|
||||||
|
|
||||||
|
@ -751,11 +752,13 @@ def start_restful_api(startEmpire=False, suppress=False, username=None, password
|
||||||
Returns JSON describing all stale agents.
|
Returns JSON describing all stale agents.
|
||||||
"""
|
"""
|
||||||
|
|
||||||
agentsRaw = execute_db_query(conn, 'SELECT * FROM agents')
|
agentsRaw = execute_db_query(conn, 'SELECT id, session_id, listener, name, language, language_version, delay, jitter, external_ip, '+
|
||||||
|
'internal_ip, username, high_integrity, process_name, process_id, hostname, os_details, session_key, nonce, checkin_time, '+
|
||||||
|
'lastseen_time, parent, children, servers, profile, functions, kill_date, working_hours, lost_limit, taskings, results FROM agents')
|
||||||
staleAgents = []
|
staleAgents = []
|
||||||
|
|
||||||
for agent in agentsRaw:
|
for agent in agentsRaw:
|
||||||
[ID, sessionID, listener, name, delay, jitter, external_ip, internal_ip, username, high_integrity, process_name, process_id, hostname, os_details, session_key, checkin_time, lastseen_time, parent, children, servers, uris, old_uris, user_agent, headers, functions, kill_date, working_hours, ps_version, lost_limit, taskings, results] = agent
|
[ID, session_id, listener, name, language, language_version, delay, jitter, external_ip, internal_ip, username, high_integrity, process_name, process_id, hostname, os_details, session_key, nonce, checkin_time, lastseen_time, parent, children, servers, profile, functions, kill_date, working_hours, lost_limit, taskings, results] = agent
|
||||||
|
|
||||||
intervalMax = (delay + delay * jitter)+30
|
intervalMax = (delay + delay * jitter)+30
|
||||||
|
|
||||||
|
@ -764,7 +767,7 @@ def start_restful_api(startEmpire=False, suppress=False, username=None, password
|
||||||
|
|
||||||
if agentTime < time.mktime(time.localtime()) - intervalMax:
|
if agentTime < time.mktime(time.localtime()) - intervalMax:
|
||||||
|
|
||||||
staleAgents.append({"ID":ID, "sessionID":sessionID, "listener":listener, "name":name, "delay":delay, "jitter":jitter, "external_ip":external_ip, "internal_ip":internal_ip, "username":username, "high_integrity":high_integrity, "process_name":process_name, "process_id":process_id, "hostname":hostname, "os_details":os_details, "session_key":session_key, "checkin_time":checkin_time, "lastseen_time":lastseen_time, "parent":parent, "children":children, "servers":servers, "uris":uris, "old_uris":old_uris, "user_agent":user_agent, "headers":headers, "functions":functions, "kill_date":kill_date, "working_hours":working_hours, "ps_version":ps_version, "lost_limit":lost_limit, "taskings":taskings, "results":results})
|
staleAgents.append({"ID":ID, "session_id":session_id, "listener":listener, "name":name, "language":language, "language_version":language_version, "delay":delay, "jitter":jitter, "external_ip":external_ip, "internal_ip":internal_ip, "username":username, "high_integrity":high_integrity, "process_name":process_name, "process_id":process_id, "hostname":hostname, "os_details":os_details, "session_key":session_key, "nonce":nonce, "checkin_time":checkin_time, "lastseen_time":lastseen_time, "parent":parent, "children":children, "servers":servers, "profile":profile,"functions":functions, "kill_date":kill_date, "working_hours":working_hours, "lost_limit":lost_limit, "taskings":taskings, "results":results})
|
||||||
|
|
||||||
return jsonify({'agents' : staleAgents})
|
return jsonify({'agents' : staleAgents})
|
||||||
|
|
||||||
|
@ -821,11 +824,14 @@ def start_restful_api(startEmpire=False, suppress=False, username=None, password
|
||||||
"""
|
"""
|
||||||
Returns JSON describing the agent specified by agent_name.
|
Returns JSON describing the agent specified by agent_name.
|
||||||
"""
|
"""
|
||||||
activeAgentsRaw = execute_db_query(conn, 'SELECT * FROM agents WHERE name=? OR session_id=?', [agent_name, agent_name])
|
activeAgentsRaw = execute_db_query(conn, 'SELECT id, session_id, listener, name, language, language_version, delay, jitter, external_ip, '+
|
||||||
|
'internal_ip, username, high_integrity, process_name, process_id, hostname, os_details, session_key, nonce, checkin_time, '+
|
||||||
|
'lastseen_time, parent, children, servers, profile, functions, kill_date, working_hours, lost_limit, taskings, results FROM agents ' +
|
||||||
|
'WHERE name=? OR session_id=?', [agent_name, agent_name])
|
||||||
activeAgents = []
|
activeAgents = []
|
||||||
|
|
||||||
for activeAgent in activeAgentsRaw:
|
for activeAgent in activeAgentsRaw:
|
||||||
[ID, sessionID, listener, name, delay, jitter, external_ip, internal_ip, username, high_integrity, process_name, process_id, hostname, os_details, session_key, checkin_time, lastseen_time, parent, children, servers, uris, old_uris, user_agent, headers, functions, kill_date, working_hours, ps_version, lost_limit, taskings, results] = activeAgent
|
[ID, session_id, listener, name, language, language_version, delay, jitter, external_ip, internal_ip, username, high_integrity, process_name, process_id, hostname, os_details, session_key, nonce, checkin_time, lastseen_time, parent, children, servers, profile, functions, kill_date, working_hours, lost_limit, taskings, results] = activeAgent
|
||||||
activeAgents.append({"ID":ID, "sessionID":sessionID, "listener":listener, "name":name, "delay":delay, "jitter":jitter, "external_ip":external_ip, "internal_ip":internal_ip, "username":username, "high_integrity":high_integrity, "process_name":process_name, "process_id":process_id, "hostname":hostname, "os_details":os_details, "session_key":session_key, "checkin_time":checkin_time, "lastseen_time":lastseen_time, "parent":parent, "children":children, "servers":servers, "uris":uris, "old_uris":old_uris, "user_agent":user_agent, "headers":headers, "functions":functions, "kill_date":kill_date, "working_hours":working_hours, "ps_version":ps_version, "lost_limit":lost_limit, "taskings":taskings, "results":results})
|
activeAgents.append({"ID":ID, "sessionID":sessionID, "listener":listener, "name":name, "delay":delay, "jitter":jitter, "external_ip":external_ip, "internal_ip":internal_ip, "username":username, "high_integrity":high_integrity, "process_name":process_name, "process_id":process_id, "hostname":hostname, "os_details":os_details, "session_key":session_key, "checkin_time":checkin_time, "lastseen_time":lastseen_time, "parent":parent, "children":children, "servers":servers, "uris":uris, "old_uris":old_uris, "user_agent":user_agent, "headers":headers, "functions":functions, "kill_date":kill_date, "working_hours":working_hours, "ps_version":ps_version, "lost_limit":lost_limit, "taskings":taskings, "results":results})
|
||||||
|
|
||||||
return jsonify({'agents' : activeAgents})
|
return jsonify({'agents' : activeAgents})
|
||||||
|
|
Loading…
Reference in New Issue