-
Notifications
You must be signed in to change notification settings - Fork 77
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
APT3 CALDERA: Phase 9 - 3.A.1 Bypass User Account Control #25
Comments
Hey @leegengyu! This channel works for questions regarding Evals methodology, sorry about the confusion. So as you've seen this privilege escalation takes place in 2 parts, in 3.A a token of a high-integrity process is stolen. This results in a new high integrity callback, but not running with full permissions. In 3.B we complete the priv esc but injecting into another high-integrity process (which would only be possible after the first elevation in 3.A). Based on what you shared, I would double check that you have high-integrity processes running on the victim (maybe try 2, one for the token theft then another for the injection). This might explain why Let me know if that works, good luck! |
Hey @jcwilliamsATmitre, thank you for getting back to me so quickly. I opened another high-integrity process (chrome.exe in this case) on the target machine, upon your suggestion of checking that there are high-integrity processes running on it. After doing so, using either the original At this point when running 3.B, there is a new high-integrity agent callback ( Not too long later, the original high-integrity agent from 3.A ( Not too long later, the new high-integrity agent from 3.B ( Leaving the following section below in this post for now - it was originally typed when using the When 3.B was running, I noticed a 3rd powershell.exe appear for not too long, before it exited and was no longer seen: Its full command line is After the 3rd powershell.exe disappeared, the timeout status could be seen from CALDERA (I edited my original post to show it). Hope you might be able to shed some light on what had gone wrong! Thank you so much. |
I managed to solve the above issue of both the high-integrity Agent callbacks being dead after running 3.B for some time, by:
The reason was that the new high-integrity Agent callback from a successful 3.B run previously had the same group label ( Also, it should be noted that a successful execution of 3.B would require a manual check for a second high-integrity Agent, instead of the usual reliance on a green circle indicator (for success; which I had assumed would be the case for all correctly-executed steps). The circle would be showing the brown indicator (for collected) instead. Still, I am puzzled as to why there is a need for me to additionally manually open a process with high-integrity for 3.A to work, when there are 3 existing high-integrity processes (procexp64.exe - which I had manually opened, ctfmon.exe, and conhost.exe) that were running before all of my (previously failed) attempts at running 3.A. These 3 high-integrity processes were also correctly identified in the output of 3.A. Somehow, they only resulted in medium-integrity Agent callbacks. This is deviating from the original issue, but could I ask if there is documentation lying anyway for the APT3 portions of the evals plugin please? In its original repository at https://github.com/mitre-attack/evals_caldera, there is a link to "full documentation", which redirects to https://github.com/mitre/caldera/wiki. In that page, clicking on the sole link takes us to https://github.com/mitre/caldera/wiki/CALDERA. Clicking on the sole link inside that page takes us to the ReadTheDocs link at https://caldera.readthedocs.io/en/latest/. I have tried searching around, starting with the most obvious Thank you so much! |
Hey @jcwilliamsATmitre, just a nudge on the above. Hope to hear from you soon (at your convenience)! :) Thank you! |
Hey @leegengyu! I apologize for the delay. I am glad to see that you figured out the group label error! Regarding your question about high-integrity processes, when using I will ask around to see if there's something else we can share, but https://github.com/mitre-attack/evals_caldera should be the authoritative documentation. Since that plugin was designed for an older version ( |
Hey @jcwilliamsATmitre! Thank you for explaining about the recommendation for manually opening a high-integrity process. Sure. If there's any way that we can have access to any archived documentation, I think that will be of great help. Thank you so much! |
First off, probably not the most appropriate place to post this question: I understand that this repository is targeted at APT29 (which is also pointed out at #24).
However,
If someone can point me to the right channel/person, that would be great!
This phase is not working out for me - I am getting a new Agent at the end of this particular phase, but it is one with medium-integrity only:
The output shows a successful one:
To temporarily get around this, I had swapped it out with
Invoke-EnvBypass.ps1
- which gives me a high-integrity Agent at the end of this phase. However, with this new way of doing Phase 9, running the high-integrity Agent against 3.B-3.C did not work out as it always resulted in a timeout:This was executed in a Windows v1803 machine (not v1903 like what was mentioned in mitre-attack/evals_caldera#1), with anti-virus disabled.
Anyway that I should debug this? Thank you!
The text was updated successfully, but these errors were encountered: