-
Notifications
You must be signed in to change notification settings - Fork 3
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
Showing
37 changed files
with
6,506 additions
and
15,968 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file was deleted.
Oops, something went wrong.
This file was deleted.
Oops, something went wrong.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,125 +1,129 @@ | ||
CloudTrail Example Scenarios | ||
============================ | ||
|
||
Both CloudTrail examples involve User Account data components. The first review the use of | ||
User Account Modification to provide visibility into Account Manipulation (T1098), while the | ||
second considers User Account Metadata for detection of Password Policy Discovery (T1201) | ||
behavior. | ||
Both CloudTrail examples involve User Account data components. The first reviews the use | ||
of User Account Modification to provide visibility into `Account Manipulation (T1098) | ||
<https://attack.mitre.org/techniques/T1098>`__, while the second considers User Account | ||
Metadata for detection of `Password Policy Discovery (T1201) | ||
<https://attack.mitre.org/techniques/T1201>`__ behavior. | ||
|
||
Account Manipulation (T1098) | ||
---------------------------- | ||
|
||
The following are the criteria considered for Account Manipulation (T1098). These were | ||
directly taken by reviewing the definition of the technique. | ||
The following are the criteria considered for Account Manipulation (T1098). These were | ||
directly taken by reviewing the definition of the technique. | ||
|
||
.. image:: ../_static/cldtrlex1.png | ||
:width: 700 | ||
|
||
1. Looking at the event logs themselves, is this enough proof or evidence to determine | ||
“changes to account objects were made under this technique”? | ||
**Looking at the event data, is this enough evidence to conclude that an account was | ||
manipulated per T1098?** Most CloudTrail events are straightforward, and the associated | ||
API call performs a User Account Modification that meets the criteria for concluding | ||
that an Account Manipulation has occurred. | ||
|
||
Most CloudTrail events are straightforward, and the associated API call performs a | ||
User Account Modification that meets the criteria for proving an Account Manipulation | ||
may have occurred. | ||
**TagUser:** | ||
|
||
User must be valid on system or domain | ||
*Yes.* Careful attention was given to CloudTrail Roles, and related information. For | ||
example, the “TagUser/UntagUser” API entry was examined to determine that the act of | ||
Tagging/Untagging met the conditions to change (give or takeaway) access. One concept | ||
that came up was to explore relevant sub-techniques, in case those could provide | ||
additional insight in deciding if an event met the defined conditions: | ||
|
||
- Any Action preserves an adversary access | ||
- Modifying credentials | ||
- Modifying permissions to groups | ||
- Activity designed to subvert security policies | ||
* `Additional Cloud Credentials (T1098.001) | ||
<https://attack.mitre.org/techniques/T1098/001/>`__ | ||
* `Additional Cloud Roles (T1098.003) | ||
<https://attack.mitre.org/techniques/T1098/003/>`__ | ||
|
||
* TagUser | ||
*References:* | ||
|
||
Event information: `AWS Documentation - AddTags <https://docs.aws.amazon.com/awscloudtrail/latest/APIReference/API_AddTags.html>`_ | ||
* `AWS Documentation - AddTags | ||
<https://docs.aws.amazon.com/awscloudtrail/latest/APIReference/API_AddTags.html>`__ | ||
|
||
Yes. Careful attention was given to CloudTrail Roles, and related information. For | ||
example, the “TagUser/UntagUser” API entry was examined to determine that the act of | ||
Tagging/Untagging met the conditions to change (give or takeaway) access. | ||
**UpdateUser:** | ||
|
||
One concept that came up was to also explore relevant sub-techniques, in case those could | ||
provide additional insight in deciding if an event met the defined conditions: | ||
*Yes.* Another interesting event is UpdateUser. As an API call, it does not perform a | ||
technical action that results in literal modification of concern (i.e., no access or | ||
permissions for an IAM user is changed). It does not preserve adversary action in a | ||
purely technical sense. HOWEVER: It does qualify because it could be used to “hide in | ||
plain sight” The event is worth noting as potential evidence of (an unexpected) name | ||
change. | ||
|
||
- `Additional Cloud Credentials (T1098.001) <https://attack.mitre.org/techniques/T1098/001/>`_ | ||
- `Additional Cloud Roles (T1098.003) <https://attack.mitre.org/techniques/T1098/003/>`_ | ||
*References:* | ||
|
||
* UpdateUser | ||
* `AWS Documentation - UpdateUser | ||
<https://docs.aws.amazon.com/IAM/latest/APIReference/API_UpdateUser.html>`__ | ||
|
||
Event information: `AWS Documentation - UpdateUser <https://docs.aws.amazon.com/IAM/latest/APIReference/API_UpdateUser.html>`_ | ||
**UploadSigningCertificate:** | ||
|
||
Yes. Another interesting event is UpdateUser. As an API call, it does not perform a | ||
technical action that results in literal modification of concern (i.e., no access or | ||
permissions for an IAM user is changed). It does not preserve adversary action in a | ||
purely technical sense. HOWEVER: It does qualify because it could be used to “hide in | ||
plain sight” The event is worth noting as potential evidence of (an unexpected) name | ||
change. | ||
*Yes.* This provides the name of the IAM user the signing certificate is for and the | ||
contents of the signing certificate. The elements provide information that can be used | ||
to look for changes to account objects. | ||
|
||
* UploadSigningCertificate | ||
*References:* | ||
|
||
Event information: `AWS Documentation- UploadSigningCertificate <https://docs.aws.amazon.com/IAM/latest/APIReference/API_UploadSigningCertificate.html>`_ | ||
|
||
Yes. This provides the name of the IAM user the signing certificate is for and the | ||
contents of the signing certificate. The elements provide information that can be used | ||
to look for changes to account objects. | ||
|
||
Additional information: `AWS Documentation - SetSecurityTokenServicePreferences <https://docs.aws.amazon.com/IAM/latest/APIReference/API_SetSecurityTokenServicePreferences.html>`_ | ||
* `AWS Documentation- UploadSigningCertificate | ||
<https://docs.aws.amazon.com/IAM/latest/APIReference/API_UploadSigningCertificate.html>`__ | ||
* `AWS Documentation - SetSecurityTokenServicePreferences | ||
<https://docs.aws.amazon.com/IAM/latest/APIReference/API_SetSecurityTokenServicePreferences.html>`__ | ||
|
||
Password Policy Discovery (T1201) | ||
---------------------------------- | ||
--------------------------------- | ||
|
||
The following are the criteria considered for Password Policy Discovery (T1201). These | ||
were directly taken by reviewing the definition of the technique. | ||
The following are the criteria considered for Password Policy Discovery (T1201). These | ||
were directly taken by reviewing the definition of the technique. | ||
|
||
.. image:: ../_static/cldtrlex2.png | ||
:width: 700 | ||
|
||
1. Looking at the event logs themselves, is this enough proof or evidence to determine | ||
“are attempts being made to access detailed information about the password policy | ||
under this technique”? | ||
|
||
This technique may be used by adversaries attempting to access/obtain detailed password | ||
policy information. This policy information may aid the creation of password lists for | ||
dictionary or brute force attacks. | ||
**Looking at the event data, is this enough evidence to conclude that attempts were | ||
being made to access detailed information about the password policy per technique | ||
T1201?** This technique may be used by adversaries attempting to access/obtain detailed | ||
password policy information. This policy information may aid the creation of password | ||
lists for dictionary or brute force attacks. | ||
|
||
* CreatePolicyVersion | ||
**CreatePolicyVersion:** | ||
|
||
Event information: `AWS Documentation - CreatePolicyVersion <https://docs.aws.amazon.com/IAM/latest/APIReference/API_CreatePolicyVersion.html>`_ | ||
*No.* This contains details about IAM policy versions, but does not provide information | ||
about attempts to access policy documents. | ||
|
||
No. This contains details about IAM policy versions, but does not provide information about | ||
attempts to access policy documents. | ||
*References:* | ||
|
||
* GetAccountPasswordPolicy | ||
* `AWS Documentation - CreatePolicyVersion | ||
<https://docs.aws.amazon.com/IAM/latest/APIReference/API_CreatePolicyVersion.html>`__ | ||
|
||
Event information: `AWS Documentation - GetAccountPasswordPolicy <https://docs.aws.amazon.com/IAM/latest/APIReference/API_GetAccountPasswordPolicy.html>`_ | ||
**GetAccountPasswordPolicy:** | ||
|
||
Yes. The description of T1201 references that “password policies can be discovered in cloud | ||
environments using available APIs such as GetAccountPasswordPolicy in AWS.” | ||
*Yes.* The description of T1201 references that “password policies can be discovered in | ||
cloud environments using available APIs such as GetAccountPasswordPolicy in AWS.” | ||
|
||
Select Examples of User Account Metadata events: | ||
Select examples of User Account Metadata events: | ||
|
||
* AttachRolePolicy | ||
* AttachUserPolicy | ||
* CreatePolicy | ||
* CreatePolicyVersion | ||
|
||
* DeleteAccountPasswordPolicy | ||
* DeletePolicyVersoin | ||
* DeleteRolePolicy | ||
* DeleteUserPolicy | ||
* DetachUserPolicy | ||
* DetachRolePolicy | ||
|
||
* ChangePassword | ||
* GenerateCredentialReport | ||
* GetAccountPasswordPolicy | ||
|
||
* ListAttachedRolePolicies | ||
* ListEntitiesForPolicy | ||
* ListPoliciesGrantingServiceAccess | ||
|
||
* GetLoginProfile | ||
*References:* | ||
|
||
* `AWS Documentation - GetAccountPasswordPolicy | ||
<https://docs.aws.amazon.com/IAM/latest/APIReference/API_GetAccountPasswordPolicy.html>`__ | ||
|
||
**GetLoginProfile:** | ||
|
||
*No.* This contains information about IAM usernames and password creation dates, not | ||
actual passwords or password policy constructs. | ||
|
||
Event information: `AWS Documentation - GetLoginProfile <https://docs.aws.amazon.com/IAM/latest/APIReference/API_GetLoginProfile.html>`_ | ||
*References:* | ||
|
||
No. This contains information about IAM usernames and password creation dates, not | ||
actual passwords or password policy constructs. | ||
* `AWS Documentation - GetLoginProfile | ||
<https://docs.aws.amazon.com/IAM/latest/APIReference/API_GetLoginProfile.html>`__ |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,23 +1,20 @@ | ||
.. _Example Pages: | ||
|
||
====================================== | ||
Example Scenarios | ||
====================================== | ||
|
||
Overview | ||
-------- | ||
================= | ||
|
||
Examples are provided to depict how these mappings can be used to get from Sensor Events to ATT&CK Data Sources to | ||
ATT&CK Techniques. It should be stated up front that there is no easy, one-to-one mapping from data source to technique. | ||
In addition, not all events are created equal in regard to visibility of specific techniques, and two events with the | ||
same field names can in fact represent different data. Some amount of analyst judgement is required and, whenever | ||
judgement is involved, there can be differences in opinion. The mapping methodology and these examples are provided to | ||
demonstrate the judgement and rationale to apply when identifying specific event visibility into techniques. Of course, | ||
additonal customized considerations must also be given when looking to provide insight into a specific environment. | ||
Examples are provided to depict how these mappings can be used to get from Sensor Events | ||
to ATT&CK Data Sources to ATT&CK Techniques. It should be stated up front that there is | ||
no easy, one-to-one mapping from data source to technique. In addition, not all events | ||
are created equal in regard to visibility of specific techniques, and two events with | ||
the same field names can in fact represent different data. Some amount of analyst | ||
judgement is required and, whenever judgement is involved, there can be differences in | ||
opinion. The mapping methodology and these examples are provided to demonstrate the | ||
judgement and rationale to apply when identifying specific event visibility into | ||
techniques. Of course, additonal customized considerations must also be given when | ||
looking to provide insight into a specific environment. | ||
|
||
.. toctree:: | ||
|
||
windows | ||
linux | ||
cloudtrail | ||
network | ||
network |
Oops, something went wrong.