Unified process listing across multiple callbacks for a single host
supported_ui_features = ["process_browser:list"]
if you want to be able to issue a process listing from the UI process listing table. If you don’t care about that, then you don’t need that feature set for your command.
processes
field of your responses
array.
That allows Mythic to create a process hierarchy (if you supply both process_id
and parent_process_id
) and a sortable/filterable table of processes.
The above example shows a post_response
with one response in it. That one response has a processes
field with an array of processes it wants to report.
Any field that ends with _time
expects the value to be an int64 of unix epoch time in milliseconds.
You’re welcome to supply any additional field you want about a process - it all gets aggregated together and provided as part of the “metadata” for the process that you can view in the UI in a nice table listing.
For example, a macOS agent might report back signing flags and entitlements and a windows agent might report back integrity level and user session id.
process_browser:inject
, process_browser:kill
, process_browser:list_tokens
, process_browser:steal_token
.
All of these will get three parameters passed to them for tasking:
{"host": "ABC.COM", "process_id": 1234, "architecture": "x64"}
. Your commands that support these features will need to expect and process these arguments.