Closed alexgumo7 closed 4 years ago
I've detected the problem. The issue was not that the agent is untrusted. In function _check_reason_skipped()
of caldera/app/objects/c_operation.py
, if it doesn't know why the ability was skipped, then it goes to the last else and assigns the reason to agent untrusted, when the agent is actually trusted.
The problem has been detected in the definition of buckets of abilities, where in the generation of links when there are buckets involved, tries to compare the planners buckets with the buckets of the abilities and there is no hit as the buckets of the abilities are treated as a list of chars and the bucket from the planner as a single string:
caldera_1 | 2020-07-08 16:04:14 - DEBUG (planning_svc.py:107 get_links) b: d, bucket: defense-evasion
caldera_1 | 2020-07-08 16:04:14 - DEBUG (planning_svc.py:107 get_links) b: e, bucket: defense-evasion
caldera_1 | 2020-07-08 16:04:14 - DEBUG (planning_svc.py:107 get_links) b: f, bucket: defense-evasion
caldera_1 | 2020-07-08 16:04:14 - DEBUG (planning_svc.py:107 get_links) b: e, bucket: defense-evasion
caldera_1 | 2020-07-08 16:04:14 - DEBUG (planning_svc.py:107 get_links) b: n, bucket: defense-evasion
caldera_1 | 2020-07-08 16:04:14 - DEBUG (planning_svc.py:107 get_links) b: s, bucket: defense-evasion
caldera_1 | 2020-07-08 16:04:14 - DEBUG (planning_svc.py:107 get_links) b: e, bucket: defense-evasion
caldera_1 | 2020-07-08 16:04:14 - DEBUG (planning_svc.py:107 get_links) b: -, bucket: defense-evasion
caldera_1 | 2020-07-08 16:04:14 - DEBUG (planning_svc.py:107 get_links) b: e, bucket: defense-evasion
caldera_1 | 2020-07-08 16:04:14 - DEBUG (planning_svc.py:107 get_links) b: v, bucket: defense-evasion
caldera_1 | 2020-07-08 16:04:14 - DEBUG (planning_svc.py:107 get_links) b: a, bucket: defense-evasion
caldera_1 | 2020-07-08 16:04:14 - DEBUG (planning_svc.py:107 get_links) b: s, bucket: defense-evasion
caldera_1 | 2020-07-08 16:04:14 - DEBUG (planning_svc.py:107 get_links) b: i, bucket: defense-evasion
caldera_1 | 2020-07-08 16:04:14 - DEBUG (planning_svc.py:107 get_links) b: o, bucket: defense-evasion
caldera_1 | 2020-07-08 16:04:14 - DEBUG (planning_svc.py:107 get_links) b: n, bucket: defense-evasion
The problem has been corrected in the following master commit: https://github.com/mitre/caldera/commit/4e243fcc943eb21c2148c0b1b5fb0e5ca208e574
This issue is stale because it has been open 20 days with no activity. Remove stale label or comment or this will be closed in 5 days
Hi,
I am testing release 2.7.0 of caldera, specifically the different planners. The current tests are focused on creating an operation concerning one windows agent and using the discovery profile. When using the atomic and batch planners everything works as expected. However, when using the bucket planner the operation is finished without executing any ability as all abilities are skipped. The following is extracted from the report:
Then, why are there skipped abilities because of "Agent untrusted" if the agents are in fact active and if the same operation with the other planners is working fine?