You probably noticed as you used Mythic that there’s a status associated with your task. This status goes through a variety of words/colors depending on where things are in the pipeline and what the agent has done with the task. This provides a way for the operator to know what’s happening behind the scenes.
By default, a task goes through the following stages with the following statuses:
preprocessing - The task is being sent to the Payload Type container for processing (parsing arguments, confirming values, doing RPC functionality to register files, etc)
submitted - The task is now ready for an agent to pick it up
processing - The task has been picked up by an agent, but there hasn’t been any response back yet
processed - The task has at least one response, but the agent hasn’t marked it as done yet.
completed - The task is marked as completed by the agent and there wasn’t an error in execution
error:* - The agent report back a status of “error”
The agent can set the status of the task to anything it wants as part of its normal post_response information. Similarly, in a task’s create_tasking function, you’re free to set the task.status value. Anything of the error:* format will show up as red in the Mythic UI as an error for the user.