{ "id": "bundle--36b5a045-c220-403a-96c1-02500df07699", "objects": [ { "created": "2023-01-30T20:40:28.791035Z", "definition": { "statement": "CAPEC is sponsored by US-CERT in the office of Cybersecurity and Communications at the U.S. Department of Homeland Security. Copyright © 2007 - 2023, The MITRE Corporation. CAPEC and the CAPEC logo are trademarks of The MITRE Corporation." }, "definition_type": "statement", "id": "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d", "spec_version": "2.1", "type": "marking-definition" }, { "created": "2023-01-30T20:40:28.791901Z", "id": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "identity_class": "organization", "modified": "2023-01-30T20:40:28.791901Z", "name": "The MITRE Corporation", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "identity" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "In applications, particularly web applications, access to functionality is mitigated by an authorization framework. This framework maps Access Control Lists (ACLs) to elements of the application's functionality; particularly URL's for web apps. In the case that the administrator failed to specify an ACL for a particular element, an attacker may be able to access it with impunity. An attacker with the ability to access functionality not properly constrained by ACLs can obtain sensitive information and possibly compromise the entire application. Such an attacker can access resources that must be available only to users at a higher privilege level, can access management sections of the application, or can run queries for data that they otherwise not supposed to.", "external_references": [ { "external_id": "CAPEC-1", "source_name": "capec", "url": "https://capec.mitre.org/data/definitions/1.html" }, { "external_id": "CWE-276", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/276.html" }, { "external_id": "CWE-285", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/285.html" }, { "external_id": "CWE-434", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/434.html" }, { "external_id": "CWE-693", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/693.html" }, { "external_id": "CWE-732", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/732.html" }, { "external_id": "CWE-1191", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/1191.html" }, { "external_id": "CWE-1193", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/1193.html" }, { "external_id": "CWE-1220", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/1220.html" }, { "external_id": "CWE-1297", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/1297.html" }, { "external_id": "CWE-1311", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/1311.html" }, { "external_id": "CWE-1314", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/1314.html" }, { "external_id": "CWE-1315", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/1315.html" }, { "external_id": "CWE-1318", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/1318.html" }, { "external_id": "CWE-1320", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/1320.html" }, { "external_id": "CWE-1321", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/1321.html" }, { "external_id": "CWE-1327", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/1327.html" }, { "description": "Hijack Execution Flow: ServicesFile Permissions Weakness", "external_id": "T1574.010", "source_name": "ATTACK", "url": "https://attack.mitre.org/wiki/Technique/T1574/010" } ], "id": "attack-pattern--92cdcd3d-d734-4442-afc3-4599f261498b", "modified": "2022-09-29T00:00:00.000Z", "name": "Accessing Functionality Not Properly Constrained by ACLs", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "attack-pattern", "x_capec_abstraction": "Standard", "x_capec_can_precede_refs": [ "attack-pattern--9ad2c2eb-9939-4590-9683-2e789692d262" ], "x_capec_child_of_refs": [ "attack-pattern--fd669b7d-0e79-473c-9808-a860dfb0c871" ], "x_capec_consequences": { "Access_Control": [ "Gain Privileges" ], "Authorization": [ "Gain Privileges" ], "Confidentiality": [ "Gain Privileges" ] }, "x_capec_domains": [ "Software", "Hardware" ], "x_capec_example_instances": [ "\n Implementing the Model-View-Controller (MVC) within Java EE's Servlet paradigm using a \"Single front controller\" pattern that demands that brokered HTTP requests be authenticated before hand-offs to other Action Servlets.\n If no security-constraint is placed on those Action Servlets, such that positively no one can access them, the front controller can be subverted.\n " ], "x_capec_execution_flow": "

Execution Flow

Explore

  1. Survey: The attacker surveys the target application, possibly as a valid and authenticated user

  2. Techniques
    Spidering web sites for all available links
    Brute force guessing of resource names
    Brute force guessing of user names / credentials
    Brute force guessing of function names / actions
  3. Identify Functionality: At each step, the attacker notes the resource or functionality access mechanism invoked upon performing specific actions

  4. Techniques
    Use the web inventory of all forms and inputs and apply attack data to those inputs.
    Use a packet sniffer to capture and record network traffic
    Execute the software in a debugger and record API calls into the operating system or important libraries. This might occur in an environment other than a production environment, in order to find weaknesses that can be exploited in a production environment.

Experiment

  1. Iterate over access capabilities: Possibly as a valid user, the attacker then tries to access each of the noted access mechanisms directly in order to perform functions not constrained by the ACLs.

  2. Techniques
    Fuzzing of API parameters (URL parameters, OS API parameters, protocol parameters)
", "x_capec_likelihood_of_attack": "High", "x_capec_parent_of_refs": [ "attack-pattern--74bac7d9-693d-40d2-82bf-eb132f13bcaf", "attack-pattern--3ba20dcc-8fec-4d74-a472-eb9694fe8142", "attack-pattern--1abd165a-57e9-4b78-9221-7b6fcdc57810", "attack-pattern--e8a8a8f5-3ad5-4d3f-a35b-48036147266b" ], "x_capec_prerequisites": [ "The application must be navigable in a manner that associates elements (subsections) of the application with ACLs.", "The various resources, or individual URLs, must be somehow discoverable by the attacker", "The administrator must have forgotten to associate an ACL or has associated an inappropriately permissive ACL with a particular navigable resource." ], "x_capec_resources_required": [ "None: No specialized resources are required to execute this type of attack." ], "x_capec_skills_required": { "Low": "In order to discover unrestricted resources, the attacker does not need special tools or skills. They only have to observe the resources or access mechanisms invoked as each action is performed and then try and access those access mechanisms directly." }, "x_capec_status": "Draft", "x_capec_typical_severity": "High", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "\n In a J2EE setting, administrators can associate a role that is impossible for the authenticator to grant users, such as \"NoAccess\", with all Servlets to which access is guarded by a limited number of servlets visible to, and accessible by, the user.\n Having done so, any direct access to those protected Servlets will be prohibited by the web container.\n In a more general setting, the administrator must mark every resource besides the ones supposed to be exposed to the user as accessible by a role impossible for the user to assume. The default security setting must be to deny access and then grant access only to those resources intended by business logic.\n ", "id": "course-of-action--0d8de0b8-e9fd-44b2-8f1f-f8aae79949be", "modified": "2022-09-29T00:00:00.000Z", "name": "coa-1-0", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "course-of-action", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--c796a053-8016-4098-9d01-e680e042cb24", "modified": "2022-09-29T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--0d8de0b8-e9fd-44b2-8f1f-f8aae79949be", "spec_version": "2.1", "target_ref": "attack-pattern--92cdcd3d-d734-4442-afc3-4599f261498b", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "This attack pattern involves causing a buffer overflow through manipulation of environment variables. Once the adversary finds that they can modify an environment variable, they may try to overflow associated buffers. This attack leverages implicit trust often placed in environment variables.", "external_references": [ { "external_id": "CAPEC-10", "source_name": "capec", "url": "https://capec.mitre.org/data/definitions/10.html" }, { "external_id": "CWE-120", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/120.html" }, { "external_id": "CWE-302", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/302.html" }, { "external_id": "CWE-118", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/118.html" }, { "external_id": "CWE-119", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/119.html" }, { "external_id": "CWE-74", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/74.html" }, { "external_id": "CWE-99", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/99.html" }, { "external_id": "CWE-20", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/20.html" }, { "external_id": "CWE-680", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/680.html" }, { "external_id": "CWE-733", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/733.html" }, { "external_id": "CWE-697", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/697.html" }, { "description": "Buffer Overflow via Environment Variables", "source_name": "OWASP Attacks", "url": "https://owasp.org/www-community/attacks/Buffer_Overflow_via_Environment_Variables" }, { "description": "G. Hoglund, G. McGraw, Exploiting Software: How to Break Code, 2004--02, Addison-Wesley", "external_id": "REF-1", "source_name": "reference_from_CAPEC" }, { "description": "Sharefuzz", "external_id": "REF-2", "source_name": "reference_from_CAPEC", "url": "http://sharefuzz.sourceforge.net" } ], "id": "attack-pattern--4a29d66d-8617-4382-b456-578ecdb1609e", "modified": "2022-09-29T00:00:00.000Z", "name": "Buffer Overflow via Environment Variables", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "attack-pattern", "x_capec_abstraction": "Detailed", "x_capec_can_follow_refs": [ "attack-pattern--ca989a50-b24e-4917-a234-ce4788fa21c7" ], "x_capec_child_of_refs": [ "attack-pattern--77e51461-7843-411c-a90e-852498957f76" ], "x_capec_consequences": { "Access_Control": [ "Gain Privileges" ], "Authorization": [ "Gain Privileges" ], "Availability": [ "Unreliable Execution", "Execute Unauthorized Commands (Run Arbitrary Code)" ], "Confidentiality": [ "Execute Unauthorized Commands (Run Arbitrary Code)", "Read Data", "Gain Privileges" ], "Integrity": [ "Execute Unauthorized Commands (Run Arbitrary Code)", "Modify Data" ] }, "x_capec_domains": [ "Software" ], "x_capec_example_instances": [ "\n A buffer overflow in sccw allows local users to gain root access via the $HOME environmental variable. See also: CVE-1999-0906\n ", "\n A buffer overflow in the rlogin program involves its consumption of the $TERM environmental variable. See also: CVE-1999-0046\n " ], "x_capec_execution_flow": "

Execution Flow

Explore

  1. Identify target application: The adversary identifies a target application or program to perform the buffer overflow on. In this attack the adversary looks for an application that loads the content of an environment variable into a buffer.

Experiment

  1. Find injection vector: The adversary identifies an injection vector to deliver the excessive content to the targeted application's buffer.

  2. Techniques
    Change the values of environment variables thought to be used by the application to contain excessive data. If the program is loading the value of the environment variable into a buffer, this could cause a crash and an attack vector will be found.
  3. Craft overflow content: The adversary crafts the content to be injected. If the intent is to simply cause the software to crash, the content need only consist of an excessive quantity of random data. If the intent is to leverage the overflow for execution of arbitrary code, the adversary crafts the payload in such a way that the overwritten return address is replaced with one of the adversary's choosing.

  4. Techniques
    Create malicious shellcode that will execute when the program execution is returned to it.
    Use a NOP-sled in the overflow content to more easily \"slide\" into the malicious code. This is done so that the exact return address need not be correct, only in the range of all of the NOPs

Exploit

  1. Overflow the buffer: Using the injection vector, the adversary injects the crafted overflow content into the buffer.

", "x_capec_extended_description": "Although the focus of this attack is putting excessive content into an environment variable that is loaded into a buffer, environment variables can be used to assist a classic buffer overflow attack as well. In the case where the buffer used in a traditional buffer overflow attack is not large enough to store the adversary's shell code, they will store the shell code in an environment variable and attempt to return to its address, rather than back into the data they wrote to the buffer.", "x_capec_likelihood_of_attack": "High", "x_capec_prerequisites": [ "The application uses environment variables.", "An environment variable exposed to the user is vulnerable to a buffer overflow.", "The vulnerable environment variable uses untrusted data.", "Tainted data used in the environment variables is not properly validated. For instance boundary checking is not done before copying the input data to a buffer." ], "x_capec_skills_required": { "High": "Exploiting a buffer overflow to inject malicious code into the stack of a software system or even the heap can require a higher skill level.", "Low": "An attacker can simply overflow a buffer by inserting a long string into an attacker-modifiable injection vector. The result can be a DoS." }, "x_capec_status": "Draft", "x_capec_typical_severity": "High", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "Do not expose environment variable to the user.", "id": "course-of-action--0dfd5de3-6691-47d2-abfd-21299e9f040b", "modified": "2022-09-29T00:00:00.000Z", "name": "coa-10-0", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "course-of-action", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--6afe60c3-f515-4128-a724-0989e27e5bb0", "modified": "2022-09-29T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--0dfd5de3-6691-47d2-abfd-21299e9f040b", "spec_version": "2.1", "target_ref": "attack-pattern--4a29d66d-8617-4382-b456-578ecdb1609e", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "Do not use untrusted data in your environment variables.", "id": "course-of-action--76f448da-5586-4aae-b516-46ff7c52ba87", "modified": "2022-09-29T00:00:00.000Z", "name": "coa-10-1", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "course-of-action", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--371669b4-ddf9-41df-b755-093aa08a1c2d", "modified": "2022-09-29T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--76f448da-5586-4aae-b516-46ff7c52ba87", "spec_version": "2.1", "target_ref": "attack-pattern--4a29d66d-8617-4382-b456-578ecdb1609e", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "Use a language or compiler that performs automatic bounds checking", "id": "course-of-action--950e1236-9a75-40d0-a5f7-1c1777109da5", "modified": "2022-09-29T00:00:00.000Z", "name": "coa-10-2", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "course-of-action", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--5981e722-08a7-4513-8c85-f487b377ebfb", "modified": "2022-09-29T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--950e1236-9a75-40d0-a5f7-1c1777109da5", "spec_version": "2.1", "target_ref": "attack-pattern--4a29d66d-8617-4382-b456-578ecdb1609e", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "There are tools such as Sharefuzz [REF-2] which is an environment variable fuzzer for Unix that support loading a shared library. You can use Sharefuzz to determine if you are exposing an environment variable vulnerable to buffer overflow.", "id": "course-of-action--9a8c3aec-f2ce-4b6e-b416-33f58933ac90", "modified": "2022-09-29T00:00:00.000Z", "name": "coa-10-3", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "course-of-action", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--d48d20f4-9361-40f9-81b3-74f2f8b86bea", "modified": "2022-09-29T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--9a8c3aec-f2ce-4b6e-b416-33f58933ac90", "spec_version": "2.1", "target_ref": "attack-pattern--4a29d66d-8617-4382-b456-578ecdb1609e", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "Buffer Overflow attacks target improper or missing bounds checking on buffer operations, typically triggered by input injected by an adversary. As a consequence, an adversary is able to write past the boundaries of allocated buffer regions in memory, causing a program crash or potentially redirection of execution as per the adversaries' choice.", "external_references": [ { "external_id": "CAPEC-100", "source_name": "capec", "url": "https://capec.mitre.org/data/definitions/100.html" }, { "external_id": "CWE-120", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/120.html" }, { "external_id": "CWE-119", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/119.html" }, { "external_id": "CWE-131", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/131.html" }, { "external_id": "CWE-129", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/129.html" }, { "external_id": "CWE-805", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/805.html" }, { "external_id": "CWE-680", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/680.html" }, { "description": "Buffer Overflow", "external_id": "07", "source_name": "WASC", "url": "http://projects.webappsec.org/Buffer-Overflow" }, { "description": "Buffer overflow attack", "source_name": "OWASP Attacks", "url": "https://owasp.org/www-community/attacks/Buffer_overflow_attack" }, { "description": "OWASP Vulnerabilities, The Open Web Application Security Project (OWASP)", "external_id": "REF-620", "source_name": "reference_from_CAPEC", "url": "https://owasp.org/www-community/vulnerabilities/Buffer_Overflow" } ], "id": "attack-pattern--77e51461-7843-411c-a90e-852498957f76", "modified": "2021-10-21T00:00:00.000Z", "name": "Overflow Buffers", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "attack-pattern", "x_capec_abstraction": "Standard", "x_capec_child_of_refs": [ "attack-pattern--476ca631-2695-43f8-82f6-83c06a07ae36" ], "x_capec_consequences": { "Access_Control": [ "Gain Privileges" ], "Authorization": [ "Gain Privileges" ], "Availability": [ "Unreliable Execution", "Execute Unauthorized Commands (Run Arbitrary Code)" ], "Confidentiality": [ "Execute Unauthorized Commands (Run Arbitrary Code)", "Gain Privileges" ], "Integrity": [ "Execute Unauthorized Commands (Run Arbitrary Code)" ] }, "x_capec_domains": [ "Software" ], "x_capec_example_instances": [ "The most straightforward example is an application that reads in input from the user and stores it in an internal buffer but does not check that the size of the input data is less than or equal to the size of the buffer. If the user enters excessive length data, the buffer may overflow leading to the application crashing, or worse, enabling the user to cause execution of injected code.", "Many web servers enforce security in web applications through the use of filter plugins. An example is the SiteMinder plugin used for authentication. An overflow in such a plugin, possibly through a long URL or redirect parameter, can allow an adversary not only to bypass the security checks but also execute arbitrary code on the target web server in the context of the user that runs the web server process." ], "x_capec_execution_flow": "

Execution Flow

Explore

  1. Identify target application: The adversary identifies a target application or program to perform the buffer overflow on. Adversaries often look for applications that accept user input and that perform manual memory management.

Experiment

  1. Find injection vector: The adversary identifies an injection vector to deliver the excessive content to the targeted application's buffer.

  2. Techniques
    Provide large input to a program or application and observe the behavior. If there is a crash, this means that a buffer overflow attack is possible.
  3. Craft overflow content: The adversary crafts the content to be injected. If the intent is to simply cause the software to crash, the content need only consist of an excessive quantity of random data. If the intent is to leverage the overflow for execution of arbitrary code, the adversary crafts the payload in such a way that the overwritten return address is replaced with one of the adversary's choosing.

  4. Techniques
    Create malicious shellcode that will execute when the program execution is returned to it.
    Use a NOP-sled in the overflow content to more easily \"slide\" into the malicious code. This is done so that the exact return address need not be correct, only in the range of all of the NOPs

Exploit

  1. Overflow the buffer: Using the injection vector, the adversary injects the crafted overflow content into the buffer.

", "x_capec_likelihood_of_attack": "High", "x_capec_parent_of_refs": [ "attack-pattern--4a29d66d-8617-4382-b456-578ecdb1609e", "attack-pattern--c4a0c765-e4ca-43c2-996e-08ce13ae8f80", "attack-pattern--d591235a-da3b-4872-8962-27fe44fa1ab0", "attack-pattern--4b856ceb-8bf7-4f0e-b423-89a420455b1d", "attack-pattern--3c08bb9d-43b5-4468-8b38-387c6cb60da7", "attack-pattern--d3634072-88f9-4711-987f-6bff7698bd4c", "attack-pattern--5d5ff43b-cbe7-4986-bfec-cf979f97e6b9", "attack-pattern--8e403d18-af4e-4abd-bd38-0f99f74b4636", "attack-pattern--e61f5dd9-d26e-454f-ab07-171f3dea6e73", "attack-pattern--4cd18074-15c1-4206-8391-115685669623", "attack-pattern--e62000f0-addd-4156-b9fd-469bbb211d45", "attack-pattern--b6a2983b-1d97-4698-b210-961ed0523f33" ], "x_capec_prerequisites": [ "Targeted software performs buffer operations.", "Targeted software inadequately performs bounds-checking on buffer operations.", "Adversary has the capability to influence the input to buffer operations." ], "x_capec_resources_required": [ "None: No specialized resources are required to execute this type of attack. Detecting and exploiting a buffer overflow does not require any resources beyond knowledge of and access to the target system." ], "x_capec_skills_required": { "High": "In cases of directed overflows, where the motive is to divert the flow of the program or application as per the adversaries' bidding, high level skills are required. This may involve detailed knowledge of the target system architecture and kernel.", "Low": "In most cases, overflowing a buffer does not require advanced skills beyond the ability to notice an overflow and stuff an input variable with content." }, "x_capec_status": "Draft", "x_capec_typical_severity": "Very High", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "Use a language or compiler that performs automatic bounds checking.", "id": "course-of-action--a253c485-f225-4dd3-b0ba-dbe4b29fa134", "modified": "2021-10-21T00:00:00.000Z", "name": "coa-100-0", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "course-of-action", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--cedea035-6835-4307-a59b-acd58ec23ecd", "modified": "2021-10-21T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--a253c485-f225-4dd3-b0ba-dbe4b29fa134", "spec_version": "2.1", "target_ref": "attack-pattern--77e51461-7843-411c-a90e-852498957f76", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "Use secure functions not vulnerable to buffer overflow.", "id": "course-of-action--5549f741-7e5e-4f04-86bd-90dceb9c0de9", "modified": "2021-10-21T00:00:00.000Z", "name": "coa-100-1", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "course-of-action", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--394fe1bb-8b4d-4638-b4e8-2a5719efe438", "modified": "2021-10-21T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--5549f741-7e5e-4f04-86bd-90dceb9c0de9", "spec_version": "2.1", "target_ref": "attack-pattern--77e51461-7843-411c-a90e-852498957f76", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "If you have to use dangerous functions, make sure that you do boundary checking.", "id": "course-of-action--07b3e24d-8000-4c35-881d-2eaae3f2411e", "modified": "2021-10-21T00:00:00.000Z", "name": "coa-100-2", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "course-of-action", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--774c708f-2480-4cee-8e04-c42d603760e8", "modified": "2021-10-21T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--07b3e24d-8000-4c35-881d-2eaae3f2411e", "spec_version": "2.1", "target_ref": "attack-pattern--77e51461-7843-411c-a90e-852498957f76", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "Compiler-based canary mechanisms such as StackGuard, ProPolice and the Microsoft Visual Studio /GS flag. Unless this provides automatic bounds checking, it is not a complete solution.", "id": "course-of-action--115171ef-9f32-43b6-bb8a-49f0a78286e9", "modified": "2021-10-21T00:00:00.000Z", "name": "coa-100-3", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "course-of-action", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--d04362e0-439c-40a1-bfa2-cbddb7b33bbd", "modified": "2021-10-21T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--115171ef-9f32-43b6-bb8a-49f0a78286e9", "spec_version": "2.1", "target_ref": "attack-pattern--77e51461-7843-411c-a90e-852498957f76", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "Use OS-level preventative functionality. Not a complete solution.", "id": "course-of-action--b8955156-d3d6-4db5-bc3b-595bda29964b", "modified": "2021-10-21T00:00:00.000Z", "name": "coa-100-4", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "course-of-action", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--7aae34f4-823f-43ac-90e9-fa33251c4236", "modified": "2021-10-21T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--b8955156-d3d6-4db5-bc3b-595bda29964b", "spec_version": "2.1", "target_ref": "attack-pattern--77e51461-7843-411c-a90e-852498957f76", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "Utilize static source code analysis tools to identify potential buffer overflow weaknesses in the software.", "id": "course-of-action--61ed4ed4-15a0-4d2a-b38c-482bf5e682a5", "modified": "2021-10-21T00:00:00.000Z", "name": "coa-100-5", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "course-of-action", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--7f190864-e6a8-45f8-af58-75124f4f4914", "modified": "2021-10-21T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--61ed4ed4-15a0-4d2a-b38c-482bf5e682a5", "spec_version": "2.1", "target_ref": "attack-pattern--77e51461-7843-411c-a90e-852498957f76", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "An attacker can use Server Side Include (SSI) Injection to send code to a web application that then gets executed by the web server. Doing so enables the attacker to achieve similar results to Cross Site Scripting, viz., arbitrary code execution and information disclosure, albeit on a more limited scale, since the SSI directives are nowhere near as powerful as a full-fledged scripting language. Nonetheless, the attacker can conveniently gain access to sensitive files, such as password files, and execute shell commands.", "external_references": [ { "external_id": "CAPEC-101", "source_name": "capec", "url": "https://capec.mitre.org/data/definitions/101.html" }, { "external_id": "CWE-97", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/97.html" }, { "external_id": "CWE-74", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/74.html" }, { "external_id": "CWE-20", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/20.html" }, { "description": "SSI Injection", "external_id": "36", "source_name": "WASC", "url": "http://projects.webappsec.org/SSI-Injection" }, { "description": "Server-Side Includes (SSI) Injection", "source_name": "OWASP Attacks", "url": "https://owasp.org/www-community/attacks/Server-Side_Includes_(SSI)_Injection" }, { "description": "OWASP Web Security Testing Guide, The Open Web Application Security Project (OWASP)", "external_id": "REF-610", "source_name": "reference_from_CAPEC", "url": "https://owasp.org/www-project-web-security-testing-guide/latest/4-Web_Application_Security_Testing/07-Input_Validation_Testing/08-Testing_for_SSI_Injection.html" } ], "id": "attack-pattern--4e7abad3-5853-4e4b-a64e-7f23f10f8656", "modified": "2021-10-21T00:00:00.000Z", "name": "Server Side Include (SSI) Injection", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "attack-pattern", "x_capec_abstraction": "Detailed", "x_capec_can_precede_refs": [ "attack-pattern--03a731ef-751b-43de-9159-9667d4be4d1a" ], "x_capec_child_of_refs": [ "attack-pattern--5a33bee7-5ec9-4e75-9bf6-99fdaca8699c" ], "x_capec_consequences": { "Availability": [ "Execute Unauthorized Commands (Run Arbitrary Code)" ], "Confidentiality": [ "Read Data", "Execute Unauthorized Commands (Run Arbitrary Code)" ], "Integrity": [ "Execute Unauthorized Commands (Run Arbitrary Code)" ] }, "x_capec_domains": [ "Software" ], "x_capec_example_instances": [ "\n Consider a website hosted on a server that permits Server Side Includes (SSI), such as Apache with the \"Options Includes\" directive enabled.\n Whenever an error occurs, the HTTP Headers along with the entire request are logged, which can then be displayed on a page that allows review of such errors. A malicious user can inject SSI directives in the HTTP Headers of a request designed to create an error.\n When these logs are eventually reviewed, the server parses the SSI directives and executes them.\n " ], "x_capec_execution_flow": "

Execution Flow

Explore

  1. Determine applicability: The adversary determines whether server side includes are enabled on the target web server.

  2. Techniques
    Look for popular page file names. The attacker will look for .shtml, .shtm, .asp, .aspx, and other well-known strings in URLs to help determine whether SSI functionality is enabled.
    Fetch .htaccess file. In Apache web server installations, the .htaccess file may enable server side includes in specific locations. In those cases, the .htaccess file lives inside the directory where SSI is enabled, and is theoretically fetchable from the web server. Although most web servers deny fetching the .htaccess file, a misconfigured server will allow it. Thus, an attacker will frequently try it.

Experiment

  1. Find Injection Point: Look for user controllable input, including HTTP headers, that can carry server side include directives to the web server.

  2. Techniques
    Use a spidering tool to follow and record all links. Make special note of any links that include parameters in the URL.
    Use a proxy tool to record all links visited during a manual traversal of the web application. Make special note of any links that include parameters in the URL. Manual traversal of this type is frequently necessary to identify forms that are GET method forms rather than POST forms.

Exploit

  1. Inject SSI: Using the found injection point, the adversary sends arbitrary code to be inlcuded by the application on the server side. They may then need to view a particular page in order to have the server execute the include directive and run a command or open a file on behalf of the adversary.

", "x_capec_likelihood_of_attack": "High", "x_capec_prerequisites": [ "A web server that supports server side includes and has them enabled", "User controllable input that can carry include directives to the web server" ], "x_capec_resources_required": [ "None: No specialized resources are required to execute this type of attack. Determining whether the server supports SSI does not require special tools, and nor does injecting directives that get executed. Spidering tools can make the task of finding and following links easier." ], "x_capec_skills_required": { "Medium": "The attacker needs to be aware of SSI technology, determine the nature of injection and be able to craft input that results in the SSI directives being executed." }, "x_capec_status": "Draft", "x_capec_typical_severity": "High", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "Set the OPTIONS IncludesNOEXEC in the global access.conf file or local .htaccess (Apache) file to deny SSI execution in directories that do not need them", "id": "course-of-action--64214f54-8438-43c3-8052-8927af7d98bc", "modified": "2021-10-21T00:00:00.000Z", "name": "coa-101-0", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "course-of-action", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--3428ab3f-34a5-436a-98f2-9be0a5397f94", "modified": "2021-10-21T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--64214f54-8438-43c3-8052-8927af7d98bc", "spec_version": "2.1", "target_ref": "attack-pattern--4e7abad3-5853-4e4b-a64e-7f23f10f8656", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "All user controllable input must be appropriately sanitized before use in the application. This includes omitting, or encoding, certain characters or strings that have the potential of being interpreted as part of an SSI directive", "id": "course-of-action--8dc4376f-e920-42a2-9578-575c37c7c146", "modified": "2021-10-21T00:00:00.000Z", "name": "coa-101-1", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "course-of-action", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--6c9bb040-3574-49f1-bec3-723afe52faa1", "modified": "2021-10-21T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--8dc4376f-e920-42a2-9578-575c37c7c146", "spec_version": "2.1", "target_ref": "attack-pattern--4e7abad3-5853-4e4b-a64e-7f23f10f8656", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "Server Side Includes must be enabled only if there is a strong business reason to do so. Every additional component enabled on the web server increases the attack surface as well as administrative overhead", "id": "course-of-action--c52aed3b-1355-42cd-a2a4-3c570d0f5c35", "modified": "2021-10-21T00:00:00.000Z", "name": "coa-101-2", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "course-of-action", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--c92c5203-00ee-424c-a58b-d36d36695f03", "modified": "2021-10-21T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--c52aed3b-1355-42cd-a2a4-3c570d0f5c35", "spec_version": "2.1", "target_ref": "attack-pattern--4e7abad3-5853-4e4b-a64e-7f23f10f8656", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "Session sidejacking takes advantage of an unencrypted communication channel between a victim and target system. The attacker sniffs traffic on a network looking for session tokens in unencrypted traffic. Once a session token is captured, the attacker performs malicious actions by using the stolen token with the targeted application to impersonate the victim. This attack is a specific method of session hijacking, which is exploiting a valid session token to gain unauthorized access to a target system or information. Other methods to perform a session hijacking are session fixation, cross-site scripting, or compromising a user or server machine and stealing the session token.", "external_references": [ { "external_id": "CAPEC-102", "source_name": "capec", "url": "https://capec.mitre.org/data/definitions/102.html" }, { "external_id": "CWE-294", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/294.html" }, { "external_id": "CWE-522", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/522.html" }, { "external_id": "CWE-523", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/523.html" }, { "external_id": "CWE-319", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/319.html" }, { "external_id": "CWE-614", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/614.html" } ], "id": "attack-pattern--6a99b39b-b14a-4617-8aeb-bce85979f520", "modified": "2020-07-30T00:00:00.000Z", "name": "Session Sidejacking", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "attack-pattern", "x_capec_abstraction": "Detailed", "x_capec_child_of_refs": [ "attack-pattern--63f43efb-7a34-4302-b3dc-8245100fdea9" ], "x_capec_consequences": { "Access_Control": [ "Gain Privileges" ], "Authorization": [ "Gain Privileges" ], "Availability": [ "Unreliable Execution" ], "Confidentiality": [ "Gain Privileges", "Read Data" ], "Integrity": [ "Modify Data" ] }, "x_capec_domains": [ "Software" ], "x_capec_example_instances": [ "The attacker and the victim are using the same WiFi public hotspot. When the victim connects to the hotspot, they has a hosted e-mail account open. This e-mail account uses AJAX on the client side which periodically asynchronously connects to the server side and transfers, amongst other things, the user's session token to the server. The communication is supposed to happen over HTTPS. However, the configuration in the public hotspot initially disallows the HTTPS connection (or any other connection) between the victim and the hosted e-mail servers because the victim first needs to register with the hotspot. The victim does so, but their e-mail client already defaulted to using a connection without HTTPS, since it was denied access the first time. Victim's session token is now flowing unencrypted between the victim's browser and the hosted e-mail servers. The attacker leverages this opportunity to capture the session token and gain access to the victim's hosted e-mail account." ], "x_capec_execution_flow": "

Execution Flow

Explore

  1. Detect Unprotected Session Token Transfer: The attacker sniffs on the wireless network to detect unencrypted traffic that contains session tokens.

  2. Techniques
    The attacker uses a network sniffer tool like ferret or hamster to monitor the wireless traffic at a WiFi hotspot while examining it for evidence of transmittal of session tokens in unencrypted or recognizably encrypted form. An attacker applies their knowledge of the manner by which session tokens are generated and transmitted by various target systems to identify the session tokens.

Experiment

  1. Capture session token: The attacker uses sniffing tools to capture a session token from traffic.

  2. Insert captured session token: The attacker attempts to insert a captured session token into communication with the targeted application to confirm viability for exploitation.

Exploit

  1. Session Token Exploitation: The attacker leverages the captured session token to interact with the targeted application in a malicious fashion, impersonating the victim.

", "x_capec_likelihood_of_attack": "High", "x_capec_prerequisites": [ "An attacker and the victim are both using the same WiFi network.", "The victim has an active session with a target system.", "The victim is not using a secure channel to communicate with the target system (e.g. SSL, VPN, etc.)", "The victim initiated communication with a target system that requires transfer of the session token or the target application uses AJAX and thereby periodically \"rings home\" asynchronously using the session token" ], "x_capec_resources_required": [ "A packet sniffing tool, such as wireshark, can be used to capture session information." ], "x_capec_skills_required": { "Low": "Easy to use tools exist to automate this attack." }, "x_capec_status": "Draft", "x_capec_typical_severity": "High", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "Make sure that HTTPS is used to communicate with the target system. Alternatively, use VPN if possible. It is important to ensure that all communication between the client and the server happens via an encrypted secure channel.", "id": "course-of-action--0002fa37-9334-41e2-971a-cc8cab6c00c4", "modified": "2020-07-30T00:00:00.000Z", "name": "coa-102-0", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "course-of-action", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--5b42f764-6aa4-4c32-a752-c814178db08c", "modified": "2020-07-30T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--0002fa37-9334-41e2-971a-cc8cab6c00c4", "spec_version": "2.1", "target_ref": "attack-pattern--6a99b39b-b14a-4617-8aeb-bce85979f520", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "Modify the session token with each transmission and protect it with cryptography. Add the idea of request sequencing that gives the server an ability to detect replay attacks.", "id": "course-of-action--c2fe43b4-eb82-4bf6-b874-c2d9018c94fe", "modified": "2020-07-30T00:00:00.000Z", "name": "coa-102-1", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "course-of-action", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--66376c3d-cedd-4a2e-9fd6-1737edda9a5e", "modified": "2020-07-30T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--c2fe43b4-eb82-4bf6-b874-c2d9018c94fe", "spec_version": "2.1", "target_ref": "attack-pattern--6a99b39b-b14a-4617-8aeb-bce85979f520", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "An adversary tricks a victim into unknowingly initiating some action in one system while interacting with the UI from a seemingly completely different, usually an adversary controlled or intended, system.", "external_references": [ { "external_id": "CAPEC-103", "source_name": "capec", "url": "https://capec.mitre.org/data/definitions/103.html" }, { "external_id": "CWE-1021", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/1021.html" }, { "description": "Clickjacking", "source_name": "OWASP Attacks", "url": "https://owasp.org/www-community/attacks/Clickjacking" }, { "description": "OWASP Web Security Testing Guide, The Open Web Application Security Project (OWASP)", "external_id": "REF-619", "source_name": "reference_from_CAPEC", "url": "https://owasp.org/www-project-web-security-testing-guide/latest/4-Web_Application_Security_Testing/11-Client-side_Testing/09-Testing_for_Clickjacking.html" } ], "id": "attack-pattern--ec41b2b3-a3b6-4af0-be65-69e82907dfef", "modified": "2022-09-29T00:00:00.000Z", "name": "Clickjacking", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "attack-pattern", "x_capec_abstraction": "Standard", "x_capec_child_of_refs": [ "attack-pattern--fc3a9a6f-66c9-4363-8ebd-9bd18725fff8" ], "x_capec_consequences": { "Access_Control": [ "Gain Privileges" ], "Authorization": [ "Gain Privileges" ], "Availability": [ "Unreliable Execution" ], "Confidentiality": [ "Gain Privileges", "Read Data" ], "Integrity": [ "Modify Data" ] }, "x_capec_domains": [ "Social Engineering", "Software" ], "x_capec_example_instances": [ "\n A victim has an authenticated session with a site that provides an electronic payment service to transfer funds between subscribing members. At the same time, the victim receives an e-mail that appears to come from an online publication to which they subscribe with links to today's news articles. The victim clicks on one of these links and is taken to a page with the news story. There is a screen with an advertisement that appears on top of the news article with the 'skip this ad' button. Eager to read the news article, the user clicks on this button. Nothing happens. The user clicks on the button one more time and still nothing happens.\n In reality, the victim activated a hidden action control located in a transparent layer above the 'skip this ad' button. The ad screen blocking the news article made it likely that the victim would click on the 'skip this ad' button. Clicking on the button, actually initiated the transfer of $1000 from the victim's account with an electronic payment service to an adversary's account. Clicking on the 'skip this ad' button the second time (after nothing seemingly happened the first time) confirmed the transfer of funds to the electronic payment service.\n " ], "x_capec_execution_flow": "

Execution Flow

Experiment

  1. Craft a clickjacking page: The adversary utilizes web page layering techniques to try to craft a malicious clickjacking page

  2. Techniques
    The adversary leveraged iframe overlay capabilities to craft a malicious clickjacking page
    The adversary leveraged Flash file overlay capabilities to craft a malicious clickjacking page
    The adversary leveraged Silverlight overlay capabilities to craft a malicious clickjacking page
    The adversary leveraged cross-frame scripting to craft a malicious clickjacking page

Exploit

  1. Adversary lures victim to clickjacking page: Adversary utilizes some form of temptation, misdirection or coercion to lure the victim to loading and interacting with the clickjacking page in a way that increases the chances that the victim will click in the right areas.

  2. Techniques
    Lure the victim to the malicious site by sending the victim an e-mail with a URL to the site.
    Lure the victim to the malicious site by manipulating URLs on a site trusted by the victim.
    Lure the victim to the malicious site through a cross-site scripting attack.
  3. Trick victim into interacting with the clickjacking page in the desired manner: The adversary tricks the victim into clicking on the areas of the UI which contain the hidden action controls and thereby interacts with the target system maliciously with the victim's level of privilege.

  4. Techniques
    Hide action controls over very commonly used functionality.
    Hide action controls over very psychologically tempting content.
", "x_capec_extended_description": "\n While being logged in to some target system, the victim visits the adversary's malicious site which displays a UI that the victim wishes to interact with. In reality, the clickjacked page has a transparent layer above the visible UI with action controls that the adversary wishes the victim to execute. The victim clicks on buttons or other UI elements they see on the page which actually triggers the action controls in the transparent overlaying layer. Depending on what that action control is, the adversary may have just tricked the victim into executing some potentially privileged (and most certainly undesired) functionality in the target system to which the victim is authenticated. The basic problem here is that there is a dichotomy between what the victim thinks they are clicking on versus what they are actually clicking on.\n ", "x_capec_likelihood_of_attack": "Medium", "x_capec_parent_of_refs": [ "attack-pattern--1ff813eb-5def-43a0-a4b2-ea00aede114a", "attack-pattern--b9593e93-5589-4ae9-b0e7-09fa5c3136e5", "attack-pattern--0184fd4d-9134-42c0-b073-5e614773d408" ], "x_capec_prerequisites": [ "The victim is communicating with the target application via a web based UI and not a thick client", "The victim's browser security policies allow at least one of the following JavaScript, Flash, iFrames, ActiveX, or CSS.", "The victim uses a modern browser that supports UI elements like clickable buttons (i.e. not using an old text only browser)", "The victim has an active session with the target system.", "The target system's interaction window is open in the victim's browser and supports the ability for initiating sensitive actions on behalf of the user in the target system" ], "x_capec_resources_required": [ "None: No specialized resources are required to execute this type of attack." ], "x_capec_skills_required": { "High": "Crafting the proper malicious site and luring the victim to this site are not trivial tasks." }, "x_capec_status": "Draft", "x_capec_typical_severity": "High", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "If using the Firefox browser, use the NoScript plug-in that will help forbid iFrames.", "id": "course-of-action--80867248-4826-45e5-84e9-99e4d1bc07c4", "modified": "2022-09-29T00:00:00.000Z", "name": "coa-103-0", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "course-of-action", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--0e9b7917-b0c4-4461-93c3-7c9623a1eca8", "modified": "2022-09-29T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--80867248-4826-45e5-84e9-99e4d1bc07c4", "spec_version": "2.1", "target_ref": "attack-pattern--ec41b2b3-a3b6-4af0-be65-69e82907dfef", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "Turn off JavaScript, Flash and disable CSS.", "id": "course-of-action--a7b45eac-7a77-4462-81b6-3ae5d81528e1", "modified": "2022-09-29T00:00:00.000Z", "name": "coa-103-1", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "course-of-action", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--2c711dc9-c190-43bc-a5e0-02855f1b48e5", "modified": "2022-09-29T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--a7b45eac-7a77-4462-81b6-3ae5d81528e1", "spec_version": "2.1", "target_ref": "attack-pattern--ec41b2b3-a3b6-4af0-be65-69e82907dfef", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "When maintaining an authenticated session with a privileged target system, do not use the same browser to navigate to unfamiliar sites to perform other activities. Finish working with the target system and logout first before proceeding to other tasks.", "id": "course-of-action--fb383db0-5a1f-42bb-ba04-6b7434508fdb", "modified": "2022-09-29T00:00:00.000Z", "name": "coa-103-2", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "course-of-action", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--591f6f0b-24c7-4594-9450-5a3ca2a41ad7", "modified": "2022-09-29T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--fb383db0-5a1f-42bb-ba04-6b7434508fdb", "spec_version": "2.1", "target_ref": "attack-pattern--ec41b2b3-a3b6-4af0-be65-69e82907dfef", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "An attacker is able to cause a victim to load content into their web-browser that bypasses security zone controls and gain access to increased privileges to execute scripting code or other web objects such as unsigned ActiveX controls or applets. This is a privilege elevation attack targeted at zone-based web-browser security.", "external_references": [ { "external_id": "CAPEC-104", "source_name": "capec", "url": "https://capec.mitre.org/data/definitions/104.html" }, { "external_id": "CWE-250", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/250.html" }, { "external_id": "CWE-638", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/638.html" }, { "external_id": "CWE-285", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/285.html" }, { "external_id": "CWE-116", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/116.html" }, { "external_id": "CWE-20", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/20.html" } ], "id": "attack-pattern--ebf5cbfb-36d8-4983-9267-9d17bff3817f", "modified": "2022-02-22T00:00:00.000Z", "name": "Cross Zone Scripting", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "attack-pattern", "x_capec_abstraction": "Standard", "x_capec_child_of_refs": [ "attack-pattern--c05fff04-b965-4a11-9c18-379dac31969f" ], "x_capec_consequences": { "Access_Control": [ "Gain Privileges" ], "Authorization": [ "Gain Privileges" ], "Availability": [ "Execute Unauthorized Commands (Run Arbitrary Code)" ], "Confidentiality": [ "Read Data", "Gain Privileges", "Execute Unauthorized Commands (Run Arbitrary Code)" ], "Integrity": [ "Modify Data", "Execute Unauthorized Commands (Run Arbitrary Code)" ] }, "x_capec_domains": [ "Software" ], "x_capec_example_instances": [ "There was a cross zone scripting vulnerability discovered in Skype that allowed one user to upload a video with a maliciously crafted title that contains a script. Subsequently, when the victim attempts to use the \"add video to chat\" feature on attacker's video, the script embedded in the title of the video runs with local zone privileges. Skype is using IE web controls to render internal and external HTML pages. \"Add video to chat\" uses these web controls and they are running in the Local Zone. Any user who searched for the video in Skype with the same keywords as in the title field, would have the attackers' code executing in their browser with local zone privileges to their host machine (e.g. applications on the victim's host system could be executed)." ], "x_capec_execution_flow": "

Execution Flow

Explore

  1. Find systems susceptible to the attack: Find systems that contain functionality that is accessed from both the internet zone and the local zone. There needs to be a way to supply input to that functionality from the internet zone and that original input needs to be used later on a page from a local zone.

  2. Techniques
    Leverage knowledge of common local zone functionality on targeted platforms to guide attempted injection of code through relevant internet zone mechanisms. In some cases this may be due to standard system configurations enabling shared functionality between internet and local zones. The attacker can search for indicators that these standard configurations are in place.

Experiment

  1. Find the insertion point for the payload: The attacker first needs to find some system functionality or possibly another weakness in the system (e.g. susceptibility to cross site scripting) that would provide the attacker with a mechanism to deliver the payload (i.e. the code to be executed) to the user. The location from which this code is executed in the user's browser needs to be within the local machine zone.

  2. Techniques
    Finding weaknesses in functionality used by both privileged and unprivileged users.

Exploit

  1. Craft and inject the payload: Develop the payload to be executed in the higher privileged zone in the user's browser. Inject the payload and attempt to lure the victim (if possible) into executing the functionality which unleashes the payload.

  2. Techniques
    The attacker makes it as likely as possible that the vulnerable functionality into which they have injected the payload has a high likelihood of being used by the victim.
    Leverage cross-site scripting vulnerability to inject payload.
", "x_capec_extended_description": "\n In a zone-based model, pages belong to one of a set of zones corresponding to the level of privilege assigned to that page. Pages in an untrusted zone would have a lesser level of access to the system and/or be restricted in the types of executable content it was allowed to invoke. In a cross-zone scripting attack, a page that should be assigned to a less privileged zone is granted the privileges of a more trusted zone. This can be accomplished by exploiting bugs in the browser, exploiting incorrect configuration in the zone controls, through a cross-site scripting attack that causes the attackers' content to be treated as coming from a more trusted page, or by leveraging some piece of system functionality that is accessible from both the trusted and less trusted zone. This attack differs from \"Restful Privilege Escalation\" in that the latter correlates to the inadequate securing of RESTful access methods (such as HTTP DELETE) on the server, while cross-zone scripting attacks the concept of security zones as implemented by a browser.\n ", "x_capec_likelihood_of_attack": "Medium", "x_capec_prerequisites": [ "The target must be using a zone-aware browser." ], "x_capec_resources_required": [ "None: No specialized resources are required to execute this type of attack." ], "x_capec_skills_required": { "Medium": "Ability to craft malicious scripts or find them elsewhere and ability to identify functionality that is running web controls in the local zone and to find an injection vector into that functionality" }, "x_capec_status": "Draft", "x_capec_typical_severity": "High", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "Disable script execution.", "id": "course-of-action--9d62b228-ecb8-4238-bc64-ef63f9d03bd5", "modified": "2022-02-22T00:00:00.000Z", "name": "coa-104-0", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "course-of-action", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--d53f8236-31b6-44ef-9829-434ecc01751b", "modified": "2022-02-22T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--9d62b228-ecb8-4238-bc64-ef63f9d03bd5", "spec_version": "2.1", "target_ref": "attack-pattern--ebf5cbfb-36d8-4983-9267-9d17bff3817f", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "Ensure that sufficient input validation is performed for any potentially untrusted data before it is used in any privileged context or zone", "id": "course-of-action--ec174eec-0e8f-4c98-bfba-3ea29348c294", "modified": "2022-02-22T00:00:00.000Z", "name": "coa-104-1", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "course-of-action", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--9a5924dc-2691-401b-b498-a96e19330e3f", "modified": "2022-02-22T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--ec174eec-0e8f-4c98-bfba-3ea29348c294", "spec_version": "2.1", "target_ref": "attack-pattern--ebf5cbfb-36d8-4983-9267-9d17bff3817f", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "Limit the flow of untrusted data into the privileged areas of the system that run in the higher trust zone", "id": "course-of-action--ebaa0190-21bc-40aa-835b-534ee9459aba", "modified": "2022-02-22T00:00:00.000Z", "name": "coa-104-2", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "course-of-action", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--ddbbaa85-70d2-430f-b63f-f76eff819192", "modified": "2022-02-22T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--ebaa0190-21bc-40aa-835b-534ee9459aba", "spec_version": "2.1", "target_ref": "attack-pattern--ebf5cbfb-36d8-4983-9267-9d17bff3817f", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "Limit the sites that are being added to the local machine zone and restrict the privileges of the code running in that zone to the bare minimum", "id": "course-of-action--abf207ec-5477-490e-a258-3be7ce5376f4", "modified": "2022-02-22T00:00:00.000Z", "name": "coa-104-3", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "course-of-action", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--aa57cebd-a942-48ea-8782-ade74acdbddb", "modified": "2022-02-22T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--abf207ec-5477-490e-a258-3be7ce5376f4", "spec_version": "2.1", "target_ref": "attack-pattern--ebf5cbfb-36d8-4983-9267-9d17bff3817f", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "Ensure proper HTML output encoding before writing user supplied data to the page", "id": "course-of-action--d46c76e7-68c6-4e46-a3a2-d7dd40b98d75", "modified": "2022-02-22T00:00:00.000Z", "name": "coa-104-4", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "course-of-action", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--a223d161-4991-4c87-8118-ea0ee66f9f31", "modified": "2022-02-22T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--d46c76e7-68c6-4e46-a3a2-d7dd40b98d75", "spec_version": "2.1", "target_ref": "attack-pattern--ebf5cbfb-36d8-4983-9267-9d17bff3817f", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "\n An adversary abuses the flexibility and discrepancies in the parsing and interpretation of HTTP Request messages by different intermediary HTTP agents (e.g., load balancer, reverse proxy, web caching proxies, application firewalls, etc.) to split a single HTTP request into multiple unauthorized and malicious HTTP requests to a back-end HTTP agent (e.g., web server).\n See CanPrecede relationships for possible consequences.\n ", "external_references": [ { "external_id": "CAPEC-105", "source_name": "capec", "url": "https://capec.mitre.org/data/definitions/105.html" }, { "external_id": "CWE-74", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/74.html" }, { "external_id": "CWE-113", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/113.html" }, { "external_id": "CWE-138", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/138.html" }, { "external_id": "CWE-436", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/436.html" }, { "description": "HTTP Request Splitting", "external_id": "24", "source_name": "WASC", "url": "http://projects.webappsec.org/HTTP-Request-Splitting" }, { "description": "HTTP Response Smuggling, Beyond Security", "external_id": "REF-117", "source_name": "reference_from_CAPEC", "url": "http://www.securiteam.com/securityreviews/5CP0L0AHPC.html" }, { "description": "OWASP Web Security Testing Guide, The Open Web Application Security Project (OWASP)", "external_id": "REF-617", "source_name": "reference_from_CAPEC", "url": "https://owasp.org/www-project-web-security-testing-guide/latest/4-Web_Application_Security_Testing/07-Input_Validation_Testing/15-Testing_for_HTTP_Splitting_Smuggling.html" }, { "description": "Robert Auger, HTTP Request Splitting, 2011, The Web Application Security Consortium", "external_id": "REF-679", "source_name": "reference_from_CAPEC", "url": "http://projects.webappsec.org/w/page/13246929/HTTP%20Request%20Splitting" } ], "id": "attack-pattern--b89511b6-f0fb-4c1d-a884-a0d5a0d82b4e", "modified": "2022-09-29T00:00:00.000Z", "name": "HTTP Request Splitting", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "attack-pattern", "x_capec_abstraction": "Detailed", "x_capec_can_precede_refs": [ "attack-pattern--8f665166-dfd1-40cb-91e8-b78bee1ceb6a", "attack-pattern--e244a53a-8c69-462c-8ff2-900a839d48cb", "attack-pattern--70b83583-ffe3-4e6d-b4a6-61a9b9efc346", "attack-pattern--63f43efb-7a34-4302-b3dc-8245100fdea9", "attack-pattern--bd4f8f46-1bc7-40a9-b15a-e36b7671cf5b", "attack-pattern--ce92f5b9-6228-4354-8a1b-72ad7ad3bb84" ], "x_capec_child_of_refs": [ "attack-pattern--9c983530-1927-43ca-addd-63d149cda4a7" ], "x_capec_consequences": { "Access_Control": [ "Gain Privileges" ], "Authorization": [ "Gain Privileges" ], "Availability": [ "Execute Unauthorized Commands" ], "Confidentiality": [ "Execute Unauthorized Commands", "Gain Privileges", "Read Data" ], "Integrity": [ "Execute Unauthorized Commands", "Modify Data" ] }, "x_capec_domains": [ "Communications", "Software" ], "x_capec_example_instances": [ "\n Microsoft Internet Explorer versions 5.01 SP4 and prior, 6.0 SP2 and prior, and 7.0 contain a vulnerability that could allow an unauthenticated, remote adversary to conduct HTTP request splitting and smuggling attacks. The vulnerability is due to an input validation error in the browser that allows adversaries to manipulate certain headers to expose the browser to HTTP request splitting and smuggling attacks. Attacks may include cross-site scripting, proxy cache poisoning, and session fixation. In certain instances, an exploit could allow the adversary to bypass web application firewalls or other filtering devices. Microsoft has confirmed the vulnerability and released software updates.\n " ], "x_capec_execution_flow": "

Execution Flow

Explore

  1. Survey network to identify target: The adversary performs network reconnaissance by monitoring relevant traffic to identify the network path and parsing of the HTTP messages with the goal of identifying potential targets.

  2. Techniques
    Scan networks to fingerprint HTTP infrastructure and monitor HTTP traffic to identify HTTP network path with a tool such as a Network Protocol Analyzer.

Experiment

  1. Identify vulnerabilities in targeted HTTP infrastructure and technologies: The adversary sends a variety of benign/ambiguous HTTP requests to observe responses from HTTP infrastructure in order to identify differences/discrepancies in the interpretation and parsing of HTTP requests by examining supported HTTP protocol versions, HTTP headers, syntax checking and input filtering.

  2. Cause differential HTTP responses by experimenting with identified HTTP Request vulnerabilities: The adversary sends maliciously crafted HTTP requests with custom strings and embedded web scripts and objects in HTTP headers to interfere with the parsing of intermediary and back-end HTTP infrastructure, followed by normal/benign HTTP request from the adversary or a random user. The intended consequences of the malicious HTTP requests will be observed in the HTTP infrastructure response to the normal/benign HTTP request to confirm applicability of identified vulnerabilities in the adversary's plan of attack.

  3. Techniques
    Continue the monitoring of HTTP traffic.
    \n Utilize different sequences of special characters (CR - Carriage Return, LF - Line Feed, HT - Horizontal Tab, SP - Space and etc.) to bypass filtering and back-end encoding and to embed:\n \n additional HTTP Requests with their own headers\n malicious web scripts into parameters of HTTP Request headers (e.g., browser cookies like Set-Cookie or Ajax web/browser object parameters like XMLHttpRequest)\n adversary chosen encoding (e.g., UTF-7)\n \n to utilize additional special characters (e.g., > and <) filtered by the target HTTP agent.\n Note that certain special characters and character encoding may be applicable only to intermediary and front-end agents with rare configurations or that are not RFC compliant.\n
    Follow an unrecognized (sometimes a RFC compliant) HTTP header with a subsequent HTTP request to potentially cause the HTTP request to be ignored and interpreted as part of the preceding HTTP request.

Exploit

  1. Perform HTTP Request Splitting attack: Using knowledge discovered in the experiment section above, smuggle a message to cause one of the consequences.

  2. Techniques
    Leverage techniques identified in the Experiment Phase.
", "x_capec_extended_description": "\n This entails the adversary injecting malicious user input into various standard and/or user defined HTTP headers within a HTTP Request through user input of Carriage Return (CR), Line Feed (LF), Horizontal Tab (HT), Space (SP) characters as well as other valid/RFC compliant special characters and unique character encoding. This malicious user input allows for web script to be injected in HTTP headers as well as into browser cookies or Ajax web/browser object parameters like XMLHttpRequest during implementation of asynchronous requests.\n This attack is usually the result of the usage of outdated or incompatible HTTP protocol versions as well as lack of syntax checking and filtering of user input in the HTTP agents receiving HTTP messages in the path.\n This differs from CAPEC-34 HTTP Response Splitting, which is usually an attempt to compromise a client agent (e.g., web browser) by sending malicious content in HTTP responses from back-end HTTP infrastructure. HTTP Request Splitting is an attempt to compromise aback-end HTTP agentvia HTTP Request messages.\n HTTP Smuggling (CAPEC-33 and CAPEC-273) is different from HTTP Splitting due to the fact it relies upon discrepancies in the interpretation of various HTTP Headers and message sizes and not solely user input of special characters and character encoding. HTTP Smuggling was established to circumvent mitigations against HTTP Request Splitting techniques.\n ", "x_capec_likelihood_of_attack": "Medium", "x_capec_peer_of_refs": [ "attack-pattern--ba694895-a0cf-494e-ace2-bf3488330b80" ], "x_capec_prerequisites": [ "An additional intermediary HTTP agent such as an application firewall or a web caching proxy between the adversary and the second agent such as a web server, that sends multiple HTTP messages over same network connection.", "Differences in the way the two HTTP agents parse and interpret HTTP requests and its headers.", "HTTP headers capable of being user-manipulated.", "HTTP agents running on HTTP/1.0 or HTTP/1.1 that allow for Keep Alive mode, Pipelined queries, and Chunked queries and responses." ], "x_capec_resources_required": [ "Tools capable of crafting malicious HTTP messages and monitoring HTTP messages responses." ], "x_capec_skills_required": { "Medium": "Possess knowledge on the exact details in the discrepancies between several targeted HTTP agents in path of an HTTP message in parsing its message structure and individual headers." }, "x_capec_status": "Stable", "x_capec_typical_severity": "High", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "Design: evaluate HTTP agents prior to deployment for parsing/interpretation discrepancies.", "id": "course-of-action--94b24ec6-eaed-40ba-aa65-789101ea9a55", "modified": "2022-09-29T00:00:00.000Z", "name": "coa-105-0", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "course-of-action", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--4c7aff6e-7858-4273-ba44-dc920b8ff560", "modified": "2022-09-29T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--94b24ec6-eaed-40ba-aa65-789101ea9a55", "spec_version": "2.1", "target_ref": "attack-pattern--b89511b6-f0fb-4c1d-a884-a0d5a0d82b4e", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "Configuration: front-end HTTP agents notice ambiguous requests.", "id": "course-of-action--64555d1a-a57e-49d9-b9f8-02c843ba1af5", "modified": "2022-09-29T00:00:00.000Z", "name": "coa-105-1", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "course-of-action", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--8d3cd512-2e70-4e56-a57c-507684d1f6d1", "modified": "2022-09-29T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--64555d1a-a57e-49d9-b9f8-02c843ba1af5", "spec_version": "2.1", "target_ref": "attack-pattern--b89511b6-f0fb-4c1d-a884-a0d5a0d82b4e", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "Configuration: back-end HTTP agents reject ambiguous requests and close the network connection.", "id": "course-of-action--0bc589af-7ac3-4771-b1db-defb88ba61b5", "modified": "2022-09-29T00:00:00.000Z", "name": "coa-105-2", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "course-of-action", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--b867b8e9-a2c3-4882-98c9-3d5fa142fddb", "modified": "2022-09-29T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--0bc589af-7ac3-4771-b1db-defb88ba61b5", "spec_version": "2.1", "target_ref": "attack-pattern--b89511b6-f0fb-4c1d-a884-a0d5a0d82b4e", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "Configuration: Disable reuse of back-end connections.", "id": "course-of-action--65a59d08-b52c-4c78-b802-6e65c65f02e5", "modified": "2022-09-29T00:00:00.000Z", "name": "coa-105-3", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "course-of-action", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--8a78056e-5c0e-44f8-800a-91b0b7178716", "modified": "2022-09-29T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--65a59d08-b52c-4c78-b802-6e65c65f02e5", "spec_version": "2.1", "target_ref": "attack-pattern--b89511b6-f0fb-4c1d-a884-a0d5a0d82b4e", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "Configuration: Use HTTP/2 for back-end connections.", "id": "course-of-action--948de9b9-7ad6-4bf5-8daf-f2208db360d6", "modified": "2022-09-29T00:00:00.000Z", "name": "coa-105-4", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "course-of-action", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--ffba3f90-bbb1-4ab0-bf6a-750ca56acabd", "modified": "2022-09-29T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--948de9b9-7ad6-4bf5-8daf-f2208db360d6", "spec_version": "2.1", "target_ref": "attack-pattern--b89511b6-f0fb-4c1d-a884-a0d5a0d82b4e", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "Configuration: Use the same web server software for front-end and back-end server.", "id": "course-of-action--4bd16590-2382-4a10-9712-f28b7bf84fec", "modified": "2022-09-29T00:00:00.000Z", "name": "coa-105-5", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "course-of-action", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--c718be44-09e6-4be5-9a91-f792b8219ef4", "modified": "2022-09-29T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--4bd16590-2382-4a10-9712-f28b7bf84fec", "spec_version": "2.1", "target_ref": "attack-pattern--b89511b6-f0fb-4c1d-a884-a0d5a0d82b4e", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "Implementation: Utilize a Web Application Firewall (WAF) that has built-in mitigation to detect abnormal requests/responses.", "id": "course-of-action--5cc83b32-2b3e-41e5-94e8-2e2ea48bf660", "modified": "2022-09-29T00:00:00.000Z", "name": "coa-105-6", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "course-of-action", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--260f7f64-cbe9-46c3-b7b8-2528b37847d6", "modified": "2022-09-29T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--5cc83b32-2b3e-41e5-94e8-2e2ea48bf660", "spec_version": "2.1", "target_ref": "attack-pattern--b89511b6-f0fb-4c1d-a884-a0d5a0d82b4e", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "Configuration: Install latest vendor security patches available for both intermediary and back-end HTTP infrastructure (i.e. proxies and web servers)", "id": "course-of-action--43085d5c-cd1e-4175-9d44-f28f8f3cc5f9", "modified": "2022-09-29T00:00:00.000Z", "name": "coa-105-7", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "course-of-action", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--558063de-9f07-40ca-a209-3935e9afaddd", "modified": "2022-09-29T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--43085d5c-cd1e-4175-9d44-f28f8f3cc5f9", "spec_version": "2.1", "target_ref": "attack-pattern--b89511b6-f0fb-4c1d-a884-a0d5a0d82b4e", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "Configuration: Ensure that HTTP infrastructure in the chain or network path utilize a strict uniform parsing process.", "id": "course-of-action--50ea55ae-d8a8-4279-9dc9-05b6fb416b84", "modified": "2022-09-29T00:00:00.000Z", "name": "coa-105-8", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "course-of-action", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--1d29447c-15a4-4126-bef5-8a3dec2bc73a", "modified": "2022-09-29T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--50ea55ae-d8a8-4279-9dc9-05b6fb416b84", "spec_version": "2.1", "target_ref": "attack-pattern--b89511b6-f0fb-4c1d-a884-a0d5a0d82b4e", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "Implementation: Utilize intermediary HTTP infrastructure capable of filtering and/or sanitizing user-input.", "id": "course-of-action--a2e15722-f07d-44db-b988-af501e0f1e13", "modified": "2022-09-29T00:00:00.000Z", "name": "coa-105-9", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "course-of-action", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--4c046dff-3500-4208-a8f7-e7d170ad1267", "modified": "2022-09-29T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--a2e15722-f07d-44db-b988-af501e0f1e13", "spec_version": "2.1", "target_ref": "attack-pattern--b89511b6-f0fb-4c1d-a884-a0d5a0d82b4e", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "This attack pattern has been deprecated as it referes to an existing chain relationship between \"CAPEC-93 : Log Injection-Tampering-Forging\" and \"CAPEC-63 : Cross-Site Scripting\". Please refer to these CAPECs going forward.", "external_references": [ { "external_id": "CAPEC-106", "source_name": "capec", "url": "https://capec.mitre.org/data/definitions/106.html" } ], "id": "attack-pattern--87829d14-eece-4fa3-b36f-54cc3b2262ae", "modified": "2017-05-01T00:00:00.000Z", "name": "DEPRECATED: XSS through Log Files", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "attack-pattern", "x_capec_abstraction": "Detailed", "x_capec_status": "Deprecated", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "Cross Site Tracing (XST) enables an adversary to steal the victim's session cookie and possibly other authentication credentials transmitted in the header of the HTTP request when the victim's browser communicates to a destination system's web server.", "external_references": [ { "external_id": "CAPEC-107", "source_name": "capec", "url": "https://capec.mitre.org/data/definitions/107.html" }, { "external_id": "CWE-693", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/693.html" }, { "external_id": "CWE-648", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/648.html" }, { "description": "Cross Site Tracing", "source_name": "OWASP Attacks", "url": "https://owasp.org/www-community/attacks/Cross_Site_Tracing" }, { "description": "Jeremiah Grossman, Cross-Site Tracing (XST), 2003, WhiteHat Security", "external_id": "REF-3", "source_name": "reference_from_CAPEC", "url": "http://www.cgisecurity.com/whitehat-mirror/WH-WhitePaper_XST_ebook.pdf" } ], "id": "attack-pattern--f14acee3-770c-4154-a9b2-9eda908c6a9f", "modified": "2022-02-22T00:00:00.000Z", "name": "Cross Site Tracing", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "attack-pattern", "x_capec_abstraction": "Detailed", "x_capec_can_follow_refs": [ "attack-pattern--70b83583-ffe3-4e6d-b4a6-61a9b9efc346" ], "x_capec_child_of_refs": [ "attack-pattern--63f43efb-7a34-4302-b3dc-8245100fdea9" ], "x_capec_consequences": { "Access_Control": [ "Gain Privileges" ], "Authorization": [ "Gain Privileges" ], "Confidentiality": [ "Read Data", "Gain Privileges" ], "Integrity": [ "Modify Data" ] }, "x_capec_domains": [ "Software" ], "x_capec_example_instances": [ "\n An adversary determines that a particular system is vulnerable to reflected cross-site scripting (XSS) and endeavors to leverage this weakness to steal the victim's authentication cookie. An adversary realizes that since httpOnly attribute is set on the user's cookie, it is not possible to steal it directly with their malicious script. Instead, the adversary has their script use XMLHTTP ActiveX control in the victim's IE browser to issue an HTTP TRACE to the target system's server which has HTTP TRACE enabled. The original HTTP TRACE request contains the session cookie and so does the echoed response. The adversary picks the session cookie from the body of HTTP TRACE response and ships it to the adversary. The adversary then uses the newly acquired victim's session cookie to impersonate the victim in the target system.\n In the absence of an XSS weakness on the site with which the victim is interacting, an adversary can get the script to come from the site that they control and get it to execute in the victim's browser (if they can trick the victim's into visiting their malicious website or clicking on the link that they supplies). However, in that case, due to the same origin policy protection mechanism in the browser, the adversary's malicious script cannot directly issue an HTTP TRACE request to the destination system's web server because the malicious script did not originate at that domain. An adversary will then need to find a way to exploit another weakness that would enable them to circumvent the same origin policy protection.\n " ], "x_capec_execution_flow": "

Execution Flow

Explore

  1. Determine if HTTP Trace is enabled: Determine if HTTP Trace is enabled at the web server with which the victim has an active session

  2. Techniques
    An adversary may issue an HTTP Trace request to the target web server and observe if the response arrives with the original request in the body of the response.

Experiment

  1. Identify mechanism to launch HTTP Trace request: The adversary attempts to force the victim to issue an HTTP Trace request to the targeted application.

  2. Techniques
    The adversary probes for cross-site scripting vulnerabilities to force the victim into issuing an HTTP Trace request.

Exploit

  1. Create a malicious script that pings the web server with HTTP TRACE request: The adversary creates a malicious script that will induce the victim's browser to issue an HTTP TRACE request to the destination system's web server. The script will further intercept the response from the web server, pick up sensitive information out of it, and forward to the site controlled by the adversary.

  2. Techniques
    The adversary's malicious script circumvents the httpOnly cookie attribute that prevents from hijacking the victim's session cookie directly using document.cookie and instead leverages the HTTP TRACE to catch this information from the header of the HTTP request once it is echoed back from the web server in the body of the HTTP TRACE response.
  3. Execute malicious HTTP Trace launching script: The adversary leverages an XSS vulnerability to force the victim to execute the malicious HTTP Trace launching script

  4. Intercept HTTP TRACE response: The adversary's script intercepts the HTTP TRACE response from teh web server, glance sensitive information from it, and forward that information to a server controlled by the adversary.

", "x_capec_extended_description": "\n The adversary uses an XSS attack to have victim's browser sent an HTTP TRACE request to a destination web server, which will proceed to return a response to the victim's web browser that contains the original HTTP request in its body. Since the HTTP header of the original HTTP TRACE request had the victim's session cookie in it, that session cookie can now be picked off the HTTP TRACE response and sent to the adversary's malicious site. XST becomes relevant when direct access to the session cookie via the \"document.cookie\" object is disabled with the use of httpOnly attribute which ensures that the cookie can be transmitted in HTTP requests but cannot be accessed in other ways. Using SSL does not protect against XST. If the system with which the victim is interacting is susceptible to XSS, an adversary can exploit that weakness directly to get their malicious script to issue an HTTP TRACE request to the destination system's web server.\n ", "x_capec_likelihood_of_attack": "Medium", "x_capec_prerequisites": [ "HTTP TRACE is enabled on the web server", "The destination system is susceptible to XSS or an adversary can leverage some other weakness to bypass the same origin policy", "Scripting is enabled in the client's browser", "HTTP is used as the communication protocol between the server and the client" ], "x_capec_resources_required": [ "None: No specialized resources are required to execute this type of attack." ], "x_capec_skills_required": { "Medium": "Understanding of the HTTP protocol and an ability to craft a malicious script" }, "x_capec_status": "Draft", "x_capec_typical_severity": "Very High", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "Administrators should disable support for HTTP TRACE at the destination's web server. Vendors should disable TRACE by default.", "id": "course-of-action--16cc4cf6-75a8-41a1-bbc7-eff92929bc02", "modified": "2022-02-22T00:00:00.000Z", "name": "coa-107-0", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "course-of-action", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--92929267-6931-47a1-b4dd-3fd1d012b7cf", "modified": "2022-02-22T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--16cc4cf6-75a8-41a1-bbc7-eff92929bc02", "spec_version": "2.1", "target_ref": "attack-pattern--f14acee3-770c-4154-a9b2-9eda908c6a9f", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "Patch web browser against known security origin policy bypass exploits.", "id": "course-of-action--db00ffba-8edb-4b26-be69-98de08e8b45c", "modified": "2022-02-22T00:00:00.000Z", "name": "coa-107-1", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "course-of-action", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--eb4b5528-6e2e-4670-bfd3-983606f61020", "modified": "2022-02-22T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--db00ffba-8edb-4b26-be69-98de08e8b45c", "spec_version": "2.1", "target_ref": "attack-pattern--f14acee3-770c-4154-a9b2-9eda908c6a9f", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "An attacker uses standard SQL injection methods to inject data into the command line for execution. This could be done directly through misuse of directives such as MSSQL_xp_cmdshell or indirectly through injection of data into the database that would be interpreted as shell commands. Sometime later, an unscrupulous backend application (or could be part of the functionality of the same application) fetches the injected data stored in the database and uses this data as command line arguments without performing proper validation. The malicious data escapes that data plane by spawning new commands to be executed on the host.", "external_references": [ { "external_id": "CAPEC-108", "source_name": "capec", "url": "https://capec.mitre.org/data/definitions/108.html" }, { "external_id": "CWE-89", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/89.html" }, { "external_id": "CWE-74", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/74.html" }, { "external_id": "CWE-20", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/20.html" }, { "external_id": "CWE-78", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/78.html" }, { "external_id": "CWE-114", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/114.html" } ], "id": "attack-pattern--89acf77d-723b-43b4-b66d-6eaafed52369", "modified": "2022-09-29T00:00:00.000Z", "name": "Command Line Execution through SQL Injection", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "attack-pattern", "x_capec_abstraction": "Detailed", "x_capec_can_follow_refs": [ "attack-pattern--7c90bef7-530c-427b-8fb7-f9d3eda9c26a" ], "x_capec_child_of_refs": [ "attack-pattern--42acc604-a86c-46f7-bd03-6e532c02d85e" ], "x_capec_consequences": { "Access_Control": [ "Gain Privileges" ], "Authorization": [ "Gain Privileges" ], "Availability": [ "Unreliable Execution", "Execute Unauthorized Commands (Run Arbitrary Code)" ], "Confidentiality": [ "Read Data", "Gain Privileges", "Execute Unauthorized Commands (Run Arbitrary Code)" ], "Integrity": [ "Modify Data", "Execute Unauthorized Commands (Run Arbitrary Code)" ] }, "x_capec_domains": [ "Software" ], "x_capec_example_instances": [ "\n SQL injection vulnerability in Cacti 0.8.6i and earlier, when register_argc_argv is enabled, allows remote attackers to execute arbitrary SQL commands via the (1) second or (2) third arguments to cmd.php. NOTE: this issue can be leveraged to execute arbitrary commands since the SQL query results are later used in the polling_items array and popen function (CVE-2006-6799).\n Reference: https://www.cve.org/CVERecord?id=CVE-2006-6799\n " ], "x_capec_execution_flow": "

Execution Flow

Explore

  1. Probe for SQL Injection vulnerability: The attacker injects SQL syntax into user-controllable data inputs to search unfiltered execution of the SQL syntax in a query.

Exploit

  1. Achieve arbitrary command execution through SQL Injection with the MSSQL_xp_cmdshell directive: The attacker leverages a SQL Injection attack to inject shell code to be executed by leveraging the xp_cmdshell directive.

  2. Inject malicious data in the database: Leverage SQL injection to inject data in the database that could later be used to achieve command injection if ever used as a command line argument

  3. Trigger command line execution with injected arguments: The attacker causes execution of command line functionality which leverages previously injected database content as arguments.

", "x_capec_likelihood_of_attack": "Low", "x_capec_prerequisites": [ "The application does not properly validate data before storing in the database", "Backend application implicitly trusts the data stored in the database", "Malicious data is used on the backend as a command line argument" ], "x_capec_resources_required": [ "None: No specialized resources are required to execute this type of attack." ], "x_capec_skills_required": { "High": "The attacker most likely has to be familiar with the internal functionality of the system to launch this attack. Without that knowledge, there are not many feedback mechanisms to give an attacker the indication of how to perform command injection or whether the attack is succeeding." }, "x_capec_status": "Draft", "x_capec_typical_severity": "Very High", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "Disable MSSQL xp_cmdshell directive on the database", "id": "course-of-action--d1918081-1fdb-428c-b1e3-8116e054620e", "modified": "2022-09-29T00:00:00.000Z", "name": "coa-108-0", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "course-of-action", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--bb697224-7fb5-464b-bb81-e9cc28732c2d", "modified": "2022-09-29T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--d1918081-1fdb-428c-b1e3-8116e054620e", "spec_version": "2.1", "target_ref": "attack-pattern--89acf77d-723b-43b4-b66d-6eaafed52369", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "Properly validate the data (syntactically and semantically) before writing it to the database.", "id": "course-of-action--dad09427-e3ef-43e9-8424-cfb6594bedb2", "modified": "2022-09-29T00:00:00.000Z", "name": "coa-108-1", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "course-of-action", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--06fffa19-8a09-4715-bf01-f67ec647d4fc", "modified": "2022-09-29T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--dad09427-e3ef-43e9-8424-cfb6594bedb2", "spec_version": "2.1", "target_ref": "attack-pattern--89acf77d-723b-43b4-b66d-6eaafed52369", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "Do not implicitly trust the data stored in the database. Re-validate it prior to usage to make sure that it is safe to use in a given context (e.g. as a command line argument).", "id": "course-of-action--901ac737-5a15-4ef1-be33-b2e36a8c50da", "modified": "2022-09-29T00:00:00.000Z", "name": "coa-108-2", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "course-of-action", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--74092c9d-86c1-49c6-82cc-08e4da29ea92", "modified": "2022-09-29T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--901ac737-5a15-4ef1-be33-b2e36a8c50da", "spec_version": "2.1", "target_ref": "attack-pattern--89acf77d-723b-43b4-b66d-6eaafed52369", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "An attacker leverages a weakness present in the database access layer code generated with an Object Relational Mapping (ORM) tool or a weakness in the way that a developer used a persistence framework to inject their own SQL commands to be executed against the underlying database. The attack here is similar to plain SQL injection, except that the application does not use JDBC to directly talk to the database, but instead it uses a data access layer generated by an ORM tool or framework (e.g. Hibernate). While most of the time code generated by an ORM tool contains safe access methods that are immune to SQL injection, sometimes either due to some weakness in the generated code or due to the fact that the developer failed to use the generated access methods properly, SQL injection is still possible.", "external_references": [ { "external_id": "CAPEC-109", "source_name": "capec", "url": "https://capec.mitre.org/data/definitions/109.html" }, { "external_id": "CWE-20", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/20.html" }, { "external_id": "CWE-89", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/89.html" }, { "external_id": "CWE-564", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/564.html" }, { "description": "OWASP Web Security Testing Guide, The Open Web Application Security Project (OWASP)", "external_id": "REF-4", "source_name": "reference_from_CAPEC", "url": "http://www.owasp.org/www-project-web-security-testing-guide/latest/4-Web_Application_Security_Testing/07-Input_Validation_Testing/05.7-Testing_for_ORM_Injection" } ], "id": "attack-pattern--f0e32d0e-9580-4b79-95e0-6e3b99bf6e45", "modified": "2021-06-24T00:00:00.000Z", "name": "Object Relational Mapping Injection", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "attack-pattern", "x_capec_abstraction": "Detailed", "x_capec_child_of_refs": [ "attack-pattern--42acc604-a86c-46f7-bd03-6e532c02d85e" ], "x_capec_consequences": { "Access_Control": [ "Gain Privileges" ], "Authorization": [ "Gain Privileges" ], "Availability": [ "Unreliable Execution", "Execute Unauthorized Commands (Run Arbitrary Code)" ], "Confidentiality": [ "Read Data", "Gain Privileges", "Execute Unauthorized Commands (Run Arbitrary Code)" ], "Integrity": [ "Modify Data", "Execute Unauthorized Commands (Run Arbitrary Code)" ] }, "x_capec_domains": [ "Software" ], "x_capec_example_instances": [ "When using Hibernate, it is possible to use the session.find() method to run queries against the database. This is an overloaded method that provides facilities to perform binding between the supplied user data and place holders in the statically defined query. However, it is also possible to use the session.find() method without using any of these query binding overloads, hence effectively concatenating the user supplied data with rest of the SQL query, resulting in a possibility for SQL injection. While the framework may provide mechanisms to use methods immune to SQL injections, it may also contain ways that are not immune that may be chosen by the developer." ], "x_capec_execution_flow": "

Execution Flow

Explore

  1. Determine Persistence Framework Used: An attacker tries to determine what persistence framework is used by the application in order to leverage a weakness in the generated data access layer code or a weakness in a way that the data access layer may have been used by the developer.

  2. Techniques
    An attacker provides input to the application in an attempt to induce an error screen that reveals a stack trace that gives an indication of the automated data access layer used. Or an attacker may simply make some educated guesses and assume, for instance, that Hibernate is used and try to craft an attack from there.
  3. Probe for ORM Injection vulnerabilities: The attacker injects ORM syntax into user-controllable data inputs of the application to determine if it is possible modify data query structure and content.

Exploit

  1. Perform SQL Injection through the generated data access layer: An attacker proceeds to exploit a weakness in the generated data access methods that does not properly separate control plane from the data plan, or potentially a particular way in which developer might have misused the generated code, to modify the structure of the executed SQL queries and/or inject entirely new SQL queries.

  2. Techniques
    An attacker uses normal SQL injection techniques and adjusts them to reflect the type of data access layer generation framework used by the application.
", "x_capec_likelihood_of_attack": "Low", "x_capec_prerequisites": [ "An application uses data access layer generated by an ORM tool or framework", "An application uses user supplied data in queries executed against the database", "The separation between data plane and control plane is not ensured, through either developer error or an underlying weakness in the data access layer code generation framework" ], "x_capec_resources_required": [ "None: No specialized resources are required to execute this type of attack." ], "x_capec_skills_required": { "Medium": "Knowledge of general SQL injection techniques and subtleties of the ORM framework is needed" }, "x_capec_status": "Draft", "x_capec_typical_severity": "High", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "Remember to understand how to use the data access methods generated by the ORM tool / framework properly in a way that would leverage the built-in security mechanisms of the framework", "id": "course-of-action--fc27d692-9337-4434-bf26-3b58ffd7ab42", "modified": "2021-06-24T00:00:00.000Z", "name": "coa-109-0", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "course-of-action", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--44a7c013-8531-4a05-b8fc-d49a59a09123", "modified": "2021-06-24T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--fc27d692-9337-4434-bf26-3b58ffd7ab42", "spec_version": "2.1", "target_ref": "attack-pattern--f0e32d0e-9580-4b79-95e0-6e3b99bf6e45", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "Ensure to keep up to date with security relevant updates to the persistence framework used within your application.", "id": "course-of-action--d19890d1-f3ad-4940-851c-62729cd33bf5", "modified": "2021-06-24T00:00:00.000Z", "name": "coa-109-1", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "course-of-action", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--d021b9f3-7bd8-4d7c-8e30-933d2cff35f6", "modified": "2021-06-24T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--d19890d1-f3ad-4940-851c-62729cd33bf5", "spec_version": "2.1", "target_ref": "attack-pattern--f0e32d0e-9580-4b79-95e0-6e3b99bf6e45", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "An attack of this type exploits a Web server's decision to take action based on filename or file extension. Because different file types are handled by different server processes, misclassification may force the Web server to take unexpected action, or expected actions in an unexpected sequence. This may cause the server to exhaust resources, supply debug or system data to the attacker, or bind an attacker to a remote process.", "external_references": [ { "external_id": "CAPEC-11", "source_name": "capec", "url": "https://capec.mitre.org/data/definitions/11.html" }, { "external_id": "CWE-430", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/430.html" }, { "description": "Masquerading: Space after Filename", "external_id": "T1036.006", "source_name": "ATTACK", "url": "https://attack.mitre.org/wiki/Technique/T1036/006" }, { "description": "G. Hoglund, G. McGraw, Exploiting Software: How to Break Code, 2004--02, Addison-Wesley", "external_id": "REF-1", "source_name": "reference_from_CAPEC" }, { "description": "Orion Application Server JSP Source Disclosure Vulnerability (Bugtraq ID: 17204), SecurityFocus", "external_id": "REF-6", "source_name": "reference_from_CAPEC", "url": "http://www.securityfocus.com/bid/17204/info" } ], "id": "attack-pattern--74a4fb36-83cb-4851-b09c-370f1a408523", "modified": "2022-09-29T00:00:00.000Z", "name": "Cause Web Server Misclassification", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "attack-pattern", "x_capec_abstraction": "Detailed", "x_capec_child_of_refs": [ "attack-pattern--95afb65f-ece7-4511-85a3-d7bfb9973022" ], "x_capec_consequences": { "Access_Control": [ "Gain Privileges" ], "Authorization": [ "Gain Privileges" ], "Confidentiality": [ "Read Data", "Gain Privileges" ] }, "x_capec_domains": [ "Software" ], "x_capec_example_instances": [ "\n J2EE application servers are supposed to execute Java Server Pages (JSP). There have been disclosure issues relating to Orion Application Server, where an attacker that appends either a period (.) or space characters to the end of a legitimate Http request, then the server displays the full source code in the attackers' web browser.\n http://victim.site/login.jsp.\n Since remote data and directory access may be accessed directly from the JSP, this is a potentially very serious issue.\n [REF-6]\n " ], "x_capec_execution_flow": "

Execution Flow

Explore

  1. Footprint file input vectors: Manually or using an automated tool, an attacker searches for all input locations where a user has control over the filenames or MIME types of files submitted to the web server.

  2. Techniques
    Attacker manually crawls application to identify file inputs
    Attacker uses an automated tool to crawl application identify file inputs
    Attacker manually assesses strength of access control protecting native application files from user control
    Attacker explores potential for submitting files directly to the web server via independently constructed HTTP Requests

Experiment

  1. File misclassification shotgunning: An attacker makes changes to file extensions and MIME types typically processed by web servers and looks for abnormal behavior.

  2. Techniques
    Attacker submits files with switched extensions (e.g. .php on a .jsp file) to web server.
    Attacker adds extra characters (e.g. adding an extra . after the file extension) to filenames of files submitted to web server.
  3. File misclassification sniping: Understanding how certain file types are processed by web servers, an attacker crafts varying file payloads and modifies their file extension or MIME type to be that of the targeted type to see if the web server is vulnerable to misclassification of that type.

  4. Techniques
    Craft a malicious file payload, modify file extension to the targeted file type and submit it to the web server.
    Craft a malicious file payload, modify its associated MIME type to the targeted file type and submit it to the web server.

Exploit

  1. Disclose information: The attacker, by manipulating a file extension or MIME type is able to make the web server return raw information (not executed).

  2. Techniques
    Manipulate the file names that are explicitly sent to the server.
    Manipulate the MIME sent in order to confuse the web server.
", "x_capec_extended_description": "\n This type of vulnerability has been found in many widely used servers including IIS, Lotus Domino, and Orion. The attacker's job in this case is straightforward, standard communication protocols and methods are used and are generally appended with malicious information at the tail end of an otherwise legitimate request. The attack payload varies, but it could be special characters like a period or simply appending a tag that has a special meaning for operations on the server side like .jsp for a java application server. The essence of this attack is that the attacker deceives the server into executing functionality based on the name of the request, i.e. login.jsp, not the contents.\n ", "x_capec_likelihood_of_attack": "Medium", "x_capec_prerequisites": [ "Web server software must rely on file name or file extension for processing.", "The attacker must be able to make HTTP requests to the web server." ], "x_capec_resources_required": [ "None: No specialized resources are required to execute this type of attack." ], "x_capec_skills_required": { "Low": "To modify file name or file extension", "Medium": "To use misclassification to force the Web server to disclose configuration information, source, or binary data" }, "x_capec_status": "Draft", "x_capec_typical_severity": "High", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "Implementation: Server routines should be determined by content not determined by filename or file extension.", "id": "course-of-action--a2f0dd07-332e-41f6-951c-fa0994e302de", "modified": "2022-09-29T00:00:00.000Z", "name": "coa-11-0", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "course-of-action", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--22b26b12-1eff-40ab-95ab-8de26f22b487", "modified": "2022-09-29T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--a2f0dd07-332e-41f6-951c-fa0994e302de", "spec_version": "2.1", "target_ref": "attack-pattern--74a4fb36-83cb-4851-b09c-370f1a408523", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "An attacker modifies the parameters of the SOAP message that is sent from the service consumer to the service provider to initiate a SQL injection attack. On the service provider side, the SOAP message is parsed and parameters are not properly validated before being used to access a database in a way that does not use parameter binding, thus enabling the attacker to control the structure of the executed SQL query. This pattern describes a SQL injection attack with the delivery mechanism being a SOAP message.", "external_references": [ { "external_id": "CAPEC-110", "source_name": "capec", "url": "https://capec.mitre.org/data/definitions/110.html" }, { "external_id": "CWE-89", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/89.html" }, { "external_id": "CWE-20", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/20.html" } ], "id": "attack-pattern--7c90bef7-530c-427b-8fb7-f9d3eda9c26a", "modified": "2021-06-24T00:00:00.000Z", "name": "SQL Injection through SOAP Parameter Tampering", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "attack-pattern", "x_capec_abstraction": "Detailed", "x_capec_can_follow_refs": [ "attack-pattern--8e3a14fd-870a-4286-866d-805107c7d922" ], "x_capec_can_precede_refs": [ "attack-pattern--89acf77d-723b-43b4-b66d-6eaafed52369" ], "x_capec_child_of_refs": [ "attack-pattern--42acc604-a86c-46f7-bd03-6e532c02d85e" ], "x_capec_consequences": { "Access_Control": [ "Gain Privileges" ], "Authorization": [ "Gain Privileges" ], "Availability": [ "Unreliable Execution", "Execute Unauthorized Commands (Run Arbitrary Code)" ], "Confidentiality": [ "Read Data", "Gain Privileges", "Execute Unauthorized Commands (Run Arbitrary Code)" ], "Integrity": [ "Modify Data", "Execute Unauthorized Commands (Run Arbitrary Code)" ] }, "x_capec_domains": [ "Software" ], "x_capec_example_instances": [ "An attacker uses a travel booking system that leverages SOAP communication between the client and the travel booking service. An attacker begins to tamper with the outgoing SOAP messages by modifying their parameters to include characters that would break a dynamically constructed SQL query. They notice that the system fails to respond when these malicious inputs are injected in certain parameters transferred in a SOAP message. The attacker crafts a SQL query that modifies their payment amount in the travel system's database and passes it as one of the parameters . A backend batch payment system later fetches the payment amount from the database (the modified payment amount) and sends to the credit card processor, enabling the attacker to purchase the airfare at a lower price. An attacker needs to have some knowledge of the system's database, perhaps by exploiting another weakness that results in information disclosure." ], "x_capec_execution_flow": "

Execution Flow

Explore

  1. Detect Incorrect SOAP Parameter Handling: The attacker tampers with the SOAP message parameters and looks for indications that the tampering caused a change in behavior of the targeted application.

  2. Techniques
    The attacker tampers with the SOAP message parameters by injecting some special characters such as single quotes, double quotes, semi columns, etc. The attacker observes system behavior.

Experiment

  1. Probe for SQL Injection vulnerability: The attacker injects SQL syntax into vulnerable SOAP parameters identified during the Explore phase to search for unfiltered execution of the SQL syntax in a query.

Exploit

  1. Inject SQL via SOAP Parameters: The attacker injects SQL via SOAP parameters identified as vulnerable during Explore phase to launch a first or second order SQL injection attack.

  2. Techniques
    An attacker performs a SQL injection attack via the usual methods leveraging SOAP parameters as the injection vector. An attacker has to be careful not to break the XML parser at the service provider which may prevent the payload getting through to the SQL query. The attacker may also look at the WSDL for the web service (if available) to better understand what is expected by the service provider.
", "x_capec_likelihood_of_attack": "High", "x_capec_prerequisites": [ "SOAP messages are used as a communication mechanism in the system", "SOAP parameters are not properly validated at the service provider", "The service provider does not properly utilize parameter binding when building SQL queries" ], "x_capec_resources_required": [ "None: No specialized resources are required to execute this type of attack." ], "x_capec_skills_required": { "High": "If the attacker has to perform Blind SQL Injection", "Medium": "If the attacker is able to gain good understanding of the system's database schema" }, "x_capec_status": "Draft", "x_capec_typical_severity": "Very High", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "Properly validate and sanitize/reject user input at the service provider.", "id": "course-of-action--b95cd192-7218-4771-85a6-6d6359c63b34", "modified": "2021-06-24T00:00:00.000Z", "name": "coa-110-0", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "course-of-action", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--a3a9b355-487c-4cfd-904c-055007648f78", "modified": "2021-06-24T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--b95cd192-7218-4771-85a6-6d6359c63b34", "spec_version": "2.1", "target_ref": "attack-pattern--7c90bef7-530c-427b-8fb7-f9d3eda9c26a", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "Ensure that prepared statements or other mechanism that enables parameter binding is used when accessing the database in a way that would prevent the attackers' supplied data from controlling the structure of the executed query.", "id": "course-of-action--b4508bd0-d52b-4b82-b35c-ba342a6d024b", "modified": "2021-06-24T00:00:00.000Z", "name": "coa-110-1", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "course-of-action", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--ecba2a2e-f73d-4937-9f4e-d8650932e41a", "modified": "2021-06-24T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--b4508bd0-d52b-4b82-b35c-ba342a6d024b", "spec_version": "2.1", "target_ref": "attack-pattern--7c90bef7-530c-427b-8fb7-f9d3eda9c26a", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "At the database level, ensure that the database user used by the application in a particular context has the minimum needed privileges to the database that are needed to perform the operation. When possible, run queries against pre-generated views rather than the tables directly.", "id": "course-of-action--58d0cbaa-2fda-4d1c-bbe1-8405dc79acbb", "modified": "2021-06-24T00:00:00.000Z", "name": "coa-110-2", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "course-of-action", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--c0ab5963-a4b2-4dab-aeee-924ec742c54a", "modified": "2021-06-24T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--58d0cbaa-2fda-4d1c-bbe1-8405dc79acbb", "spec_version": "2.1", "target_ref": "attack-pattern--7c90bef7-530c-427b-8fb7-f9d3eda9c26a", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "An attacker targets a system that uses JavaScript Object Notation (JSON) as a transport mechanism between the client and the server (common in Web 2.0 systems using AJAX) to steal possibly confidential information transmitted from the server back to the client inside the JSON object by taking advantage of the loophole in the browser's Same Origin Policy that does not prohibit JavaScript from one website to be included and executed in the context of another website.", "external_references": [ { "external_id": "CAPEC-111", "source_name": "capec", "url": "https://capec.mitre.org/data/definitions/111.html" }, { "external_id": "CWE-345", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/345.html" }, { "external_id": "CWE-346", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/346.html" }, { "external_id": "CWE-352", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/352.html" } ], "id": "attack-pattern--5b2d7149-c0f3-4b42-9c10-febe7dfd3ea5", "modified": "2022-09-29T00:00:00.000Z", "name": "JSON Hijacking (aka JavaScript Hijacking)", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "attack-pattern", "x_capec_abstraction": "Standard", "x_capec_child_of_refs": [ "attack-pattern--c727c058-2c9d-4021-a1ec-81dd030dea59" ], "x_capec_consequences": { "Confidentiality": [ "Read Data" ] }, "x_capec_domains": [ "Software" ], "x_capec_example_instances": [ "\n Gmail service was found to be vulnerable to a JSON Hijacking attack that enabled an attacker to get the contents of the victim's address book. An attacker could send an e-mail to the victim's Gmail account (which ensures that the victim is logged in to Gmail when they receive it) with a link to the attackers' malicious site. If the victim clicked on the link, a request (containing the victim's authenticated session cookie) would be sent to the Gmail servers to fetch the victim's address book. This functionality is typically used by the Gmail service to get this data on the fly so that the user can be provided a list of contacts from which to choose the recipient of the e-mail.\n When the JSON object with the contacts came back, it was loaded into the JavaScript space via a script tag on the attackers' malicious page. Since the JSON object was never assigned to a local variable (which would have prevented a script from a different domain accessing it due to the browser's same origin policy), another mechanism was needed to access the data that it contained. That mechanism was overwriting the internal array constructor with the attackers' own constructor in order to gain access to the JSON object's contents. These contents could then be transferred to the site controlled by the attacker.\n " ], "x_capec_execution_flow": "

Execution Flow

Explore

  1. Understand How to Request JSON Responses from the Target System: An attacker first explores the target system to understand what URLs need to be provided to it in order to retrieve JSON objects that contain information of interest to the attacker.

  2. Techniques
    An attacker creates an account with the target system and observes requests and the corresponding JSON responses from the server. Understanding how to properly elicit responses from the server is crucial to the attackers' ability to craft the exploit.

Experiment

  1. [Craft a malicious website]The attacker crafts a malicious website to which they plan to lure the victim who is using the vulnerable target system. The malicious website does two things:\n \n 1. Contains a hook that intercepts incoming JSON objects, reads their contents and forwards the contents to the server controlled by the attacker (via a new XMLHttpRequest).\n 2. Uses the script tag with a URL in the source that requests a JSON object from the vulnerable target system. Once the JSON object is transmitted to the victim's browser, the malicious code (as described in step 1) intercepts that JSON object, steals its contents, and forwards to the attacker.\n \n This attack step leverages the fact that the same origin policy in the browser does not protect JavaScript originating from one domain from setting up an environment to intercept and access JSON objects arriving from a completely different domain.\n

Exploit

  1. Launch JSON hijack: An attacker lures the victim to the malicious website or leverages other means to get their malicious code executing in the victim's browser. Once that happens, the malicious code makes a request to the victim target system to retrieve a JSON object with sensitive information. The request includes the victim's session cookie if the victim is logged in.

  2. Techniques
    An attacker employs a myriad of standard techniques to get the victim to visit their malicious site or by some other means get the attackers' malicious code executing in the victim's browser.
", "x_capec_extended_description": "\n An attacker gets the victim to visit their malicious page that contains a script tag whose source points to the vulnerable system with a URL that requests a response from the server containing a JSON object with possibly confidential information. The malicious page also contains malicious code to capture the JSON object returned by the server before any other processing on it can take place, typically by overriding the JavaScript function used to create new objects. This hook allows the malicious code to get access to the creation of each object and transmit the possibly sensitive contents of the captured JSON object to the attackers' server.\n There is nothing in the browser's security model to prevent the attackers' malicious JavaScript code (originating from attacker's domain) to set up an environment (as described above) to intercept a JSON object response (coming from the vulnerable target system's domain), read its contents and transmit to the attackers' controlled site. The same origin policy protects the domain object model (DOM), but not the JSON.\n ", "x_capec_likelihood_of_attack": "High", "x_capec_prerequisites": [ "JSON is used as a transport mechanism between the client and the server", "The target server cannot differentiate real requests from forged requests", "The JSON object returned from the server can be accessed by the attackers' malicious code via a script tag" ], "x_capec_resources_required": [ "None: No specialized resources are required to execute this type of attack." ], "x_capec_skills_required": { "Medium": "Once this attack pattern is developed and understood, creating an exploit is not very complex.The attacker needs to have knowledge of the URLs that need to be accessed on the target system to request the JSON objects." }, "x_capec_status": "Draft", "x_capec_typical_severity": "High", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "Ensure that server side code can differentiate between legitimate requests and forged requests. The solution is similar to protection against Cross Site Request Forger (CSRF), which is to use a hard to guess random nonce (that is unique to the victim's session with the server) that the attacker has no way of knowing (at least in the absence of other weaknesses). Each request from the client to the server should contain this nonce and the server should reject all requests that do not contain the nonce.", "id": "course-of-action--f87b1daf-edf4-4fb0-bc8e-a042d0c2d43e", "modified": "2022-09-29T00:00:00.000Z", "name": "coa-111-0", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "course-of-action", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--739ac6c9-0bf4-4b2b-80c8-407013b2e9fa", "modified": "2022-09-29T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--f87b1daf-edf4-4fb0-bc8e-a042d0c2d43e", "spec_version": "2.1", "target_ref": "attack-pattern--5b2d7149-c0f3-4b42-9c10-febe7dfd3ea5", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "On the client side, the system's design could make it difficult to get access to the JSON object content via the script tag. Since the JSON object is never assigned locally to a variable, it cannot be readily modified by the attacker before being used by a script tag. For instance, if while(1) was added to the beginning of the JavaScript returned by the server, trying to access it with a script tag would result in an infinite loop. On the other hand, legitimate client side code can remove the while(1) statement after which the JavaScript can be evaluated. A similar result can be achieved by surrounding the returned JavaScript with comment tags, or using other similar techniques (e.g. wrapping the JavaScript with HTML tags).", "id": "course-of-action--00b17d50-1313-4019-81d7-ac8cfda42439", "modified": "2022-09-29T00:00:00.000Z", "name": "coa-111-1", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "course-of-action", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--0b7db0b5-d1c4-48fa-aef5-d966935fecc5", "modified": "2022-09-29T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--00b17d50-1313-4019-81d7-ac8cfda42439", "spec_version": "2.1", "target_ref": "attack-pattern--5b2d7149-c0f3-4b42-9c10-febe7dfd3ea5", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "Make the URLs in the system used to retrieve JSON objects unpredictable and unique for each user session.", "id": "course-of-action--9085eee9-2f7e-4b3b-bbea-dbc4f0d0044f", "modified": "2022-09-29T00:00:00.000Z", "name": "coa-111-2", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "course-of-action", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--ce344fe2-2f03-491f-a465-a5e7578ca3aa", "modified": "2022-09-29T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--9085eee9-2f7e-4b3b-bbea-dbc4f0d0044f", "spec_version": "2.1", "target_ref": "attack-pattern--5b2d7149-c0f3-4b42-9c10-febe7dfd3ea5", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "Ensure that to the extent possible, no sensitive data is passed from the server to the client via JSON objects. JavaScript was never intended to play that role, hence the same origin policy does not adequate address this scenario.", "id": "course-of-action--ec731c48-7174-45e1-85e5-b82150c25e2f", "modified": "2022-09-29T00:00:00.000Z", "name": "coa-111-3", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "course-of-action", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--ccdf4c19-dc2a-46b4-b444-b78da5d0300f", "modified": "2022-09-29T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--ec731c48-7174-45e1-85e5-b82150c25e2f", "spec_version": "2.1", "target_ref": "attack-pattern--5b2d7149-c0f3-4b42-9c10-febe7dfd3ea5", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "In this attack, some asset (information, functionality, identity, etc.) is protected by a finite secret value. The attacker attempts to gain access to this asset by using trial-and-error to exhaustively explore all the possible secret values in the hope of finding the secret (or a value that is functionally equivalent) that will unlock the asset.", "external_references": [ { "external_id": "CAPEC-112", "source_name": "capec", "url": "https://capec.mitre.org/data/definitions/112.html" }, { "external_id": "CWE-330", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/330.html" }, { "external_id": "CWE-326", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/326.html" }, { "external_id": "CWE-521", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/521.html" }, { "description": "Brute Force", "external_id": "T1110", "source_name": "ATTACK", "url": "https://attack.mitre.org/wiki/Technique/T1110" }, { "description": "Brute Force", "external_id": "11", "source_name": "WASC", "url": "http://projects.webappsec.org/Brute-Force" }, { "description": "Brute force attack", "source_name": "OWASP Attacks", "url": "https://owasp.org/www-community/attacks/Brute_force_attack" } ], "id": "attack-pattern--7b423196-9de6-400f-91de-a1f26b3f19f1", "modified": "2022-09-29T00:00:00.000Z", "name": "Brute Force", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "attack-pattern", "x_capec_abstraction": "Meta", "x_capec_consequences": { "Access_Control": [ "Gain Privileges" ], "Authorization": [ "Gain Privileges" ], "Confidentiality": [ "Read Data", "Gain Privileges" ] }, "x_capec_domains": [ "Software" ], "x_capec_execution_flow": "

Execution Flow

Explore

  1. Determine secret testing procedure: Determine how a potential guess of the secret may be tested. This may be accomplished by comparing some manipulation of the secret to a known value, use of the secret to manipulate some known set of data and determining if the result displays specific characteristics (for example, turning cryptotext into plaintext), or by submitting the secret to some external authority and having the external authority respond as to whether the value was the correct secret. Ideally, the attacker will want to determine the correctness of their guess independently since involvement of an external authority is usually slower and can provide an indication to the defender that a brute-force attack is being attempted.

  2. Techniques
    Determine if there is a way to parallelize the attack. Most brute force attacks can take advantage of parallel techniques by dividing the search space among available resources, thus dividing the average time to success by the number of resources available. If there is a single choke point, such as a need to check answers with an external authority, the attackers' position is significantly degraded.
  3. Reduce search space: Find ways to reduce the secret space. The smaller the attacker can make the space they need to search for the secret value, the greater their chances for success. There are a great many ways in which the search space may be reduced.

  4. Techniques
    If possible, determine how the secret was selected. If the secret was determined algorithmically (such as by a random number generator) the algorithm may have patterns or dependencies that reduce the size of the secret space. If the secret was created by a human, behavioral factors may, if not completely reduce the space, make some types of secrets more likely than others. (For example, humans may use the same secrets in multiple places or use secrets that look or sound familiar for ease of recall.)
    If the secret was chosen algorithmically, cryptanalysis can be applied to the algorithm to discover patterns in this algorithm. (This is true even if the secret is not used in cryptography.) Periodicity, the need for seed values, or weaknesses in the generator all can result in a significantly smaller secret space.
    If the secret was chosen by a person, social engineering and simple espionage can indicate patterns in their secret selection. If old secrets can be learned (and a target may feel they have little need to protect a secret that has been replaced) hints as to their selection preferences can be gleaned. These can include character substitutions a target employs, patterns in sources (dates, famous phrases, music lyrics, family members, etc.). Once these patterns have been determined, the initial efforts of a brute-force attack can focus on these areas.
    Some algorithmic techniques for secret selection may leave indicators that can be tested for relatively easily and which could then be used to eliminate large areas of the search space for consideration. For example, it may be possible to determine that a secret does or does not start with a given character after a relatively small number of tests. Alternatively, it might be possible to discover the length of the secret relatively easily. These discoveries would significantly reduce the search space, thus increasing speed with which the attacker discovers the secret.
  5. Expand victory conditions: It is sometimes possible to expand victory conditions. For example, the attacker might not need to know the exact secret but simply needs a value that produces the same result using a one-way function. While doing this does not reduce the size of the search space, the presence of multiple victory conditions does reduce the likely amount of time that the attacker will need to explore the space before finding a workable value.

Exploit

  1. Gather information so attack can be performed independently.: If possible, gather the necessary information so a successful search can be determined without consultation of an external authority. This can be accomplished by capturing cryptotext (if the goal is decoding the text) or the encrypted password dictionary (if the goal is learning passwords).

", "x_capec_extended_description": "\n Examples of secrets can include, but are not limited to, passwords, encryption keys, database lookup keys, and initial values to one-way functions. The key factor in this attack is the attackers' ability to explore the possible secret space rapidly. This, in turn, is a function of the size of the secret space and the computational power the attacker is able to bring to bear on the problem. If the attacker has modest resources and the secret space is large, the challenge facing the attacker is intractable. Assuming a finite secret space, a brute force attack will eventually succeed. The defender must rely on making sure that the time and resources necessary to do so will exceed the value of the information.\n ", "x_capec_parent_of_refs": [ "attack-pattern--86a5e931-7f53-46fe-b6f0-c88498f6557f", "attack-pattern--8d88a81c-bde9-4fb3-acbe-901c783d6427" ], "x_capec_prerequisites": [ "The attacker must be able to determine when they have successfully guessed the secret. As such, one-time pads are immune to this type of attack since there is no way to determine when a guess is correct." ], "x_capec_resources_required": [ "None: No specialized resources are required to execute this type of attack. Ultimately, the speed with which an attacker discovers a secret is directly proportional to the computational resources the attacker has at their disposal. This attack method is resource expensive: having large amounts of computational power do not guarantee timely success, but having only minimal resources makes the problem intractable against all but the weakest secret selection procedures." ], "x_capec_skills_required": { "Low": "The attack simply requires basic scripting ability to automate the exploration of the search space. More sophisticated attackers may be able to use more advanced methods to reduce the search space and increase the speed with which the secret is located." }, "x_capec_status": "Draft", "x_capec_typical_severity": "High", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "Select a provably large secret space for selection of the secret. Provably large means that the procedure by which the secret is selected does not have artifacts that significantly reduce the size of the total secret space.", "id": "course-of-action--6863b358-1e48-48e0-b084-56c5cc603fb4", "modified": "2022-09-29T00:00:00.000Z", "name": "coa-112-0", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "course-of-action", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--cc237ef1-9283-4680-b8d0-9ef4a0cf8147", "modified": "2022-09-29T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--6863b358-1e48-48e0-b084-56c5cc603fb4", "spec_version": "2.1", "target_ref": "attack-pattern--7b423196-9de6-400f-91de-a1f26b3f19f1", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "Use a secret space that is well known and with no known patterns that may reduce functional size.", "id": "course-of-action--aaaca7bd-c8e3-477f-8457-0dd2fa58b41c", "modified": "2022-09-29T00:00:00.000Z", "name": "coa-112-1", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "course-of-action", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--c266ae48-e3db-42b8-b3ce-57936242fa62", "modified": "2022-09-29T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--aaaca7bd-c8e3-477f-8457-0dd2fa58b41c", "spec_version": "2.1", "target_ref": "attack-pattern--7b423196-9de6-400f-91de-a1f26b3f19f1", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "Do not provide the means for an attacker to determine success independently. This forces the attacker to check their guesses against an external authority, which can slow the attack and warn the defender. This mitigation may not be possible if testing material must appear externally, such as with a transmitted cryptotext.", "id": "course-of-action--4cce5adb-bd38-46a1-b756-9c85290ad8e7", "modified": "2022-09-29T00:00:00.000Z", "name": "coa-112-2", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "course-of-action", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--720b2d97-9125-482c-b7b3-c17acce30c06", "modified": "2022-09-29T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--4cce5adb-bd38-46a1-b756-9c85290ad8e7", "spec_version": "2.1", "target_ref": "attack-pattern--7b423196-9de6-400f-91de-a1f26b3f19f1", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "An adversary manipulates the use or processing of an interface (e.g. Application Programming Interface (API) or System-on-Chip (SoC)) resulting in an adverse impact upon the security of the system implementing the interface. This can allow the adversary to bypass access control and/or execute functionality not intended by the interface implementation, possibly compromising the system which integrates the interface. Interface manipulation can take on a number of forms including forcing the unexpected use of an interface or the use of an interface in an unintended way.", "external_references": [ { "external_id": "CAPEC-113", "source_name": "capec", "url": "https://capec.mitre.org/data/definitions/113.html" }, { "external_id": "CWE-1192", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/1192.html" } ], "id": "attack-pattern--f4186110-0c20-42fa-bc6f-d0ff9f700f91", "modified": "2021-06-24T00:00:00.000Z", "name": "Interface Manipulation", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "attack-pattern", "x_capec_abstraction": "Meta", "x_capec_domains": [ "Software", "Hardware" ], "x_capec_example_instances": [ "An adversary may make a request to an application that leverages a non-standard API that is known to incorrectly validate its data and thus it may be manipulated by supplying metacharacters or alternate encodings as input, resulting in any number of injection flaws, including SQL injection, cross-site scripting, or command execution.", "API methods not intended for production, such as debugging or testing APIs, may not be disabled when deploying in a production environment. As a result, dangerous functionality can be exposed within the production environment, which an adversary can leverage to execute additional attacks.", "SoC components contain insufficient identifiers, which allows an adversary to reset the device at will or read sensitive data from the device." ], "x_capec_likelihood_of_attack": "Medium", "x_capec_parent_of_refs": [ "attack-pattern--b289975f-c5e0-4d27-bf50-5937bfd02cfd", "attack-pattern--a0fc32ad-ef32-44d5-9937-5968f5e7b78c", "attack-pattern--f90601a6-9e18-4e96-804d-01a4f4ea30f2", "attack-pattern--d0db3641-ee0d-4897-89aa-3c85c69377a5" ], "x_capec_prerequisites": [ "The target system must expose interface functionality in a manner that can be discovered and manipulated by an adversary. This may require reverse engineering the interface or decrypting/de-obfuscating client-server exchanges." ], "x_capec_resources_required": [ "The requirements vary depending upon the nature of the interface. For example, application-layer APIs related to the processing of the HTTP protocol may require one or more of the following: an Adversary-In-The-Middle (CAPEC-94) proxy, a web browser, or a programming/scripting language." ], "x_capec_status": "Draft", "x_capec_typical_severity": "Medium", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "An attacker obtains unauthorized access to an application, service or device either through knowledge of the inherent weaknesses of an authentication mechanism, or by exploiting a flaw in the authentication scheme's implementation. In such an attack an authentication mechanism is functioning but a carefully controlled sequence of events causes the mechanism to grant access to the attacker.", "external_references": [ { "external_id": "CAPEC-114", "source_name": "capec", "url": "https://capec.mitre.org/data/definitions/114.html" }, { "external_id": "CWE-287", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/287.html" }, { "external_id": "CWE-1244", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/1244.html" }, { "description": "Abuse Elevation Control Mechanism", "external_id": "T1548", "source_name": "ATTACK", "url": "https://attack.mitre.org/wiki/Technique/T1548" } ], "id": "attack-pattern--2e2ed1f8-f736-4fc9-83bc-308595fc6e03", "modified": "2022-02-22T00:00:00.000Z", "name": "Authentication Abuse", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "attack-pattern", "x_capec_abstraction": "Meta", "x_capec_domains": [ "Software", "Hardware" ], "x_capec_extended_description": "\n This attack may exploit assumptions made by the target's authentication procedures, such as assumptions regarding trust relationships or assumptions regarding the generation of secret values. This attack differs from Authentication Bypass attacks in that Authentication Abuse allows the attacker to be certified as a valid user through illegitimate means, while Authentication Bypass allows the user to access protected material without ever being certified as an authenticated user. This attack does not rely on prior sessions established by successfully authenticating users, as relied upon for the \"Exploitation of Session Variables, Resource IDs and other Trusted Credentials\" attack patterns.\n ", "x_capec_parent_of_refs": [ "attack-pattern--229804f0-b017-4a26-937b-159da866bf9a" ], "x_capec_prerequisites": [ "An authentication mechanism or subsystem implementing some form of authentication such as passwords, digest authentication, security certificates, etc. which is flawed in some way." ], "x_capec_resources_required": [ "A client application, command-line access to a binary, or scripting language capable of interacting with the authentication mechanism." ], "x_capec_status": "Draft", "x_capec_typical_severity": "Medium", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "An attacker gains access to application, service, or device with the privileges of an authorized or privileged user by evading or circumventing an authentication mechanism. The attacker is therefore able to access protected data without authentication ever having taken place.", "external_references": [ { "external_id": "CAPEC-115", "source_name": "capec", "url": "https://capec.mitre.org/data/definitions/115.html" }, { "external_id": "CWE-287", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/287.html" }, { "description": "Abuse Elevation Control Mechanism", "external_id": "T1548", "source_name": "ATTACK", "url": "https://attack.mitre.org/wiki/Technique/T1548" }, { "description": "OWASP Web Security Testing Guide, The Open Web Application Security Project (OWASP)", "external_id": "REF-598", "source_name": "reference_from_CAPEC", "url": "https://owasp.org/www-project-web-security-testing-guide/latest/4-Web_Application_Security_Testing/04-Authentication_Testing/04-Testing_for_Bypassing_Authentication_Schema.html" } ], "id": "attack-pattern--8f665166-dfd1-40cb-91e8-b78bee1ceb6a", "modified": "2022-02-22T00:00:00.000Z", "name": "Authentication Bypass", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "attack-pattern", "x_capec_abstraction": "Meta", "x_capec_can_follow_refs": [ "attack-pattern--b89511b6-f0fb-4c1d-a884-a0d5a0d82b4e", "attack-pattern--ae3f2c33-9018-442e-9cc3-24d65c7f4974", "attack-pattern--d845a25b-b140-438c-91d7-30b709bb6e18", "attack-pattern--ba694895-a0cf-494e-ace2-bf3488330b80" ], "x_capec_domains": [ "Software" ], "x_capec_extended_description": "\n This refers to an attacker gaining access equivalent to an authenticated user without ever going through an authentication procedure. This is usually the result of the attacker using an unexpected access procedure that does not go through the proper checkpoints where authentication should occur. For example, a web site might assume that all users will click through a given link in order to get to secure material and simply authenticate everyone that clicks the link. However, an attacker might be able to reach secured web content by explicitly entering the path to the content rather than clicking through the authentication link, thereby avoiding the check entirely. This attack pattern differs from other authentication attacks in that attacks of this pattern avoid authentication entirely, rather than faking authentication by exploiting flaws or by stealing credentials from legitimate users.\n ", "x_capec_parent_of_refs": [ "attack-pattern--1bc4fd64-65a6-41d4-ac68-8e3692eabe29", "attack-pattern--4abd48c8-f737-45db-bd7b-97d989ebd471", "attack-pattern--f231b993-ed39-40cf-adfb-9828ddcfc642", "attack-pattern--8c806dfa-b8ca-45f9-9f97-09e4b5c1157b", "attack-pattern--00268a75-3243-477d-9166-8c78fddf6df6" ], "x_capec_prerequisites": [ "An authentication mechanism or subsystem implementing some form of authentication such as passwords, digest authentication, security certificates, etc." ], "x_capec_resources_required": [ "A client application, such as a web browser, or a scripting language capable of interacting with the target." ], "x_capec_status": "Draft", "x_capec_typical_severity": "Medium", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "An adversary actively probes the target in a manner that is designed to solicit information that could be leveraged for malicious purposes.", "external_references": [ { "external_id": "CAPEC-116", "source_name": "capec", "url": "https://capec.mitre.org/data/definitions/116.html" }, { "external_id": "CWE-200", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/200.html" }, { "external_id": "CWE-1243", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/1243.html" } ], "id": "attack-pattern--913426fa-ea1f-43b0-8492-1d363ea109d6", "modified": "2022-09-29T00:00:00.000Z", "name": "Excavation", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "attack-pattern", "x_capec_abstraction": "Meta", "x_capec_can_precede_refs": [ "attack-pattern--ff3cf9fc-c308-4571-8a01-ecae629a49c1" ], "x_capec_consequences": { "Confidentiality": [ "Read Data" ] }, "x_capec_domains": [ "Supply Chain", "Software", "Physical Security", "Hardware" ], "x_capec_extended_description": "\n This is achieved by exploring the target via ordinary interactions for the purpose of gathering intelligence about the target, or by sending data that is syntactically invalid or non-standard in an attempt to produce a response that contains the desired data. As a result of these interactions, the adversary is able to obtain information from the target that aids the attacker in making inferences about its security, configuration, or potential vulnerabilities. Examplar exchanges with the target may trigger unhandled exceptions or verbose error messages that reveal information like stack traces, configuration information, path information, or database design. This type of attack also includes the manipulation of query strings in a URI to produce invalid SQL queries, or by trying alternative path values in the hope that the server will return useful information.\n ", "x_capec_likelihood_of_attack": "High", "x_capec_parent_of_refs": [ "attack-pattern--797f4b4e-371a-4d06-9e98-5cccb8a7ebc1", "attack-pattern--49132d37-44e8-458c-a06e-0e5b9ac9bbd6", "attack-pattern--191fbdab-d3b3-4ffd-8829-51331c20eaa7", "attack-pattern--52103765-d380-42fc-aa4d-a8b24615548a", "attack-pattern--a8b4faf6-2e52-434f-95a4-df5f9bdc985a" ], "x_capec_prerequisites": [ "An adversary requires some way of interacting with the system." ], "x_capec_resources_required": [ "A tool, such as an Adversary in the Middle (CAPEC-94) Proxy or a fuzzer, that is capable of generating and injecting custom inputs to be used in the attack." ], "x_capec_status": "Stable", "x_capec_typical_severity": "Medium", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "Minimize error/response output to only what is necessary for functional use or corrective language.", "id": "course-of-action--b173381f-e049-4ddb-b252-3cd3e9860f04", "modified": "2022-09-29T00:00:00.000Z", "name": "coa-116-0", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "course-of-action", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--fd9e7627-0b39-4948-90a3-d4d2f54da8d8", "modified": "2022-09-29T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--b173381f-e049-4ddb-b252-3cd3e9860f04", "spec_version": "2.1", "target_ref": "attack-pattern--913426fa-ea1f-43b0-8492-1d363ea109d6", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "Remove potentially sensitive information that is not necessary for the application's functionality.", "id": "course-of-action--f79678b2-0a62-418a-907b-5e73dd03e3bc", "modified": "2022-09-29T00:00:00.000Z", "name": "coa-116-1", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "course-of-action", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--1a976d5b-38ec-4508-8329-3a6a82d44d97", "modified": "2022-09-29T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--f79678b2-0a62-418a-907b-5e73dd03e3bc", "spec_version": "2.1", "target_ref": "attack-pattern--913426fa-ea1f-43b0-8492-1d363ea109d6", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "An adversary monitors data streams to or from the target for information gathering purposes. This attack may be undertaken to solely gather sensitive information or to support a further attack against the target. This attack pattern can involve sniffing network traffic as well as other types of data streams (e.g. radio). The adversary can attempt to initiate the establishment of a data stream or passively observe the communications as they unfold. In all variants of this attack, the adversary is not the intended recipient of the data stream. In contrast to other means of gathering information (e.g., targeting data leaks), the adversary must actively position themself so as to observe explicit data channels (e.g. network traffic) and read the content. However, this attack differs from a Adversary-In-the-Middle (CAPEC-94) attack, as the adversary does not alter the content of the communications nor forward data to the intended recipient.", "external_references": [ { "external_id": "CAPEC-117", "source_name": "capec", "url": "https://capec.mitre.org/data/definitions/117.html" }, { "external_id": "CWE-319", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/319.html" } ], "id": "attack-pattern--bdc2219a-ebe0-4372-90b8-841dd7bd4c8e", "modified": "2021-06-24T00:00:00.000Z", "name": "Interception", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "attack-pattern", "x_capec_abstraction": "Meta", "x_capec_consequences": { "Confidentiality": [ "Read Data" ] }, "x_capec_domains": [ "Communications", "Software", "Physical Security" ], "x_capec_likelihood_of_attack": "Low", "x_capec_parent_of_refs": [ "attack-pattern--bdcdc784-d891-4ca8-847b-38ddca37a6ec", "attack-pattern--48f21dcd-2490-49c6-9690-1cb586b201f4", "attack-pattern--94e596d2-6844-4031-80c3-8522642aaff8" ], "x_capec_prerequisites": [ "The target must transmit data over a medium that is accessible to the adversary." ], "x_capec_resources_required": [ "The adversary must have the necessary technology to intercept information passing between the nodes of a network. For TCP/IP, the capability to run tcpdump, ethereal, etc. can be useful. Depending upon the data being targeted the technological requirements will change." ], "x_capec_status": "Stable", "x_capec_typical_severity": "Medium", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "Leverage encryption to encode the transmission of data thus making it accessible only to authorized parties.", "id": "course-of-action--2e4a2bce-d5ab-429d-91d4-b26c22f7f02b", "modified": "2021-06-24T00:00:00.000Z", "name": "coa-117-0", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "course-of-action", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--859073fb-487f-4a31-b50e-4cceb762f731", "modified": "2021-06-24T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--2e4a2bce-d5ab-429d-91d4-b26c22f7f02b", "spec_version": "2.1", "target_ref": "attack-pattern--bdc2219a-ebe0-4372-90b8-841dd7bd4c8e", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "This pattern of attack is defined by the selection of messages distributed via multicast or public information channels that are intended for another client by determining the parameter value assigned to that client. This attack allows the adversary to gain access to potentially privileged information, and to possibly perpetrate other attacks through the distribution means by impersonation. If the channel/message being manipulated is an input rather than output mechanism for the system, (such as a command bus), this style of attack could be used to change the adversary's identifier to more a privileged one.", "external_references": [ { "external_id": "CAPEC-12", "source_name": "capec", "url": "https://capec.mitre.org/data/definitions/12.html" }, { "external_id": "CWE-201", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/201.html" }, { "external_id": "CWE-306", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/306.html" } ], "id": "attack-pattern--d9904019-98fa-4beb-ae5a-f667e516269e", "modified": "2022-02-22T00:00:00.000Z", "name": "Choosing Message Identifier", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "attack-pattern", "x_capec_abstraction": "Standard", "x_capec_child_of_refs": [ "attack-pattern--861cfb48-ba7c-4568-86c9-43ac6985ac65" ], "x_capec_consequences": { "Access_Control": [ "Gain Privileges" ], "Authorization": [ "Gain Privileges" ], "Confidentiality": [ "Read Data", "Gain Privileges" ] }, "x_capec_domains": [ "Communications" ], "x_capec_example_instances": [ "A certain B2B interface on a large application codes for messages passed over an MQSeries queue, on a single \"Partners\" channel. Messages on that channel code for their client destination based on a partner_ID field, held by each message. That field is a simple integer. Adversaries having access to that channel, perhaps a particularly nosey partner, can simply choose to store messages of another partner's ID and read them as they desire. Note that authentication does not prevent a partner from leveraging this attack on other partners. It simply disallows adversaries without partner status from conducting this attack." ], "x_capec_execution_flow": "

Execution Flow

Explore

  1. Determine Nature of Messages: Determine the nature of messages being transported as well as the identifiers to be used as part of the attack

Experiment

  1. Authenticate: If required, authenticate to the distribution channel

  2. Identify Known Client Identifiers: If any particular client's information is available through a control channel available to all users, the adversary will discover particular identifiers for targeted clients by observing this channel, or requesting client information through this channel.

  3. Change Message Identifier: Adversaries with client access connecting to output channels could change their channel identifier and see someone else's (perhaps more privileged) data.

", "x_capec_likelihood_of_attack": "High", "x_capec_peer_of_refs": [ "attack-pattern--2351ee64-dd85-4bc3-bb43-aaa2ca5c1228" ], "x_capec_prerequisites": [ "Information and client-sensitive (and client-specific) data must be present through a distribution channel available to all users.", "Distribution means must code (through channel, message identifiers, or convention) message destination in a manner visible within the distribution means itself (such as a control channel) or in the messages themselves." ], "x_capec_resources_required": [ "The adversary needs the ability to control source code or application configuration responsible for selecting which message/channel id is absorbed from the public distribution means." ], "x_capec_skills_required": { "Low": "All the adversary needs to discover is the format of the messages on the channel/distribution means and the particular identifier used within the messages." }, "x_capec_status": "Draft", "x_capec_typical_severity": "High", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "\n Associate some ACL (in the form of a token) with an authenticated user which they provide middleware. The middleware uses this token as part of its channel/message selection for that client, or part of a discerning authorization decision for privileged channels/messages.\n The purpose is to architect the system in a way that associates proper authentication/authorization with each channel/message.\n ", "id": "course-of-action--a9ab8b72-4e44-4c81-bf44-e366ff5503d4", "modified": "2022-02-22T00:00:00.000Z", "name": "coa-12-0", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "course-of-action", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--3057788f-a10c-42ba-86f8-673bdaa92ba0", "modified": "2022-02-22T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--a9ab8b72-4e44-4c81-bf44-e366ff5503d4", "spec_version": "2.1", "target_ref": "attack-pattern--d9904019-98fa-4beb-ae5a-f667e516269e", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "Re-architect system input/output channels as appropriate to distribute self-protecting data. That is, encrypt (or otherwise protect) channels/messages so that only authorized readers can see them.", "id": "course-of-action--dcc7f9fa-ae3e-4b43-ae71-e3c7a72ea187", "modified": "2022-02-22T00:00:00.000Z", "name": "coa-12-1", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "course-of-action", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--8d1d83e8-400f-438d-a941-c0692758395f", "modified": "2022-02-22T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--dcc7f9fa-ae3e-4b43-ae71-e3c7a72ea187", "spec_version": "2.1", "target_ref": "attack-pattern--d9904019-98fa-4beb-ae5a-f667e516269e", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "The adversary utilizes a repeating of the encoding process for a set of characters (that is, character encoding a character encoding of a character) to obfuscate the payload of a particular request. This may allow the adversary to bypass filters that attempt to detect illegal characters or strings, such as those that might be used in traversal or injection attacks. Filters may be able to catch illegal encoded strings, but may not catch doubly encoded strings. For example, a dot (.), often used in path traversal attacks and therefore often blocked by filters, could be URL encoded as %2E. However, many filters recognize this encoding and would still block the request. In a double encoding, the % in the above URL encoding would be encoded again as %25, resulting in %252E which some filters might not catch, but which could still be interpreted as a dot (.) by interpreters on the target.", "external_references": [ { "external_id": "CAPEC-120", "source_name": "capec", "url": "https://capec.mitre.org/data/definitions/120.html" }, { "external_id": "CWE-173", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/173.html" }, { "external_id": "CWE-172", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/172.html" }, { "external_id": "CWE-177", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/177.html" }, { "external_id": "CWE-181", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/181.html" }, { "external_id": "CWE-183", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/183.html" }, { "external_id": "CWE-184", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/184.html" }, { "external_id": "CWE-74", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/74.html" }, { "external_id": "CWE-20", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/20.html" }, { "external_id": "CWE-697", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/697.html" }, { "external_id": "CWE-692", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/692.html" } ], "id": "attack-pattern--fb506d15-6cda-4669-8fc2-fb41061099d9", "modified": "2022-09-29T00:00:00.000Z", "name": "Double Encoding", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "attack-pattern", "x_capec_abstraction": "Detailed", "x_capec_child_of_refs": [ "attack-pattern--a1af7c24-25cb-46e5-a27b-ed316e1f91ce" ], "x_capec_domains": [ "Software" ], "x_capec_example_instances": [ "\n Double Enconding Attacks can often be used to bypass Cross Site Scripting (XSS) detection and execute XSS attacks.:\n %253Cscript%253Ealert('This is an XSS Attack')%253C%252Fscript%253E\n Since <, <, and / are often sued to perform web attacks, these may be captured by XSS filters. The use of double encouding prevents the filter from working as intended and allows the XSS to bypass dectection. This can allow an adversary to execute malicious code.\n " ], "x_capec_execution_flow": "

Execution Flow

Explore

  1. Survey the application for user-controllable inputs: Using a browser, an automated tool or by inspecting the application, an attacker records all entry points to the application.

  2. Techniques
    Use a spidering tool to follow and record all links and analyze the web pages to find entry points. Make special note of any links that include parameters in the URL.
    Use a proxy tool to record all user input entry points visited during a manual traversal of the web application.
    Use a browser to manually explore the website and analyze how it is constructed. Many browsers' plugins are available to facilitate the analysis or automate the discovery.
    Manually inspect the application to find entry points.

Experiment

  1. Probe entry points to locate vulnerabilities: Try double-encoding for parts of the input in order to try to get past the filters. For instance, by double encoding certain characters in the URL (e.g. dots and slashes) an adversary may try to get access to restricted resources on the web server or force browse to protected pages (thus subverting the authorization service). An adversary can also attempt other injection style attacks using this attack pattern: command injection, SQL injection, etc.

  2. Techniques
    Try to use double-encoding to bypass validation routines.
", "x_capec_likelihood_of_attack": "Low", "x_capec_prerequisites": [ "The target's filters must fail to detect that a character has been doubly encoded but its interpreting engine must still be able to convert a doubly encoded character to an un-encoded character.", "The application accepts and decodes URL string request.", "The application performs insufficient filtering/canonicalization on the URLs." ], "x_capec_resources_required": [ "Tools that automate encoding of data can assist the adversary in generating encoded strings." ], "x_capec_status": "Draft", "x_capec_typical_severity": "Medium", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "Assume all input is malicious. Create an allowlist that defines all valid input to the software system based on the requirements specifications. Input that does not match against the allowlist should not be permitted to enter into the system. Test your decoding process against malicious input.", "id": "course-of-action--001320df-5e57-4ed3-bcf8-7e79dfe846aa", "modified": "2022-09-29T00:00:00.000Z", "name": "coa-120-0", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "course-of-action", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--44b07350-79d0-449c-b510-54552ac1b8ac", "modified": "2022-09-29T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--001320df-5e57-4ed3-bcf8-7e79dfe846aa", "spec_version": "2.1", "target_ref": "attack-pattern--fb506d15-6cda-4669-8fc2-fb41061099d9", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "Be aware of the threat of alternative method of data encoding and obfuscation technique such as IP address encoding.", "id": "course-of-action--1b63d492-1270-4630-97ef-521ac9d05eec", "modified": "2022-09-29T00:00:00.000Z", "name": "coa-120-1", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "course-of-action", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--cfa73c3f-86a6-476f-aab5-335c5f41f2ac", "modified": "2022-09-29T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--1b63d492-1270-4630-97ef-521ac9d05eec", "spec_version": "2.1", "target_ref": "attack-pattern--fb506d15-6cda-4669-8fc2-fb41061099d9", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "When client input is required from web-based forms, avoid using the \"GET\" method to submit data, as the method causes the form data to be appended to the URL and is easily manipulated. Instead, use the \"POST method whenever possible.", "id": "course-of-action--95ef6587-c787-4051-b664-b5e8ca753c20", "modified": "2022-09-29T00:00:00.000Z", "name": "coa-120-2", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "course-of-action", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--6e482c72-7993-4ddf-8fca-22de8312c642", "modified": "2022-09-29T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--95ef6587-c787-4051-b664-b5e8ca753c20", "spec_version": "2.1", "target_ref": "attack-pattern--fb506d15-6cda-4669-8fc2-fb41061099d9", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "Any security checks should occur after the data has been decoded and validated as correct data format. Do not repeat decoding process, if bad character are left after decoding process, treat the data as suspicious, and fail the validation process.", "id": "course-of-action--3833d761-4a54-4ed3-994b-c7c76c465ae0", "modified": "2022-09-29T00:00:00.000Z", "name": "coa-120-3", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "course-of-action", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--ba444e1f-3d84-4501-b9c6-09b06a824f96", "modified": "2022-09-29T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--3833d761-4a54-4ed3-994b-c7c76c465ae0", "spec_version": "2.1", "target_ref": "attack-pattern--fb506d15-6cda-4669-8fc2-fb41061099d9", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "Refer to the RFCs to safely decode URL.", "id": "course-of-action--1f048925-3094-483c-abf2-c5efe689193a", "modified": "2022-09-29T00:00:00.000Z", "name": "coa-120-4", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "course-of-action", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--11ad9490-5c2d-4430-8ecc-b0740ebc3c54", "modified": "2022-09-29T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--1f048925-3094-483c-abf2-c5efe689193a", "spec_version": "2.1", "target_ref": "attack-pattern--fb506d15-6cda-4669-8fc2-fb41061099d9", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "Regular expression can be used to match safe URL patterns. However, that may discard valid URL requests if the regular expression is too restrictive.", "id": "course-of-action--1890182c-6989-4e34-bfb2-92b223bcae0c", "modified": "2022-09-29T00:00:00.000Z", "name": "coa-120-5", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "course-of-action", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--0f1b0725-8a4f-49f1-9954-eb67b0182990", "modified": "2022-09-29T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--1890182c-6989-4e34-bfb2-92b223bcae0c", "spec_version": "2.1", "target_ref": "attack-pattern--fb506d15-6cda-4669-8fc2-fb41061099d9", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "There are tools to scan HTTP requests to the server for valid URL such as URLScan from Microsoft (http://www.microsoft.com/technet/security/tools/urlscan.mspx).", "id": "course-of-action--24852297-758a-489f-b2c9-a27cbfbb938e", "modified": "2022-09-29T00:00:00.000Z", "name": "coa-120-6", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "course-of-action", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--be25410a-e03c-4307-88da-60d4e71e7f4d", "modified": "2022-09-29T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--24852297-758a-489f-b2c9-a27cbfbb938e", "spec_version": "2.1", "target_ref": "attack-pattern--fb506d15-6cda-4669-8fc2-fb41061099d9", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "\n An adversary exploits a sample, demonstration, test, or debug interface that is unintentionally enabled on a production system, with the goal of gleaning information or leveraging functionality that would otherwise be unavailable.\n ", "external_references": [ { "external_id": "CAPEC-121", "source_name": "capec", "url": "https://capec.mitre.org/data/definitions/121.html" }, { "external_id": "CWE-489", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/489.html" }, { "external_id": "CWE-1209", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/1209.html" }, { "external_id": "CWE-1259", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/1259.html" }, { "external_id": "CWE-1267", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/1267.html" }, { "external_id": "CWE-1270", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/1270.html" }, { "external_id": "CWE-1294", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/1294.html" }, { "external_id": "CWE-1295", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/1295.html" }, { "external_id": "CWE-1296", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/1296.html" }, { "external_id": "CWE-1302", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/1302.html" }, { "external_id": "CWE-1313", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/1313.html" }, { "description": "Swarup Bhunia, Mark M. Tehranipoor, The Hardware Trojan War: Attacks, Myths, and Defenses, 2017--11---30, Springer", "external_id": "REF-588", "source_name": "reference_from_CAPEC" }, { "description": "Boyang Du, Matteo Sonza Reorda, Luca Sterpone, Luis Parra, Marta Portela-Garcia, Almudena Lindoso, Luis Entrena, Exploiting the debug interface to support on-line test of control flow errors, 2013--07---08, Institute of Electrical and Electronics Engineers (IEEE)", "external_id": "REF-589", "source_name": "reference_from_CAPEC", "url": "https://ieeexplore.ieee.org/document/6604058/authors#authors" } ], "id": "attack-pattern--b289975f-c5e0-4d27-bf50-5937bfd02cfd", "modified": "2023-01-24T00:00:00.000Z", "name": "Exploit Non-Production Interfaces", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "attack-pattern", "x_capec_abstraction": "Standard", "x_capec_child_of_refs": [ "attack-pattern--f4186110-0c20-42fa-bc6f-d0ff9f700f91" ], "x_capec_consequences": { "Access_Control": [ "Modify Data", "Alter Execution Logic" ], "Authentication": [ "Gain Privileges", "Bypass Protection Mechanism" ], "Authorization": [ "Read Data", "Execute Unauthorized Commands" ], "Confidentiality": [ "Gain Privileges", "Bypass Protection Mechanism", "Read Data", "Execute Unauthorized Commands" ], "Integrity": [ "Modify Data", "Alter Execution Logic" ] }, "x_capec_domains": [ "Software", "Hardware" ], "x_capec_example_instances": [ "\n Some software applications include application programming interfaces (APIs) that are intended to allow an administrator to test and refine their domain. These APIs are typically disabled once a system enters a production environment, but may be left in an insecure state due to a configuration error or mismanagement.\n ", "\n Many hardware systems leverage bits typically reserved for future functionality for testing and debugging purposes. If these reserved bits remain enabled in a production environment, it could allow an adversary to induce unwanted/unsupported behavior in the hardware.\n " ], "x_capec_execution_flow": "

Execution Flow

Explore

  1. Determine Vulnerable Interface: An adversary explores a target system for sample or test interfaces that have not been disabled by a system administrator and which may be exploitable by the adversary.

  2. Techniques
    If needed, the adversary explores an organization's network to determine if any specific systems of interest exist.

Exploit

  1. Leverage Test Interface to Execute Attacks: Once an adversary has discovered a system with a non-production interface, the interface is leveraged to exploit the system and/or conduct various attacks.

  2. Techniques
    The adversary can leverage the sample or test interface to conduct several types of attacks such as Adversary-in-the-Middle attacks (CAPEC-94), keylogging, Cross Site Scripting (XSS), hardware manipulation attacks, and more.
", "x_capec_extended_description": "\n Non-production interfaces are insecure by default and should not be resident on production systems, since they may reveal sensitive information or functionality that should not be known to end-users. However, such interfaces may be unintentionally left enabled on a production system due to configuration errors, supply chain mismanagement, or other pre-deployment activities.\n Ultimately, failure to properly disable non-production interfaces, in a production environment, may expose a great deal of diagnostic information or functionality to an adversary, which can be utilized to further refine their attack. Moreover, many non-production interfaces do not have adequate security controls or may not have undergone rigorous testing since they were not intended for use in production environments. As such, they may contain many flaws and vulnerabilities that could allow an adversary to severely disrupt a target.\n ", "x_capec_likelihood_of_attack": "Low", "x_capec_parent_of_refs": [ "attack-pattern--80649f3c-d2f3-4703-9e78-e096673a7517" ], "x_capec_prerequisites": [ "The target must have configured non-production interfaces and failed to secure or remove them when brought into a production environment." ], "x_capec_resources_required": [ "For some interfaces, the adversary will need that appropriate client application or hardware that interfaces with the interface. Other non-production interfaces can be executed using simple tools, such as web browsers or console windows. In some cases, an adversary may need to be able to authenticate to the target before it can access the vulnerable interface." ], "x_capec_skills_required": { "High": "Exploiting non-production interfaces requires significant skill and knowledge about the potential non-production interfaces left enabled in production." }, "x_capec_status": "Stable", "x_capec_typical_severity": "High", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "Ensure that production systems do not contain non-production interfaces and that these interfaces are only used in development environments.", "id": "course-of-action--36f8b35a-423d-47cf-85a2-766434c723ab", "modified": "2023-01-24T00:00:00.000Z", "name": "coa-121-0", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "course-of-action", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--faafe0e8-4e6c-4405-a59d-22f1ce919834", "modified": "2023-01-24T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--36f8b35a-423d-47cf-85a2-766434c723ab", "spec_version": "2.1", "target_ref": "attack-pattern--b289975f-c5e0-4d27-bf50-5937bfd02cfd", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "An adversary is able to exploit features of the target that should be reserved for privileged users or administrators but are exposed to use by lower or non-privileged accounts. Access to sensitive information and functionality must be controlled to ensure that only authorized users are able to access these resources.", "external_references": [ { "external_id": "CAPEC-122", "source_name": "capec", "url": "https://capec.mitre.org/data/definitions/122.html" }, { "external_id": "CWE-269", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/269.html" }, { "external_id": "CWE-732", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/732.html" }, { "external_id": "CWE-1317", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/1317.html" }, { "description": "Abuse Elevation Control Mechanism", "external_id": "T1548", "source_name": "ATTACK", "url": "https://attack.mitre.org/wiki/Technique/T1548" } ], "id": "attack-pattern--fd669b7d-0e79-473c-9808-a860dfb0c871", "modified": "2022-09-29T00:00:00.000Z", "name": "Privilege Abuse", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "attack-pattern", "x_capec_abstraction": "Meta", "x_capec_can_precede_refs": [ "attack-pattern--f231b993-ed39-40cf-adfb-9828ddcfc642" ], "x_capec_consequences": { "Access_Control": [ "Bypass Protection Mechanism" ], "Authorization": [ "Execute Unauthorized Commands (Run Arbitrary Code)", "Gain Privileges", "Bypass Protection Mechanism" ], "Confidentiality": [ "Read Data" ], "Integrity": [ "Modify Data" ] }, "x_capec_domains": [ "Software", "Hardware" ], "x_capec_example_instances": [ "\n Improperly configured account privileges allowed unauthorized users on a hospital's network to access the medical records for over 3,000 patients. Thus compromising data integrity and confidentiality in addition to HIPAA violations.\n " ], "x_capec_extended_description": "\n If access control mechanisms are absent or misconfigured, a user may be able to access resources that are intended only for higher level users. An adversary may be able to exploit this to utilize a less trusted account to gain information and perform activities reserved for more trusted accounts.\n This attack differs from privilege escalation and other privilege stealing attacks in that the adversary never actually escalates their privileges but instead is able to use a lesser degree of privilege to access resources that should be (but are not) reserved for higher privilege accounts. Likewise, the adversary does not exploit trust or subvert systems - all control functionality is working as configured but the configuration does not adequately protect sensitive resources at an appropriate level.\n ", "x_capec_likelihood_of_attack": "High", "x_capec_parent_of_refs": [ "attack-pattern--92cdcd3d-d734-4442-afc3-4599f261498b", "attack-pattern--9ad2c2eb-9939-4590-9683-2e789692d262", "attack-pattern--aac17300-6cdd-4f50-82c3-da5a01d225ac", "attack-pattern--d9717514-c621-49cd-b8e1-fd7cc1daa8d1", "attack-pattern--c195a0a3-62fc-4def-9702-8938440cc9a7" ], "x_capec_prerequisites": [ "The target must have misconfigured their access control mechanisms such that sensitive information, which should only be accessible to more trusted users, remains accessible to less trusted users.", "The adversary must have access to the target, albeit with an account that is less privileged than would be appropriate for the targeted resources." ], "x_capec_resources_required": [ "None: No specialized resources are required to execute this type of attack. The ability to access the target is required." ], "x_capec_skills_required": { "Low": "Adversary can leverage privileged features they already have access to without additional effort or skill. Adversary is only required to have access to an account with improper priveleges." }, "x_capec_status": "Draft", "x_capec_typical_severity": "Medium", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "Configure account privileges such privileged/administrator functionality is not exposed to non-privileged/lower accounts.", "id": "course-of-action--556e719c-c102-427d-b5b4-11a4dab62f8e", "modified": "2022-09-29T00:00:00.000Z", "name": "coa-122-0", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "course-of-action", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--957019cc-30e1-4d46-9ee9-1b20f9b69653", "modified": "2022-09-29T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--556e719c-c102-427d-b5b4-11a4dab62f8e", "spec_version": "2.1", "target_ref": "attack-pattern--fd669b7d-0e79-473c-9808-a860dfb0c871", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "An adversary manipulates an application's interaction with a buffer in an attempt to read or modify data they shouldn't have access to. Buffer attacks are distinguished in that it is the buffer space itself that is the target of the attack rather than any code responsible for interpreting the content of the buffer. In virtually all buffer attacks the content that is placed in the buffer is immaterial. Instead, most buffer attacks involve retrieving or providing more input than can be stored in the allocated buffer, resulting in the reading or overwriting of other unintended program memory.", "external_references": [ { "external_id": "CAPEC-123", "source_name": "capec", "url": "https://capec.mitre.org/data/definitions/123.html" }, { "external_id": "CWE-119", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/119.html" } ], "id": "attack-pattern--476ca631-2695-43f8-82f6-83c06a07ae36", "modified": "2019-04-04T00:00:00.000Z", "name": "Buffer Manipulation", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "attack-pattern", "x_capec_abstraction": "Meta", "x_capec_consequences": { "Availability": [ "Unreliable Execution (A buffer manipulation attack often results in a crash of the application due to the corruption of memory.)" ], "Confidentiality": [ "Execute Unauthorized Commands (If constructed properly, a buffer manipulation attack can be used to contol the execution of the application leading to any number of negative consequenses.)", "Modify Data (If constructed properly, a buffer manipulation attack can be used to contol the execution of the application leading to any number of negative consequenses.)", "Read Data (If constructed properly, a buffer manipulation attack can be used to contol the execution of the application leading to any number of negative consequenses.)" ] }, "x_capec_domains": [ "Software" ], "x_capec_likelihood_of_attack": "High", "x_capec_parent_of_refs": [ "attack-pattern--77e51461-7843-411c-a90e-852498957f76", "attack-pattern--40eddae8-4d7d-4fc3-b220-1c9706f01a96" ], "x_capec_prerequisites": [ "The adversary must identify a programmatic means for interacting with a buffer, such as vulnerable C code, and be able to provide input to this interaction." ], "x_capec_status": "Draft", "x_capec_typical_severity": "Very High", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "To help protect an application from buffer manipulation attacks, a number of potential mitigations can be leveraged. Before starting the development of the application, consider using a code language (e.g., Java) or compiler that limits the ability of developers to act beyond the bounds of a buffer. If the chosen language is susceptible to buffer related issues (e.g., C) then consider using secure functions instead of those vulnerable to buffer manipulations. If a potentially dangerous function must be used, make sure that proper boundary checking is performed. Additionally, there are often a number of compiler-based mechanisms (e.g., StackGuard, ProPolice and the Microsoft Visual Studio /GS flag) that can help identify and protect against potential buffer issues. Finally, there may be operating system level preventative functionality that can be applied.", "id": "course-of-action--69611262-87d4-4bba-8db4-068c40577c4c", "modified": "2019-04-04T00:00:00.000Z", "name": "coa-123-0", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "course-of-action", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--b2e47286-34b7-484e-a95b-67f1b21ae24b", "modified": "2019-04-04T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--69611262-87d4-4bba-8db4-068c40577c4c", "spec_version": "2.1", "target_ref": "attack-pattern--476ca631-2695-43f8-82f6-83c06a07ae36", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "An adversary exploits a resource shared between multiple applications, an application pool or hardware pin multiplexing to affect behavior. Resources may be shared between multiple applications or between multiple threads of a single application. Resource sharing is usually accomplished through mutual access to a single memory location or multiplexed hardware pins. If an adversary can manipulate this shared resource (usually by co-opting one of the applications or threads) the other applications or threads using the shared resource will often continue to trust the validity of the compromised shared resource and use it in their calculations. This can result in invalid trust assumptions, corruption of additional data through the normal operations of the other users of the shared resource, or even cause a crash or compromise of the sharing applications.", "external_references": [ { "external_id": "CAPEC-124", "source_name": "capec", "url": "https://capec.mitre.org/data/definitions/124.html" }, { "external_id": "CWE-1189", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/1189.html" }, { "external_id": "CWE-1331", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/1331.html" } ], "id": "attack-pattern--d5e0c12f-6086-491d-86e5-e10a14d1f947", "modified": "2020-12-17T00:00:00.000Z", "name": "Shared Resource Manipulation", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "attack-pattern", "x_capec_abstraction": "Meta", "x_capec_domains": [ "Software", "Hardware" ], "x_capec_prerequisites": [ "The target applications, threads or functions must share resources between themselves.", "The adversary must be able to manipulate some piece of the shared resource either directly or indirectly and the other users of the data must accept the changed data as valid. Usually this requires that the adversary be able to compromise one of the sharing applications or threads in order to manipulate the shared data." ], "x_capec_resources_required": [ "None: The attacker does not need any specialized resources to execute this type of attack." ], "x_capec_status": "Draft", "x_capec_typical_severity": "Medium", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "An adversary consumes the resources of a target by rapidly engaging in a large number of interactions with the target. This type of attack generally exposes a weakness in rate limiting or flow. When successful this attack prevents legitimate users from accessing the service and can cause the target to crash. This attack differs from resource depletion through leaks or allocations in that the latter attacks do not rely on the volume of requests made to the target but instead focus on manipulation of the target's operations. The key factor in a flooding attack is the number of requests the adversary can make in a given period of time. The greater this number, the more likely an attack is to succeed against a given target.", "external_references": [ { "external_id": "CAPEC-125", "source_name": "capec", "url": "https://capec.mitre.org/data/definitions/125.html" }, { "external_id": "CWE-404", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/404.html" }, { "external_id": "CWE-770", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/770.html" }, { "description": "Network Denial of Service: Direct Network Flood", "external_id": "T1498.001", "source_name": "ATTACK", "url": "https://attack.mitre.org/wiki/Technique/T1498/001" }, { "description": "Endpoint Denial of Service", "external_id": "T1499", "source_name": "ATTACK", "url": "https://attack.mitre.org/wiki/Technique/T1499" }, { "description": "Denial of Service", "external_id": "10", "source_name": "WASC", "url": "http://projects.webappsec.org/Denial-of-Service" }, { "description": "Traffic flood", "source_name": "OWASP Attacks", "url": "https://owasp.org/www-community/attacks/Traffic_flood" } ], "id": "attack-pattern--6854fe89-0829-429f-a95c-89e77ab6c8ed", "modified": "2022-09-29T00:00:00.000Z", "name": "Flooding", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "attack-pattern", "x_capec_abstraction": "Meta", "x_capec_consequences": { "Availability": [ "Unreliable Execution (A successful flooding attack compromises the availability of the target system's service by exhausting its available resources.)", "Resource Consumption (A successful flooding attack compromises the availability of the target system's service by exhausting its available resources.)" ] }, "x_capec_domains": [ "Communications", "Software" ], "x_capec_likelihood_of_attack": "High", "x_capec_parent_of_refs": [ "attack-pattern--172e2289-333b-4796-9afd-94140c9480e8", "attack-pattern--bb4d350b-c500-45d6-97c2-c0adccbe6bad", "attack-pattern--2e017307-7bab-419b-972c-8dae9e089572", "attack-pattern--d43c7ffa-16a5-4eb9-8c29-3391cc7ff269", "attack-pattern--f30a7c37-4d87-41d2-a103-c995948076f3", "attack-pattern--e68b5623-7a7a-45f8-896f-12b38bedc838", "attack-pattern--ad3913be-6ca6-48e6-9e3b-7b67e4162612", "attack-pattern--c3ce7043-a2cc-4686-945c-cf3b605b7c90" ], "x_capec_prerequisites": [ "Any target that services requests is vulnerable to this attack on some level of scale." ], "x_capec_resources_required": [ "A script or program capable of generating more requests than the target can handle, or a network or cluster of objects all capable of making simultaneous requests." ], "x_capec_status": "Stable", "x_capec_typical_severity": "Medium", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "Ensure that protocols have specific limits of scale configured.", "id": "course-of-action--55bca578-149c-4129-a003-3c2d5bd54b5b", "modified": "2022-09-29T00:00:00.000Z", "name": "coa-125-0", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "course-of-action", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--22178117-f064-4303-8985-7fd9ee2fe9d8", "modified": "2022-09-29T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--55bca578-149c-4129-a003-3c2d5bd54b5b", "spec_version": "2.1", "target_ref": "attack-pattern--6854fe89-0829-429f-a95c-89e77ab6c8ed", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "Specify expectations for capabilities and dictate which behaviors are acceptable when resource allocation reaches limits.", "id": "course-of-action--c8dd811c-2eb5-418e-aeda-80170abad702", "modified": "2022-09-29T00:00:00.000Z", "name": "coa-125-1", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "course-of-action", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--f0a57d15-98a3-44ab-9dee-7451762bc00b", "modified": "2022-09-29T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--c8dd811c-2eb5-418e-aeda-80170abad702", "spec_version": "2.1", "target_ref": "attack-pattern--6854fe89-0829-429f-a95c-89e77ab6c8ed", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "Uniformly throttle all requests in order to make it more difficult to consume resources more quickly than they can again be freed.", "id": "course-of-action--6c5ef0e0-77e5-40d3-85bf-7c50693c211d", "modified": "2022-09-29T00:00:00.000Z", "name": "coa-125-2", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "course-of-action", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--22e10e44-9d16-4de8-9376-289ccde29247", "modified": "2022-09-29T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--6c5ef0e0-77e5-40d3-85bf-7c50693c211d", "spec_version": "2.1", "target_ref": "attack-pattern--6854fe89-0829-429f-a95c-89e77ab6c8ed", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "An adversary uses path manipulation methods to exploit insufficient input validation of a target to obtain access to data that should be not be retrievable by ordinary well-formed requests. A typical variety of this attack involves specifying a path to a desired file together with dot-dot-slash characters, resulting in the file access API or function traversing out of the intended directory structure and into the root file system. By replacing or modifying the expected path information the access function or API retrieves the file desired by the attacker. These attacks either involve the attacker providing a complete path to a targeted file or using control characters (e.g. path separators (/ or \\) and/or dots (.)) to reach desired directories or files.", "external_references": [ { "external_id": "CAPEC-126", "source_name": "capec", "url": "https://capec.mitre.org/data/definitions/126.html" }, { "external_id": "CWE-22", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/22.html" }, { "description": "Path Traversal", "external_id": "33", "source_name": "WASC", "url": "http://projects.webappsec.org/Path-Traversal" }, { "description": "Path Traversal", "source_name": "OWASP Attacks", "url": "https://owasp.org/www-community/attacks/Path_Traversal" }, { "description": "G. Hoglund, G. McGraw, Exploiting Software: How to Break Code, 2004--02, Addison-Wesley", "external_id": "REF-1", "source_name": "reference_from_CAPEC" }, { "description": "OWASP Testing Guide (v4), 2010, The Open Web Application Security Project (OWASP)", "external_id": "REF-9", "source_name": "reference_from_CAPEC", "url": "https://www.owasp.org/index.php/Testing_for_Path_Traversal_(OWASP-AZ-001)" }, { "description": "WASC Threat Classification 2.0, 2010, The Web Application Security Consortium (WASC)", "external_id": "REF-10", "source_name": "reference_from_CAPEC", "url": "http://projects.webappsec.org/w/page/13246952/Path-Traversal" } ], "id": "attack-pattern--faf0ec21-da60-4efc-8c8e-7a6b63bea170", "modified": "2022-09-29T00:00:00.000Z", "name": "Path Traversal", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "attack-pattern", "x_capec_abstraction": "Standard", "x_capec_alternate_terms": [ "Directory Traversal" ], "x_capec_can_precede_refs": [ "attack-pattern--f231b993-ed39-40cf-adfb-9828ddcfc642" ], "x_capec_child_of_refs": [ "attack-pattern--71d31712-9174-4433-8e4f-8520a3ec1249" ], "x_capec_consequences": { "Availability": [ "Execute Unauthorized Commands (The attacker may be able to create or overwrite critical files that are used to execute code, such as programs or libraries.)", "Unreliable Execution (The attacker may be able to overwrite, delete, or corrupt unexpected critical files such as programs, libraries, or important data. This may prevent the software from working at all and in the case of a protection mechanisms such as authentication, it has the potential to lockout every user of the software.)" ], "Confidentiality": [ "Execute Unauthorized Commands (The attacker may be able to create or overwrite critical files that are used to execute code, such as programs or libraries.)", "Read Data (The attacker may be able read the contents of unexpected files and expose sensitive data. If the targeted file is used for a security mechanism, then the attacker may be able to bypass that mechanism. For example, by reading a password file, the attacker could conduct brute force password guessing attacks in order to break into an account on the system.)" ], "Integrity": [ "Execute Unauthorized Commands (The attacker may be able to create or overwrite critical files that are used to execute code, such as programs or libraries.)", "Modify Data (The attacker may be able to overwrite or create critical files, such as programs, libraries, or important data. If the targeted file is used for a security mechanism, then the attacker may be able to bypass that mechanism. For example, appending a new account at the end of a password file may allow an attacker to bypass authentication.)" ] }, "x_capec_domains": [ "Software" ], "x_capec_example_instances": [ "\n An example of using path traversal to attack some set of resources on a web server is to use a standard HTTP request\n http://example/../../../../../etc/passwd\n From an attacker point of view, this may be sufficient to gain access to the password file on a poorly protected system. If the attacker can list directories of critical resources then read only access is not sufficient to protect the system.\n " ], "x_capec_execution_flow": "

Execution Flow

Explore

  1. Fingerprinting of the operating system: In order to perform a valid path traversal, the attacker needs to know what the underlying OS is so that the proper file seperator is used.

  2. Techniques
    Port mapping. Identify ports that the system is listening on, and attempt to identify inputs and protocol types on those ports.
    TCP/IP Fingerprinting. The attacker uses various software to make connections or partial connections and observe idiosyncratic responses from the operating system. Using those responses, they attempt to guess the actual operating system.
    Induce errors to find informative error messages
  3. Survey the Application to Identify User-controllable Inputs: The attacker surveys the target application to identify all user-controllable file inputs

Experiment

  1. Vary inputs, looking for malicious results: Depending on whether the application being exploited is a remote or local one, the attacker crafts the appropriate malicious input containing the path of the targeted file or other file system control syntax to be passed to the application

Exploit

  1. Manipulate files accessible by the application: The attacker may steal information or directly manipulate files (delete, copy, flush, etc.)

", "x_capec_likelihood_of_attack": "High", "x_capec_parent_of_refs": [ "attack-pattern--b2d76f31-f1e3-4797-a19f-246859422074", "attack-pattern--1a84fe86-379b-497e-ae66-290e797409f4", "attack-pattern--36fd3642-e601-4392-b25b-48df2fdecf62" ], "x_capec_prerequisites": [ "The attacker must be able to control the path that is requested of the target.", "The target must fail to adequately sanitize incoming paths" ], "x_capec_resources_required": [ "The ability to manually manipulate path information either directly through a client application relative to the service or application or via a proxy application." ], "x_capec_skills_required": { "Low": "Simple command line attacks or to inject the malicious payload in a web page.", "Medium": "Customizing attacks to bypass non trivial filters in the application." }, "x_capec_status": "Draft", "x_capec_typical_severity": "Very High", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "Design: Configure the access control correctly.", "id": "course-of-action--49faa4e3-77fa-4b56-8186-be9d4302e09a", "modified": "2022-09-29T00:00:00.000Z", "name": "coa-126-0", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "course-of-action", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--990d82cc-54c9-4536-8db1-9e1e4d3c1162", "modified": "2022-09-29T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--49faa4e3-77fa-4b56-8186-be9d4302e09a", "spec_version": "2.1", "target_ref": "attack-pattern--faf0ec21-da60-4efc-8c8e-7a6b63bea170", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "Design: Enforce principle of least privilege.", "id": "course-of-action--10e0bdfb-cc84-4788-8d10-225b6e61f135", "modified": "2022-09-29T00:00:00.000Z", "name": "coa-126-1", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "course-of-action", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--fc0b9ea2-577b-4cae-a52b-606ae9ea8f84", "modified": "2022-09-29T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--10e0bdfb-cc84-4788-8d10-225b6e61f135", "spec_version": "2.1", "target_ref": "attack-pattern--faf0ec21-da60-4efc-8c8e-7a6b63bea170", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "Design: Execute programs with constrained privileges, so parent process does not open up further vulnerabilities. Ensure that all directories, temporary directories and files, and memory are executing with limited privileges to protect against remote execution.", "id": "course-of-action--59bcc683-a1e5-4b88-9821-ddb734003114", "modified": "2022-09-29T00:00:00.000Z", "name": "coa-126-2", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "course-of-action", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--594c4c5a-1764-41b8-91aa-dc032c6ae92a", "modified": "2022-09-29T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--59bcc683-a1e5-4b88-9821-ddb734003114", "spec_version": "2.1", "target_ref": "attack-pattern--faf0ec21-da60-4efc-8c8e-7a6b63bea170", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "Design: Input validation. Assume that user inputs are malicious. Utilize strict type, character, and encoding enforcement.", "id": "course-of-action--6a928417-72f9-4429-951c-8dcaca5edc6d", "modified": "2022-09-29T00:00:00.000Z", "name": "coa-126-3", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "course-of-action", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--f114c5f3-cfbd-4300-b255-e4bfeb5672be", "modified": "2022-09-29T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--6a928417-72f9-4429-951c-8dcaca5edc6d", "spec_version": "2.1", "target_ref": "attack-pattern--faf0ec21-da60-4efc-8c8e-7a6b63bea170", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "Design: Proxy communication to host, so that communications are terminated at the proxy, sanitizing the requests before forwarding to server host.", "id": "course-of-action--da440d05-dc0e-4bfa-8490-7178ae419336", "modified": "2022-09-29T00:00:00.000Z", "name": "coa-126-4", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "course-of-action", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--9efb30cd-a0e5-4666-998f-c9119096f678", "modified": "2022-09-29T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--da440d05-dc0e-4bfa-8490-7178ae419336", "spec_version": "2.1", "target_ref": "attack-pattern--faf0ec21-da60-4efc-8c8e-7a6b63bea170", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "Design: Run server interfaces with a non-root account and/or utilize chroot jails or other configuration techniques to constrain privileges even if attacker gains some limited access to commands.", "id": "course-of-action--16c78c78-dace-4fe3-ac4a-aaf188d14af5", "modified": "2022-09-29T00:00:00.000Z", "name": "coa-126-5", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "course-of-action", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--2aeb9107-ab93-4c87-b9c5-a7eabd78976b", "modified": "2022-09-29T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--16c78c78-dace-4fe3-ac4a-aaf188d14af5", "spec_version": "2.1", "target_ref": "attack-pattern--faf0ec21-da60-4efc-8c8e-7a6b63bea170", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "Implementation: Host integrity monitoring for critical files, directories, and processes. The goal of host integrity monitoring is to be aware when a security issue has occurred so that incident response and other forensic activities can begin.", "id": "course-of-action--3c433a52-7784-4abd-b404-41fc8a423886", "modified": "2022-09-29T00:00:00.000Z", "name": "coa-126-6", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "course-of-action", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--f7a2a574-4587-4e1f-83a1-69fa413c6fbb", "modified": "2022-09-29T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--3c433a52-7784-4abd-b404-41fc8a423886", "spec_version": "2.1", "target_ref": "attack-pattern--faf0ec21-da60-4efc-8c8e-7a6b63bea170", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "Implementation: Perform input validation for all remote content, including remote and user-generated content.", "id": "course-of-action--b3379e8f-995d-4df7-be15-7861c104b55c", "modified": "2022-09-29T00:00:00.000Z", "name": "coa-126-7", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "course-of-action", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--a6a7d0d3-2377-4fba-ba62-ba4c605a8206", "modified": "2022-09-29T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--b3379e8f-995d-4df7-be15-7861c104b55c", "spec_version": "2.1", "target_ref": "attack-pattern--faf0ec21-da60-4efc-8c8e-7a6b63bea170", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "Implementation: Perform testing such as pen-testing and vulnerability scanning to identify directories, programs, and interfaces that grant direct access to executables.", "id": "course-of-action--8fb32cf0-80fd-4e8b-91c6-0908041d5b6e", "modified": "2022-09-29T00:00:00.000Z", "name": "coa-126-8", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "course-of-action", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--99e79d18-12bf-4362-a63b-bbc4e4c958a5", "modified": "2022-09-29T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--8fb32cf0-80fd-4e8b-91c6-0908041d5b6e", "spec_version": "2.1", "target_ref": "attack-pattern--faf0ec21-da60-4efc-8c8e-7a6b63bea170", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "Implementation: Use indirect references rather than actual file names.", "id": "course-of-action--f972cf8f-5c89-4e6c-87ad-8eb40c32883b", "modified": "2022-09-29T00:00:00.000Z", "name": "coa-126-9", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "course-of-action", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--233f668e-d39a-47dd-8b8e-51d1e88576f6", "modified": "2022-09-29T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--f972cf8f-5c89-4e6c-87ad-8eb40c32883b", "spec_version": "2.1", "target_ref": "attack-pattern--faf0ec21-da60-4efc-8c8e-7a6b63bea170", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "Implementation: Use possible permissions on file access when developing and deploying web applications.", "id": "course-of-action--4dc38767-be73-424a-b909-90eb4773dfa3", "modified": "2022-09-29T00:00:00.000Z", "name": "coa-126-10", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "course-of-action", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--048fb2e5-4985-4092-ab1f-ecb8bb25b6c2", "modified": "2022-09-29T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--4dc38767-be73-424a-b909-90eb4773dfa3", "spec_version": "2.1", "target_ref": "attack-pattern--faf0ec21-da60-4efc-8c8e-7a6b63bea170", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "Implementation: Validate user input by only accepting known good. Ensure all content that is delivered to client is sanitized against an acceptable content specification -- using an allowlist approach.", "id": "course-of-action--eb88c845-46c6-4223-adf2-ac06a363bac2", "modified": "2022-09-29T00:00:00.000Z", "name": "coa-126-11", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "course-of-action", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--d5c7f3e3-935d-41f4-b489-634a196c7864", "modified": "2022-09-29T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--eb88c845-46c6-4223-adf2-ac06a363bac2", "spec_version": "2.1", "target_ref": "attack-pattern--faf0ec21-da60-4efc-8c8e-7a6b63bea170", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "An adversary crafts a request to a target that results in the target listing/indexing the content of a directory as output. One common method of triggering directory contents as output is to construct a request containing a path that terminates in a directory name rather than a file name since many applications are configured to provide a list of the directory's contents when such a request is received. An adversary can use this to explore the directory tree on a target as well as learn the names of files. This can often end up revealing test files, backup files, temporary files, hidden files, configuration files, user accounts, script contents, as well as naming conventions, all of which can be used by an attacker to mount additional attacks.", "external_references": [ { "external_id": "CAPEC-127", "source_name": "capec", "url": "https://capec.mitre.org/data/definitions/127.html" }, { "external_id": "CWE-424", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/424.html" }, { "external_id": "CWE-425", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/425.html" }, { "external_id": "CWE-288", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/288.html" }, { "external_id": "CWE-285", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/285.html" }, { "external_id": "CWE-732", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/732.html" }, { "external_id": "CWE-276", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/276.html" }, { "external_id": "CWE-693", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/693.html" }, { "description": "File and Directory Discovery", "external_id": "T1083", "source_name": "ATTACK", "url": "https://attack.mitre.org/wiki/Technique/T1083" }, { "description": "WASC Threat Classification 2.0, 2010, The Web Application Security Consortium (WASC)", "external_id": "REF-11", "source_name": "reference_from_CAPEC", "url": "http://projects.webappsec.org/Directory-Indexing" } ], "id": "attack-pattern--62c46d1c-f091-467e-a4b0-61927db31f38", "modified": "2021-06-24T00:00:00.000Z", "name": "Directory Indexing", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "attack-pattern", "x_capec_abstraction": "Detailed", "x_capec_child_of_refs": [ "attack-pattern--49132d37-44e8-458c-a06e-0e5b9ac9bbd6" ], "x_capec_consequences": { "Confidentiality": [ "Read Data (Information Leakage)" ] }, "x_capec_domains": [ "Software" ], "x_capec_example_instances": [ "\n The adversary uses directory listing to view sensitive files in the application. This is an example of accessing the backup file. The attack issues a request for http://www.example.com/admin/ and receives the following dynamic directory indexing content in the response: Index of /admin Name Last Modified Size Description backup/ 31-May-2007 08:18 - Apache/ 2.0.55 Server at www.example.com Port 80\n The target application does not have direct hyperlink to the \"backup\" directory in the normal html webpage, however the attacker has learned of this directory due to indexing the content. The client then requests the backup directory URL and receives output which has a \"db_dump.php\" file in it. This sensitive data should not be disclosed publicly.\n " ], "x_capec_execution_flow": "

Execution Flow

Explore

  1. Directory Discovery: Use a method, either manual, scripted, or automated to discover the directories on the server by making requests for directories that may possibly exist. During this phase the adversary is less concerned with whether a directory can be accessed or indexed and more focused on simply discovering what directories do exist on the target.

  2. Techniques
    Send requests to the web server for common directory names
    If directories are discovered that are native to a server type further refine the directory search to include directories usually present on those types of servers.
    Search for uncommon or potentially user created directories that may be present.

Experiment

  1. Iteratively explore directory/file structures: The adversary attempts to access the discovered directories that allow access and may attempt to bypass server or application level ACLs by using manual or automated methods

  2. Techniques
    Use a scanner tool to dynamically add directories/files to include their scan based upon data obtained in initial probes.
    Use a browser to manually explore the website by issuing a request ending the URL in a slash '/'.
    Attempt to bypass ACLs on directories by using methods that known to work against some server types by appending data to the directory request. For instance, appending a Null byte to the end of the request which may cause an ACL to fail and allow access.
    Sequentially request a list of common base files to each directory discovered.
    Try multiple fuzzing techniques to list directory contents for directories that will not reveal their contents with a \"/\" request

Exploit

  1. Read directories or files which are not intended for public viewing.: The adversary attempts to access the discovered directories that allow access and may attempt to bypass server or application level ACLs by using manual or automated methods

  2. Techniques
    Try multiple exploit techniques to list directory contents for directories that will not reveal their contents with a \"/\" request
    Try other known exploits to elevate privileges sufficient to bypass protected directories.
    List the files in the directory by issuing a request with the URL ending in a \"/\" slash.
    Access the files via direct URL and capture contents.
    Attempt to bypass ACLs on directories by using methods that are known to work against some server types by appending data to the directory request. For instance, appending a Null byte to the end of the request which may cause an ACL to fail and allow access.
    Sequentially request a list of common base files to each directory discovered.
", "x_capec_likelihood_of_attack": "High", "x_capec_prerequisites": [ "The target must be misconfigured to return a list of a directory's content when it receives a request that ends in a directory name rather than a file name.", "The adversary must be able to control the path that is requested of the target.", "The administrator must have failed to properly configure an ACL or has associated an overly permissive ACL with a particular directory.", "The server version or patch level must not inherently prevent known directory listing attacks from working." ], "x_capec_resources_required": [ "Ability to send HTTP requests to a web application." ], "x_capec_skills_required": { "High": "To bypass the access control of the directory of listings", "Low": "To issue the request to URL without given a specific file name" }, "x_capec_status": "Draft", "x_capec_typical_severity": "Medium", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "1. Using blank index.html: putting blank index.html simply prevent directory listings from displaying to site visitors.", "id": "course-of-action--e159a65a-59f4-41fb-82a5-0f5cf069b10f", "modified": "2021-06-24T00:00:00.000Z", "name": "coa-127-0", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "course-of-action", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--1d386aba-01fb-4a86-8b95-a4778cf497ab", "modified": "2021-06-24T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--e159a65a-59f4-41fb-82a5-0f5cf069b10f", "spec_version": "2.1", "target_ref": "attack-pattern--62c46d1c-f091-467e-a4b0-61927db31f38", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "2. Preventing with .htaccess in Apache web server: In .htaccess, write \"Options-indexes\".", "id": "course-of-action--7c00c5ac-d08c-4abb-8ce7-7000072c9d15", "modified": "2021-06-24T00:00:00.000Z", "name": "coa-127-1", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "course-of-action", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--665bc535-a6b1-48ea-9fd2-4cda3661f872", "modified": "2021-06-24T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--7c00c5ac-d08c-4abb-8ce7-7000072c9d15", "spec_version": "2.1", "target_ref": "attack-pattern--62c46d1c-f091-467e-a4b0-61927db31f38", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "3. Suppressing error messages: using error 403 \"Forbidden\" message exactly like error 404 \"Not Found\" message.", "id": "course-of-action--778c2c99-3964-42e2-9e8a-33e9adf9201b", "modified": "2021-06-24T00:00:00.000Z", "name": "coa-127-2", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "course-of-action", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--c93af142-fad4-470f-ab94-e6b35f993234", "modified": "2021-06-24T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--778c2c99-3964-42e2-9e8a-33e9adf9201b", "spec_version": "2.1", "target_ref": "attack-pattern--62c46d1c-f091-467e-a4b0-61927db31f38", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "An attacker takes advantage of the structure of integer variables to cause these variables to assume values that are not expected by an application. For example, adding one to the largest positive integer in a signed integer variable results in a negative number. Negative numbers may be illegal in an application and the application may prevent an attacker from providing them directly, but the application may not consider that adding two positive numbers can create a negative number do to the structure of integer storage formats.", "external_references": [ { "external_id": "CAPEC-128", "source_name": "capec", "url": "https://capec.mitre.org/data/definitions/128.html" }, { "external_id": "CWE-682", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/682.html" } ], "id": "attack-pattern--1f3b920a-a706-494c-9486-69531a514912", "modified": "2017-08-04T00:00:00.000Z", "name": "Integer Attacks", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "attack-pattern", "x_capec_abstraction": "Standard", "x_capec_child_of_refs": [ "attack-pattern--71d31712-9174-4433-8e4f-8520a3ec1249" ], "x_capec_domains": [ "Software" ], "x_capec_parent_of_refs": [ "attack-pattern--369d69a3-fb4a-49ac-8999-9b4ecfbf74c6" ], "x_capec_prerequisites": [ "The target application must have an integer variable for which only some of the possible integer values are expected by the application and where there are no checks on the value of the variable before use.", "The attacker must be able to manipulate the targeted integer variable such that normal operations result in non-standard values due to the storage structure of integers." ], "x_capec_resources_required": [ "None: No specialized resources are required to execute this type of attack." ], "x_capec_status": "Draft", "x_capec_typical_severity": "Medium", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "This attack pattern involves an adversary manipulating a pointer within a target application resulting in the application accessing an unintended memory location. This can result in the crashing of the application or, for certain pointer values, access to data that would not normally be possible or the execution of arbitrary code. Since pointers are simply integer variables, Integer Attacks may often be used in Pointer Attacks.", "external_references": [ { "external_id": "CAPEC-129", "source_name": "capec", "url": "https://capec.mitre.org/data/definitions/129.html" }, { "external_id": "CWE-682", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/682.html" }, { "external_id": "CWE-822", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/822.html" }, { "external_id": "CWE-823", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/823.html" } ], "id": "attack-pattern--6295b7e2-98e9-4fc8-acbf-99769cb3cdf0", "modified": "2019-04-04T00:00:00.000Z", "name": "Pointer Manipulation", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "attack-pattern", "x_capec_abstraction": "Meta", "x_capec_domains": [ "Software" ], "x_capec_prerequisites": [ "The target application must have a pointer variable that the attacker can influence to hold an arbitrary value." ], "x_capec_resources_required": [ "None: No specialized resources are required to execute this type of attack." ], "x_capec_status": "Draft", "x_capec_typical_severity": "Medium", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "The adversary directly or indirectly modifies environment variables used by or controlling the target software. The adversary's goal is to cause the target software to deviate from its expected operation in a manner that benefits the adversary.", "external_references": [ { "external_id": "CAPEC-13", "source_name": "capec", "url": "https://capec.mitre.org/data/definitions/13.html" }, { "external_id": "CWE-353", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/353.html" }, { "external_id": "CWE-285", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/285.html" }, { "external_id": "CWE-302", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/302.html" }, { "external_id": "CWE-74", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/74.html" }, { "external_id": "CWE-15", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/15.html" }, { "external_id": "CWE-73", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/73.html" }, { "external_id": "CWE-20", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/20.html" }, { "external_id": "CWE-200", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/200.html" }, { "description": "Impair Defenses:Impair Command History Logging", "external_id": "T1562.003", "source_name": "ATTACK", "url": "https://attack.mitre.org/wiki/Technique/T1562/003" }, { "description": "Hijack Execution Flow:Dynamic Linker Hijacking", "external_id": "T1574.006", "source_name": "ATTACK", "url": "https://attack.mitre.org/wiki/Technique/T1574/006" }, { "description": "Hijack Execution Flow:Path Interception by PATH Environment Variable", "external_id": "T1574.007", "source_name": "ATTACK", "url": "https://attack.mitre.org/wiki/Technique/T1574/007" }, { "description": "G. Hoglund, G. McGraw, Exploiting Software: How to Break Code, 2004--02, Addison-Wesley", "external_id": "REF-1", "source_name": "reference_from_CAPEC" } ], "id": "attack-pattern--f190e1b3-e8d6-4aef-817c-b3e7782e2aed", "modified": "2022-02-22T00:00:00.000Z", "name": "Subverting Environment Variable Values", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "attack-pattern", "x_capec_abstraction": "Detailed", "x_capec_can_precede_refs": [ "attack-pattern--c4a0c765-e4ca-43c2-996e-08ce13ae8f80" ], "x_capec_child_of_refs": [ "attack-pattern--5e4a268e-f89f-445a-aa42-395922f56bf0" ], "x_capec_consequences": { "Access_Control": [ "Bypass Protection Mechanism" ], "Accountability": [ "Hide Activities" ], "Authorization": [ "Bypass Protection Mechanism" ], "Availability": [ "Execute Unauthorized Commands (Run Arbitrary Code)", "Unreliable Execution" ], "Confidentiality": [ "Execute Unauthorized Commands (Run Arbitrary Code)", "Bypass Protection Mechanism", "Read Data" ], "Integrity": [ "Execute Unauthorized Commands (Run Arbitrary Code)" ] }, "x_capec_domains": [ "Software" ], "x_capec_example_instances": [ "Changing the LD_LIBRARY_PATH environment variable in TELNET will cause TELNET to use an alternate (possibly Trojan) version of a function library. The Trojan library must be accessible using the target file system and should include Trojan code that will allow the user to log in with a bad password. This requires that the adversary upload the Trojan library to a specific location on the target. As an alternative to uploading a Trojan file, some file systems support file paths that include remote addresses, such as \\\\172.16.2.100\\shared_files\\trojan_dll.dll. See also: Path Manipulation (CVE-1999-0073)", "The HISTCONTROL environment variable keeps track of what should be saved by the history command and eventually into the ~/.bash_history file when a user logs out. This setting can be configured to ignore commands that start with a space by simply setting it to \"ignorespace\". HISTCONTROL can also be set to ignore duplicate commands by setting it to \"ignoredups\". In some Linux systems, this is set by default to \"ignoreboth\" which covers both of the previous examples. This means that \" ls\" will not be saved, but \"ls\" would be saved by history. HISTCONTROL does not exist by default on macOS, but can be set by the user and will be respected. Adversaries can use this to operate without leaving traces by simply prepending a space to all of their terminal commands." ], "x_capec_execution_flow": "

Execution Flow

Explore

  1. Probe target application: The adversary first probes the target application to determine important information about the target. This information could include types software used, software versions, what user input the application consumes, and so on. Most importantly, the adversary tries to determine what environment variables might be used by the underlying software, or even the application itself.

Experiment

  1. Find user-controlled environment variables: Using the information found by probing the application, the adversary attempts to manipulate any user-controlled environment variables they have found are being used by the application, or suspect are being used by the application, and observe the effects of these changes. If the adversary notices any significant changes to the application, they will know that a certain environment variable is important to the application behavior and indicates a possible attack vector.

  2. Techniques
    Alter known environment variables such as \"$PATH\", \"$HOSTNAME\", or \"LD_LIBRARY_PATH\" and see if application behavior changes.

Exploit

  1. Manipulate user-controlled environment variables: The adversary manipulates the found environment variable(s) to abuse the normal flow of processes or to gain access to privileged resources.

", "x_capec_likelihood_of_attack": "High", "x_capec_peer_of_refs": [ "attack-pattern--4a29d66d-8617-4382-b456-578ecdb1609e" ], "x_capec_prerequisites": [ "An environment variable is accessible to the user.", "An environment variable used by the application can be tainted with user supplied data.", "Input data used in an environment variable is not validated properly.", "The variables encapsulation is not done properly. For instance setting a variable as public in a class makes it visible and an adversary may attempt to manipulate that variable." ], "x_capec_skills_required": { "High": "Some more advanced attacks may require knowledge about protocols and probing technique which help controlling a variable. The malicious user may try to understand the authentication mechanism in order to defeat it.", "Low": "In a web based scenario, the client controls the data that it submitted to the server. So anybody can try to send malicious data and try to bypass the authentication mechanism." }, "x_capec_status": "Stable", "x_capec_typical_severity": "Very High", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "Protect environment variables against unauthorized read and write access.", "id": "course-of-action--60c73cc1-5718-4246-a2a6-da180705e463", "modified": "2022-02-22T00:00:00.000Z", "name": "coa-13-0", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "course-of-action", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--e351819c-a8ce-4628-bc2d-fe25172f524f", "modified": "2022-02-22T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--60c73cc1-5718-4246-a2a6-da180705e463", "spec_version": "2.1", "target_ref": "attack-pattern--f190e1b3-e8d6-4aef-817c-b3e7782e2aed", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "Protect the configuration files which contain environment variables against illegitimate read and write access.", "id": "course-of-action--88742f57-22ea-48b4-a8a8-aa72de425e08", "modified": "2022-02-22T00:00:00.000Z", "name": "coa-13-1", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "course-of-action", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--f927e9e7-a3c2-4e14-8da4-37711f2f0161", "modified": "2022-02-22T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--88742f57-22ea-48b4-a8a8-aa72de425e08", "spec_version": "2.1", "target_ref": "attack-pattern--f190e1b3-e8d6-4aef-817c-b3e7782e2aed", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "Assume all input is malicious. Create an allowlist that defines all valid input to the software system based on the requirements specifications. Input that does not match against the allowlist should not be permitted to enter into the system.", "id": "course-of-action--523a56cb-eaa5-451a-8ba9-f85b37fad844", "modified": "2022-02-22T00:00:00.000Z", "name": "coa-13-2", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "course-of-action", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--9b2e048e-f266-4abc-a3e7-0430607e7aeb", "modified": "2022-02-22T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--523a56cb-eaa5-451a-8ba9-f85b37fad844", "spec_version": "2.1", "target_ref": "attack-pattern--f190e1b3-e8d6-4aef-817c-b3e7782e2aed", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "Apply the least privilege principles. If a process has no legitimate reason to read an environment variable do not give that privilege.", "id": "course-of-action--5ea96ff9-d08f-4da5-b893-17f63f09b83e", "modified": "2022-02-22T00:00:00.000Z", "name": "coa-13-3", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "course-of-action", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--36c8f1a2-fc68-4417-ba38-adaa3e68a90d", "modified": "2022-02-22T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--5ea96ff9-d08f-4da5-b893-17f63f09b83e", "spec_version": "2.1", "target_ref": "attack-pattern--f190e1b3-e8d6-4aef-817c-b3e7782e2aed", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "An adversary causes the target to allocate excessive resources to servicing the attackers' request, thereby reducing the resources available for legitimate services and degrading or denying services. Usually, this attack focuses on memory allocation, but any finite resource on the target could be the attacked, including bandwidth, processing cycles, or other resources. This attack does not attempt to force this allocation through a large number of requests (that would be Resource Depletion through Flooding) but instead uses one or a small number of requests that are carefully formatted to force the target to allocate excessive resources to service this request(s). Often this attack takes advantage of a bug in the target to cause the target to allocate resources vastly beyond what would be needed for a normal request.", "external_references": [ { "external_id": "CAPEC-130", "source_name": "capec", "url": "https://capec.mitre.org/data/definitions/130.html" }, { "external_id": "CWE-404", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/404.html" }, { "external_id": "CWE-770", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/770.html" }, { "external_id": "CWE-1325", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/1325.html" }, { "description": "Endpoint Denial of Service:Application Exhaustion Flood", "external_id": "T1499.003", "source_name": "ATTACK", "url": "https://attack.mitre.org/wiki/Technique/T1499/003" }, { "description": "Denial of Service", "external_id": "10", "source_name": "WASC", "url": "http://projects.webappsec.org/Denial-of-Service" } ], "id": "attack-pattern--e171fd74-3ea6-4ad5-b0ff-71bb311c8024", "modified": "2020-12-17T00:00:00.000Z", "name": "Excessive Allocation", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "attack-pattern", "x_capec_abstraction": "Meta", "x_capec_consequences": { "Availability": [ "Resource Consumption (A successful excessive allocation attack forces the target system to exhaust its resources, thereby compromising the availability of its service.)" ] }, "x_capec_domains": [ "Communications", "Software" ], "x_capec_example_instances": [ "In an Integer Attack, the adversary could cause a variable that controls allocation for a request to hold an excessively large value. Excessive allocation of resources can render a service degraded or unavailable to legitimate users and can even lead to crashing of the target." ], "x_capec_likelihood_of_attack": "Medium", "x_capec_parent_of_refs": [ "attack-pattern--8abd01d1-b2a2-4b86-a640-7d3d3b61d27f", "attack-pattern--247019da-353e-4910-9d11-7dc6c0421a17", "attack-pattern--dcf12181-3652-40c9-bb64-b09d367d2fb1", "attack-pattern--c0166c89-dd49-46a7-9359-88a2c9d053e3", "attack-pattern--753614f7-f574-4a2f-9cc4-481c62c25c32", "attack-pattern--428d5dc6-c2be-4a2a-aed1-1e794518b101", "attack-pattern--fbdcbfab-769d-4d52-8ec2-7fd1e4c212de" ], "x_capec_prerequisites": [ "The target must accept service requests from the attacker and the adversary must be able to control the resource allocation associated with this request to be in excess of the normal allocation. The latter is usually accomplished through the presence of a bug on the target that allows the adversary to manipulate variables used in the allocation." ], "x_capec_resources_required": [ "None: No specialized resources are required to execute this type of attack." ], "x_capec_status": "Stable", "x_capec_typical_severity": "Medium", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "Limit the amount of resources that are accessible to unprivileged users.", "id": "course-of-action--e2401986-f0a6-4a28-bff4-59db19c2000c", "modified": "2020-12-17T00:00:00.000Z", "name": "coa-130-0", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "course-of-action", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--008a8e1b-0ad9-49c8-8c07-6d960df810f6", "modified": "2020-12-17T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--e2401986-f0a6-4a28-bff4-59db19c2000c", "spec_version": "2.1", "target_ref": "attack-pattern--e171fd74-3ea6-4ad5-b0ff-71bb311c8024", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "Assume all input is malicious. Consider all potentially relevant properties when validating input.", "id": "course-of-action--98557606-654b-48be-90f9-47ef76f7034b", "modified": "2020-12-17T00:00:00.000Z", "name": "coa-130-1", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "course-of-action", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--282aa96a-4a57-42b1-826a-e6e4abbd87db", "modified": "2020-12-17T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--98557606-654b-48be-90f9-47ef76f7034b", "spec_version": "2.1", "target_ref": "attack-pattern--e171fd74-3ea6-4ad5-b0ff-71bb311c8024", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "Consider uniformly throttling all requests in order to make it more difficult to consume resources more quickly than they can again be freed.", "id": "course-of-action--74868224-146c-41a0-afd2-66580f01aa44", "modified": "2020-12-17T00:00:00.000Z", "name": "coa-130-2", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "course-of-action", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--51e066b9-7488-4231-91fa-099bbb87c489", "modified": "2020-12-17T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--74868224-146c-41a0-afd2-66580f01aa44", "spec_version": "2.1", "target_ref": "attack-pattern--e171fd74-3ea6-4ad5-b0ff-71bb311c8024", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "Use resource-limiting settings, if possible.", "id": "course-of-action--e9d23f7b-bee1-4e7e-9621-9a0cb59e8bd4", "modified": "2020-12-17T00:00:00.000Z", "name": "coa-130-3", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "course-of-action", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--98433369-590b-48b9-a19e-d159dde960e1", "modified": "2020-12-17T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--e9d23f7b-bee1-4e7e-9621-9a0cb59e8bd4", "spec_version": "2.1", "target_ref": "attack-pattern--e171fd74-3ea6-4ad5-b0ff-71bb311c8024", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "An adversary utilizes a resource leak on the target to deplete the quantity of the resource available to service legitimate requests.", "external_references": [ { "external_id": "CAPEC-131", "source_name": "capec", "url": "https://capec.mitre.org/data/definitions/131.html" }, { "external_id": "CWE-404", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/404.html" }, { "description": "Endpoint Denial of Service", "external_id": "T1499", "source_name": "ATTACK", "url": "https://attack.mitre.org/wiki/Technique/T1499" }, { "description": "Denial of Service", "external_id": "10", "source_name": "WASC", "url": "http://projects.webappsec.org/Denial-of-Service" } ], "id": "attack-pattern--01d5c7e7-1c74-4b20-9e43-548c5f4de113", "modified": "2022-02-22T00:00:00.000Z", "name": "Resource Leak Exposure", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "attack-pattern", "x_capec_abstraction": "Meta", "x_capec_consequences": { "Availability": [ "Unreliable Execution (A successful resource leak exposure attack compromises the availability of the target system's services.)", "Resource Consumption (A successful resource leak exposure attack compromises the availability of the target system's services.)" ] }, "x_capec_domains": [ "Software" ], "x_capec_extended_description": "\n Resource leaks most often come in the form of memory leaks where memory is allocated but never released after it has served its purpose, however, theoretically, any other resource that can be reserved can be targeted if the target fails to release the reservation when the reserved resource block is no longer needed.\n In this attack, the adversary determines what activity results in leaked resources and then triggers that activity on the target. Since some leaks may be small, this may require a large number of requests by the adversary. However, this attack differs from a flooding attack in that the rate of requests is generally not significant. This is because the lost resources due to the leak accumulate until the target is reset, usually by restarting it. Thus, a resource-poor adversary who would be unable to flood the target can still utilize this attack.\n Resource depletion through leak differs from resource depletion through allocation in that, in the former, the adversary may not be able to control the size of each leaked allocation, but instead allows the leak to accumulate until it is large enough to affect the target's performance. When depleting resources through allocation, the allocated resource may eventually be released by the target so the attack relies on making sure that the allocation size itself is prohibitive of normal operations by the target.\n ", "x_capec_likelihood_of_attack": "Medium", "x_capec_prerequisites": [ "The target must have a resource leak that the adversary can repeatedly trigger." ], "x_capec_resources_required": [ "None: No specialized resources are required to execute this type of attack." ], "x_capec_status": "Stable", "x_capec_typical_severity": "Medium", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "If possible, leverage coding language(s) that do not allow this weakness to occur (e.g., Java, Ruby, and Python all perform automatic garbage collection that releases memory for objects that have been deallocated).", "id": "course-of-action--cf45c4fb-cc58-4502-876c-56d851cd73f9", "modified": "2022-02-22T00:00:00.000Z", "name": "coa-131-0", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "course-of-action", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--adc4413e-bddd-423e-ba63-df78f79cc02f", "modified": "2022-02-22T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--cf45c4fb-cc58-4502-876c-56d851cd73f9", "spec_version": "2.1", "target_ref": "attack-pattern--01d5c7e7-1c74-4b20-9e43-548c5f4de113", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "Memory should always be allocated/freed using matching functions (e.g., malloc/free, new/delete, etc.)", "id": "course-of-action--d3e6855e-8bae-4987-bb3d-398e16bb2502", "modified": "2022-02-22T00:00:00.000Z", "name": "coa-131-1", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "course-of-action", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--05481c8c-ea7e-42e4-a012-87f4ecdeb7b8", "modified": "2022-02-22T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--d3e6855e-8bae-4987-bb3d-398e16bb2502", "spec_version": "2.1", "target_ref": "attack-pattern--01d5c7e7-1c74-4b20-9e43-548c5f4de113", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "Implement best practices with respect to memory management, including the freeing of all allocated resources at all exit points and ensuring consistency with how and where memory is freed in a function.", "id": "course-of-action--e848e916-876c-4616-85ac-a44e4e90b63b", "modified": "2022-02-22T00:00:00.000Z", "name": "coa-131-2", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "course-of-action", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--dbe99895-80e2-48af-966a-55f26aadd3d5", "modified": "2022-02-22T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--e848e916-876c-4616-85ac-a44e4e90b63b", "spec_version": "2.1", "target_ref": "attack-pattern--01d5c7e7-1c74-4b20-9e43-548c5f4de113", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "An adversary positions a symbolic link in such a manner that the targeted user or application accesses the link's endpoint, assuming that it is accessing a file with the link's name.", "external_references": [ { "external_id": "CAPEC-132", "source_name": "capec", "url": "https://capec.mitre.org/data/definitions/132.html" }, { "external_id": "CWE-59", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/59.html" }, { "description": "Boot or Logon Autostart Execution:Shortcut Modification", "external_id": "T1547.009", "source_name": "ATTACK", "url": "https://attack.mitre.org/wiki/Technique/T1547/009" }, { "description": "Shaun Colley, Crafting Symlinks for Fun and Profit", "external_id": "REF-13", "source_name": "reference_from_CAPEC", "url": "http://www.infosecwriters.com/texts.php?op=display&id=159" } ], "id": "attack-pattern--7cb5458d-b646-4a25-ad0a-4c3fabd70a65", "modified": "2022-09-29T00:00:00.000Z", "name": "Symlink Attack", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "attack-pattern", "x_capec_abstraction": "Detailed", "x_capec_child_of_refs": [ "attack-pattern--d16af13f-5e0f-4a6b-bc1f-23f733d2229b" ], "x_capec_consequences": { "Access_Control": [ "Bypass Protection Mechanism" ], "Accountability": [ "Gain Privileges" ], "Authentication": [ "Gain Privileges" ], "Authorization": [ "Execute Unauthorized Commands (Run Arbitrary Code)", "Gain Privileges", "Bypass Protection Mechanism" ], "Availability": [ "Unreliable Execution" ], "Confidentiality": [ "Other (Information Leakage)", "Read Data" ], "Integrity": [ "Modify Data", "Modify Data" ], "Non-Repudiation": [ "Gain Privileges" ] }, "x_capec_domains": [ "Software" ], "x_capec_example_instances": [ "\n The adversary creates a symlink with the \"same\" name as the file which the application is intending to write to. The application will write to the file- \"causing the data to be written where the symlink is pointing\". An attack like this can be demonstrated as follows:\n root# vulprog myFile\n {...program does some processing...]\n \n adversary# ln –s /etc/nologin myFile\n [...program writes to 'myFile', which points to /etc/nologin...]\n \n \n In the above example, the root user ran a program with poorly written file handling routines, providing the filename \"myFile\" to vulnprog for the relevant data to be written to. However, the adversary happened to be looking over the shoulder of \"root\" at the time, and created a link from myFile to /etc/nologin. The attack would make no user be able to login.\n " ], "x_capec_execution_flow": "

Execution Flow

Explore

  1. Identify Target: Adversary identifies the target application by determining whether there is sufficient check before writing data to a file and creating symlinks to files in different directories.

  2. Techniques
    The adversary writes to files in different directories to check whether the application has sufficient checking before file operations.
    The adversary creates symlinks to files in different directories.

Experiment

  1. Try to create symlinks to different files: The adversary then uses a variety of techniques, such as monitoring or guessing to create symlinks to the files accessed by the target application in the directories which are identified in the explore phase.

  2. Techniques
    The adversary monitors the file operations performed by the target application using a tool like dtrace or FileMon. And the adversary can delay the operations by using \"sleep(2)\" and \"usleep()\" to prepare the appropriate conditions for the attack, or make the application perform expansive tasks (large files parsing, etc.) depending on the purpose of the application.
    The adversary may need a little guesswork on the filenames on which the target application would operate.
    The adversary tries to create symlinks to the various filenames.

Exploit

  1. Target application operates on created symlinks to sensitive files: The adversary is able to create symlinks to sensitive files while the target application is operating on the file.

  2. Techniques
    Create the symlink to the sensitive file such as configuration files, etc.
", "x_capec_extended_description": "\n The endpoint file may be either output or input. If the file is output, the result is that the endpoint is modified, instead of a file at the intended location. Modifications to the endpoint file may include appending, overwriting, corrupting, changing permissions, or other modifications.\n In some variants of this attack the adversary may be able to control the change to a file while in other cases they cannot. The former is especially damaging since the adversary may be able to grant themselves increased privileges or insert false information, but the latter can also be damaging as it can expose sensitive information or corrupt or destroy vital system or application files. Alternatively, the endpoint file may serve as input to the targeted application. This can be used to feed malformed input into the target or to cause the target to process different information, possibly allowing the adversary to control the actions of the target or to cause the target to expose information to the adversary. Moreover, the actions taken on the endpoint file are undertaken with the permissions of the targeted user or application, which may exceed the permissions that the adversary would normally have.\n ", "x_capec_likelihood_of_attack": "Low", "x_capec_prerequisites": [ "The targeted application must perform the desired activities on a file without checking whether the file is a symbolic link or not. The adversary must be able to predict the name of the file the target application is modifying and be able to create a new symbolic link where that file would appear." ], "x_capec_resources_required": [ "None: No specialized resources are required to execute this type of attack. The only requirement is the ability to create the necessary symbolic link." ], "x_capec_skills_required": { "High": "To identify the files and create the symlinks during the file operation time window", "Low": "To create symlinks" }, "x_capec_status": "Draft", "x_capec_typical_severity": "High", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "Design: Check for the existence of files to be created, if in existence verify they are neither symlinks nor hard links before opening them.", "id": "course-of-action--f5210720-4324-4516-a229-f892a14476e3", "modified": "2022-09-29T00:00:00.000Z", "name": "coa-132-0", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "course-of-action", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--a8e73cf8-4cb5-4ae9-9a70-c2ebefdf62fc", "modified": "2022-09-29T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--f5210720-4324-4516-a229-f892a14476e3", "spec_version": "2.1", "target_ref": "attack-pattern--7cb5458d-b646-4a25-ad0a-4c3fabd70a65", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "Implementation: Use randomly generated file names for temporary files. Give the files restrictive permissions.", "id": "course-of-action--a30baed8-dcc2-47af-93ca-38ef0fe2e8e2", "modified": "2022-09-29T00:00:00.000Z", "name": "coa-132-1", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "course-of-action", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--9cf8f1cf-51b6-4745-843d-2b4655e99ce6", "modified": "2022-09-29T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--a30baed8-dcc2-47af-93ca-38ef0fe2e8e2", "spec_version": "2.1", "target_ref": "attack-pattern--7cb5458d-b646-4a25-ad0a-4c3fabd70a65", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "An attacker attempts to invoke all common switches and options in the target application for the purpose of discovering weaknesses in the target. For example, in some applications, adding a --debug switch causes debugging information to be displayed, which can sometimes reveal sensitive processing or configuration information to an attacker. This attack differs from other forms of API abuse in that the attacker is indiscriminately attempting to invoke options in the hope that one of them will work rather than specifically targeting a known option. Nonetheless, even if the attacker is familiar with the published options of a targeted application this attack method may still be fruitful as it might discover unpublicized functionality.", "external_references": [ { "external_id": "CAPEC-133", "source_name": "capec", "url": "https://capec.mitre.org/data/definitions/133.html" }, { "external_id": "CWE-912", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/912.html" } ], "id": "attack-pattern--a0fc32ad-ef32-44d5-9937-5968f5e7b78c", "modified": "2021-10-21T00:00:00.000Z", "name": "Try All Common Switches", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "attack-pattern", "x_capec_abstraction": "Standard", "x_capec_child_of_refs": [ "attack-pattern--f4186110-0c20-42fa-bc6f-d0ff9f700f91" ], "x_capec_domains": [ "Software" ], "x_capec_execution_flow": "

Execution Flow

Explore

  1. Identify application: Discover an application of interest by exploring service registry listings or by connecting on a known port or some similar means.

  2. Techniques
    Search via internet for known, published applications that allow option switches.
    Use automated tools to scan known ports to identify applications that might be accessible
  3. Authenticate to application: Authenticate to the application, if required, in order to explore it.

  4. Techniques
    Use published credentials to access system.
    Find unpublished credentails to access service.
    Use other attack pattern or weakness to bypass authentication.

Experiment

  1. Try all common switches: Using manual or automated means, attempt to run the application with many different known common switches. Observe the output to see if any switches seemed to put the application in a non production mode that might give more information.

  2. Techniques
    Manually execute the application with switches such as --debug, --test, --development, --verbose, etc.
    Use automated tools to run the application with common switches and observe the output

Exploit

  1. Use sensitive processing or configuration information: Once extra information is observed from an application through the use of a common switch, this information is used to aid other attacks on the application

  2. Techniques
    Using application information, formulate an attack on the application
", "x_capec_prerequisites": [ "The attacker must be able to control the options or switches sent to the target." ], "x_capec_resources_required": [ "None: No specialized resources are required to execute this type of attack. The only requirement is the ability to send requests to the target." ], "x_capec_status": "Draft", "x_capec_typical_severity": "Medium", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "Design: Minimize switch and option functionality to only that necessary for correct function of the command.", "id": "course-of-action--98da757a-6fb3-4a86-b0b3-c7731ca1325b", "modified": "2021-10-21T00:00:00.000Z", "name": "coa-133-0", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "course-of-action", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--9849d6f7-11c6-49c0-a3b7-a87ba59d92c3", "modified": "2021-10-21T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--98da757a-6fb3-4a86-b0b3-c7731ca1325b", "spec_version": "2.1", "target_ref": "attack-pattern--a0fc32ad-ef32-44d5-9937-5968f5e7b78c", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "Implementation: Remove all debug and testing options from production code.", "id": "course-of-action--86466080-30aa-42b1-a6cc-f8103cf49498", "modified": "2021-10-21T00:00:00.000Z", "name": "coa-133-1", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "course-of-action", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--007dc896-33a1-418f-8400-a4ae48f79658", "modified": "2021-10-21T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--86466080-30aa-42b1-a6cc-f8103cf49498", "spec_version": "2.1", "target_ref": "attack-pattern--a0fc32ad-ef32-44d5-9937-5968f5e7b78c", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "An adversary manipulates the headers and content of an email message by injecting data via the use of delimiter characters native to the protocol.", "external_references": [ { "external_id": "CAPEC-134", "source_name": "capec", "url": "https://capec.mitre.org/data/definitions/134.html" }, { "external_id": "CWE-150", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/150.html" }, { "description": "Mail Command Injection", "external_id": "30", "source_name": "WASC", "url": "http://projects.webappsec.org/Mail-Command-Injection" } ], "id": "attack-pattern--3e3f4570-827b-4e0e-859b-00a4b13a1a65", "modified": "2022-02-22T00:00:00.000Z", "name": "Email Injection", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "attack-pattern", "x_capec_abstraction": "Standard", "x_capec_child_of_refs": [ "attack-pattern--cde07b71-23e6-418d-93e9-665f5f83b032" ], "x_capec_domains": [ "Software" ], "x_capec_extended_description": "\n Many applications allow users to send email messages by filling in fields. For example, a web site may have a link to \"share this site with a friend\" where the user provides the recipient's email address and the web application fills out all the other fields, such as the subject and body. In this pattern, an adversary adds header and body information to an email message by injecting additional content in an input field used to construct a header of the mail message. This attack takes advantage of the fact that RFC 822 requires that headers in a mail message be separated by a carriage return. As a result, an adversary can inject new headers or content simply by adding a delimiting carriage return and then supplying the new heading and body information. This attack will not work if the user can only supply the message body since a carriage return in the body is treated as a normal character.\n ", "x_capec_parent_of_refs": [ "attack-pattern--30047c4f-cbf1-48ff-906c-3c6d58feb1a1" ], "x_capec_prerequisites": [ "The target application must allow the user to send email to some recipient, to specify the content at least one header field in the message, and must fail to sanitize against the injection of command separators.", "The adversary must have the ability to access the target mail application." ], "x_capec_resources_required": [ "None: No specialized resources are required to execute this type of attack." ], "x_capec_status": "Draft", "x_capec_typical_severity": "Medium", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "An adversary includes formatting characters in a string input field on the target application. Most applications assume that users will provide static text and may respond unpredictably to the presence of formatting character. For example, in certain functions of the C programming languages such as printf, the formatting character %s will print the contents of a memory location expecting this location to identify a string and the formatting character %n prints the number of DWORD written in the memory. An adversary can use this to read or write to memory locations or files, or simply to manipulate the value of the resulting text in unexpected ways. Reading or writing memory may result in program crashes and writing memory could result in the execution of arbitrary code if the adversary can write to the program stack.", "external_references": [ { "external_id": "CAPEC-135", "source_name": "capec", "url": "https://capec.mitre.org/data/definitions/135.html" }, { "external_id": "CWE-134", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/134.html" }, { "external_id": "CWE-20", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/20.html" }, { "external_id": "CWE-74", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/74.html" }, { "description": "Format string attack", "source_name": "OWASP Attacks", "url": "https://owasp.org/www-community/attacks/Format_string_attack" }, { "description": "Hal Burch, Brendan Saulsbury, FIO30-C. Exclude user input from format strings, 2011--05, CERT", "external_id": "REF-14", "source_name": "reference_from_CAPEC", "url": "https://www.securecoding.cert.org/confluence/display/seccode/FIO30-C.+Exclude+user+input+from+format+strings" }, { "description": "Robert Auger, WASC Threat Classification 2.0, The Web Application Security Consortium (WASC)", "external_id": "REF-15", "source_name": "reference_from_CAPEC", "url": "http://projects.webappsec.org/Format-String" }, { "description": "OWASP Web Security Testing Guide, The Open Web Application Security Project (OWASP)", "external_id": "REF-616", "source_name": "reference_from_CAPEC", "url": "https://owasp.org/www-project-web-security-testing-guide/latest/4-Web_Application_Security_Testing/07-Input_Validation_Testing/13-Testing_for_Format_String_Injection.html" } ], "id": "attack-pattern--cbabea0a-39ed-4a6f-b752-238fe8c730af", "modified": "2021-06-24T00:00:00.000Z", "name": "Format String Injection", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "attack-pattern", "x_capec_abstraction": "Standard", "x_capec_child_of_refs": [ "attack-pattern--cde07b71-23e6-418d-93e9-665f5f83b032" ], "x_capec_consequences": { "Access_Control": [ "Bypass Protection Mechanism" ], "Confidentiality": [ "Read Data" ], "Integrity": [ "Modify Data", "Execute Unauthorized Commands (Run Arbitrary Code)" ] }, "x_capec_domains": [ "Software" ], "x_capec_example_instances": [ "Untrusted search path vulnerability in the add_filename_to_string function in intl/gettext/loadmsgcat.c for Elinks 0.11.1 allows local users to cause Elinks to use an untrusted gettext message catalog (.po file) in a \"../po\" directory, which can be leveraged to conduct format string attacks. See also: CVE-2007-2027" ], "x_capec_execution_flow": "

Execution Flow

Explore

  1. Survey application: The adversary takes an inventory of the entry points of the application.

  2. Techniques
    Spider web sites for all available links
    List parameters, external variables, configuration files variables, etc. that are possibly used by the application.

Experiment

  1. Determine user-controllable input susceptible to format string injection: Determine the user-controllable input susceptible to format string injection. For each user-controllable input that the adversary suspects is vulnerable to format string injection, attempt to inject formatting characters such as %n, %s, etc.. The goal is to manipulate the string creation using these formatting characters.

  2. Techniques
    Inject probe payload which contains formatting characters (%s, %d, %n, etc.) through input parameters.

Exploit

  1. Try to exploit the Format String Injection vulnerability: After determining that a given input is vulnerable to format string injection, hypothesize what the underlying usage looks like and the associated constraints.

  2. Techniques
    Insert various formatting characters to read or write the memory, e.g. overwrite return address, etc.
", "x_capec_likelihood_of_attack": "High", "x_capec_parent_of_refs": [ "attack-pattern--4cd18074-15c1-4206-8391-115685669623" ], "x_capec_prerequisites": [ "The target application must accept a strings as user input, fail to sanitize string formatting characters in the user input, and process this string using functions that interpret string formatting characters." ], "x_capec_resources_required": [ "None: No specialized resources are required to execute this type of attack." ], "x_capec_skills_required": { "High": "In order to discover format string vulnerabilities it takes only low skill, however, converting this discovery into a working exploit requires advanced knowledge on the part of the adversary." }, "x_capec_status": "Draft", "x_capec_typical_severity": "High", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "Limit the usage of formatting string functions.", "id": "course-of-action--2fed494b-5a78-425c-acaa-11d9ffec4342", "modified": "2021-06-24T00:00:00.000Z", "name": "coa-135-0", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "course-of-action", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--d7b9dd8b-8e73-4e2b-ba24-d8b7c5a033ec", "modified": "2021-06-24T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--2fed494b-5a78-425c-acaa-11d9ffec4342", "spec_version": "2.1", "target_ref": "attack-pattern--cbabea0a-39ed-4a6f-b752-238fe8c730af", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "Strong input validation - All user-controllable input must be validated and filtered for illegal formatting characters.", "id": "course-of-action--132cab4e-0189-4458-80c6-5fce45bee5b1", "modified": "2021-06-24T00:00:00.000Z", "name": "coa-135-1", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "course-of-action", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--dcb94cfe-e24f-4a9f-90fe-c4f2388067b2", "modified": "2021-06-24T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--132cab4e-0189-4458-80c6-5fce45bee5b1", "spec_version": "2.1", "target_ref": "attack-pattern--cbabea0a-39ed-4a6f-b752-238fe8c730af", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "An attacker manipulates or crafts an LDAP query for the purpose of undermining the security of the target. Some applications use user input to create LDAP queries that are processed by an LDAP server. For example, a user might provide their username during authentication and the username might be inserted in an LDAP query during the authentication process. An attacker could use this input to inject additional commands into an LDAP query that could disclose sensitive information. For example, entering a * in the aforementioned query might return information about all users on the system. This attack is very similar to an SQL injection attack in that it manipulates a query to gather additional information or coerce a particular return value.", "external_references": [ { "external_id": "CAPEC-136", "source_name": "capec", "url": "https://capec.mitre.org/data/definitions/136.html" }, { "external_id": "CWE-77", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/77.html" }, { "external_id": "CWE-90", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/90.html" }, { "external_id": "CWE-20", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/20.html" }, { "description": "LDAP Injection", "external_id": "29", "source_name": "WASC", "url": "http://projects.webappsec.org/LDAP-Injection" }, { "description": "LDAP Injection", "source_name": "OWASP Attacks", "url": "https://owasp.org/www-community/attacks/LDAP_Injection" }, { "description": "WASC Threat Classification 2.0, 2010, The Web Application Security Consortium (WASC)", "external_id": "REF-17", "source_name": "reference_from_CAPEC", "url": "http://projects.webappsec.org/LDAP-Injection" }, { "description": "OWASP Web Security Testing Guide, The Open Web Application Security Project (OWASP)", "external_id": "REF-608", "source_name": "reference_from_CAPEC", "url": "https://owasp.org/www-project-web-security-testing-guide/latest/4-Web_Application_Security_Testing/07-Input_Validation_Testing/06-Testing_for_LDAP_Injection.html" } ], "id": "attack-pattern--4b435e98-08cb-4464-bf08-32f95e011d05", "modified": "2020-12-17T00:00:00.000Z", "name": "LDAP Injection", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "attack-pattern", "x_capec_abstraction": "Standard", "x_capec_child_of_refs": [ "attack-pattern--2fb2b2b8-b7de-45a2-aadb-5849d12fda8f" ], "x_capec_consequences": { "Access_Control": [ "Bypass Protection Mechanism" ], "Accountability": [ "Gain Privileges" ], "Authentication": [ "Gain Privileges" ], "Authorization": [ "Execute Unauthorized Commands (Run Arbitrary Code)", "Gain Privileges", "Bypass Protection Mechanism" ], "Availability": [ "Unreliable Execution" ], "Confidentiality": [ "Read Data" ], "Integrity": [ "Modify Data" ], "Non-Repudiation": [ "Gain Privileges" ] }, "x_capec_domains": [ "Software" ], "x_capec_example_instances": [ "PowerDNS before 2.9.18, when running with an LDAP backend, does not properly escape LDAP queries, which allows remote attackers to cause a denial of service (failure to answer ldap questions) and possibly conduct an LDAP injection attack. See also: CVE-2005-2301" ], "x_capec_execution_flow": "

Execution Flow

Explore

  1. Survey application: The attacker takes an inventory of the entry points of the application.

  2. Techniques
    Spider web sites for all available links
    Sniff network communications with application using a utility such as WireShark.

Experiment

  1. Determine user-controllable input susceptible to LDAP injection: For each user-controllable input that the attacker suspects is vulnerable to LDAP injection, attempt to inject characters that have special meaning in LDAP (such as a single quote character, etc.). The goal is to create a LDAP query with an invalid syntax

  2. Techniques
    Use web browser to inject input through text fields or through HTTP GET parameters
    Use a web application debugging tool such as Tamper Data, TamperIE, WebScarab,etc. to modify HTTP POST parameters, hidden fields, non-freeform fields, or other HTTP header.
    Use modified client (modified by reverse engineering) to inject input.
  3. Try to exploit the LDAP injection vulnerability: After determining that a given input is vulnerable to LDAP Injection, hypothesize what the underlying query looks like. Possibly using a tool, iteratively try to add logic to the query to extract information from the LDAP, or to modify or delete information in the LDAP.

  4. Techniques
    Add logic to the LDAP query to change the meaning of that command. Automated tools could be used to generate the LDAP injection strings.
    Use a web application debugging tool such as Tamper Data, TamperIE, WebScarab,etc. to modify HTTP POST parameters, hidden fields, non-freeform fields, or other HTTP header.
", "x_capec_likelihood_of_attack": "High", "x_capec_prerequisites": [ "The target application must accept a string as user input, fail to sanitize characters that have a special meaning in LDAP queries in the user input, and insert the user-supplied string in an LDAP query which is then processed." ], "x_capec_skills_required": { "Medium": "The attacker needs to have knowledge of LDAP, especially its query syntax." }, "x_capec_status": "Draft", "x_capec_typical_severity": "High", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "Strong input validation - All user-controllable input must be validated and filtered for illegal characters as well as LDAP content.", "id": "course-of-action--e5e6818b-d525-4ade-8d2e-11e4664731e6", "modified": "2020-12-17T00:00:00.000Z", "name": "coa-136-0", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "course-of-action", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--9f1eb213-9854-4530-b7ae-cb3659bd69ac", "modified": "2020-12-17T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--e5e6818b-d525-4ade-8d2e-11e4664731e6", "spec_version": "2.1", "target_ref": "attack-pattern--4b435e98-08cb-4464-bf08-32f95e011d05", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "Use of custom error pages - Attackers can glean information about the nature of queries from descriptive error messages. Input validation must be coupled with customized error pages that inform about an error without disclosing information about the LDAP or application.", "id": "course-of-action--b1261793-b0f9-4ad7-90fb-d3f6a464ccfe", "modified": "2020-12-17T00:00:00.000Z", "name": "coa-136-1", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "course-of-action", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--674db528-648e-458e-81fc-e9ef0a61222e", "modified": "2020-12-17T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--b1261793-b0f9-4ad7-90fb-d3f6a464ccfe", "spec_version": "2.1", "target_ref": "attack-pattern--4b435e98-08cb-4464-bf08-32f95e011d05", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "An adversary manipulates the content of request parameters for the purpose of undermining the security of the target. Some parameter encodings use text characters as separators. For example, parameters in a HTTP GET message are encoded as name-value pairs separated by an ampersand (&). If an attacker can supply text strings that are used to fill in these parameters, then they can inject special characters used in the encoding scheme to add or modify parameters. For example, if user input is fed directly into an HTTP GET request and the user provides the value \"myInput&new_param=myValue\", then the input parameter is set to myInput, but a new parameter (new_param) is also added with a value of myValue. This can significantly change the meaning of the query that is processed by the server. Any encoding scheme where parameters are identified and separated by text characters is potentially vulnerable to this attack - the HTTP GET encoding used above is just one example.", "external_references": [ { "external_id": "CAPEC-137", "source_name": "capec", "url": "https://capec.mitre.org/data/definitions/137.html" }, { "external_id": "CWE-88", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/88.html" } ], "id": "attack-pattern--cde07b71-23e6-418d-93e9-665f5f83b032", "modified": "2019-04-04T00:00:00.000Z", "name": "Parameter Injection", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "attack-pattern", "x_capec_abstraction": "Meta", "x_capec_consequences": { "Integrity": [ "Modify Data (Successful parameter injection attacks mean a compromise to integrity of the application.)" ] }, "x_capec_domains": [ "Social Engineering", "Software" ], "x_capec_likelihood_of_attack": "Medium", "x_capec_parent_of_refs": [ "attack-pattern--3e3f4570-827b-4e0e-859b-00a4b13a1a65", "attack-pattern--cbabea0a-39ed-4a6f-b752-238fe8c730af", "attack-pattern--e3a32913-a4a6-4a3c-8f3b-a8a6dc16df53", "attack-pattern--582943a5-d66c-48a9-8cf8-76e511222c7d", "attack-pattern--2a8824eb-4fd0-45a4-9c3c-af3fd7c5e0ca", "attack-pattern--b97b706c-8b6e-4681-a22b-89d5e53134b7" ], "x_capec_prerequisites": [ "The target application must use a parameter encoding where separators and parameter identifiers are expressed in regular text.", "The target application must accept a string as user input, fail to sanitize characters that have a special meaning in the parameter encoding, and insert the user-supplied string in an encoding which is then processed." ], "x_capec_resources_required": [ "None: No specialized resources are required to execute this type of attack. The only requirement is the ability to provide string input to the target." ], "x_capec_status": "Stable", "x_capec_typical_severity": "Medium", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "Implement an audit log written to a separate host. In the event of a compromise, the audit log may be able to provide evidence and details of the compromise.", "id": "course-of-action--1b38336c-de87-49c0-9183-cdb80f9fb73b", "modified": "2019-04-04T00:00:00.000Z", "name": "coa-137-0", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "course-of-action", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--87d764be-a2f1-4a91-b9fb-61093b531c50", "modified": "2019-04-04T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--1b38336c-de87-49c0-9183-cdb80f9fb73b", "spec_version": "2.1", "target_ref": "attack-pattern--cde07b71-23e6-418d-93e9-665f5f83b032", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "Treat all user input as untrusted data that must be validated before use.", "id": "course-of-action--96f190f9-bfce-4fbd-b4fd-9d07e68f3681", "modified": "2019-04-04T00:00:00.000Z", "name": "coa-137-1", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "course-of-action", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--f667d453-e763-41ac-ad05-bcda477818fd", "modified": "2019-04-04T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--96f190f9-bfce-4fbd-b4fd-9d07e68f3681", "spec_version": "2.1", "target_ref": "attack-pattern--cde07b71-23e6-418d-93e9-665f5f83b032", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "An adversary supplies a value to the target application which is then used by reflection methods to identify a class, method, or field. For example, in the Java programming language the reflection libraries permit an application to inspect, load, and invoke classes and their components by name. If an adversary can control the input into these methods including the name of the class/method/field or the parameters passed to methods, they can cause the targeted application to invoke incorrect methods, read random fields, or even to load and utilize malicious classes that the adversary created. This can lead to the application revealing sensitive information, returning incorrect results, or even having the adversary take control of the targeted application.", "external_references": [ { "external_id": "CAPEC-138", "source_name": "capec", "url": "https://capec.mitre.org/data/definitions/138.html" }, { "external_id": "CWE-470", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/470.html" } ], "id": "attack-pattern--e3a32913-a4a6-4a3c-8f3b-a8a6dc16df53", "modified": "2023-01-24T00:00:00.000Z", "name": "Reflection Injection", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "attack-pattern", "x_capec_abstraction": "Standard", "x_capec_child_of_refs": [ "attack-pattern--cde07b71-23e6-418d-93e9-665f5f83b032" ], "x_capec_domains": [ "Software" ], "x_capec_prerequisites": [ "The target application must utilize reflection libraries and allow users to directly control the parameters to these methods. If the adversary can host classes where the target can invoke them, more powerful variants of this attack are possible.", "The target application must accept a string as user input, fail to sanitize characters that have a special meaning in the parameter encoding, and insert the user-supplied string in an encoding which is then processed." ], "x_capec_resources_required": [ "None: No specialized resources are required to execute this type of attack." ], "x_capec_status": "Draft", "x_capec_typical_severity": "Very High", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "An attacker exploits a weakness in input validation on the target by supplying a specially constructed path utilizing dot and slash characters for the purpose of obtaining access to arbitrary files or resources. An attacker modifies a known path on the target in order to reach material that is not available through intended channels. These attacks normally involve adding additional path separators (/ or \\) and/or dots (.), or encodings thereof, in various combinations in order to reach parent directories or entirely separate trees of the target's directory structure.", "external_references": [ { "external_id": "CAPEC-139", "source_name": "capec", "url": "https://capec.mitre.org/data/definitions/139.html" }, { "external_id": "CWE-23", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/23.html" }, { "description": "OWASP Testing Guide (v4), 2010, The Open Web Application Security Project (OWASP)", "external_id": "REF-9", "source_name": "reference_from_CAPEC", "url": "https://www.owasp.org/index.php/Testing_for_Path_Traversal_(OWASP-AZ-001)" }, { "description": "WASC Threat Classification 2.0, 2010, The Web Application Security Consortium (WASC)", "external_id": "REF-10", "source_name": "reference_from_CAPEC", "url": "http://projects.webappsec.org/w/page/13246952/Path-Traversal" } ], "id": "attack-pattern--b2d76f31-f1e3-4797-a19f-246859422074", "modified": "2022-09-29T00:00:00.000Z", "name": "Relative Path Traversal", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "attack-pattern", "x_capec_abstraction": "Detailed", "x_capec_child_of_refs": [ "attack-pattern--faf0ec21-da60-4efc-8c8e-7a6b63bea170" ], "x_capec_consequences": { "Access_Control": [ "Bypass Protection Mechanism" ], "Availability": [ "Execute Unauthorized Commands (Run Arbitrary Code)", "Unreliable Execution" ], "Confidentiality": [ "Read Data", "Execute Unauthorized Commands (Run Arbitrary Code)" ], "Integrity": [ "Modify Data", "Execute Unauthorized Commands (Run Arbitrary Code)" ] }, "x_capec_domains": [ "Software" ], "x_capec_example_instances": [ "\n The attacker uses relative path traversal to access files in the application. This is an example of accessing user's password file.\n http://www.example.com/getProfile.jsp?filename=../../../../etc/passwd\n However, the target application employs regular expressions to make sure no relative path sequences are being passed through the application to the web page. The application would replace all matches from this regex with the empty string.\n Then an attacker creates special payloads to bypass this filter:\n http://www.example.com/getProfile.jsp?filename=%2e%2e/%2e%2e/%2e%2e/%2e%2e /etc/passwd\n When the application gets this input string, it will be the desired vector by the attacker.\n " ], "x_capec_execution_flow": "

Execution Flow

Explore

  1. Fingerprinting of the operating system: In order to perform a valid path traversal, the adversary needs to know what the underlying OS is so that the proper file seperator is used.

  2. Techniques
    Port mapping. Identify ports that the system is listening on, and attempt to identify inputs and protocol types on those ports.
    TCP/IP Fingerprinting. The adversary uses various software to make connections or partial connections and observe idiosyncratic responses from the operating system. Using those responses, they attempt to guess the actual operating system.
    Induce errors to find informative error messages
  3. Survey application: Using manual or automated means, an adversary will survey the target application looking for all areas where user input is taken to specify a file name or path.

  4. Techniques
    Use a spidering tool to follow and record all links on a web page. Make special note of any links that include parameters in the URL.
    Use a proxy tool to record all links visited during a manual traversal of a web application. Make special note of any links that include parameters in the URL. Manual traversal of this type is frequently necessary to identify forms that are GET method forms rather than POST forms.
    Use a browser to manually explore a website and analyze how it is constructed. Many browser plug-ins are available to facilitate the analysis or automate the URL discovery.

Experiment

  1. Attempt variations on input parameters: Using manual or automated means, an adversary attempts varying relative file path combinations on all found user input locations and observes the responses.

  2. Techniques
    Provide \"../\" or \"..\\\" at the beginning of any filename to traverse to the parent directory
    Use a list of probe strings as path traversal payload. Different strings may be used for different platforms. Strings contain relative path sequences such as \"../\".
    Use a proxy tool to record results of manual input of relative path traversal probes in known URLs.

Exploit

  1. Access, modify, or execute arbitrary files.: An adversary injects path traversal syntax into identified vulnerable inputs to cause inappropriate reading, writing or execution of files. An adversary could be able to read directories or files which they are normally not allowed to read. The adversary could also access data outside the web document root, or include scripts, source code and other kinds of files from external websites. Once the adversary accesses arbitrary files, they could also modify files. In particular situations, the adversary could also execute arbitrary code or system commands.

  2. Techniques
    Manipulate file and its path by injecting relative path sequences (e.g. \"../\").
    Download files, modify files, or try to execute shell commands (with binary files).
", "x_capec_likelihood_of_attack": "High", "x_capec_prerequisites": [ "The target application must accept a string as user input, fail to sanitize combinations of characters in the input that have a special meaning in the context of path navigation, and insert the user-supplied string into path navigation commands." ], "x_capec_skills_required": { "High": "To bypass non trivial filters in the application", "Low": "To inject the malicious payload in a web page" }, "x_capec_status": "Draft", "x_capec_typical_severity": "High", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "Design: Input validation. Assume that user inputs are malicious. Utilize strict type, character, and encoding enforcement", "id": "course-of-action--03927772-a50c-42a3-b4ff-f72892917b5e", "modified": "2022-09-29T00:00:00.000Z", "name": "coa-139-0", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "course-of-action", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--00ca197d-8e7f-4dc6-ab81-53dcf255f9f1", "modified": "2022-09-29T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--03927772-a50c-42a3-b4ff-f72892917b5e", "spec_version": "2.1", "target_ref": "attack-pattern--b2d76f31-f1e3-4797-a19f-246859422074", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--cbcc574c-56af-4a8a-b9c0-d5b4d59b58ed", "modified": "2022-09-29T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--b3379e8f-995d-4df7-be15-7861c104b55c", "spec_version": "2.1", "target_ref": "attack-pattern--b2d76f31-f1e3-4797-a19f-246859422074", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--6783fbbe-cb1a-4317-b126-e62c3d58ea7a", "modified": "2022-09-29T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--eb88c845-46c6-4223-adf2-ac06a363bac2", "spec_version": "2.1", "target_ref": "attack-pattern--b2d76f31-f1e3-4797-a19f-246859422074", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "Implementation: Prefer working without user input when using file system calls", "id": "course-of-action--58beef38-a794-42dd-9869-09e4f46ad695", "modified": "2022-09-29T00:00:00.000Z", "name": "coa-139-3", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "course-of-action", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--aa273050-3e5a-48ed-99c7-1995e7e3dddf", "modified": "2022-09-29T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--58beef38-a794-42dd-9869-09e4f46ad695", "spec_version": "2.1", "target_ref": "attack-pattern--b2d76f31-f1e3-4797-a19f-246859422074", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--7fa50c0f-70d2-46b9-9b96-8a6d35003ae2", "modified": "2022-09-29T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--f972cf8f-5c89-4e6c-87ad-8eb40c32883b", "spec_version": "2.1", "target_ref": "attack-pattern--b2d76f31-f1e3-4797-a19f-246859422074", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--42bb8848-1460-40e7-8946-994f5692eb0b", "modified": "2022-09-29T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--4dc38767-be73-424a-b909-90eb4773dfa3", "spec_version": "2.1", "target_ref": "attack-pattern--b2d76f31-f1e3-4797-a19f-246859422074", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "This type of attack exploits a buffer overflow vulnerability in targeted client software through injection of malicious content from a custom-built hostile service. This hostile service is created to deliver the correct content to the client software. For example, if the client-side application is a browser, the service will host a webpage that the browser loads.", "external_references": [ { "external_id": "CAPEC-14", "source_name": "capec", "url": "https://capec.mitre.org/data/definitions/14.html" }, { "external_id": "CWE-120", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/120.html" }, { "external_id": "CWE-353", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/353.html" }, { "external_id": "CWE-118", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/118.html" }, { "external_id": "CWE-119", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/119.html" }, { "external_id": "CWE-74", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/74.html" }, { "external_id": "CWE-20", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/20.html" }, { "external_id": "CWE-680", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/680.html" }, { "external_id": "CWE-697", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/697.html" }, { "description": "G. Hoglund, G. McGraw, Exploiting Software: How to Break Code, 2004--02, Addison-Wesley", "external_id": "REF-1", "source_name": "reference_from_CAPEC" } ], "id": "attack-pattern--c4a0c765-e4ca-43c2-996e-08ce13ae8f80", "modified": "2022-09-29T00:00:00.000Z", "name": "Client-side Injection-induced Buffer Overflow", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "attack-pattern", "x_capec_abstraction": "Detailed", "x_capec_can_follow_refs": [ "attack-pattern--f190e1b3-e8d6-4aef-817c-b3e7782e2aed" ], "x_capec_child_of_refs": [ "attack-pattern--77e51461-7843-411c-a90e-852498957f76" ], "x_capec_consequences": { "Availability": [ "Resource Consumption (Denial of Service)", "Execute Unauthorized Commands (Run Arbitrary Code)" ], "Confidentiality": [ "Read Data", "Execute Unauthorized Commands (Run Arbitrary Code)" ], "Integrity": [ "Modify Data", "Execute Unauthorized Commands (Run Arbitrary Code)" ] }, "x_capec_domains": [ "Software" ], "x_capec_example_instances": [ "\n Authors often use tags in HTML documents. For example\n \n In Internet Explorer 4.0 an adversary attacker supplies an overly long path in the SRC= directive, the mshtml.dll component will suffer a buffer overflow. This is a standard example of content in a Web page being directed to exploit a faulty module in the system. There are potentially thousands of different ways data can propagate into a given system, thus these kinds of attacks will continue to be found in the wild.\n " ], "x_capec_execution_flow": "

Execution Flow

Explore

  1. Identify target client-side application: The adversary identifies a target client-side application to perform the buffer overflow on. The most common are browsers. If there is a known browser vulnerability an adversary could target that.

Experiment

  1. Find injection vector: The adversary identifies an injection vector to deliver the excessive content to the targeted application's buffer.

  2. Techniques
    Many times client side applications will be open source, so an adversary can examine the source code to identify possible injection vectors.
    Examine APIs of the client-side application and look for areas where a buffer overflow might be possible.
  3. Create hostile service: The adversary creates a hostile service that will deliver content to the client-side application. If the intent is to simply cause the software to crash, the content need only consist of an excessive quantity of random data. If the intent is to leverage the overflow for execution of arbitrary code, the adversary crafts the payload in such a way that the overwritten return address is replaced with one of the adversary's choosing.

  4. Techniques
    If the client-side application is a browser, the adversary will create a service that delivers a malicious webpage to the browser.
    Create malicious shellcode that will execute when the program execution is returned to it.
    Use a NOP-sled in the overflow content to more easily \"slide\" into the malicious code. This is done so that the exact return address need not be correct, only in the range of all of the NOPs

Exploit

  1. Overflow the buffer: Using the injection vector, the adversary delivers the content to the client-side application using the hostile service and overflows the buffer.

  2. Techniques
    If the adversary is targeting a local client-side application, they just need to use the service themselves.
    If the adversary is attempting to cause an overflow on an external user's client-side application, they must get the user to attach to their service by some other means. This could be getting a user to visit their hostile webpage to target a user's browser.
", "x_capec_likelihood_of_attack": "Medium", "x_capec_prerequisites": [ "The targeted client software communicates with an external server.", "The targeted client software has a buffer overflow vulnerability." ], "x_capec_skills_required": { "High": "Exploiting a buffer overflow to inject malicious code into the stack of a software system or even the heap requires a more in-depth knowledge and higher skill level.", "Low": "To achieve a denial of service, an attacker can simply overflow a buffer by inserting a long string into an attacker-modifiable injection vector." }, "x_capec_status": "Draft", "x_capec_typical_severity": "High", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "The client software should not install untrusted code from a non-authenticated server.", "id": "course-of-action--2761b390-a1a6-4680-a497-a6a2c25e93c9", "modified": "2022-09-29T00:00:00.000Z", "name": "coa-14-0", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "course-of-action", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--8a74ceb6-2d35-4bcc-9ead-f651fb717fec", "modified": "2022-09-29T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--2761b390-a1a6-4680-a497-a6a2c25e93c9", "spec_version": "2.1", "target_ref": "attack-pattern--c4a0c765-e4ca-43c2-996e-08ce13ae8f80", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "The client software should have the latest patches and should be audited for vulnerabilities before being used to communicate with potentially hostile servers.", "id": "course-of-action--ce9d6c88-9b3a-4753-8f7e-6bdc4ae98b79", "modified": "2022-09-29T00:00:00.000Z", "name": "coa-14-1", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "course-of-action", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--3ffe9eb1-760d-4e9e-9075-29f67befc8f5", "modified": "2022-09-29T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--ce9d6c88-9b3a-4753-8f7e-6bdc4ae98b79", "spec_version": "2.1", "target_ref": "attack-pattern--c4a0c765-e4ca-43c2-996e-08ce13ae8f80", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "Perform input validation for length of buffer inputs.", "id": "course-of-action--4a5d5c42-670e-4977-9e5e-fec5b0d2fca3", "modified": "2022-09-29T00:00:00.000Z", "name": "coa-14-2", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "course-of-action", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--93d45ad5-fae3-4178-8d28-ccd3ff20216c", "modified": "2022-09-29T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--4a5d5c42-670e-4977-9e5e-fec5b0d2fca3", "spec_version": "2.1", "target_ref": "attack-pattern--c4a0c765-e4ca-43c2-996e-08ce13ae8f80", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--e1bb78a3-4a93-4fbe-815f-5cca85a0c491", "modified": "2022-09-29T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--a253c485-f225-4dd3-b0ba-dbe4b29fa134", "spec_version": "2.1", "target_ref": "attack-pattern--c4a0c765-e4ca-43c2-996e-08ce13ae8f80", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "Use an abstraction library to abstract away risky APIs. Not a complete solution.", "id": "course-of-action--286c9aaa-2118-48dc-bce6-6e3f41adc043", "modified": "2022-09-29T00:00:00.000Z", "name": "coa-14-4", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "course-of-action", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--ffb905de-a976-4ece-aa2c-96b818a64df0", "modified": "2022-09-29T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--286c9aaa-2118-48dc-bce6-6e3f41adc043", "spec_version": "2.1", "target_ref": "attack-pattern--c4a0c765-e4ca-43c2-996e-08ce13ae8f80", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--6f20aff5-3638-4761-91c5-af43ae273927", "modified": "2022-09-29T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--115171ef-9f32-43b6-bb8a-49f0a78286e9", "spec_version": "2.1", "target_ref": "attack-pattern--c4a0c765-e4ca-43c2-996e-08ce13ae8f80", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "Ensure all buffer uses are consistently bounds-checked.", "id": "course-of-action--e5a5e968-cd66-49b5-bbb8-b26099ede481", "modified": "2022-09-29T00:00:00.000Z", "name": "coa-14-6", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "course-of-action", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--4914cfc7-c995-469b-984b-72e07bf331e0", "modified": "2022-09-29T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--e5a5e968-cd66-49b5-bbb8-b26099ede481", "spec_version": "2.1", "target_ref": "attack-pattern--c4a0c765-e4ca-43c2-996e-08ce13ae8f80", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--acdc688e-fa9d-48da-94ba-90902d7ac10d", "modified": "2022-09-29T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--b8955156-d3d6-4db5-bc3b-595bda29964b", "spec_version": "2.1", "target_ref": "attack-pattern--c4a0c765-e4ca-43c2-996e-08ce13ae8f80", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "Some web applications require users to submit information through an ordered sequence of web forms. This is often done if there is a very large amount of information being collected or if information on earlier forms is used to pre-populate fields or determine which additional information the application needs to collect. An attacker who knows the names of the various forms in the sequence may be able to explicitly type in the name of a later form and navigate to it without first going through the previous forms. This can result in incomplete collection of information, incorrect assumptions about the information submitted by the attacker, or other problems that can impair the functioning of the application.", "external_references": [ { "external_id": "CAPEC-140", "source_name": "capec", "url": "https://capec.mitre.org/data/definitions/140.html" }, { "external_id": "CWE-372", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/372.html" } ], "id": "attack-pattern--750dc5a2-e3c4-42d7-ad8a-25a7d1116f03", "modified": "2020-07-30T00:00:00.000Z", "name": "Bypassing of Intermediate Forms in Multiple-Form Sets", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "attack-pattern", "x_capec_abstraction": "Standard", "x_capec_child_of_refs": [ "attack-pattern--649abc91-f615-4c9e-91c9-9e66131e2d78" ], "x_capec_domains": [ "Software" ], "x_capec_prerequisites": [ "The target must collect information from the user in a series of forms where each form has its own URL that the attacker can anticipate and the application must fail to detect attempts to access intermediate forms without first filling out the previous forms." ], "x_capec_resources_required": [ "None: No specialized resources are required to execute this type of attack." ], "x_capec_status": "Draft", "x_capec_typical_severity": "Medium", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "An attacker exploits the functionality of cache technologies to cause specific data to be cached that aids the attackers' objectives. This describes any attack whereby an attacker places incorrect or harmful material in cache. The targeted cache can be an application's cache (e.g. a web browser cache) or a public cache (e.g. a DNS or ARP cache). Until the cache is refreshed, most applications or clients will treat the corrupted cache value as valid. This can lead to a wide range of exploits including redirecting web browsers towards sites that install malware and repeatedly incorrect calculations based on the incorrect value.", "external_references": [ { "external_id": "CAPEC-141", "source_name": "capec", "url": "https://capec.mitre.org/data/definitions/141.html" }, { "external_id": "CWE-348", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/348.html" }, { "external_id": "CWE-345", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/345.html" }, { "external_id": "CWE-349", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/349.html" }, { "external_id": "CWE-346", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/346.html" }, { "description": "Adversary-in-the-Middle: ARP Cache Poisoning", "external_id": "T1557.002", "source_name": "ATTACK", "url": "https://attack.mitre.org/wiki/Technique/T1557/002" }, { "description": "Cache Poisoning", "source_name": "OWASP Attacks", "url": "https://owasp.org/www-community/attacks/Cache_Poisoning" }, { "description": "Wikipedia, The Wikimedia Foundation, Inc", "external_id": "REF-22", "source_name": "reference_from_CAPEC", "url": "http://en.wikipedia.org/wiki/DNS_cache_poisoning" }, { "description": "DNS Threats and DNS Weaknesses, DNSSEC", "external_id": "REF-23", "source_name": "reference_from_CAPEC", "url": "http://www.dnssec.net/dns-threats.php" }, { "description": "Wikipedia, The Wikimedia Foundation, Inc", "external_id": "REF-24", "source_name": "reference_from_CAPEC", "url": "http://en.wikipedia.org/wiki/ARP_spoofing" }, { "description": "OWASP Web Security Testing Guide, The Open Web Application Security Project (OWASP)", "external_id": "REF-599", "source_name": "reference_from_CAPEC", "url": "https://owasp.org/www-project-web-security-testing-guide/latest/4-Web_Application_Security_Testing/04-Authentication_Testing/06-Testing_for_Browser_Cache_Weaknesses.html" } ], "id": "attack-pattern--e244a53a-8c69-462c-8ff2-900a839d48cb", "modified": "2022-09-29T00:00:00.000Z", "name": "Cache Poisoning", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "attack-pattern", "x_capec_abstraction": "Standard", "x_capec_can_follow_refs": [ "attack-pattern--b89511b6-f0fb-4c1d-a884-a0d5a0d82b4e", "attack-pattern--ae3f2c33-9018-442e-9cc3-24d65c7f4974", "attack-pattern--d845a25b-b140-438c-91d7-30b709bb6e18", "attack-pattern--ba694895-a0cf-494e-ace2-bf3488330b80", "attack-pattern--efbf3dcf-9f19-45de-9f49-caa87fd34681" ], "x_capec_child_of_refs": [ "attack-pattern--2a6131f7-30af-4529-be4e-bc3b7bf22009" ], "x_capec_domains": [ "Software" ], "x_capec_example_instances": [ "\n In this example, an attacker sends request to a local DNS server to look up www.example .com. The associated IP address of www.example.com is 1.3.5.7.\n Local DNS usually caches IP addresses and do not go to remote DNS every time. Since the local record is not found, DNS server tries to connect to remote DNS for queries. However, before the remote DNS returns the right IP address 1.3.5.7, the attacker floods local DNS with crafted responses with IP address 2.4.6.8. The result is that 2.4.6.8 is stored in DNS cache. Meanwhile, 2.4.6.8 is associated with a malicious website www.maliciousexampsle.com\n When users connect to www.example.com, the local DNS will direct it to www.maliciousexample.com, this works as part of a Pharming attack.\n " ], "x_capec_execution_flow": "

Execution Flow

Explore

  1. Identify and explore caches: Use tools to sniff traffic and scan a network in order to locate application's cache (e.g. a web browser cache) or a public cache (e.g. a DNS or ARP cache) that may have vulnerabilities. Look for poisoning point in cache table entries.

  2. Techniques
    Run tools that check available entries in the cache.

Experiment

  1. Cause specific data to be cached: An attacker sends bogus request to the target, and then floods responses that trick a cache to remember malicious responses, which are wrong answers of queries.

  2. Techniques
    Intercept or modify a query, or send a bogus query with known credentials (such as transaction ID).

Exploit

  1. Redirect users to malicious website: As the attacker succeeds in exploiting the vulnerability, they are able to manipulate and interpose malicious response data to targeted victim queries.

  2. Techniques
    Intercept or modify a query, or send a bogus query with known credentials (such as transaction ID).
    Adversary-in-the-Middle attacks (CAPEC-94) intercept secure communication between two parties.
", "x_capec_likelihood_of_attack": "High", "x_capec_parent_of_refs": [ "attack-pattern--ee604341-eb03-4b00-8188-26d6e999d6dc" ], "x_capec_prerequisites": [ "The attacker must be able to modify the value stored in a cache to match a desired value.", "The targeted application must not be able to detect the illicit modification of the cache and must trust the cache value in its calculations." ], "x_capec_skills_required": { "Medium": "To overwrite/modify targeted cache" }, "x_capec_status": "Draft", "x_capec_typical_severity": "High", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "Configuration: Disable client side caching.", "id": "course-of-action--b3bb35f0-3493-4d4b-bdb9-7d820a64f6e7", "modified": "2022-09-29T00:00:00.000Z", "name": "coa-141-0", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "course-of-action", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--deba223b-a821-4baf-b653-5358be0f03c4", "modified": "2022-09-29T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--b3bb35f0-3493-4d4b-bdb9-7d820a64f6e7", "spec_version": "2.1", "target_ref": "attack-pattern--e244a53a-8c69-462c-8ff2-900a839d48cb", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "Implementation: Listens for query replies on a network, and sends a notification via email when an entry changes.", "id": "course-of-action--f60e0fe1-d821-4df9-817e-4d2a91308464", "modified": "2022-09-29T00:00:00.000Z", "name": "coa-141-1", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "course-of-action", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--2f3dd06d-6976-4324-8d3c-1523b5d6f23a", "modified": "2022-09-29T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--f60e0fe1-d821-4df9-817e-4d2a91308464", "spec_version": "2.1", "target_ref": "attack-pattern--e244a53a-8c69-462c-8ff2-900a839d48cb", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "A domain name server translates a domain name (such as www.example.com) into an IP address that Internet hosts use to contact Internet resources. An adversary modifies a public DNS cache to cause certain names to resolve to incorrect addresses that the adversary specifies. The result is that client applications that rely upon the targeted cache for domain name resolution will be directed not to the actual address of the specified domain name but to some other address. Adversaries can use this to herd clients to sites that install malware on the victim's computer or to masquerade as part of a Pharming attack.", "external_references": [ { "external_id": "CAPEC-142", "source_name": "capec", "url": "https://capec.mitre.org/data/definitions/142.html" }, { "external_id": "CWE-348", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/348.html" }, { "external_id": "CWE-345", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/345.html" }, { "external_id": "CWE-349", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/349.html" }, { "external_id": "CWE-346", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/346.html" }, { "external_id": "CWE-350", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/350.html" }, { "description": "Compromise Infrastructure: DNS Server", "external_id": "T1584.002", "source_name": "ATTACK", "url": "https://attack.mitre.org/wiki/Technique/T1584/002" }, { "description": "Wikipedia, The Wikimedia Foundation, Inc", "external_id": "REF-22", "source_name": "reference_from_CAPEC", "url": "http://en.wikipedia.org/wiki/DNS_cache_poisoning" }, { "description": "DNS Threats and DNS Weaknesses, DNSSEC", "external_id": "REF-23", "source_name": "reference_from_CAPEC", "url": "http://www.dnssec.net/dns-threats.php" }, { "description": "Vulnerability Note VU#800113, 2008--07---08, US CERT", "external_id": "REF-27", "source_name": "reference_from_CAPEC", "url": "http://www.kb.cert.org/vuls/id/800113#pat" } ], "id": "attack-pattern--ee604341-eb03-4b00-8188-26d6e999d6dc", "modified": "2022-09-29T00:00:00.000Z", "name": "DNS Cache Poisoning", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "attack-pattern", "x_capec_abstraction": "Detailed", "x_capec_can_precede_refs": [ "attack-pattern--5dec633b-7b10-4bfe-9270-e68b98112285" ], "x_capec_child_of_refs": [ "attack-pattern--e244a53a-8c69-462c-8ff2-900a839d48cb" ], "x_capec_domains": [ "Software" ], "x_capec_example_instances": [ "\n In this example, an adversary sends request to a local DNS server to look up www.example .com. The associated IP address of www.example.com is 1.3.5.7.\n Local DNS usually caches IP addresses and do not go to remote DNS every time. Since the local record is not found, DNS server tries to connect to remote DNS for queries. However, before the remote DNS returns the right IP address 1.3.5.7, the adversary floods local DNS with crafted responses with IP address 2.4.6.8. The result is that 2.4.6.8 is stored in DNS cache. Meanwhile, 2.4.6.8 is associated with a malicious website www.maliciousexampsle.com\n When users connect to www.example.com, the local DNS will direct it to www.maliciousexample.com, this works as part of a Pharming attack.\n " ], "x_capec_execution_flow": "

Execution Flow

Explore

  1. Explore resolver caches: Check DNS caches on local DNS server and client's browser with DNS cache enabled.

  2. Techniques
    Run tools that check the resolver cache in the memory to see if it contains a target DNS entry.
    Figure out if the client's browser has DNS cache enabled.

Experiment

  1. Attempt sending crafted records to DNS cache: A request is sent to the authoritative server for target website and wait for the iterative name resolver. An adversary sends bogus request to the DNS local server, and then floods responses that trick a DNS cache to remember malicious responses, which are wrong answers of DNS query.

  2. Techniques
    Adversary must know the transaction ID by intercepting a DNS query, or sending a bogus query with known transaction ID.
    If the transaction ID used to identify each query instance is randomized in some new DNS software, the attack must guess the transaction ID. Slow the response of the real DNS server by causing Denial-of-service. This gives adversaries enough time to guess transaction
    Adversary crafts DNS response with the same transaction ID as in the request. The adversary sends out DNS responses before the authorized DNS server. This forces DNS local cache stores fake DNS response (wrong answer). The fake DNS responses usually include a malicious website's IP address.

Exploit

  1. Redirect users to malicious website: As the adversary succeeds in exploiting the vulnerability, the victim connects to a malicious site using a good web site's domain name.

  2. Techniques
    Redirecting Web traffic to a site that looks enough like the original so as to not raise any suspicion.
    Adversary-in-the-Middle (CAPEC-94) intercepts secure communication between two parties.
", "x_capec_likelihood_of_attack": "High", "x_capec_prerequisites": [ "A DNS cache must be vulnerable to some attack that allows the adversary to replace addresses in its lookup table.Client applications must trust the corrupted cashed values and utilize them for their domain name resolutions." ], "x_capec_resources_required": [ "The adversary must have the resources to modify the targeted cache. In addition, in most cases the adversary will wish to host the sites to which users will be redirected, although in some cases redirecting to a third party site will accomplish the adversary's goals." ], "x_capec_skills_required": { "Medium": "To overwrite/modify targeted DNS cache" }, "x_capec_status": "Draft", "x_capec_typical_severity": "High", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "Configuration: Make sure your DNS servers have been updated to the latest versions", "id": "course-of-action--1643a615-4b7c-4a23-a477-7d01dbf9fe9d", "modified": "2022-09-29T00:00:00.000Z", "name": "coa-142-0", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "course-of-action", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--8b310b70-cd48-479c-a4a6-1e9a513c96ea", "modified": "2022-09-29T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--1643a615-4b7c-4a23-a477-7d01dbf9fe9d", "spec_version": "2.1", "target_ref": "attack-pattern--ee604341-eb03-4b00-8188-26d6e999d6dc", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "Configuration: UNIX services like rlogin, rsh/rcp, xhost, and nfs are all susceptible to wrong information being held in a cache. Care should be taken with these services so they do not rely upon DNS caches that have been exposed to the Internet.", "id": "course-of-action--d2e06ab9-42c0-4da5-93f2-f6200862bebc", "modified": "2022-09-29T00:00:00.000Z", "name": "coa-142-1", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "course-of-action", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--d75a59b5-0380-4139-9922-641a68593944", "modified": "2022-09-29T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--d2e06ab9-42c0-4da5-93f2-f6200862bebc", "spec_version": "2.1", "target_ref": "attack-pattern--ee604341-eb03-4b00-8188-26d6e999d6dc", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "Configuration: Disable client side DNS caching.", "id": "course-of-action--7e7fd1bf-64be-4c80-a438-60deb39ef6cf", "modified": "2022-09-29T00:00:00.000Z", "name": "coa-142-2", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "course-of-action", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--f3632005-d0b9-4ed4-b5c5-337170c60644", "modified": "2022-09-29T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--7e7fd1bf-64be-4c80-a438-60deb39ef6cf", "spec_version": "2.1", "target_ref": "attack-pattern--ee604341-eb03-4b00-8188-26d6e999d6dc", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "An adversary searches a targeted web site for web pages that have not been publicized. In doing this, the adversary may be able to gain access to information that the targeted site did not intend to make public.", "external_references": [ { "external_id": "CAPEC-143", "source_name": "capec", "url": "https://capec.mitre.org/data/definitions/143.html" }, { "external_id": "CWE-425", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/425.html" } ], "id": "attack-pattern--a20a3cc9-4a6a-4376-a2b4-777ee9df2a34", "modified": "2023-01-24T00:00:00.000Z", "name": "Detect Unpublicized Web Pages", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "attack-pattern", "x_capec_abstraction": "Detailed", "x_capec_child_of_refs": [ "attack-pattern--797f4b4e-371a-4d06-9e98-5cccb8a7ebc1" ], "x_capec_domains": [ "Software" ], "x_capec_execution_flow": "

Execution Flow

Explore

  1. Find target web site: An adversary finds a target web site that they think may have unpublicized web pages

  2. Map the published web site: The adversary will map the published web site either by using an automated tool or by manually accessing well-known debugging or logging pages, or otherwise predictable pages within the site tree

  3. Techniques
    Use Dirbuster to brute force directories and file names to find unpublicized pages
    Find a pattern in the naming of documents and extrapolate this pattern to discover additional documents that have been created but are no longer externally linked

Experiment

  1. Try to find weaknesses or information: The adversary will try to find weaknesses or information on the unpublicized pages that the targeted site did not intend to be public

  2. Techniques
    Manually analyze files or pages for information that could be useful in a further attack
    Use a static analysis tool to find weaknesses in unpublished web pages

Exploit

  1. Follow-up attack: Use any information or weaknesses found to carry out a follow-up attack

", "x_capec_prerequisites": [ "The targeted web site must include pages within its published tree that are not connected to its tree of links. The sensitivity of the content of these pages determines the severity of this attack." ], "x_capec_resources_required": [ "Spidering tools to explore the target web site are extremely useful in this attack especially when attacking large sites. Some tools might also be able to automatically construct common page locations from known paths." ], "x_capec_status": "Draft", "x_capec_typical_severity": "Low", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "An adversary searches a targeted web site for web services that have not been publicized. This attack can be especially dangerous since unpublished but available services may not have adequate security controls placed upon them given that an administrator may believe they are unreachable.", "external_references": [ { "external_id": "CAPEC-144", "source_name": "capec", "url": "https://capec.mitre.org/data/definitions/144.html" }, { "external_id": "CWE-425", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/425.html" } ], "id": "attack-pattern--af65cbd9-cc10-4c4f-9cc3-843941cdf357", "modified": "2023-01-24T00:00:00.000Z", "name": "Detect Unpublicized Web Services", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "attack-pattern", "x_capec_abstraction": "Detailed", "x_capec_child_of_refs": [ "attack-pattern--797f4b4e-371a-4d06-9e98-5cccb8a7ebc1" ], "x_capec_domains": [ "Software" ], "x_capec_execution_flow": "

Execution Flow

Explore

  1. Find target web site: An adversary finds a target web site that they think may have unpublicized web services

  2. Map the published web site: The adversary will map the published web site either by using an automated tool or by manually accessing well-known debugging or logging pages, or otherwise predictable pages within the site tree

  3. Techniques
    Use Dirbuster to brute force directories and file names to find unpublicized web services
    Find a pattern in the naming of documents and extrapolate this pattern to discover additional documents that have been created but are no longer externally linked

Experiment

  1. Try to find weaknesses or information: The adversary will try to find weaknesses in the unpublicized services that the targeted site did not intend to be public

  2. Techniques
    Use Nikto to look for web service vulnerabilities

Exploit

  1. Follow-up attack: Use any information or weaknesses found to carry out a follow-up attack

", "x_capec_prerequisites": [ "The targeted web site must include unpublished services within its web tree. The nature of these services determines the severity of this attack." ], "x_capec_resources_required": [ "Spidering tools to explore the target web site are extremely useful in this attack especially when attacking large sites. Some tools might also be able to automatically construct common service queries from known paths." ], "x_capec_status": "Draft", "x_capec_typical_severity": "Low", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "An adversary spoofs a checksum message for the purpose of making a payload appear to have a valid corresponding checksum. Checksums are used to verify message integrity. They consist of some value based on the value of the message they are protecting. Hash codes are a common checksum mechanism. Both the sender and recipient are able to compute the checksum based on the contents of the message. If the message contents change between the sender and recipient, the sender and recipient will compute different checksum values. Since the sender's checksum value is transmitted with the message, the recipient would know that a modification occurred. In checksum spoofing an adversary modifies the message body and then modifies the corresponding checksum so that the recipient's checksum calculation will match the checksum (created by the adversary) in the message. This would prevent the recipient from realizing that a change occurred.", "external_references": [ { "external_id": "CAPEC-145", "source_name": "capec", "url": "https://capec.mitre.org/data/definitions/145.html" }, { "external_id": "CWE-354", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/354.html" } ], "id": "attack-pattern--9d8a9dc3-5115-43c3-a5ec-8003e7b97b2e", "modified": "2019-04-04T00:00:00.000Z", "name": "Checksum Spoofing", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "attack-pattern", "x_capec_abstraction": "Detailed", "x_capec_child_of_refs": [ "attack-pattern--bd4f8f46-1bc7-40a9-b15a-e36b7671cf5b" ], "x_capec_domains": [ "Software" ], "x_capec_prerequisites": [ "The adversary must be able to intercept a message from the sender (keeping the recipient from getting it), modify it, and send the modified message to the recipient.", "The sender and recipient must use a checksum to protect the integrity of their message and transmit this checksum in a manner where the adversary can intercept and modify it.", "The checksum value must be computable using information known to the adversary. A cryptographic checksum, which uses a key known only to the sender and recipient, would thwart this attack." ], "x_capec_resources_required": [ "The adversary must have a utility that can intercept and modify messages between the sender and recipient." ], "x_capec_status": "Draft", "x_capec_typical_severity": "Medium", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "An adversary corrupts or modifies the content of XML schema information passed between a client and server for the purpose of undermining the security of the target. XML Schemas provide the structure and content definitions for XML documents. Schema poisoning is the ability to manipulate a schema either by replacing or modifying it to compromise the programs that process documents that use this schema.", "external_references": [ { "external_id": "CAPEC-146", "source_name": "capec", "url": "https://capec.mitre.org/data/definitions/146.html" }, { "external_id": "CWE-15", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/15.html" }, { "external_id": "CWE-472", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/472.html" } ], "id": "attack-pattern--ebf4bdc7-73dd-47c4-96e1-1ff471efbcd2", "modified": "2022-09-29T00:00:00.000Z", "name": "XML Schema Poisoning", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "attack-pattern", "x_capec_abstraction": "Detailed", "x_capec_child_of_refs": [ "attack-pattern--41cfbb50-1b96-4004-a42e-6e8d21dd6f87" ], "x_capec_consequences": { "Availability": [ "Unreliable Execution (A successful schema poisoning attack can compromise the availability of the target system's service by exhausting its available resources.)", "Resource Consumption (A successful schema poisoning attack can compromise the availability of the target system's service by exhausting its available resources.)" ], "Confidentiality": [ "Read Data" ], "Integrity": [ "Modify Data" ] }, "x_capec_domains": [ "Software" ], "x_capec_example_instances": [ "\n XML Schema Poisoning Attacks can often occur locally due to being embedded within the XML document itself or being located on the host within an improperaly protected file. In these cases, the adversary can simply edit the XML schema without the need for additional privileges. An example of the former can be seen below:\n ]> John Smith 555-1234 jsmith@email.com
1 Example Lane
\n If the 'name' attribute is required in all submitted documents and this field is removed by the adversary, the application may enter an unexpected state or record incomplete data. Additionally, if this data is needed to perform additional functions, a Denial of Service (DOS) may occur.\n ", "\n XML Schema Poisoning Attacks can also be executed remotely if the HTTP protocol is being used to transport data. :\n John Smith 555-1234 jsmith@email.com
1 Example Lane
\n The HTTP protocol does not encrypt the traffic it transports, so all communication occurs in plaintext. This traffic can be observed and modified by the adversary during transit to alter the XML schema before it reaches the end user. The adversary can perform a Adversary-in-the-Middle (CAPEC-94) Attack to alter the schema in the same way as the previous example and to acheive the same results.\n " ], "x_capec_execution_flow": "

Execution Flow

Explore

  1. Determine if XML schema is local or remote: Because this attack differs slightly if the target uses remote XML schemas versus local schemas, the adversary first needs to determine which of the two are used.

Experiment

  1. Gain access to XML schema: The adversary gains access to the XML schema so that they can modify the contents.

  2. Techniques
    For a local scenario, the adversary needs access to the machine that the schema is located on and needs to gain permissions to alter the contents of the file.
    For a remote scenario, the adversary needs to be able to sniff HTTP traffic that contains an XML schema.

Exploit

  1. Poison XML schema: Once the adversary gains access to the XML schema, they will alter it to achieve a desired effect. Locally, they can simply modify the file. For remote schemas, the adversary will alter the schema in transit by performing an adversary in the middle attack.

  2. Techniques
    Cause a denial of service by modifying the schema so that it does not contain required information for subsequent processing. For example, the unaltered schema may require a @name attribute in all submitted documents. If the adversary removes this attribute from the schema then documents created using the new grammar may lack this field, which may cause the processing application to enter an unexpected state or record incomplete data.
    Manipulation of the data types described in the schema may affect the results of calculations. For example, a float field could be changed to an int field.
    Change the encoding defined in the schema for certain fields allowing the contents to bypass filters that scan for dangerous strings. For example, the modified schema might use a URL encoding instead of ASCII, and a filter that catches a semicolon (;) might fail to detect its URL encoding (%3B).
", "x_capec_likelihood_of_attack": "Low", "x_capec_prerequisites": [ "Some level of access to modify the target schema.", "The schema used by the target application must be improperly secured against unauthorized modification and manipulation." ], "x_capec_resources_required": [ "Access to the schema and the knowledge and ability modify it. Ability to replace or redirect access to the modified schema." ], "x_capec_status": "Stable", "x_capec_typical_severity": "High", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "Design: Protect the schema against unauthorized modification.", "id": "course-of-action--c36e13c8-5f07-493b-9093-bc3656142e52", "modified": "2022-09-29T00:00:00.000Z", "name": "coa-146-0", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "course-of-action", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--aa8c2087-a10b-40c8-aa4d-00be4324dda2", "modified": "2022-09-29T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--c36e13c8-5f07-493b-9093-bc3656142e52", "spec_version": "2.1", "target_ref": "attack-pattern--ebf4bdc7-73dd-47c4-96e1-1ff471efbcd2", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "Implementation: For applications that use a known schema, use a local copy or a known good repository instead of the schema reference supplied in the XML document. Additionally, ensure that the proper permissions are set on local files to avoid unauthorized modification.", "id": "course-of-action--bdd2a92c-5b73-40d3-ad60-b046cf2aa3de", "modified": "2022-09-29T00:00:00.000Z", "name": "coa-146-1", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "course-of-action", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--8075cef3-6e2d-40ac-9e91-b9a4e17b5460", "modified": "2022-09-29T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--bdd2a92c-5b73-40d3-ad60-b046cf2aa3de", "spec_version": "2.1", "target_ref": "attack-pattern--ebf4bdc7-73dd-47c4-96e1-1ff471efbcd2", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "Implementation: For applications that leverage remote schemas, use the HTTPS protocol to prevent modification of traffic in transit and to avoid unauthorized modification.", "id": "course-of-action--64ccbe5a-017d-44f3-9f60-79e90c24af52", "modified": "2022-09-29T00:00:00.000Z", "name": "coa-146-2", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "course-of-action", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--03fec1aa-4921-455b-89f5-01af59405338", "modified": "2022-09-29T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--64ccbe5a-017d-44f3-9f60-79e90c24af52", "spec_version": "2.1", "target_ref": "attack-pattern--ebf4bdc7-73dd-47c4-96e1-1ff471efbcd2", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "An attacker initiates a resource depletion attack where a large number of small XML messages are delivered at a sufficiently rapid rate to cause a denial of service or crash of the target. Transactions such as repetitive SOAP transactions can deplete resources faster than a simple flooding attack because of the additional resources used by the SOAP protocol and the resources necessary to process SOAP messages. The transactions used are immaterial as long as they cause resource utilization on the target. In other words, this is a normal flooding attack augmented by using messages that will require extra processing on the target.", "external_references": [ { "external_id": "CAPEC-147", "source_name": "capec", "url": "https://capec.mitre.org/data/definitions/147.html" }, { "external_id": "CWE-400", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/400.html" }, { "external_id": "CWE-770", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/770.html" } ], "id": "attack-pattern--94238840-08ad-4117-8a20-ed359cda1e7e", "modified": "2018-07-31T00:00:00.000Z", "name": "XML Ping of the Death", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "attack-pattern", "x_capec_abstraction": "Detailed", "x_capec_child_of_refs": [ "attack-pattern--ad3913be-6ca6-48e6-9e3b-7b67e4162612" ], "x_capec_consequences": { "Availability": [ "Resource Consumption (DoS: resource consumption (other))" ] }, "x_capec_domains": [ "Software" ], "x_capec_example_instances": [ "Consider the case of attack performed against the createCustomerBillingAccount Web Service for an online store. In this case, the createCustomerBillingAccount Web Service receives a huge number of simultaneous requests, containing nonsense billing account creation information (the small XML messages). The createCustomerBillingAccount Web Services may forward the messages to other Web Services for processing. The application suffers from a high load of requests, potentially leading to a complete loss of availability the involved Web Service." ], "x_capec_execution_flow": "

Execution Flow

Explore

  1. Survey the target: Using a browser or an automated tool, an attacker records all instance of web services to process XML requests.

  2. Techniques
    Use an automated tool to record all instances of URLs to process XML requests.
    Use a browser to manually explore the website and analyze how the application processes XML requests.

Exploit

  1. Launch a resource depletion attack: The attacker delivers a large number of small XML messages to the target URLs found in the explore phase at a sufficiently rapid rate. It causes denial of service to the target application.

  2. Techniques
    Send a large number of crafted small XML messages to the target URL.
", "x_capec_likelihood_of_attack": "Low", "x_capec_prerequisites": [ "The target must receive and process XML transactions." ], "x_capec_resources_required": [ "Transaction generator(s)/source(s) and ability to cause arrival of messages at the target with sufficient rapidity to overload target. Larger targets may be able to handle large volumes of requests so the attacker may require significant resources (such as a distributed network) to affect the target. However, the resources required of the attacker would be less than in the case of a simple flooding attack against the same target." ], "x_capec_skills_required": { "High": "To use distributed network to launch the attack", "Low": "To send small XML messages" }, "x_capec_status": "Draft", "x_capec_typical_severity": "Medium", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "Design: Build throttling mechanism into the resource allocation. Provide for a timeout mechanism for allocated resources whose transaction does not complete within a specified interval.", "id": "course-of-action--098aadf6-648b-4c3a-bbf9-224e6bd430fd", "modified": "2018-07-31T00:00:00.000Z", "name": "coa-147-0", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "course-of-action", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--cfd5f6e5-9782-45a5-9d8c-a1883c4b6d34", "modified": "2018-07-31T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--098aadf6-648b-4c3a-bbf9-224e6bd430fd", "spec_version": "2.1", "target_ref": "attack-pattern--94238840-08ad-4117-8a20-ed359cda1e7e", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "Implementation: Provide for network flow control and traffic shaping to control access to the resources.", "id": "course-of-action--ba0208fb-20e5-4c4f-9a93-d5d806d038e6", "modified": "2018-07-31T00:00:00.000Z", "name": "coa-147-1", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "course-of-action", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--2d06b870-3a8b-4f06-aa89-258fb7aec1e8", "modified": "2018-07-31T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--ba0208fb-20e5-4c4f-9a93-d5d806d038e6", "spec_version": "2.1", "target_ref": "attack-pattern--94238840-08ad-4117-8a20-ed359cda1e7e", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "An adversary modifies content to make it contain something other than what the original content producer intended while keeping the apparent source of the content unchanged. The term content spoofing is most often used to describe modification of web pages hosted by a target to display the adversary's content instead of the owner's content. However, any content can be spoofed, including the content of email messages, file transfers, or the content of other network communication protocols. Content can be modified at the source (e.g. modifying the source file for a web page) or in transit (e.g. intercepting and modifying a message between the sender and recipient). Usually, the adversary will attempt to hide the fact that the content has been modified, but in some cases, such as with web site defacement, this is not necessary. Content Spoofing can lead to malware exposure, financial fraud (if the content governs financial transactions), privacy violations, and other unwanted outcomes.", "external_references": [ { "external_id": "CAPEC-148", "source_name": "capec", "url": "https://capec.mitre.org/data/definitions/148.html" }, { "external_id": "CWE-345", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/345.html" }, { "description": "Defacement", "external_id": "T1491", "source_name": "ATTACK", "url": "https://attack.mitre.org/wiki/Technique/T1491" }, { "description": "Content Spoofing", "external_id": "12", "source_name": "WASC", "url": "http://projects.webappsec.org/Content-Spoofing" }, { "description": "Content Spoofing", "source_name": "OWASP Attacks", "url": "https://owasp.org/www-community/attacks/Content_Spoofing" } ], "id": "attack-pattern--bd4f8f46-1bc7-40a9-b15a-e36b7671cf5b", "modified": "2022-09-29T00:00:00.000Z", "name": "Content Spoofing", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "attack-pattern", "x_capec_abstraction": "Meta", "x_capec_can_follow_refs": [ "attack-pattern--b89511b6-f0fb-4c1d-a884-a0d5a0d82b4e", "attack-pattern--ae3f2c33-9018-442e-9cc3-24d65c7f4974", "attack-pattern--d845a25b-b140-438c-91d7-30b709bb6e18", "attack-pattern--ba694895-a0cf-494e-ace2-bf3488330b80", "attack-pattern--8c806dfa-b8ca-45f9-9f97-09e4b5c1157b", "attack-pattern--3491dd54-d586-4f3d-80c1-9576ee48236b" ], "x_capec_consequences": { "Integrity": [ "Modify Data (A successful content spoofing attack compromises the integrity of the application data.)" ] }, "x_capec_domains": [ "Communications", "Software", "Hardware" ], "x_capec_likelihood_of_attack": "Medium", "x_capec_parent_of_refs": [ "attack-pattern--9d8a9dc3-5115-43c3-a5ec-8003e7b97b2e", "attack-pattern--e7c0cce1-203e-454d-8a9a-76fa7ca120f8", "attack-pattern--b2e8de4b-6757-4e7e-9c5c-210c44100577", "attack-pattern--2e1be870-6442-4978-9a30-46d518aa1f74" ], "x_capec_prerequisites": [ "The target must provide content but fail to adequately protect it against modification.The adversary must have the means to alter data to which they are not authorized. If the content is to be modified in transit, the adversary must be able to intercept the targeted messages." ], "x_capec_resources_required": [ "\n If the content is to be modified in transit, the adversary requires a tool capable of intercepting the target's communication and generating/creating custom packets to impact the communications.\n In some variants, the targeted content is altered so that all or some of it is redirected towards content published by the attacker (for example, images and frames in the target's web site might be modified to be loaded from a source controlled by the attacker). In these cases, the attacker requires the necessary resources to host the replacement content.\n " ], "x_capec_status": "Stable", "x_capec_typical_severity": "Medium", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "An attacker explores a target to identify the names and locations of predictable temporary files for the purpose of launching further attacks against the target. This involves analyzing naming conventions and storage locations of the temporary files created by a target application. If an attacker can predict the names of temporary files they can use this information to mount other attacks, such as information gathering and symlink attacks.", "external_references": [ { "external_id": "CAPEC-149", "source_name": "capec", "url": "https://capec.mitre.org/data/definitions/149.html" }, { "external_id": "CWE-377", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/377.html" } ], "id": "attack-pattern--bddd2549-167f-4f7b-8d0f-6d1e647b26f6", "modified": "2023-01-24T00:00:00.000Z", "name": "Explore for Predictable Temporary File Names", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "attack-pattern", "x_capec_abstraction": "Detailed", "x_capec_can_precede_refs": [ "attack-pattern--7fea6e82-183a-4811-9b71-1ebe4d6c8b11" ], "x_capec_child_of_refs": [ "attack-pattern--323ed142-7793-413d-838f-72626caf58da" ], "x_capec_domains": [ "Software" ], "x_capec_prerequisites": [ "The targeted application must create names for temporary files using a predictable procedure, e.g. using sequentially increasing numbers.", "The attacker must be able to see the names of the files the target is creating." ], "x_capec_resources_required": [ "None: No specialized resources are required to execute this type of attack." ], "x_capec_status": "Draft", "x_capec_typical_severity": "Medium", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "An attack of this type exploits a programs' vulnerabilities that allows an attacker's commands to be concatenated onto a legitimate command with the intent of targeting other resources such as the file system or database. The system that uses a filter or denylist input validation, as opposed to allowlist validation is vulnerable to an attacker who predicts delimiters (or combinations of delimiters) not present in the filter or denylist. As with other injection attacks, the attacker uses the command delimiter payload as an entry point to tunnel through the application and activate additional attacks through SQL queries, shell commands, network scanning, and so on.", "external_references": [ { "external_id": "CAPEC-15", "source_name": "capec", "url": "https://capec.mitre.org/data/definitions/15.html" }, { "external_id": "CWE-146", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/146.html" }, { "external_id": "CWE-77", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/77.html" }, { "external_id": "CWE-184", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/184.html" }, { "external_id": "CWE-78", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/78.html" }, { "external_id": "CWE-185", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/185.html" }, { "external_id": "CWE-93", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/93.html" }, { "external_id": "CWE-140", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/140.html" }, { "external_id": "CWE-157", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/157.html" }, { "external_id": "CWE-138", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/138.html" }, { "external_id": "CWE-154", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/154.html" }, { "external_id": "CWE-697", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/697.html" }, { "description": "G. Hoglund, G. McGraw, Exploiting Software: How to Break Code, 2004--02, Addison-Wesley", "external_id": "REF-1", "source_name": "reference_from_CAPEC" } ], "id": "attack-pattern--582943a5-d66c-48a9-8cf8-76e511222c7d", "modified": "2021-06-24T00:00:00.000Z", "name": "Command Delimiters", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "attack-pattern", "x_capec_abstraction": "Standard", "x_capec_child_of_refs": [ "attack-pattern--cde07b71-23e6-418d-93e9-665f5f83b032" ], "x_capec_consequences": { "Availability": [ "Execute Unauthorized Commands (Run Arbitrary Code)" ], "Confidentiality": [ "Execute Unauthorized Commands (Run Arbitrary Code)", "Read Data" ], "Integrity": [ "Execute Unauthorized Commands (Run Arbitrary Code)" ] }, "x_capec_domains": [ "Software" ], "x_capec_example_instances": [ "\n By appending special characters, such as a semicolon or other commands that are executed by the target process, the attacker is able to execute a wide variety of malicious commands in the target process space, utilizing the target's inherited permissions, against any resource the host has access to. The possibilities are vast including injection attacks against RDBMS (SQL Injection), directory servers (LDAP Injection), XML documents (XPath and XQuery Injection), and command line shells. In many injection attacks, the results are converted back to strings and displayed to the client process such as a web browser without tripping any security alarms, so the network firewall does not log any out of the ordinary behavior.\n LDAP servers house critical identity assets such as user, profile, password, and group information that is used to authenticate and authorize users. An attacker that can query the directory at will and execute custom commands against the directory server is literally working with the keys to the kingdom in many enterprises. When user, organizational units, and other directory objects are queried by building the query string directly from user input with no validation, or other conversion, then the attacker has the ability to use any LDAP commands to query, filter, list, and crawl against the LDAP server directly in the same manner as SQL injection gives the ability to the attacker to run SQL commands on the database.\n " ], "x_capec_execution_flow": "

Execution Flow

Explore

  1. Assess Target Runtime Environment: In situations where the runtime environment is not implicitly known, the attacker makes connections to the target system and tries to determine the system's runtime environment. Knowing the environment is vital to choosing the correct delimiters.

  2. Techniques
    Port mapping using network connection-based software (e.g., nmap, nessus, etc.)
    Port mapping by exploring the operating system (netstat, sockstat, etc.)
    TCP/IP Fingerprinting
    Induce errors to find informative error messages
  3. Survey the Application: The attacker surveys the target application, possibly as a valid and authenticated user

  4. Techniques
    Spidering web sites for all available links
    Inventory all application inputs

Experiment

  1. Attempt delimiters in inputs: The attacker systematically attempts variations of delimiters on known inputs, observing the application's response each time.

  2. Techniques
    Inject command delimiters using network packet injection tools (netcat, nemesis, etc.)
    Inject command delimiters using web test frameworks (proxies, TamperData, custom programs, etc.)
    Enter command delimiters directly in input fields.

Exploit

  1. Use malicious command delimiters: The attacker uses combinations of payload and carefully placed command delimiters to attack the software.

", "x_capec_likelihood_of_attack": "High", "x_capec_parent_of_refs": [ "attack-pattern--70c8a212-72da-4a98-a626-e5d38e5416e3" ], "x_capec_prerequisites": [ "Software's input validation or filtering must not detect and block presence of additional malicious command." ], "x_capec_resources_required": [ "Ability to communicate synchronously or asynchronously with server. Optionally, ability to capture output directly through synchronous communication or other method such as FTP." ], "x_capec_skills_required": { "Medium": "The attacker has to identify injection vector, identify the specific commands, and optionally collect the output, i.e. from an interactive session." }, "x_capec_status": "Draft", "x_capec_typical_severity": "High", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "Design: Perform allowlist validation against a positive specification for command length, type, and parameters.", "id": "course-of-action--e5c4fb82-e889-429a-a343-f75a01e515dd", "modified": "2021-06-24T00:00:00.000Z", "name": "coa-15-0", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "course-of-action", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--08d4d25a-ee13-4f19-b709-f7bbafb7d0d9", "modified": "2021-06-24T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--e5c4fb82-e889-429a-a343-f75a01e515dd", "spec_version": "2.1", "target_ref": "attack-pattern--582943a5-d66c-48a9-8cf8-76e511222c7d", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "Design: Limit program privileges, so if commands circumvent program input validation or filter routines then commands do not running under a privileged account", "id": "course-of-action--461e2128-8614-4665-acaa-4090f980504d", "modified": "2021-06-24T00:00:00.000Z", "name": "coa-15-1", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "course-of-action", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--3ab83c6e-5e54-4214-be2d-b4a9cb52405f", "modified": "2021-06-24T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--461e2128-8614-4665-acaa-4090f980504d", "spec_version": "2.1", "target_ref": "attack-pattern--582943a5-d66c-48a9-8cf8-76e511222c7d", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "Implementation: Perform input validation for all remote content.", "id": "course-of-action--8a996efc-52e0-4aaf-953a-21c3fe64c64b", "modified": "2021-06-24T00:00:00.000Z", "name": "coa-15-2", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "course-of-action", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--78b9961e-bbb1-4c40-9286-e4eedbba14bc", "modified": "2021-06-24T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--8a996efc-52e0-4aaf-953a-21c3fe64c64b", "spec_version": "2.1", "target_ref": "attack-pattern--582943a5-d66c-48a9-8cf8-76e511222c7d", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "Implementation: Use type conversions such as JDBC prepared statements.", "id": "course-of-action--d27b9ab5-05c1-40d5-9fc3-cbcd2c723a00", "modified": "2021-06-24T00:00:00.000Z", "name": "coa-15-3", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "course-of-action", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--18b1ee44-40f2-43f7-97d1-56bde0108bbd", "modified": "2021-06-24T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--d27b9ab5-05c1-40d5-9fc3-cbcd2c723a00", "spec_version": "2.1", "target_ref": "attack-pattern--582943a5-d66c-48a9-8cf8-76e511222c7d", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "An adversary exploits well-known locations for resources for the purposes of undermining the security of the target. In many, if not most systems, files and resources are organized in a default tree structure. This can be useful for adversaries because they often know where to look for resources or files that are necessary for attacks. Even when the precise location of a targeted resource may not be known, naming conventions may indicate a small area of the target machine's file tree where the resources are typically located. For example, configuration files are normally stored in the /etc director on Unix systems. Adversaries can take advantage of this to commit other types of attacks.", "external_references": [ { "external_id": "CAPEC-150", "source_name": "capec", "url": "https://capec.mitre.org/data/definitions/150.html" }, { "external_id": "CWE-552", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/552.html" }, { "external_id": "CWE-1239", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/1239.html" }, { "external_id": "CWE-1258", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/1258.html" }, { "external_id": "CWE-1266", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/1266.html" }, { "external_id": "CWE-1272", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/1272.html" }, { "external_id": "CWE-1323", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/1323.html" }, { "external_id": "CWE-1330", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/1330.html" }, { "description": "OS Credential Dumping", "external_id": "T1003", "source_name": "ATTACK", "url": "https://attack.mitre.org/wiki/Technique/T1003" }, { "description": "Automated Collection", "external_id": "T1119", "source_name": "ATTACK", "url": "https://attack.mitre.org/wiki/Technique/T1119" }, { "description": "Data from Information Repositories", "external_id": "T1213", "source_name": "ATTACK", "url": "https://attack.mitre.org/wiki/Technique/T1213" }, { "description": "Data from Cloud Storage Object", "external_id": "T1530", "source_name": "ATTACK", "url": "https://attack.mitre.org/wiki/Technique/T1530" }, { "description": "Credentials from Password Stores", "external_id": "T1555", "source_name": "ATTACK", "url": "https://attack.mitre.org/wiki/Technique/T1555" }, { "description": "Data from Configuration Repository", "external_id": "T1602", "source_name": "ATTACK", "url": "https://attack.mitre.org/wiki/Technique/T1602" } ], "id": "attack-pattern--797f4b4e-371a-4d06-9e98-5cccb8a7ebc1", "modified": "2023-01-24T00:00:00.000Z", "name": "Collect Data from Common Resource Locations", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "attack-pattern", "x_capec_abstraction": "Standard", "x_capec_child_of_refs": [ "attack-pattern--913426fa-ea1f-43b0-8492-1d363ea109d6" ], "x_capec_domains": [ "Software", "Physical Security", "Hardware" ], "x_capec_example_instances": [ "An adversary can use a technique called Bluesnarfing to retrieve data from Bluetooth enabled devices in which they know where the data is located. This is done by connecting to the device’s Object Exchange (OBEX) Push Profile and making OBEX GET requests for known filenames (contact lists, photos, recent calls). Bluesnarfing was patched shortly after its discovery in 2003 and will only work on devices created before or during this time." ], "x_capec_parent_of_refs": [ "attack-pattern--a20a3cc9-4a6a-4376-a2b4-777ee9df2a34", "attack-pattern--af65cbd9-cc10-4c4f-9cc3-843941cdf357", "attack-pattern--7fea6e82-183a-4811-9b71-1ebe4d6c8b11", "attack-pattern--756a1a93-3734-426c-9e91-f9339de74a7a", "attack-pattern--60ceb889-a284-44bb-ae05-4b7e347e1597", "attack-pattern--ad242ccf-3578-4787-937c-22eb0ede3fb6", "attack-pattern--140142cc-28cb-4506-bce6-b44128b7b9a7" ], "x_capec_prerequisites": [ "The targeted applications must either expect files to be located at a specific location or, if the location of the files can be configured by the user, the user either failed to move the files from the default location or placed them in a conventional location for files of the given type." ], "x_capec_resources_required": [ "None: No specialized resources are required to execute this type of attack. In some cases, the attacker need not even have direct access to the locations on the target computer where the targeted resources reside." ], "x_capec_status": "Draft", "x_capec_typical_severity": "Medium", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "Identity Spoofing refers to the action of assuming (i.e., taking on) the identity of some other entity (human or non-human) and then using that identity to accomplish a goal. An adversary may craft messages that appear to come from a different principle or use stolen / spoofed authentication credentials.", "external_references": [ { "external_id": "CAPEC-151", "source_name": "capec", "url": "https://capec.mitre.org/data/definitions/151.html" }, { "external_id": "CWE-287", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/287.html" } ], "id": "attack-pattern--22802ed6-ddc6-4da7-b6be-60b10d26198b", "modified": "2022-02-22T00:00:00.000Z", "name": "Identity Spoofing", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "attack-pattern", "x_capec_abstraction": "Meta", "x_capec_can_follow_refs": [ "attack-pattern--a9dc4914-409a-4f71-80df-c5cc3923d112", "attack-pattern--8d88a81c-bde9-4fb3-acbe-901c783d6427", "attack-pattern--addd93c9-9278-4185-b402-e505d632c815", "attack-pattern--9197c7a2-6a03-40da-b2a6-df5f1d69e8fb", "attack-pattern--a390cb72-b4de-4750-ae05-be556c89f4be", "attack-pattern--06e8782a-87af-4863-b6b1-99e09edda3be", "attack-pattern--886a7175-e28a-4e6d-bd22-3b1497e31dc7", "attack-pattern--f2654def-b86d-4ddb-888f-de6b50a103a2", "attack-pattern--f724f0f3-20e6-450c-be4a-f373ea08834d", "attack-pattern--fab7fb48-4503-4e03-980f-9bc827be929f", "attack-pattern--03a731ef-751b-43de-9159-9667d4be4d1a", "attack-pattern--056a463d-6303-438e-a43f-992cee52fb95", "attack-pattern--05740120-81ef-4224-9805-2f0b54d1111f", "attack-pattern--755bb5ac-2eee-4e54-9864-92812666120c", "attack-pattern--2618d0a4-06d0-4bde-8271-2df61ed8297a", "attack-pattern--8c7bab16-5ecd-4778-9b04-c185bceed170", "attack-pattern--3491dd54-d586-4f3d-80c1-9576ee48236b", "attack-pattern--38964770-4f39-4191-89cf-73a625162b2b" ], "x_capec_consequences": { "Access_Control": [ "Gain Privileges" ], "Authentication": [ "Gain Privileges" ], "Confidentiality": [ "Gain Privileges" ], "Integrity": [ "Gain Privileges" ] }, "x_capec_domains": [ "Social Engineering", "Communications", "Software", "Hardware" ], "x_capec_extended_description": "\n Alternatively, an adversary may intercept a message from a legitimate sender and attempt to make it look like the message comes from them without changing its content. The latter form of this attack can be used to hijack credentials from legitimate users. Identity Spoofing attacks need not be limited to transmitted messages - any resource that is associated with an identity (for example, a file with a signature) can be the target of an attack where the adversary attempts to change the apparent identity. This attack differs from Content Spoofing attacks where the adversary does not wish to change the apparent identity of the message but instead wishes to change what the message says. In an Identity Spoofing attack, the adversary is attempting to change the identity of the content.\n ", "x_capec_likelihood_of_attack": "Medium", "x_capec_parent_of_refs": [ "attack-pattern--862d18f1-a87c-4f1b-acc2-882697d5d6e5", "attack-pattern--8711eca6-b3ad-40b7-b7ac-08be37885119", "attack-pattern--d94762c1-3c78-47eb-8212-e0c770ba43a9", "attack-pattern--5dec633b-7b10-4bfe-9270-e68b98112285", "attack-pattern--a00c2cc2-bd4f-4594-9ec1-b021b62ac896" ], "x_capec_prerequisites": [ "The identity associated with the message or resource must be removable or modifiable in an undetectable way." ], "x_capec_resources_required": [ "None: No specialized resources are required to execute this type of attack." ], "x_capec_status": "Stable", "x_capec_typical_severity": "Medium", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "Employ robust authentication processes (e.g., multi-factor authentication).", "id": "course-of-action--a4ee4981-07bd-4a5d-bc5b-3159e9005c04", "modified": "2022-02-22T00:00:00.000Z", "name": "coa-151-0", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "course-of-action", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--4e224ed0-2d80-495f-925d-d726a7fe4f81", "modified": "2022-02-22T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--a4ee4981-07bd-4a5d-bc5b-3159e9005c04", "spec_version": "2.1", "target_ref": "attack-pattern--22802ed6-ddc6-4da7-b6be-60b10d26198b", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "An attacker exploits a weakness in input validation by controlling the format, structure, and composition of data to an input-processing interface. By supplying input of a non-standard or unexpected form an attacker can adversely impact the security of the target.", "external_references": [ { "external_id": "CAPEC-153", "source_name": "capec", "url": "https://capec.mitre.org/data/definitions/153.html" }, { "external_id": "CWE-20", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/20.html" } ], "id": "attack-pattern--71d31712-9174-4433-8e4f-8520a3ec1249", "modified": "2022-02-22T00:00:00.000Z", "name": "Input Data Manipulation", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "attack-pattern", "x_capec_abstraction": "Meta", "x_capec_domains": [ "Software" ], "x_capec_extended_description": "\n For example, using a different character encoding might cause dangerous text to be treated as safe text. Alternatively, the attacker may use certain flags, such as file extensions, to make a target application believe that provided data should be handled using a certain interpreter when the data is not actually of the appropriate type. This can lead to bypassing protection mechanisms, forcing the target to use specific components for input processing, or otherwise causing the user's data to be handled differently than might otherwise be expected. This attack differs from Variable Manipulation in that Variable Manipulation attempts to subvert the target's processing through the value of the input while Input Data Manipulation seeks to control how the input is processed.\n ", "x_capec_parent_of_refs": [ "attack-pattern--faf0ec21-da60-4efc-8c8e-7a6b63bea170", "attack-pattern--1f3b920a-a706-494c-9486-69531a514912", "attack-pattern--a1af7c24-25cb-46e5-a27b-ed316e1f91ce" ], "x_capec_prerequisites": [ "The target must accept user data for processing and the manner in which this data is processed must depend on some aspect of the format or flags that the attacker can control." ], "x_capec_resources_required": [ "None: No specialized resources are required to execute this type of attack." ], "x_capec_status": "Draft", "x_capec_typical_severity": "Medium", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "An adversary deceives an application or user and convinces them to request a resource from an unintended location. By spoofing the location, the adversary can cause an alternate resource to be used, often one that the adversary controls and can be used to help them achieve their malicious goals.", "external_references": [ { "external_id": "CAPEC-154", "source_name": "capec", "url": "https://capec.mitre.org/data/definitions/154.html" }, { "external_id": "CWE-451", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/451.html" } ], "id": "attack-pattern--ce92f5b9-6228-4354-8a1b-72ad7ad3bb84", "modified": "2023-01-24T00:00:00.000Z", "name": "Resource Location Spoofing", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "attack-pattern", "x_capec_abstraction": "Meta", "x_capec_can_follow_refs": [ "attack-pattern--b89511b6-f0fb-4c1d-a884-a0d5a0d82b4e", "attack-pattern--ae3f2c33-9018-442e-9cc3-24d65c7f4974", "attack-pattern--d845a25b-b140-438c-91d7-30b709bb6e18", "attack-pattern--ba694895-a0cf-494e-ace2-bf3488330b80" ], "x_capec_consequences": { "Authorization": [ "Execute Unauthorized Commands (Run Arbitrary Code)" ] }, "x_capec_domains": [ "Social Engineering", "Supply Chain", "Communications", "Software", "Hardware" ], "x_capec_likelihood_of_attack": "Medium", "x_capec_parent_of_refs": [ "attack-pattern--d16af13f-5e0f-4a6b-bc1f-23f733d2229b", "attack-pattern--e9d5d2e4-588f-43c1-bc98-73417abbb727" ], "x_capec_prerequisites": [ "None. All applications rely on file paths and therefore, in theory, they or their resources could be affected by this type of attack." ], "x_capec_resources_required": [ "None: No specialized resources are required to execute this type of attack." ], "x_capec_status": "Stable", "x_capec_typical_severity": "Medium", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "Monitor network activity to detect any anomalous or unauthorized communication exchanges.", "id": "course-of-action--eeb4d011-944b-4c48-9b7e-9cea2b3c86df", "modified": "2023-01-24T00:00:00.000Z", "name": "coa-154-0", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "course-of-action", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--ef1a3b66-cfc8-4c92-9df9-237b586b11f2", "modified": "2023-01-24T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--eeb4d011-944b-4c48-9b7e-9cea2b3c86df", "spec_version": "2.1", "target_ref": "attack-pattern--ce92f5b9-6228-4354-8a1b-72ad7ad3bb84", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "An adversary exploits the temporary, insecure storage of information by monitoring the content of files used to store temp data during an application's routine execution flow. Many applications use temporary files to accelerate processing or to provide records of state across multiple executions of the application. Sometimes, however, these temporary files may end up storing sensitive information. By screening an application's temporary files, an adversary might be able to discover such sensitive information. For example, web browsers often cache content to accelerate subsequent lookups. If the content contains sensitive information then the adversary could recover this from the web cache.", "external_references": [ { "external_id": "CAPEC-155", "source_name": "capec", "url": "https://capec.mitre.org/data/definitions/155.html" }, { "external_id": "CWE-377", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/377.html" } ], "id": "attack-pattern--7fea6e82-183a-4811-9b71-1ebe4d6c8b11", "modified": "2021-10-21T00:00:00.000Z", "name": "Screen Temporary Files for Sensitive Information", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "attack-pattern", "x_capec_abstraction": "Detailed", "x_capec_can_follow_refs": [ "attack-pattern--bddd2549-167f-4f7b-8d0f-6d1e647b26f6" ], "x_capec_child_of_refs": [ "attack-pattern--797f4b4e-371a-4d06-9e98-5cccb8a7ebc1" ], "x_capec_domains": [ "Software" ], "x_capec_execution_flow": "

Execution Flow

Explore

  1. Look for temporary files in target application: An adversary will try to discover temporary files in a target application. Knowledge of where the temporary files are being stored is important information.

Experiment

  1. Attempt to read temporary files: An adversary will attempt to read any temporary files they may have discovered through normal means.

  2. Techniques
    Attempt to get the file by querying the file path to a web server
    Using a remote shell into an application, read temporary files and send out information remotely if necessary
    Recover temporary information from a user's browser cache

Exploit

  1. Use function weaknesses to gain access to temporary files: If normal means to read temporary files did not work, an adversary will attempt to exploit weak temporary file functions to gain access to temporary files.

  2. Techniques
    Some C functions such as tmpnam(), tempnam(), and mktemp() will create a temporary file with a unique name, but do not stop an adversary from creating a file of the same name before it is opened by the application. Because these functions do not create file names that are sufficiently random, an adversary will try to make a file of the same name, causing a collision, and possibly altering file permissions for the temporary file so that it is able to be read.
    Similar to the last technique, an adversary might also create a file name collision using a linked file in a unix system such that the temporary file contents written out by the application write to a file of the adversaries choosing, allowing them to read the file contents.
", "x_capec_likelihood_of_attack": "Medium", "x_capec_prerequisites": [ "The target application must utilize temporary files and must fail to adequately secure them against other parties reading them." ], "x_capec_resources_required": [ "Because some application may have a large number of temporary files and/or these temporary files may be very large, an adversary may need tools that help them quickly search these files for sensitive information. If the adversary can simply copy the files to another location and if the speed of the search is not important, the adversary can still perform the attack without any special resources." ], "x_capec_status": "Draft", "x_capec_typical_severity": "Medium", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "In this attack pattern, the adversary intercepts information transmitted between two third parties. The adversary must be able to observe, read, and/or hear the communication traffic, but not necessarily block the communication or change its content. Any transmission medium can theoretically be sniffed if the adversary can examine the contents between the sender and recipient. Sniffing Attacks are similar to Adversary-In-The-Middle attacks (CAPEC-94), but are entirely passive. AiTM attacks are predominantly active and often alter the content of the communications themselves.", "external_references": [ { "external_id": "CAPEC-157", "source_name": "capec", "url": "https://capec.mitre.org/data/definitions/157.html" }, { "external_id": "CWE-311", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/311.html" } ], "id": "attack-pattern--bdcdc784-d891-4ca8-847b-38ddca37a6ec", "modified": "2022-02-22T00:00:00.000Z", "name": "Sniffing Attacks", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "attack-pattern", "x_capec_abstraction": "Standard", "x_capec_can_precede_refs": [ "attack-pattern--755bb5ac-2eee-4e54-9864-92812666120c" ], "x_capec_child_of_refs": [ "attack-pattern--bdc2219a-ebe0-4372-90b8-841dd7bd4c8e" ], "x_capec_consequences": { "Confidentiality": [ "Read Data" ] }, "x_capec_domains": [ "Communications", "Software" ], "x_capec_execution_flow": "

Execution Flow

Explore

  1. Determine Communication Mechanism: The adversary determines the nature and mechanism of communication between two components, looking for opportunities to exploit.

  2. Techniques
    Look for application documentation that might describe a communication mechanism used by a target.

Experiment

  1. Position In Between Targets: The adversary positions themselves somewhere in the middle of the two components. If the communication is encrypted, the adversary will need to act as a proxy and route traffic between the components, exploiting a flaw in the encryption mechanism. Otherwise, the adversary can just observe the communication at either end.

  2. Techniques
    Use Wireshark or some other packet capturing tool to capture traffic on a network.
    Install spyware on a client that will intercept outgoing packets and route them to their destination as well as route incoming packets back to the client.
    Exploit a weakness in an encrypted communication mechanism to gain access to traffic. Look for outdated mechanisms such as SSL.

Exploit

  1. Listen to Communication: The adversary observes communication, but does not alter or block it. The adversary gains access to sensitive information and can potentially utilize this information in a malicious way.

", "x_capec_parent_of_refs": [ "attack-pattern--897a5506-45bb-4f6f-96e7-55f4c0b9021a", "attack-pattern--cddb7bce-8d94-4eea-8e73-9f6ef66376c2", "attack-pattern--359d056e-6d5c-4d54-97d6-5a9f586bcccf", "attack-pattern--c7f0c73b-fe94-49c9-89bb-a3ec4441e4ee", "attack-pattern--3147f1c9-3043-40ca-ad42-c1be938820a4" ], "x_capec_prerequisites": [ "The target data stream must be transmitted on a medium to which the adversary has access." ], "x_capec_resources_required": [ "The adversary must be able to intercept the transmissions containing the data of interest. Depending on the medium of transmission and the path the data takes between the sender and recipient, the adversary may require special equipment and/or require that this equipment be placed in specific locations (e.g., a network sniffing tool)" ], "x_capec_status": "Draft", "x_capec_typical_severity": "Medium", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "Encrypt sensitive information when transmitted on insecure mediums to prevent interception.", "id": "course-of-action--8e8679ec-95e4-4391-abb4-9a40406a3476", "modified": "2022-02-22T00:00:00.000Z", "name": "coa-157-0", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "course-of-action", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--ec5d6642-3556-4d29-8f30-07ab3be9ab1a", "modified": "2022-02-22T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--8e8679ec-95e4-4391-abb4-9a40406a3476", "spec_version": "2.1", "target_ref": "attack-pattern--bdcdc784-d891-4ca8-847b-38ddca37a6ec", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "In this attack pattern, the adversary monitors network traffic between nodes of a public or multicast network in an attempt to capture sensitive information at the protocol level. Network sniffing applications can reveal TCP/IP, DNS, Ethernet, and other low-level network communication information. The adversary takes a passive role in this attack pattern and simply observes and analyzes the traffic. The adversary may precipitate or indirectly influence the content of the observed transaction, but is never the intended recipient of the target information.", "external_references": [ { "external_id": "CAPEC-158", "source_name": "capec", "url": "https://capec.mitre.org/data/definitions/158.html" }, { "external_id": "CWE-311", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/311.html" }, { "description": "Network Sniffing", "external_id": "T1040", "source_name": "ATTACK", "url": "https://attack.mitre.org/wiki/Technique/T1040" }, { "description": "Multi-Factor Authentication Interception", "external_id": "T1111", "source_name": "ATTACK", "url": "https://attack.mitre.org/wiki/Technique/T1111" } ], "id": "attack-pattern--897a5506-45bb-4f6f-96e7-55f4c0b9021a", "modified": "2022-09-29T00:00:00.000Z", "name": "Sniffing Network Traffic", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "attack-pattern", "x_capec_abstraction": "Detailed", "x_capec_can_follow_refs": [ "attack-pattern--c9b31907-c466-4325-af55-c418aea8b964" ], "x_capec_child_of_refs": [ "attack-pattern--bdcdc784-d891-4ca8-847b-38ddca37a6ec" ], "x_capec_consequences": { "Confidentiality": [ "Read Data" ] }, "x_capec_domains": [ "Communications", "Software" ], "x_capec_prerequisites": [ "The target must be communicating on a network protocol visible by a network sniffing application.", "The adversary must obtain a logical position on the network from intercepting target network traffic is possible. Depending on the network topology, traffic sniffing may be simple or challenging. If both the target sender and target recipient are members of a single subnet, the adversary must also be on that subnet in order to see their traffic communication." ], "x_capec_resources_required": [ "A tool with the capability of presenting network communication traffic (e.g., Wireshark, tcpdump, Cain and Abel, etc.)." ], "x_capec_skills_required": { "Low": "Adversaries can obtain and set up open-source network sniffing tools easily." }, "x_capec_status": "Draft", "x_capec_typical_severity": "Medium", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "Obfuscate network traffic through encryption to prevent its readability by network sniffers.", "id": "course-of-action--26edfe3d-53cd-4d09-abbf-84ee7c48236f", "modified": "2022-09-29T00:00:00.000Z", "name": "coa-158-0", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "course-of-action", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--28658fd8-29a0-4a6b-b8a9-d7a967352c4e", "modified": "2022-09-29T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--26edfe3d-53cd-4d09-abbf-84ee7c48236f", "spec_version": "2.1", "target_ref": "attack-pattern--897a5506-45bb-4f6f-96e7-55f4c0b9021a", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "Employ appropriate levels of segmentation to your network in accordance with best practices.", "id": "course-of-action--3ca8bdc8-6a37-4294-acfe-2e658e9e0fe6", "modified": "2022-09-29T00:00:00.000Z", "name": "coa-158-1", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "course-of-action", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--d1c000a2-67f9-4572-af06-6707542d5784", "modified": "2022-09-29T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--3ca8bdc8-6a37-4294-acfe-2e658e9e0fe6", "spec_version": "2.1", "target_ref": "attack-pattern--897a5506-45bb-4f6f-96e7-55f4c0b9021a", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "An adversary exploits a weakness in the way an application searches for external libraries to manipulate the execution flow to point to an adversary supplied library or code base. This pattern of attack allows the adversary to compromise the application or server via the execution of unauthorized code. An application typically makes calls to functions that are a part of libraries external to the application. These libraries may be part of the operating system or they may be third party libraries. If an adversary can redirect an application's attempts to access these libraries to other libraries that the adversary supplies, the adversary will be able to force the targeted application to execute arbitrary code. This is especially dangerous if the targeted application has enhanced privileges. Access can be redirected through a number of techniques, including the use of symbolic links, search path modification, and relative path manipulation.", "external_references": [ { "external_id": "CAPEC-159", "source_name": "capec", "url": "https://capec.mitre.org/data/definitions/159.html" }, { "external_id": "CWE-706", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/706.html" }, { "description": "Hijack Execution Flow:Path Interception by Search Order Hijacking", "external_id": "T1574.008", "source_name": "ATTACK", "url": "https://attack.mitre.org/wiki/Technique/T1574/008" }, { "description": "Silvio Cesare, Share Library Call Redirection Via ELF PLT Infection (Issue 56), Phrack Magazine, 2000", "external_id": "REF-29", "source_name": "reference_from_CAPEC", "url": "http://phrack.org/issues/56/7.html" }, { "description": "OWASP Top 10 2007 (2007), The Open Web Application Security Project (OWASP)", "external_id": "REF-30", "source_name": "reference_from_CAPEC", "url": "https://www.owasp.org/www-pdf-archive/OWASP_Top_10_2007.pdf" } ], "id": "attack-pattern--d16af13f-5e0f-4a6b-bc1f-23f733d2229b", "modified": "2022-09-29T00:00:00.000Z", "name": "Redirect Access to Libraries", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "attack-pattern", "x_capec_abstraction": "Standard", "x_capec_can_precede_refs": [ "attack-pattern--0123fa83-2d47-4398-85f1-30ce114abb9a" ], "x_capec_child_of_refs": [ "attack-pattern--ce92f5b9-6228-4354-8a1b-72ad7ad3bb84" ], "x_capec_consequences": { "Access_Control": [ "Bypass Protection Mechanism" ], "Authorization": [ "Execute Unauthorized Commands (Run Arbitrary Code)", "Bypass Protection Mechanism" ] }, "x_capec_domains": [ "Software" ], "x_capec_example_instances": [ "In this example, the attacker using ELF infection that redirects the Procedure Linkage Table (PLT) of an executable allowing redirection to be resident outside of the infected executable. The algorithm at the entry point code is as follows... • mark the text segment writeable • save the PLT(GOT) entry • replace the PLT(GOT) entry with the address of the new lib call The algorithm in the new library call is as follows... • do the payload of the new lib call • restore the original PLT(GOT) entry • call the lib call • save the PLT(GOT) entry again (if its changed) • replace the PLT(GOT) entry with the address of the new lib call" ], "x_capec_execution_flow": "

Execution Flow

Explore

  1. Identify Target: The adversary identifies the target application and determines what libraries are being used.

  2. Techniques
    Find public source code and identify library dependencies.
    Gain access to the system hosting the application and look for libraries in common locations.

Experiment

  1. Deploy Malicious Libraries: The adversary crafts malicious libraries and deploys them on the system where the application is running, or in a remote location that can be loaded by the application.

Exploit

  1. Redirect Library Calls to Malicious Library: Once the malicious library crafted by the adversary is deployed, the adversary will manipulate the flow of the application such that it calls the malicious library. This can be done in a variety of ways based on how the application is loading and calling libraries.

  2. Techniques
    Poison the DNS cache of the system so that it loads a malicious library from a remote location hosted by the adversary instead of the legitimate location
    Create a symlink that tricks the application into thinking that a malicious library is the legitimate library.
    Use DLL side-loading to place a malicious verison of a DLL in the windows directory.
", "x_capec_likelihood_of_attack": "High", "x_capec_parent_of_refs": [ "attack-pattern--7cb5458d-b646-4a25-ad0a-4c3fabd70a65", "attack-pattern--2e603682-c08c-4af1-8e06-329dc8bbe4b4", "attack-pattern--abdd46ce-dd2d-4430-8032-aa3ee1d262fd", "attack-pattern--bfb6492a-7a88-47c4-aff9-2c8190265328" ], "x_capec_prerequisites": [ "The target must utilize external libraries and must fail to verify the integrity of these libraries before using them." ], "x_capec_skills_required": { "High": "To reverse engineering the libraries and inject malicious code into the libraries", "Low": "To modify the entries in the configuration file pointing to malicious libraries", "Medium": "To force symlink and timing issues for redirecting access to libraries" }, "x_capec_status": "Stable", "x_capec_typical_severity": "Very High", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "Implementation: Restrict the permission to modify the entries in the configuration file.", "id": "course-of-action--f26a4acf-baf0-4bf2-a143-bc1b7c62e85f", "modified": "2022-09-29T00:00:00.000Z", "name": "coa-159-0", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "course-of-action", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--cd6337df-a7bd-4afe-b168-4189a828cafb", "modified": "2022-09-29T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--f26a4acf-baf0-4bf2-a143-bc1b7c62e85f", "spec_version": "2.1", "target_ref": "attack-pattern--d16af13f-5e0f-4a6b-bc1f-23f733d2229b", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "Implementation: Check the integrity of the dynamically linked libraries before use them.", "id": "course-of-action--3654cbd2-7f0f-4ca2-8104-ac4038549426", "modified": "2022-09-29T00:00:00.000Z", "name": "coa-159-1", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "course-of-action", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--34ed3417-5e22-490d-b967-b77e3be13f50", "modified": "2022-09-29T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--3654cbd2-7f0f-4ca2-8104-ac4038549426", "spec_version": "2.1", "target_ref": "attack-pattern--d16af13f-5e0f-4a6b-bc1f-23f733d2229b", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "Implementation: Use obfuscation and other techniques to prevent reverse engineering the libraries.", "id": "course-of-action--3b7c420e-04b7-4432-90f3-cdcec1a162cb", "modified": "2022-09-29T00:00:00.000Z", "name": "coa-159-2", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "course-of-action", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--915e2bb6-c5cc-4d8c-b3f9-062b7c13ead4", "modified": "2022-09-29T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--3b7c420e-04b7-4432-90f3-cdcec1a162cb", "spec_version": "2.1", "target_ref": "attack-pattern--d16af13f-5e0f-4a6b-bc1f-23f733d2229b", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "\n An attacker tries each of the words in a dictionary as passwords to gain access to the system via some user's account. If the password chosen by the user was a word within the dictionary, this attack will be successful (in the absence of other mitigations). This is a specific instance of the password brute forcing attack pattern.\n Dictionary Attacks differ from similar attacks such as Password Spraying (CAPEC-565) and Credential Stuffing (CAPEC-600), since they leverage unknown username/password combinations and don't care about inducing account lockouts.\n ", "external_references": [ { "external_id": "CAPEC-16", "source_name": "capec", "url": "https://capec.mitre.org/data/definitions/16.html" }, { "external_id": "CWE-521", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/521.html" }, { "external_id": "CWE-262", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/262.html" }, { "external_id": "CWE-263", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/263.html" }, { "external_id": "CWE-654", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/654.html" }, { "external_id": "CWE-307", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/307.html" }, { "external_id": "CWE-308", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/308.html" }, { "external_id": "CWE-309", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/309.html" } ], "id": "attack-pattern--a9dc4914-409a-4f71-80df-c5cc3923d112", "modified": "2020-12-17T00:00:00.000Z", "name": "Dictionary-based Password Attack", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "attack-pattern", "x_capec_abstraction": "Detailed", "x_capec_can_precede_refs": [ "attack-pattern--03a731ef-751b-43de-9159-9667d4be4d1a", "attack-pattern--22802ed6-ddc6-4da7-b6be-60b10d26198b", "attack-pattern--886a7175-e28a-4e6d-bd22-3b1497e31dc7", "attack-pattern--f2654def-b86d-4ddb-888f-de6b50a103a2", "attack-pattern--2618d0a4-06d0-4bde-8271-2df61ed8297a" ], "x_capec_child_of_refs": [ "attack-pattern--8d88a81c-bde9-4fb3-acbe-901c783d6427" ], "x_capec_consequences": { "Access_Control": [ "Gain Privileges" ], "Authentication": [ "Gain Privileges" ], "Confidentiality": [ "Gain Privileges", "Read Data" ], "Integrity": [ "Modify Data" ] }, "x_capec_domains": [ "Software" ], "x_capec_example_instances": [ "A system user selects the word \"treacherous\" as their passwords believing that it would be very difficult to guess. The password-based dictionary attack is used to crack this password and gain access to the account.", "\n The Cisco LEAP challenge/response authentication mechanism uses passwords in a way that is susceptible to dictionary attacks, which makes it easier for remote attackers to gain privileges via brute force password guessing attacks.\n Cisco LEAP is a mutual authentication algorithm that supports dynamic derivation of session keys. With Cisco LEAP, mutual authentication relies on a shared secret, the user's logon password (which is known by the client and the network), and is used to respond to challenges between the user and the Remote Authentication Dial-In User Service (RADIUS) server.\n Methods exist for someone to write a tool to launch an offline dictionary attack on password-based authentications that leverage Microsoft MS-CHAP, such as Cisco LEAP. The tool leverages large password lists to efficiently launch offline dictionary attacks against LEAP user accounts, collected through passive sniffing or active techniques.See also: CVE-2003-1096" ], "x_capec_execution_flow": "

Execution Flow

Explore

  1. Determine application's/system's password policy: Determine the password policies of the target application/system.

  2. Techniques
    Determine minimum and maximum allowed password lengths.
    Determine format of allowed passwords (whether they are required or allowed to contain numbers, special characters, etc., or whether they are allowed to contain words from the dictionary).
    Determine account lockout policy (a strict account lockout policy will prevent brute force attacks).
  3. Select dictionaries: Pick the dictionaries to be used in the attack (e.g. different languages, specific terminology, etc.)

  4. Techniques
    Select dictionary based on particular users' preferred languages.
    Select dictionary based on the application/system's supported languages.
  5. Determine username(s) to target: Determine username(s) whose passwords to crack.

  6. Techniques
    Obtain username(s) by sniffing network packets.
    Obtain username(s) by querying application/system (e.g. if upon a failed login attempt, the system indicates whether the entered username was valid or not)
    Obtain usernames from filesystem (e.g. list of directories in C:\\Documents and Settings\\ in Windows, and list in /etc/passwd in UNIX-like systems)

Exploit

  1. Use dictionary to crack passwords.: Use a password cracking tool that will leverage the dictionary to feed passwords to the system and see if they work.

  2. Techniques
    Try all words in the dictionary, as well as common misspellings of the words as passwords for the chosen username(s).
    Try common combinations of words in the dictionary, as well as common misspellings of the combinations as passwords for the chosen username(s).
", "x_capec_likelihood_of_attack": "Medium", "x_capec_prerequisites": [ "The system uses one factor password based authentication.", "The system does not have a sound password policy that is being enforced.", "The system does not implement an effective password throttling mechanism." ], "x_capec_resources_required": [ "A machine with sufficient resources for the job (e.g. CPU, RAM, HD). Applicable dictionaries are required. Also a password cracking tool or a custom script that leverages the dictionary database to launch the attack." ], "x_capec_skills_required": { "Low": "A variety of password cracking tools and dictionaries are available to launch this type of an attack." }, "x_capec_status": "Draft", "x_capec_typical_severity": "High", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "Create a strong password policy and ensure that your system enforces this policy.", "id": "course-of-action--93ed0e66-1693-44b2-b416-bee8db1ad4c2", "modified": "2020-12-17T00:00:00.000Z", "name": "coa-16-0", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "course-of-action", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--0aa3c5ce-dade-4c9d-b9cb-cfd13a4fc7b0", "modified": "2020-12-17T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--93ed0e66-1693-44b2-b416-bee8db1ad4c2", "spec_version": "2.1", "target_ref": "attack-pattern--a9dc4914-409a-4f71-80df-c5cc3923d112", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "Implement an intelligent password throttling mechanism. Care must be taken to assure that these mechanisms do not excessively enable account lockout attacks such as CAPEC-2.", "id": "course-of-action--36387909-c46a-4d0f-8954-bbc4c954c9a9", "modified": "2020-12-17T00:00:00.000Z", "name": "coa-16-1", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "course-of-action", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--6e58b5f0-7d1d-48bc-bbfd-a15472142005", "modified": "2020-12-17T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--36387909-c46a-4d0f-8954-bbc4c954c9a9", "spec_version": "2.1", "target_ref": "attack-pattern--a9dc4914-409a-4f71-80df-c5cc3923d112", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "Leverage multi-factor authentication for all authentication services.", "id": "course-of-action--4e15baee-dc2c-4af0-bad4-f2a1fd8a7000", "modified": "2020-12-17T00:00:00.000Z", "name": "coa-16-2", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "course-of-action", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--21bb6f85-66f5-41e1-b24b-9ad75b3f1526", "modified": "2020-12-17T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--4e15baee-dc2c-4af0-bad4-f2a1fd8a7000", "spec_version": "2.1", "target_ref": "attack-pattern--a9dc4914-409a-4f71-80df-c5cc3923d112", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "Some APIs support scripting instructions as arguments. Methods that take scripted instructions (or references to scripted instructions) can be very flexible and powerful. However, if an attacker can specify the script that serves as input to these methods they can gain access to a great deal of functionality. For example, HTML pages support \n A similar example uses session ID as an argument of the URL.\n http://www.example.com/index.php/sessionid=0123456789\n Once the victim clicks the links, the attacker may be able to bypass authentication or piggy-back off some other authenticated victim's session.\n " ], "x_capec_execution_flow": "

Execution Flow

Explore

  1. Analyze and Understand Session IDs: The attacker finds that the targeted application use session credentials to identify legitimate users.

  2. Techniques
    An attacker makes many anonymous connections and records the session IDs.
    An attacker makes authorized connections and records the session tokens or credentials.

Experiment

  1. Create Session IDs.: Attackers craft messages containing their forged credentials in GET, POST request, HTTP headers or cookies.

  2. Techniques
    The attacker manipulates the HTTP request message and adds their forged session IDs in to the requests or cookies.

Exploit

  1. Abuse the Victim's Session Credentials: The attacker fixates falsified session ID to the victim when victim access the system. Once the victim has achieved a higher level of privilege, possibly by logging into the application, the attacker can now take over the session using the forged session identifier.

  2. Techniques
    The attacker loads the predefined or predicted session ID into their browser and browses to protected data or functionality.
    The attacker loads the predefined or predicted session ID into their software and utilizes functionality with the rights of the victim.
", "x_capec_likelihood_of_attack": "Medium", "x_capec_parent_of_refs": [ "attack-pattern--012db73f-2f3c-49f3-bdf3-12ec3eee01ce", "attack-pattern--7ee89c1f-50a5-42e6-abdb-6d8ba0349810" ], "x_capec_prerequisites": [ "The targeted application must use session credentials to identify legitimate users. Session identifiers that remains unchanged when the privilege levels change. Predictable session identifiers." ], "x_capec_resources_required": [ "Attackers may require tools to craft messages containing their forged credentials, and ability to send HTTP request to a web application." ], "x_capec_skills_required": { "Medium": "Forge the session credential and reply the request." }, "x_capec_status": "Draft", "x_capec_typical_severity": "Medium", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "Implementation: Use session IDs that are difficult to guess or brute-force: One way for the attackers to obtain valid session IDs is by brute-forcing or guessing them. By choosing session identifiers that are sufficiently random, brute-forcing or guessing becomes very difficult.", "id": "course-of-action--aba24572-8817-4d88-92bf-765eaa6ae508", "modified": "2022-09-29T00:00:00.000Z", "name": "coa-196-0", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "course-of-action", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--a7fe664e-53db-4afa-acf9-45a9386c846a", "modified": "2022-09-29T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--aba24572-8817-4d88-92bf-765eaa6ae508", "spec_version": "2.1", "target_ref": "attack-pattern--414d0884-4f46-4a51-b4ea-72125c7f5f9e", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "Implementation: Regenerate and destroy session identifiers when there is a change in the level of privilege: This ensures that even though a potential victim may have followed a link with a fixated identifier, a new one is issued when the level of privilege changes.", "id": "course-of-action--9403f5e9-5529-4e19-8b52-23c80494dc87", "modified": "2022-09-29T00:00:00.000Z", "name": "coa-196-1", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "course-of-action", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--7122b06c-8e94-4304-88f8-5f9d5c620b25", "modified": "2022-09-29T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--9403f5e9-5529-4e19-8b52-23c80494dc87", "spec_version": "2.1", "target_ref": "attack-pattern--414d0884-4f46-4a51-b4ea-72125c7f5f9e", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "An adversary submits data to a target application which contains nested exponential data expansion to produce excessively large output. Many data format languages allow the definition of macro-like structures that can be used to simplify the creation of complex structures. However, this capability can be abused to create excessive demands on a processor's CPU and memory. A small number of nested expansions can result in an exponential growth in demands on memory.", "external_references": [ { "external_id": "CAPEC-197", "source_name": "capec", "url": "https://capec.mitre.org/data/definitions/197.html" }, { "external_id": "CWE-770", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/770.html" }, { "external_id": "CWE-776", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/776.html" }, { "description": "XML Entity Expansion", "external_id": "44", "source_name": "WASC", "url": "http://projects.webappsec.org/XML-Entity-Expansion" }, { "description": "Amit Klein, Multiple vendors XML parser (and SOAP/WebServices server) Denial of Service attack using DTD", "external_id": "REF-64", "source_name": "reference_from_CAPEC", "url": "http://www.securityfocus.com/archive/1/303509" }, { "description": "Pete Lindstrom, Attacking & Defending Web Services, 2002, SPiRE Security", "external_id": "REF-65", "source_name": "reference_from_CAPEC", "url": "http://www.webtorials.com/main/comnet/cn2003/web-service/24.pdf" }, { "description": "Elliotte Rusty Harold, Tip: Configure SAX parsers for secure processing, IBM developerWorks, 2005--05---27, IBM", "external_id": "REF-66", "source_name": "reference_from_CAPEC", "url": "http://www.ibm.com/developerworks/xml/library/x-tipcfsx.html" }, { "description": "Bryan Sullivan, XML Denial of Service Attacks and Defenses", "external_id": "REF-67", "source_name": "reference_from_CAPEC", "url": "http://msdn.microsoft.com/en-us/magazine/ee335713.aspx" }, { "description": "Bryan Sullivan, XML Denial of Service Attacks and Defenses", "external_id": "REF-67", "source_name": "reference_from_CAPEC", "url": "http://msdn.microsoft.com/en-us/magazine/ee335713.aspx" } ], "id": "attack-pattern--f36abc8a-043e-42c5-876d-a65fc0cddc1e", "modified": "2022-09-29T00:00:00.000Z", "name": "Exponential Data Expansion", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "attack-pattern", "x_capec_abstraction": "Detailed", "x_capec_alternate_terms": [ "Billion Laughs Attack", "XML Bomb", "XML Entity Expansion (XEE)" ], "x_capec_can_follow_refs": [ "attack-pattern--5cf3eacf-a0c6-4c59-9f97-4f677a90587a" ], "x_capec_child_of_refs": [ "attack-pattern--8abd01d1-b2a2-4b86-a640-7d3d3b61d27f" ], "x_capec_consequences": { "Availability": [ "Unreliable Execution (Denial of Service)", "Resource Consumption (Denial of Service)" ] }, "x_capec_domains": [ "Software" ], "x_capec_example_instances": [ "\n The most common example of this type of attack is the \"many laughs\" attack (sometimes called the 'billion laughs' attack). For example:\n \n ]>&lol9;\n This is well formed and valid XML according to the DTD. Each entity increases the number entities by a factor of 10. The line of XML containing lol9; expands out exponentially to a message with 10^9 entities. A small message of a few KBs in size can easily be expanded into a few GB of memory in the parser. By including 3 more entities similar to the lol9 entity in the above code to the DTD, the program could expand out over a TB as there will now be 10^12 entities. Depending on the robustness of the target machine, this can lead to resource depletion, application crash, or even the execution of arbitrary code through a buffer overflow.\n ", "\n This example is similar, but uses YAML. This was used to attack Kubernetes [REF-686]\n a: &a [\"lol\",\"lol\",\"lol\",\"lol\",\"lol\",\"lol\",\"lol\",\"lol\",\"lol\"]b: &b [*a,*a,*a,*a,*a,*a,*a,*a,*a]c: &c [*b,*b,*b,*b,*b,*b,*b,*b,*b]d: &d [*c,*c,*c,*c,*c,*c,*c,*c,*c]e: &e [*d,*d,*d,*d,*d,*d,*d,*d,*d]f: &f [*e,*e,*e,*e,*e,*e,*e,*e,*e]g: &g [*f,*f,*f,*f,*f,*f,*f,*f,*f]h: &h [*g,*g,*g,*g,*g,*g,*g,*g,*g]i: &i [*h,*h,*h,*h,*h,*h,*h,*h,*h]\n " ], "x_capec_execution_flow": "

Execution Flow

Explore

  1. Survey the target: An adversary determines the input data stream that is being processed by a data parser that supports using subsitituion on the victim's side.

  2. Techniques
    Use an automated tool to record all instances of URLs to process requests.
    Use a browser to manually explore the website and analyze how the application processes requests.

Experiment

  1. Craft malicious payload: The adversary crafts a malicious message containing nested exponential expansion that completely uses up available server resources. See the \"Example Instances\" section for details on how to craft this malicious payload.

Exploit

  1. Send the message: Send the malicious crafted message to the target URL.

", "x_capec_likelihood_of_attack": "High", "x_capec_prerequisites": [ "This type of attack requires that the target must receive input but either fail to provide an upper limit for entity expansion or provide a limit that is so large that it does not preclude significant resource consumption." ], "x_capec_resources_required": [ "None: No specialized resources are required to execute this type of attack." ], "x_capec_skills_required": { "Low": "Ability to craft nested data expansion messages." }, "x_capec_status": "Draft", "x_capec_typical_severity": "Medium", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "Design: Use libraries and templates that minimize unfiltered input. Use methods that limit entity expansion and throw exceptions on attempted entity expansion.", "id": "course-of-action--7cdc228e-d1d1-40c4-b9c4-9e9f89b3df71", "modified": "2022-09-29T00:00:00.000Z", "name": "coa-197-0", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "course-of-action", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--0492ba63-8134-4235-a371-e1cf83184a85", "modified": "2022-09-29T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--7cdc228e-d1d1-40c4-b9c4-9e9f89b3df71", "spec_version": "2.1", "target_ref": "attack-pattern--f36abc8a-043e-42c5-876d-a65fc0cddc1e", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "Implementation: For XML based data - disable altogether the use of inline DTD schemas when parsing XML objects. If a DTD must be used, normalize, filter and use an allowlist and parse with methods and routines that will detect entity expansion from untrusted sources.", "id": "course-of-action--a2a17594-fbe4-4682-92b8-c64f405f7e3c", "modified": "2022-09-29T00:00:00.000Z", "name": "coa-197-1", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "course-of-action", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--6b369dc5-7f0d-40cb-8412-64f171649546", "modified": "2022-09-29T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--a2a17594-fbe4-4682-92b8-c64f405f7e3c", "spec_version": "2.1", "target_ref": "attack-pattern--f36abc8a-043e-42c5-876d-a65fc0cddc1e", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "An adversary distributes a link (or possibly some other query structure) with a request to a third party web server that is malformed and also contains a block of exploit code in order to have the exploit become live code in the resulting error page.", "external_references": [ { "external_id": "CAPEC-198", "source_name": "capec", "url": "https://capec.mitre.org/data/definitions/198.html" }, { "external_id": "CWE-81", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/81.html" } ], "id": "attack-pattern--0e2bf24b-2931-45aa-a0e9-22eccfb310b2", "modified": "2022-09-29T00:00:00.000Z", "name": "XSS Targeting Error Pages", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "attack-pattern", "x_capec_abstraction": "Detailed", "x_capec_child_of_refs": [ "attack-pattern--61b17787-fe92-427c-9e6a-6311997d7b2a", "attack-pattern--800f8095-99b6-4bb9-8bc6-8b9727201a2f", "attack-pattern--b1eef783-daae-494c-a418-cd9ada7cbe8b" ], "x_capec_domains": [ "Software", "Software", "Software" ], "x_capec_execution_flow": "

Execution Flow

Explore

  1. Survey the application for user-controllable inputs as URL parameters: Using a browser or an automated tool, an adversary follows all public links and actions on a web site. They record all the links, the forms, the resources accessed and all other potential entry-points for the web application, looking for URLs which use parameters.

  2. Techniques
    Use a spidering tool to follow and record all links and analyze the web pages to find entry points. Make note of any links that include parameters in the URL.
    Use a proxy tool to record all links visited during a manual traversal of the web application.
    Use a browser to manually explore the website and analyze how it is constructed. Many browsers' plugins are available to facilitate the analysis or automate the discovery.

Experiment

  1. Cause application to return error page: The adversary uses the URLs gathered in the \"Explore\" phase as a target list and injects various common script payloads and special characters into the parameters to see if an error page occurs, and if the injected payload is executed by the error page.

  2. Techniques
    Use a list of XSS probe strings to inject script in parameters of known URLs. If possible, the probe strings contain a unique identifier.
    Use a proxy tool to record results of manual input of XSS probes in known URLs.
    Use a list of HTML special characters to inject into parameters of known URLs and check if they caused errors
  3. Craft malicious XSS URL: Once the adversary has determined which parameters are vulnerable to XSS through an error page, they will craft a malicious URL containing the XSS exploit. The adversary can have many goals, from stealing session IDs, cookies, credentials, and page content from the victim.

  4. Techniques
    Change a URL parameter to include a malicious script tag.
    Send information gathered from the malicious script to a remote endpoint.

Exploit

  1. Get victim to click URL: In order for the attack to be successful, the victim needs to access the malicious URL.

  2. Techniques
    Send a phishing email to the victim containing the malicious URL. This can be hidden in a hyperlink as to not show the full URL, which might draw suspicion.
    Put the malicious URL on a public forum, where many victims might accidentally click the link.
", "x_capec_extended_description": "\n When the third party web server receives the crafted request and notes the error it then creates an error message that echoes the malformed message, including the exploit. Doing this converts the exploit portion of the message into to valid language elements that are executed by the viewing browser. When a victim executes the query provided by the adversary the infected error message is returned including the exploit code which then runs in the victim's browser. XSS can result in execution of code as well as data leakage (e.g. session cookies can be sent to the attacker). This type of attack is especially dangerous since the exploit appears to come from the third party web server, who the victim may trust and hence be more vulnerable to deception.\n ", "x_capec_prerequisites": [ "A third party web server which fails to adequately sanitize messages sent in error pages.", "The victim must be made to execute a query crafted by the adversary which results in the infected error report." ], "x_capec_resources_required": [ "None: No specialized resources are required to execute this type of attack." ], "x_capec_status": "Draft", "x_capec_typical_severity": "Medium", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "Design: Use libraries and templates that minimize unfiltered input.", "id": "course-of-action--89b4089f-8b0c-4e66-9b1b-8d05f8cbaaf5", "modified": "2022-09-29T00:00:00.000Z", "name": "coa-198-0", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "course-of-action", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--6ead6205-dacb-49ab-9007-3a8d39a3ea50", "modified": "2022-09-29T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--89b4089f-8b0c-4e66-9b1b-8d05f8cbaaf5", "spec_version": "2.1", "target_ref": "attack-pattern--0e2bf24b-2931-45aa-a0e9-22eccfb310b2", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "Implementation: Normalize, filter and use an allowlist for any input that will be used in error messages.", "id": "course-of-action--c79cd2c1-58af-4951-8d6a-8767190e4ecd", "modified": "2022-09-29T00:00:00.000Z", "name": "coa-198-1", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "course-of-action", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--d30e714c-2b9c-4a0d-95e1-7bf38e3f7c5e", "modified": "2022-09-29T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--c79cd2c1-58af-4951-8d6a-8767190e4ecd", "spec_version": "2.1", "target_ref": "attack-pattern--0e2bf24b-2931-45aa-a0e9-22eccfb310b2", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "Implementation: The victim should configure the browser to minimize active content from untrusted sources.", "id": "course-of-action--7a8e75aa-0acc-4307-99ae-181fbe26a03d", "modified": "2022-09-29T00:00:00.000Z", "name": "coa-198-2", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "course-of-action", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--201dd0ea-a13e-4039-a9c2-1b28e26c2560", "modified": "2022-09-29T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--7a8e75aa-0acc-4307-99ae-181fbe26a03d", "spec_version": "2.1", "target_ref": "attack-pattern--0e2bf24b-2931-45aa-a0e9-22eccfb310b2", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "An adversary uses alternate forms of keywords or commands that result in the same action as the primary form but which may not be caught by filters. For example, many keywords are processed in a case insensitive manner. If the site's web filtering algorithm does not convert all tags into a consistent case before the comparison with forbidden keywords it is possible to bypass filters (e.g., incomplete black lists) by using an alternate case structure. For example, the \"script\" tag using the alternate forms of \"Script\" or \"ScRiPt\" may bypass filters where \"script\" is the only form tested. Other variants using different syntax representations are also possible as well as using pollution meta-characters or entities that are eventually ignored by the rendering engine. The attack can result in the execution of otherwise prohibited functionality.", "external_references": [ { "external_id": "CAPEC-199", "source_name": "capec", "url": "https://capec.mitre.org/data/definitions/199.html" }, { "external_id": "CWE-87", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/87.html" }, { "description": "OWASP Cheatsheets, The Open Web Application Security Project (OWASP)", "external_id": "REF-69", "source_name": "reference_from_CAPEC", "url": "https://www.owasp.org/www-community/xss-filter-evasion-cheatsheet" }, { "description": "OWASP Testing Guide (v2), The Open Web Application Security Project (OWASP)", "external_id": "REF-70", "source_name": "reference_from_CAPEC", "url": "http://www.owasp.org/index.php/Testing_for_Cross_site_scripting" }, { "description": "Non-alphanumeric XSS cheat sheet", "external_id": "REF-71", "source_name": "reference_from_CAPEC", "url": "http://sla.ckers.org/forum/read.php?24,28687" }, { "description": "WASC Threat Classification 2.0, 2010, The Web Application Security Consortium (WASC)", "external_id": "REF-72", "source_name": "reference_from_CAPEC", "url": "http://projects.webappsec.org/Cross-Site+Scripting" } ], "id": "attack-pattern--b703f007-6e24-4365-b5f7-c5d249253b33", "modified": "2022-09-29T00:00:00.000Z", "name": "XSS Using Alternate Syntax", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "attack-pattern", "x_capec_abstraction": "Detailed", "x_capec_child_of_refs": [ "attack-pattern--61b17787-fe92-427c-9e6a-6311997d7b2a", "attack-pattern--800f8095-99b6-4bb9-8bc6-8b9727201a2f", "attack-pattern--b1eef783-daae-494c-a418-cd9ada7cbe8b" ], "x_capec_consequences": { "Access_Control": [ "Bypass Protection Mechanism" ], "Accountability": [ "Gain Privileges" ], "Authentication": [ "Gain Privileges" ], "Authorization": [ "Execute Unauthorized Commands (Run Arbitrary Code)", "Gain Privileges", "Bypass Protection Mechanism" ], "Confidentiality": [ "Read Data" ], "Integrity": [ "Modify Data" ], "Non-Repudiation": [ "Gain Privileges" ] }, "x_capec_domains": [ "Software", "Software", "Software" ], "x_capec_example_instances": [ "\n In this example, the adversary tries to get executed by the victim's browser. The target application employs regular expressions to make sure no script is being passed through the application to the web page; such a regular expression could be ((?i)script), and the application would replace all matches by this regex by the empty string. An adversary will then create a special payload to bypass this filter:\n alert(1)\n when the applications gets this input string, it will replace all \"script\" (case insensitive) by the empty string and the resulting input will be the desired vector by the adversary:\n \n In this example, we assume that the application needs to write a particular string in a client-side JavaScript context (e.g., ). For the adversary to execute the same payload as in the previous example, they would need to send alert(1) if there was no filtering. The application makes use of the following regular expression as filter\n ((\\w+)\\s*\\(.*\\)|alert|eval|function|document)\n and replaces all matches by the empty string. For example each occurrence of alert(), eval(), foo() or even the string \"alert\" would be stripped. An adversary will then create a special payload to bypass this filter:\n this['al' + 'ert'](1)\n when the applications gets this input string, it won't replace anything and this piece of JavaScript has exactly the same runtime meaning as alert(1). The adversary could also have used non-alphanumeric XSS vectors to bypass the filter; for example,\n ($=[$=[]][(__=!$+$)[_=-~-~-~$]+({}+$)[_/_]+($$=($_=!''+$)[_/_]+$_[+$])])()[__[_/_]+__[_+~$]+$_[_]+$$](_/_)\n would be executed by the JavaScript engine like alert(1) is.\n " ], "x_capec_execution_flow": "

Execution Flow

Explore

  1. Survey the application for user-controllable inputs: Using a browser or an automated tool, an adversary follows all public links and actions on a web site. They record all the links, the forms, the resources accessed and all other potential entry-points for the web application.

  2. Techniques
    Use a spidering tool to follow and record all links. Make special note of any links that include parameters in the URL.
    Use a proxy tool to record all links visited during a manual traversal of the web application. Make special note of any links that include parameters in the URL. Manual traversal of this type is frequently necessary to identify forms that are GET method forms rather than POST forms.
    Use a browser to manually explore the website and analyze how it is constructed. Many browser's plugins are available to facilitate the analysis or automate the URL discovery.

Experiment

  1. Probe identified potential entry points for XSS vulnerability: Possibly using an automated tool, an adversary requests variations on the inputs they surveyed before using alternate syntax. These inputs are designed to bypass incomplete filtering (e.g., incomplete HTML encoding etc.) and try many variations of characters injection that would enable the XSS payload. They record all the responses from the server that include unmodified versions of their script.

  2. Techniques
    Use a list of XSS probe strings to inject in parameters of known URLs. If possible, the probe strings contain a unique identifier. Attempt numerous variations based on form, format, syntax & encoding.
    Use a proxy tool to record results of manual input of XSS probes in known URLs.
  3. Craft malicious XSS URL: Once the adversary has determined which parameters are vulnerable to XSS, they will craft a malicious URL containing the XSS exploit. The adversary can have many goals, from stealing session IDs, cookies, credentials, and page content from the victim.

  4. Techniques
    Change a URL parameter to include a malicious script tag created using alternate syntax to bypass filters.
    Send information gathered from the malicious script to a remote endpoint.

Exploit

  1. Get victim to click URL: In order for the attack to be successful, the victim needs to access the malicious URL.

  2. Techniques
    Send a phishing email to the victim containing the malicious URL. This can be hidden in a hyperlink as to not show the full URL, which might draw suspicion.
    Put the malicious URL on a public forum, where many victims might accidentally click the link.
", "x_capec_likelihood_of_attack": "High", "x_capec_prerequisites": [ "Target client software must allow scripting such as JavaScript." ], "x_capec_resources_required": [ "Ability to send HTTP request to a web application." ], "x_capec_skills_required": { "High": "To bypass non trivial filters in the application", "Low": "To inject the malicious payload in a web page" }, "x_capec_status": "Draft", "x_capec_typical_severity": "High", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "Design: Use browser technologies that do not allow client side scripting.", "id": "course-of-action--094a4c09-e49c-422b-b8ec-b51c19dba18c", "modified": "2022-09-29T00:00:00.000Z", "name": "coa-199-0", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "course-of-action", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--7f9249a2-6d3a-425e-9583-820baa614887", "modified": "2022-09-29T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--094a4c09-e49c-422b-b8ec-b51c19dba18c", "spec_version": "2.1", "target_ref": "attack-pattern--b703f007-6e24-4365-b5f7-c5d249253b33", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "Design: Utilize strict type, character, and encoding enforcement", "id": "course-of-action--040cd51a-446a-4612-a9d0-4a90119d5191", "modified": "2022-09-29T00:00:00.000Z", "name": "coa-199-1", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "course-of-action", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--5b5fa953-0ec5-48c2-b9a3-ea2461650cf6", "modified": "2022-09-29T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--040cd51a-446a-4612-a9d0-4a90119d5191", "spec_version": "2.1", "target_ref": "attack-pattern--b703f007-6e24-4365-b5f7-c5d249253b33", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "Implementation: Ensure all content that is delivered to client is sanitized against an acceptable content specification.", "id": "course-of-action--e9836d98-9116-4902-ba62-2c4fcc7e03c3", "modified": "2022-09-29T00:00:00.000Z", "name": "coa-199-2", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "course-of-action", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--8bcece01-19c2-465b-9658-461bae9bfd35", "modified": "2022-09-29T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--e9836d98-9116-4902-ba62-2c4fcc7e03c3", "spec_version": "2.1", "target_ref": "attack-pattern--b703f007-6e24-4365-b5f7-c5d249253b33", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "Implementation: Ensure all content coming from the client is using the same encoding; if not, the server-side application must canonicalize the data before applying any filtering.", "id": "course-of-action--63ed5cb5-5feb-4677-8623-3c5552f796ee", "modified": "2022-09-29T00:00:00.000Z", "name": "coa-199-3", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "course-of-action", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--8be86371-e989-4042-af5b-bfd78a42085f", "modified": "2022-09-29T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--63ed5cb5-5feb-4677-8623-3c5552f796ee", "spec_version": "2.1", "target_ref": "attack-pattern--b703f007-6e24-4365-b5f7-c5d249253b33", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--b307ad0c-ae60-4f03-a5fb-26f4499dc18d", "modified": "2022-09-29T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--26850710-b983-423b-962a-5fd4b550fa0e", "spec_version": "2.1", "target_ref": "attack-pattern--b703f007-6e24-4365-b5f7-c5d249253b33", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "Implementation: Perform output validation for all remote content.", "id": "course-of-action--4f20a4a7-cb6a-477b-a12a-13c5e9d03353", "modified": "2022-09-29T00:00:00.000Z", "name": "coa-199-5", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "course-of-action", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--ba695a24-c9fb-4c8a-9012-dc3b1068ec38", "modified": "2022-09-29T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--4f20a4a7-cb6a-477b-a12a-13c5e9d03353", "spec_version": "2.1", "target_ref": "attack-pattern--b703f007-6e24-4365-b5f7-c5d249253b33", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "Implementation: Disable scripting languages such as JavaScript in browser", "id": "course-of-action--f31f11cb-6403-4667-bf43-d77242ac7ae2", "modified": "2022-09-29T00:00:00.000Z", "name": "coa-199-6", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "course-of-action", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--1488d37a-9c10-49ea-bce3-d8270b3b9d2f", "modified": "2022-09-29T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--f31f11cb-6403-4667-bf43-d77242ac7ae2", "spec_version": "2.1", "target_ref": "attack-pattern--b703f007-6e24-4365-b5f7-c5d249253b33", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "Implementation: Patching software. There are many attack vectors for XSS on the client side and the server side. Many vulnerabilities are fixed in service packs for browser, web servers, and plug in technologies, staying current on patch release that deal with XSS countermeasures mitigates this.", "id": "course-of-action--fd1a110f-6520-479b-9f42-9c88acdbf90e", "modified": "2022-09-29T00:00:00.000Z", "name": "coa-199-7", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "course-of-action", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--b3584936-9e95-48a5-bcca-77b2c2f44e5a", "modified": "2022-09-29T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--fd1a110f-6520-479b-9f42-9c88acdbf90e", "spec_version": "2.1", "target_ref": "attack-pattern--b703f007-6e24-4365-b5f7-c5d249253b33", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "An attacker leverages the security functionality of the system aimed at thwarting potential attacks to launch a denial of service attack against a legitimate system user. Many systems, for instance, implement a password throttling mechanism that locks an account after a certain number of incorrect log in attempts. An attacker can leverage this throttling mechanism to lock a legitimate user out of their own account. The weakness that is being leveraged by an attacker is the very security feature that has been put in place to counteract attacks.", "external_references": [ { "external_id": "CAPEC-2", "source_name": "capec", "url": "https://capec.mitre.org/data/definitions/2.html" }, { "external_id": "CWE-645", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/645.html" }, { "description": "Account Access Removal", "external_id": "T1531", "source_name": "ATTACK", "url": "https://attack.mitre.org/wiki/Technique/T1531" } ], "id": "attack-pattern--4ee9fc30-e736-4f4f-b55b-8a3008214042", "modified": "2021-06-24T00:00:00.000Z", "name": "Inducing Account Lockout", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "attack-pattern", "x_capec_abstraction": "Standard", "x_capec_child_of_refs": [ "attack-pattern--c727c058-2c9d-4021-a1ec-81dd030dea59" ], "x_capec_consequences": { "Availability": [ "Resource Consumption (Denial of Service)" ] }, "x_capec_domains": [ "Software" ], "x_capec_example_instances": [ "A famous example of this type an attack is the eBay attack. eBay always displays the user id of the highest bidder. In the final minutes of the auction, one of the bidders could try to log in as the highest bidder three times. After three incorrect log in attempts, eBay password throttling would kick in and lock out the highest bidder's account for some time. An attacker could then make their own bid and their victim would not have a chance to place the counter bid because they would be locked out. Thus an attacker could win the auction." ], "x_capec_execution_flow": "

Execution Flow

Experiment

  1. Investigate account lockout behavior of system: Investigate the security features present in the system that may trigger an account lockout

  2. Techniques
    Analyze system documentation to find list of events that could potentially cause account lockout
    Obtain user account in system and attempt to lock it out by sending malformed or incorrect data repeatedly
    Determine another user's login ID, and attempt to brute force the password (or other credentials) for it a predetermined number of times, or until the system provides an indication that the account is locked out.
  3. Obtain list of user accounts to lock out: Generate a list of valid user accounts to lock out

  4. Techniques
    Obtain list of authorized users using another attack pattern, such as SQL Injection.
    Attempt to create accounts if possible; system should indicate if a user ID is already taken.
    Attempt to brute force user IDs if system reveals whether a given user ID is valid or not upon failed login attempts.

Exploit

  1. Lock Out Accounts: Perform lockout procedure for all accounts that the attacker wants to lock out.

  2. Techniques
    For each user ID to be locked out, perform the lockout procedure discovered in the first step.
", "x_capec_likelihood_of_attack": "High", "x_capec_prerequisites": [ "The system has a lockout mechanism.", "An attacker must be able to reproduce behavior that would result in an account being locked." ], "x_capec_resources_required": [ "Computer with access to the login portion of the target system" ], "x_capec_skills_required": { "Low": "No programming skills or computer knowledge is needed. An attacker can easily use this attack pattern following the Execution Flow above." }, "x_capec_status": "Draft", "x_capec_typical_severity": "Medium", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "Implement intelligent password throttling mechanisms such as those which take IP address into account, in addition to the login name.", "id": "course-of-action--5d9b587f-481e-494f-a547-92de65b44c0a", "modified": "2021-06-24T00:00:00.000Z", "name": "coa-2-0", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "course-of-action", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--42e9e6ff-2250-40b7-b5c7-26510e85245f", "modified": "2021-06-24T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--5d9b587f-481e-494f-a547-92de65b44c0a", "spec_version": "2.1", "target_ref": "attack-pattern--4ee9fc30-e736-4f4f-b55b-8a3008214042", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "When implementing security features, consider how they can be misused and made to turn on themselves.", "id": "course-of-action--2b357357-88e4-40f9-9345-ada3db593ff5", "modified": "2021-06-24T00:00:00.000Z", "name": "coa-2-1", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "course-of-action", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--01ecb9a3-1f92-4fc8-879d-f7f3fb7ed660", "modified": "2021-06-24T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--2b357357-88e4-40f9-9345-ada3db593ff5", "spec_version": "2.1", "target_ref": "attack-pattern--4ee9fc30-e736-4f4f-b55b-8a3008214042", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "An attacker, armed with the cipher text and the encryption algorithm used, performs an exhaustive (brute force) search on the key space to determine the key that decrypts the cipher text to obtain the plaintext.", "external_references": [ { "external_id": "CAPEC-20", "source_name": "capec", "url": "https://capec.mitre.org/data/definitions/20.html" }, { "external_id": "CWE-326", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/326.html" }, { "external_id": "CWE-327", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/327.html" }, { "external_id": "CWE-693", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/693.html" }, { "external_id": "CWE-1204", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/1204.html" } ], "id": "attack-pattern--86a5e931-7f53-46fe-b6f0-c88498f6557f", "modified": "2021-06-24T00:00:00.000Z", "name": "Encryption Brute Forcing", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "attack-pattern", "x_capec_abstraction": "Standard", "x_capec_can_follow_refs": [ "attack-pattern--f1336271-5f27-40de-a61b-aba6572d120f" ], "x_capec_can_precede_refs": [ "attack-pattern--8c806dfa-b8ca-45f9-9f97-09e4b5c1157b" ], "x_capec_child_of_refs": [ "attack-pattern--7b423196-9de6-400f-91de-a1f26b3f19f1" ], "x_capec_consequences": { "Confidentiality": [ "Read Data" ] }, "x_capec_domains": [ "Software" ], "x_capec_example_instances": [ "In 1997 the original DES challenge used distributed net computing to brute force the encryption key and decrypt the ciphertext to obtain the original plaintext. Each machine was given its own section of the key space to cover. The ciphertext was decrypted in 96 days." ], "x_capec_execution_flow": "

Execution Flow

Explore

  1. Determine the ciphertext and the encryption algorithm.

Experiment

  1. Perform an exhaustive brute force search of the key space, producing candidate plaintexts and observing if they make sense.

", "x_capec_likelihood_of_attack": "Low", "x_capec_prerequisites": [ "Ciphertext is known.", "Encryption algorithm and key size are known." ], "x_capec_resources_required": [ "\n A powerful enough computer for the job with sufficient CPU, RAM and HD. Exact requirements will depend on the size of the brute force job and the time requirement for completion. Some brute forcing jobs may require grid or distributed computing (e.g. DES Challenge).\n On average, for a binary key of size N, 2^(N/2) trials will be needed to find the key that would decrypt the ciphertext to obtain the original plaintext.\n Obviously as N gets large the brute force approach becomes infeasible.\n " ], "x_capec_skills_required": { "Low": "Brute forcing encryption does not require much skill." }, "x_capec_status": "Draft", "x_capec_typical_severity": "Low", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "Use commonly accepted algorithms and recommended key sizes. The key size used will depend on how important it is to keep the data confidential and for how long.", "id": "course-of-action--14ea1dd8-a232-4071-897a-a930751702bb", "modified": "2021-06-24T00:00:00.000Z", "name": "coa-20-0", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "course-of-action", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--439ff02b-9273-4b92-9c82-0a6912ef0dc7", "modified": "2021-06-24T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--14ea1dd8-a232-4071-897a-a930751702bb", "spec_version": "2.1", "target_ref": "attack-pattern--86a5e931-7f53-46fe-b6f0-c88498f6557f", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "In theory a brute force attack performing an exhaustive key space search will always succeed, so the goal is to have computational security. Moore's law needs to be taken into account that suggests that computing resources double every eighteen months.", "id": "course-of-action--8ce2fd56-5e92-4999-b81d-697c7ddb5202", "modified": "2021-06-24T00:00:00.000Z", "name": "coa-20-1", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "course-of-action", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--24444738-98cb-4371-b7e9-aba1bd3d11ad", "modified": "2021-06-24T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--8ce2fd56-5e92-4999-b81d-697c7ddb5202", "spec_version": "2.1", "target_ref": "attack-pattern--86a5e931-7f53-46fe-b6f0-c88498f6557f", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "An attacker removes or disables filtering mechanisms on the target application. Input filters prevent invalid data from being sent to an application (for example, overly large inputs that might cause a buffer overflow or other malformed inputs that may not be correctly handled by an application). Input filters might also be designed to constrained executable content.", "external_references": [ { "external_id": "CAPEC-200", "source_name": "capec", "url": "https://capec.mitre.org/data/definitions/200.html" } ], "id": "attack-pattern--5c201b0f-aa6f-4220-a544-1e1e7ca8ecf7", "modified": "2022-02-22T00:00:00.000Z", "name": "Removal of filters: Input filters, output filters, data masking", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "attack-pattern", "x_capec_abstraction": "Detailed", "x_capec_child_of_refs": [ "attack-pattern--3c404955-b160-423f-b148-d4fa4727e3a9" ], "x_capec_domains": [ "Software" ], "x_capec_extended_description": "\n For example, if an application accepts scripting languages as input, an input filter could constrain the commands received and block those that the application's administrator deems to be overly powerful. An output filter screens responses from an application or person in order to prevent disclosure of sensitive information.\n For example, an application's output filter might block output that is sourced to sensitive folders or which contains certain keywords. A data mask is similar to an output filter, but usually applies to structured data, such as found in databases. Data masks elide or replace portions of the information returned from a query in order to protect against the disclosure of sensitive information. If an input filter is removed the attacker will be able to send content to the target and have the target utilize it without it being sanitized. If the content sent by the attacker is executable, the attacker may be able to execute arbitrary commands on the target. If an output filter or data masking mechanism is disabled, the target may send out sensitive information that would otherwise be elided by the filters. If the data mask is disabled, sensitive information stored in a database would be returned unaltered. This could result in the disclosure of sensitive information, such as social security numbers of payment records.\n This attack is usually executed as part of a larger attack series. The attacker would disable filters and would then mount additional attacks to either insert commands or data or query the target application in ways that would otherwise be prevented by the filters.\n ", "x_capec_prerequisites": [ "The target application must utilize some sort of filtering mechanism (input, output, or data masking)." ], "x_capec_resources_required": [ "None: No specialized resources are required to execute this type of attack." ], "x_capec_status": "Draft", "x_capec_typical_severity": "Medium", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "An adversary creates a serialized data file (e.g. XML, YAML, etc...) that contains an external data reference. Because serialized data parsers may not validate documents with external references, there may be no checks on the nature of the reference in the external data. This can allow an adversary to open arbitrary files or connections, which may further lead to the adversary gaining access to information on the system that they would normally be unable to obtain.", "external_references": [ { "external_id": "CAPEC-201", "source_name": "capec", "url": "https://capec.mitre.org/data/definitions/201.html" }, { "external_id": "CWE-829", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/829.html" }, { "description": "XXE (Xml eXternal Entity) Attack, Beyond Security", "external_id": "REF-73", "source_name": "reference_from_CAPEC", "url": "http://www.securiteam.com/securitynews/6D0100A5PU.html" }, { "description": "CESA-2007-002 - rev 2: Sun JDK6 breaks XXE attack protection", "external_id": "REF-74", "source_name": "reference_from_CAPEC", "url": "http://scary.beasts.org/security/CESA-2007-002.html" } ], "id": "attack-pattern--d9717514-c621-49cd-b8e1-fd7cc1daa8d1", "modified": "2022-09-29T00:00:00.000Z", "name": "Serialized Data External Linking", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "attack-pattern", "x_capec_abstraction": "Detailed", "x_capec_child_of_refs": [ "attack-pattern--fd669b7d-0e79-473c-9808-a860dfb0c871", "attack-pattern--b6f5248a-346f-484f-8091-8ab84288aa81" ], "x_capec_consequences": { "Confidentiality": [ "Read Data" ] }, "x_capec_domains": [ "Software", "Communications", "Software" ], "x_capec_example_instances": [ "\n The following DTD would attempt to open the /dev/tty device:\n ]>\n A malicious actor could use this crafted DTD to reveal sensitive information.\n ", "\n The following XML snippet would attempt to open the /etc/passwd file:\n \n " ], "x_capec_execution_flow": "

Execution Flow

Explore

  1. Survey the target: Using a browser or an automated tool, an adversary records all instances of web services that process requests with serialized data.

  2. Techniques
    Use an automated tool to record all instances of URLs that process requests with serialized data.
    Use a browser to manually explore the website and analyze how the application processes serialized data requests.

Exploit

  1. Craft malicious payload: The adversary crafts malicious data message that contains references to sensitive files.

  2. Launch an External Linking attack: Send the malicious crafted message containing the reference to a sensitive file to the target URL.

", "x_capec_likelihood_of_attack": "High", "x_capec_prerequisites": [ "The target must follow external data references without validating the validity of the reference target." ], "x_capec_resources_required": [ "None: No specialized resources are required to execute this type of attack." ], "x_capec_skills_required": { "Low": "To send serialized data messages with maliciously crafted schema." }, "x_capec_status": "Draft", "x_capec_typical_severity": "High", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "Configure the serialized data processor to only retrieve external entities from trusted sources.", "id": "course-of-action--5e577722-adf8-4c68-bfc3-18c7b2e3cd69", "modified": "2022-09-29T00:00:00.000Z", "name": "coa-201-0", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "course-of-action", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--6d8b8b0b-8f2d-4cfd-a9fa-dd14e071f340", "modified": "2022-09-29T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--5e577722-adf8-4c68-bfc3-18c7b2e3cd69", "spec_version": "2.1", "target_ref": "attack-pattern--d9717514-c621-49cd-b8e1-fd7cc1daa8d1", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "An adversary creates a client application to interface with a target service where the client violates assumptions the service makes about clients. Services that have designated client applications (as opposed to services that use general client applications, such as IMAP or POP mail servers which can interact with any IMAP or POP client) may assume that the client will follow specific procedures.", "external_references": [ { "external_id": "CAPEC-202", "source_name": "capec", "url": "https://capec.mitre.org/data/definitions/202.html" }, { "external_id": "CWE-602", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/602.html" } ], "id": "attack-pattern--158c1c58-9c44-4822-a8a4-6cb791c5b3cb", "modified": "2022-02-22T00:00:00.000Z", "name": "Create Malicious Client", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "attack-pattern", "x_capec_abstraction": "Standard", "x_capec_child_of_refs": [ "attack-pattern--1fa1539d-4a13-4453-bf43-ad0987b2fbf5" ], "x_capec_domains": [ "Software" ], "x_capec_extended_description": "\n For example, servers may assume that clients will accurately compute values (such as prices), will send correctly structured messages, and will attempt to ensure efficient interactions with the server. By reverse-engineering a client and creating their own version, an adversary can take advantage of these assumptions to abuse service functionality.\n For example, a purchasing service might send a unit price to its client and expect the client to correctly compute the total cost of a purchase. If the adversary uses a malicious client, however, the adversary could ignore the server input and declare any total price. Likewise, an adversary could configure the client to retain network or other server resources for longer than legitimately necessary in order to degrade server performance. Even services with general clients can be susceptible to this attack if they assume certain client behaviors. However, such services generally can make fewer assumptions about the behavior of their clients in the first place and, as such, are less likely to make assumptions that an adversary can exploit.\n ", "x_capec_prerequisites": [ "The targeted service must make assumptions about the behavior of the client application that interacts with it, which can be abused by an adversary." ], "x_capec_resources_required": [ "The adversary must be able to reverse engineer a client of the targeted service. However, the adversary does not need to reverse engineer all client functionality - they only need to recreate enough of the functionality to access the desired server functionality." ], "x_capec_status": "Draft", "x_capec_typical_severity": "Medium", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "An adversary exploits a weakness in authorization in order to modify content within a registry (e.g., Windows Registry, Mac plist, application registry). Editing registry information can permit the adversary to hide configuration information or remove indicators of compromise to cover up activity. Many applications utilize registries to store configuration and service information. As such, modification of registry information can affect individual services (affecting billing, authorization, or even allowing for identity spoofing) or the overall configuration of a targeted application. For example, both Java RMI and SOAP use registries to track available services. Changing registry values is sometimes a preliminary step towards completing another attack pattern, but given the long term usage of many registry values, manipulation of registry information could be its own end.", "external_references": [ { "external_id": "CAPEC-203", "source_name": "capec", "url": "https://capec.mitre.org/data/definitions/203.html" }, { "external_id": "CWE-15", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/15.html" }, { "description": "Modify Registry", "external_id": "T1112", "source_name": "ATTACK", "url": "https://attack.mitre.org/wiki/Technique/T1112" }, { "description": "Plist Modification", "external_id": "T1647", "source_name": "ATTACK", "url": "https://attack.mitre.org/wiki/Technique/T1647" } ], "id": "attack-pattern--e283aef8-250b-4ac9-bf8b-34a6a70ed2f4", "modified": "2022-09-29T00:00:00.000Z", "name": "Manipulate Registry Information", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "attack-pattern", "x_capec_abstraction": "Standard", "x_capec_child_of_refs": [ "attack-pattern--f9f65fdd-5857-4a57-a725-066465397601" ], "x_capec_domains": [ "Software" ], "x_capec_example_instances": [ "Manipulating registration information can be undertaken in advance of a path traversal attack (inserting relative path modifiers) or buffer overflow attack (enlarging a registry value beyond an application's ability to store it)." ], "x_capec_parent_of_refs": [ "attack-pattern--c8c9dfbe-7a40-4041-84ff-89942878a2f4", "attack-pattern--93bedd5b-70cc-48a0-a7c9-09b3800bd6bc", "attack-pattern--943fa8f4-b777-4f3c-984b-9f620e50c70b" ], "x_capec_prerequisites": [ "The targeted application must rely on values stored in a registry.", "The adversary must have a means of elevating permissions in order to access and modify registry content through either administrator privileges (e.g., credentialed access), or a remote access tool capable of editing a registry through an API." ], "x_capec_resources_required": [ "None: No specialized resources are required to execute this type of attack." ], "x_capec_skills_required": { "High": "The adversary requires privileged credentials or the development/acquiring of a tailored remote access tool." }, "x_capec_status": "Stable", "x_capec_typical_severity": "Medium", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "Ensure proper permissions are set for Registry hives to prevent users from modifying keys.", "id": "course-of-action--ffb43c3c-114d-4da2-b797-b8e458ebd6fa", "modified": "2022-09-29T00:00:00.000Z", "name": "coa-203-0", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "course-of-action", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--cc7d659b-2cb2-439c-aea4-42aea4f82adc", "modified": "2022-09-29T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--ffb43c3c-114d-4da2-b797-b8e458ebd6fa", "spec_version": "2.1", "target_ref": "attack-pattern--e283aef8-250b-4ac9-bf8b-34a6a70ed2f4", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "Employ a robust and layered defensive posture in order to prevent unauthorized users on your system.", "id": "course-of-action--9c745fa6-97fd-4aa7-830c-2522e1df5ea6", "modified": "2022-09-29T00:00:00.000Z", "name": "coa-203-1", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "course-of-action", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--999b1481-d5c3-444d-8eed-b7f921aa8bdf", "modified": "2022-09-29T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--9c745fa6-97fd-4aa7-830c-2522e1df5ea6", "spec_version": "2.1", "target_ref": "attack-pattern--e283aef8-250b-4ac9-bf8b-34a6a70ed2f4", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "Employ robust identification and audit/blocking using an allowlist of applications on your system. Unnecessary applications, utilities, and configurations will have a presence in the system registry that can be leveraged by an adversary through this attack pattern.", "id": "course-of-action--2966a770-a439-475c-8cc1-418b64736efe", "modified": "2022-09-29T00:00:00.000Z", "name": "coa-203-2", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "course-of-action", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--90f1e2e6-849c-4469-b78d-75ed3dfe70e3", "modified": "2022-09-29T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--2966a770-a439-475c-8cc1-418b64736efe", "spec_version": "2.1", "target_ref": "attack-pattern--e283aef8-250b-4ac9-bf8b-34a6a70ed2f4", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "An adversary examines a target application's cache, or a browser cache, for sensitive information. Many applications that communicate with remote entities or which perform intensive calculations utilize caches to improve efficiency. However, if the application computes or receives sensitive information and the cache is not appropriately protected, an attacker can browse the cache and retrieve this information. This can result in the disclosure of sensitive information.", "external_references": [ { "external_id": "CAPEC-204", "source_name": "capec", "url": "https://capec.mitre.org/data/definitions/204.html" }, { "external_id": "CWE-524", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/524.html" }, { "external_id": "CWE-311", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/311.html" }, { "external_id": "CWE-1239", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/1239.html" }, { "external_id": "CWE-1258", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/1258.html" }, { "description": "Data from Local System", "external_id": "T1005", "source_name": "ATTACK", "url": "https://attack.mitre.org/wiki/Technique/T1005" } ], "id": "attack-pattern--c2a87533-3c81-40b3-b529-9560c644f70d", "modified": "2022-09-29T00:00:00.000Z", "name": "Lifting Sensitive Data Embedded in Cache", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "attack-pattern", "x_capec_abstraction": "Detailed", "x_capec_can_precede_refs": [ "attack-pattern--886a7175-e28a-4e6d-bd22-3b1497e31dc7" ], "x_capec_child_of_refs": [ "attack-pattern--d17eb5a5-1361-4e13-a969-e4d587d13b3d" ], "x_capec_domains": [ "Software", "Physical Security", "Hardware" ], "x_capec_execution_flow": "

Execution Flow

Explore

  1. Identify Application Cache: An adversary first identifies an application that utilizes a cache. This could either be a web application storing data in a browser cache, or an application running on a separate machine. The adversary examines the cache to determine file permissions and possible encryption.

  2. Techniques
    Use probing tools to look for application cache files on a machine.
    Use a web application and determine if any sensitive information is stored in browser cache.

Experiment

  1. Attempt to Access Cache: Once the cache has been discovered, the adversary attempts to access the cached data. This often requires previous access to a machine hosting the target application.

  2. Techniques
    Use priviledge escalation to access cache files that might have strict privileges.
    If the application cache is encrypted with weak encryption, attempt to understand the encryption technique and break the encryption.

Exploit

  1. Lift Sensitive Data from Cache: After gaining access to cached data, an adversary looks for potentially sensitive information and stores it for malicious use. This sensitive data could possibly be used in follow-up attacks related to authentication or authorization.

  2. Techniques
    Using a public computer, or gaining access to a victim's computer, examine browser cache to look for sensitive data left over from previous sessions.
", "x_capec_prerequisites": [ "The target application must store sensitive information in a cache.", "The cache must be inadequately protected against attacker access." ], "x_capec_resources_required": [ "The attacker must be able to reach the target application's cache. This may require prior access to the machine on which the target application runs. If the cache is encrypted, the attacker would need sufficient computational resources to crack the encryption. With strong encryption schemes, doing this could be intractable, but weaker encryption schemes could allow an attacker with sufficient resources to read the file." ], "x_capec_status": "Draft", "x_capec_typical_severity": "Medium", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "This attack pattern has been deprecated as it is a duplicate of CAPEC-37 : Retrieve Embedded Sensitive Data. Please refer to this other pattern going forward.", "external_references": [ { "external_id": "CAPEC-205", "source_name": "capec", "url": "https://capec.mitre.org/data/definitions/205.html" } ], "id": "attack-pattern--1d84e8ef-4dc7-45bb-b079-09a0a6233bf9", "modified": "2017-05-01T00:00:00.000Z", "name": "DEPRECATED: Lifting credential(s)/key material embedded in client distributions (thick or thin)", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "attack-pattern", "x_capec_abstraction": "Detailed", "x_capec_status": "Deprecated", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "The adversary extracts credentials used for code signing from a production environment and then uses these credentials to sign malicious content with the developer's key. Many developers use signing keys to sign code or hashes of code. When users or applications verify the signatures are accurate they are led to believe that the code came from the owner of the signing key and that the code has not been modified since the signature was applied. If the adversary has extracted the signing credentials then they can use those credentials to sign their own code bundles. Users or tools that verify the signatures attached to the code will likely assume the code came from the legitimate developer and install or run the code, effectively allowing the adversary to execute arbitrary code on the victim's computer. This differs from CAPEC-673, because the adversary is performing the code signing.", "external_references": [ { "external_id": "CAPEC-206", "source_name": "capec", "url": "https://capec.mitre.org/data/definitions/206.html" }, { "external_id": "CWE-732", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/732.html" }, { "description": "Subvert Trust Controls:Code Signing", "external_id": "T1553.002", "source_name": "ATTACK", "url": "https://attack.mitre.org/wiki/Technique/T1553/002" }, { "description": "Nicolas Falliere, Liam O Murchu, Eric Chien, W32.Stuxnet Dossier, 2010--11, Symantec", "external_id": "REF-699", "source_name": "reference_from_CAPEC", "url": "https://www.wired.com/images_blogs/threatlevel/2010/11/w32_stuxnet_dossier.pdf" }, { "description": "Cristin Goodwin, Joram Borenstein, Guarding against supply chain attacks—Part 3: How software becomes compromised, 2020--03---11, Microsoft", "external_id": "REF-700", "source_name": "reference_from_CAPEC", "url": "https://www.microsoft.com/security/blog/2020/03/11/guarding-against-supply-chain-attacks-part-3-how-software-becomes-compromised/" }, { "description": "Operation Wilted Tulip: Exposing a cyber espionage apparatus, 2017--07, ClearSky cyber security and Trend Micro", "external_id": "REF-714", "source_name": "reference_from_CAPEC", "url": "https://www.clearskysec.com/wp-content/uploads/2017/07/Operation_Wilted_Tulip.pdf" } ], "id": "attack-pattern--3c71639a-ebbd-43a4-8d0d-8a0e4cf9ade3", "modified": "2022-02-22T00:00:00.000Z", "name": "Signing Malicious Code", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "attack-pattern", "x_capec_abstraction": "Detailed", "x_capec_child_of_refs": [ "attack-pattern--efb74200-657d-438c-aaff-bbd9644dd72d" ], "x_capec_domains": [ "Supply Chain", "Software" ], "x_capec_example_instances": [ "\n In the famous Stuxnet malware incident, two digital certificates were compromised in order to sign malicious device drivers with legitimate credentials. The signing resulted in the malware appearing as trusted by the system it was running on, which facilitated the installation of the malware in kernel mode. This further resulted in Stuxnet remaining undetected for a significant amount of time. [REF-699]\n ", "\n The cyber espionage group CyberKittens leveraged a stolen certificate from AI Squared that allowed them to leverage a signed executable within Operation Wilted Tulip. This ultimately allowed the executable to run as trusted on the system, allowing a Crowd Strike stager to be loaded within the system's memory. [REF-714]\n " ], "x_capec_execution_flow": "

Execution Flow

Explore

  1. The adversary first attempts to obtain a digital certificate in order to sign their malware or tools. This certificate could be stolen, created by the adversary, or acquired normally through a certificate authority.

  2. Based on the type of certificate obtained, the adversary will create a goal for their attack. This is either a broad or targeted attack. If an adversary was able to steal a certificate from a targeted organization, they could target this organization by pretending to have legitimate code signed by them. In other cases, the adversary would simply sign their malware and pose as legitimate software such that any user might trust it. This is the more broad approach

Experiment

  1. The adversary creates their malware and signs it with the obtained digital certificate. The adversary then checks if the code that they signed is valid either through downloading from the targeted source or testing locally.

Exploit

  1. Once the malware has been signed, it is then deployed to the desired location. They wait for a trusting user to run their malware, thinking that it is legitimate software. This malware could do a variety of things based on the motivation of the adversary.

", "x_capec_prerequisites": [ "The targeted developer must use a signing key to sign code bundles. (Note that not doing this is not a defense - it only means that the adversary does not need to steal the signing key before forging code bundles in the developer's name.)" ], "x_capec_resources_required": [ "None: No specialized resources are required to execute this type of attack." ], "x_capec_status": "Draft", "x_capec_typical_severity": "Very High", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "Ensure digital certificates are protected and inaccessible by unauthorized uses.", "id": "course-of-action--ba7d1dc7-1157-4e70-bd60-0ffc00081dbb", "modified": "2022-02-22T00:00:00.000Z", "name": "coa-206-0", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "course-of-action", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--9f7392ae-c45b-49fa-9355-c5319538ccd6", "modified": "2022-02-22T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--ba7d1dc7-1157-4e70-bd60-0ffc00081dbb", "spec_version": "2.1", "target_ref": "attack-pattern--3c71639a-ebbd-43a4-8d0d-8a0e4cf9ade3", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "If a digital certificate has been compromised it should be revoked and regenerated.", "id": "course-of-action--55870da4-61f0-486d-8c7e-a97282372d45", "modified": "2022-02-22T00:00:00.000Z", "name": "coa-206-1", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "course-of-action", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--5c4654c1-b126-432b-9cd3-6dcbe787801b", "modified": "2022-02-22T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--55870da4-61f0-486d-8c7e-a97282372d45", "spec_version": "2.1", "target_ref": "attack-pattern--3c71639a-ebbd-43a4-8d0d-8a0e4cf9ade3", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "Even if a piece of software has a valid and trusted digital signature, it should be assessed for any weaknesses and vulnerabilities.", "id": "course-of-action--9d35e87c-32b7-43a8-b58b-befcae839597", "modified": "2022-02-22T00:00:00.000Z", "name": "coa-206-2", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "course-of-action", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--44707875-683c-4f12-b340-14848083ceec", "modified": "2022-02-22T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--9d35e87c-32b7-43a8-b58b-befcae839597", "spec_version": "2.1", "target_ref": "attack-pattern--3c71639a-ebbd-43a4-8d0d-8a0e4cf9ade3", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "An adversary removes or disables functionality on the client that the server assumes to be present and trustworthy.", "external_references": [ { "external_id": "CAPEC-207", "source_name": "capec", "url": "https://capec.mitre.org/data/definitions/207.html" }, { "external_id": "CWE-602", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/602.html" }, { "description": "Wikipedia, The Wikimedia Foundation, Inc", "external_id": "REF-75", "source_name": "reference_from_CAPEC", "url": "http://en.wikipedia.org/wiki/Greasemonkey" }, { "description": "Firebug", "external_id": "REF-76", "source_name": "reference_from_CAPEC", "url": "http://getfirebug.com/" }, { "description": "Mozilla Firefox Add-ons", "external_id": "REF-77", "source_name": "reference_from_CAPEC", "url": "https://addons.mozilla.org/en-US/firefox/addon/greasemonkey/" } ], "id": "attack-pattern--3c404955-b160-423f-b148-d4fa4727e3a9", "modified": "2023-01-24T00:00:00.000Z", "name": "Removing Important Client Functionality", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "attack-pattern", "x_capec_abstraction": "Standard", "x_capec_child_of_refs": [ "attack-pattern--1fa1539d-4a13-4453-bf43-ad0987b2fbf5" ], "x_capec_consequences": { "Access_Control": [ "Bypass Protection Mechanism" ], "Accountability": [ "Gain Privileges" ], "Authentication": [ "Gain Privileges" ], "Authorization": [ "Gain Privileges", "Bypass Protection Mechanism" ], "Confidentiality": [ "Other (Information Leakage)", "Read Data" ], "Integrity": [ "Modify Data" ], "Non-Repudiation": [ "Gain Privileges" ] }, "x_capec_domains": [ "Software" ], "x_capec_example_instances": [ "The adversary reverse engineers a Java binary (by decompiling it) and identifies where license management code exists. Noticing that the license manager returns TRUE or FALSE as to whether or not the user is licensed, the adversary simply overwrites both branch targets to return TRUE, recompiles, and finally redeploys the binary.", "The adversary uses click-through exploration of a Servlet-based website to map out its functionality, taking note of its URL-naming conventions and Servlet mappings. Using this knowledge and guessing the Servlet name of functionality they're not authorized to use, the adversary directly navigates to the privileged functionality around the authorizing single-front controller (implementing programmatic authorization checks)." ], "x_capec_execution_flow": "

Execution Flow

Explore

  1. Probing: The adversary probes, through brute-forcing, reverse-engineering or other similar means, the functionality on the client that server assumes to be present and trustworthy.

  2. Techniques
    The adversary probes by exploring an application's functionality and its underlying mapping to server-side components.
    The adversary reverse engineers client-side code to identify the functionality that the server relies on for the proper or secure operation.

Experiment

  1. Determine which functionality to disable or remove: The adversary tries to determine which functionality to disable or remove through reverse-engineering from the list of functionality identified in the Explore phase.

  2. Techniques
    The adversary reverse engineers the client-side code to determine which functionality to disable or remove.

Exploit

  1. Disable or remove the critical functionality from the client code: Once the functionality has been determined, the adversary disables or removes the critical functionality from the client code to perform malicious actions that the server believes are prohibited.

  2. Techniques
    The adversary disables or removes the functionality from the client-side code to perform malicious actions, such as sending of dangerous content (such as scripts) to the server.
", "x_capec_extended_description": "\n Adversaries can, in some cases, get around logic put in place to 'guard' sensitive functionality or data. Client applications may include functionality that a server relies on for correct and secure operation. This functionality can include, but is not limited to, filters to prevent the sending of dangerous content to the server, logical functionality such as price calculations, and authentication logic to ensure that only authorized users are utilizing the client. If an adversary can disable this functionality on the client, they can perform actions that the server believes are prohibited. This can result in client behavior that violates assumptions by the server leading to a variety of possible attacks. In the above examples, this could include the sending of dangerous content (such as scripts) to the server, incorrect price calculations, or unauthorized access to server resources.\n ", "x_capec_likelihood_of_attack": "Medium", "x_capec_parent_of_refs": [ "attack-pattern--5c201b0f-aa6f-4220-a544-1e1e7ca8ecf7", "attack-pattern--014e5fc2-7564-4775-94aa-220601522b05" ], "x_capec_prerequisites": [ "The targeted server must assume the client performs important actions to protect the server or the server functionality. For example, the server may assume the client filters outbound traffic or that the client performs all price calculations correctly. Moreover, the server must fail to detect when these assumptions are violated by a client." ], "x_capec_resources_required": [ "The adversary must have access to a client and be able to modify the client behavior, often through reverse engineering. If the server is assuming specific client functionality, this usually means the server only recognizes a specific client application, rather than a broad class of client applications. Reverse engineering tools would likely be necessary." ], "x_capec_skills_required": { "High": "To reverse engineer the client-side code to disable/remove the functionality on the client that the server relies on.", "Low": "The adversary installs a web tool that allows scripts or the DOM model of web-based applications to be modified before they are executed in a browser. GreaseMonkey and Firebug are two examples of such tools." }, "x_capec_status": "Draft", "x_capec_typical_severity": "High", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "Design: For any security checks that are performed on the client side, ensure that these checks are duplicated on the server side.", "id": "course-of-action--5b0a3ddb-6d63-403e-8f60-bf821f6b65fe", "modified": "2023-01-24T00:00:00.000Z", "name": "coa-207-0", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "course-of-action", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--c5ee791d-5a7a-424b-8425-74c45b4c310e", "modified": "2023-01-24T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--5b0a3ddb-6d63-403e-8f60-bf821f6b65fe", "spec_version": "2.1", "target_ref": "attack-pattern--3c404955-b160-423f-b148-d4fa4727e3a9", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "Design: Ship client-side application with integrity checks (code signing) when possible.", "id": "course-of-action--a354ac27-1c18-44cc-bff5-3b97838a8a13", "modified": "2023-01-24T00:00:00.000Z", "name": "coa-207-1", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "course-of-action", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--bc683ec3-bdbd-4f4b-9388-34935ef7440e", "modified": "2023-01-24T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--a354ac27-1c18-44cc-bff5-3b97838a8a13", "spec_version": "2.1", "target_ref": "attack-pattern--3c404955-b160-423f-b148-d4fa4727e3a9", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "Design: Use obfuscation and other techniques to prevent reverse engineering the client code.", "id": "course-of-action--3ccd2b17-b570-40d7-967b-b16308019cdb", "modified": "2023-01-24T00:00:00.000Z", "name": "coa-207-2", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "course-of-action", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--471fb693-94a4-42fa-a5d0-f5f7f15c36a9", "modified": "2023-01-24T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--3ccd2b17-b570-40d7-967b-b16308019cdb", "spec_version": "2.1", "target_ref": "attack-pattern--3c404955-b160-423f-b148-d4fa4727e3a9", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "An attacker removes or modifies the logic on a client associated with monetary calculations resulting in incorrect information being sent to the server. A server may rely on a client to correctly compute monetary information. For example, a server might supply a price for an item and then rely on the client to correctly compute the total cost of a purchase given the number of items the user is buying. If the attacker can remove or modify the logic that controls these calculations, they can return incorrect values to the server. The attacker can use this to make purchases for a fraction of the legitimate cost or otherwise avoid correct billing for activities.", "external_references": [ { "external_id": "CAPEC-208", "source_name": "capec", "url": "https://capec.mitre.org/data/definitions/208.html" }, { "external_id": "CWE-602", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/602.html" } ], "id": "attack-pattern--014e5fc2-7564-4775-94aa-220601522b05", "modified": "2017-08-04T00:00:00.000Z", "name": "Removing/short-circuiting 'Purse' logic: removing/mutating 'cash' decrements", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "attack-pattern", "x_capec_abstraction": "Detailed", "x_capec_child_of_refs": [ "attack-pattern--3c404955-b160-423f-b148-d4fa4727e3a9" ], "x_capec_domains": [ "Software" ], "x_capec_prerequisites": [ "The targeted server must rely on the client to correctly perform monetary calculations and must fail to detect errors in these calculations." ], "x_capec_resources_required": [ "The attacker must have access to the client for the targeted service (this step is trivial for most web-based services). The attacker must also be able to reverse engineer the client in order to locate and modify the client's purse logic. Reverse engineering tools would be necessary for this." ], "x_capec_status": "Draft", "x_capec_typical_severity": "Medium", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "An adversary creates a file with scripting content but where the specified MIME type of the file is such that scripting is not expected. The adversary tricks the victim into accessing a URL that responds with the script file. Some browsers will detect that the specified MIME type of the file does not match the actual type of its content and will automatically switch to using an interpreter for the real content type. If the browser does not invoke script filters before doing this, the adversary's script may run on the target unsanitized, possibly revealing the victim's cookies or executing arbitrary script in their browser.", "external_references": [ { "external_id": "CAPEC-209", "source_name": "capec", "url": "https://capec.mitre.org/data/definitions/209.html" }, { "external_id": "CWE-79", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/79.html" }, { "external_id": "CWE-20", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/20.html" }, { "external_id": "CWE-646", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/646.html" }, { "description": "OWASP Testing Guide (v4), The Open Web Application Security Project (OWASP)", "external_id": "REF-78", "source_name": "reference_from_CAPEC", "url": "http://www.owasp.org/index.php/Testing_for_Stored_Cross_site_scripting_(OWASP-DV-002)" } ], "id": "attack-pattern--b27e3b46-2838-4339-a570-006474c8c402", "modified": "2022-02-22T00:00:00.000Z", "name": "XSS Using MIME Type Mismatch", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "attack-pattern", "x_capec_abstraction": "Detailed", "x_capec_child_of_refs": [ "attack-pattern--800f8095-99b6-4bb9-8bc6-8b9727201a2f" ], "x_capec_domains": [ "Software" ], "x_capec_example_instances": [ "For example, the MIME type text/plain may be used where the actual content is text/javascript or text/html. Since text does not contain scripting instructions, the stated MIME type would indicate that filtering is unnecessary. However, if the target application subsequently determines the file's real type and invokes the appropriate interpreter, scripted content could be invoked.", "In another example, img tags in HTML content could reference a renderable type file instead of an expected image file. The file extension and MIME type can describe an image file, but the file content can be text/javascript or text/html resulting in script execution. If the browser assumes all references in img tags are images, and therefore do not need to be filtered for scripts, this would bypass content filters." ], "x_capec_execution_flow": "

Execution Flow

Explore

  1. Survey the application for stored user-controllable inputs: Using a browser or an automated tool, an adversary follows all public links and actions on a web site. They record all areas that allow a user to upload content through an HTTP POST request. This is typically found in blogs or forums.

  2. Techniques
    Use a spidering tool to follow and record all links and analyze the web pages to file upload features
    Use a proxy tool to record all links visited during a manual traversal of the web application.
    Use a browser to manually explore the website and analyze how it is constructed. Many browsers' plugins are available to facilitate the analysis or automate the discovery.

Experiment

  1. Probe identified potential entry points for MIME type mismatch: The adversary uses the entry points gathered in the \"Explore\" phase as a target list and uploads files with scripting content, but whose MIME type is specified as a file type that cannot execute scripting content. If the application only checks the MIME type of the file, it may let the file through, causing the script to be executed by any user who accesses the file.

  2. Techniques
    Upload a script file with a MIME type of text/plain to a forum and then access the uploaded file to see if the script is executed. If possible, the script displays a unique identifier so the adversary knows for certain it was executed when testing.
  3. Store malicious XSS content: Once the adversary has determined which file upload locations are vulnerable to MIME type mismatch, they will upload a malicious script disguised as a non scripting file. The adversary can have many goals, from stealing session IDs, cookies, credentials, and page content from a victim.

  4. Techniques
    Use a tool such as BeEF to store a hook into the web application. This will alert the adversary when the victim has accessed the content and will give the adversary control over the victim's browser, allowing them access to cookies, user screenshot, user clipboard, and more complex XSS attacks.

Exploit

  1. Get victim to view stored content: In order for the attack to be successful, the victim needs to view the stored malicious content on the webpage.

  2. Techniques
    Send a phishing email to the victim containing a URL that will direct them to the malicious stored content.
    Simply wait for a victim to view the content. This is viable in situations where content is posted to a popular public forum.
", "x_capec_prerequisites": [ "The victim must follow a crafted link that references a scripting file that is mis-typed as a non-executable file.", "The victim's browser must detect the true type of a mis-labeled scripting file and invoke the appropriate script interpreter without first performing filtering on the content." ], "x_capec_resources_required": [ "The adversary must have the ability to source the file of the incorrect MIME type containing a script." ], "x_capec_status": "Draft", "x_capec_typical_severity": "Medium", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "\n An adversary guesses, obtains, or \"rides\" a trusted identifier (e.g. session ID, resource ID, cookie, etc.) to perform authorized actions under the guise of an authenticated user or service.\n ", "external_references": [ { "external_id": "CAPEC-21", "source_name": "capec", "url": "https://capec.mitre.org/data/definitions/21.html" }, { "external_id": "CWE-290", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/290.html" }, { "external_id": "CWE-302", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/302.html" }, { "external_id": "CWE-346", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/346.html" }, { "external_id": "CWE-539", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/539.html" }, { "external_id": "CWE-6", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/6.html" }, { "external_id": "CWE-384", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/384.html" }, { "external_id": "CWE-664", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/664.html" }, { "external_id": "CWE-602", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/602.html" }, { "external_id": "CWE-642", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/642.html" }, { "description": "Access Token Manipulation", "external_id": "T1134", "source_name": "ATTACK", "url": "https://attack.mitre.org/wiki/Technique/T1134" }, { "description": "Steal Application Access Token", "external_id": "T1528", "source_name": "ATTACK", "url": "https://attack.mitre.org/wiki/Technique/T1528" }, { "description": "Steal Web Session Cookie", "external_id": "T1539", "source_name": "ATTACK", "url": "https://attack.mitre.org/wiki/Technique/T1539" }, { "description": "G. Hoglund, G. McGraw, Exploiting Software: How to Break Code, 2004--02, Addison-Wesley", "external_id": "REF-1", "source_name": "reference_from_CAPEC" } ], "id": "attack-pattern--2351ee64-dd85-4bc3-bb43-aaa2ca5c1228", "modified": "2022-09-29T00:00:00.000Z", "name": "Exploitation of Trusted Identifiers", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "attack-pattern", "x_capec_abstraction": "Meta", "x_capec_consequences": { "Access_Control": [ "Gain Privileges" ], "Authentication": [ "Gain Privileges" ], "Confidentiality": [ "Gain Privileges", "Read Data" ], "Integrity": [ "Modify Data" ] }, "x_capec_domains": [ "Software" ], "x_capec_example_instances": [ "\n Thin client applications like web applications are particularly vulnerable to session ID attacks. Since the server has very little control over the client, but still must track sessions, data, and objects on the server side, cookies and other mechanisms have been used to pass the key to the session data between the client and server. When these session keys are compromised it is trivial for an adversary to impersonate a user's session in effect, have the same capabilities as the authorized user. There are two main ways for an adversary to exploit session IDs.\n A brute force attack involves an adversary repeatedly attempting to query the system with a spoofed session header in the HTTP request. A web server that uses a short session ID can be easily spoofed by trying many possible combinations so the parameters session-ID= 1234 has few possible combinations, and an adversary can retry several hundred or thousand request with little to no issue on their side.\n The second method is interception, where a tool such as wireshark is used to sniff the wire and pull off any unprotected session identifiers. The adversary can then use these variables and access the application.\n ", "For example, in a message queuing system that allows service requesters to post messages to its queue through an open channel (such as anonymous FTP), authorization is done through checking group or role membership contained in the posted message. However, there is no proof that the message itself, the information in the message (such group or role membership), or the process that wrote the message to the queue is authentic and authorized to do so." ], "x_capec_execution_flow": "

Execution Flow

Explore

  1. Survey the application for Indicators of Susceptibility: Using a variety of methods, until one is found that applies to the target, the adversary probes for cookies, session tokens, or entry points that bypass identifiers altogether.

  2. Techniques
    Spider all available pages
    Attack known bad interfaces
    Search outward-facing configuration and properties files for identifiers.

Experiment

  1. Fetch samples: The adversary fetches many samples of identifiers. This may be through legitimate access (logging in, legitimate connections, etc.) or via systematic probing.

  2. Techniques
    An adversary makes many anonymous connections and records the session IDs assigned.
    An adversary makes authorized connections and records the session tokens or credentials issued.
    An adversary gains access to (legitimately or illegitimately) a nearby system (e.g., in the same operations network, DMZ, or local network) and makes a connection from it, attempting to gain the same privileges as a trusted system.

Exploit

  1. Impersonate: An adversary can use successful experiments or authentications to impersonate an authorized user or system or to laterally move within a system or application

  2. Spoofing: Malicious data can be injected into the target system or into a victim user's system by an adversary. The adversary can also pose as a legitimate user to perform social engineering attacks.

  3. Data Exfiltration: The adversary can obtain sensitive data contained within the system or application.

", "x_capec_extended_description": "\n Attacks leveraging trusted identifiers typically result in the adversary laterally moving within the local network, since users are often allowed to authenticate to systems/applications within the network using the same identifier. This allows the adversary to obtain sensitive data, download/install malware on the system, pose as a legitimate user for social engineering purposes, and more.\n Attacks on trusted identifiers take advantage of the fact that some software accepts user input without verifying its authenticity. Many server side processes are vulnerable to these attacks because the server to server communications have not been analyzed from a security perspective or the processes \"trust\" other systems because they are behind a firewall. Similarly, servers that use easy to guess or spoofable schemes for representing digital identity can also be vulnerable. Such systems frequently use schemes without cryptography and digital signatures (or with broken cryptography). Identifiers may be guessed or obtained due to insufficient randomness, poor protection (passed/stored in the clear), lack of integrity (unsigned), or improper correlation with access control policy enforcement points. Exposed configuration and properties files that contain sensitive data may additionally provide an adversary with the information needed to obtain these identifiers. An adversary may also \"ride\" an identifier via a malicious link, as is the case in Cross Site Request Forgery (CSRF) attacks.\n Regardless of the attack vector, successful spoofing and impersonation of trusted credentials can lead to an adversary breaking authentication, authorization, and audit controls with the target system or application.\n ", "x_capec_likelihood_of_attack": "High", "x_capec_parent_of_refs": [ "attack-pattern--414d0884-4f46-4a51-b4ea-72125c7f5f9e", "attack-pattern--56b4150a-10fd-42cd-85ff-1063625ec5f4", "attack-pattern--63f43efb-7a34-4302-b3dc-8245100fdea9", "attack-pattern--0939f361-ea31-454b-ae3d-4af2411b756d" ], "x_capec_prerequisites": [ "Server software must rely on weak identifier proof and/or verification schemes.", "Identifiers must have long lifetimes and potential for reusability.", "Server software must allow concurrent sessions to exist." ], "x_capec_resources_required": [ "Ability to deploy software on network.", "Ability to communicate synchronously or asynchronously with server." ], "x_capec_skills_required": { "Low": "To achieve a direct connection with the weak or non-existent server session access control, and pose as an authorized user" }, "x_capec_status": "Stable", "x_capec_typical_severity": "High", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "Design: utilize strong federated identity such as SAML to encrypt and sign identity tokens in transit.", "id": "course-of-action--de3ee34b-075a-4ee0-8aee-606adc412d09", "modified": "2022-09-29T00:00:00.000Z", "name": "coa-21-0", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "course-of-action", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--f9eaa515-4e04-4e48-a95a-a5cc76d3fae0", "modified": "2022-09-29T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--de3ee34b-075a-4ee0-8aee-606adc412d09", "spec_version": "2.1", "target_ref": "attack-pattern--2351ee64-dd85-4bc3-bb43-aaa2ca5c1228", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "Implementation: Use industry standards session key generation mechanisms that utilize high amount of entropy to generate the session key. Many standard web and application servers will perform this task on your behalf.", "id": "course-of-action--1b5eb714-1670-4a73-8ca3-0de95cf15371", "modified": "2022-09-29T00:00:00.000Z", "name": "coa-21-1", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "course-of-action", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--65db9cb6-fc43-4034-b579-eb165dd5e4cb", "modified": "2022-09-29T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--1b5eb714-1670-4a73-8ca3-0de95cf15371", "spec_version": "2.1", "target_ref": "attack-pattern--2351ee64-dd85-4bc3-bb43-aaa2ca5c1228", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "Implementation: If the identifier is used for authentication, such as in the so-called single sign on use cases, then ensure that it is protected at the same level of assurance as authentication tokens.", "id": "course-of-action--718ea228-55ed-4373-b43f-e69084b06529", "modified": "2022-09-29T00:00:00.000Z", "name": "coa-21-2", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "course-of-action", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--e264f74e-3bd0-46ab-bd67-3526a6e9d54f", "modified": "2022-09-29T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--718ea228-55ed-4373-b43f-e69084b06529", "spec_version": "2.1", "target_ref": "attack-pattern--2351ee64-dd85-4bc3-bb43-aaa2ca5c1228", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "Implementation: If the web or application server supports it, then encrypting and/or signing the identifier (such as cookie) can protect the ID if intercepted.", "id": "course-of-action--c1ce77d8-271a-4727-aafa-d0dad619d017", "modified": "2022-09-29T00:00:00.000Z", "name": "coa-21-3", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "course-of-action", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--12007caf-e1d7-492f-a685-f88c073bccb6", "modified": "2022-09-29T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--c1ce77d8-271a-4727-aafa-d0dad619d017", "spec_version": "2.1", "target_ref": "attack-pattern--2351ee64-dd85-4bc3-bb43-aaa2ca5c1228", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "Design: Use strong session identifiers that are protected in transit and at rest.", "id": "course-of-action--a69d842f-709a-472e-a3e3-233815725789", "modified": "2022-09-29T00:00:00.000Z", "name": "coa-21-4", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "course-of-action", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--5a4a61eb-f51c-417d-88d8-2417fea9f0a4", "modified": "2022-09-29T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--a69d842f-709a-472e-a3e3-233815725789", "spec_version": "2.1", "target_ref": "attack-pattern--2351ee64-dd85-4bc3-bb43-aaa2ca5c1228", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "Implementation: Utilize a session timeout for all sessions, for example 20 minutes. If the user does not explicitly logout, the server terminates their session after this period of inactivity. If the user logs back in then a new session key is generated.", "id": "course-of-action--e5ebd596-622e-4395-b338-85a54ce00b34", "modified": "2022-09-29T00:00:00.000Z", "name": "coa-21-5", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "course-of-action", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--7c05cd2c-a62f-42aa-b4f2-db68b48a7d78", "modified": "2022-09-29T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--e5ebd596-622e-4395-b338-85a54ce00b34", "spec_version": "2.1", "target_ref": "attack-pattern--2351ee64-dd85-4bc3-bb43-aaa2ca5c1228", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "Implementation: Verify authenticity of all identifiers at runtime.", "id": "course-of-action--3daed4ec-09d3-48c0-ac50-b37755e9928c", "modified": "2022-09-29T00:00:00.000Z", "name": "coa-21-6", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "course-of-action", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--4a9103ab-a9ea-40f7-9a9c-2789bebcf094", "modified": "2022-09-29T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--3daed4ec-09d3-48c0-ac50-b37755e9928c", "spec_version": "2.1", "target_ref": "attack-pattern--2351ee64-dd85-4bc3-bb43-aaa2ca5c1228", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "This attack pattern has been deprecated as it was deemed not to be a legitimate attack pattern.", "external_references": [ { "external_id": "CAPEC-211", "source_name": "capec", "url": "https://capec.mitre.org/data/definitions/211.html" } ], "id": "attack-pattern--2f50c4ba-bba9-456b-8fc3-7a551ed4c65f", "modified": "2018-07-31T00:00:00.000Z", "name": "DEPRECATED: Leveraging web tools (e.g. Mozilla's GreaseMonkey, Firebug) to change application behavior", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "attack-pattern", "x_capec_abstraction": "Detailed", "x_capec_status": "Deprecated", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "An adversary leverages a legitimate capability of an application in such a way as to achieve a negative technical impact. The system functionality is not altered or modified but used in a way that was not intended. This is often accomplished through the overuse of a specific functionality or by leveraging functionality with design flaws that enables the adversary to gain access to unauthorized, sensitive data.", "external_references": [ { "external_id": "CAPEC-212", "source_name": "capec", "url": "https://capec.mitre.org/data/definitions/212.html" }, { "external_id": "CWE-1242", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/1242.html" }, { "external_id": "CWE-1246", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/1246.html" }, { "external_id": "CWE-1281", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/1281.html" } ], "id": "attack-pattern--c727c058-2c9d-4021-a1ec-81dd030dea59", "modified": "2021-06-24T00:00:00.000Z", "name": "Functionality Misuse", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "attack-pattern", "x_capec_abstraction": "Meta", "x_capec_consequences": { "Availability": [ "Other (Depending on the adversary's intended technical impact, a successful attack of this kind can compromise any or all elements of the security triad.)" ], "Confidentiality": [ "Gain Privileges (A successful attack of this kind can compromise the confidentiality of an authorized user's credentials.)", "Other (Depending on the adversary's intended technical impact, a successful attack of this kind can compromise any or all elements of the security triad.)" ], "Integrity": [ "Other (Depending on the adversary's intended technical impact, a successful attack of this kind can compromise any or all elements of the security triad.)" ] }, "x_capec_domains": [ "Software", "Hardware" ], "x_capec_likelihood_of_attack": "Medium", "x_capec_parent_of_refs": [ "attack-pattern--5b2d7149-c0f3-4b42-9c10-febe7dfd3ea5", "attack-pattern--4ee9fc30-e736-4f4f-b55b-8a3008214042", "attack-pattern--83fc5df7-bb04-4ce7-b308-c9428e8f4456", "attack-pattern--addd93c9-9278-4185-b402-e505d632c815", "attack-pattern--e680008c-a642-4feb-a1c4-a29b54eb284a", "attack-pattern--0cd20b07-0159-46ed-bff1-cf0dfd0b5a37" ], "x_capec_prerequisites": [ "The adversary has the capability to interact with the application directly.The target system does not adequately implement safeguards to prevent misuse of authorized actions/processes." ], "x_capec_skills_required": { "Low": "General computer knowledge about how applications are launched, how they interact with input/output, and how they are configured." }, "x_capec_status": "Stable", "x_capec_typical_severity": "Medium", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "Perform comprehensive threat modeling, a process of identifying, evaluating, and mitigating potential threats to the application. This effort can help reveal potentially obscure application functionality that can be manipulated for malicious purposes.", "id": "course-of-action--2c554d44-955a-43f5-bf93-2d6bfe5ebcf0", "modified": "2021-06-24T00:00:00.000Z", "name": "coa-212-0", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "course-of-action", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--264be4df-68bd-477a-8b05-e975efd6ada7", "modified": "2021-06-24T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--2c554d44-955a-43f5-bf93-2d6bfe5ebcf0", "spec_version": "2.1", "target_ref": "attack-pattern--c727c058-2c9d-4021-a1ec-81dd030dea59", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "When implementing security features, consider how they can be misused and compromised.", "id": "course-of-action--b6e8099d-d2e6-4786-a628-0dac80173c67", "modified": "2021-06-24T00:00:00.000Z", "name": "coa-212-1", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "course-of-action", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--3688d3c6-8574-4547-aa9d-2d75e6da59b3", "modified": "2021-06-24T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--b6e8099d-d2e6-4786-a628-0dac80173c67", "spec_version": "2.1", "target_ref": "attack-pattern--c727c058-2c9d-4021-a1ec-81dd030dea59", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "This attack pattern has been deprecated as it is a duplicate of the existing attack pattern \"CAPEC-126 : Path Traversal\". Please refer to this other CAPEC going forward.", "external_references": [ { "external_id": "CAPEC-213", "source_name": "capec", "url": "https://capec.mitre.org/data/definitions/213.html" } ], "id": "attack-pattern--3ec96bbd-da0c-4640-a8ae-50e506206a2b", "modified": "2017-08-04T00:00:00.000Z", "name": "DEPRECATED: Directory Traversal", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "attack-pattern", "x_capec_abstraction": "Standard", "x_capec_status": "Deprecated", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "This attack pattern has been deprecated as it was merged into \"CAPEC-215 : Fuzzing for application mapping\". Please refer to this other CAPEC going forward.", "external_references": [ { "external_id": "CAPEC-214", "source_name": "capec", "url": "https://capec.mitre.org/data/definitions/214.html" } ], "id": "attack-pattern--27f34b27-52ae-42ae-a5c4-1155641eab90", "modified": "2020-12-17T00:00:00.000Z", "name": "DEPRECATED: Fuzzing for garnering J2EE/.NET-based stack traces, for application mapping", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "attack-pattern", "x_capec_abstraction": "Detailed", "x_capec_status": "Deprecated", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "An attacker sends random, malformed, or otherwise unexpected messages to a target application and observes the application's log or error messages returned. The attacker does not initially know how a target will respond to individual messages but by attempting a large number of message variants they may find a variant that trigger's desired behavior. In this attack, the purpose of the fuzzing is to observe the application's log and error messages, although fuzzing a target can also sometimes cause the target to enter an unstable state, causing a crash.", "external_references": [ { "external_id": "CAPEC-215", "source_name": "capec", "url": "https://capec.mitre.org/data/definitions/215.html" }, { "external_id": "CWE-209", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/209.html" }, { "external_id": "CWE-532", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/532.html" } ], "id": "attack-pattern--b5618a54-4646-423d-8676-b2eb56dd4328", "modified": "2022-09-29T00:00:00.000Z", "name": "Fuzzing for application mapping", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "attack-pattern", "x_capec_abstraction": "Detailed", "x_capec_child_of_refs": [ "attack-pattern--49132d37-44e8-458c-a06e-0e5b9ac9bbd6", "attack-pattern--7f0ec88f-b057-4a73-93d8-8a30cfdbcf77" ], "x_capec_consequences": { "Confidentiality": [ "Other (Information Leakage)" ] }, "x_capec_domains": [ "Software", "Software" ], "x_capec_example_instances": [ "\n The following code generates an error message that leaks the full pathname of the configuration file.\n $ConfigDir = \"/home/myprog/config\";$uname = GetUserInput(\"username\");ExitError(\"Bad hacker!\") if ($uname !~ /^\\w+$/);$file = \"$ConfigDir/$uname.txt\";if (! (-e $file)) { ExitError(\"Error: $file does not exist\"); }...\n If this code is running on a server, such as a web application, then the person making the request should not know what the full pathname of the configuration directory is. By submitting a username that does not produce a $file that exists, an attacker could get this pathname. It could then be used to exploit path traversal or symbolic link following problems that may exist elsewhere in the application.\n ", "\n In languages that utilize stack traces, revealing them can give adversaries information that allows them to map functions and file locations for an application. The following Java method prints out a stack trace that exposes the application to this attack pattern.\n public void httpGet(HttpServletRequest request, HttpServletResponse response) {try {processRequest();} catch (Exception ex) {ex.printStackTrace(response.getWriter());\n return;}}\n If this code is running on a server, such as a web application, then the adversary could cause the exception to be printed through fuzzing.\n " ], "x_capec_execution_flow": "

Execution Flow

Explore

  1. Observe communication and inputs: The fuzzing adversary observes the target system looking for inputs and communications between modules, subsystems, or systems.

  2. Techniques
    Network sniffing. Using a network sniffer such as wireshark, the adversary observes communications into and out of the target system.
    Monitor API execution. Using a tool such as ktrace, strace, APISpy, or another debugging tool, the adversary observes the system calls and API calls that are made by the target system, and the nature of their parameters.
    Observe inputs using web inspection tools (OWASP's WebScarab, Paros, TamperData, TamperIE, etc.)

Experiment

  1. Generate fuzzed inputs: Given a fuzzing tool, a target input or protocol, and limits on time, complexity, and input variety, generate a list of inputs to try. Although fuzzing is random, it is not exhaustive. Parameters like length, composition, and how many variations to try are important to get the most cost-effective impact from the fuzzer.

  2. Techniques
    Boundary cases. Generate fuzz inputs that attack boundary cases of protocol fields, inputs, or other communications limits. Examples include 0xff and 0x00 for single-byte inputs. In binary situations, approach each bit of an individual field with on and off (e.g., 0x80).
    Attempt arguments to system calls or APIs. The variations include payloads that, if they were successful, could lead to a compromise on the system.
  3. Observe the outcome: Observe the outputs to the inputs fed into the system by fuzzers and see if there are any log or error messages that might provide information to map the application

Exploit

  1. Craft exploit payloads: An adversary usually needs to modify the fuzzing parameters according to the observed error messages to get the desired sensitive information for the application. To defeat correlation, the adversary may try changing the origin IP addresses or client browser identification strings or start a new session from where they left off in obfuscating the attack.

  2. Techniques
    Modify the parameters in the fuzzing tool according to the observed error messages. Repeat with enough parameters until the application has been sufficiently mapped.
    If the application rejects the large amount of fuzzing messages from the same host machine, the adversary needs to hide the attacks by changing the IP addresses or other credentials.
", "x_capec_extended_description": "\n By observing logs and error messages, the attacker can learn details about the configuration of the target application and might be able to cause the target to disclose sensitive information. In applications that return a stack trace along with the error, this can enumerate the chain of methods that led up to the point where the error was encountered. This can not only reveal the names of the methods (some of which may have known weaknesses) but possibly also the location of class files and libraries as well as parameter values. In some cases, the stack trace might even disclose sensitive configuration or user information.\n ", "x_capec_likelihood_of_attack": "High", "x_capec_prerequisites": [ "The target application must fail to sanitize incoming messages adequately before processing." ], "x_capec_resources_required": [ "Fuzzing tools, which automatically generate and send message variants, are necessary for this attack. The attacker must have sufficient access to send messages to the target. The attacker must also have the ability to observe the target application's log and/or error messages in order to collect information about the target." ], "x_capec_skills_required": { "Medium": "Although fuzzing parameters is not difficult, and often possible with automated fuzzing tools, interpreting the error conditions and modifying the parameters so as to move further in the process of mapping the application requires detailed knowledge of target platform, the languages and packages used as well as software design." }, "x_capec_status": "Draft", "x_capec_typical_severity": "Low", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "Design: Construct a 'code book' for error messages. When using a code book, application error messages aren't generated in string or stack trace form, but are catalogued and replaced with a unique (often integer-based) value 'coding' for the error. Such a technique will require helpdesk and hosting personnel to use a 'code book' or similar mapping to decode application errors/logs in order to respond to them normally.", "id": "course-of-action--35e6212f-ac45-4ebb-88b6-9242f8ae2bba", "modified": "2022-09-29T00:00:00.000Z", "name": "coa-215-0", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "course-of-action", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--e83220a2-4674-498f-8f1f-684464a2de79", "modified": "2022-09-29T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--35e6212f-ac45-4ebb-88b6-9242f8ae2bba", "spec_version": "2.1", "target_ref": "attack-pattern--b5618a54-4646-423d-8676-b2eb56dd4328", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "Design: wrap application functionality (preferably through the underlying framework) in an output encoding scheme that obscures or cleanses error messages to prevent such attacks. Such a technique is often used in conjunction with the above 'code book' suggestion.", "id": "course-of-action--81ed39dc-bf22-4d9b-901c-370ff16e02f3", "modified": "2022-09-29T00:00:00.000Z", "name": "coa-215-1", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "course-of-action", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--6313ef4d-92ce-4fa2-89d3-e46c3645bc94", "modified": "2022-09-29T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--81ed39dc-bf22-4d9b-901c-370ff16e02f3", "spec_version": "2.1", "target_ref": "attack-pattern--b5618a54-4646-423d-8676-b2eb56dd4328", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--98fe200c-e422-46ab-a1e3-1ece266fe87a", "modified": "2022-09-29T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--b3b7fd0f-034a-4c49-b011-83527159115d", "spec_version": "2.1", "target_ref": "attack-pattern--b5618a54-4646-423d-8676-b2eb56dd4328", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--0b7e3a6f-e895-4472-8fb2-87fd4ae495ac", "modified": "2022-09-29T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--c4fec7a6-c3eb-48d8-b840-e4fad7c771c8", "spec_version": "2.1", "target_ref": "attack-pattern--b5618a54-4646-423d-8676-b2eb56dd4328", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--2827e6fe-cb69-4bb9-a62c-a073e37c5f85", "modified": "2022-09-29T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--3205de43-5293-4d4e-9d84-74590957951a", "spec_version": "2.1", "target_ref": "attack-pattern--b5618a54-4646-423d-8676-b2eb56dd4328", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--d3fad702-176c-4e46-ad84-47ac9e37f083", "modified": "2022-09-29T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--5f23b69e-8624-4f1f-b185-f98b16b4714f", "spec_version": "2.1", "target_ref": "attack-pattern--b5618a54-4646-423d-8676-b2eb56dd4328", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--3df53c6f-ed1d-45c8-9248-169adc95cc23", "modified": "2022-09-29T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--0f461277-141d-4b7f-8f50-ce7f5ee71f4c", "spec_version": "2.1", "target_ref": "attack-pattern--b5618a54-4646-423d-8676-b2eb56dd4328", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--d72a7c6c-d377-4769-b5de-86fe57fc39cb", "modified": "2022-09-29T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--ac6b5101-4c5f-42e5-9d3c-ebee7b25bae7", "spec_version": "2.1", "target_ref": "attack-pattern--b5618a54-4646-423d-8676-b2eb56dd4328", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "An adversary manipulates a setting or parameter on communications channel in order to compromise its security. This can result in information exposure, insertion/removal of information from the communications stream, and/or potentially system compromise.", "external_references": [ { "external_id": "CAPEC-216", "source_name": "capec", "url": "https://capec.mitre.org/data/definitions/216.html" }, { "external_id": "CWE-306", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/306.html" } ], "id": "attack-pattern--861cfb48-ba7c-4568-86c9-43ac6985ac65", "modified": "2023-01-24T00:00:00.000Z", "name": "Communication Channel Manipulation", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "attack-pattern", "x_capec_abstraction": "Meta", "x_capec_can_precede_refs": [ "attack-pattern--38964770-4f39-4191-89cf-73a625162b2b" ], "x_capec_consequences": { "Confidentiality": [ "Read Data (A successful Communication Channel Manipulation attack can result in sensitive information exposure to the adversary, thereby compromising the communication channel's confidentiality.)" ], "Integrity": [ "Read Data (The adversary's injection of additional content into a communication channel negatively impacts the integrity of that channel.)", "Modify Data (The adversary's injection of additional content into a communication channel negatively impacts the integrity of that channel.)", "Other (The adversary's injection of additional content into a communication channel negatively impacts the integrity of that channel.)" ] }, "x_capec_domains": [ "Communications" ], "x_capec_parent_of_refs": [ "attack-pattern--d9904019-98fa-4beb-ae5a-f667e516269e", "attack-pattern--1be52fc4-a498-4d01-9a68-b560e64e0abf" ], "x_capec_prerequisites": [ "The target application must leverage an open communications channel.", "The channel on which the target communicates must be vulnerable to interception (e.g., adversary in the middle attack - CAPEC-94)." ], "x_capec_resources_required": [ "A tool that is capable of viewing network traffic and generating custom inputs to be used in the attack." ], "x_capec_status": "Stable", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "Encrypt all sensitive communications using properly-configured cryptography.", "id": "course-of-action--6d7d16e2-5680-47ba-942a-5b43c3541123", "modified": "2023-01-24T00:00:00.000Z", "name": "coa-216-0", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "course-of-action", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--c654fbc8-bc2b-454c-9398-3918f016c72b", "modified": "2023-01-24T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--6d7d16e2-5680-47ba-942a-5b43c3541123", "spec_version": "2.1", "target_ref": "attack-pattern--861cfb48-ba7c-4568-86c9-43ac6985ac65", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "Design the communication system such that it associates proper authentication/authorization with each channel/message.", "id": "course-of-action--fdda562a-133a-447b-9a9c-764b70f09841", "modified": "2023-01-24T00:00:00.000Z", "name": "coa-216-1", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "course-of-action", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--4825728c-cd47-4e1a-a705-02257ab81012", "modified": "2023-01-24T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--fdda562a-133a-447b-9a9c-764b70f09841", "spec_version": "2.1", "target_ref": "attack-pattern--861cfb48-ba7c-4568-86c9-43ac6985ac65", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "An adversary takes advantage of incorrectly configured SSL/TLS communications that enables access to data intended to be encrypted. The adversary may also use this type of attack to inject commands or other traffic into the encrypted stream to cause compromise of either the client or server.", "external_references": [ { "external_id": "CAPEC-217", "source_name": "capec", "url": "https://capec.mitre.org/data/definitions/217.html" }, { "external_id": "CWE-201", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/201.html" } ], "id": "attack-pattern--1be52fc4-a498-4d01-9a68-b560e64e0abf", "modified": "2022-02-22T00:00:00.000Z", "name": "Exploiting Incorrectly Configured SSL/TLS", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "attack-pattern", "x_capec_abstraction": "Standard", "x_capec_child_of_refs": [ "attack-pattern--861cfb48-ba7c-4568-86c9-43ac6985ac65" ], "x_capec_consequences": { "Access_Control": [ "Gain Privileges" ], "Authorization": [ "Gain Privileges" ], "Confidentiality": [ "Read Data", "Gain Privileges" ] }, "x_capec_domains": [ "Communications" ], "x_capec_example_instances": [ "Using MITM techniques, an adversary launches a blockwise chosen-boundary attack to obtain plaintext HTTP headers by taking advantage of an SSL session using an encryption protocol in CBC mode with chained initialization vectors (IV). This allows the adversary to recover session IDs, authentication cookies, and possibly other valuable data that can be used for further exploitation. Additionally this could allow for the insertion of data into the stream, allowing for additional attacks (CSRF, SQL inject, etc) to occur." ], "x_capec_execution_flow": "

Execution Flow

Explore

  1. Determine SSL/TLS Configuration: Determine the SSL/TLS configuration of either the server or client being targeted, preferably both. This is not a hard requirement, as the adversary can simply assume commonly exploitable configuration settings and indiscriminately attempt them.

  2. Techniques
    If the target is a webpage, some of the SSL/TLS configuration can be viewed through the browser's security information, such as the key sizes and cipher being used.

Experiment

  1. Intercept Communication: Provide controlled access to the server by the client, by either providing a link for the client to click on, or by positioning one's self at a place on the network to intercept and control the flow of data between client and server, e.g. AiTM (adversary in the middle - CAPEC-94).

  2. Techniques
    Create a malicious webpage that looks identical to the target webpage, but routes client traffic to the server such that the adversary can observe the traffic and perform an adverary in the middle attack.
    If the adversary has access to the network that either the client or server is on, the can attempt to use a packet sniffer to perform an adversary in the middle attack.
    Install a packet sniffer through malware directly to a client device that can intercept SSL/TLS traffic and perform an adversary in the middle attack.

Exploit

  1. Capture or Manipulate Sensitive Data: Once the adversary has the ability to intercept the secure communication, they exploit the incorrectly configured SSL to view the encrypted communication. The adversary can choose to just record the secure communication or manipulate the data to achieve a desired effect.

  2. Techniques
    Use known exploits for old SSL and TLS versions.
    Use known exploits for weak ciphers such as DES and RC4.
", "x_capec_extended_description": "SSL/TLS communications become vulnerable to this attack when they use outdated versions and insecure ciphers. Currently, all SSL versions are deprecated and TLS versions 1.0 and 1.1 are also deprecated due to being insecure. It is still possible for later versions of TLS to be insecure if they are configured with insecure ciphers such as 3DES or RC4.", "x_capec_likelihood_of_attack": "Low", "x_capec_prerequisites": [ "Access to the client/server stream." ], "x_capec_resources_required": [ "The adversary needs the ability to sniff traffic, and optionally be able to route said traffic to a system where the sniffing of traffic can take place, and act upon the recovered traffic in real time." ], "x_capec_skills_required": { "High": "The adversary needs real-time access to network traffic in such a manner that the adversary can grab needed information from the SSL stream, possibly influence the decided-upon encryption method and options, and perform automated analysis to decipher encrypted material recovered. Tools exist to automate part of the tasks, but to successfully use these tools in an attack scenario requires detailed understanding of the underlying principles." }, "x_capec_status": "Draft", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "Do not use SSL, as all SSL versions have been broken and should not be used. If TLS is not an option for the client or server, consider setting timeouts on SSL sessions to extremely low values to lessen the potential impact.", "id": "course-of-action--a016c6dd-9ad2-4313-a1ac-feb6f4d5c593", "modified": "2022-02-22T00:00:00.000Z", "name": "coa-217-0", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "course-of-action", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--b0973ae1-9f6a-4c40-9fea-2a3ee0e97625", "modified": "2022-02-22T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--a016c6dd-9ad2-4313-a1ac-feb6f4d5c593", "spec_version": "2.1", "target_ref": "attack-pattern--1be52fc4-a498-4d01-9a68-b560e64e0abf", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "Only use TLS version 1.2+, as versions 1.0 and 1.1 are insecure.", "id": "course-of-action--5a4ac34c-6d63-45ca-a2e5-260d4d0b39f1", "modified": "2022-02-22T00:00:00.000Z", "name": "coa-217-1", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "course-of-action", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--ce247393-b0a0-45b2-ab0c-e4822c35f2fc", "modified": "2022-02-22T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--5a4ac34c-6d63-45ca-a2e5-260d4d0b39f1", "spec_version": "2.1", "target_ref": "attack-pattern--1be52fc4-a498-4d01-9a68-b560e64e0abf", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "Configure TLS to use secure algorithms. The current recommendation is to use ECDH, ECDSA, AES256-GCM, and SHA384 for the most security.", "id": "course-of-action--8127fe7e-3325-43cc-950b-3de6a289cc83", "modified": "2022-02-22T00:00:00.000Z", "name": "coa-217-2", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "course-of-action", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--7ade11c3-680d-4f17-9cad-323b3972dc32", "modified": "2022-02-22T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--8127fe7e-3325-43cc-950b-3de6a289cc83", "spec_version": "2.1", "target_ref": "attack-pattern--1be52fc4-a498-4d01-9a68-b560e64e0abf", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "An attacker spoofs a UDDI, ebXML, or similar message in order to impersonate a service provider in an e-business transaction. UDDI, ebXML, and similar standards are used to identify businesses in e-business transactions. Among other things, they identify a particular participant, WSDL information for SOAP transactions, and supported communication protocols, including security protocols. By spoofing one of these messages an attacker could impersonate a legitimate business in a transaction or could manipulate the protocols used between a client and business. This could result in disclosure of sensitive information, loss of message integrity, or even financial fraud.", "external_references": [ { "external_id": "CAPEC-218", "source_name": "capec", "url": "https://capec.mitre.org/data/definitions/218.html" }, { "external_id": "CWE-345", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/345.html" } ], "id": "attack-pattern--e7c0cce1-203e-454d-8a9a-76fa7ca120f8", "modified": "2019-04-04T00:00:00.000Z", "name": "Spoofing of UDDI/ebXML Messages", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "attack-pattern", "x_capec_abstraction": "Detailed", "x_capec_child_of_refs": [ "attack-pattern--bd4f8f46-1bc7-40a9-b15a-e36b7671cf5b" ], "x_capec_domains": [ "Software" ], "x_capec_prerequisites": [ "The targeted business's UDDI or ebXML information must be served from a location that the attacker can spoof or compromise or the attacker must be able to intercept and modify unsecured UDDI/ebXML messages in transit." ], "x_capec_resources_required": [ "The attacker must be able to force the target user to accept their spoofed UDDI or ebXML message as opposed to the a message associated with a legitimate company. Depending on the follow-on for the attack, the attacker may also need to serve its own web services." ], "x_capec_status": "Draft", "x_capec_typical_severity": "Medium", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "Implementation: Clients should only trust UDDI, ebXML, or similar messages that are verifiably signed by a trusted party.", "id": "course-of-action--e81399e0-9916-4bcb-8fea-d187cf0442c3", "modified": "2019-04-04T00:00:00.000Z", "name": "coa-218-0", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "course-of-action", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--46bb69df-9433-4e40-8785-079dcc99916b", "modified": "2019-04-04T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--e81399e0-9916-4bcb-8fea-d187cf0442c3", "spec_version": "2.1", "target_ref": "attack-pattern--e7c0cce1-203e-454d-8a9a-76fa7ca120f8", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "An attacker subverts an intermediate system used to process XML content and forces the intermediate to modify and/or re-route the processing of the content. XML Routing Detour Attacks are Adversary in the Middle type attacks (CAPEC-94). The attacker compromises or inserts an intermediate system in the processing of the XML message. For example, WS-Routing can be used to specify a series of nodes or intermediaries through which content is passed. If any of the intermediate nodes in this route are compromised by an attacker they could be used for a routing detour attack. From the compromised system the attacker is able to route the XML process to other nodes of their choice and modify the responses so that the normal chain of processing is unaware of the interception. This system can forward the message to an outside entity and hide the forwarding and processing from the legitimate processing systems by altering the header information.", "external_references": [ { "external_id": "CAPEC-219", "source_name": "capec", "url": "https://capec.mitre.org/data/definitions/219.html" }, { "external_id": "CWE-441", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/441.html" }, { "external_id": "CWE-610", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/610.html" }, { "description": "Routing Detour", "external_id": "32", "source_name": "WASC", "url": "http://projects.webappsec.org/Routing-Detour" }, { "description": "XML Entity Expansion", "external_id": "44", "source_name": "WASC", "url": "http://projects.webappsec.org/XML-Entity-Expansion" }, { "description": "WASC Threat Classification 2.0, 2010, The Web Application Security Consortium (WASC)", "external_id": "REF-80", "source_name": "reference_from_CAPEC", "url": "http://projects.webappsec.org/w/page/13246956/Routing-Detour" }, { "description": "Andre Yee, Threat Protection in a Service Oriented World, NFR Security", "external_id": "REF-81", "source_name": "reference_from_CAPEC", "url": "http://www.unatekconference.com/images/pdfs/presentations/Yee.pdf" }, { "description": "Pete Lindstrom, Attacking & Defending Web Services, 2002, SPiRE Security", "external_id": "REF-65", "source_name": "reference_from_CAPEC", "url": "http://www.webtorials.com/main/comnet/cn2003/web-service/24.pdf" } ], "id": "attack-pattern--9b939586-fbef-4343-94f0-0046124e3e7f", "modified": "2022-09-29T00:00:00.000Z", "name": "XML Routing Detour Attacks", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "attack-pattern", "x_capec_abstraction": "Standard", "x_capec_child_of_refs": [ "attack-pattern--38964770-4f39-4191-89cf-73a625162b2b" ], "x_capec_consequences": { "Access_Control": [ "Bypass Protection Mechanism" ], "Accountability": [ "Gain Privileges" ], "Authentication": [ "Gain Privileges" ], "Authorization": [ "Gain Privileges", "Bypass Protection Mechanism" ], "Confidentiality": [ "Read Data" ], "Integrity": [ "Modify Data" ], "Non-Repudiation": [ "Gain Privileges" ] }, "x_capec_domains": [ "Communications", "Software" ], "x_capec_example_instances": [ "\n Here is an example SOAP call from a client, example1.com, to a target, example4.com, via 2 intermediaries, example2.com and example3.com. (note: The client here is not necessarily a 'end user client' but rather the starting point of the XML transaction).\n Example SOAP message with routing information in header:\n \n http://example1.com/\n http://example4.com/router\n uuid:1235678-abcd-1a2b-3c4d-1a2b3c4d5e6f\n http://example2.com/router \n \n ...\n \n Add an additional node (example3.com/router) to the XML path in a WS-Referral message\n http://example2.com/router\n \n http://example3.com/router\n \n Resulting in the following SOAP Header:\n \n http://example1.com/\n http://example4.com/router\n uuid:1235678-abcd-1a2b-3c4d-1a2b3c4d5e6f\n http://example2.com/router\n http://example3.com/router\n \n ...\n \n Continuing with this example, the attacker injects a bogus routing node (using a WS-Referral service) into the routing table of the XML header but not access the message directly on the initiator/intermediary node that they have targeted.\n Example of WS-Referral based WS-Routing injection of the bogus node route:\n \n http://example2.com/router\n \n http://evilsite1.com/router\n \n Resulting XML Routing Detour attack:\n \n http://example_0.com/\n http://example_4.com/router\n uuid:1235678-abcd-1a2b-3c4d-1a2b3c4d5e6f\n http://example2.com/router\n http://evilesite1.com/router\n http://example3.com/router\n \n ...\n \n Thus, the attacker can route the XML message to the attacker controlled node (and access to the message contents).\n " ], "x_capec_execution_flow": "

Execution Flow

Explore

  1. Survey the target: Using command line or an automated tool, an attacker records all instances of web services to process XML requests.

  2. Techniques
    Use automated tool to record all instances to process XML requests or find exposed WSDL.
    Use tools to crawl WSDL

Experiment

  1. Identify SOAP messages that have multiple state processing.: Inspect instance to see whether the XML processing has multiple stages or not.

  2. Techniques
    Inspect the SOAP message routing head to see whether the XML processing has multiple stages or not.

Exploit

  1. Launch an XML routing detour attack: The attacker injects a bogus routing node (using a WS-Referral service) into the routing table of the XML header of the SOAP message identified in the Explore phase. Thus, the attacker can route the XML message to the attacker controlled node (and access the message contents).

  2. Techniques
    The attacker injects a bogus routing node (using a WS-Referral service) into the routing table of the XML header of the SOAP message
", "x_capec_likelihood_of_attack": "High", "x_capec_prerequisites": [ "The targeted system must have multiple stages processing of XML content." ], "x_capec_resources_required": [ "The attacker must be able to insert or compromise a system into the processing path for the transaction." ], "x_capec_skills_required": { "Low": "To inject a bogus node in the XML routing table" }, "x_capec_status": "Draft", "x_capec_typical_severity": "Medium", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "Design: Specify maximum number intermediate nodes for the request and require SSL connections with mutual authentication.", "id": "course-of-action--32d253b1-9a81-4e1f-9e76-b03889c23824", "modified": "2022-09-29T00:00:00.000Z", "name": "coa-219-0", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "course-of-action", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--50e9645d-eacc-4146-b4c7-2d3fccb9d553", "modified": "2022-09-29T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--32d253b1-9a81-4e1f-9e76-b03889c23824", "spec_version": "2.1", "target_ref": "attack-pattern--9b939586-fbef-4343-94f0-0046124e3e7f", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "Implementation: Use SSL for connections between all parties with mutual authentication.", "id": "course-of-action--a5db9d2f-be59-4342-b37c-e5716afbb21d", "modified": "2022-09-29T00:00:00.000Z", "name": "coa-219-1", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "course-of-action", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--ad2e36bd-7078-49d5-84e3-b333131d9839", "modified": "2022-09-29T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--a5db9d2f-be59-4342-b37c-e5716afbb21d", "spec_version": "2.1", "target_ref": "attack-pattern--9b939586-fbef-4343-94f0-0046124e3e7f", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "An attack of this type exploits vulnerabilities in client/server communication channel authentication and data integrity. It leverages the implicit trust a server places in the client, or more importantly, that which the server believes is the client. An attacker executes this type of attack by communicating directly with the server where the server believes it is communicating only with a valid client. There are numerous variations of this type of attack.", "external_references": [ { "external_id": "CAPEC-22", "source_name": "capec", "url": "https://capec.mitre.org/data/definitions/22.html" }, { "external_id": "CWE-290", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/290.html" }, { "external_id": "CWE-287", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/287.html" }, { "external_id": "CWE-20", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/20.html" }, { "external_id": "CWE-200", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/200.html" }, { "external_id": "CWE-693", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/693.html" }, { "description": "G. Hoglund, G. McGraw, Exploiting Software: How to Break Code, 2004--02, Addison-Wesley", "external_id": "REF-1", "source_name": "reference_from_CAPEC" } ], "id": "attack-pattern--1fa1539d-4a13-4453-bf43-ad0987b2fbf5", "modified": "2019-09-30T00:00:00.000Z", "name": "Exploiting Trust in Client", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "attack-pattern", "x_capec_abstraction": "Meta", "x_capec_consequences": { "Access_Control": [ "Gain Privileges" ], "Authorization": [ "Gain Privileges" ], "Availability": [ "Execute Unauthorized Commands (Run Arbitrary Code)" ], "Confidentiality": [ "Execute Unauthorized Commands (Run Arbitrary Code)", "Gain Privileges", "Read Data" ], "Integrity": [ "Execute Unauthorized Commands (Run Arbitrary Code)" ] }, "x_capec_domains": [ "Communications", "Software" ], "x_capec_example_instances": [ "Web applications may use JavaScript to perform client side validation, request encoding/formatting, and other security functions, which provides some usability benefits and eliminates some client-server round-tripping. However, the web server cannot assume that the requests it receives have been subject to those validations, because an attacker can use an alternate method for crafting the HTTP Request and submit data that contains poisoned values designed to spoof a user and/or get the web server to disclose information.", "Web 2.0 style applications may be particularly vulnerable because they in large part rely on existing infrastructure which provides scalability without the ability to govern the clients. Attackers identify vulnerabilities that either assume the client side is responsible for some security services (without the requisite ability to ensure enforcement of these checks) and/or the lack of a hardened, default deny server configuration that allows for an attacker probing for weaknesses in unexpected ways. Client side validation, request formatting and other services may be performed, but these are strictly usability enhancements not security enhancements.", "Many web applications use client side scripting like JavaScript to enforce authentication, authorization, session state and other variables, but at the end of day they all make requests to the server. These client side checks may provide usability and performance gains, but they lack integrity in terms of the http request. It is possible for an attacker to post variables directly to the server without using any of the client script security checks and customize the patterns to impersonate other users or probe for more information.", "Many message oriented middleware systems like MQ Series are rely on information that is passed along with the message request for making authorization decisions, for example what group or role the request should be passed. However, if the message server does not or cannot authenticate the authorization information in the request then the server's policy decisions about authorization are trivial to subvert because the client process can simply elevate privilege by passing in elevated group or role information which the message server accepts and acts on." ], "x_capec_likelihood_of_attack": "High", "x_capec_parent_of_refs": [ "attack-pattern--158c1c58-9c44-4822-a8a4-6cb791c5b3cb", "attack-pattern--3c404955-b160-423f-b148-d4fa4727e3a9", "attack-pattern--9afead03-280c-4f2c-82f6-b08b7a54a8e3", "attack-pattern--5e4a268e-f89f-445a-aa42-395922f56bf0" ], "x_capec_prerequisites": [ "Server software must rely on client side formatted and validated values, and not reinforce these checks on the server side." ], "x_capec_resources_required": [ "Ability to communicate synchronously or asynchronously with server" ], "x_capec_skills_required": { "Medium": "The attacker must have fairly detailed knowledge of the syntax and semantics of client/server communications protocols and grammars" }, "x_capec_status": "Draft", "x_capec_typical_severity": "High", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "Design: Ensure that client process and/or message is authenticated so that anonymous communications and/or messages are not accepted by the system.", "id": "course-of-action--2e4bbf17-d58f-437c-921e-69938467c2d2", "modified": "2019-09-30T00:00:00.000Z", "name": "coa-22-0", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "course-of-action", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--ef29ae67-0988-4232-84e9-43b9c15d46eb", "modified": "2019-09-30T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--2e4bbf17-d58f-437c-921e-69938467c2d2", "spec_version": "2.1", "target_ref": "attack-pattern--1fa1539d-4a13-4453-bf43-ad0987b2fbf5", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "Design: Do not rely on client validation or encoding for security purposes.", "id": "course-of-action--040e99bd-3494-432d-a072-6400fc8f9043", "modified": "2019-09-30T00:00:00.000Z", "name": "coa-22-1", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "course-of-action", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--5b53a383-dcc4-4eb9-a9b9-4b7b9cfc1401", "modified": "2019-09-30T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--040e99bd-3494-432d-a072-6400fc8f9043", "spec_version": "2.1", "target_ref": "attack-pattern--1fa1539d-4a13-4453-bf43-ad0987b2fbf5", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "Design: Utilize digital signatures to increase authentication assurance.", "id": "course-of-action--03a878aa-814d-4ec7-8981-4019491f098a", "modified": "2019-09-30T00:00:00.000Z", "name": "coa-22-2", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "course-of-action", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--c8ac652e-3dc2-4676-8383-373e67124466", "modified": "2019-09-30T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--03a878aa-814d-4ec7-8981-4019491f098a", "spec_version": "2.1", "target_ref": "attack-pattern--1fa1539d-4a13-4453-bf43-ad0987b2fbf5", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "Design: Utilize two factor authentication to increase authentication assurance.", "id": "course-of-action--4cfdedd8-f75c-4aa9-8e79-a60fe00a2f6b", "modified": "2019-09-30T00:00:00.000Z", "name": "coa-22-3", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "course-of-action", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--bef5f4f9-1fce-4a46-b4fb-7c23116a91fc", "modified": "2019-09-30T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--4cfdedd8-f75c-4aa9-8e79-a60fe00a2f6b", "spec_version": "2.1", "target_ref": "attack-pattern--1fa1539d-4a13-4453-bf43-ad0987b2fbf5", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--1f8b75f6-daad-4ca8-b8eb-fba33ce31e5c", "modified": "2019-09-30T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--8a996efc-52e0-4aaf-953a-21c3fe64c64b", "spec_version": "2.1", "target_ref": "attack-pattern--1fa1539d-4a13-4453-bf43-ad0987b2fbf5", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "An adversary takes advantage of weaknesses in the protocol by which a client and server are communicating to perform unexpected actions. Communication protocols are necessary to transfer messages between client and server applications. Moreover, different protocols may be used for different types of interactions.", "external_references": [ { "external_id": "CAPEC-220", "source_name": "capec", "url": "https://capec.mitre.org/data/definitions/220.html" }, { "external_id": "CWE-757", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/757.html" } ], "id": "attack-pattern--9c983530-1927-43ca-addd-63d149cda4a7", "modified": "2022-02-22T00:00:00.000Z", "name": "Client-Server Protocol Manipulation", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "attack-pattern", "x_capec_abstraction": "Standard", "x_capec_child_of_refs": [ "attack-pattern--2166d3c5-baec-4f42-8284-c1b5b649ad34" ], "x_capec_domains": [ "Communications", "Software" ], "x_capec_extended_description": "\n For example, an authentication protocol might be used to establish the identities of the server and client while a separate messaging protocol might be used to exchange data. If there is a weakness in a protocol used by the client and server, an attacker might take advantage of this to perform various types of attacks. For example, if the attacker is able to manipulate an authentication protocol, the attacker may be able spoof other clients or servers. If the attacker is able to manipulate a messaging protocol, the may be able to read sensitive information or modify message contents. This attack is often made easier by the fact that many clients and servers support multiple protocols to perform similar roles. For example, a server might support several different authentication protocols in order to support a wide range of clients, including legacy clients. Some of the older protocols may have vulnerabilities that allow an attacker to manipulate client-server interactions.\n ", "x_capec_parent_of_refs": [ "attack-pattern--b89511b6-f0fb-4c1d-a884-a0d5a0d82b4e", "attack-pattern--ae3f2c33-9018-442e-9cc3-24d65c7f4974", "attack-pattern--13d1d169-0023-41e2-952f-7d794844733b", "attack-pattern--d845a25b-b140-438c-91d7-30b709bb6e18", "attack-pattern--ba694895-a0cf-494e-ace2-bf3488330b80", "attack-pattern--7b462c1f-e0bf-41a7-b811-2b676c103bda" ], "x_capec_prerequisites": [ "The client and/or server must utilize a protocol that has a weakness allowing manipulation of the interaction." ], "x_capec_resources_required": [ "The adversary must be able to identify the weakness in the utilized protocol and exploit it. This may require a sniffing tool as well as packet creation abilities. The adversary will be aided if they can force the client and/or server to utilize a specific protocol known to contain exploitable weaknesses." ], "x_capec_status": "Draft", "x_capec_typical_severity": "Medium", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "This attack takes advantage of the entity replacement property of certain data serialization languages (e.g., XML, YAML, etc.) where the value of the replacement is a URI. A well-crafted file could have the entity refer to a URI that consumes a large amount of resources to create a denial of service condition. This can cause the system to either freeze, crash, or execute arbitrary code depending on the URI.", "external_references": [ { "external_id": "CAPEC-221", "source_name": "capec", "url": "https://capec.mitre.org/data/definitions/221.html" }, { "external_id": "CWE-611", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/611.html" }, { "description": "XML External Entities", "external_id": "43", "source_name": "WASC", "url": "http://projects.webappsec.org/XML-External-Entities" } ], "id": "attack-pattern--ee525a27-de33-45e9-ba7f-f63562001a5b", "modified": "2022-09-29T00:00:00.000Z", "name": "Data Serialization External Entities Blowup", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "attack-pattern", "x_capec_abstraction": "Detailed", "x_capec_child_of_refs": [ "attack-pattern--247019da-353e-4910-9d11-7dc6c0421a17", "attack-pattern--b6f5248a-346f-484f-8091-8ab84288aa81" ], "x_capec_consequences": { "Availability": [ "Resource Consumption", "Execute Unauthorized Commands (Run Arbitrary Code)" ], "Confidentiality": [ "Execute Unauthorized Commands (Run Arbitrary Code)" ], "Integrity": [ "Execute Unauthorized Commands (Run Arbitrary Code)" ] }, "x_capec_domains": [ "Software", "Software" ], "x_capec_example_instances": [ "\n In this example, the XML parser parses the attacker's XML and opens the malicious URI where the attacker controls the server and writes a massive amount of data to the response stream. In this example the malicious URI is a large file transfer.\n < !DOCTYPE bomb []>&detonate;\n " ], "x_capec_execution_flow": "

Execution Flow

Explore

  1. Find target web service: The adversary must first find a web service that takes input data in the form of a serialized language such as XML or YAML.

Experiment

  1. Host malicious file on a server: The adversary will create a web server that contains a malicious file. This file will be extremely large, so that if a web service were to try to load it, the service would most likely hang.

  2. Craft malicious data: Using the serialization language that the web service takes as input, the adversary will craft data that links to the malicious file using an external entity reference to the URL of the file.

Exploit

  1. Send serialized data containing URI: The adversary will send specially crafted serialized data to the web service. When the web service loads the input, it will attempt to download the malicious file. Depending on the amount of memory the web service has, this could either crash the service or cause it to hang, resulting in a Denial of Service attack.

", "x_capec_prerequisites": [ "A server that has an implementation that accepts entities containing URI values." ], "x_capec_status": "Draft", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "This attack may be mitigated by tweaking the XML parser to not resolve external entities. If external entities are needed, then implement a custom XmlResolver that has a request timeout, data retrieval limit, and restrict resources it can retrieve locally.", "id": "course-of-action--f88600ce-ddcc-4bc8-a94c-55d673aaa78d", "modified": "2022-09-29T00:00:00.000Z", "name": "coa-221-0", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "course-of-action", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--56e07d24-a92d-4fa8-813a-42ce29f65724", "modified": "2022-09-29T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--f88600ce-ddcc-4bc8-a94c-55d673aaa78d", "spec_version": "2.1", "target_ref": "attack-pattern--ee525a27-de33-45e9-ba7f-f63562001a5b", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "This attack may be mitigated by tweaking the serialized data parser to not resolve external entities. If external entities are needed, then implement a custom resolver that has a request timeout, data retrieval limit, and restrict resources it can retrieve locally.", "id": "course-of-action--1d15fec6-8b70-44d9-b58a-5c9aebb8153b", "modified": "2022-09-29T00:00:00.000Z", "name": "coa-221-1", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "course-of-action", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--7d30d657-82b7-41fb-8963-2316f86a288e", "modified": "2022-09-29T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--1d15fec6-8b70-44d9-b58a-5c9aebb8153b", "spec_version": "2.1", "target_ref": "attack-pattern--ee525a27-de33-45e9-ba7f-f63562001a5b", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "In an iFrame overlay attack the victim is tricked into unknowingly initiating some action in one system while interacting with the UI from seemingly completely different system.", "external_references": [ { "external_id": "CAPEC-222", "source_name": "capec", "url": "https://capec.mitre.org/data/definitions/222.html" }, { "external_id": "CWE-1021", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/1021.html" }, { "description": "Michal Zalewski, Browser Security Handbook, 2008, Google Inc.", "external_id": "REF-84", "source_name": "reference_from_CAPEC", "url": "https://code.google.com/archive/p/browsersec/wikis/Main.wiki" }, { "description": "M. Mahemoff, Explaining the \"Don't Click\" Clickjacking Tweetbomb, 2009--02---12, Software As She's Developed", "external_id": "REF-85", "source_name": "reference_from_CAPEC", "url": "http://softwareas.com/explaining-the-dont-click-clickjacking-tweetbomb" } ], "id": "attack-pattern--b9593e93-5589-4ae9-b0e7-09fa5c3136e5", "modified": "2022-09-29T00:00:00.000Z", "name": "iFrame Overlay", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "attack-pattern", "x_capec_abstraction": "Detailed", "x_capec_child_of_refs": [ "attack-pattern--ec41b2b3-a3b6-4af0-be65-69e82907dfef" ], "x_capec_consequences": { "Access_Control": [ "Bypass Protection Mechanism" ], "Accountability": [ "Gain Privileges" ], "Authentication": [ "Gain Privileges" ], "Authorization": [ "Execute Unauthorized Commands (Run Arbitrary Code)", "Gain Privileges", "Bypass Protection Mechanism" ], "Confidentiality": [ "Read Data" ], "Integrity": [ "Modify Data" ], "Non-Repudiation": [ "Gain Privileges" ] }, "x_capec_domains": [ "Software" ], "x_capec_example_instances": [ "The following example is a real-world iFrame overlay attack [2]. In this attack, the malicious page embeds Twitter.com on a transparent IFRAME. The status-message field is initialized with the URL of the malicious page itself. To provoke the click, which is necessary to publish the entry, the malicious page displays a button labeled \"Don't Click.\" This button is aligned with the invisible \"Update\" button of Twitter. Once the user performs the click, the status message (i.e., a link to the malicious page itself) is posted to their Twitter profile." ], "x_capec_execution_flow": "

Execution Flow

Explore

  1. Craft an iFrame Overlay page: The adversary crafts a malicious iFrame overlay page.

  2. Techniques
    The adversary leverages iFrame overlay capabilities to craft a malicious iFrame overlay page.

Exploit

  1. adversary tricks victim to load the iFrame overlay page: adversary utilizes some form of temptation, misdirection or coercion to trick the victim to loading and interacting with the iFrame overlay page in a way that increases the chances that the victim will visit the malicious page.

  2. Techniques
    Trick the victim to the malicious site by sending the victim an e-mail with a URL to the site.
    Trick the victim to the malicious site by manipulating URLs on a site trusted by the victim.
    Trick the victim to the malicious site through a cross-site scripting attack.
  3. Trick victim into interacting with the iFrame overlay page in the desired manner: The adversary tricks the victim into clicking on the areas of the UI which contain the hidden action controls and thereby interacts with the target system maliciously with the victim's level of privilege.

  4. Techniques
    Hide action controls over very commonly used functionality.
    Hide action controls over very psychologically tempting content.
", "x_capec_extended_description": "\n While being logged in to some target system, the victim visits the adversarys' malicious site which displays a UI that the victim wishes to interact with. In reality, the iFrame overlay page has a transparent layer above the visible UI with action controls that the adversary wishes the victim to execute. The victim clicks on buttons or other UI elements they see on the page which actually triggers the action controls in the transparent overlaying layer. Depending on what that action control is, the adversary may have just tricked the victim into executing some potentially privileged (and most undesired) functionality in the target system to which the victim is authenticated. The basic problem here is that there is a dichotomy between what the victim thinks they are clicking on versus what they are actually clicking on.\n ", "x_capec_likelihood_of_attack": "Medium", "x_capec_prerequisites": [ "The victim is communicating with the target application via a web based UI and not a thick client. The victim's browser security policies allow iFrames. The victim uses a modern browser that supports UI elements like clickable buttons (i.e. not using an old text only browser). The victim has an active session with the target system. The target system's interaction window is open in the victim's browser and supports the ability for initiating sensitive actions on behalf of the user in the target system." ], "x_capec_resources_required": [ "None: No specialized resources are required to execute this type of attack." ], "x_capec_skills_required": { "High": "Crafting the proper malicious site and luring the victim to this site is not a trivial task." }, "x_capec_status": "Draft", "x_capec_typical_severity": "High", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "Configuration: Disable iFrames in the Web browser.", "id": "course-of-action--da7d677a-ae6f-4b92-b6a4-578b18ac2096", "modified": "2022-09-29T00:00:00.000Z", "name": "coa-222-0", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "course-of-action", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--f004d2c5-c636-4b39-9be8-fbf612902dbb", "modified": "2022-09-29T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--da7d677a-ae6f-4b92-b6a4-578b18ac2096", "spec_version": "2.1", "target_ref": "attack-pattern--b9593e93-5589-4ae9-b0e7-09fa5c3136e5", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "Operation: When maintaining an authenticated session with a privileged target system, do not use the same browser to navigate to unfamiliar sites to perform other activities. Finish working with the target system and logout first before proceeding to other tasks.", "id": "course-of-action--0fd28b29-b808-4832-90eb-f5f753cb6353", "modified": "2022-09-29T00:00:00.000Z", "name": "coa-222-1", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "course-of-action", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--8ceb66f2-318c-41f7-9c7f-8411d9e9db00", "modified": "2022-09-29T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--0fd28b29-b808-4832-90eb-f5f753cb6353", "spec_version": "2.1", "target_ref": "attack-pattern--b9593e93-5589-4ae9-b0e7-09fa5c3136e5", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "Operation: If using the Firefox browser, use the NoScript plug-in that will help forbid iFrames.", "id": "course-of-action--37728b90-749a-4550-90b1-0befc14f3052", "modified": "2022-09-29T00:00:00.000Z", "name": "coa-222-2", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "course-of-action", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--653bb15f-3973-4933-b573-881524838af8", "modified": "2022-09-29T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--37728b90-749a-4550-90b1-0befc14f3052", "spec_version": "2.1", "target_ref": "attack-pattern--b9593e93-5589-4ae9-b0e7-09fa5c3136e5", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "An adversary compares output from a target system to known indicators that uniquely identify specific details about the target. Most commonly, fingerprinting is done to determine operating system and application versions. Fingerprinting can be done passively as well as actively. Fingerprinting by itself is not usually detrimental to the target. However, the information gathered through fingerprinting often enables an adversary to discover existing weaknesses in the target.", "external_references": [ { "external_id": "CAPEC-224", "source_name": "capec", "url": "https://capec.mitre.org/data/definitions/224.html" }, { "external_id": "CWE-200", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/200.html" }, { "description": "Fingerprinting", "external_id": "45", "source_name": "WASC", "url": "http://projects.webappsec.org/Fingerprinting" } ], "id": "attack-pattern--76e6fe1e-34f2-40cd-8f12-f4d4f9c41808", "modified": "2020-12-17T00:00:00.000Z", "name": "Fingerprinting", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "attack-pattern", "x_capec_abstraction": "Meta", "x_capec_consequences": { "Confidentiality": [ "Read Data" ] }, "x_capec_domains": [ "Software" ], "x_capec_likelihood_of_attack": "High", "x_capec_parent_of_refs": [ "attack-pattern--6227a1fc-7504-4a5f-b5b2-4c4f1fe38617", "attack-pattern--f40c59ce-f023-4e3e-937e-07fa2b7bc3ec", "attack-pattern--e7eec058-4cd9-4fa0-8784-ed961d8d7290" ], "x_capec_prerequisites": [ "A means by which to interact with the target system directly." ], "x_capec_resources_required": [ "If on a network, the adversary needs a tool capable of viewing network communications at the packet level and with header information, like Mitmproxy, Wireshark, or Fiddler." ], "x_capec_skills_required": { "Medium": "Some fingerprinting activity requires very specific knowledge of how different operating systems respond to various TCP/IP requests. Application fingerprinting can be as easy as envoking the application with the correct command line argument, or mouse clicking in the appropriate place on the screen." }, "x_capec_status": "Stable", "x_capec_typical_severity": "Very Low", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "While some information is shared by systems automatically based on standards and protocols, remove potentially sensitive information that is not necessary for the application's functionality as much as possible.", "id": "course-of-action--e117150b-4841-447b-aef4-8a9aa1d5ad94", "modified": "2020-12-17T00:00:00.000Z", "name": "coa-224-0", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "course-of-action", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--1eb63bf7-b7b2-4e41-9dfa-0544c490911b", "modified": "2020-12-17T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--e117150b-4841-447b-aef4-8a9aa1d5ad94", "spec_version": "2.1", "target_ref": "attack-pattern--76e6fe1e-34f2-40cd-8f12-f4d4f9c41808", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "An attacker manipulates an existing credential in order to gain access to a target application. Session credentials allow users to identify themselves to a service after an initial authentication without needing to resend the authentication information (usually a username and password) with every message. An attacker may be able to manipulate a credential sniffed from an existing connection in order to gain access to a target server.", "external_references": [ { "external_id": "CAPEC-226", "source_name": "capec", "url": "https://capec.mitre.org/data/definitions/226.html" }, { "external_id": "CWE-565", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/565.html" }, { "external_id": "CWE-472", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/472.html" } ], "id": "attack-pattern--012db73f-2f3c-49f3-bdf3-12ec3eee01ce", "modified": "2022-02-22T00:00:00.000Z", "name": "Session Credential Falsification through Manipulation", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "attack-pattern", "x_capec_abstraction": "Detailed", "x_capec_child_of_refs": [ "attack-pattern--414d0884-4f46-4a51-b4ea-72125c7f5f9e" ], "x_capec_domains": [ "Software" ], "x_capec_extended_description": "\n For example, a credential in the form of a web cookie might have a field that indicates the access rights of a user. By manually tweaking this cookie, a user might be able to increase their access rights to the server. Alternately an attacker may be able to manipulate an existing credential to appear as a different user. This attack differs from falsification through prediction in that the user bases their modified credentials off existing credentials instead of using patterns detected in prior credentials to create a new credential that is accepted because it fits the pattern. As a result, an attacker may be able to impersonate other users or elevate their permissions to a targeted service.\n ", "x_capec_prerequisites": [ "The targeted application must use session credentials to identify legitimate users." ], "x_capec_resources_required": [ "An attacker will need tools to sniff existing credentials (possibly their own) in order to retrieve a base credential for modification. They will need to understand how the components of the credential affect server behavior and how to manipulate this behavior by changing the credential. Finally, they will need tools to allow them to craft and transmit a modified credential." ], "x_capec_status": "Draft", "x_capec_typical_severity": "Medium", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "An adversary attempts to deny legitimate users access to a resource by continually engaging a specific resource in an attempt to keep the resource tied up as long as possible. The adversary's primary goal is not to crash or flood the target, which would alert defenders; rather it is to repeatedly perform actions or abuse algorithmic flaws such that a given resource is tied up and not available to a legitimate user. By carefully crafting a requests that keep the resource engaged through what is seemingly benign requests, legitimate users are limited or completely denied access to the resource.", "external_references": [ { "external_id": "CAPEC-227", "source_name": "capec", "url": "https://capec.mitre.org/data/definitions/227.html" }, { "external_id": "CWE-400", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/400.html" }, { "description": "Endpoint Denial of Service", "external_id": "T1499", "source_name": "ATTACK", "url": "https://attack.mitre.org/wiki/Technique/T1499" }, { "description": "Denial of Service", "external_id": "10", "source_name": "WASC", "url": "http://projects.webappsec.org/Denial-of-Service" } ], "id": "attack-pattern--6e3dda09-c1da-4f44-a0b3-e0e3b6fe0601", "modified": "2023-01-24T00:00:00.000Z", "name": "Sustained Client Engagement", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "attack-pattern", "x_capec_abstraction": "Meta", "x_capec_domains": [ "Software" ], "x_capec_extended_description": "\n The degree to which the attack is successful depends upon the adversary's ability to sustain resource requests over time with a volume that exceeds the normal usage by legitimate users, as well as other mitigating circumstances such as the target's ability to shift load or acquire additional resources to deal with the depletion. This attack differs from a flooding attack as it is not entirely dependent upon large volumes of requests, and it differs from resource leak exposures which tend to exploit the surrounding environment needed for the resource to function. The key factor in a sustainment attack are the repeated requests that take longer to process than usual.\n ", "x_capec_parent_of_refs": [ "attack-pattern--aa92a904-ed9d-4dc3-a01f-c965521e9934" ], "x_capec_prerequisites": [ "This pattern of attack requires a temporal aspect to the servicing of a given request. Success can be achieved if the adversary can make requests that collectively take more time to complete than legitimate user requests within the same time frame." ], "x_capec_resources_required": [ "To successfully execute this pattern of attack, a script or program is often required that is capable of continually engaging the target and maintaining sustained usage of a specific resource. Depending on the configuration of the target, it may or may not be necessary to involve a network or cluster of objects all capable of making parallel requests." ], "x_capec_status": "Draft", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "Potential mitigations include requiring a unique login for each resource request, constraining local unprivileged access by disallowing simultaneous engagements of the resource, or limiting access to the resource to one access per IP address. In such scenarios, the adversary would have to increase engagements either by launching multiple sessions manually or programmatically to counter such defenses.", "id": "course-of-action--ba77ea83-e6e2-4046-9e24-9a6bd2a3a947", "modified": "2023-01-24T00:00:00.000Z", "name": "coa-227-0", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "course-of-action", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--f425c6e4-a641-4d70-890a-e1583d4defe9", "modified": "2023-01-24T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--ba77ea83-e6e2-4046-9e24-9a6bd2a3a947", "spec_version": "2.1", "target_ref": "attack-pattern--6e3dda09-c1da-4f44-a0b3-e0e3b6fe0601", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "An attacker injects malicious content into an application's DTD in an attempt to produce a negative technical impact. DTDs are used to describe how XML documents are processed. Certain malformed DTDs (for example, those with excessive entity expansion as described in CAPEC 197) can cause the XML parsers that process the DTDs to consume excessive resources resulting in resource depletion.", "external_references": [ { "external_id": "CAPEC-228", "source_name": "capec", "url": "https://capec.mitre.org/data/definitions/228.html" }, { "external_id": "CWE-829", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/829.html" }, { "description": "Ryan Naraine, DoS Flaw in SOAP DTD Parameter, InternetNews.com, 2003--12---15, ITBusiness Edge, Quinstreet Inc.", "external_id": "REF-86", "source_name": "reference_from_CAPEC", "url": "http://www.internetnews.com/dev-news/article.php/3289191" } ], "id": "attack-pattern--5cf3eacf-a0c6-4c59-9f97-4f677a90587a", "modified": "2020-12-17T00:00:00.000Z", "name": "DTD Injection", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "attack-pattern", "x_capec_abstraction": "Detailed", "x_capec_can_follow_refs": [ "attack-pattern--8e3a14fd-870a-4286-866d-805107c7d922" ], "x_capec_can_precede_refs": [ "attack-pattern--f36abc8a-043e-42c5-876d-a65fc0cddc1e", "attack-pattern--8f70b1fb-393f-4494-b4ad-67f1a2107975" ], "x_capec_child_of_refs": [ "attack-pattern--aa6a831a-8eae-4690-b4a2-ff3e4d43a716" ], "x_capec_domains": [ "Software" ], "x_capec_execution_flow": "

Execution Flow

Explore

  1. Survey the target: Using a browser or an automated tool, an attacker records all instances of web services to process XML requests.

  2. Techniques
    Use an automated tool to record all instances of URLs to process XML requests.
    Use a browser to manually explore the website and analyze how the application processes XML requests.
  3. Determine use of XML with DTDs: Examine application input to identify XML input that leverage the use of one or more DTDs.

  4. Techniques
    Examine any available documentation for the application that discusses expected XML input.
    Exercise the application using XML input with and without a DTD specified. Failure without DTD likely indicates use of DTD.

Exploit

  1. [Craft and inject XML containg malicious DTD payload]

  2. Techniques
    Inject XML expansion attack that creates a Denial of Service impact on the targeted server using its DTD.
    Inject XML External Entity (XEE) attack that can cause the disclosure of confidential information, execute abitrary code, create a Denial of Service of the targeted server, or several other malicious impacts.
", "x_capec_prerequisites": [ "The target must be running an XML based application that leverages DTDs." ], "x_capec_status": "Draft", "x_capec_typical_severity": "Medium", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "Design: Sanitize incoming DTDs to prevent excessive expansion or other actions that could result in impacts like resource depletion.", "id": "course-of-action--1370701a-b19a-4690-9a01-1c14c7c7f2a7", "modified": "2020-12-17T00:00:00.000Z", "name": "coa-228-0", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "course-of-action", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--fa5c2311-5b43-4e21-9d1c-a3f38ff378bc", "modified": "2020-12-17T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--1370701a-b19a-4690-9a01-1c14c7c7f2a7", "spec_version": "2.1", "target_ref": "attack-pattern--5cf3eacf-a0c6-4c59-9f97-4f677a90587a", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "Implementation: Disallow the inclusion of DTDs as part of incoming messages.", "id": "course-of-action--08a65d0b-e628-4d0b-8c91-ee3b1e9c215c", "modified": "2020-12-17T00:00:00.000Z", "name": "coa-228-1", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "course-of-action", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--683d38cf-120d-459e-b68f-e88ec1e6e9ea", "modified": "2020-12-17T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--08a65d0b-e628-4d0b-8c91-ee3b1e9c215c", "spec_version": "2.1", "target_ref": "attack-pattern--5cf3eacf-a0c6-4c59-9f97-4f677a90587a", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "Implementation: Use XML parsing tools that protect against DTD attacks.", "id": "course-of-action--781b2c2c-e9f3-4d8a-b2e3-806800893f1a", "modified": "2020-12-17T00:00:00.000Z", "name": "coa-228-2", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "course-of-action", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--696727ca-cfe5-4525-84d1-4285f4a40004", "modified": "2020-12-17T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--781b2c2c-e9f3-4d8a-b2e3-806800893f1a", "spec_version": "2.1", "target_ref": "attack-pattern--5cf3eacf-a0c6-4c59-9f97-4f677a90587a", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "This attack exploits certain serialized data parsers (e.g., XML, YAML, etc.) which manage data in an inefficient manner. The attacker crafts an serialized data file with multiple configuration parameters in the same dataset. In a vulnerable parser, this results in a denial of service condition where CPU resources are exhausted because of the parsing algorithm. The weakness being exploited is tied to parser implementation and not language specific.", "external_references": [ { "external_id": "CAPEC-229", "source_name": "capec", "url": "https://capec.mitre.org/data/definitions/229.html" }, { "external_id": "CWE-770", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/770.html" }, { "description": "XML Attribute Blowup", "external_id": "41", "source_name": "WASC", "url": "http://projects.webappsec.org/XML-Attribute-Blowup" } ], "id": "attack-pattern--da41d572-d779-44a8-b8bf-530f49c32861", "modified": "2022-09-29T00:00:00.000Z", "name": "Serialized Data Parameter Blowup", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "attack-pattern", "x_capec_abstraction": "Detailed", "x_capec_child_of_refs": [ "attack-pattern--247019da-353e-4910-9d11-7dc6c0421a17" ], "x_capec_domains": [ "Software" ], "x_capec_example_instances": [ "\n In this example, assume that the victim is running a vulnerable parser such as .NET framework 1.0. This results in a quadratic runtime of O(n^2).\n \n A document with n attributes results in (n^2)/2 operations to be performed. If an operation takes 100 nanoseconds then a document with 100,000 operations would take 500s to process. In this fashion a small message of less than 1MB causes a denial of service condition on the CPU resources.\n ", "\n A YAML bomb leverages references within a YAML file to create exponential growth in memory requirements. By creating a chain of keys whose values are a list of multiple references to the next key in the chain, the amount of memory and processing required to handle the data grows exponentially. This may lead to denial of service or instability resulting from excessive resource consumption.\n " ], "x_capec_execution_flow": "

Execution Flow

Explore

  1. Survey the target: Using a browser or an automated tool, an attacker records all instances of web services to process requests using serialized data.

  2. Techniques
    Use an automated tool to record all instances of URLs to process requests from serialized data.
    Use a browser to manually explore the website and analyze how the application processes requests using serialized data.

Exploit

  1. Launch a Blowup attack: The attacker crafts malicious messages that contain multiple configuration parameters in the same dataset.

  2. Techniques
    Send the malicious crafted message containing the multiple configuration parameters to the target URL, causing a denial of service.
", "x_capec_likelihood_of_attack": "High", "x_capec_prerequisites": [ "The server accepts input in the form of serialized data and is using a parser with a runtime longer than O(n) for the insertion of a new configuration parameter in the data container.(examples are .NET framework 1.0 and 1.1)" ], "x_capec_status": "Draft", "x_capec_typical_severity": "High", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "This attack may be mitigated completely by using a parser that is not using a vulnerable container.", "id": "course-of-action--2a9a6199-3e7e-4a2d-960a-04abb1fec1e0", "modified": "2022-09-29T00:00:00.000Z", "name": "coa-229-0", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "course-of-action", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--06659f84-ed6a-4b74-8618-ed6de31ac40a", "modified": "2022-09-29T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--2a9a6199-3e7e-4a2d-960a-04abb1fec1e0", "spec_version": "2.1", "target_ref": "attack-pattern--da41d572-d779-44a8-b8bf-530f49c32861", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "Mitigation may limit the number of configuration parameters per dataset.", "id": "course-of-action--5dbcf5bb-4047-46ef-945a-d3b658626300", "modified": "2022-09-29T00:00:00.000Z", "name": "coa-229-1", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "course-of-action", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--c4b0778c-9df8-4c69-a647-540ef4e5f2aa", "modified": "2022-09-29T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--5dbcf5bb-4047-46ef-945a-d3b658626300", "spec_version": "2.1", "target_ref": "attack-pattern--da41d572-d779-44a8-b8bf-530f49c32861", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "An adversary poisons files with a malicious payload (targeting the file systems accessible by the target software), which may be passed through by standard channels such as via email, and standard web content like PDF and multimedia files. The adversary exploits known vulnerabilities or handling routines in the target processes, in order to exploit the host's trust in executing remote content, including binary files.", "external_references": [ { "external_id": "CAPEC-23", "source_name": "capec", "url": "https://capec.mitre.org/data/definitions/23.html" }, { "external_id": "CWE-20", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/20.html" }, { "description": "G. Hoglund, G. McGraw, Exploiting Software: How to Break Code, 2004--02, Addison-Wesley", "external_id": "REF-1", "source_name": "reference_from_CAPEC" } ], "id": "attack-pattern--521348c2-b1df-492f-ac83-1f3ffe102046", "modified": "2022-02-22T00:00:00.000Z", "name": "File Content Injection", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "attack-pattern", "x_capec_abstraction": "Standard", "x_capec_child_of_refs": [ "attack-pattern--7f0f7de2-bf09-4f60-86bb-6933192b7128" ], "x_capec_consequences": { "Availability": [ "Execute Unauthorized Commands (Run Arbitrary Code)" ], "Confidentiality": [ "Execute Unauthorized Commands (Run Arbitrary Code)" ], "Integrity": [ "Execute Unauthorized Commands (Run Arbitrary Code)" ] }, "x_capec_domains": [ "Software" ], "x_capec_example_instances": [ "\n PHP is a very popular language used for developing web applications. When PHP is used with global variables, a vulnerability may be opened that affects the file system. A standard HTML form that allows for remote users to upload files, may also place those files in a public directory where the adversary can directly access and execute them through a browser. This vulnerability allows remote adversaries to execute arbitrary code on the system, and can result in the adversary being able to erase intrusion evidence from system and application logs.\n " ], "x_capec_extended_description": "\n Vulnerabilities of this type have been found in a wide variety of commercial applications from Microsoft Office to Adobe Acrobat and Apple Safari web browser. When the adversary knows the standard handling routines and can identify vulnerabilities and entry points, they can be exploited by otherwise seemingly normal content. Once the attack is executed, the adversary's program can access relative directories such as C:\\Program Files or other standard system directories to launch further attacks. In a worst case scenario, these programs are combined with other propagation logic and work as a virus.\n ", "x_capec_likelihood_of_attack": "High", "x_capec_parent_of_refs": [ "attack-pattern--d3634072-88f9-4711-987f-6bff7698bd4c" ], "x_capec_prerequisites": [ "The target software must consume files.", "The adversary must have access to modify files that the target software will consume." ], "x_capec_skills_required": { "Medium": "How to poison a file with malicious payload that will exploit a vulnerability when the file is opened. The adversary must also know how to place the file onto a system where it will be opened by an unsuspecting party, or force the file to be opened." }, "x_capec_status": "Draft", "x_capec_typical_severity": "Very High", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--6e333960-e5cb-4589-9771-ba6ba993cd18", "modified": "2022-02-22T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--a4112a44-a0f9-4bde-bebe-74ed96c4cd3f", "spec_version": "2.1", "target_ref": "attack-pattern--521348c2-b1df-492f-ac83-1f3ffe102046", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "Design: Validate all input for content including files. Ensure that if files and remote content must be accepted that once accepted, they are placed in a sandbox type location so that lower assurance clients cannot write up to higher assurance processes (like Web server processes for example)", "id": "course-of-action--f1b328f3-e5f7-4c0b-8cd1-92c178d9dffa", "modified": "2022-02-22T00:00:00.000Z", "name": "coa-23-1", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "course-of-action", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--0c333c67-716a-4a61-8bf6-5f10bc34123e", "modified": "2022-02-22T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--f1b328f3-e5f7-4c0b-8cd1-92c178d9dffa", "spec_version": "2.1", "target_ref": "attack-pattern--521348c2-b1df-492f-ac83-1f3ffe102046", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--cc7b7a16-616e-46d7-b94c-09b98235f8a0", "modified": "2022-02-22T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--59bcc683-a1e5-4b88-9821-ddb734003114", "spec_version": "2.1", "target_ref": "attack-pattern--521348c2-b1df-492f-ac83-1f3ffe102046", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--b7de6045-8f58-4418-9b3f-fc61acce3199", "modified": "2022-02-22T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--da440d05-dc0e-4bfa-8490-7178ae419336", "spec_version": "2.1", "target_ref": "attack-pattern--521348c2-b1df-492f-ac83-1f3ffe102046", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "Implementation: Virus scanning on host", "id": "course-of-action--1d44c0fd-4e64-4fa4-8d72-c90a53d49497", "modified": "2022-02-22T00:00:00.000Z", "name": "coa-23-4", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "course-of-action", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--a05f53a8-d3f4-43a9-918b-d1d51c74287e", "modified": "2022-02-22T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--1d44c0fd-4e64-4fa4-8d72-c90a53d49497", "spec_version": "2.1", "target_ref": "attack-pattern--521348c2-b1df-492f-ac83-1f3ffe102046", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--960af13f-fe8f-4f17-982b-7e5360329636", "modified": "2022-02-22T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--3c433a52-7784-4abd-b404-41fc8a423886", "spec_version": "2.1", "target_ref": "attack-pattern--521348c2-b1df-492f-ac83-1f3ffe102046", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "Applications often need to transform data in and out of a data format (e.g., XML and YAML) by using a parser. It may be possible for an adversary to inject data that may have an adverse effect on the parser when it is being processed. Many data format languages allow the definition of macro-like structures that can be used to simplify the creation of complex structures. By nesting these structures, causing the data to be repeatedly substituted, an adversary can cause the parser to consume more resources while processing, causing excessive memory consumption and CPU utilization.", "external_references": [ { "external_id": "CAPEC-230", "source_name": "capec", "url": "https://capec.mitre.org/data/definitions/230.html" }, { "external_id": "CWE-112", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/112.html" }, { "external_id": "CWE-20", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/20.html" }, { "external_id": "CWE-674", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/674.html" }, { "external_id": "CWE-770", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/770.html" }, { "description": "Shlomo, Yona, XML Parser Attacks: A summary of ways to attack an XML Parser, 2007", "external_id": "REF-89", "source_name": "reference_from_CAPEC", "url": "http://yeda.cs.technion.ac.il/~yona/talks/xml_parser_attacks/slides/slide2.html" } ], "id": "attack-pattern--8abd01d1-b2a2-4b86-a640-7d3d3b61d27f", "modified": "2021-10-21T00:00:00.000Z", "name": "Serialized Data with Nested Payloads", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "attack-pattern", "x_capec_abstraction": "Standard", "x_capec_alternate_terms": [ "XML Denial of Service (XML DoS)" ], "x_capec_child_of_refs": [ "attack-pattern--e171fd74-3ea6-4ad5-b0ff-71bb311c8024" ], "x_capec_consequences": { "Access_Control": [ "Gain Privileges" ], "Authorization": [ "Gain Privileges" ], "Availability": [ "Resource Consumption", "Execute Unauthorized Commands" ], "Confidentiality": [ "Read Data", "Execute Unauthorized Commands", "Gain Privileges" ], "Integrity": [ "Execute Unauthorized Commands" ] }, "x_capec_domains": [ "Software" ], "x_capec_execution_flow": "

Execution Flow

Explore

  1. An adversary determines the input data stream that is being processed by a data parser that supports using substitution on the victim's side.

Exploit

  1. An adversary crafts input data that may have an adverse effect on the operation of the parser when the data is parsed on the victim's system.

", "x_capec_extended_description": "\n An adversary's goal is to leverage parser failure to their advantage. In most cases this type of an attack will result in a Denial of Service due to an application becoming unstable, freezing, or crashing. However it may be possible to cause a crash resulting in arbitrary code execution, leading to a jump from the data plane to the control plane [REF-89].\n This attack is most closely associated with web services using SOAP or a Rest API, because remote service requesters can post malicious payloads to the service provider. The main weakness is that the service provider generally must inspect, parse, and validate the messages to determine routing, workflow, security considerations, and so on. It is exactly these inspection, parsing, and validation routines that this attack targets. This attack exploits the loosely coupled nature of web services, where the service provider has little to no control over the service requester and any messages the service requester sends.\n ", "x_capec_likelihood_of_attack": "Medium", "x_capec_parent_of_refs": [ "attack-pattern--f36abc8a-043e-42c5-876d-a65fc0cddc1e", "attack-pattern--8f70b1fb-393f-4494-b4ad-67f1a2107975" ], "x_capec_prerequisites": [ "An application's user-controllable data is expressed in a language that supports subsitution.", "An application does not perform sufficient validation to ensure that user-controllable data is not malicious." ], "x_capec_status": "Draft", "x_capec_typical_severity": "High", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "Carefully validate and sanitize all user-controllable data prior to passing it to the data parser routine. Ensure that the resultant data is safe to pass to the data parser.", "id": "course-of-action--b31f921a-2494-4fb9-ac18-d36b931a8d7d", "modified": "2021-10-21T00:00:00.000Z", "name": "coa-230-0", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "course-of-action", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--8e30d321-aee2-4f0d-942b-aab56874c9cd", "modified": "2021-10-21T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--b31f921a-2494-4fb9-ac18-d36b931a8d7d", "spec_version": "2.1", "target_ref": "attack-pattern--8abd01d1-b2a2-4b86-a640-7d3d3b61d27f", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "Perform validation on canonical data.", "id": "course-of-action--7ca13542-450d-4218-bd44-e0cf51b2ecc3", "modified": "2021-10-21T00:00:00.000Z", "name": "coa-230-1", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "course-of-action", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--8c47b649-733d-47c3-a553-9ef173fdeb95", "modified": "2021-10-21T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--7ca13542-450d-4218-bd44-e0cf51b2ecc3", "spec_version": "2.1", "target_ref": "attack-pattern--8abd01d1-b2a2-4b86-a640-7d3d3b61d27f", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "Pick a robust implementation of the data parser.", "id": "course-of-action--9ebad4d6-6c54-4d17-903f-4ad0ab05a641", "modified": "2021-10-21T00:00:00.000Z", "name": "coa-230-2", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "course-of-action", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--14e9f6cc-aaff-41a7-b258-5c540335632f", "modified": "2021-10-21T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--9ebad4d6-6c54-4d17-903f-4ad0ab05a641", "spec_version": "2.1", "target_ref": "attack-pattern--8abd01d1-b2a2-4b86-a640-7d3d3b61d27f", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "An adversary injects oversized serialized data payloads into a parser during data processing to produce adverse effects upon the parser such as exhausting system resources and arbitrary code execution.", "external_references": [ { "external_id": "CAPEC-231", "source_name": "capec", "url": "https://capec.mitre.org/data/definitions/231.html" }, { "external_id": "CWE-112", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/112.html" }, { "external_id": "CWE-20", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/20.html" }, { "external_id": "CWE-674", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/674.html" }, { "external_id": "CWE-770", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/770.html" }, { "description": "Shlomo, Yona, XML Parser Attacks: A summary of ways to attack an XML Parser, 2007", "external_id": "REF-89", "source_name": "reference_from_CAPEC", "url": "http://yeda.cs.technion.ac.il/~yona/talks/xml_parser_attacks/slides/slide2.html" } ], "id": "attack-pattern--247019da-353e-4910-9d11-7dc6c0421a17", "modified": "2022-09-29T00:00:00.000Z", "name": "Oversized Serialized Data Payloads", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "attack-pattern", "x_capec_abstraction": "Standard", "x_capec_alternate_terms": [ "XML Denial of Service (XML DoS)" ], "x_capec_child_of_refs": [ "attack-pattern--e171fd74-3ea6-4ad5-b0ff-71bb311c8024" ], "x_capec_consequences": { "Access_Control": [ "Gain Privileges" ], "Authorization": [ "Gain Privileges" ], "Availability": [ "Resource Consumption", "Execute Unauthorized Commands" ], "Confidentiality": [ "Read Data", "Execute Unauthorized Commands", "Gain Privileges" ], "Integrity": [ "Execute Unauthorized Commands" ] }, "x_capec_domains": [ "Software" ], "x_capec_execution_flow": "

Execution Flow

Explore

  1. An adversary determines the input data stream that is being processed by an serialized data parser on the victim's side.

Experiment

  1. An adversary crafts input data that may have an adverse effect on the operation of the data parser when the data is parsed on the victim's system.

", "x_capec_extended_description": "\n Applications often need to transform data in and out of serialized data formats, such as XML and YAML, by using a data parser. It may be possible for an adversary to inject data that may have an adverse effect on the parser when it is being processed. By supplying oversized payloads in input vectors that will be processed by the parser, an adversary can cause the parser to consume more resources while processing, causing excessive memory consumption and CPU utilization, and potentially cause execution of arbitrary code. An adversary's goal is to leverage parser failure to their advantage. DoS is most closely associated with web services, SOAP, and Rest, because remote service requesters can post malicious data payloads to the service provider designed to exhaust the service provider's memory, CPU, and/or disk space. This attack exploits the loosely coupled nature of web services, where the service provider has little to no control over the service requester and any messages the service requester sends.\n ", "x_capec_likelihood_of_attack": "Medium", "x_capec_parent_of_refs": [ "attack-pattern--ee525a27-de33-45e9-ba7f-f63562001a5b", "attack-pattern--da41d572-d779-44a8-b8bf-530f49c32861" ], "x_capec_prerequisites": [ "An application uses an parser for serialized data to perform transformation on user-controllable data.", "An application does not perform sufficient validation to ensure that user-controllable data is safe for a data parser." ], "x_capec_skills_required": { "High": "Arbitrary code execution", "Low": "Denial of service" }, "x_capec_status": "Draft", "x_capec_typical_severity": "High", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "Carefully validate and sanitize all user-controllable serialized data prior to passing it to the parser routine. Ensure that the resultant data is safe to pass to the parser.", "id": "course-of-action--e235322d-0b83-4799-860a-2681f51d6ea5", "modified": "2022-09-29T00:00:00.000Z", "name": "coa-231-0", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "course-of-action", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--abe2962c-e934-432f-9b1b-de3b76706fbc", "modified": "2022-09-29T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--e235322d-0b83-4799-860a-2681f51d6ea5", "spec_version": "2.1", "target_ref": "attack-pattern--247019da-353e-4910-9d11-7dc6c0421a17", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--a7f9b18e-bc2b-4981-ac34-7d93f9d6dde7", "modified": "2022-09-29T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--7ca13542-450d-4218-bd44-e0cf51b2ecc3", "spec_version": "2.1", "target_ref": "attack-pattern--247019da-353e-4910-9d11-7dc6c0421a17", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "Pick a robust implementation of the serialized data parser.", "id": "course-of-action--c7172552-a553-4ec3-ac05-d847c8f293e5", "modified": "2022-09-29T00:00:00.000Z", "name": "coa-231-2", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "course-of-action", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--2938365a-8b0f-4d54-8471-81ea79d3ef9a", "modified": "2022-09-29T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--c7172552-a553-4ec3-ac05-d847c8f293e5", "spec_version": "2.1", "target_ref": "attack-pattern--247019da-353e-4910-9d11-7dc6c0421a17", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "Validate data against a valid schema or DTD prior to parsing.", "id": "course-of-action--94c30519-b707-419d-b628-0f08718b908b", "modified": "2022-09-29T00:00:00.000Z", "name": "coa-231-3", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "course-of-action", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--7a7e323e-7ab6-42f3-a56d-42335147b140", "modified": "2022-09-29T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--94c30519-b707-419d-b628-0f08718b908b", "spec_version": "2.1", "target_ref": "attack-pattern--247019da-353e-4910-9d11-7dc6c0421a17", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "An adversary exploits a weakness enabling them to elevate their privilege and perform an action that they are not supposed to be authorized to perform.", "external_references": [ { "external_id": "CAPEC-233", "source_name": "capec", "url": "https://capec.mitre.org/data/definitions/233.html" }, { "external_id": "CWE-269", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/269.html" }, { "external_id": "CWE-1264", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/1264.html" }, { "external_id": "CWE-1311", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/1311.html" }, { "description": "Abuse Elevation Control Mechanism", "external_id": "T1548", "source_name": "ATTACK", "url": "https://attack.mitre.org/wiki/Technique/T1548" }, { "description": "OWASP Web Security Testing Guide, The Open Web Application Security Project (OWASP)", "external_id": "REF-600", "source_name": "reference_from_CAPEC", "url": "https://owasp.org/www-project-web-security-testing-guide/latest/4-Web_Application_Security_Testing/05-Authorization_Testing/03-Testing_for_Privilege_Escalation.html" } ], "id": "attack-pattern--c05fff04-b965-4a11-9c18-379dac31969f", "modified": "2021-10-21T00:00:00.000Z", "name": "Privilege Escalation", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "attack-pattern", "x_capec_abstraction": "Meta", "x_capec_can_follow_refs": [ "attack-pattern--9ad2c2eb-9939-4590-9683-2e789692d262" ], "x_capec_domains": [ "Software", "Hardware" ], "x_capec_parent_of_refs": [ "attack-pattern--ebf5cbfb-36d8-4983-9267-9d17bff3817f", "attack-pattern--9f1d96c7-fcc8-4708-b98d-23f1fd86e07b", "attack-pattern--1cc991f7-9f62-4e6b-9e37-70fa23ab23e9", "attack-pattern--2b8d7aaf-bd4b-424f-8df4-6d0f37b72f4b", "attack-pattern--ca989a50-b24e-4917-a234-ce4788fa21c7" ], "x_capec_status": "Draft", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "An adversary gains control of a process that is assigned elevated privileges in order to execute arbitrary code with those privileges. Some processes are assigned elevated privileges on an operating system, usually through association with a particular user, group, or role. If an attacker can hijack this process, they will be able to assume its level of privilege in order to execute their own code.", "external_references": [ { "external_id": "CAPEC-234", "source_name": "capec", "url": "https://capec.mitre.org/data/definitions/234.html" }, { "external_id": "CWE-732", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/732.html" }, { "external_id": "CWE-648", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/648.html" } ], "id": "attack-pattern--9f1d96c7-fcc8-4708-b98d-23f1fd86e07b", "modified": "2021-10-21T00:00:00.000Z", "name": "Hijacking a privileged process", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "attack-pattern", "x_capec_abstraction": "Standard", "x_capec_child_of_refs": [ "attack-pattern--c05fff04-b965-4a11-9c18-379dac31969f" ], "x_capec_domains": [ "Software" ], "x_capec_execution_flow": "

Execution Flow

Explore

  1. Find process with elevated priveleges: The adversary probes for processes running with elevated privileges.

  2. Techniques
    On Windows, use the process explorer's security tab to see if a process is running with administror privileges.
    On Linux, use the ps command to view running processes and pipe the output to a search for a particular user, or the root user.

Experiment

  1. Find vulnerability in running process: The adversary looks for a vulnerability in the running process that would allow for arbitrary code execution with the privilege of the running process.

  2. Techniques
    Look for improper input validation
    Look for a buffer overflow which may be exploited if an adversary can inject unvalidated data.
    Utilize system utilities that support process control that have been inadequately secured

Exploit

  1. Execute arbitrary code: The adversary exploits the vulnerability that they have found and hijacks the running process.

", "x_capec_prerequisites": [ "The targeted process or operating system must contain a bug that allows attackers to hijack the targeted process." ], "x_capec_resources_required": [ "None: No specialized resources are required to execute this type of attack." ], "x_capec_status": "Draft", "x_capec_typical_severity": "Medium", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "This attack pattern has been deprecated. Please refer to CAPEC:30 - Hijacking a Privileged Thread of Execution.", "external_references": [ { "external_id": "CAPEC-235", "source_name": "capec", "url": "https://capec.mitre.org/data/definitions/235.html" } ], "id": "attack-pattern--19f01fde-7707-4938-afb5-daa22bf8c93f", "modified": "2018-07-31T00:00:00.000Z", "name": "DEPRECATED: Implementing a callback to system routine (old AWT Queue)", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "attack-pattern", "x_capec_abstraction": "Detailed", "x_capec_status": "Deprecated", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "This attack pattern has been deprecated as it did not have enough distinction from CAPEC-30 : Hijacking a Privileged Thread of Execution. Please refer to CAPEC-30 moving forward.", "external_references": [ { "external_id": "CAPEC-236", "source_name": "capec", "url": "https://capec.mitre.org/data/definitions/236.html" } ], "id": "attack-pattern--6616521d-b2f8-49c0-95cd-587eab111f91", "modified": "2021-10-21T00:00:00.000Z", "name": "DEPRECATED: Catching exception throw/signal from privileged block", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "attack-pattern", "x_capec_abstraction": "Detailed", "x_capec_status": "Deprecated", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "The attacker may submit malicious code of another language to obtain access to privileges that were not intentionally exposed by the sandbox, thus escaping the sandbox. For instance, Java code cannot perform unsafe operations, such as modifying arbitrary memory locations, due to restrictions placed on it by the Byte code Verifier and the JVM. If allowed, Java code can call directly into native C code, which may perform unsafe operations, such as call system calls and modify arbitrary memory locations on their behalf. To provide isolation, Java does not grant untrusted code with unmediated access to native C code. Instead, the sandboxed code is typically allowed to call some subset of the pre-existing native code that is part of standard libraries.", "external_references": [ { "external_id": "CAPEC-237", "source_name": "capec", "url": "https://capec.mitre.org/data/definitions/237.html" }, { "external_id": "CWE-693", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/693.html" }, { "description": "J. Cappos, J. Rasley, J. Samuel, I. Beschastnikh, C. Barsan, A. Krishnamurthy, T. Anderson, Retaining Sandbox Containment Despite Bugs in Privileged Memory-Safe Code, The 17th ACM Conference on Computer and Communications Security (CCS '10), 2010", "external_id": "REF-91", "source_name": "reference_from_CAPEC" }, { "description": "Malware Protection Center: Threat Research and Response, 2007, Microsoft Corporation", "external_id": "REF-92", "source_name": "reference_from_CAPEC", "url": "https://www.microsoft.com/en-us/wdsi/threats/malware-encyclopedia-description?Name=Exploit%3AJava%2FByteVerify.C" } ], "id": "attack-pattern--1d1fb93d-ce79-4c64-9987-94577fb894ce", "modified": "2020-12-17T00:00:00.000Z", "name": "Escaping a Sandbox by Calling Code in Another Language", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "attack-pattern", "x_capec_abstraction": "Detailed", "x_capec_child_of_refs": [ "attack-pattern--4abd48c8-f737-45db-bd7b-97d989ebd471" ], "x_capec_consequences": { "Access_Control": [ "Bypass Protection Mechanism" ], "Accountability": [ "Gain Privileges" ], "Authentication": [ "Gain Privileges" ], "Authorization": [ "Bypass Protection Mechanism", "Execute Unauthorized Commands (Run Arbitrary Code)", "Gain Privileges" ], "Non-Repudiation": [ "Gain Privileges" ] }, "x_capec_domains": [ "Software" ], "x_capec_example_instances": [ "Exploit: Java/ByteVerify.C is a detection of malicious code that attempts to exploit a vulnerability in the Microsoft Virtual Machine (VM). The VM enables Java programs to run on Windows platforms. The Microsoft Java VM is included in most versions of Windows and Internet Explorer. In some versions of the Microsoft VM, a vulnerability exists because of a flaw in the way the ByteCode Verifier checks code when it is initially being loaded by the Microsoft VM. The ByteCode Verifier is a low level process in the Microsoft VM that is responsible for checking the validity of code - or byte code - as it is initially being loaded into the Microsoft VM. Java/ByteVerify.C attempts to download a file named \"msits.exe\", located in the same virtual directory as the Java applet, into the Windows system folder, and with a random file name. It then tries to execute this specific file. This flaw enables attackers to execute arbitrary code on a user's machine such as writing, downloading and executing additional malware. This vulnerability is addressed by update MS03-011, released in 2003." ], "x_capec_execution_flow": "

Execution Flow

Explore

  1. Probing: The attacker probes the target application to see whether calling code of another language is allowed within a sandbox.

  2. Techniques
    The attacker probes the target application to see whether calling code of another language is allowed within a sandbox.
  3. Analysis: The attacker analyzes the target application to get a list of cross code weaknesses in the standard libraries of the sandbox.

  4. Techniques
    The attacker analyzes the target application to get a list of cross code weaknesses in the standard libraries of the sandbox.

Experiment

  1. Verify the exploitable security weaknesses: The attacker tries to craft malicious code of another language allowed by the sandbox to verify the security weaknesses of the standard libraries found in the Explore phase.

  2. Techniques
    The attacker tries to explore the security weaknesses by calling malicious code of another language allowed by the sandbox.

Exploit

  1. Exploit the security weaknesses in the standard libraries: The attacker calls malicious code of another language to exploit the security weaknesses in the standard libraries verified in the Experiment phase. The attacker will be able to obtain access to privileges that were not intentionally exposed by the sandbox, thus escaping the sandbox.

  2. Techniques
    The attacker calls malicious code of another language to exploit the security weaknesses in the standard libraries.
", "x_capec_likelihood_of_attack": "Low", "x_capec_resources_required": [ "None: No specialized resources are required to execute this type of attack." ], "x_capec_skills_required": { "High": "The attacker must have a good knowledge of the platform specific mechanisms of signing and verifying code. Most code signing and verification schemes are based on use of cryptography, the attacker needs to have an understand of these cryptographic operations in good detail." }, "x_capec_status": "Draft", "x_capec_typical_severity": "Very High", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "Assurance: Sanitize the code of the standard libraries to make sure there is no security weaknesses in them.", "id": "course-of-action--93d2ef31-a689-4f16-bf00-29334bcab36a", "modified": "2020-12-17T00:00:00.000Z", "name": "coa-237-0", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "course-of-action", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--b8d07f3e-4893-4581-9ddd-565364f55f22", "modified": "2020-12-17T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--93d2ef31-a689-4f16-bf00-29334bcab36a", "spec_version": "2.1", "target_ref": "attack-pattern--1d1fb93d-ce79-4c64-9987-94577fb894ce", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "Design: Use obfuscation and other techniques to prevent reverse engineering the standard libraries.", "id": "course-of-action--223d8fc3-bfd2-4786-917f-9e09d40cd357", "modified": "2020-12-17T00:00:00.000Z", "name": "coa-237-1", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "course-of-action", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--c1bf353f-a708-448c-8b53-22dadacd7c49", "modified": "2020-12-17T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--223d8fc3-bfd2-4786-917f-9e09d40cd357", "spec_version": "2.1", "target_ref": "attack-pattern--1d1fb93d-ce79-4c64-9987-94577fb894ce", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "Assurance: Use static analysis tool to do code review and dynamic tool to do penetration test on the standard library.", "id": "course-of-action--c136203e-0b03-420c-828f-a1e4a8b0534b", "modified": "2020-12-17T00:00:00.000Z", "name": "coa-237-2", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "course-of-action", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--9627981c-870d-4aff-a472-cb655535e9f3", "modified": "2020-12-17T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--c136203e-0b03-420c-828f-a1e4a8b0534b", "spec_version": "2.1", "target_ref": "attack-pattern--1d1fb93d-ce79-4c64-9987-94577fb894ce", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "Configuration: Get latest updates for the computer.", "id": "course-of-action--a6f9e9be-3354-4590-80a2-a451a7d8e128", "modified": "2020-12-17T00:00:00.000Z", "name": "coa-237-3", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "course-of-action", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--22d46b75-55c1-431a-a27b-350b72fa6541", "modified": "2020-12-17T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--a6f9e9be-3354-4590-80a2-a451a7d8e128", "spec_version": "2.1", "target_ref": "attack-pattern--1d1fb93d-ce79-4c64-9987-94577fb894ce", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "This attack pattern has been deprecated as it did not appear to be a valid attack pattern.", "external_references": [ { "external_id": "CAPEC-238", "source_name": "capec", "url": "https://capec.mitre.org/data/definitions/238.html" } ], "id": "attack-pattern--481983de-2023-47f1-be60-642556a65376", "modified": "2018-07-31T00:00:00.000Z", "name": "DEPRECATED: Using URL/codebase / G.A.C. (code source) to convince sandbox of privilege", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "attack-pattern", "x_capec_abstraction": "Detailed", "x_capec_status": "Deprecated", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "This attack pattern has been deprecated as it did not contain any content and did not serve any useful purpose. Please refer to \"CAPEC-207: removing Important Client Functionality\" going forward.", "external_references": [ { "external_id": "CAPEC-239", "source_name": "capec", "url": "https://capec.mitre.org/data/definitions/239.html" } ], "id": "attack-pattern--f7c4e923-3a66-458b-8bfe-bbeeebefe86a", "modified": "2019-04-04T00:00:00.000Z", "name": "DEPRECATED: Subversion of Authorization Checks: Cache Filtering, Programmatic Security, etc.", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "attack-pattern", "x_capec_abstraction": "Detailed", "x_capec_status": "Deprecated", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "In this attack, the idea is to cause an active filter to fail by causing an oversized transaction. An attacker may try to feed overly long input strings to the program in an attempt to overwhelm the filter (by causing a buffer overflow) and hoping that the filter does not fail securely (i.e. the user input is let into the system unfiltered).", "external_references": [ { "external_id": "CAPEC-24", "source_name": "capec", "url": "https://capec.mitre.org/data/definitions/24.html" }, { "external_id": "CWE-120", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/120.html" }, { "external_id": "CWE-119", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/119.html" }, { "external_id": "CWE-118", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/118.html" }, { "external_id": "CWE-74", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/74.html" }, { "external_id": "CWE-20", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/20.html" }, { "external_id": "CWE-680", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/680.html" }, { "external_id": "CWE-733", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/733.html" }, { "external_id": "CWE-697", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/697.html" }, { "description": "G. Hoglund, G. McGraw, Exploiting Software: How to Break Code, 2004--02, Addison-Wesley", "external_id": "REF-1", "source_name": "reference_from_CAPEC" } ], "id": "attack-pattern--d591235a-da3b-4872-8962-27fe44fa1ab0", "modified": "2022-09-29T00:00:00.000Z", "name": "Filter Failure through Buffer Overflow", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "attack-pattern", "x_capec_abstraction": "Detailed", "x_capec_child_of_refs": [ "attack-pattern--77e51461-7843-411c-a90e-852498957f76" ], "x_capec_consequences": { "Access_Control": [ "Bypass Protection Mechanism" ], "Authorization": [ "Bypass Protection Mechanism" ], "Availability": [ "Execute Unauthorized Commands (Run Arbitrary Code)", "Unreliable Execution" ], "Confidentiality": [ "Execute Unauthorized Commands (Run Arbitrary Code)", "Bypass Protection Mechanism" ], "Integrity": [ "Modify Data", "Execute Unauthorized Commands (Run Arbitrary Code)" ] }, "x_capec_domains": [ "Software" ], "x_capec_example_instances": [ "\n Sending in arguments that are too long to cause the filter to fail open is one instantiation of the filter failure attack. The Taylor UUCP daemon is designed to remove hostile arguments before they can be executed. If the arguments are too long, however, the daemon fails to remove them. This leaves the door open for attack.\n ", "A filter is used by a web application to filter out characters that may allow the input to jump from the data plane to the control plane when data is used in a SQL statement (chaining this attack with the SQL injection attack). Leveraging a buffer overflow the attacker makes the filter fail insecurely and the tainted data is permitted to enter unfiltered into the system, subsequently causing a SQL injection.", "Audit Truncation and Filters with Buffer Overflow. Sometimes very large transactions can be used to destroy a log file or cause partial logging failures. In this kind of attack, log processing code might be examining a transaction in real-time processing, but the oversized transaction causes a logic branch or an exception of some kind that is trapped. In other words, the transaction is still executed, but the logging or filtering mechanism still fails. This has two consequences, the first being that you can run transactions that are not logged in any way (or perhaps the log entry is completely corrupted). The second consequence is that you might slip through an active filter that otherwise would stop your attack." ], "x_capec_execution_flow": "

Execution Flow

Explore

  1. Survey: The attacker surveys the target application, possibly as a valid and authenticated user

  2. Techniques
    Spidering web sites for inputs that involve potential filtering
    Brute force guessing of filtered inputs

Experiment

  1. Attempt injections: Try to feed overly long data to the system. This can be done manually or a dynamic tool (black box) can be used to automate this. An attacker can also use a custom script for that purpose.

  2. Techniques
    Brute force attack through black box penetration test tool.
    Fuzzing of communications protocols
    Manual testing of possible inputs with attack data.
  3. Monitor responses: Watch for any indication of failure occurring. Carefully watch to see what happened when filter failure occurred. Did the data get in?

  4. Techniques
    Boron tagging. Choose clear attack inputs that are easy to notice in output. In binary this is often 0xa5a5a5a5 (alternating 1s and 0s). Another obvious tag value is all zeroes, but it is not always obvious what goes wrong if the null values get into the data.
    Check Log files. An attacker with access to log files can look at the outcome of bad input.

Exploit

  1. Abuse the system through filter failure: An attacker writes a script to consistently induce the filter failure.

  2. Techniques
    DoS through filter failure. The attacker causes the system to crash or stay down because of its failure to filter properly.
    Malicious code execution. An attacker introduces a malicious payload and executes arbitrary code on the target system.
    An attacker can use the filter failure to introduce malicious data into the system and leverage a subsequent SQL injection, Cross Site Scripting, Command Injection or similar weakness if it exists.
", "x_capec_likelihood_of_attack": "High", "x_capec_prerequisites": [ "Ability to control the length of data passed to an active filter." ], "x_capec_skills_required": { "High": "Exploiting a buffer overflow to inject malicious code into the stack of a software system or even the heap can require a higher skill level.", "Low": "An attacker can simply overflow a buffer by inserting a long string into an attacker-modifiable injection vector. The result can be a DoS." }, "x_capec_status": "Draft", "x_capec_typical_severity": "High", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "Make sure that ANY failure occurring in the filtering or input validation routine is properly handled and that offending input is NOT allowed to go through. Basically make sure that the vault is closed when failure occurs.", "id": "course-of-action--df271008-9c98-4fa2-b659-d6b978747eb4", "modified": "2022-09-29T00:00:00.000Z", "name": "coa-24-0", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "course-of-action", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--b078701a-fc7f-4782-8328-f24692e8b6f9", "modified": "2022-09-29T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--df271008-9c98-4fa2-b659-d6b978747eb4", "spec_version": "2.1", "target_ref": "attack-pattern--d591235a-da3b-4872-8962-27fe44fa1ab0", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "Pre-design: Use a language or compiler that performs automatic bounds checking.", "id": "course-of-action--7bd078cd-9dbf-44a2-9bd8-4f13425b385d", "modified": "2022-09-29T00:00:00.000Z", "name": "coa-24-1", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "course-of-action", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--05eb5a7f-c448-40a0-9891-f33a7d754ef3", "modified": "2022-09-29T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--7bd078cd-9dbf-44a2-9bd8-4f13425b385d", "spec_version": "2.1", "target_ref": "attack-pattern--d591235a-da3b-4872-8962-27fe44fa1ab0", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "Pre-design through Build: Compiler-based canary mechanisms such as StackGuard, ProPolice and the Microsoft Visual Studio /GS flag. Unless this provides automatic bounds checking, it is not a complete solution.", "id": "course-of-action--f57e0c5f-4b65-49c5-a707-502f310762ed", "modified": "2022-09-29T00:00:00.000Z", "name": "coa-24-2", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "course-of-action", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--0844ef97-7ee7-4611-8b3a-6da9146cce75", "modified": "2022-09-29T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--f57e0c5f-4b65-49c5-a707-502f310762ed", "spec_version": "2.1", "target_ref": "attack-pattern--d591235a-da3b-4872-8962-27fe44fa1ab0", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "Operational: Use OS-level preventative functionality. Not a complete solution.", "id": "course-of-action--d9bfea83-be0c-47f2-99c5-56b5812d013b", "modified": "2022-09-29T00:00:00.000Z", "name": "coa-24-3", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "course-of-action", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--5152f113-a2d4-4665-bec3-a45da5d7b399", "modified": "2022-09-29T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--d9bfea83-be0c-47f2-99c5-56b5812d013b", "spec_version": "2.1", "target_ref": "attack-pattern--d591235a-da3b-4872-8962-27fe44fa1ab0", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "Design: Use an abstraction library to abstract away risky APIs. Not a complete solution.", "id": "course-of-action--a8d851ab-8c11-49fb-8bb1-ae0f95175539", "modified": "2022-09-29T00:00:00.000Z", "name": "coa-24-4", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "course-of-action", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--adcbc9cc-ab6a-4107-bbb0-3c1ad2233710", "modified": "2022-09-29T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--a8d851ab-8c11-49fb-8bb1-ae0f95175539", "spec_version": "2.1", "target_ref": "attack-pattern--d591235a-da3b-4872-8962-27fe44fa1ab0", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "An adversary exploits weaknesses in input validation by manipulating resource identifiers enabling the unintended modification or specification of a resource.", "external_references": [ { "external_id": "CAPEC-240", "source_name": "capec", "url": "https://capec.mitre.org/data/definitions/240.html" }, { "external_id": "CWE-99", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/99.html" }, { "description": "Resource Injection", "source_name": "OWASP Attacks", "url": "https://owasp.org/www-community/attacks/Resource_Injection" } ], "id": "attack-pattern--12de9227-495b-49b2-859f-334a20197ba3", "modified": "2020-12-17T00:00:00.000Z", "name": "Resource Injection", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "attack-pattern", "x_capec_abstraction": "Meta", "x_capec_consequences": { "Confidentiality": [ "Read Data" ], "Integrity": [ "Modify Data" ] }, "x_capec_domains": [ "Communications", "Software" ], "x_capec_likelihood_of_attack": "High", "x_capec_parent_of_refs": [ "attack-pattern--b5cd5231-d7ef-4366-b713-a44d3f1134b4" ], "x_capec_prerequisites": [ "The target application allows the user to both specify the identifier used to access a system resource. Through this permission, the user gains the capability to perform actions on that resource (e.g., overwrite the file)" ], "x_capec_status": "Stable", "x_capec_typical_severity": "High", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "Ensure all input content that is delivered to client is sanitized against an acceptable content specification.", "id": "course-of-action--ef62d977-a0fa-4d4d-a3c5-9830fba4f873", "modified": "2020-12-17T00:00:00.000Z", "name": "coa-240-0", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "course-of-action", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--56610af9-7476-40eb-9fe6-53cf9958d96d", "modified": "2020-12-17T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--ef62d977-a0fa-4d4d-a3c5-9830fba4f873", "spec_version": "2.1", "target_ref": "attack-pattern--12de9227-495b-49b2-859f-334a20197ba3", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "Perform input validation for all content.", "id": "course-of-action--fd7e89e0-c911-4768-a127-580a58a1c1bc", "modified": "2020-12-17T00:00:00.000Z", "name": "coa-240-1", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "course-of-action", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--49b55648-8b51-4e4f-981c-60f90a683b32", "modified": "2020-12-17T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--fd7e89e0-c911-4768-a127-580a58a1c1bc", "spec_version": "2.1", "target_ref": "attack-pattern--12de9227-495b-49b2-859f-334a20197ba3", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "Enforce regular patching of software.", "id": "course-of-action--f8d51fc9-bebb-4f00-9ce1-e0bcb3815d42", "modified": "2020-12-17T00:00:00.000Z", "name": "coa-240-2", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "course-of-action", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--6454cc9d-9fac-4495-9887-bfcf65fb0131", "modified": "2020-12-17T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--f8d51fc9-bebb-4f00-9ce1-e0bcb3815d42", "spec_version": "2.1", "target_ref": "attack-pattern--12de9227-495b-49b2-859f-334a20197ba3", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "This attack pattern has been deprecated as it is a duplicate of the existing attack pattern \"CAPEC-242 : Code Injection\". Please refer to this other CAPEC going forward.", "external_references": [ { "external_id": "CAPEC-241", "source_name": "capec", "url": "https://capec.mitre.org/data/definitions/241.html" } ], "id": "attack-pattern--b8923381-6219-46bf-b05d-3fa706c0d467", "modified": "2017-05-01T00:00:00.000Z", "name": "DEPRECATED: Code Injection", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "attack-pattern", "x_capec_abstraction": "Meta", "x_capec_status": "Deprecated", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "An adversary exploits a weakness in input validation on the target to inject new code into that which is currently executing. This differs from code inclusion in that code inclusion involves the addition or replacement of a reference to a code file, which is subsequently loaded by the target and used as part of the code of some application.", "external_references": [ { "external_id": "CAPEC-242", "source_name": "capec", "url": "https://capec.mitre.org/data/definitions/242.html" }, { "external_id": "CWE-94", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/94.html" }, { "description": "Code Injection", "source_name": "OWASP Attacks", "url": "https://owasp.org/www-community/attacks/Code_Injection" }, { "description": "OWASP Web Security Testing Guide, The Open Web Application Security Project (OWASP)", "external_id": "REF-612", "source_name": "reference_from_CAPEC", "url": "https://owasp.org/www-project-web-security-testing-guide/latest/4-Web_Application_Security_Testing/07-Input_Validation_Testing/11-Testing_for_Code_Injection.html" } ], "id": "attack-pattern--7f0f7de2-bf09-4f60-86bb-6933192b7128", "modified": "2020-12-17T00:00:00.000Z", "name": "Code Injection", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "attack-pattern", "x_capec_abstraction": "Meta", "x_capec_consequences": { "Availability": [ "Other (Code Injection attack patterns can result in a wide variety of consequences and negatively affect all three elements of the security triad.)" ], "Confidentiality": [ "Other (Code Injection attack patterns can result in a wide variety of consequences and negatively affect all three elements of the security triad.)" ], "Integrity": [ "Other (Code Injection attack patterns can result in a wide variety of consequences and negatively affect all three elements of the security triad.)" ] }, "x_capec_domains": [ "Software" ], "x_capec_likelihood_of_attack": "High", "x_capec_parent_of_refs": [ "attack-pattern--634aeef0-13a8-449b-afea-332cbc6095bf", "attack-pattern--521348c2-b1df-492f-ac83-1f3ffe102046", "attack-pattern--30047c4f-cbf1-48ff-906c-3c6d58feb1a1", "attack-pattern--581433c0-1d73-4975-80f1-6dcee4761bbc", "attack-pattern--70b83583-ffe3-4e6d-b4a6-61a9b9efc346" ], "x_capec_prerequisites": [ "The target software does not validate user-controlled input such that the execution of a process may be altered by sending code in through legitimate data channels, using no other mechanism." ], "x_capec_status": "Stable", "x_capec_typical_severity": "High", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "Utilize strict type, character, and encoding enforcement", "id": "course-of-action--a99fa1c3-7798-453a-8c18-1387446a4827", "modified": "2020-12-17T00:00:00.000Z", "name": "coa-242-0", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "course-of-action", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--f5e3b137-a200-4caa-9f02-88cba0ca4e80", "modified": "2020-12-17T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--a99fa1c3-7798-453a-8c18-1387446a4827", "spec_version": "2.1", "target_ref": "attack-pattern--7f0f7de2-bf09-4f60-86bb-6933192b7128", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--fcbfee88-5388-4fea-b023-06917c8b7cfd", "modified": "2020-12-17T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--ef62d977-a0fa-4d4d-a3c5-9830fba4f873", "spec_version": "2.1", "target_ref": "attack-pattern--7f0f7de2-bf09-4f60-86bb-6933192b7128", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--e446d58c-04b2-49cb-a3bd-32a5c4a303b0", "modified": "2020-12-17T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--fd7e89e0-c911-4768-a127-580a58a1c1bc", "spec_version": "2.1", "target_ref": "attack-pattern--7f0f7de2-bf09-4f60-86bb-6933192b7128", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--b074b90c-807f-4764-ae36-cfc636a4d377", "modified": "2020-12-17T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--f8d51fc9-bebb-4f00-9ce1-e0bcb3815d42", "spec_version": "2.1", "target_ref": "attack-pattern--7f0f7de2-bf09-4f60-86bb-6933192b7128", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "An adversary inserts commands to perform cross-site scripting (XSS) actions in HTML attributes. Many filters do not adequately sanitize attributes against the presence of potentially dangerous commands even if they adequately sanitize tags. For example, dangerous expressions could be inserted into a style attribute in an anchor tag, resulting in the execution of malicious code when the resulting page is rendered. If a victim is tricked into viewing the rendered page the attack proceeds like a normal XSS attack, possibly resulting in the loss of sensitive cookies or other malicious activities.", "external_references": [ { "external_id": "CAPEC-243", "source_name": "capec", "url": "https://capec.mitre.org/data/definitions/243.html" }, { "external_id": "CWE-83", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/83.html" }, { "description": "Jeremiah Grossman, Attribute-Based Cross-Site Scripting", "external_id": "REF-94", "source_name": "reference_from_CAPEC", "url": "http://jeremiahgrossman.blogspot.com/2007/07/attribute-based-cross-site-scripting.html" } ], "id": "attack-pattern--eade303a-1d70-4095-96da-5cf1d9f4333f", "modified": "2022-02-22T00:00:00.000Z", "name": "XSS Targeting HTML Attributes", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "attack-pattern", "x_capec_abstraction": "Detailed", "x_capec_child_of_refs": [ "attack-pattern--61b17787-fe92-427c-9e6a-6311997d7b2a", "attack-pattern--800f8095-99b6-4bb9-8bc6-8b9727201a2f", "attack-pattern--b1eef783-daae-494c-a418-cd9ada7cbe8b" ], "x_capec_domains": [ "Software", "Software", "Software" ], "x_capec_execution_flow": "

Execution Flow

Explore

  1. Survey the application for user-controllable inputs: Using a browser or an automated tool, an adversary follows all public links and actions on a web site. They record all the links, the forms, the resources accessed and all other potential entry-points for the web application.

  2. Techniques
    Use a spidering tool to follow and record all links and analyze the web pages to find entry points. Make special note of any links that include parameters in the URL.
    Use a proxy tool to record all links visited during a manual traversal of the web application.
    Use a browser to manually explore the website and analyze how it is constructed. Many browsers' plugins are available to facilitate the analysis or automate the discovery.

Experiment

  1. Probe identified potential entry points for XSS targeting HTML attributes: The adversary uses the entry points gathered in the \"Explore\" phase as a target list and injects various malicious expressions as input, hoping to embed them as HTML attributes.

  2. Techniques
    Inject single and double quotes into URL parameters or other inputs to see if they are filtered out. Also use URL encoding to bypass filters.
    Use single or double quotes to close attribute evaluation and enter a new attribute that contains an expression.
  3. Craft malicious XSS URL: Once the adversary has determined which parameters are vulnerable to XSS, they will craft a malicious URL containing the XSS exploit. The adversary can have many goals, from stealing session IDs, cookies, credentials, and page content from the victim.

  4. Techniques
    Execute a script using an expression embedded in an HTML attribute, which avoids needing to inject a script tag.
    Send information gathered from the malicious script to a remote endpoint.

Exploit

  1. Get victim to click URL: In order for the attack to be successful, the victim needs to access the malicious URL.

  2. Techniques
    Send a phishing email to the victim containing the malicious URL. This can be hidden in a hyperlink as to not show the full URL, which might draw suspicion.
    Put the malicious URL on a public forum, where many victims might accidentally click the link.
", "x_capec_prerequisites": [ "The target application must fail to adequately sanitize HTML attributes against the presence of dangerous commands." ], "x_capec_resources_required": [ "The adversary must trick the victim into following a crafted link to a vulnerable server or view a web post where the dangerous commands are executed." ], "x_capec_status": "Draft", "x_capec_typical_severity": "Medium", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--0809c5e1-86fc-4df6-8e5e-50939743e745", "modified": "2022-02-22T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--89b4089f-8b0c-4e66-9b1b-8d05f8cbaaf5", "spec_version": "2.1", "target_ref": "attack-pattern--eade303a-1d70-4095-96da-5cf1d9f4333f", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "Implementation: Normalize, filter and use an allowlist for all input including that which is not expected to have any scripting content.", "id": "course-of-action--3647060a-91b9-4ee7-bbf8-78c5d4f20adf", "modified": "2022-02-22T00:00:00.000Z", "name": "coa-243-1", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "course-of-action", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--d8f1ebe4-ac7e-4221-af0e-4f36e5905da9", "modified": "2022-02-22T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--3647060a-91b9-4ee7-bbf8-78c5d4f20adf", "spec_version": "2.1", "target_ref": "attack-pattern--eade303a-1d70-4095-96da-5cf1d9f4333f", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--efed9086-1bee-4608-a734-9e9b775b744f", "modified": "2022-02-22T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--7a8e75aa-0acc-4307-99ae-181fbe26a03d", "spec_version": "2.1", "target_ref": "attack-pattern--eade303a-1d70-4095-96da-5cf1d9f4333f", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "An attack of this type exploits the ability of most browsers to interpret \"data\", \"javascript\" or other URI schemes as client-side executable content placeholders. This attack consists of passing a malicious URI in an anchor tag HREF attribute or any other similar attributes in other HTML tags. Such malicious URI contains, for example, a base64 encoded HTML content with an embedded cross-site scripting payload. The attack is executed when the browser interprets the malicious content i.e., for example, when the victim clicks on the malicious link.", "external_references": [ { "external_id": "CAPEC-244", "source_name": "capec", "url": "https://capec.mitre.org/data/definitions/244.html" }, { "external_id": "CWE-83", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/83.html" }, { "description": "OWASP Testing Guide (v2), The Open Web Application Security Project (OWASP)", "external_id": "REF-70", "source_name": "reference_from_CAPEC", "url": "http://www.owasp.org/index.php/Testing_for_Cross_site_scripting" }, { "description": "Google Cross-Site Scripting HOWTO article, Google", "external_id": "REF-96", "source_name": "reference_from_CAPEC", "url": "https://code.google.com/archive/p/doctype/wikis/ArticleXSSInUrlAttributes.wiki" }, { "description": "WASC Threat Classification 2.0, 2010, The Web Application Security Consortium (WASC)", "external_id": "REF-72", "source_name": "reference_from_CAPEC", "url": "http://projects.webappsec.org/Cross-Site+Scripting" } ], "id": "attack-pattern--c77ec906-0371-482e-8b14-a4a41b6b5b74", "modified": "2022-09-29T00:00:00.000Z", "name": "XSS Targeting URI Placeholders", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "attack-pattern", "x_capec_abstraction": "Detailed", "x_capec_child_of_refs": [ "attack-pattern--61b17787-fe92-427c-9e6a-6311997d7b2a", "attack-pattern--800f8095-99b6-4bb9-8bc6-8b9727201a2f", "attack-pattern--b1eef783-daae-494c-a418-cd9ada7cbe8b" ], "x_capec_consequences": { "Access_Control": [ "Bypass Protection Mechanism" ], "Accountability": [ "Gain Privileges" ], "Authentication": [ "Gain Privileges" ], "Authorization": [ "Execute Unauthorized Commands (Run Arbitrary Code)", "Gain Privileges", "Bypass Protection Mechanism" ], "Confidentiality": [ "Read Data" ], "Integrity": [ "Modify Data" ], "Non-Repudiation": [ "Gain Privileges" ] }, "x_capec_domains": [ "Software", "Software", "Software" ], "x_capec_example_instances": [ "\n The following payload data:\n text/html;base64,PGh0bWw+PGJvZHk+PHNjcmlwdD52YXIgaW1nID0gbmV3IEltYWdlKCk7IGltZy5zcmMgPSAiaHR0cDovL2F0dGFja2VyLmNvbS9jb29raWVncmFiYmVyPyIrIGVuY29kZVVSSUNvbXBvbmVudChkb2N1bWVudC5jb29raWVzKTs8L3NjcmlwdD48L2JvZHk+PC9odG1sPg==\n represents a base64 encoded HTML and uses the data URI scheme to deliver it to the browser.\n The decoded payload is the following piece of HTML code:\n \n \n \n Web applications that take user controlled inputs and reflect them in URI HTML placeholder without a proper validation are at risk for such an attack.\n An adversary could inject the previous payload that would be placed in a URI placeholder (for example in the anchor tag HREF attribute):\n My Link\n Once the victim clicks on the link, the browser will decode and execute the content from the payload. This will result on the execution of the cross-site scripting attack.\n " ], "x_capec_execution_flow": "

Execution Flow

Explore

  1. Survey the application for user-controllable inputs: Using a browser or an automated tool, an adversary follows all public links and actions on a web site. They record all the links, the forms, the resources accessed and all other potential entry-points for the web application.

  2. Techniques
    Use a spidering tool to follow and record all links. Make special note of any links that include parameters in the URL.
    Use a proxy tool to record all links visited during a manual traversal of the web application. Make special note of any links that include parameters in the URL. Manual traversal of this type is frequently necessary to identify forms that are GET method forms rather than POST forms.
    Use a browser to manually explore the website and analyze how it is constructed. Many browser's plugins are available to facilitate the analysis or automate the URL discovery.

Experiment

  1. Probe identified potential entry points for reflected XSS vulnerability: The adversary uses the entry points gathered in the \"Explore\" phase as a target list and injects various payloads formatted as data URI schemes using base to determine if an entry point actually represents a vulnerability and to characterize the extent to which the vulnerability can be exploited.

  2. Techniques
    Use a list of XSS probe strings using different URI schemes to inject in parameters of known URLs. If possible, the probe strings contain a unique identifier to trace the injected string back to the entry point.
    Use a proxy tool to record results of manual input of XSS probes in known URLs.
  3. Craft malicious XSS URL: Once the adversary has determined which parameters are vulnerable to XSS, they will craft a malicious URL containing the XSS exploit. The adversary can have many goals, from stealing session IDs, cookies, credentials, and page content from the victim.

  4. Techniques
    Change a URL parameter to include a malicious payload formatted as a URI scheme, or use the URL returned when the URI scheme was given as input to the web application.
    Send information gathered from the malicious script to a remote endpoint.

Exploit

  1. Get victim to click URL: In order for the attack to be successful, the victim needs to access the malicious URL.

  2. Techniques
    Send a phishing email to the victim containing the malicious URL. This can be hidden in a hyperlink as to not show the full URL, which might draw suspicion.
    Put the malicious URL on a public forum, where many victims might accidentally click the link.
", "x_capec_likelihood_of_attack": "High", "x_capec_prerequisites": [ "Target client software must allow scripting such as JavaScript and allows executable content delivered using a data URI scheme." ], "x_capec_resources_required": [ "Ability to send HTTP request to a web application" ], "x_capec_skills_required": { "Medium": "To inject the malicious payload in a web page" }, "x_capec_status": "Draft", "x_capec_typical_severity": "High", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--e01b3e67-6f6d-47fe-a52a-568341eaba2c", "modified": "2022-09-29T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--094a4c09-e49c-422b-b8ec-b51c19dba18c", "spec_version": "2.1", "target_ref": "attack-pattern--c77ec906-0371-482e-8b14-a4a41b6b5b74", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "Design: Utilize strict type, character, and encoding enforcement.", "id": "course-of-action--bb7c30e0-981f-4cc9-a85a-920f323e51d3", "modified": "2022-09-29T00:00:00.000Z", "name": "coa-244-1", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "course-of-action", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--b1be8912-a434-4763-a021-096909c3c231", "modified": "2022-09-29T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--bb7c30e0-981f-4cc9-a85a-920f323e51d3", "spec_version": "2.1", "target_ref": "attack-pattern--c77ec906-0371-482e-8b14-a4a41b6b5b74", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--a2dd74b7-ad13-4193-b646-3ae46944b3c3", "modified": "2022-09-29T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--e9836d98-9116-4902-ba62-2c4fcc7e03c3", "spec_version": "2.1", "target_ref": "attack-pattern--c77ec906-0371-482e-8b14-a4a41b6b5b74", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--b4100acc-da5c-4fd0-a273-8a3d0fe4ea3f", "modified": "2022-09-29T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--63ed5cb5-5feb-4677-8623-3c5552f796ee", "spec_version": "2.1", "target_ref": "attack-pattern--c77ec906-0371-482e-8b14-a4a41b6b5b74", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--1d630925-153a-43e4-a045-6c039ccdbdbe", "modified": "2022-09-29T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--26850710-b983-423b-962a-5fd4b550fa0e", "spec_version": "2.1", "target_ref": "attack-pattern--c77ec906-0371-482e-8b14-a4a41b6b5b74", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--9508c797-2ba7-4939-a345-8ab83ec69feb", "modified": "2022-09-29T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--4f20a4a7-cb6a-477b-a12a-13c5e9d03353", "spec_version": "2.1", "target_ref": "attack-pattern--c77ec906-0371-482e-8b14-a4a41b6b5b74", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--9b5c6c90-751d-4b9c-b88f-480109d98c30", "modified": "2022-09-29T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--f31f11cb-6403-4667-bf43-d77242ac7ae2", "spec_version": "2.1", "target_ref": "attack-pattern--c77ec906-0371-482e-8b14-a4a41b6b5b74", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--76657fee-14db-472c-9608-b7bce62e9fb4", "modified": "2022-09-29T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--fd1a110f-6520-479b-9f42-9c88acdbf90e", "spec_version": "2.1", "target_ref": "attack-pattern--c77ec906-0371-482e-8b14-a4a41b6b5b74", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "The adversary bypasses input validation by using doubled characters in order to perform a cross-site scripting attack. Some filters fail to recognize dangerous sequences if they are preceded by repeated characters. For example, by doubling the < before a script command, (<", "\n Web applications that accept name value pairs in a HTTP Query string are inherently at risk to any value (or name for that matter) that an adversary would like to enter in the query string. This can be done manually via web browser or trivially scripted to post the query string to multiple sites. In the latter case, in the instance of many sites using similar infrastructure with predictable http queries being accepted and operated on (such as blogging software, Google applications, and so on), a single malicious payload can be scripted to target a wide variety of sites.\n Web 2.0 type sites like Technorati and del.icio.us rely on user generated content like tags to build http links that are displayed to other users. del.icio.us allows users to identify sites, tag them with metadata and provide URL, descriptions and more data. This data is then echoed back to any other web browser that is interested in the link. If the data is not validated by the del.icio.us site properly then an arbitrary code can be added into the standard http string sent to del.icio.us by the adversary, for example formatted as normal content with a URL and description and tagged as Java, and available to be clicked on (and executed by) any user browsing for Java content that clicks on this trojaned content.\n " ], "x_capec_execution_flow": "

Execution Flow

Explore

  1. Survey the application for public links: Using a browser or an automated tool, an adversary follows all public links on a web site. They record all the links they find.

  2. Techniques
    Use a spidering tool to follow and record all links. Make special note of any links that include parameters in the URL.
    Use a proxy tool to record all links visited during a manual traversal of the web application. Make special note of any links that include parameters in the URL. Manual traversal of this type is frequently necessary to identify forms that are GET method forms rather than POST forms.
    Use a browser to manually explore the website and analyze how it is constructed. Many browser's plugins are available to facilitate the analysis or automate the URL discovery.

Experiment

  1. Probe public links for XSS vulnerability: The adversary uses the public links gathered in the \"Explore\" phase as a target list and requests variations on the URLs they spidered before. They send parameters that include variations of payloads. They record all the responses from the server that include unmodified versions of their script.

  2. Techniques
    Use a list of XSS probe strings to inject in parameters of known URLs. If possible, the probe strings contain a unique identifier.
    Use a proxy tool to record results of manual input of XSS probes in known URLs.
  3. Craft malicious XSS URL: Once the adversary has determined which parameters are vulnerable to XSS, they will craft a malicious URL containing the XSS exploit. The adversary can have many goals, from stealing session IDs, cookies, credentials, and page content from the victim.

  4. Techniques
    Change a URL parameter to include a malicious script tag.
    Send information gathered from the malicious script to a remote endpoint.

Exploit

  1. Get victim to click URL: In order for the attack to be successful, the victim needs to access the malicious URL.

  2. Techniques
    Send a phishing email to the victim containing the malicious URL. This can be hidden in a hyperlink as to not show the full URL, which might draw suspicion.
    Put the malicious URL on a public forum, where many victims might accidentally click the link.
", "x_capec_likelihood_of_attack": "High", "x_capec_prerequisites": [ "Target client software must allow scripting such as JavaScript. Server software must allow display of remote generated HTML without sufficient input or output validation." ], "x_capec_resources_required": [ "Ability to send HTTP post to scripting host and collect output" ], "x_capec_skills_required": { "High": "Exploiting any information gathered by HTTP Query on script host", "Low": "To place malicious payload on server via HTTP" }, "x_capec_status": "Draft", "x_capec_typical_severity": "High", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--1cc8dc0d-4869-4cb5-8228-263779929d0c", "modified": "2022-02-22T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--094a4c09-e49c-422b-b8ec-b51c19dba18c", "spec_version": "2.1", "target_ref": "attack-pattern--28aff255-abc8-4392-872c-61f78d4fe55b", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--fd59e3fd-3d5b-455c-8cdc-46f9ce5cd274", "modified": "2022-02-22T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--040cd51a-446a-4612-a9d0-4a90119d5191", "spec_version": "2.1", "target_ref": "attack-pattern--28aff255-abc8-4392-872c-61f78d4fe55b", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "Design: Server side developers should not proxy content via XHR or other means, if a http proxy for remote content is setup on the server side, the client's browser has no way of discerning where the data is originating from.", "id": "course-of-action--97eb8eeb-5e17-4a04-803b-c4de40723fc9", "modified": "2022-02-22T00:00:00.000Z", "name": "coa-32-2", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "course-of-action", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--39f61c35-1731-4cb8-a8eb-bcd81960df63", "modified": "2022-02-22T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--97eb8eeb-5e17-4a04-803b-c4de40723fc9", "spec_version": "2.1", "target_ref": "attack-pattern--28aff255-abc8-4392-872c-61f78d4fe55b", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--b600559a-7621-438f-92e9-088c3cdf5117", "modified": "2022-02-22T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--e9836d98-9116-4902-ba62-2c4fcc7e03c3", "spec_version": "2.1", "target_ref": "attack-pattern--28aff255-abc8-4392-872c-61f78d4fe55b", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--0989752b-6aa5-43c2-afc2-0873faa1782e", "modified": "2022-02-22T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--26850710-b983-423b-962a-5fd4b550fa0e", "spec_version": "2.1", "target_ref": "attack-pattern--28aff255-abc8-4392-872c-61f78d4fe55b", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--00dd576f-a986-4094-aa7c-3eb1b57dc7d3", "modified": "2022-02-22T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--4f20a4a7-cb6a-477b-a12a-13c5e9d03353", "spec_version": "2.1", "target_ref": "attack-pattern--28aff255-abc8-4392-872c-61f78d4fe55b", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--dc0ab859-a9fe-4f70-a2f6-4e43fa7ba77b", "modified": "2022-02-22T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--f31f11cb-6403-4667-bf43-d77242ac7ae2", "spec_version": "2.1", "target_ref": "attack-pattern--28aff255-abc8-4392-872c-61f78d4fe55b", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "Implementation: Session tokens for specific host", "id": "course-of-action--86dea14b-a9d1-461f-a1e0-ff289490c27e", "modified": "2022-02-22T00:00:00.000Z", "name": "coa-32-7", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "course-of-action", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--df6702e1-0cee-4251-8188-443a16f750d1", "modified": "2022-02-22T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--86dea14b-a9d1-461f-a1e0-ff289490c27e", "spec_version": "2.1", "target_ref": "attack-pattern--28aff255-abc8-4392-872c-61f78d4fe55b", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--5e5619cd-3104-4816-91eb-2836496ecc8c", "modified": "2022-02-22T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--fd1a110f-6520-479b-9f42-9c88acdbf90e", "spec_version": "2.1", "target_ref": "attack-pattern--28aff255-abc8-4392-872c-61f78d4fe55b", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "Implementation: Privileges are constrained, if a script is loaded, ensure system runs in chroot jail or other limited authority mode", "id": "course-of-action--39d1f978-5e37-48f2-aa6e-6e8804ec9f1b", "modified": "2022-02-22T00:00:00.000Z", "name": "coa-32-9", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "course-of-action", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--5b1356d6-39be-4183-9bbf-e8fa5b7f799e", "modified": "2022-02-22T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--39d1f978-5e37-48f2-aa6e-6e8804ec9f1b", "spec_version": "2.1", "target_ref": "attack-pattern--28aff255-abc8-4392-872c-61f78d4fe55b", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "This OS fingerprinting probe examines the remote server's implementation of TCP timestamps. Not all operating systems implement timestamps within the TCP header, but when timestamps are used then this provides the attacker with a means to guess the operating system of the target. The attacker begins by probing any active TCP service in order to get response which contains a TCP timestamp. Different Operating systems update the timestamp value using different intervals. This type of analysis is most accurate when multiple timestamp responses are received and then analyzed. TCP timestamps can be found in the TCP Options field of the TCP header.", "external_references": [ { "external_id": "CAPEC-320", "source_name": "capec", "url": "https://capec.mitre.org/data/definitions/320.html" }, { "external_id": "CWE-200", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/200.html" }, { "description": "Stuart McClure, Joel Scambray, George Kurtz, Hacking Exposed: Network Security Secrets & Solutions (6th Edition), 2009, McGraw Hill", "external_id": "REF-33", "source_name": "reference_from_CAPEC" }, { "description": "Defense Advanced Research Projects Agency Information Processing Techniques Office, Information Sciences Institute University of Southern California, RFC793 - Transmission Control Protocol, 1981--09, Defense Advanced Research Projects Agency (DARPA)", "external_id": "REF-128", "source_name": "reference_from_CAPEC", "url": "http://www.faqs.org/rfcs/rfc793.html" }, { "description": "Gordon \"Fyodor\" Lyon, Nmap Network Scanning: The Official Nmap Project Guide to Network Discovery and Security Scanning (3rd \"Zero Day\" Edition,), 2008, Insecure.com LLC", "external_id": "REF-212", "source_name": "reference_from_CAPEC" } ], "id": "attack-pattern--a15fddec-fd55-4c0b-8681-4e57ba5bc20d", "modified": "2018-07-31T00:00:00.000Z", "name": "TCP Timestamp Probe", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "attack-pattern", "x_capec_abstraction": "Detailed", "x_capec_child_of_refs": [ "attack-pattern--6227a1fc-7504-4a5f-b5b2-4c4f1fe38617" ], "x_capec_consequences": { "Access_Control": [ "Bypass Protection Mechanism" ], "Authorization": [ "Bypass Protection Mechanism" ], "Confidentiality": [ "Read Data", "Bypass Protection Mechanism" ] }, "x_capec_domains": [ "Software" ], "x_capec_execution_flow": "

Execution Flow

Explore

  1. Determine if timestamps are present.: The adversary sends a probe packet to the remote host to identify if timestamps are present.

Experiment

  1. Record and analyze timestamp values.: If the remote host is using timestamp, obtain several timestamps, analyze them and compare them to known values.

  2. Techniques
    The adversary sends several requests and records the timestamp values.
    The adversary analyzes the timestamp values and determines an average increments per second in the timestamps for the target.
    The adversary compares this result to a database of known TCP timestamp increments for a possible match.
", "x_capec_likelihood_of_attack": "Medium", "x_capec_prerequisites": [ "The ability to monitor and interact with network communications.Access to at least one host, and the privileges to interface with the network interface card.The target OS must support the TCP timestamp option in order to obtain a fingerprint." ], "x_capec_resources_required": [ "\n Any type of active probing that involves non-standard packet headers requires the use of raw sockets, which is not available on particular operating systems (Microsoft Windows XP SP 2, for example). Raw socket manipulation on Unix/Linux requires root privileges.\n A tool capable of sending and receiving packets from a remote system.\n " ], "x_capec_status": "Stable", "x_capec_typical_severity": "Low", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "This OS fingerprinting probe tests the target system's assignment of TCP sequence numbers. One common way to test TCP Sequence Number generation is to send a probe packet to an open port on the target and then compare the how the Sequence Number generated by the target relates to the Acknowledgement Number in the probe packet. Different operating systems assign Sequence Numbers differently, so a fingerprint of the operating system can be obtained by categorizing the relationship between the acknowledgement number and sequence number as follows: 1) the Sequence Number generated by the target is Zero, 2) the Sequence Number generated by the target is the same as the acknowledgement number in the probe, 3) the Sequence Number generated by the target is the acknowledgement number plus one, or 4) the Sequence Number is any other non-zero number.", "external_references": [ { "external_id": "CAPEC-321", "source_name": "capec", "url": "https://capec.mitre.org/data/definitions/321.html" }, { "external_id": "CWE-200", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/200.html" }, { "description": "Stuart McClure, Joel Scambray, George Kurtz, Hacking Exposed: Network Security Secrets & Solutions (6th Edition), 2009, McGraw Hill", "external_id": "REF-33", "source_name": "reference_from_CAPEC" }, { "description": "Defense Advanced Research Projects Agency Information Processing Techniques Office, Information Sciences Institute University of Southern California, RFC793 - Transmission Control Protocol, 1981--09, Defense Advanced Research Projects Agency (DARPA)", "external_id": "REF-128", "source_name": "reference_from_CAPEC", "url": "http://www.faqs.org/rfcs/rfc793.html" }, { "description": "Gordon \"Fyodor\" Lyon, Nmap Network Scanning: The Official Nmap Project Guide to Network Discovery and Security Scanning (3rd \"Zero Day\" Edition,), 2008, Insecure.com LLC", "external_id": "REF-212", "source_name": "reference_from_CAPEC" } ], "id": "attack-pattern--cd7d1252-30ed-4ba1-a334-52f7a8b7c748", "modified": "2018-07-31T00:00:00.000Z", "name": "TCP Sequence Number Probe", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "attack-pattern", "x_capec_abstraction": "Detailed", "x_capec_child_of_refs": [ "attack-pattern--6227a1fc-7504-4a5f-b5b2-4c4f1fe38617" ], "x_capec_consequences": { "Access_Control": [ "Bypass Protection Mechanism", "Hide Activities" ], "Authorization": [ "Bypass Protection Mechanism", "Hide Activities" ], "Confidentiality": [ "Read Data", "Bypass Protection Mechanism", "Hide Activities" ] }, "x_capec_domains": [ "Software" ], "x_capec_likelihood_of_attack": "Medium", "x_capec_prerequisites": [ "The ability to monitor and interact with network communications.Access to at least one host, and the privileges to interface with the network interface card." ], "x_capec_resources_required": [ "A tool capable of sending and receiving packets from a remote system." ], "x_capec_status": "Stable", "x_capec_typical_severity": "Low", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "This OS fingerprinting probe sends a number of TCP SYN packets to an open port of a remote machine. The Initial Sequence Number (ISN) in each of the SYN/ACK response packets is analyzed to determine the smallest number that the target host uses when incrementing sequence numbers. This information can be useful for identifying an operating system because particular operating systems and versions increment sequence numbers using different values. The result of the analysis is then compared against a database of OS behaviors to determine the OS type and/or version.", "external_references": [ { "external_id": "CAPEC-322", "source_name": "capec", "url": "https://capec.mitre.org/data/definitions/322.html" }, { "external_id": "CWE-200", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/200.html" }, { "description": "Stuart McClure, Joel Scambray, George Kurtz, Hacking Exposed: Network Security Secrets & Solutions (6th Edition), 2009, McGraw Hill", "external_id": "REF-33", "source_name": "reference_from_CAPEC" }, { "description": "Defense Advanced Research Projects Agency Information Processing Techniques Office, Information Sciences Institute University of Southern California, RFC793 - Transmission Control Protocol, 1981--09, Defense Advanced Research Projects Agency (DARPA)", "external_id": "REF-128", "source_name": "reference_from_CAPEC", "url": "http://www.faqs.org/rfcs/rfc793.html" }, { "description": "Gordon \"Fyodor\" Lyon, Nmap Network Scanning: The Official Nmap Project Guide to Network Discovery and Security Scanning (3rd \"Zero Day\" Edition,), 2008, Insecure.com LLC", "external_id": "REF-212", "source_name": "reference_from_CAPEC" } ], "id": "attack-pattern--2c22407a-efdb-4b20-81f6-ab8a73ded348", "modified": "2018-07-31T00:00:00.000Z", "name": "TCP (ISN) Greatest Common Divisor Probe", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "attack-pattern", "x_capec_abstraction": "Detailed", "x_capec_child_of_refs": [ "attack-pattern--6227a1fc-7504-4a5f-b5b2-4c4f1fe38617" ], "x_capec_consequences": { "Access_Control": [ "Bypass Protection Mechanism", "Hide Activities" ], "Authorization": [ "Bypass Protection Mechanism", "Hide Activities" ], "Confidentiality": [ "Read Data", "Bypass Protection Mechanism", "Hide Activities" ] }, "x_capec_domains": [ "Software" ], "x_capec_likelihood_of_attack": "Medium", "x_capec_prerequisites": [ "The ability to monitor and interact with network communications.Access to at least one host, and the privileges to interface with the network interface card." ], "x_capec_resources_required": [ "A tool capable of sending and receiving packets from a remote system." ], "x_capec_status": "Stable", "x_capec_typical_severity": "Low", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "This OS detection probe measures the average rate of initial sequence number increments during a period of time. Sequence numbers are incremented using a time-based algorithm and are susceptible to a timing analysis that can determine the number of increments per unit time. The result of this analysis is then compared against a database of operating systems and versions to determine likely operation system matches.", "external_references": [ { "external_id": "CAPEC-323", "source_name": "capec", "url": "https://capec.mitre.org/data/definitions/323.html" }, { "external_id": "CWE-200", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/200.html" }, { "description": "Stuart McClure, Joel Scambray, George Kurtz, Hacking Exposed: Network Security Secrets & Solutions (6th Edition), 2009, McGraw Hill", "external_id": "REF-33", "source_name": "reference_from_CAPEC" }, { "description": "Defense Advanced Research Projects Agency Information Processing Techniques Office, Information Sciences Institute University of Southern California, RFC793 - Transmission Control Protocol, 1981--09, Defense Advanced Research Projects Agency (DARPA)", "external_id": "REF-128", "source_name": "reference_from_CAPEC", "url": "http://www.faqs.org/rfcs/rfc793.html" }, { "description": "Gordon \"Fyodor\" Lyon, Nmap Network Scanning: The Official Nmap Project Guide to Network Discovery and Security Scanning (3rd \"Zero Day\" Edition,), 2008, Insecure.com LLC", "external_id": "REF-212", "source_name": "reference_from_CAPEC" } ], "id": "attack-pattern--4ac0eeac-2467-403a-9c64-be3a7b3f3083", "modified": "2018-07-31T00:00:00.000Z", "name": "TCP (ISN) Counter Rate Probe", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "attack-pattern", "x_capec_abstraction": "Detailed", "x_capec_child_of_refs": [ "attack-pattern--6227a1fc-7504-4a5f-b5b2-4c4f1fe38617" ], "x_capec_consequences": { "Access_Control": [ "Bypass Protection Mechanism", "Hide Activities" ], "Authorization": [ "Bypass Protection Mechanism", "Hide Activities" ], "Confidentiality": [ "Read Data", "Bypass Protection Mechanism", "Hide Activities" ] }, "x_capec_domains": [ "Software" ], "x_capec_likelihood_of_attack": "Medium", "x_capec_prerequisites": [ "The ability to monitor and interact with network communications.Access to at least one host, and the privileges to interface with the network interface card." ], "x_capec_resources_required": [ "\n Any type of active probing that involves non-standard packet headers requires the use of raw sockets, which is not available on particular operating systems (Microsoft Windows XP SP 2, for example). Raw socket manipulation on Unix/Linux requires root privileges.\n A tool capable of sending and receiving packets from a remote system.\n " ], "x_capec_status": "Stable", "x_capec_typical_severity": "Low", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "This type of operating system probe attempts to determine an estimate for how predictable the sequence number generation algorithm is for a remote host. Statistical techniques, such as standard deviation, can be used to determine how predictable the sequence number generation is for a system. This result can then be compared to a database of operating system behaviors to determine a likely match for operating system and version.", "external_references": [ { "external_id": "CAPEC-324", "source_name": "capec", "url": "https://capec.mitre.org/data/definitions/324.html" }, { "external_id": "CWE-200", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/200.html" }, { "description": "Stuart McClure, Joel Scambray, George Kurtz, Hacking Exposed: Network Security Secrets & Solutions (6th Edition), 2009, McGraw Hill", "external_id": "REF-33", "source_name": "reference_from_CAPEC" }, { "description": "Defense Advanced Research Projects Agency Information Processing Techniques Office, Information Sciences Institute University of Southern California, RFC793 - Transmission Control Protocol, 1981--09, Defense Advanced Research Projects Agency (DARPA)", "external_id": "REF-128", "source_name": "reference_from_CAPEC", "url": "http://www.faqs.org/rfcs/rfc793.html" }, { "description": "Gordon \"Fyodor\" Lyon, Nmap Network Scanning: The Official Nmap Project Guide to Network Discovery and Security Scanning (3rd \"Zero Day\" Edition,), 2008, Insecure.com LLC", "external_id": "REF-212", "source_name": "reference_from_CAPEC" }, { "description": "Gordon \"Fyodor\" Lyon, The Art of Port Scanning (Volume: 7, Issue. 51), Phrack Magazine, 1997", "external_id": "REF-130", "source_name": "reference_from_CAPEC", "url": "http://phrack.org/issues/51/11.html" } ], "id": "attack-pattern--12d80b47-8e4c-4646-bcc3-2bd7059a44e1", "modified": "2018-07-31T00:00:00.000Z", "name": "TCP (ISN) Sequence Predictability Probe", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "attack-pattern", "x_capec_abstraction": "Detailed", "x_capec_child_of_refs": [ "attack-pattern--6227a1fc-7504-4a5f-b5b2-4c4f1fe38617" ], "x_capec_consequences": { "Access_Control": [ "Bypass Protection Mechanism", "Hide Activities" ], "Authorization": [ "Bypass Protection Mechanism", "Hide Activities" ], "Confidentiality": [ "Read Data", "Bypass Protection Mechanism", "Hide Activities" ] }, "x_capec_domains": [ "Software" ], "x_capec_likelihood_of_attack": "Medium", "x_capec_prerequisites": [ "The ability to monitor and interact with network communications.Access to at least one host, and the privileges to interface with the network interface card." ], "x_capec_resources_required": [ "A tool capable of sending and receiving packets from a remote system." ], "x_capec_status": "Stable", "x_capec_typical_severity": "Low", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "This OS fingerprinting probe checks to see if the remote host supports explicit congestion notification (ECN) messaging. ECN messaging was designed to allow routers to notify a remote host when signal congestion problems are occurring. Explicit Congestion Notification messaging is defined by RFC 3168. Different operating systems and versions may or may not implement ECN notifications, or may respond uniquely to particular ECN flag types.", "external_references": [ { "external_id": "CAPEC-325", "source_name": "capec", "url": "https://capec.mitre.org/data/definitions/325.html" }, { "external_id": "CWE-200", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/200.html" }, { "description": "Stuart McClure, Joel Scambray, George Kurtz, Hacking Exposed: Network Security Secrets & Solutions (6th Edition), 2009, McGraw Hill", "external_id": "REF-33", "source_name": "reference_from_CAPEC" }, { "description": "Defense Advanced Research Projects Agency Information Processing Techniques Office, Information Sciences Institute University of Southern California, RFC793 - Transmission Control Protocol, 1981--09, Defense Advanced Research Projects Agency (DARPA)", "external_id": "REF-128", "source_name": "reference_from_CAPEC", "url": "http://www.faqs.org/rfcs/rfc793.html" }, { "description": "Gordon \"Fyodor\" Lyon, Nmap Network Scanning: The Official Nmap Project Guide to Network Discovery and Security Scanning (3rd \"Zero Day\" Edition,), 2008, Insecure.com LLC", "external_id": "REF-212", "source_name": "reference_from_CAPEC" } ], "id": "attack-pattern--1d4575c5-62ed-4269-b372-b2aba82a7b4c", "modified": "2018-07-31T00:00:00.000Z", "name": "TCP Congestion Control Flag (ECN) Probe", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "attack-pattern", "x_capec_abstraction": "Detailed", "x_capec_child_of_refs": [ "attack-pattern--6227a1fc-7504-4a5f-b5b2-4c4f1fe38617" ], "x_capec_consequences": { "Access_Control": [ "Bypass Protection Mechanism", "Hide Activities" ], "Authorization": [ "Bypass Protection Mechanism", "Hide Activities" ], "Confidentiality": [ "Read Data", "Bypass Protection Mechanism", "Hide Activities" ] }, "x_capec_domains": [ "Software" ], "x_capec_likelihood_of_attack": "Medium", "x_capec_prerequisites": [ "The ability to monitor and interact with network communications.Access to at least one host, and the privileges to interface with the network interface card." ], "x_capec_resources_required": [ "A tool capable of sending and receiving packets from a remote system." ], "x_capec_status": "Stable", "x_capec_typical_severity": "Low", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "This OS fingerprinting probe checks the initial TCP Window size. TCP stacks limit the range of sequence numbers allowable within a session to maintain the \"connected\" state within TCP protocol logic. The initial window size specifies a range of acceptable sequence numbers that will qualify as a response to an ACK packet within a session. Various operating systems use different Initial window sizes. The initial window size can be sampled by establishing an ordinary TCP connection.", "external_references": [ { "external_id": "CAPEC-326", "source_name": "capec", "url": "https://capec.mitre.org/data/definitions/326.html" }, { "external_id": "CWE-200", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/200.html" }, { "description": "Stuart McClure, Joel Scambray, George Kurtz, Hacking Exposed: Network Security Secrets & Solutions (6th Edition), 2009, McGraw Hill", "external_id": "REF-33", "source_name": "reference_from_CAPEC" }, { "description": "Defense Advanced Research Projects Agency Information Processing Techniques Office, Information Sciences Institute University of Southern California, RFC793 - Transmission Control Protocol, 1981--09, Defense Advanced Research Projects Agency (DARPA)", "external_id": "REF-128", "source_name": "reference_from_CAPEC", "url": "http://www.faqs.org/rfcs/rfc793.html" }, { "description": "Gordon \"Fyodor\" Lyon, Nmap Network Scanning: The Official Nmap Project Guide to Network Discovery and Security Scanning (3rd \"Zero Day\" Edition,), 2008, Insecure.com LLC", "external_id": "REF-212", "source_name": "reference_from_CAPEC" } ], "id": "attack-pattern--c4dd22c6-ad54-47c8-b0ab-d7f3cad9e026", "modified": "2018-07-31T00:00:00.000Z", "name": "TCP Initial Window Size Probe", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "attack-pattern", "x_capec_abstraction": "Detailed", "x_capec_child_of_refs": [ "attack-pattern--6227a1fc-7504-4a5f-b5b2-4c4f1fe38617" ], "x_capec_consequences": { "Access_Control": [ "Bypass Protection Mechanism", "Hide Activities" ], "Authorization": [ "Bypass Protection Mechanism", "Hide Activities" ], "Confidentiality": [ "Read Data", "Bypass Protection Mechanism", "Hide Activities" ] }, "x_capec_domains": [ "Software" ], "x_capec_likelihood_of_attack": "Medium", "x_capec_prerequisites": [ "The ability to monitor and interact with network communications.Access to at least one host, and the privileges to interface with the network interface card." ], "x_capec_resources_required": [ "A tool capable of sending and receiving packets from a remote system." ], "x_capec_status": "Stable", "x_capec_typical_severity": "Low", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "This OS fingerprinting probe analyzes the type and order of any TCP header options present within a response segment. Most operating systems use unique ordering and different option sets when options are present. RFC 793 does not specify a required order when options are present, so different implementations use unique ways of ordering or structuring TCP options. TCP options can be generated by ordinary TCP traffic.", "external_references": [ { "external_id": "CAPEC-327", "source_name": "capec", "url": "https://capec.mitre.org/data/definitions/327.html" }, { "external_id": "CWE-200", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/200.html" }, { "description": "Stuart McClure, Joel Scambray, George Kurtz, Hacking Exposed: Network Security Secrets & Solutions (6th Edition), 2009, McGraw Hill", "external_id": "REF-33", "source_name": "reference_from_CAPEC" }, { "description": "Defense Advanced Research Projects Agency Information Processing Techniques Office, Information Sciences Institute University of Southern California, RFC793 - Transmission Control Protocol, 1981--09, Defense Advanced Research Projects Agency (DARPA)", "external_id": "REF-128", "source_name": "reference_from_CAPEC", "url": "http://www.faqs.org/rfcs/rfc793.html" }, { "description": "Gordon \"Fyodor\" Lyon, Nmap Network Scanning: The Official Nmap Project Guide to Network Discovery and Security Scanning (3rd \"Zero Day\" Edition,), 2008, Insecure.com LLC", "external_id": "REF-212", "source_name": "reference_from_CAPEC" } ], "id": "attack-pattern--c0ad20d0-8b30-460c-a060-da46582bdbec", "modified": "2018-07-31T00:00:00.000Z", "name": "TCP Options Probe", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "attack-pattern", "x_capec_abstraction": "Detailed", "x_capec_child_of_refs": [ "attack-pattern--6227a1fc-7504-4a5f-b5b2-4c4f1fe38617" ], "x_capec_consequences": { "Access_Control": [ "Bypass Protection Mechanism", "Hide Activities" ], "Authorization": [ "Bypass Protection Mechanism", "Hide Activities" ], "Confidentiality": [ "Read Data", "Bypass Protection Mechanism", "Hide Activities" ] }, "x_capec_domains": [ "Software" ], "x_capec_likelihood_of_attack": "Medium", "x_capec_prerequisites": [ "The ability to monitor and interact with network communications.Access to at least one host, and the privileges to interface with the network interface card." ], "x_capec_resources_required": [ "A tool capable of sending and receiving packets from a remote system." ], "x_capec_status": "Stable", "x_capec_typical_severity": "Low", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "This OS fingerprinting probe performs a checksum on any ASCII data contained within the data portion or a RST packet. Some operating systems will report a human-readable text message in the payload of a 'RST' (reset) packet when specific types of connection errors occur. RFC 1122 allows text payloads within reset packets but not all operating systems or routers implement this functionality.", "external_references": [ { "external_id": "CAPEC-328", "source_name": "capec", "url": "https://capec.mitre.org/data/definitions/328.html" }, { "external_id": "CWE-200", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/200.html" }, { "description": "Stuart McClure, Joel Scambray, George Kurtz, Hacking Exposed: Network Security Secrets & Solutions (6th Edition), 2009, McGraw Hill", "external_id": "REF-33", "source_name": "reference_from_CAPEC" }, { "description": "Defense Advanced Research Projects Agency Information Processing Techniques Office, Information Sciences Institute University of Southern California, RFC793 - Transmission Control Protocol, 1981--09, Defense Advanced Research Projects Agency (DARPA)", "external_id": "REF-128", "source_name": "reference_from_CAPEC", "url": "http://www.faqs.org/rfcs/rfc793.html" }, { "description": "Gordon \"Fyodor\" Lyon, Nmap Network Scanning: The Official Nmap Project Guide to Network Discovery and Security Scanning (3rd \"Zero Day\" Edition,), 2008, Insecure.com LLC", "external_id": "REF-212", "source_name": "reference_from_CAPEC" } ], "id": "attack-pattern--2d865521-82f5-42e5-a595-dc93f60dfd3f", "modified": "2018-07-31T00:00:00.000Z", "name": "TCP 'RST' Flag Checksum Probe", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "attack-pattern", "x_capec_abstraction": "Detailed", "x_capec_child_of_refs": [ "attack-pattern--6227a1fc-7504-4a5f-b5b2-4c4f1fe38617" ], "x_capec_consequences": { "Access_Control": [ "Bypass Protection Mechanism", "Hide Activities" ], "Authorization": [ "Bypass Protection Mechanism", "Hide Activities" ], "Confidentiality": [ "Read Data", "Bypass Protection Mechanism", "Hide Activities" ] }, "x_capec_domains": [ "Software" ], "x_capec_likelihood_of_attack": "Medium", "x_capec_prerequisites": [ "The ability to monitor and interact with network communications.Access to at least one host, and the privileges to interface with the network interface card." ], "x_capec_resources_required": [ "A tool capable of sending and receiving packets from a remote system." ], "x_capec_status": "Stable", "x_capec_typical_severity": "Low", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "An adversary uses a technique to generate an ICMP Error message (Port Unreachable, Destination Unreachable, Redirect, Source Quench, Time Exceeded, Parameter Problem) from a target and then analyze the amount of data returned or \"Quoted\" from the originating request that generated the ICMP error message.", "external_references": [ { "external_id": "CAPEC-329", "source_name": "capec", "url": "https://capec.mitre.org/data/definitions/329.html" }, { "external_id": "CWE-200", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/200.html" }, { "description": "Stuart McClure, Joel Scambray, George Kurtz, Hacking Exposed: Network Security Secrets & Solutions (6th Edition), 2009, McGraw Hill", "external_id": "REF-33", "source_name": "reference_from_CAPEC" }, { "description": "J. Postel, RFC792 - Internet Control Messaging Protocol, 1981--09, Defense Advanced Research Projects Agency (DARPA)", "external_id": "REF-123", "source_name": "reference_from_CAPEC", "url": "http://www.faqs.org/rfcs/rfc792.html" }, { "description": "R. Braden, Ed., RFC1122 - Requirements for Internet Hosts - Communication Layers, 1989--10", "external_id": "REF-124", "source_name": "reference_from_CAPEC", "url": "http://www.faqs.org/rfcs/rfc1122.html" }, { "description": "Ofir Arkin, A Remote Active OS Fingerprinting Tool using ICMP, 2002--04, The Sys-Security Group", "external_id": "REF-262", "source_name": "reference_from_CAPEC", "url": "http://ofirarkin.files.wordpress.com/2008/11/login.pdf" } ], "id": "attack-pattern--1059e91f-43ff-4a00-bc74-4110979f5247", "modified": "2022-02-22T00:00:00.000Z", "name": "ICMP Error Message Quoting Probe", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "attack-pattern", "x_capec_abstraction": "Detailed", "x_capec_child_of_refs": [ "attack-pattern--6227a1fc-7504-4a5f-b5b2-4c4f1fe38617" ], "x_capec_consequences": { "Access_Control": [ "Bypass Protection Mechanism", "Hide Activities" ], "Authorization": [ "Bypass Protection Mechanism", "Hide Activities" ], "Confidentiality": [ "Read Data", "Bypass Protection Mechanism", "Hide Activities" ] }, "x_capec_domains": [ "Software" ], "x_capec_extended_description": "\n For this purpose \"Port Unreachable\" error messages are often used, as generating them requires the adversary to send a UDP datagram to a closed port on the target. The goal of this analysis to make inferences about the type of operating system or firmware that sent the error message in reply.\n This is useful for identifying unique characteristics of operating systems because the RFC-1122 expected behavior reads: \"Every ICMP error message includes the Internet header and at least the first 8 data octets of the datagram that triggered the error; more than 8 octets MAY be sent [...].\" This contrasts with RFC-792 expected behavior, which limited the quoted text to 64 bits (8 octets). Given the latitude in the specification the resulting RFC-1122 stack implementations often respond with a high degree of variability in the amount of data quoted in the error message because \"older\" or \"legacy\" stacks may comply with the RFC-792 specification, while other stacks may choose a longer format in accordance with RFC-1122. As a general rule most operating systems or firmware will quote the first 8 bytes of the datagram triggering the error, but some IP stacks will quote more than the first 8 bytes of data.\n ", "x_capec_likelihood_of_attack": "Medium", "x_capec_prerequisites": [ "The ability to monitor and interact with network communications.Access to at least one host, and the privileges to interface with the network interface card." ], "x_capec_resources_required": [ "A tool capable of sending/receiving UDP datagram packets from a remote system to a closed port and receive an ICMP Error Message Type 3, \"Port Unreachable.." ], "x_capec_status": "Stable", "x_capec_typical_severity": "Low", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "\n An adversary abuses the flexibility and discrepancies in the parsing and interpretation of HTTP Request messages using various HTTP headers, request-line and body parameters as well as message sizes (denoted by the end of message signaled by a given HTTP header) by different intermediary HTTP agents (e.g., load balancer, reverse proxy, web caching proxies, application firewalls, etc.) to secretly send unauthorized and malicious HTTP requests to a back-end HTTP agent (e.g., web server).\n See CanPrecede relationships for possible consequences.\n ", "external_references": [ { "external_id": "CAPEC-33", "source_name": "capec", "url": "https://capec.mitre.org/data/definitions/33.html" }, { "external_id": "CWE-444", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/444.html" }, { "description": "HTTP Request Smuggling", "external_id": "26", "source_name": "WASC", "url": "http://projects.webappsec.org/HTTP-Request-Smuggling" }, { "description": "HTTP 1.1 Specification (RFC 2616), IETF RFC", "external_id": "REF-38", "source_name": "reference_from_CAPEC", "url": "http://www.ietf.org/rfc/rfc2616.txt" }, { "description": "HTTP Response Smuggling, Beyond Security", "external_id": "REF-117", "source_name": "reference_from_CAPEC", "url": "http://www.securiteam.com/securityreviews/5CP0L0AHPC.html" }, { "description": "OWASP Web Security Testing Guide, The Open Web Application Security Project (OWASP)", "external_id": "REF-617", "source_name": "reference_from_CAPEC", "url": "https://owasp.org/www-project-web-security-testing-guide/latest/4-Web_Application_Security_Testing/07-Input_Validation_Testing/15-Testing_for_HTTP_Splitting_Smuggling.html" }, { "description": "Robert Auger, HTTP Request Smuggling, 2010--01, The Web Application Security Consortium", "external_id": "REF-672", "source_name": "reference_from_CAPEC", "url": "http://projects.webappsec.org/w/page/13246928/HTTP%20Request%20Smuggling" }, { "description": "Dzevad Alibegovic, HTTP Request Smuggling: Complete Guide to Attack Types and Prevention, 2021--08---23, NeuraLegion", "external_id": "REF-673", "source_name": "reference_from_CAPEC", "url": "https://www.neuralegion.com/blog/http-request-smuggling-hrs/" }, { "description": "Busra Demir, A Pentester’s Guide to HTTP Request Smuggling, 2020--10---15, Cobalt", "external_id": "REF-674", "source_name": "reference_from_CAPEC", "url": "https://cobalt.io/blog/a-pentesters-guide-to-http-request-smuggling" }, { "description": "Edi Kogan, Daniel Kerman, HTTP Desync Attacks in the Wild and How to Defend Against Them, 2019--10---29, Imperva", "external_id": "REF-678", "source_name": "reference_from_CAPEC", "url": "https://www.imperva.com/blog/http-desync-attacks-and-defence-methods/" }, { "description": "James Kettle, HTTP Desync Attacks: Request Smuggling Reborn, 2019--08---07, PortSwigger", "external_id": "REF-681", "source_name": "reference_from_CAPEC", "url": "https://portswigger.net/research/http-desync-attacks-request-smuggling-reborn" }, { "description": "HTTP request smuggling, PortSwigger", "external_id": "REF-682", "source_name": "reference_from_CAPEC", "url": "https://portswigger.net/web-security/request-smuggling" }, { "description": "Finding HTTP request smuggling vulnerabilities, PortSwigger", "external_id": "REF-683", "source_name": "reference_from_CAPEC", "url": "https://portswigger.net/web-security/request-smuggling/finding" }, { "description": "Exploiting HTTP request smuggling vulnerabilities, PortSwigger", "external_id": "REF-684", "source_name": "reference_from_CAPEC", "url": "https://portswigger.net/web-security/request-smuggling/exploiting" } ], "id": "attack-pattern--d845a25b-b140-438c-91d7-30b709bb6e18", "modified": "2022-09-29T00:00:00.000Z", "name": "HTTP Request Smuggling", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "attack-pattern", "x_capec_abstraction": "Detailed", "x_capec_alternate_terms": [ "HTTP Desync" ], "x_capec_can_precede_refs": [ "attack-pattern--8f665166-dfd1-40cb-91e8-b78bee1ceb6a", "attack-pattern--e244a53a-8c69-462c-8ff2-900a839d48cb", "attack-pattern--70b83583-ffe3-4e6d-b4a6-61a9b9efc346", "attack-pattern--63f43efb-7a34-4302-b3dc-8245100fdea9", "attack-pattern--bd4f8f46-1bc7-40a9-b15a-e36b7671cf5b", "attack-pattern--ce92f5b9-6228-4354-8a1b-72ad7ad3bb84" ], "x_capec_child_of_refs": [ "attack-pattern--9c983530-1927-43ca-addd-63d149cda4a7" ], "x_capec_consequences": { "Access_Control": [ "Gain Privileges" ], "Authorization": [ "Gain Privileges" ], "Availability": [ "Execute Unauthorized Commands" ], "Confidentiality": [ "Execute Unauthorized Commands", "Gain Privileges" ], "Integrity": [ "Execute Unauthorized Commands", "Modify Data" ] }, "x_capec_domains": [ "Communications", "Software" ], "x_capec_example_instances": [ "\n When using Haproxy 1.5.3 version as front-end proxy server with with Node.js version 14.13.1 or 12.19.0 as the back-end web server it is possible to use two same header fields for example: two Transfer-Encoding, Transfer-Encoding: chunked and Transfer-Encoding: chunked-false, to bypass Haproxy /flag URI restriction and receive the Haproxy flag value, since Node.js identifies the first header but ignores the second header. See also: CVE-2020-8287\n ", "\n When using Sun Java System Web Proxy Server 3.x or 4.x in conjunction with Sun ONE/iPlanet 6.x, Sun Java System Application Server 7.x or 8.x, it is possible to bypass certain application firewall protections, hijack web sessions, perform Cross Site Scripting or poison the web proxy cache using HTTP Request Smuggling. Differences in the way HTTP requests are parsed by the Proxy Server and the Application Server enable malicious requests to be smuggled through to the Application Server, thereby exposing the Application Server to aforementioned attacks. See also: CVE-2006-6276\n ", "\n Apache server 2.0.45 and version before 1.3.34, when used as a proxy, easily lead to web cache poisoning and bypassing of application firewall restrictions because of non-standard HTTP behavior. Although the HTTP/1.1 specification clearly states that a request with both \"Content-Length\" and a \"Transfer-Encoding: chunked\" headers is invalid, vulnerable versions of Apache accept such requests and reassemble the ones with \"Transfer-Encoding: chunked\" header without replacing the existing \"Content-Length\" header or adding its own. This leads to HTTP Request Smuggling using a request with a chunked body and a header with \"Content-Length: 0\". See also: CVE-2005-2088\n " ], "x_capec_execution_flow": "

Execution Flow

Explore

  1. Survey network to identify target: The adversary performs network reconnaissance by monitoring relevant traffic to identify the network path and parsing of the HTTP messages with the goal of identifying potential targets.

  2. Techniques
    Scan networks to fingerprint HTTP infrastructure and monitor HTTP traffic to identify HTTP network path with a tool such as a Network Protocol Analyzer.

Experiment

  1. Identify vulnerabilities in targeted HTTP infrastructure and technologies: The adversary sends a variety of benign/ambiguous HTTP requests to observe responses from HTTP infrastructure in order to identify differences/discrepancies in the interpretation and parsing of HTTP requests by examining supported HTTP protocol versions, message sizes, and HTTP headers.

  2. Cause differential HTTP responses by experimenting with identified HTTP Request vulnerabilities: The adversary sends maliciously crafted HTTP requests to interfere with the parsing of intermediary and back-end HTTP infrastructure, followed by normal/benign HTTP request from the adversary or a random user. The intended consequences of the malicious HTTP requests will be observed in the HTTP infrastructure response to the normal/benign HTTP request to confirm applicability of identified vulnerabilities in the adversary's plan of attack.

  3. Techniques
    Continue the monitoring of HTTP traffic.
    \n Utilize various combinations of HTTP Headers within a single HTTP Request such as: Content-Length & Transfer-Encoding (CL;TE), Transfer-Encoding & Content-Length (TE;CL), or double Transfer-Encoding (TE;TE), so that additional embedded requests or data in the body of the original request are unprocessed and treated as part of subsequent requests by the intended target HTTP agent.\n From these HTTP Header combinations the adversary observes any timing delays (usually in the form of HTTP 404 Error response) or any other unintended consequences.\n \n For CL;TE and TE;CL HTTP header combinations, the first HTTP agent, in the HTTP message path that receives the HTTP request, takes precedence or only processes one header but not the other, while the second/final HTTP agent processes the opposite header, allowing for embedded HTTP requests to be ignored and smuggled to the intended target HTTP agent.\n For TE;TE HTTP headers combination, all HTTP agents in HTTP message path process Transfer-Encoding header, however, adversary obfuscation (see Mitigations for details) of one of the Transfer-Encoding headers, by not adhering strictly to the protocol specification, can cause it to be unprocessed/ignored by a designated HTTP agent, hence allowing embedded HTTP requests to be smuggled. .\n \n
    \n Construct a very large HTTP request using multiple Content-Length headers of various data lengths that can potentially cause subsequent requests to be ignored by an intermediary HTTP agent (firewall) and/or eventually parsed separately by the target HTTP agent (web server).\n Note that most modern HTTP infrastructure reject HTTP requests with multiple Content-Length headers.\n
    Follow an unrecognized (sometimes a RFC compliant) HTTP header with a subsequent HTTP request to potentially cause the HTTP request to be ignored and interpreted as part of the preceding HTTP request.

Exploit

  1. Perform HTTP Request Smuggling attack: Using knowledge discovered in the experiment section above, smuggle a message to cause one of the consequences.

  2. Techniques
    Leverage techniques identified in the Experiment Phase.
", "x_capec_extended_description": "\n A maliciously crafted HTTP request, which contains a second secretly embedded HTTP request is interpreted by an intermediary web proxy as single benign HTTP request, is forwarded to a back-end server, that interprets and parses the HTTP request as two authorized benign HTTP requests bypassing security controls.\n This attack usually involves the misuse of the HTTP headers: Content-Length and Transfer-Encoding. These abuses are discussed in RFC 2616 #4.4.3 and section #4.2 and are related to ordering and precedence of these headers. [REF-38]\n Additionally this attack can be performed through modification and/or fuzzing of parameters composing the request-line of HTTP messages.\n This attack is usually the result of the usage of outdated or incompatible HTTP protocol versions in the HTTP agents.\n This differs from CAPEC-273 HTTP Response Smuggling, which is usually an attempt to compromise a client agent (e.g., web browser) by sending malicious content in HTTP responses from back-end HTTP infrastructure. HTTP Request Smuggling is an attempt to compromise aback-end HTTP agentvia HTTP Request messages.\n HTTP Splitting (CAPEC-105 and CAPEC-34) is different from HTTP Smuggling due to the fact that during implementation of asynchronous requests, HTTP Splitting requires the embedding/injection of arbitrary HTML headers and content through user input into browser cookies or Ajax web/browser object parameters like XMLHttpRequest.\n ", "x_capec_likelihood_of_attack": "Medium", "x_capec_peer_of_refs": [ "attack-pattern--ae3f2c33-9018-442e-9cc3-24d65c7f4974" ], "x_capec_prerequisites": [ "An additional intermediary HTTP agent such as an application firewall or a web caching proxy between the adversary and the second agent such as a web server, that sends multiple HTTP messages over same network connection.", "Differences in the way the two HTTP agents parse and interpret HTTP requests and its headers.", "HTTP agents running on HTTP/1.1 that allow for Keep Alive mode, Pipelined queries, and Chunked queries and responses." ], "x_capec_resources_required": [ "Tools capable of crafting malicious HTTP messages and monitoring HTTP message responses." ], "x_capec_skills_required": { "Medium": "Possess knowledge on the exact details in the discrepancies between several targeted HTTP agents in path of an HTTP message in parsing its message structure and individual headers." }, "x_capec_status": "Stable", "x_capec_typical_severity": "High", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--f6100503-6f80-4635-b9dd-c9d1788158b5", "modified": "2022-09-29T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--94b24ec6-eaed-40ba-aa65-789101ea9a55", "spec_version": "2.1", "target_ref": "attack-pattern--d845a25b-b140-438c-91d7-30b709bb6e18", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--ad42c576-3139-4cee-ab82-749f0c506f57", "modified": "2022-09-29T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--64555d1a-a57e-49d9-b9f8-02c843ba1af5", "spec_version": "2.1", "target_ref": "attack-pattern--d845a25b-b140-438c-91d7-30b709bb6e18", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--fd575ece-d038-4eb4-82d2-cc0b2717655b", "modified": "2022-09-29T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--0bc589af-7ac3-4771-b1db-defb88ba61b5", "spec_version": "2.1", "target_ref": "attack-pattern--d845a25b-b140-438c-91d7-30b709bb6e18", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--77b0b8cc-d674-4ba6-979e-cae5adc89a5c", "modified": "2022-09-29T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--65a59d08-b52c-4c78-b802-6e65c65f02e5", "spec_version": "2.1", "target_ref": "attack-pattern--d845a25b-b140-438c-91d7-30b709bb6e18", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--5aa2cd65-f8bc-45da-a757-06ea485a0d3e", "modified": "2022-09-29T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--948de9b9-7ad6-4bf5-8daf-f2208db360d6", "spec_version": "2.1", "target_ref": "attack-pattern--d845a25b-b140-438c-91d7-30b709bb6e18", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--6d84e072-1001-4113-b462-004ab68ea8da", "modified": "2022-09-29T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--4bd16590-2382-4a10-9712-f28b7bf84fec", "spec_version": "2.1", "target_ref": "attack-pattern--d845a25b-b140-438c-91d7-30b709bb6e18", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--8ea59df1-f9e8-49e5-9fb1-39d689fd42cd", "modified": "2022-09-29T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--5cc83b32-2b3e-41e5-94e8-2e2ea48bf660", "spec_version": "2.1", "target_ref": "attack-pattern--d845a25b-b140-438c-91d7-30b709bb6e18", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--dc7176bc-62c9-4fad-9036-5f5079477a3a", "modified": "2022-09-29T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--d39d9ad3-ca67-4292-8e1c-279a1dd878b5", "spec_version": "2.1", "target_ref": "attack-pattern--d845a25b-b140-438c-91d7-30b709bb6e18", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--78d6512c-86fb-4c96-b8f0-bebd67b26ece", "modified": "2022-09-29T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--9475a8b1-13bc-4b75-b6b8-af4040ec7469", "spec_version": "2.1", "target_ref": "attack-pattern--d845a25b-b140-438c-91d7-30b709bb6e18", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--4ec4cb3d-85a3-4f13-b540-d74a0a2024e1", "modified": "2022-09-29T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--b8357749-6d25-4561-9c20-f8f937fb10f0", "spec_version": "2.1", "target_ref": "attack-pattern--d845a25b-b140-438c-91d7-30b709bb6e18", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--82300401-dfdb-4a55-b612-2e17989ee4ec", "modified": "2022-09-29T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--43085d5c-cd1e-4175-9d44-f28f8f3cc5f9", "spec_version": "2.1", "target_ref": "attack-pattern--d845a25b-b140-438c-91d7-30b709bb6e18", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--bf4c2215-7fc8-46bd-9caf-9f6fc4c1c877", "modified": "2022-09-29T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--50ea55ae-d8a8-4279-9dc9-05b6fb416b84", "spec_version": "2.1", "target_ref": "attack-pattern--d845a25b-b140-438c-91d7-30b709bb6e18", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--d07b5f41-bbd9-40f6-bd22-173bd6398815", "modified": "2022-09-29T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--a2e15722-f07d-44db-b988-af501e0f1e13", "spec_version": "2.1", "target_ref": "attack-pattern--d845a25b-b140-438c-91d7-30b709bb6e18", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "An adversary uses a technique to generate an ICMP Error message (Port Unreachable, Destination Unreachable, Redirect, Source Quench, Time Exceeded, Parameter Problem) from a target and then analyze the integrity of data returned or \"Quoted\" from the originating request that generated the error message.", "external_references": [ { "external_id": "CAPEC-330", "source_name": "capec", "url": "https://capec.mitre.org/data/definitions/330.html" }, { "external_id": "CWE-200", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/200.html" }, { "description": "Stuart McClure, Joel Scambray, George Kurtz, Hacking Exposed: Network Security Secrets & Solutions (6th Edition), 2009, McGraw Hill", "external_id": "REF-33", "source_name": "reference_from_CAPEC" }, { "description": "J. Postel, RFC792 - Internet Control Messaging Protocol, 1981--09, Defense Advanced Research Projects Agency (DARPA)", "external_id": "REF-123", "source_name": "reference_from_CAPEC", "url": "http://www.faqs.org/rfcs/rfc792.html" }, { "description": "R. Braden, Ed., RFC1122 - Requirements for Internet Hosts - Communication Layers, 1989--10", "external_id": "REF-124", "source_name": "reference_from_CAPEC", "url": "http://www.faqs.org/rfcs/rfc1122.html" }, { "description": "Ofir Arkin, A Remote Active OS Fingerprinting Tool using ICMP, 2002--04, The Sys-Security Group", "external_id": "REF-262", "source_name": "reference_from_CAPEC", "url": "http://ofirarkin.files.wordpress.com/2008/11/login.pdf" } ], "id": "attack-pattern--420d73c3-133c-487e-a98a-6050e7680243", "modified": "2022-02-22T00:00:00.000Z", "name": "ICMP Error Message Echoing Integrity Probe", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "attack-pattern", "x_capec_abstraction": "Detailed", "x_capec_child_of_refs": [ "attack-pattern--6227a1fc-7504-4a5f-b5b2-4c4f1fe38617" ], "x_capec_consequences": { "Access_Control": [ "Bypass Protection Mechanism", "Hide Activities" ], "Authorization": [ "Bypass Protection Mechanism", "Hide Activities" ], "Confidentiality": [ "Read Data", "Bypass Protection Mechanism", "Hide Activities" ] }, "x_capec_domains": [ "Software" ], "x_capec_extended_description": "\n A tremendous amount of information about the host operating system can be deduced from its 'echoing' characteristics. Notably, inspection of key protocol header fields, including the echoed header fields of the encapsulating protocol can yield a wealth of data about the host operating system or firmware version.\n For this purpose \"Port Unreachable\" error messages are often used, as generating them requires the adversary to send a UDP datagram to a closed port on the target. When replying with an ICMP error message some IP/ICMP stack implementations change aspects of the IP header, change or reverse certain byte orders, reset certain field values to default values which differ between operating system and firmware implementations, and make other changes. Some IP/ICMP stacks are decidedly broken, indicating an idiosyncratic behavior that differs from the RFC specifications, such as the case when miscalculations affect a field value.\n ", "x_capec_likelihood_of_attack": "Medium", "x_capec_prerequisites": [ "The ability to monitor and interact with network communications.Access to at least one host, and the privileges to interface with the network interface card." ], "x_capec_resources_required": [ "A tool capable of sending/receiving UDP datagram packets from a remote system to a closed port and receive an ICMP Error Message Type 3, \"Port Unreachable.." ], "x_capec_status": "Stable", "x_capec_typical_severity": "Low", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "An adversary sends a UDP packet to a closed port on the target machine to solicit an IP Header's total length field value within the echoed 'Port Unreachable\" error message. This type of behavior is useful for building a signature-base of operating system responses, particularly when error messages contain other types of information that is useful identifying specific operating system responses.", "external_references": [ { "external_id": "CAPEC-331", "source_name": "capec", "url": "https://capec.mitre.org/data/definitions/331.html" }, { "external_id": "CWE-204", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/204.html" }, { "description": "Stuart McClure, Joel Scambray, George Kurtz, Hacking Exposed: Network Security Secrets & Solutions (6th Edition), 2009, McGraw Hill", "external_id": "REF-33", "source_name": "reference_from_CAPEC" }, { "description": "J. Postel, RFC792 - Internet Control Messaging Protocol, 1981--09, Defense Advanced Research Projects Agency (DARPA)", "external_id": "REF-123", "source_name": "reference_from_CAPEC", "url": "http://www.faqs.org/rfcs/rfc792.html" }, { "description": "R. Braden, Ed., RFC1122 - Requirements for Internet Hosts - Communication Layers, 1989--10", "external_id": "REF-124", "source_name": "reference_from_CAPEC", "url": "http://www.faqs.org/rfcs/rfc1122.html" }, { "description": "Ofir Arkin, A Remote Active OS Fingerprinting Tool using ICMP, 2002--04, The Sys-Security Group", "external_id": "REF-262", "source_name": "reference_from_CAPEC", "url": "http://ofirarkin.files.wordpress.com/2008/11/login.pdf" } ], "id": "attack-pattern--d9629af2-d5c2-4198-b80f-281cc7d04422", "modified": "2023-01-24T00:00:00.000Z", "name": "ICMP IP Total Length Field Probe", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "attack-pattern", "x_capec_abstraction": "Detailed", "x_capec_child_of_refs": [ "attack-pattern--6227a1fc-7504-4a5f-b5b2-4c4f1fe38617" ], "x_capec_consequences": { "Access_Control": [ "Bypass Protection Mechanism", "Hide Activities" ], "Authorization": [ "Bypass Protection Mechanism", "Hide Activities" ], "Confidentiality": [ "Read Data", "Bypass Protection Mechanism", "Hide Activities" ] }, "x_capec_domains": [ "Software" ], "x_capec_extended_description": "\n RFC1122 specifies that the Header of the request must be echoed back when an error is sent in response, but some operating systems and firmware alter the integrity of the original header. Non-standard ICMP/IP implementations result in response that are useful for individuating remote operating system or router firmware versions. There are four general response types that can be used to distinguish operating systems apart: 1) the IP total length field may be calculated correctly, 2) an operating system may add 20 or more additional bytes to the length calculation, 3) the operating system may subtract 20 or more bytes from the correct length of the field or 4) the IP total length field is calculated with any other incorrect value.\n ", "x_capec_likelihood_of_attack": "Medium", "x_capec_prerequisites": [ "The ability to monitor and interact with network communications. Access to at least one host, and the privileges to interface with the network interface card." ], "x_capec_resources_required": [ "A tool capable of sending/receiving UDP datagram packets from a remote system to a closed port and receive an ICMP Error Message Type 3, \"Port Unreachable.\"" ], "x_capec_status": "Stable", "x_capec_typical_severity": "Low", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "An adversary sends a UDP datagram having an assigned value to its internet identification field (ID) to a closed port on a target to observe the manner in which this bit is echoed back in the ICMP error message. This allows the attacker to construct a fingerprint of specific OS behaviors.", "external_references": [ { "external_id": "CAPEC-332", "source_name": "capec", "url": "https://capec.mitre.org/data/definitions/332.html" }, { "external_id": "CWE-204", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/204.html" }, { "description": "Stuart McClure, Joel Scambray, George Kurtz, Hacking Exposed: Network Security Secrets & Solutions (6th Edition), 2009, McGraw Hill", "external_id": "REF-33", "source_name": "reference_from_CAPEC" }, { "description": "J. Postel, RFC792 - Internet Control Messaging Protocol, 1981--09, Defense Advanced Research Projects Agency (DARPA)", "external_id": "REF-123", "source_name": "reference_from_CAPEC", "url": "http://www.faqs.org/rfcs/rfc792.html" }, { "description": "R. Braden, Ed., RFC1122 - Requirements for Internet Hosts - Communication Layers, 1989--10", "external_id": "REF-124", "source_name": "reference_from_CAPEC", "url": "http://www.faqs.org/rfcs/rfc1122.html" }, { "description": "Ofir Arkin, A Remote Active OS Fingerprinting Tool using ICMP, 2002--04, The Sys-Security Group", "external_id": "REF-262", "source_name": "reference_from_CAPEC", "url": "http://ofirarkin.files.wordpress.com/2008/11/login.pdf" } ], "id": "attack-pattern--e02f436a-486e-409a-adc6-a058c531f05f", "modified": "2023-01-24T00:00:00.000Z", "name": "ICMP IP 'ID' Field Error Message Probe", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "attack-pattern", "x_capec_abstraction": "Detailed", "x_capec_child_of_refs": [ "attack-pattern--6227a1fc-7504-4a5f-b5b2-4c4f1fe38617" ], "x_capec_consequences": { "Access_Control": [ "Bypass Protection Mechanism", "Hide Activities" ], "Authorization": [ "Bypass Protection Mechanism", "Hide Activities" ], "Confidentiality": [ "Read Data", "Bypass Protection Mechanism", "Hide Activities" ] }, "x_capec_domains": [ "Software" ], "x_capec_extended_description": "\n The internet identification field (ID) is typically utilized for reassembling a fragmented packet. RFC791 and RFC815 discusses about IP datagrams, fragmentation and reassembly. Some operating systems or router firmware reverse the bit order of the ID field when echoing the IP Header portion of the original datagram within the ICMP error message. There are three behaviors related to the IP ID field that can be used to distinguish remote operating systems or firmware: 1) it is echoed back identically to the bit order of the ID field in the original IP header, 2) it is echoed back, but the byte order has been reversed, or it contains an incorrect or unexpected value. Different operating systems will respond by setting the IP ID field differently within error messaging.\n ", "x_capec_likelihood_of_attack": "Medium", "x_capec_prerequisites": [ "The ability to monitor and interact with network communications. Access to at least one host, and the privileges to interface with the network interface card." ], "x_capec_resources_required": [ "A tool capable of sending/receiving UDP datagram packets from a remote system to a closed port and receive an ICMP Error Message Type 3, \"Port Unreachable.\"" ], "x_capec_status": "Stable", "x_capec_typical_severity": "Low", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "\n An adversary manipulates and injects malicious content, in the form of secret unauthorized HTTP responses, into a single HTTP response from a vulnerable or compromised back-end HTTP agent (e.g., web server) or into an already spoofed HTTP response from an adversary controlled domain/site.\n See CanPrecede relationships for possible consequences.\n ", "external_references": [ { "external_id": "CAPEC-34", "source_name": "capec", "url": "https://capec.mitre.org/data/definitions/34.html" }, { "external_id": "CWE-74", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/74.html" }, { "external_id": "CWE-113", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/113.html" }, { "external_id": "CWE-138", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/138.html" }, { "external_id": "CWE-436", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/436.html" }, { "description": "HTTP Response Splitting", "external_id": "25", "source_name": "WASC", "url": "http://projects.webappsec.org/HTTP-Response-Splitting" }, { "description": "G. Hoglund, G. McGraw, Exploiting Software: How to Break Code, 2004--02, Addison-Wesley", "external_id": "REF-1", "source_name": "reference_from_CAPEC" }, { "description": "HTTP Response Smuggling, Beyond Security", "external_id": "REF-117", "source_name": "reference_from_CAPEC", "url": "http://www.securiteam.com/securityreviews/5CP0L0AHPC.html" }, { "description": "OWASP Web Security Testing Guide, The Open Web Application Security Project (OWASP)", "external_id": "REF-617", "source_name": "reference_from_CAPEC", "url": "https://owasp.org/www-project-web-security-testing-guide/latest/4-Web_Application_Security_Testing/07-Input_Validation_Testing/15-Testing_for_HTTP_Splitting_Smuggling.html" }, { "description": "Robert Auger, HTTP Response Splitting, 2010, The Web Application Security Consortium", "external_id": "REF-680", "source_name": "reference_from_CAPEC", "url": "http://projects.webappsec.org/w/page/13246931/HTTP%20Response%20Splitting" } ], "id": "attack-pattern--ba694895-a0cf-494e-ace2-bf3488330b80", "modified": "2022-09-29T00:00:00.000Z", "name": "HTTP Response Splitting", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "attack-pattern", "x_capec_abstraction": "Detailed", "x_capec_can_precede_refs": [ "attack-pattern--8f665166-dfd1-40cb-91e8-b78bee1ceb6a", "attack-pattern--e244a53a-8c69-462c-8ff2-900a839d48cb", "attack-pattern--70b83583-ffe3-4e6d-b4a6-61a9b9efc346", "attack-pattern--63f43efb-7a34-4302-b3dc-8245100fdea9", "attack-pattern--bd4f8f46-1bc7-40a9-b15a-e36b7671cf5b", "attack-pattern--ce92f5b9-6228-4354-8a1b-72ad7ad3bb84" ], "x_capec_child_of_refs": [ "attack-pattern--9c983530-1927-43ca-addd-63d149cda4a7" ], "x_capec_consequences": { "Access_Control": [ "Gain Privileges" ], "Authorization": [ "Gain Privileges" ], "Availability": [ "Execute Unauthorized Commands" ], "Confidentiality": [ "Execute Unauthorized Commands", "Gain Privileges" ], "Integrity": [ "Execute Unauthorized Commands", "Modify Data" ] }, "x_capec_domains": [ "Communications", "Software" ], "x_capec_example_instances": [ "\n In the PHP 5 session extension mechanism, a user-supplied session ID is sent back to the user within the Set-Cookie HTTP header. Since the contents of the user-supplied session ID are not validated, it is possible to inject arbitrary HTTP headers into the response body. This immediately enables HTTP Response Splitting by simply terminating the HTTP response header from within the session ID used in the Set-Cookie directive. See also: CVE-2006-0207\n " ], "x_capec_execution_flow": "

Execution Flow

Explore

  1. Survey network to identify target: The adversary performs network reconnaissance by monitoring relevant traffic to identify the network path and parsing of the HTTP messages with the goal of identifying potential targets

  2. Techniques
    Scan networks to fingerprint HTTP infrastructure and monitor HTTP traffic to identify HTTP network path with a tool such as a Network Protocol Analyzer.

Experiment

  1. Identify vulnerabilities in targeted HTTP infrastructure and technologies: The adversary sends a variety of benign/ambiguous HTTP requests to observe responses from HTTP infrastructure in order to identify differences/discrepancies in the interpretation and parsing of HTTP requests by examining supported HTTP protocol versions, HTTP headers, syntax checking and input filtering.

  2. Cause differential HTTP responses by experimenting with identified HTTP Request vulnerabilities: The adversary sends maliciously crafted HTTP request to back-end HTTP infrastructure to inject adversary data (in the form of HTTP headers with custom strings and embedded web scripts and objects) into HTTP responses (intended for intermediary and/or front-end client/victim HTTP agents communicating with back-end HTTP infrastructure) for the purpose of interfering with the parsing of HTTP responses by intermediary and front-end client/victim HTTP agents. The intended consequences of the malicious HTTP request and the subsequent adversary injection and manipulation of HTTP responses to intermediary and front-end client/victim HTTP agents, will be observed to confirm applicability of identified vulnerabilities in the adversary's plan of attack.

  3. Techniques
    Continue the monitoring of HTTP traffic.
    \n Utilize different sequences of special characters (CR - Carriage Return, LF - Line Feed, HT - Horizontal Tab, SP - Space and etc.) to bypass filtering and back-end encoding and to embed:\n \n additional HTTP Requests with their own headers\n malicious web scripts into parameters of HTTP Request headers (e.g., browser cookies like Set-Cookie or Ajax web/browser object parameters like XMLHttpRequest)\n adversary chosen encoding (e.g., UTF-7)\n \n to utilize additional special characters (e.g., > and <) filtered by the target HTTP agent.\n Note that certain special characters and character encoding may be applicable only to intermediary and front-end agents with rare configurations or that are not RFC compliant.\n
    Follow an unrecognized (sometimes a RFC compliant) HTTP header with a subsequent HTTP request to potentially cause the HTTP request to be ignored and interpreted as part of the preceding HTTP request.

Exploit

  1. Perform HTTP Response Splitting attack: Using knowledge discovered in the experiment section above, smuggle a message to cause one of the consequences.

  2. Techniques
    Leverage techniques identified in the Experiment Phase.
", "x_capec_extended_description": "\n Malicious user input is injected into various standard and/or user defined HTTP headers within a HTTP Response through use of Carriage Return (CR), Line Feed (LF), Horizontal Tab (HT), Space (SP) characters as well as other valid/RFC compliant special characters, and unique character encoding.\n A single HTTP response ends up being split as two or more HTTP responses by the targeted client HTTP agent parsing the original maliciously manipulated HTTP response. This allows malicious HTTP responses to bypass security controls in order to implement malicious actions and provide malicious content that allows access to sensitive data and to compromise applications and users. This is performed by the abuse of interpretation and parsing discrepancies in different intermediary HTTP agents (load balancer, reverse proxy, web caching proxies, application firewalls, etc.) or client HTTP agents (e.g., web browser) in the path of the malicious HTTP responses.\n This attack is usually the result of the usage of outdated or incompatible HTTP protocol versions as well as lack of syntax checking and filtering of user input in the HTTP agents receiving HTTP messages in the path.\n This differs from CAPEC-105 HTTP Request Splitting, which is usually an attempt to compromise a back-end HTTP agent via HTTP Request messages. HTTP Response Splitting is an attempt to compromise aclient agent (e.g., web browser)by sending malicious content in HTTP responses from back-end HTTP infrastructure.\n HTTP Smuggling (CAPEC-33 and CAPEC-273) is different from HTTP Splitting due to the fact it relies upon discrepancies in the interpretation of various HTTP Headers and message sizes and not solely user input of special characters and character encoding. HTTP Smuggling was established to circumvent mitigations against HTTP Request Splitting techniques.\n ", "x_capec_likelihood_of_attack": "Medium", "x_capec_peer_of_refs": [ "attack-pattern--b89511b6-f0fb-4c1d-a884-a0d5a0d82b4e" ], "x_capec_prerequisites": [ "A vulnerable or compromised server or domain/site capable of allowing adversary to insert/inject malicious content that will appear in the server's response to target HTTP agents (e.g., proxies and users' web browsers).", "Differences in the way the two HTTP agents parse and interpret HTTP requests and its headers.", "HTTP headers capable of being user-manipulated.", "HTTP agents running on HTTP/1.0 or HTTP/1.1 that allow for Keep Alive mode, Pipelined queries, and Chunked queries and responses." ], "x_capec_resources_required": [ "Tools capable of monitoring HTTP messages, and crafting malicious HTTP messages and/or injecting malicious content into HTTP messages." ], "x_capec_skills_required": { "Medium": "Possess knowledge on the exact details in the discrepancies between several targeted HTTP agents in path of an HTTP message in parsing its message structure and individual headers." }, "x_capec_status": "Stable", "x_capec_typical_severity": "High", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--d1e771e5-938f-4d0e-932e-1692f77db9a1", "modified": "2022-09-29T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--94b24ec6-eaed-40ba-aa65-789101ea9a55", "spec_version": "2.1", "target_ref": "attack-pattern--ba694895-a0cf-494e-ace2-bf3488330b80", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--3673e571-3d09-4ddf-9967-8a14983e4523", "modified": "2022-09-29T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--64555d1a-a57e-49d9-b9f8-02c843ba1af5", "spec_version": "2.1", "target_ref": "attack-pattern--ba694895-a0cf-494e-ace2-bf3488330b80", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--0622cdd8-6ce2-45fc-bfcc-19d3b91d4536", "modified": "2022-09-29T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--0bc589af-7ac3-4771-b1db-defb88ba61b5", "spec_version": "2.1", "target_ref": "attack-pattern--ba694895-a0cf-494e-ace2-bf3488330b80", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--38c9102d-b93d-4484-8efb-aa67b53572c8", "modified": "2022-09-29T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--65a59d08-b52c-4c78-b802-6e65c65f02e5", "spec_version": "2.1", "target_ref": "attack-pattern--ba694895-a0cf-494e-ace2-bf3488330b80", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--c7c66359-57b8-4f29-8d2b-5d5ef075f5f5", "modified": "2022-09-29T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--948de9b9-7ad6-4bf5-8daf-f2208db360d6", "spec_version": "2.1", "target_ref": "attack-pattern--ba694895-a0cf-494e-ace2-bf3488330b80", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--e76fd999-0f43-460b-95fb-cb047a2a7f4d", "modified": "2022-09-29T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--4bd16590-2382-4a10-9712-f28b7bf84fec", "spec_version": "2.1", "target_ref": "attack-pattern--ba694895-a0cf-494e-ace2-bf3488330b80", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--23a58aa1-dfcb-4295-a673-b44c0cba6264", "modified": "2022-09-29T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--5cc83b32-2b3e-41e5-94e8-2e2ea48bf660", "spec_version": "2.1", "target_ref": "attack-pattern--ba694895-a0cf-494e-ace2-bf3488330b80", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--eed85688-d26a-4cec-8582-4ad1e158cdb3", "modified": "2022-09-29T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--43085d5c-cd1e-4175-9d44-f28f8f3cc5f9", "spec_version": "2.1", "target_ref": "attack-pattern--ba694895-a0cf-494e-ace2-bf3488330b80", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--d4993c4a-c91f-4a57-9f21-3fe59ccbe5c4", "modified": "2022-09-29T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--50ea55ae-d8a8-4279-9dc9-05b6fb416b84", "spec_version": "2.1", "target_ref": "attack-pattern--ba694895-a0cf-494e-ace2-bf3488330b80", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--d73cbb1d-c8db-4b8e-8ae6-32f0d436b1d5", "modified": "2022-09-29T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--a2e15722-f07d-44db-b988-af501e0f1e13", "spec_version": "2.1", "target_ref": "attack-pattern--ba694895-a0cf-494e-ace2-bf3488330b80", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "An attack of this type exploits a system's trust in configuration and resource files. When the executable loads the resource (such as an image file or configuration file) the attacker has modified the file to either execute malicious code directly or manipulate the target process (e.g. application server) to execute based on the malicious configuration parameters. Since systems are increasingly interrelated mashing up resources from local and remote sources the possibility of this attack occurring is high.", "external_references": [ { "external_id": "CAPEC-35", "source_name": "capec", "url": "https://capec.mitre.org/data/definitions/35.html" }, { "external_id": "CWE-94", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/94.html" }, { "external_id": "CWE-96", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/96.html" }, { "external_id": "CWE-95", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/95.html" }, { "external_id": "CWE-97", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/97.html" }, { "external_id": "CWE-272", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/272.html" }, { "external_id": "CWE-59", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/59.html" }, { "external_id": "CWE-282", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/282.html" }, { "external_id": "CWE-270", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/270.html" }, { "description": "Obfuscated Files or Information: HTML Smuggling", "external_id": "T1027.006", "source_name": "ATTACK", "url": "https://attack.mitre.org/wiki/Technique/T1027/006" }, { "description": "Obfuscated Files or Information: Embedded Payloads", "external_id": "T1027.009", "source_name": "ATTACK", "url": "https://attack.mitre.org/wiki/Technique/T1027/009" }, { "description": "Hide Artifacts: Resource Forking", "external_id": "T1564.009", "source_name": "ATTACK", "url": "https://attack.mitre.org/wiki/Technique/T1564/009" }, { "description": "G. Hoglund, G. McGraw, Exploiting Software: How to Break Code, 2004--02, Addison-Wesley", "external_id": "REF-1", "source_name": "reference_from_CAPEC" } ], "id": "attack-pattern--9a7c6cbc-e3f9-4925-992e-f07e1359de87", "modified": "2023-01-24T00:00:00.000Z", "name": "Leverage Executable Code in Non-Executable Files", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "attack-pattern", "x_capec_abstraction": "Detailed", "x_capec_child_of_refs": [ "attack-pattern--7f2c0e10-0afe-4edf-bb23-43d6f29ec932" ], "x_capec_consequences": { "Access_Control": [ "Gain Privileges" ], "Authorization": [ "Gain Privileges" ], "Availability": [ "Execute Unauthorized Commands (Run Arbitrary Code)" ], "Confidentiality": [ "Execute Unauthorized Commands (Run Arbitrary Code)", "Gain Privileges" ], "Integrity": [ "Execute Unauthorized Commands (Run Arbitrary Code)", "Modify Data" ] }, "x_capec_domains": [ "Software" ], "x_capec_example_instances": [ "Virtually any system that relies on configuration files for runtime behavior is open to this attack vector. The configuration files are frequently stored in predictable locations, so an attacker that can fingerprint a server process such as a web server or database server can quickly identify the likely locale where the configuration is stored. And this is of course not limited to server processes. Unix shells rely on profile files to store environment variables, search paths for programs and so on. If the aliases are changed, then a standard Unix \"cp\" command can be rerouted to \"rm\" or other standard command so the user's intention is subverted.", "The attack can be directed at a client system, such as causing buffer overrun through loading seemingly benign image files, as in Microsoft Security Bulletin MS04-028 where specially crafted JPEG files could cause a buffer overrun once loaded into the browser.", "\n Another example targets clients reading pdf files. In this case the attacker simply appends javascript to the end of a legitimate url for a pdf (http://www.gnucitizen.org/blog/danger-danger-danger/)\n http://path/to/pdf/file.pdf#whatever_name_you_want=javascript:your_code_here\n The client assumes that they are reading a pdf, but the attacker has modified the resource and loaded executable javascript into the client's browser process.\n ", "\n The attack can also target server processes. The attacker edits the resource or configuration file, for example a web.xml file used to configure security permissions for a J2EE app server, adding role name \"public\" grants all users with the public role the ability to use the administration functionality.\n < security-constraint>Security processing rules for admin screens/admin/*POSTGETadministratorpublic\n \n \n \n The server trusts its configuration file to be correct, but when they are manipulated, the attacker gains full control.\n " ], "x_capec_likelihood_of_attack": "High", "x_capec_peer_of_refs": [ "attack-pattern--521348c2-b1df-492f-ac83-1f3ffe102046", "attack-pattern--08c74bd3-c5ad-4d6c-a8bb-bb93d7503ddb" ], "x_capec_prerequisites": [ "The attacker must have the ability to modify non-executable files consumed by the target software." ], "x_capec_resources_required": [ "Ability to communicate synchronously or asynchronously with server that publishes an over-privileged directory, program, or interface. Optionally, ability to capture output directly through synchronous communication or other method such as FTP." ], "x_capec_skills_required": { "Low": "To identify and execute against an over-privileged system interface" }, "x_capec_status": "Draft", "x_capec_typical_severity": "Very High", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--1200590e-b7be-4a04-ba62-ad7e096eb725", "modified": "2023-01-24T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--a4112a44-a0f9-4bde-bebe-74ed96c4cd3f", "spec_version": "2.1", "target_ref": "attack-pattern--9a7c6cbc-e3f9-4925-992e-f07e1359de87", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--8bc84555-2eda-4653-91db-ab12268de92f", "modified": "2023-01-24T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--16c78c78-dace-4fe3-ac4a-aaf188d14af5", "spec_version": "2.1", "target_ref": "attack-pattern--9a7c6cbc-e3f9-4925-992e-f07e1359de87", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--56425426-27c4-48cd-b76a-d1b3019fa7ab", "modified": "2023-01-24T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--8fb32cf0-80fd-4e8b-91c6-0908041d5b6e", "spec_version": "2.1", "target_ref": "attack-pattern--9a7c6cbc-e3f9-4925-992e-f07e1359de87", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "Implementation: Implement host integrity monitoring to detect any unwanted altering of configuration files.", "id": "course-of-action--601142e9-0c7b-4920-a60c-6abe2514f692", "modified": "2023-01-24T00:00:00.000Z", "name": "coa-35-3", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "course-of-action", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--a6e454f6-6551-4cd7-9eab-0d1493966d59", "modified": "2023-01-24T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--601142e9-0c7b-4920-a60c-6abe2514f692", "spec_version": "2.1", "target_ref": "attack-pattern--9a7c6cbc-e3f9-4925-992e-f07e1359de87", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "Implementation: Ensure that files that are not required to execute, such as configuration files, are not over-privileged, i.e. not allowed to execute.", "id": "course-of-action--2e6ab888-a935-4b5d-9efa-891f4cdf1b32", "modified": "2023-01-24T00:00:00.000Z", "name": "coa-35-4", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "course-of-action", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--96960c02-bdf9-412d-94b3-3cc4487c9b4f", "modified": "2023-01-24T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--2e6ab888-a935-4b5d-9efa-891f4cdf1b32", "spec_version": "2.1", "target_ref": "attack-pattern--9a7c6cbc-e3f9-4925-992e-f07e1359de87", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "An adversary searches for and invokes interfaces or functionality that the target system designers did not intend to be publicly available. If interfaces fail to authenticate requests, the attacker may be able to invoke functionality they are not authorized for.", "external_references": [ { "external_id": "CAPEC-36", "source_name": "capec", "url": "https://capec.mitre.org/data/definitions/36.html" }, { "external_id": "CWE-306", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/306.html" }, { "external_id": "CWE-693", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/693.html" }, { "external_id": "CWE-695", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/695.html" }, { "external_id": "CWE-1242", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/1242.html" } ], "id": "attack-pattern--d0db3641-ee0d-4897-89aa-3c85c69377a5", "modified": "2022-09-29T00:00:00.000Z", "name": "Using Unpublished Interfaces or Functionality", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "attack-pattern", "x_capec_abstraction": "Standard", "x_capec_child_of_refs": [ "attack-pattern--f4186110-0c20-42fa-bc6f-d0ff9f700f91" ], "x_capec_consequences": { "Access_Control": [ "Gain Privileges" ], "Authorization": [ "Gain Privileges" ], "Confidentiality": [ "Read Data", "Gain Privileges" ] }, "x_capec_domains": [ "Software", "Hardware" ], "x_capec_example_instances": [ "To an extent, Google services (such as Google Maps) are all well-known examples. Calling these services, or extending them for one's own (perhaps very different) purposes is as easy as knowing they exist. Their unencumbered public use, however, is a purposeful aspect of Google's business model. Most organizations, however, do not have the same business model. Organizations publishing services usually fall back on thoughts that Attackers \"will not know services exist\" and that \"even if they did, they wouldn't be able to access them because they're not on the local LAN.\" Simple threat modeling exercises usually uncovers simple attack vectors that can invalidate these assumptions." ], "x_capec_execution_flow": "

Execution Flow

Explore

  1. Identify services: Discover a service of interest by exploring service registry listings or by connecting on a known port or some similar means.

  2. Techniques
    Search via internet for known, published services.
    Use automated tools to scan known ports to identify internet-enabled services.
    Dump the code from the chip and then perform reverse engineering to analyze the code.
  3. Authenticate to service: Authenticate to the service, if required, in order to explore it.

  4. Techniques
    Use published credentials to access system.
    Find unpublished credentials to access service.
    Use other attack pattern or weakness to bypass authentication.
  5. Identify all interfaces: Determine the exposed interfaces by querying the registry as well as probably sniffing to expose interfaces that are not explicitly listed.

  6. Techniques
    For any published services, determine exposed interfaces via the documentation provided.
    For any services found, use error messages from poorly formed service calls to determine valid interfaces. In some cases, services will respond to poorly formed calls with valid ones.

Experiment

  1. Attempt to discover unpublished functions: Using manual or automated means, discover unpublished or undocumented functions exposed by the service.

  2. Techniques
    Manually attempt calls to the service using an educated guess approach, including the use of terms like' 'test', 'debug', 'delete', etc.
    Use automated tools to scan the service to attempt to reverse engineer exposed, but undocumented, features.

Exploit

  1. Exploit unpublished functions: Using information determined via experimentation, exploit the unpublished features of the service.

  2. Techniques
    Execute features that are not intended to be used by general system users.
    Craft malicious calls to features not intended to be used by general system users that take advantage of security flaws found in the functions.
", "x_capec_extended_description": "Adversaries can also search for undocumented bits on a hardware device, commonly known as \"chicken bits\". These bits are used to enable/disable certain functionality, but are not published. Adversaries can reverse engineer firmware to identify hidden features and change these bits at runtime to achieve malicious behavior.", "x_capec_likelihood_of_attack": "Medium", "x_capec_prerequisites": [ "The architecture under attack must publish or otherwise make available services that clients can attach to, either in an unauthenticated fashion, or having obtained an authentication token elsewhere. The service need not be 'discoverable', but in the event it isn't it must have some way of being discovered by an attacker. This might include listening on a well-known port. Ultimately, the likelihood of exploit depends on discoverability of the vulnerable service." ], "x_capec_resources_required": [ "None: No specialized resources are required to execute this type of attack. Web service digging tools may be helpful." ], "x_capec_skills_required": { "Low": "A number of web service digging tools are available for free that help discover exposed web services and their interfaces. In the event that a web service is not listed, the attacker does not need to know much more in addition to the format of web service messages that they can sniff/monitor for." }, "x_capec_status": "Draft", "x_capec_typical_severity": "High", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "Authenticating both services and their discovery, and protecting that authentication mechanism simply fixes the bulk of this problem. Protecting the authentication involves the standard means, including: 1) protecting the channel over which authentication occurs, 2) preventing the theft, forgery, or prediction of authentication credentials or the resultant tokens, or 3) subversion of password reset and the like.", "id": "course-of-action--a7decf96-7bb3-45ee-bb7d-833b443b59ed", "modified": "2022-09-29T00:00:00.000Z", "name": "coa-36-0", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "course-of-action", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--fa411755-d981-4b14-9dbc-aed949041db7", "modified": "2022-09-29T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--a7decf96-7bb3-45ee-bb7d-833b443b59ed", "spec_version": "2.1", "target_ref": "attack-pattern--d0db3641-ee0d-4897-89aa-3c85c69377a5", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "An attacker examines a target system to find sensitive data that has been embedded within it. This information can reveal confidential contents, such as account numbers or individual keys/credentials that can be used as an intermediate step in a larger attack.", "external_references": [ { "external_id": "CAPEC-37", "source_name": "capec", "url": "https://capec.mitre.org/data/definitions/37.html" }, { "external_id": "CWE-226", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/226.html" }, { "external_id": "CWE-311", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/311.html" }, { "external_id": "CWE-525", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/525.html" }, { "external_id": "CWE-312", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/312.html" }, { "external_id": "CWE-314", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/314.html" }, { "external_id": "CWE-315", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/315.html" }, { "external_id": "CWE-318", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/318.html" }, { "external_id": "CWE-1239", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/1239.html" }, { "external_id": "CWE-1258", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/1258.html" }, { "external_id": "CWE-1266", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/1266.html" }, { "external_id": "CWE-1272", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/1272.html" }, { "external_id": "CWE-1278", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/1278.html" }, { "external_id": "CWE-1301", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/1301.html" }, { "external_id": "CWE-1330", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/1330.html" }, { "description": "Data from Local System", "external_id": "T1005", "source_name": "ATTACK", "url": "https://attack.mitre.org/wiki/Technique/T1005" }, { "description": "Unsecured Credentials: Private Keys", "external_id": "T1552.004", "source_name": "ATTACK", "url": "https://attack.mitre.org/wiki/Technique/T1552/004" } ], "id": "attack-pattern--55ce63d0-6143-4b95-b70c-87c5b60aafa8", "modified": "2022-09-29T00:00:00.000Z", "name": "Retrieve Embedded Sensitive Data", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "attack-pattern", "x_capec_abstraction": "Detailed", "x_capec_can_follow_refs": [ "attack-pattern--3147f1c9-3043-40ca-ad42-c1be938820a4", "attack-pattern--a8b4faf6-2e52-434f-95a4-df5f9bdc985a" ], "x_capec_child_of_refs": [ "attack-pattern--d17eb5a5-1361-4e13-a969-e4d587d13b3d" ], "x_capec_consequences": { "Access_Control": [ "Gain Privileges" ], "Authorization": [ "Gain Privileges" ], "Confidentiality": [ "Read Data", "Gain Privileges" ], "Integrity": [ "Modify Data" ] }, "x_capec_domains": [ "Software", "Physical Security", "Hardware" ], "x_capec_example_instances": [ "Using a tool such as 'strings' or similar to pull out text data, perhaps part of a database table, that extends beyond what a particular user's purview should be.", "An attacker can also use a decompiler to decompile a downloaded Java applet in order to look for information such as hardcoded IP addresses, file paths, passwords or other such contents.", "Attacker uses a tool such as a browser plug-in to pull cookie or other token information that, from a previous user at the same machine (perhaps a kiosk), allows the attacker to log in as the previous user." ], "x_capec_execution_flow": "

Execution Flow

Explore

  1. Identify Target: Attacker identifies client components to extract information from. These may be binary executables, class files, shared libraries (e.g., DLLs), configuration files, or other system files.

  2. Techniques
    Binary file extraction. The attacker extracts binary files from zips, jars, wars, PDFs or other composite formats.
    Package listing. The attacker uses a package manifest provided with the software installer, or the filesystem itself, to identify component files suitable for attack.

Exploit

  1. Retrieve Embedded Data: The attacker then uses a variety of techniques, such as sniffing, reverse-engineering, and cryptanalysis to retrieve the information of interest.

  2. Techniques
    API Profiling. The attacker monitors the software's use of registry keys or other operating system-provided storage locations that can contain sensitive information.
    Execution in simulator. The attacker physically removes mass storage from the system and explores it using a simulator, external system, or other debugging harness.
    Common decoding methods. The attacker applies methods to decode such encodings and compressions as Base64, unzip, unrar, RLE decoding, gzip decompression and so on.
    Common data typing. The attacker looks for common file signatures for well-known file types (JPEG, TIFF, ASN.1, LDIF, etc.). If the signatures match, they attempt decoding in that format.
", "x_capec_likelihood_of_attack": "High", "x_capec_prerequisites": [ "In order to feasibly execute this type of attack, some valuable data must be present in client software.", "Additionally, this information must be unprotected, or protected in a flawed fashion, or through a mechanism that fails to resist reverse engineering, statistical, or other attack." ], "x_capec_resources_required": [ "The attacker must possess access to the system or code being exploited. Such access, for this set of attacks, will likely be physical. The attacker will make use of reverse engineering technologies, perhaps for data or to extract functionality from the binary. Such tool use may be as simple as \"Strings\" or a hex editor. Removing functionality may require the use of only a hex editor, or may require aspects of the toolchain used to construct the application: for instance the Adobe Flash development environment. Attacks of this nature do not require network access or undue CPU, memory, or other hardware-based resources." ], "x_capec_skills_required": { "Medium": "The attacker must possess knowledge of client code structure as well as ability to reverse-engineer or decompile it or probe it in other ways. This knowledge is specific to the technology and language used for the client distribution" }, "x_capec_status": "Draft", "x_capec_typical_severity": "Very High", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "This pattern of attack sees an adversary load a malicious resource into a program's standard path so that when a known command is executed then the system instead executes the malicious component. The adversary can either modify the search path a program uses, like a PATH variable or classpath, or they can manipulate resources on the path to point to their malicious components. J2EE applications and other component based applications that are built from multiple binaries can have very long list of dependencies to execute. If one of these libraries and/or references is controllable by the attacker then application controls can be circumvented by the attacker.", "external_references": [ { "external_id": "CAPEC-38", "source_name": "capec", "url": "https://capec.mitre.org/data/definitions/38.html" }, { "external_id": "CWE-426", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/426.html" }, { "external_id": "CWE-427", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/427.html" }, { "description": "Hijack Execution Flow: Path Interception by PATH Environment Variable", "external_id": "T1574.007", "source_name": "ATTACK", "url": "https://attack.mitre.org/wiki/Technique/T1574/007" }, { "description": "Hijack Execution Flow: Path Interception by Unquoted Path", "external_id": "T1574.009", "source_name": "ATTACK", "url": "https://attack.mitre.org/wiki/Technique/T1574/009" }, { "description": "G. Hoglund, G. McGraw, Exploiting Software: How to Break Code, 2004--02, Addison-Wesley", "external_id": "REF-1", "source_name": "reference_from_CAPEC" } ], "id": "attack-pattern--2e603682-c08c-4af1-8e06-329dc8bbe4b4", "modified": "2022-09-29T00:00:00.000Z", "name": "Leveraging/Manipulating Configuration File Search Paths", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "attack-pattern", "x_capec_abstraction": "Detailed", "x_capec_child_of_refs": [ "attack-pattern--d16af13f-5e0f-4a6b-bc1f-23f733d2229b" ], "x_capec_consequences": { "Access_Control": [ "Gain Privileges" ], "Authorization": [ "Gain Privileges" ], "Availability": [ "Execute Unauthorized Commands (Run Arbitrary Code)" ], "Confidentiality": [ "Execute Unauthorized Commands (Run Arbitrary Code)", "Gain Privileges" ], "Integrity": [ "Execute Unauthorized Commands (Run Arbitrary Code)" ] }, "x_capec_domains": [ "Software" ], "x_capec_example_instances": [ "\n Another method is to redirect commands by aliasing one legitimate command to another to create unexpected results. the Unix command \"rm\" could be aliased to \"mv\" and move all files the victim thinks they are deleting to a directory the attacker controls. In a Unix shell .profile setting\n alias rm=mv /usr/home/attacker\n In this case the attacker retains a copy of all the files the victim attempts to remove.\n ", "\n A standard UNIX path looks similar to this\n /bin:/sbin:/usr/bin:/usr/local/bin:/usr/sbin\n If the attacker modifies the path variable to point to a locale that includes malicious resources then the user unwittingly can execute commands on the attackers' behalf:\n /evildir/bin:/sbin:/usr/bin:/usr/local/bin:/usr/sbin\n This is a form of usurping control of the program and the attack can be done on the classpath, database resources, or any other resources built from compound parts. At runtime detection and blocking of this attack is nearly impossible, because the configuration allows execution.\n " ], "x_capec_likelihood_of_attack": "High", "x_capec_prerequisites": [ "The attacker must be able to write to redirect search paths on the victim host." ], "x_capec_skills_required": { "Low": "To identify and execute against an over-privileged system interface" }, "x_capec_status": "Draft", "x_capec_typical_severity": "Very High", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--ef4b6415-f24e-432a-9f51-eb19c515d326", "modified": "2022-09-29T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--a4112a44-a0f9-4bde-bebe-74ed96c4cd3f", "spec_version": "2.1", "target_ref": "attack-pattern--2e603682-c08c-4af1-8e06-329dc8bbe4b4", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "Design: Ensure that the program's compound parts, including all system dependencies, classpath, path, and so on, are secured to the same or higher level assurance as the program", "id": "course-of-action--22eb9bea-93ce-4bec-b575-33aa10b6766a", "modified": "2022-09-29T00:00:00.000Z", "name": "coa-38-1", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "course-of-action", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--f27d7fdd-9727-4b1e-852a-80cea8641b62", "modified": "2022-09-29T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--22eb9bea-93ce-4bec-b575-33aa10b6766a", "spec_version": "2.1", "target_ref": "attack-pattern--2e603682-c08c-4af1-8e06-329dc8bbe4b4", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "Implementation: Host integrity monitoring", "id": "course-of-action--58265fa6-0c01-42ec-a9a5-1e3535b9b8cb", "modified": "2022-09-29T00:00:00.000Z", "name": "coa-38-2", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "course-of-action", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--c212a3ad-89fe-4eec-b57a-6c1471eb8a8a", "modified": "2022-09-29T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--58265fa6-0c01-42ec-a9a5-1e3535b9b8cb", "spec_version": "2.1", "target_ref": "attack-pattern--2e603682-c08c-4af1-8e06-329dc8bbe4b4", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "An adversary hosts an event within an application framework and then monitors the data exchanged during the course of the event for the purpose of harvesting any important data leaked during the transactions. One example could be harvesting lists of usernames or userIDs for the purpose of sending spam messages to those users. One example of this type of attack involves the adversary creating an event within the sub-application. Assume the adversary hosts a \"virtual sale\" of rare items. As other users enter the event, the attacker records via AiTM (CAPEC-94) proxy the user_ids and usernames of everyone who attends. The adversary would then be able to spam those users within the application using an automated script.", "external_references": [ { "external_id": "CAPEC-383", "source_name": "capec", "url": "https://capec.mitre.org/data/definitions/383.html" }, { "external_id": "CWE-311", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/311.html" }, { "external_id": "CWE-319", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/319.html" }, { "external_id": "CWE-419", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/419.html" }, { "external_id": "CWE-602", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/602.html" }, { "description": "Input Capture: Credential API Hooking", "external_id": "T1056.004", "source_name": "ATTACK", "url": "https://attack.mitre.org/wiki/Technique/T1056/004" }, { "description": "Tom Stracener, Sean Barnum, So Many Ways [...]: Exploiting Facebook and YoVille, 2010, Defcon 18", "external_id": "REF-327", "source_name": "reference_from_CAPEC" } ], "id": "attack-pattern--2a8a634e-cf1f-4b2e-9a71-1ab8e6bb16d0", "modified": "2022-09-29T00:00:00.000Z", "name": "Harvesting Information via API Event Monitoring", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "attack-pattern", "x_capec_abstraction": "Detailed", "x_capec_can_precede_refs": [ "attack-pattern--38964770-4f39-4191-89cf-73a625162b2b" ], "x_capec_child_of_refs": [ "attack-pattern--8b329689-f8f8-466e-a890-4e30b8d8ec30" ], "x_capec_consequences": { "Confidentiality": [ "Read Data (The adversary is able to gather information to potentially support further nefarious activities.)" ] }, "x_capec_domains": [ "Social Engineering", "Social Engineering", "Software" ], "x_capec_prerequisites": [ "The target software is utilizing application framework APIs" ], "x_capec_status": "Draft", "x_capec_typical_severity": "Low", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "Leverage encryption techniques during information transactions so as to protect them from attack patterns of this kind.", "id": "course-of-action--ef067fa3-03f9-4b2b-be2a-8afcd04006f5", "modified": "2022-09-29T00:00:00.000Z", "name": "coa-383-0", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "course-of-action", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--c553bedf-6dd2-4f6e-bb3f-680cd65f2c57", "modified": "2022-09-29T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--ef067fa3-03f9-4b2b-be2a-8afcd04006f5", "spec_version": "2.1", "target_ref": "attack-pattern--2a8a634e-cf1f-4b2e-9a71-1ab8e6bb16d0", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "An attacker manipulates either egress or ingress data from a client within an application framework in order to change the content of messages. Performing this attack can allow the attacker to gain unauthorized privileges within the application, or conduct attacks such as phishing, deceptive strategies to spread malware, or traditional web-application attacks. The techniques require use of specialized software that allow the attacker to perform adversary-in-the-middle (CAPEC-94) communications between the web browser and the remote system. Despite the use of AiTH software, the attack is actually directed at the server, as the client is one node in a series of content brokers that pass information along to the application framework. Additionally, it is not true \"Adversary-in-the-Middle\" attack at the network layer, but an application-layer attack the root cause of which is the master applications trust in the integrity of code supplied by the client.", "external_references": [ { "external_id": "CAPEC-384", "source_name": "capec", "url": "https://capec.mitre.org/data/definitions/384.html" }, { "external_id": "CWE-471", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/471.html" }, { "external_id": "CWE-345", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/345.html" }, { "external_id": "CWE-346", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/346.html" }, { "external_id": "CWE-602", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/602.html" }, { "external_id": "CWE-311", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/311.html" }, { "description": "Tom Stracener, Sean Barnum, So Many Ways [...]: Exploiting Facebook and YoVille, 2010, Defcon 18", "external_id": "REF-327", "source_name": "reference_from_CAPEC" } ], "id": "attack-pattern--ea07b1ea-c1b0-4923-8d25-a8fc39da040a", "modified": "2021-06-24T00:00:00.000Z", "name": "Application API Message Manipulation via Man-in-the-Middle", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "attack-pattern", "x_capec_abstraction": "Standard", "x_capec_can_follow_refs": [ "attack-pattern--414d0884-4f46-4a51-b4ea-72125c7f5f9e" ], "x_capec_child_of_refs": [ "attack-pattern--38964770-4f39-4191-89cf-73a625162b2b" ], "x_capec_domains": [ "Communications", "Software" ], "x_capec_parent_of_refs": [ "attack-pattern--0a899aed-6271-4cc9-8ffc-5c9575776731", "attack-pattern--33370ee8-a290-42cc-b85d-5fd13f1f6fed" ], "x_capec_prerequisites": [ "Targeted software is utilizing application framework APIs" ], "x_capec_resources_required": [ "A software program that allows a user to man-in-the-middle communications between the client and server, such as a man-in-the-middle proxy." ], "x_capec_status": "Draft", "x_capec_typical_severity": "Low", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "An attacker hosts or joins an event or transaction within an application framework in order to change the content of messages or items that are being exchanged. Performing this attack allows the attacker to manipulate content in such a way as to produce messages or content that look authentic but may contain deceptive links, substitute one item or another, spoof an existing item and conduct a false exchange, or otherwise change the amounts or identity of what is being exchanged. The techniques require use of specialized software that allow the attacker to man-in-the-middle communications between the web browser and the remote system in order to change the content of various application elements. Often, items exchanged in game can be monetized via sales for coin, virtual dollars, etc. The purpose of the attack is for the attack to scam the victim by trapping the data packets involved the exchange and altering the integrity of the transfer process.", "external_references": [ { "external_id": "CAPEC-385", "source_name": "capec", "url": "https://capec.mitre.org/data/definitions/385.html" }, { "external_id": "CWE-471", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/471.html" }, { "external_id": "CWE-345", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/345.html" }, { "external_id": "CWE-346", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/346.html" }, { "external_id": "CWE-602", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/602.html" }, { "external_id": "CWE-311", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/311.html" }, { "description": "Tom Stracener, Sean Barnum, So Many Ways [...]: Exploiting Facebook and YoVille, 2010, Defcon 18", "external_id": "REF-327", "source_name": "reference_from_CAPEC" } ], "id": "attack-pattern--0a899aed-6271-4cc9-8ffc-5c9575776731", "modified": "2021-06-24T00:00:00.000Z", "name": "Transaction or Event Tampering via Application API Manipulation", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "attack-pattern", "x_capec_abstraction": "Detailed", "x_capec_child_of_refs": [ "attack-pattern--ea07b1ea-c1b0-4923-8d25-a8fc39da040a" ], "x_capec_domains": [ "Communications", "Software" ], "x_capec_prerequisites": [ "Targeted software is utilizing application framework APIs" ], "x_capec_resources_required": [ "A software program that allows the use of adversary-in-the-middle communications (CAPEC-94) between the client and server, such as a man-in-the-middle proxy." ], "x_capec_status": "Draft", "x_capec_typical_severity": "Medium", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "An attacker manipulates either egress or ingress data from a client within an application framework in order to change the destination and/or content of links/buttons displayed to a user within API messages. Performing this attack allows the attacker to manipulate content in such a way as to produce messages or content that looks authentic but contains links/buttons that point to an attacker controlled destination. Some applications make navigation remapping more difficult to detect because the actual HREF values of images, profile elements, and links/buttons are masked. One example would be to place an image in a user's photo gallery that when clicked upon redirected the user to an off-site location. Also, traditional web vulnerabilities (such as CSRF) can be constructed with remapped buttons or links. In some cases navigation remapping can be used for Phishing attacks or even means to artificially boost the page view, user site reputation, or click-fraud.", "external_references": [ { "external_id": "CAPEC-386", "source_name": "capec", "url": "https://capec.mitre.org/data/definitions/386.html" }, { "external_id": "CWE-471", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/471.html" }, { "external_id": "CWE-345", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/345.html" }, { "external_id": "CWE-346", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/346.html" }, { "external_id": "CWE-602", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/602.html" }, { "external_id": "CWE-311", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/311.html" }, { "description": "Tom Stracener, Sean Barnum, So Many Ways [...]: Exploiting Facebook and YoVille, 2010, Defcon 18", "external_id": "REF-327", "source_name": "reference_from_CAPEC" } ], "id": "attack-pattern--9df3addd-7bea-44e5-be63-4cc46d64fbea", "modified": "2021-06-24T00:00:00.000Z", "name": "Application API Navigation Remapping", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "attack-pattern", "x_capec_abstraction": "Standard", "x_capec_child_of_refs": [ "attack-pattern--38964770-4f39-4191-89cf-73a625162b2b" ], "x_capec_domains": [ "Communications", "Software" ], "x_capec_parent_of_refs": [ "attack-pattern--4343b267-a4f4-4adb-aa1c-48c79c992210", "attack-pattern--9c41b3f7-76fa-4864-9b1d-304327dcd55c" ], "x_capec_prerequisites": [ "Targeted software is utilizing application framework APIs" ], "x_capec_resources_required": [ "A software program that allows the use of adversary-in-the-middle (CAPEC-94) communications between the client and server, such as a man-in-the-middle proxy." ], "x_capec_status": "Draft", "x_capec_typical_severity": "Medium", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "An adversary manipulates either egress or ingress data from a client within an application framework in order to change the content of messages and thereby circumvent the expected application logic.", "external_references": [ { "external_id": "CAPEC-387", "source_name": "capec", "url": "https://capec.mitre.org/data/definitions/387.html" }, { "external_id": "CWE-471", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/471.html" }, { "external_id": "CWE-345", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/345.html" }, { "external_id": "CWE-346", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/346.html" }, { "external_id": "CWE-602", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/602.html" }, { "external_id": "CWE-311", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/311.html" }, { "description": "Tom Stracener, Sean Barnum, So Many Ways [...]: Exploiting Facebook and YoVille, 2010, Defcon 18", "external_id": "REF-327", "source_name": "reference_from_CAPEC" } ], "id": "attack-pattern--4343b267-a4f4-4adb-aa1c-48c79c992210", "modified": "2022-09-29T00:00:00.000Z", "name": "Navigation Remapping To Propagate Malicious Content", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "attack-pattern", "x_capec_abstraction": "Detailed", "x_capec_child_of_refs": [ "attack-pattern--9df3addd-7bea-44e5-be63-4cc46d64fbea" ], "x_capec_domains": [ "Communications", "Software" ], "x_capec_extended_description": "\n Performing this attack allows the adversary to manipulate content in such a way as to produce messages or content that look authentic but may contain deceptive links, spam-like content, or links to the adversarys' code. In general, content-spoofing within an application API can be employed to stage many different types of attacks varied based on the adversarys' intent. When the goal is to spread malware, deceptive content is created such as modified links, buttons, or images, that entice users to click on those items, all of which point to a malicious URI. The techniques require use of specialized software that allow the adversary to use adversary-in-the-middle (CAPEC-94) communications between the web browser and the remote system in order to change the destination of various application interface elements.\n ", "x_capec_prerequisites": [ "Targeted software is utilizing application framework APIs" ], "x_capec_resources_required": [ "A software program that allows the use of adversary-in-the-middle communications between the client and server, such as a man-in-the-middle proxy." ], "x_capec_status": "Draft", "x_capec_typical_severity": "Medium", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "An attacker manipulates either egress or ingress data from a client within an application framework in order to change the destination and/or content of buttons displayed to a user within API messages. Performing this attack allows the attacker to manipulate content in such a way as to produce messages or content that looks authentic but contains buttons that point to an attacker controlled destination.", "external_references": [ { "external_id": "CAPEC-388", "source_name": "capec", "url": "https://capec.mitre.org/data/definitions/388.html" }, { "external_id": "CWE-471", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/471.html" }, { "external_id": "CWE-345", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/345.html" }, { "external_id": "CWE-346", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/346.html" }, { "external_id": "CWE-602", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/602.html" }, { "external_id": "CWE-311", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/311.html" }, { "description": "Tom Stracener, Sean Barnum, So Many Ways [...]: Exploiting Facebook and YoVille, 2010, Defcon 18", "external_id": "REF-327", "source_name": "reference_from_CAPEC" } ], "id": "attack-pattern--9c41b3f7-76fa-4864-9b1d-304327dcd55c", "modified": "2022-09-29T00:00:00.000Z", "name": "Application API Button Hijacking", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "attack-pattern", "x_capec_abstraction": "Detailed", "x_capec_child_of_refs": [ "attack-pattern--9df3addd-7bea-44e5-be63-4cc46d64fbea" ], "x_capec_domains": [ "Communications", "Software" ], "x_capec_example_instances": [ "\n An in-game event occurs and the attacker traps the result, which turns out to be a form that will be populated to their primary profile. The attacker, using a MITM proxy, observes the following data:\n [Button][Claim_Item]Sourdough_Cookie[URL_IMG]foo[/URL_IMG][Claim_Link]bar[/Claim_Link]\n By altering the destination of \"Claim_Link\" to point to the attackers' server an unwitting victim can be enticed to click the link. Another example would be for the attacker to rewrite the button destinations for an event so that clicking \"Yes\" or \"No\" causes the user to load the attackers' code.\n " ], "x_capec_prerequisites": [ "Targeted software is utilizing application framework APIs" ], "x_capec_resources_required": [ "A software program that allows the use of adversary-in-the-middle (CAPEC-94) communications between the client and server, such as a adversary-in-the-middle (CAPEC-94) proxy." ], "x_capec_status": "Draft", "x_capec_typical_severity": "Medium", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "An attacker manipulates either egress or ingress data from a client within an application framework in order to change the content of messages. Performing this attack allows the attacker to manipulate content in such a way as to produce messages or content that look authentic but may contain deceptive links, spam-like content, or links to the attackers' code. In general, content-spoofing within an application API can be employed to stage many different types of attacks varied based on the attackers' intent. The techniques require use of specialized software that allow the attacker to use adversary-in-the-middle (CAPEC-94) communications between the web browser and the remote system.", "external_references": [ { "external_id": "CAPEC-389", "source_name": "capec", "url": "https://capec.mitre.org/data/definitions/389.html" }, { "external_id": "CWE-353", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/353.html" }, { "description": "Tom Stracener, Sean Barnum, So Many Ways [...]: Exploiting Facebook and YoVille, 2010, Defcon 18", "external_id": "REF-327", "source_name": "reference_from_CAPEC" } ], "id": "attack-pattern--33370ee8-a290-42cc-b85d-5fd13f1f6fed", "modified": "2021-06-24T00:00:00.000Z", "name": "Content Spoofing Via Application API Manipulation", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "attack-pattern", "x_capec_abstraction": "Detailed", "x_capec_child_of_refs": [ "attack-pattern--ea07b1ea-c1b0-4923-8d25-a8fc39da040a" ], "x_capec_domains": [ "Communications", "Software" ], "x_capec_prerequisites": [ "Targeted software is utilizing application framework APIs" ], "x_capec_resources_required": [ "A software program that allows the use of adversary-in-the-middle communications between the client and server, such as an adversary-in-the-middle proxy." ], "x_capec_status": "Draft", "x_capec_typical_severity": "Low", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "In circumstances where an application holds important data client-side in tokens (cookies, URLs, data files, and so forth) that data can be manipulated. If client or server-side application components reinterpret that data as authentication tokens or data (such as store item pricing or wallet information) then even opaquely manipulating that data may bear fruit for an Attacker. In this pattern an attacker undermines the assumption that client side tokens have been adequately protected from tampering through use of encryption or obfuscation.", "external_references": [ { "external_id": "CAPEC-39", "source_name": "capec", "url": "https://capec.mitre.org/data/definitions/39.html" }, { "external_id": "CWE-353", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/353.html" }, { "external_id": "CWE-285", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/285.html" }, { "external_id": "CWE-302", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/302.html" }, { "external_id": "CWE-472", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/472.html" }, { "external_id": "CWE-565", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/565.html" }, { "external_id": "CWE-315", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/315.html" }, { "external_id": "CWE-539", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/539.html" }, { "external_id": "CWE-384", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/384.html" }, { "external_id": "CWE-233", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/233.html" } ], "id": "attack-pattern--9afead03-280c-4f2c-82f6-b08b7a54a8e3", "modified": "2020-07-30T00:00:00.000Z", "name": "Manipulating Opaque Client-based Data Tokens", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "attack-pattern", "x_capec_abstraction": "Standard", "x_capec_child_of_refs": [ "attack-pattern--1fa1539d-4a13-4453-bf43-ad0987b2fbf5" ], "x_capec_consequences": { "Access_Control": [ "Gain Privileges" ], "Authorization": [ "Gain Privileges" ], "Confidentiality": [ "Gain Privileges" ], "Integrity": [ "Modify Data" ] }, "x_capec_domains": [ "Software" ], "x_capec_example_instances": [ "With certain price watching websites, that aggregate products available prices, the user can buy items through whichever vendors has product availability, the best price, or other differentiator. Once a user selects an item, the site must broker the purchase of that item with the vendor. Because vendors sell the same product through different channel partners at different prices, token exchange between price watching sites and selling vendors will often contain pricing information. With some price watching sites, manipulating URL-data (which is encrypted) even opaquely yields different prices charged by the fulfilling vendor. If the manipulated price turns out higher, the Attacker can cancel purchase. If the Attacker succeeded in manipulating the token and creating a lower price, they proceed.", "Upon successful authentication user is granted an encrypted authentication cookie by the server and it is stored on the client. One piece of information stored in the authentication cookie reflects the access level of the user (e.g. \"u\" for user). The authentication cookie is encrypted using the Electronic Code Book (ECB) mode, that naively encrypts each of the plaintext blocks to each of the ciphertext blocks separately. An attacker knows the structure of the cookie and can figure out what bits (encrypted) store the information relating to the access level of the user. An attacker modifies the authentication cookie and effectively substitutes \"u\" for \"a\" by flipping some of the corresponding bits of ciphertext (trial and error). Once the correct \"flip\" is found, when the system is accessed, the attacker is granted administrative privileges in the system. Note that in this case an attacker did not have to figure out the exact encryption algorithm or find the secret key, but merely exploit the weakness inherent in using the ECB encryption mode.", "Archangel Weblog 0.90.02 allows remote attackers to bypass authentication by setting the ba_admin cookie to 1. See also: CVE-2006-0944" ], "x_capec_execution_flow": "

Execution Flow

Explore

  1. Enumerate information passed to client side: The attacker identifies the parameters used as part of tokens to take business or security decisions

  2. Techniques
    Use WebScarab to reveal hidden fields while browsing.
    Use a sniffer to capture packets
    View source of web page to find hidden fields
    Examine URL to see if any opaque tokens are in it
    Disassemble or decompile client-side application
    Use debugging tools such as File Monitor, Registry Monitor, Debuggers, etc.
  3. Determine protection mechanism for opaque token: The attacker determines the protection mechanism used to protect the confidentiality and integrity of these data tokens. They may be obfuscated or a full blown encryption may be used.

  4. Techniques
    Look for signs of well-known character encodings
    Look for cryptographic signatures
    Look for delimiters or other indicators of structure

Experiment

  1. Modify parameter/token values: Trying each parameter in turn, the attacker modifies the values

  2. Techniques
    Modify tokens logically
    Modify tokens arithmetically
    Modify tokens bitwise
    Modify structural components of tokens
    Modify order of parameters/tokens
  3. Cycle through values for each parameter.: Depending on the nature of the application, the attacker now cycles through values of each parameter and observes the effects of this modification in the data returned by the server

  4. Techniques
    Use network-level packet injection tools such as netcat
    Use application-level data modification tools such as Tamper Data, WebScarab, TamperIE, etc.
    Use modified client (modified by reverse engineering)
    Use debugging tools to modify data in client
", "x_capec_likelihood_of_attack": "High", "x_capec_parent_of_refs": [ "attack-pattern--cddb7bce-8d94-4eea-8e73-9f6ef66376c2" ], "x_capec_prerequisites": [ "An attacker already has some access to the system or can steal the client based data tokens from another user who has access to the system.", "For an Attacker to viably execute this attack, some data (later interpreted by the application) must be held client-side in a way that can be manipulated without detection. This means that the data or tokens are not CRCd as part of their value or through a separate meta-data store elsewhere." ], "x_capec_resources_required": [ "The Attacker needs no special hardware-based resources in order to conduct this attack. Software plugins, such as Tamper Data for Firefox, may help in manipulating URL- or cookie-based data." ], "x_capec_skills_required": { "High": "If the client site token is encrypted.", "Medium": "If the client site token is obfuscated." }, "x_capec_status": "Draft", "x_capec_typical_severity": "Medium", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "One solution to this problem is to protect encrypted data with a CRC of some sort. If knowing who last manipulated the data is important, then using a cryptographic \"message authentication code\" (or hMAC) is prescribed. However, this guidance is not a panacea. In particular, any value created by (and therefore encrypted by) the client, which itself is a \"malicious\" value, all the protective cryptography in the world can't make the value 'correct' again. Put simply, if the client has control over the whole process of generating and encoding the value, then simply protecting its integrity doesn't help.", "id": "course-of-action--e9607fbe-044b-4d09-8ead-802f3f085108", "modified": "2020-07-30T00:00:00.000Z", "name": "coa-39-0", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "course-of-action", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--67d47bb8-367b-4568-834c-70ed30ce08cc", "modified": "2020-07-30T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--e9607fbe-044b-4d09-8ead-802f3f085108", "spec_version": "2.1", "target_ref": "attack-pattern--9afead03-280c-4f2c-82f6-b08b7a54a8e3", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "Make sure to protect client side authentication tokens for confidentiality (encryption) and integrity (signed hash)", "id": "course-of-action--c9f9e9db-5633-4696-b4dc-e6082a1ccb15", "modified": "2020-07-30T00:00:00.000Z", "name": "coa-39-1", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "course-of-action", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--b6318059-55e6-4b00-9821-0eae3425f8df", "modified": "2020-07-30T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--c9f9e9db-5633-4696-b4dc-e6082a1ccb15", "spec_version": "2.1", "target_ref": "attack-pattern--9afead03-280c-4f2c-82f6-b08b7a54a8e3", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "Make sure that all session tokens use a good source of randomness", "id": "course-of-action--08eae113-ec2a-445c-afca-ffe3b526e605", "modified": "2020-07-30T00:00:00.000Z", "name": "coa-39-2", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "course-of-action", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--38c91dac-0db3-40f7-ab37-2d092382b5ca", "modified": "2020-07-30T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--08eae113-ec2a-445c-afca-ffe3b526e605", "spec_version": "2.1", "target_ref": "attack-pattern--9afead03-280c-4f2c-82f6-b08b7a54a8e3", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "Perform validation on the server side to make sure that client side data tokens are consistent with what is expected.", "id": "course-of-action--85ac4180-1e64-45ea-a569-f9e826426ae8", "modified": "2020-07-30T00:00:00.000Z", "name": "coa-39-3", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "course-of-action", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--2f0a0801-67e1-4043-87bf-b630a49aa8a8", "modified": "2020-07-30T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--85ac4180-1e64-45ea-a569-f9e826426ae8", "spec_version": "2.1", "target_ref": "attack-pattern--9afead03-280c-4f2c-82f6-b08b7a54a8e3", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "Facilities often used layered models for physical security such as traditional locks, Electronic-based card entry systems, coupled with physical alarms. Hardware security mechanisms range from the use of computer case and cable locks as well as RFID tags for tracking computer assets. This layered approach makes it difficult for random physical security breaches to go unnoticed, but is less effective at stopping deliberate and carefully planned break-ins. Avoiding detection begins with evading building security and surveillance and methods for bypassing the electronic or physical locks which secure entry points.", "external_references": [ { "external_id": "CAPEC-390", "source_name": "capec", "url": "https://capec.mitre.org/data/definitions/390.html" }, { "description": "Stuart McClure, Joel Scambray, George Kurtz, Hacking Exposed: Network Security Secrets & Solutions (6th Edition), 2009, McGraw Hill", "external_id": "REF-33", "source_name": "reference_from_CAPEC" } ], "id": "attack-pattern--8ba08815-66fb-4150-a7fa-8ab6d1472b5f", "modified": "2014-06-23T00:00:00.000Z", "name": "Bypassing Physical Security", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "attack-pattern", "x_capec_abstraction": "Meta", "x_capec_domains": [ "Physical Security" ], "x_capec_parent_of_refs": [ "attack-pattern--00c93895-c68e-4d27-a1ec-0dddce68ed97", "attack-pattern--5e808864-44b1-478c-8cb0-75c55cd51e2b" ], "x_capec_status": "Draft", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "An attacker uses techniques and methods to bypass physical security measures of a building or facility. Physical locks may range from traditional lock and key mechanisms, cable locks used to secure laptops or servers, locks on server cases, or other such devices. Techniques such as lock bumping, lock forcing via snap guns, or lock picking can be employed to bypass those locks and gain access to the facilities or devices they protect, although stealth, evidence of tampering, and the integrity of the lock following an attack, are considerations that may determine the method employed. Physical locks are limited by the complexity of the locking mechanism. While some locks may offer protections such as shock resistant foam to prevent bumping or lock forcing methods, many commonly employed locks offer no such countermeasures.", "external_references": [ { "external_id": "CAPEC-391", "source_name": "capec", "url": "https://capec.mitre.org/data/definitions/391.html" }, { "description": "Stuart McClure, Joel Scambray, George Kurtz, Hacking Exposed: Network Security Secrets & Solutions (6th Edition), 2009, McGraw Hill", "external_id": "REF-33", "source_name": "reference_from_CAPEC" } ], "id": "attack-pattern--00c93895-c68e-4d27-a1ec-0dddce68ed97", "modified": "2019-09-30T00:00:00.000Z", "name": "Bypassing Physical Locks", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "attack-pattern", "x_capec_abstraction": "Standard", "x_capec_child_of_refs": [ "attack-pattern--8ba08815-66fb-4150-a7fa-8ab6d1472b5f" ], "x_capec_domains": [ "Physical Security" ], "x_capec_parent_of_refs": [ "attack-pattern--4068bee0-b331-49e8-872e-98429a3c374a", "attack-pattern--9996317e-313b-456c-8bc8-491dbb53b368", "attack-pattern--aea87f07-9619-4bc5-9790-01bf3423c494" ], "x_capec_status": "Draft", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "An attacker uses a bump key to force a lock on a building or facility and gain entry. Lock Bumping is the use of a special type of key that can be tapped or bumped to cause the pins within the lock to fall into temporary alignment, allowing the lock to be opened. Lock bumping allows an attacker to open a lock without having the correct key. A standard lock is secured by a set of internal pins that prevent the device from turning. Spring loaded driver pins push down on the key pins. When the correct key is inserted, the ridges on the key push the key pins up and against the driver pins, causing correct alignment which allows the lock cylinder to rotate. A bump key is a specially constructed key that exploits this design. When the bump key is struck or firmly tapped, its teeth transfer the force of the tap into the key pins, causing the lock to momentarily shift into proper alignment for the mechanism to be opened.", "external_references": [ { "external_id": "CAPEC-392", "source_name": "capec", "url": "https://capec.mitre.org/data/definitions/392.html" }, { "description": "Stuart McClure, Joel Scambray, George Kurtz, Hacking Exposed: Network Security Secrets & Solutions (6th Edition), 2009, McGraw Hill", "external_id": "REF-33", "source_name": "reference_from_CAPEC" } ], "id": "attack-pattern--4068bee0-b331-49e8-872e-98429a3c374a", "modified": "2019-09-30T00:00:00.000Z", "name": "Lock Bumping", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "attack-pattern", "x_capec_abstraction": "Detailed", "x_capec_child_of_refs": [ "attack-pattern--00c93895-c68e-4d27-a1ec-0dddce68ed97" ], "x_capec_domains": [ "Physical Security" ], "x_capec_status": "Draft", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "An attacker uses lock picking tools and techniques to bypass the locks on a building or facility. Lock picking is the use of a special set of tools to manipulate the pins within a lock. Different sets of tools are required for each type of lock. Lock picking attacks have the advantage of being non-invasive in that if performed correctly the lock will not be damaged. A standard lock pin-and-tumbler lock is secured by a set of internal pins that prevent the tumbler device from turning. Spring loaded driver pins push down on the key pins preventing rotation so that the bolt remains in a locked position.. When the correct key is inserted, the ridges on the key push the key pins up and against the driver pins, causing correct alignment which allows the lock cylinder to rotate. Most common locks, such as domestic locks in the US, can be picked using a standard 2 tools (i.e. a torsion wrench and a hook pick).", "external_references": [ { "external_id": "CAPEC-393", "source_name": "capec", "url": "https://capec.mitre.org/data/definitions/393.html" }, { "description": "Stuart McClure, Joel Scambray, George Kurtz, Hacking Exposed: Network Security Secrets & Solutions (6th Edition), 2009, McGraw Hill", "external_id": "REF-33", "source_name": "reference_from_CAPEC" } ], "id": "attack-pattern--9996317e-313b-456c-8bc8-491dbb53b368", "modified": "2019-09-30T00:00:00.000Z", "name": "Lock Picking", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "attack-pattern", "x_capec_abstraction": "Detailed", "x_capec_child_of_refs": [ "attack-pattern--00c93895-c68e-4d27-a1ec-0dddce68ed97" ], "x_capec_domains": [ "Physical Security" ], "x_capec_status": "Draft", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "An attacker uses a Snap Gun, also known as a Pick Gun, to force the lock on a building or facility. A Pick Gun is a special type of lock picking instrument that works on similar principles as lock bumping. A snap gun is a hand-held device with an attached metal pick. The metal pick strikes the pins within the lock, transferring motion from the key pins to the driver pins and forcing the lock into momentary alignment. A standard lock is secured by a set of internal pins that prevent the device from turning. Spring loaded driver pins push down on the key pins. When the correct key is inserted, the ridges on the key push the key pins up and against the driver pins, causing correct alignment which allows the lock cylinder to rotate. A Snap Gun exploits this design by using a metal pin to strike all of the key pins at once, forcing the driver pins to shift into an unlocked position. Unlike bump keys or lock picks, a Snap Gun may damage the lock more easily, leaving evidence that the lock has been tampered with.", "external_references": [ { "external_id": "CAPEC-394", "source_name": "capec", "url": "https://capec.mitre.org/data/definitions/394.html" }, { "description": "Stuart McClure, Joel Scambray, George Kurtz, Hacking Exposed: Network Security Secrets & Solutions (6th Edition), 2009, McGraw Hill", "external_id": "REF-33", "source_name": "reference_from_CAPEC" } ], "id": "attack-pattern--aea87f07-9619-4bc5-9790-01bf3423c494", "modified": "2019-09-30T00:00:00.000Z", "name": "Using a Snap Gun Lock to Force a Lock", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "attack-pattern", "x_capec_abstraction": "Detailed", "x_capec_child_of_refs": [ "attack-pattern--00c93895-c68e-4d27-a1ec-0dddce68ed97" ], "x_capec_domains": [ "Physical Security" ], "x_capec_status": "Draft", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "An attacker exploits security assumptions to bypass electronic locks or other forms of access controls. Most attacks against electronic access controls follow similar methods but utilize different tools. Some electronic locks utilize magnetic strip cards, others employ RFID tags embedded within a card or badge, or may involve more sophisticated protections such as voice-print, thumb-print, or retinal biometrics. Magnetic Strip and RFID technologies are the most widespread because they are cost effective to deploy and more easily integrated with other electronic security measures. These technologies share common weaknesses that an attacker can exploit to gain access to a facility protected by the mechanisms via copying legitimate cards or badges, or generating new cards using reverse-engineered algorithms.", "external_references": [ { "external_id": "CAPEC-395", "source_name": "capec", "url": "https://capec.mitre.org/data/definitions/395.html" }, { "description": "Stuart McClure, Joel Scambray, George Kurtz, Hacking Exposed: Network Security Secrets & Solutions (6th Edition), 2009, McGraw Hill", "external_id": "REF-33", "source_name": "reference_from_CAPEC" } ], "id": "attack-pattern--5e808864-44b1-478c-8cb0-75c55cd51e2b", "modified": "2014-06-23T00:00:00.000Z", "name": "Bypassing Electronic Locks and Access Controls", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "attack-pattern", "x_capec_abstraction": "Standard", "x_capec_child_of_refs": [ "attack-pattern--8ba08815-66fb-4150-a7fa-8ab6d1472b5f" ], "x_capec_domains": [ "Physical Security" ], "x_capec_parent_of_refs": [ "attack-pattern--19015961-475c-438b-887b-e3d66a9143de", "attack-pattern--65737f80-588a-449a-af08-0508486d9481", "attack-pattern--ca237733-be3e-4d9c-85a0-d18cb1c8295d", "attack-pattern--309b5fec-8a59-4d28-8a1c-427d289aad93", "attack-pattern--0fda524b-2218-4aec-bf3e-6f345d13e459" ], "x_capec_status": "Draft", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "This attack pattern has been deprecated as it a generalization of CAPEC-397: Cloning Magnetic Strip Cards, CAPEC-398: Magnetic Strip Card Brute Force Attacks, CAPEC-399: Cloning RFID Cards or Chips and CAPEC-400: RFID Chip Deactivation or Destruction. Please refer to these CAPECs going forward.", "external_references": [ { "external_id": "CAPEC-396", "source_name": "capec", "url": "https://capec.mitre.org/data/definitions/396.html" } ], "id": "attack-pattern--631dcf7a-d23f-45b3-b72a-ebd5a3625aeb", "modified": "2019-09-30T00:00:00.000Z", "name": "DEPRECATED: Bypassing Card or Badge-Based Systems", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "attack-pattern", "x_capec_abstraction": "Standard", "x_capec_status": "Deprecated", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "An attacker duplicates the data on a Magnetic strip card (i.e. 'swipe card' or 'magstripe') to gain unauthorized access to a physical location or a person's private information. Magstripe cards encode data on a band of iron-based magnetic particles arrayed in a stripe along a rectangular card. Most magstripe card data formats conform to ISO standards 7810, 7811, 7813, 8583, and 4909. The primary advantage of magstripe technology is ease of encoding and portability, but this also renders magnetic strip cards susceptible to unauthorized duplication. If magstripe cards are used for access control, all an attacker need do is obtain a valid card long enough to make a copy of the card and then return the card to its location (i.e. a co-worker's desk). Magstripe reader/writers are widely available as well as software for analyzing data encoded on the cards. By swiping a valid card, it becomes trivial to make any number of duplicates that function as the original.", "external_references": [ { "external_id": "CAPEC-397", "source_name": "capec", "url": "https://capec.mitre.org/data/definitions/397.html" }, { "description": "Stuart McClure, Joel Scambray, George Kurtz, Hacking Exposed: Network Security Secrets & Solutions (6th Edition), 2009, McGraw Hill", "external_id": "REF-33", "source_name": "reference_from_CAPEC" } ], "id": "attack-pattern--19015961-475c-438b-887b-e3d66a9143de", "modified": "2019-09-30T00:00:00.000Z", "name": "Cloning Magnetic Strip Cards", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "attack-pattern", "x_capec_abstraction": "Detailed", "x_capec_child_of_refs": [ "attack-pattern--5e808864-44b1-478c-8cb0-75c55cd51e2b" ], "x_capec_domains": [ "Physical Security" ], "x_capec_status": "Draft", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "An adversary analyzes the data on two or more magnetic strip cards and is able to generate new cards containing valid sequences that allow unauthorized access and/or impersonation of individuals.", "external_references": [ { "external_id": "CAPEC-398", "source_name": "capec", "url": "https://capec.mitre.org/data/definitions/398.html" }, { "description": "Stuart McClure, Joel Scambray, George Kurtz, Hacking Exposed: Network Security Secrets & Solutions (6th Edition), 2009, McGraw Hill", "external_id": "REF-33", "source_name": "reference_from_CAPEC" } ], "id": "attack-pattern--65737f80-588a-449a-af08-0508486d9481", "modified": "2022-02-22T00:00:00.000Z", "name": "Magnetic Strip Card Brute Force Attacks", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "attack-pattern", "x_capec_abstraction": "Detailed", "x_capec_child_of_refs": [ "attack-pattern--5e808864-44b1-478c-8cb0-75c55cd51e2b" ], "x_capec_domains": [ "Physical Security" ], "x_capec_extended_description": "\n Often, magnetic strip encoding methods follow a common format for a given system laid out in up to three tracks. A single card may allow access to a corporate office complex shared by multiple companies. By analyzing how the data is stored on a card, it is also possible to create valid cards via brute-force attacks.\n For example, a single card can grant access to a building, a floor, and a suite number. Reading and analyzing data on multiple cards, then performing a difference analysis between data encoded on three different cards, can reveal clues as to how to generate valid cards that grant access to restricted areas of a building or suites/rooms within that building. Data stored on magstripe cards is often unencrypted, therefore comparing which data changes when two or more cards are analyzed can yield results that aid in determining the structure of the card data. A trivial example would be a common system data format on a data track which binary encodes the suite number of a building that a card will open. By creating multiple cards with differing binary encoded segments it becomes possible to enter unauthorized areas or pass through checkpoints giving the electronic ID of other persons.\n ", "x_capec_prerequisites": [ "The ability to calculate a card checksum and write out a valid checksum value. Some cards are protected by a checksum calculation, therefore it is necessary to determine what algorithm is being used to calculate the checksum and to employ that algorithm to calculate and write a new valid checksum for the card being created." ], "x_capec_status": "Draft", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "An attacker analyzes data returned by an RFID chip and uses this information to duplicate a RFID signal that responds identically to the target chip. In some cases RFID chips are used for building access control, employee identification, or as markers on products being delivered along a supply chain. Some organizations also embed RFID tags inside computer assets to trigger alarms if they are removed from particular rooms, zones, or buildings. Similar to Magnetic strip cards, RFID cards are susceptible to duplication (cloning) and reuse.", "external_references": [ { "external_id": "CAPEC-399", "source_name": "capec", "url": "https://capec.mitre.org/data/definitions/399.html" }, { "description": "Stuart McClure, Joel Scambray, George Kurtz, Hacking Exposed: Network Security Secrets & Solutions (6th Edition), 2009, McGraw Hill", "external_id": "REF-33", "source_name": "reference_from_CAPEC" } ], "id": "attack-pattern--ca237733-be3e-4d9c-85a0-d18cb1c8295d", "modified": "2022-02-22T00:00:00.000Z", "name": "Cloning RFID Cards or Chips", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "attack-pattern", "x_capec_abstraction": "Detailed", "x_capec_child_of_refs": [ "attack-pattern--5e808864-44b1-478c-8cb0-75c55cd51e2b" ], "x_capec_domains": [ "Physical Security" ], "x_capec_extended_description": "\n RFID (Radio Frequency Identification) are passive devices which consist of an integrated circuit for processing RF signals and an antenna. RFID devices are passive in that they lack an on on-board power source. The majority of RFID chips operate on either the 13.56 MHz or 135 KHz frequency. The chip is powered when a signal is received by the antenna on the chip, powering the chip long enough to send a reply message. An attacker is able to capture and analyze RFID data by either stimulating the chip to respond or being proximate to the chip when it sends a response to a remote transmitter. This allows the attacker to duplicate the signal and conduct attacks such as gaining unauthorized access to a building or impersonating a user's identification.\n ", "x_capec_status": "Draft", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "This attack relies on the adversary using unexpected formats for representing IP addresses. Networked applications may expect network location information in a specific format, such as fully qualified domains names (FQDNs), URL, IP address, or IP Address ranges. If the location information is not validated against a variety of different possible encodings and formats, the adversary can use an alternate format to bypass application access control.", "external_references": [ { "external_id": "CAPEC-4", "source_name": "capec", "url": "https://capec.mitre.org/data/definitions/4.html" }, { "external_id": "CWE-291", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/291.html" }, { "external_id": "CWE-173", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/173.html" }, { "description": "G. Hoglund, G. McGraw, Exploiting Software: How to Break Code, 2004--02, Addison-Wesley", "external_id": "REF-1", "source_name": "reference_from_CAPEC" } ], "id": "attack-pattern--00d91a4c-2645-4bf1-8db7-e7448ef25f17", "modified": "2022-02-22T00:00:00.000Z", "name": "Using Alternative IP Address Encodings", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "attack-pattern", "x_capec_abstraction": "Detailed", "x_capec_child_of_refs": [ "attack-pattern--a1af7c24-25cb-46e5-a27b-ed316e1f91ce" ], "x_capec_consequences": { "Access_Control": [ "Gain Privileges" ], "Authorization": [ "Gain Privileges" ], "Confidentiality": [ "Gain Privileges" ] }, "x_capec_domains": [ "Software" ], "x_capec_example_instances": [ "An adversary identifies an application server that applies a security policy based on the domain and application name. For example, the access control policy covers authentication and authorization for anyone accessing http://example.domain:8080/application. However, by using the IP address of the host instead (http://192.168.0.1:8080/application), the application authentication and authorization controls may be bypassed. The adversary relies on the victim applying policy to the namespace abstraction and not having a default deny policy in place to manage exceptions." ], "x_capec_execution_flow": "

Execution Flow

Explore

  1. Survey the application for IP addresses as user input: Using a browser, an automated tool or by inspecting the application, an adversary records all entry points to the application where IP addresses are used.

  2. Techniques
    Use a spidering tool to follow and record all links and analyze the web pages to find entry points. Make special note of any links that include parameters in the URL.
    Use a proxy tool to record all user input entry points visited during a manual traversal of the web application.
    Use a browser to manually explore the website and analyze how it is constructed. Many browsers' plugins are available to facilitate the analysis or automate the discovery.
    Manually inspect the application to find entry points.

Experiment

  1. Probe entry points to locate vulnerabilities: The adversary uses the entry points gathered in the \"Explore\" phase as a target list and attempts alternate IP address encodings, observing application behavior. The adversary will also attempt to access the application through an alternate IP address encoding to see if access control changes

  2. Techniques
    Instead of using a URL, use the IP address that the URL resolves to
    Specify a port directly to a URL input
    Omit or add \"http://\" or \"https://\" to a URL to see if the application behaves differently

Exploit

  1. Bypass access control: Using an alternate IP address encoding, the adversary will either access the application or give the alternate encoding as input, bypassing access control restrictions.

", "x_capec_likelihood_of_attack": "Medium", "x_capec_prerequisites": [ "The target software must fail to anticipate all of the possible valid encodings of an IP/web address.", "The adversary must have the ability to communicate with the server." ], "x_capec_resources_required": [ "The adversary needs to have knowledge of an alternative IP address encoding that bypasses the access control policy of an application. Alternatively, the adversary can simply try to brute-force various encoding possibilities." ], "x_capec_skills_required": { "Low": "The adversary has only to try IP address format combinations." }, "x_capec_status": "Draft", "x_capec_typical_severity": "High", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "Design: Default deny access control policies", "id": "course-of-action--f365abec-a16c-48a7-ae51-bdc687d899bb", "modified": "2022-02-22T00:00:00.000Z", "name": "coa-4-0", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "course-of-action", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--484c12f4-80ad-4fe0-91ec-ad26afdc6082", "modified": "2022-02-22T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--f365abec-a16c-48a7-ae51-bdc687d899bb", "spec_version": "2.1", "target_ref": "attack-pattern--00d91a4c-2645-4bf1-8db7-e7448ef25f17", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "Design: Input validation routines should check and enforce both input data types and content against a positive specification. In regards to IP addresses, this should include the authorized manner for the application to represent IP addresses and not accept user specified IP addresses and IP address formats (such as ranges)", "id": "course-of-action--a4679da3-09cf-480b-ad0c-5606e510b08d", "modified": "2022-02-22T00:00:00.000Z", "name": "coa-4-1", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "course-of-action", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--b789de10-900c-4578-a3f2-13683cc5bbc8", "modified": "2022-02-22T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--a4679da3-09cf-480b-ad0c-5606e510b08d", "spec_version": "2.1", "target_ref": "attack-pattern--00d91a4c-2645-4bf1-8db7-e7448ef25f17", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--62c4c1aa-5430-4146-8735-ca6959483c64", "modified": "2022-02-22T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--8a996efc-52e0-4aaf-953a-21c3fe64c64b", "spec_version": "2.1", "target_ref": "attack-pattern--00d91a4c-2645-4bf1-8db7-e7448ef25f17", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "This attack exploits terminal devices that allow themselves to be written to by other users. The attacker sends command strings to the target terminal device hoping that the target user will hit enter and thereby execute the malicious command with their privileges. The attacker can send the results (such as copying /etc/passwd) to a known directory and collect once the attack has succeeded.", "external_references": [ { "external_id": "CAPEC-40", "source_name": "capec", "url": "https://capec.mitre.org/data/definitions/40.html" }, { "external_id": "CWE-77", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/77.html" }, { "description": "G. Hoglund, G. McGraw, Exploiting Software: How to Break Code, 2004--02, Addison-Wesley", "external_id": "REF-1", "source_name": "reference_from_CAPEC" } ], "id": "attack-pattern--326dfb79-2d81-406a-9977-79e67d8de6e2", "modified": "2022-09-29T00:00:00.000Z", "name": "Manipulating Writeable Terminal Devices", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "attack-pattern", "x_capec_abstraction": "Standard", "x_capec_child_of_refs": [ "attack-pattern--2fb2b2b8-b7de-45a2-aadb-5849d12fda8f" ], "x_capec_consequences": { "Access_Control": [ "Gain Privileges" ], "Authorization": [ "Gain Privileges" ], "Availability": [ "Execute Unauthorized Commands (Run Arbitrary Code)" ], "Confidentiality": [ "Gain Privileges", "Read Data", "Execute Unauthorized Commands (Run Arbitrary Code)" ], "Integrity": [ "Execute Unauthorized Commands (Run Arbitrary Code)" ] }, "x_capec_domains": [ "Software" ], "x_capec_example_instances": [ "\n \"Any system that allows other peers to write directly to its terminal process is vulnerable to this type of attack. If the terminals are available through being over-privileged (i.e. world-writable) or the attacker is an administrator, then a series of commands in this format can be used to echo commands out to victim terminals.\n \"$echo -e \"\\033[30m\\033\\132\" > /dev/ttyXX\n where XX is the tty number of the user under attack. This will paste the characters to another terminal (tty). Note this technique works only if the victim's tty is world writable (which it may not be). That is one reason why programs like write(1) and talk(1) in UNIX systems need to run setuid.\" [REF-1]\n If the victim continues to hit \"enter\" and execute the commands, there are an endless supply of vectors available to the attacker, copying files, open up network connections, ftp out to servers, and so on.\n " ], "x_capec_execution_flow": "

Execution Flow

Explore

  1. Identify attacker-writable terminals: Determine if users TTYs are writable by the attacker.

  2. Techniques
    Determine the permissions for the TTYs found on the system. Any that allow user write to the TTY may be vulnerable.
    Attempt to write to other user TTYs. This approach could leave a trail or alert a user.

Exploit

  1. Execute malicious commands: Using one or more vulnerable TTY, execute commands to achieve various impacts.

  2. Techniques
    Commands that allow reading or writing end user files can be executed.
", "x_capec_likelihood_of_attack": "High", "x_capec_prerequisites": [ "User terminals must have a permissive access control such as world writeable that allows normal users to control data on other user's terminals." ], "x_capec_resources_required": [ "Access to a terminal on the target network" ], "x_capec_skills_required": { "Low": "Ability to discover permissions on terminal devices. Of course, brute force can also be used." }, "x_capec_status": "Draft", "x_capec_typical_severity": "Very High", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "Design: Ensure that terminals are only writeable by named owner user and/or administrator", "id": "course-of-action--022f6443-4421-4a54-beb6-d471aad577cb", "modified": "2022-09-29T00:00:00.000Z", "name": "coa-40-0", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "course-of-action", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--f41d0244-df5c-41e8-9fd1-046642dd7609", "modified": "2022-09-29T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--022f6443-4421-4a54-beb6-d471aad577cb", "spec_version": "2.1", "target_ref": "attack-pattern--326dfb79-2d81-406a-9977-79e67d8de6e2", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--b79f1d6a-d501-4456-9de3-b3cf4778b8f1", "modified": "2022-09-29T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--a4112a44-a0f9-4bde-bebe-74ed96c4cd3f", "spec_version": "2.1", "target_ref": "attack-pattern--326dfb79-2d81-406a-9977-79e67d8de6e2", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "An attacker uses methods to deactivate a passive RFID tag for the purpose of rendering the tag, badge, card, or object containing the tag unresponsive. RFID tags are used primarily for access control, inventory, or anti-theft devices. The purpose of attacking the RFID chip is to disable or damage the chip without causing damage to the object housing it.", "external_references": [ { "external_id": "CAPEC-400", "source_name": "capec", "url": "https://capec.mitre.org/data/definitions/400.html" }, { "description": "Stuart McClure, Joel Scambray, George Kurtz, Hacking Exposed: Network Security Secrets & Solutions (6th Edition), 2009, McGraw Hill", "external_id": "REF-33", "source_name": "reference_from_CAPEC" } ], "id": "attack-pattern--309b5fec-8a59-4d28-8a1c-427d289aad93", "modified": "2022-02-22T00:00:00.000Z", "name": "RFID Chip Deactivation or Destruction", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "attack-pattern", "x_capec_abstraction": "Detailed", "x_capec_child_of_refs": [ "attack-pattern--5e808864-44b1-478c-8cb0-75c55cd51e2b" ], "x_capec_domains": [ "Physical Security" ], "x_capec_extended_description": "\n When correctly performed the RFID chip can be disabled or destroyed without visible damage or marking to whatever item or device containing the chip. Attacking the chip directly allows for the security device or method to be bypassed without directly damaging the device itself, such as an alarm system or computer system. Various methods exist for damaging or deactivating RFID tags. For example, most common RFID chips can be permanently destroyed by creating a small electromagnetic pulse near the chip itself. One method employed requires the modifying a disposable camera by disconnecting the flash bulb and soldering a copper coil to the capacitor. Firing the camera in this configuration near any RFID chip-based device creates an EMP pulse sufficient to destroy the chip without leaving evidence of tampering. So far this attack has been demonstrated to work against RFID chips in the 13.56 MHz range.\n ", "x_capec_status": "Draft", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "An adversary exploits a weakness in access control to gain access to currently installed hardware and precedes to implement changes or secretly replace a hardware component which undermines the system's integrity for the purpose of carrying out an attack.", "external_references": [ { "external_id": "CAPEC-401", "source_name": "capec", "url": "https://capec.mitre.org/data/definitions/401.html" }, { "external_id": "CWE-1263", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/1263.html" } ], "id": "attack-pattern--fdf61d51-9432-47d3-9376-7cf51fc86176", "modified": "2020-07-30T00:00:00.000Z", "name": "Physically Hacking Hardware", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "attack-pattern", "x_capec_abstraction": "Standard", "x_capec_child_of_refs": [ "attack-pattern--7fd3928c-accb-4a35-ba64-000339399ede" ], "x_capec_domains": [ "Supply Chain", "Physical Security", "Hardware" ], "x_capec_example_instances": [ "A malicious subcontractor or subcontractor's employee that is responsible for system maintenance secretly replaces a hard drive with one containing malicious code that will allow for backdoor access once deployed." ], "x_capec_likelihood_of_attack": "Low", "x_capec_parent_of_refs": [ "attack-pattern--6aac48b7-c277-46ba-b9c0-523471a84c11" ], "x_capec_status": "Stable", "x_capec_typical_severity": "High", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "An adversary exploits a weakness in ATA security on a drive to gain access to the information the drive contains without supplying the proper credentials. ATA Security is often employed to protect hard disk information from unauthorized access. The mechanism requires the user to type in a password before the BIOS is allowed access to drive contents. Some implementations of ATA security will accept the ATA command to update the password without the user having authenticated with the BIOS. This occurs because the security mechanism assumes the user has first authenticated via the BIOS prior to sending commands to the drive. Various methods exist for exploiting this flaw, the most common being installing the ATA protected drive into a system lacking ATA security features (a.k.a. hot swapping). Once the drive is installed into the new system the BIOS can be used to reset the drive password.", "external_references": [ { "external_id": "CAPEC-402", "source_name": "capec", "url": "https://capec.mitre.org/data/definitions/402.html" }, { "external_id": "CWE-285", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/285.html" }, { "description": "Stuart McClure, Joel Scambray, George Kurtz, Hacking Exposed: Network Security Secrets & Solutions (6th Edition), 2009, McGraw Hill", "external_id": "REF-33", "source_name": "reference_from_CAPEC" }, { "description": "Oliver Tennert, Using the ATA security features of modern hard disks and SSDs, 2014, Admin Magazine", "external_id": "REF-701", "source_name": "reference_from_CAPEC", "url": "https://www.admin-magazine.com/Archive/2014/19/Using-the-ATA-security-features-of-modern-hard-disks-and-SSDs" }, { "description": "Breaking ATA Password Security, The University of Texas at Austin Information Security Office", "external_id": "REF-702", "source_name": "reference_from_CAPEC", "url": "https://security.utexas.edu/education-outreach/BreakingATA" } ], "id": "attack-pattern--6aac48b7-c277-46ba-b9c0-523471a84c11", "modified": "2022-02-22T00:00:00.000Z", "name": "Bypassing ATA Password Security", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "attack-pattern", "x_capec_abstraction": "Detailed", "x_capec_child_of_refs": [ "attack-pattern--fdf61d51-9432-47d3-9376-7cf51fc86176" ], "x_capec_domains": [ "Supply Chain", "Physical Security", "Hardware" ], "x_capec_example_instances": [ "\n The A-FF Repair Station tool is a data recovery utility that can be used for ATA password removal (both High and Maximum level) and firmware area recovery. An adversary with access to this tool could reset the ATA password to bypass this security feature and unlock the hard drive. The adversary could then obtain any data contained within the drive. [REF-702]\n ", "\n An adversary gains physical access to the targeted hard drive and installs it into a system that does not support ATA security features. Once the drive is installed in the feature-lacking system, the adversary is able to reset the hard drive password via the BIOS. As a result, the adversary is able to bypass ATA password security and access content on the drive.\n " ], "x_capec_prerequisites": [ "Access to the system containing the ATA Drive so that the drive can be physically removed from the system." ], "x_capec_status": "Draft", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "Avoid using ATA password security when possible.", "id": "course-of-action--6517b3e0-2d56-4f34-b75e-67e8a327434d", "modified": "2022-02-22T00:00:00.000Z", "name": "coa-402-0", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "course-of-action", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--3377c55f-aabe-4243-9923-088c08ad5f3f", "modified": "2022-02-22T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--6517b3e0-2d56-4f34-b75e-67e8a327434d", "spec_version": "2.1", "target_ref": "attack-pattern--6aac48b7-c277-46ba-b9c0-523471a84c11", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "Use full disk encryption to protect the entire contents of the drive or sensitive partitions on the drive.", "id": "course-of-action--42bee69d-54e9-4b16-8e31-ea5eadd37120", "modified": "2022-02-22T00:00:00.000Z", "name": "coa-402-1", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "course-of-action", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--3007f9eb-cd21-4e1f-b66e-4faf4bc852de", "modified": "2022-02-22T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--42bee69d-54e9-4b16-8e31-ea5eadd37120", "spec_version": "2.1", "target_ref": "attack-pattern--6aac48b7-c277-46ba-b9c0-523471a84c11", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "Leverage third-party utilities that interface with self-encrypting drives (SEDs) to provide authentication, while relying on the SED itself for data encryption.", "id": "course-of-action--e68d238e-2bf8-4a45-ad2d-e5217401df20", "modified": "2022-02-22T00:00:00.000Z", "name": "coa-402-2", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "course-of-action", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--1e1565d8-9f05-4df6-8075-d2aab55a1c8a", "modified": "2022-02-22T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--e68d238e-2bf8-4a45-ad2d-e5217401df20", "spec_version": "2.1", "target_ref": "attack-pattern--6aac48b7-c277-46ba-b9c0-523471a84c11", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "This attack pattern has been deprecated as it was deemed not to be a legitimate attack pattern. Please refer to CAPEC-118 : Collect and Analyze Information.", "external_references": [ { "external_id": "CAPEC-404", "source_name": "capec", "url": "https://capec.mitre.org/data/definitions/404.html" }, { "description": "The Official Social Engineering Portal, Social-Engineer.org, Tick Tock Computers, LLC", "external_id": "REF-348", "source_name": "reference_from_CAPEC", "url": "http://www.social-engineer.org" } ], "id": "attack-pattern--93f7216f-ddbe-4484-8fa6-87b680f16898", "modified": "2018-07-31T00:00:00.000Z", "name": "DEPRECATED: Social Information Gathering Attacks", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "attack-pattern", "x_capec_abstraction": "Meta", "x_capec_status": "Deprecated", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "This attack pattern has been deprecated as it was deemed not to be a legitimate attack pattern. Please refer to CAPEC-118 : Collect and Analyze Information.", "external_references": [ { "external_id": "CAPEC-405", "source_name": "capec", "url": "https://capec.mitre.org/data/definitions/405.html" }, { "description": "The Official Social Engineering Portal, Social-Engineer.org, Tick Tock Computers, LLC", "external_id": "REF-348", "source_name": "reference_from_CAPEC", "url": "http://www.social-engineer.org" } ], "id": "attack-pattern--d4fd1606-6a28-4831-956b-ceab18f3546a", "modified": "2018-07-31T00:00:00.000Z", "name": "DEPRECATED: Social Information Gathering via Research", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "attack-pattern", "x_capec_abstraction": "Meta", "x_capec_status": "Deprecated", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "An adversary cases an establishment and searches through trash bins, dumpsters, or areas where company information may have been accidentally discarded for information items which may be useful to the dumpster diver. The devastating nature of the items and/or information found can be anything from medical records, resumes, personal photos and emails, bank statements, account details or information about software, tech support logs and so much more, including hardware devices. By collecting this information an adversary may be able to learn important facts about the person or organization that play a role in helping the adversary in their attack.", "external_references": [ { "external_id": "CAPEC-406", "source_name": "capec", "url": "https://capec.mitre.org/data/definitions/406.html" }, { "description": "The Official Social Engineering Portal, Social-Engineer.org, Tick Tock Computers, LLC", "external_id": "REF-348", "source_name": "reference_from_CAPEC", "url": "http://www.social-engineer.org" } ], "id": "attack-pattern--756a1a93-3734-426c-9e91-f9339de74a7a", "modified": "2022-09-29T00:00:00.000Z", "name": "Dumpster Diving", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "attack-pattern", "x_capec_abstraction": "Detailed", "x_capec_can_precede_refs": [ "attack-pattern--ff3cf9fc-c308-4571-8a01-ecae629a49c1", "attack-pattern--a8b4faf6-2e52-434f-95a4-df5f9bdc985a" ], "x_capec_child_of_refs": [ "attack-pattern--797f4b4e-371a-4d06-9e98-5cccb8a7ebc1" ], "x_capec_consequences": { "Confidentiality": [ "Other (Documents and materials improperly disposed of can lead to information disclosure if an adversary comes across it.)" ] }, "x_capec_domains": [ "Physical Security" ], "x_capec_prerequisites": [ "An adversary must have physical access to the dumpster or downstream processing facility." ], "x_capec_status": "Stable", "x_capec_typical_severity": "Low", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "An adversary engages in pretexting behavior to solicit information from target persons, or manipulate the target into performing some action that serves the adversary's interests. During a pretexting attack, the adversary creates an invented scenario, assuming an identity or role to persuade a targeted victim to release information or perform some action. It is more than just creating a lie; in some cases it can be creating a whole new identity and then using that identity to manipulate the receipt of information.", "external_references": [ { "external_id": "CAPEC-407", "source_name": "capec", "url": "https://capec.mitre.org/data/definitions/407.html" }, { "description": "Gather Victim Identity Information", "external_id": "T1589", "source_name": "ATTACK", "url": "https://attack.mitre.org/wiki/Technique/T1589" }, { "description": "The Official Social Engineering Portal, Social-Engineer.org, Tick Tock Computers, LLC", "external_id": "REF-348", "source_name": "reference_from_CAPEC", "url": "http://www.social-engineer.org" } ], "id": "attack-pattern--8b329689-f8f8-466e-a890-4e30b8d8ec30", "modified": "2022-09-29T00:00:00.000Z", "name": "Pretexting", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "attack-pattern", "x_capec_abstraction": "Standard", "x_capec_can_precede_refs": [ "attack-pattern--ff3cf9fc-c308-4571-8a01-ecae629a49c1" ], "x_capec_child_of_refs": [ "attack-pattern--eedaef1c-c3fb-4135-a1b5-4b186b9da854", "attack-pattern--5c60a410-64a7-46e2-9d46-82a232a6ce3e" ], "x_capec_consequences": { "Confidentiality": [ "Other (Depending on the adversary's intentions and the specific nature their actions/requests, a successful pretexting attack can result in the compromise to the confidentiality of sensitive information in a variety of contexts.)" ] }, "x_capec_domains": [ "Social Engineering", "Social Engineering", "Software" ], "x_capec_example_instances": [ "The adversary dresses up like a jogger and runs in place by the entrance of a building, pretending to look for their access card. Because the hood obscures their face, it may be possible to solicit someone inside the building to let them inside." ], "x_capec_extended_description": "\n Pretexting can also be used to impersonate people in certain jobs and roles that they never themselves have done. In simple form, these attacks can be leveraged to learn information about a target. More complicated iterations may seek to solicit a target to perform some action that assists the adversary in exploiting organizational weaknesses or obtaining access to secure facilities or systems. Pretexting is not a one-size fits all solution. Good information gathering techniques can make or break a good pretext. A solid pretext is an essential part of building trust. If an adversary’s alias, story, or identity has holes or lacks credibility or even the perception of credibility the target will most likely catch on.\n ", "x_capec_likelihood_of_attack": "Medium", "x_capec_parent_of_refs": [ "attack-pattern--2a8a634e-cf1f-4b2e-9a71-1ab8e6bb16d0", "attack-pattern--2d533987-71b1-41a3-873b-38d63188d2eb", "attack-pattern--5e0c909b-70a3-4275-a696-91801247ed68", "attack-pattern--7ed74d19-ed2b-40c4-a63c-54367b2653c4", "attack-pattern--490fc09c-a624-44cd-8e9e-f4ce8ad2311e" ], "x_capec_prerequisites": [ "The adversary must have the means and knowledge of how to communicate with the target in some manner.The adversary must have knowledge of the pretext that would influence the actions of the specific target." ], "x_capec_skills_required": { "Low": "The adversary requires strong inter-personal and communication skills." }, "x_capec_status": "Draft", "x_capec_typical_severity": "Low", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "An organization should provide regular, robust cybersecurity training to its employees to prevent successful social engineering attacks.", "id": "course-of-action--e2e37142-f4ef-407a-a43e-f0e3ecad8596", "modified": "2022-09-29T00:00:00.000Z", "name": "coa-407-0", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "course-of-action", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--bff09429-66bb-4bc2-90be-eb28271786e4", "modified": "2022-09-29T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--e2e37142-f4ef-407a-a43e-f0e3ecad8596", "spec_version": "2.1", "target_ref": "attack-pattern--8b329689-f8f8-466e-a890-4e30b8d8ec30", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "This attack pattern has been deprecated as it was deemed not to be a legitimate attack pattern. Please refer to CAPEC-118 : Collect and Analyze Information.", "external_references": [ { "external_id": "CAPEC-408", "source_name": "capec", "url": "https://capec.mitre.org/data/definitions/408.html" } ], "id": "attack-pattern--4b3c7a8c-f801-43d9-9ba7-1d0e2dc87e8b", "modified": "2018-07-31T00:00:00.000Z", "name": "DEPRECATED: Information Gathering from Traditional Sources", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "attack-pattern", "x_capec_abstraction": "Meta", "x_capec_status": "Deprecated", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "This attack pattern has been deprecated as it was deemed not to be a legitimate attack pattern. Please refer to CAPEC-118 : Collect and Analyze Information.", "external_references": [ { "external_id": "CAPEC-409", "source_name": "capec", "url": "https://capec.mitre.org/data/definitions/409.html" } ], "id": "attack-pattern--0082c733-5245-47ca-a349-6c9fe34114f1", "modified": "2018-07-31T00:00:00.000Z", "name": "DEPRECATED: Information Gathering from Non-Traditional Sources", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "attack-pattern", "x_capec_abstraction": "Meta", "x_capec_status": "Deprecated", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "This type of attack involves an attacker leveraging meta-characters in email headers to inject improper behavior into email programs. Email software has become increasingly sophisticated and feature-rich. In addition, email applications are ubiquitous and connected directly to the Web making them ideal targets to launch and propagate attacks. As the user demand for new functionality in email applications grows, they become more like browsers with complex rendering and plug in routines. As more email functionality is included and abstracted from the user, this creates opportunities for attackers. Virtually all email applications do not list email header information by default, however the email header contains valuable attacker vectors for the attacker to exploit particularly if the behavior of the email client application is known. Meta-characters are hidden from the user, but can contain scripts, enumerations, probes, and other attacks against the user's system.", "external_references": [ { "external_id": "CAPEC-41", "source_name": "capec", "url": "https://capec.mitre.org/data/definitions/41.html" }, { "external_id": "CWE-150", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/150.html" }, { "external_id": "CWE-88", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/88.html" }, { "external_id": "CWE-697", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/697.html" }, { "description": "G. Hoglund, G. McGraw, Exploiting Software: How to Break Code, 2004--02, Addison-Wesley", "external_id": "REF-1", "source_name": "reference_from_CAPEC" } ], "id": "attack-pattern--30047c4f-cbf1-48ff-906c-3c6d58feb1a1", "modified": "2022-09-29T00:00:00.000Z", "name": "Using Meta-characters in E-mail Headers to Inject Malicious Payloads", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "attack-pattern", "x_capec_abstraction": "Detailed", "x_capec_child_of_refs": [ "attack-pattern--7f0f7de2-bf09-4f60-86bb-6933192b7128", "attack-pattern--3e3f4570-827b-4e0e-859b-00a4b13a1a65" ], "x_capec_consequences": { "Availability": [ "Execute Unauthorized Commands (Run Arbitrary Code)" ], "Confidentiality": [ "Execute Unauthorized Commands (Run Arbitrary Code)" ], "Integrity": [ "Execute Unauthorized Commands (Run Arbitrary Code)" ] }, "x_capec_domains": [ "Software", "Software" ], "x_capec_example_instances": [ "\n To:From:Headerdef: whatever\n ", "\n Meta-characters are among the most valuable tools attackers have to deceive users into taking some action on their behalf. E-mail is perhaps the most efficient and cost effective attack distribution tool available, this has led to the phishing pandemic.\n Meta-characters like \\w \\s \\d ^ can allow the attacker to escape out of the expected behavior to execute additional commands. Escaping out the process (such as email client) lets the attacker run arbitrary code in the user's process.\n " ], "x_capec_execution_flow": "

Execution Flow

Experiment

  1. Identify and characterize metacharacter-processing vulnerabilities in email headers: An attacker creates emails with headers containing various metacharacter-based malicious payloads in order to determine whether the target application processes the malicious content and in what manner it does so.

  2. Techniques
    Use an automated tool (fuzzer) to create malicious emails headers containing metacharacter-based payloads.
    Manually tampering email headers to inject malicious metacharacter-based payload content in them.

Exploit

  1. An attacker leverages vulnerabilities identified during the Experiment Phase to inject malicious email headers and cause the targeted email application to exhibit behavior outside of its expected constraints.

  2. Techniques
    Send emails with specifically-constructed, metacharacter-based malicious payloads in the email headers to targeted systems running email processing applications identified as vulnerable during the Experiment Phase.
", "x_capec_likelihood_of_attack": "High", "x_capec_prerequisites": [ "This attack targets most widely deployed feature rich email applications, including web based email programs." ], "x_capec_skills_required": { "Low": "To distribute email" }, "x_capec_status": "Draft", "x_capec_typical_severity": "High", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "Design: Perform validation on email header data", "id": "course-of-action--361f2be0-52ef-4735-8cc4-8a426c93ca0b", "modified": "2022-09-29T00:00:00.000Z", "name": "coa-41-0", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "course-of-action", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--dc743c69-d4ac-4767-91af-c4ef9e82f50a", "modified": "2022-09-29T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--361f2be0-52ef-4735-8cc4-8a426c93ca0b", "spec_version": "2.1", "target_ref": "attack-pattern--30047c4f-cbf1-48ff-906c-3c6d58feb1a1", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "Implementation: Implement email filtering solutions on mail server or on MTA, relay server.", "id": "course-of-action--b3921afe-87f5-45f4-9cd6-6f64aa39debb", "modified": "2022-09-29T00:00:00.000Z", "name": "coa-41-1", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "course-of-action", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--78fc3fe0-3e55-40a5-af05-614cea38688b", "modified": "2022-09-29T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--b3921afe-87f5-45f4-9cd6-6f64aa39debb", "spec_version": "2.1", "target_ref": "attack-pattern--30047c4f-cbf1-48ff-906c-3c6d58feb1a1", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "Implementation: Mail servers that perform strict validation may catch these attacks, because metacharacters are not allowed in many header variables such as dns names", "id": "course-of-action--06350ba3-c63f-43d3-85a9-3d4be370deba", "modified": "2022-09-29T00:00:00.000Z", "name": "coa-41-2", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "course-of-action", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--5cba6ee4-dbac-4c77-8236-a6fcf7036196", "modified": "2022-09-29T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--06350ba3-c63f-43d3-85a9-3d4be370deba", "spec_version": "2.1", "target_ref": "attack-pattern--30047c4f-cbf1-48ff-906c-3c6d58feb1a1", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "An adversary engages an individual using any combination of social engineering methods for the purpose of extracting information. Accurate contextual and environmental queues, such as knowing important information about the target company or individual can greatly increase the success of the attack and the quality of information gathered. Authentic mimicry combined with detailed knowledge increases the success of elicitation attacks.", "external_references": [ { "external_id": "CAPEC-410", "source_name": "capec", "url": "https://capec.mitre.org/data/definitions/410.html" }, { "description": "The Official Social Engineering Portal, Social-Engineer.org, Tick Tock Computers, LLC", "external_id": "REF-348", "source_name": "reference_from_CAPEC", "url": "http://www.social-engineer.org" } ], "id": "attack-pattern--5c60a410-64a7-46e2-9d46-82a232a6ce3e", "modified": "2017-08-04T00:00:00.000Z", "name": "Information Elicitation", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "attack-pattern", "x_capec_abstraction": "Meta", "x_capec_domains": [ "Social Engineering", "Software" ], "x_capec_parent_of_refs": [ "attack-pattern--8b329689-f8f8-466e-a890-4e30b8d8ec30" ], "x_capec_status": "Draft", "x_capec_typical_severity": "Low", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "This attack pattern has been deprecated as it is a duplicate of the existing attack pattern \"CAPEC-407 : Social Information Gathering via Pretexting\". Please refer to this other CAPEC going forward.", "external_references": [ { "external_id": "CAPEC-411", "source_name": "capec", "url": "https://capec.mitre.org/data/definitions/411.html" } ], "id": "attack-pattern--03093798-f245-4ed2-a085-88e69d303b11", "modified": "2017-08-04T00:00:00.000Z", "name": "DEPRECATED: Pretexting", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "attack-pattern", "x_capec_abstraction": "Meta", "x_capec_status": "Deprecated", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "An adversary engages in pretexting behavior, assuming the role of someone who works for Customer Service, to solicit information from target persons, or manipulate the target into performing an action that serves the adversary's interests. One example of a scenario such as this would be to call an individual, articulate your false affiliation with a credit card company, and then attempt to get the individual to verify their credit card number.", "external_references": [ { "external_id": "CAPEC-412", "source_name": "capec", "url": "https://capec.mitre.org/data/definitions/412.html" }, { "description": "The Official Social Engineering Portal, Social-Engineer.org, Tick Tock Computers, LLC", "external_id": "REF-348", "source_name": "reference_from_CAPEC", "url": "http://www.social-engineer.org" } ], "id": "attack-pattern--2d533987-71b1-41a3-873b-38d63188d2eb", "modified": "2019-09-30T00:00:00.000Z", "name": "Pretexting via Customer Service", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "attack-pattern", "x_capec_abstraction": "Detailed", "x_capec_child_of_refs": [ "attack-pattern--8b329689-f8f8-466e-a890-4e30b8d8ec30" ], "x_capec_domains": [ "Social Engineering", "Social Engineering" ], "x_capec_status": "Draft", "x_capec_typical_severity": "Low", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "An adversary engages in pretexting behavior, assuming the role of a tech support worker, to solicit information from target persons, or manipulate the target into performing an action that serves the adversary's interests. An adversary who uses social engineering to impersonate a tech support worker can have devastating effects on a network. This is an effective attack vector, because it can give an adversary physical access to network computers. It only takes a matter of seconds for someone to compromise a computer with physical access. One of the best technological tools at the disposal of a social engineer, posing as a technical support person, is a USB thumb drive. These are small, easy to conceal, and can be loaded with different payloads depending on what task needs to be done. However, this form of attack does not require physical access as it can also be effectively carried out via phone or email.", "external_references": [ { "external_id": "CAPEC-413", "source_name": "capec", "url": "https://capec.mitre.org/data/definitions/413.html" }, { "description": "The Official Social Engineering Portal, Social-Engineer.org, Tick Tock Computers, LLC", "external_id": "REF-348", "source_name": "reference_from_CAPEC", "url": "http://www.social-engineer.org" } ], "id": "attack-pattern--5e0c909b-70a3-4275-a696-91801247ed68", "modified": "2019-09-30T00:00:00.000Z", "name": "Pretexting via Tech Support", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "attack-pattern", "x_capec_abstraction": "Detailed", "x_capec_child_of_refs": [ "attack-pattern--8b329689-f8f8-466e-a890-4e30b8d8ec30" ], "x_capec_domains": [ "Social Engineering", "Social Engineering" ], "x_capec_status": "Draft", "x_capec_typical_severity": "Low", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "An adversary engages in pretexting behavior, assuming the role of a delivery person, to solicit information from target persons, or manipulate the target into performing an action that serves the adversary's interests. Impersonating a delivery person is an effective attack and an easy attack since not much acting is involved. Usually the hardest part is looking the part and having all of the proper credentials, papers and \"deliveries\" in order to be able to pull it off.", "external_references": [ { "external_id": "CAPEC-414", "source_name": "capec", "url": "https://capec.mitre.org/data/definitions/414.html" }, { "description": "The Official Social Engineering Portal, Social-Engineer.org, Tick Tock Computers, LLC", "external_id": "REF-348", "source_name": "reference_from_CAPEC", "url": "http://www.social-engineer.org" } ], "id": "attack-pattern--7ed74d19-ed2b-40c4-a63c-54367b2653c4", "modified": "2019-09-30T00:00:00.000Z", "name": "Pretexting via Delivery Person", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "attack-pattern", "x_capec_abstraction": "Detailed", "x_capec_child_of_refs": [ "attack-pattern--8b329689-f8f8-466e-a890-4e30b8d8ec30" ], "x_capec_domains": [ "Social Engineering", "Social Engineering" ], "x_capec_status": "Draft", "x_capec_typical_severity": "Low", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "An adversary engages in pretexting behavior, assuming some sort of trusted role, and contacting the targeted individual or organization via phone to solicit information from target persons, or manipulate the target into performing an action that serves the adversary's interests. This is the most common social engineering attack. Some of the most commonly effective approaches are to impersonate a fellow employee, impersonate a computer technician or to target help desk personnel.", "external_references": [ { "external_id": "CAPEC-415", "source_name": "capec", "url": "https://capec.mitre.org/data/definitions/415.html" }, { "description": "The Official Social Engineering Portal, Social-Engineer.org, Tick Tock Computers, LLC", "external_id": "REF-348", "source_name": "reference_from_CAPEC", "url": "http://www.social-engineer.org" } ], "id": "attack-pattern--490fc09c-a624-44cd-8e9e-f4ce8ad2311e", "modified": "2019-09-30T00:00:00.000Z", "name": "Pretexting via Phone", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "attack-pattern", "x_capec_abstraction": "Detailed", "x_capec_child_of_refs": [ "attack-pattern--8b329689-f8f8-466e-a890-4e30b8d8ec30" ], "x_capec_domains": [ "Social Engineering", "Social Engineering" ], "x_capec_status": "Draft", "x_capec_typical_severity": "Low", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "An adversary exploits inherent human psychological predisposition to influence a targeted individual or group to solicit information or manipulate the target into performing an action that serves the adversary's interests. Many interpersonal social engineering techniques do not involve outright deception, although they can; many are subtle ways of manipulating a target to remove barriers, make the target feel comfortable, and produce an exchange in which the target is either more likely to share information directly, or let key information slip out unintentionally. A skilled adversary uses these techniques when appropriate to produce the desired outcome. Manipulation techniques vary from the overt, such as pretending to be a supervisor to a help desk, to the subtle, such as making the target feel comfortable with the adversary's speech and thought patterns.", "external_references": [ { "external_id": "CAPEC-416", "source_name": "capec", "url": "https://capec.mitre.org/data/definitions/416.html" }, { "description": "The Official Social Engineering Portal, Social-Engineer.org, Tick Tock Computers, LLC", "external_id": "REF-348", "source_name": "reference_from_CAPEC", "url": "http://www.social-engineer.org" } ], "id": "attack-pattern--eedaef1c-c3fb-4135-a1b5-4b186b9da854", "modified": "2017-08-04T00:00:00.000Z", "name": "Manipulate Human Behavior", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "attack-pattern", "x_capec_abstraction": "Meta", "x_capec_consequences": { "Availability": [ "Other (Attack patterns that manipulate human behavior can result in a wide variety of consequences and potentially affect the confidentiality, availability, and/or integrity of an application or system.)" ], "Confidentiality": [ "Other (Attack patterns that manipulate human behavior can result in a wide variety of consequences and potentially affect the confidentiality, availability, and/or integrity of an application or system.)" ], "Integrity": [ "Other (Attack patterns that manipulate human behavior can result in a wide variety of consequences and potentially affect the confidentiality, availability, and/or integrity of an application or system.)" ] }, "x_capec_domains": [ "Social Engineering" ], "x_capec_likelihood_of_attack": "Medium", "x_capec_parent_of_refs": [ "attack-pattern--8b329689-f8f8-466e-a890-4e30b8d8ec30", "attack-pattern--af1a9e65-4ca7-4551-b1de-6192539652c5", "attack-pattern--89d61215-2dcb-4684-983b-89a6e519b035", "attack-pattern--346d34f3-13e5-4d95-8e96-4b381e76e132", "attack-pattern--9e487767-c1e6-45f9-ae01-1fb1e2d6f030" ], "x_capec_prerequisites": [ "The adversary must have the means and knowledge of how to communicate with the target in some manner." ], "x_capec_status": "Stable", "x_capec_typical_severity": "Medium", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--756dbec1-5182-44f6-a59e-093c4b3f451e", "modified": "2017-08-04T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--e2e37142-f4ef-407a-a43e-f0e3ecad8596", "spec_version": "2.1", "target_ref": "attack-pattern--eedaef1c-c3fb-4135-a1b5-4b186b9da854", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "The adversary uses social engineering to exploit the target's perception of the relationship between the adversary and themselves. This goal is to persuade the target to unknowingly perform an action or divulge information that is advantageous to the adversary.", "external_references": [ { "external_id": "CAPEC-417", "source_name": "capec", "url": "https://capec.mitre.org/data/definitions/417.html" }, { "description": "The Official Social Engineering Portal, Social-Engineer.org, Tick Tock Computers, LLC", "external_id": "REF-348", "source_name": "reference_from_CAPEC", "url": "http://www.social-engineer.org" }, { "description": "Social Engineering: The Art of Human Hacking, 2010, Wiley", "external_id": "REF-360", "source_name": "reference_from_CAPEC" } ], "id": "attack-pattern--af1a9e65-4ca7-4551-b1de-6192539652c5", "modified": "2017-08-04T00:00:00.000Z", "name": "Influence Perception", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "attack-pattern", "x_capec_abstraction": "Standard", "x_capec_child_of_refs": [ "attack-pattern--eedaef1c-c3fb-4135-a1b5-4b186b9da854" ], "x_capec_consequences": { "Availability": [ "Other (Attacks that influence the perception of the target can result in a wide variety of consequences and negatively affect potentially the confidentiality, availability, and/or integrity of an application or system.)" ], "Confidentiality": [ "Other (Attacks that influence the perception of the target can result in a wide variety of consequences and negatively affect potentially the confidentiality, availability, and/or integrity of an application or system.)" ], "Integrity": [ "Other (Attacks that influence the perception of the target can result in a wide variety of consequences and negatively affect potentially the confidentiality, availability, and/or integrity of an application or system.)" ] }, "x_capec_domains": [ "Social Engineering" ], "x_capec_likelihood_of_attack": "High", "x_capec_parent_of_refs": [ "attack-pattern--180aa01f-65a0-4400-a174-7b0f1605db0c", "attack-pattern--490d66db-ab96-48b4-ad40-8625319530eb", "attack-pattern--effcb600-1cb5-4601-baa6-cb8fc02d586c", "attack-pattern--ef383edc-9f3a-405f-9406-3bd186551d35", "attack-pattern--57a56016-e387-456e-badf-a60523e58277", "attack-pattern--d8a0c0f1-dc07-49d4-9d4a-e96e526a4c69" ], "x_capec_prerequisites": [ "The adversary must have the means and knowledge of how to communicate with the target in some manner." ], "x_capec_resources_required": [ "There are no necessary resources required for this attack." ], "x_capec_skills_required": { "Low": "The adversary requires strong inter-personal and communication skills." }, "x_capec_status": "Stable", "x_capec_typical_severity": "Low", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "An organization should provide regular, robust cybersecurity training to its employees to prevent social engineering attacks.", "id": "course-of-action--9ce44430-81de-4c5a-8458-402f622af40a", "modified": "2017-08-04T00:00:00.000Z", "name": "coa-417-0", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "course-of-action", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--6f1bc7a7-fc63-4847-b2bf-ad73c7d19b20", "modified": "2017-08-04T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--9ce44430-81de-4c5a-8458-402f622af40a", "spec_version": "2.1", "target_ref": "attack-pattern--af1a9e65-4ca7-4551-b1de-6192539652c5", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "An adversary uses a social engineering techniques to produce a sense of obligation in the target to perform a certain action or concede some sensitive or key piece of information. Obligation has to do with actions one feels they need to take due to some sort of social, legal, or moral requirement, duty, contract, or promise. There are various techniques for fostering a sense of obligation to reciprocate or concede during ordinary modes of communication. One method is to compliment the target, and follow up the compliment with a question. If performed correctly the target may volunteer a key piece of information, sometimes involuntarily.", "external_references": [ { "external_id": "CAPEC-418", "source_name": "capec", "url": "https://capec.mitre.org/data/definitions/418.html" }, { "description": "The Official Social Engineering Portal, Social-Engineer.org, Tick Tock Computers, LLC", "external_id": "REF-348", "source_name": "reference_from_CAPEC", "url": "http://www.social-engineer.org" }, { "description": "Social Engineering: The Art of Human Hacking, 2010, Wiley", "external_id": "REF-360", "source_name": "reference_from_CAPEC" } ], "id": "attack-pattern--180aa01f-65a0-4400-a174-7b0f1605db0c", "modified": "2017-08-04T00:00:00.000Z", "name": "Influence Perception of Reciprocation", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "attack-pattern", "x_capec_abstraction": "Detailed", "x_capec_child_of_refs": [ "attack-pattern--af1a9e65-4ca7-4551-b1de-6192539652c5" ], "x_capec_consequences": { "Availability": [ "Other (Attacks that influence the perception of the target can result in a wide variety of consequences and negatively affect potentially the confidentiality, availability, and/or integrity of an application or system.)" ], "Confidentiality": [ "Other (Attacks that influence the perception of the target can result in a wide variety of consequences and negatively affect potentially the confidentiality, availability, and/or integrity of an application or system.)" ], "Integrity": [ "Other (Attacks that influence the perception of the target can result in a wide variety of consequences and negatively affect potentially the confidentiality, availability, and/or integrity of an application or system.)" ] }, "x_capec_domains": [ "Social Engineering" ], "x_capec_example_instances": [ "An adversary develops a relationship with the target to foster a feeling of obligation in them to perform a certain action or concede some information. A perception of obligation/concession means that the target feels they need to behave in some way or perform some sort of action due to being morally or legally bound to do so." ], "x_capec_likelihood_of_attack": "Medium", "x_capec_prerequisites": [ "The adversary must have the means and knowledge of how to communicate with the target in some manner." ], "x_capec_resources_required": [ "None: No specialized resources are required to execute this type of attack." ], "x_capec_skills_required": { "Low": "The adversary requires strong inter-personal and communication skills." }, "x_capec_status": "Draft", "x_capec_typical_severity": "Medium", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--04915a3b-b205-4fc6-8701-3035bdceff35", "modified": "2017-08-04T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--9ce44430-81de-4c5a-8458-402f622af40a", "spec_version": "2.1", "target_ref": "attack-pattern--180aa01f-65a0-4400-a174-7b0f1605db0c", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "This attack pattern has been deprecated as it was deemed not to be a legitimate pattern.", "external_references": [ { "external_id": "CAPEC-419", "source_name": "capec", "url": "https://capec.mitre.org/data/definitions/419.html" } ], "id": "attack-pattern--c5724646-0a5b-4b60-b0e2-6c445a744628", "modified": "2017-08-04T00:00:00.000Z", "name": "DEPRECATED: Target Influence via Perception of Concession", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "attack-pattern", "x_capec_abstraction": "Meta", "x_capec_status": "Deprecated", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "An attacker exploits a weakness in the MIME conversion routine to cause a buffer overflow and gain control over the mail server machine. The MIME system is designed to allow various different information formats to be interpreted and sent via e-mail. Attack points exist when data are converted to MIME compatible format and back.", "external_references": [ { "external_id": "CAPEC-42", "source_name": "capec", "url": "https://capec.mitre.org/data/definitions/42.html" }, { "external_id": "CWE-120", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/120.html" }, { "external_id": "CWE-119", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/119.html" }, { "external_id": "CWE-74", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/74.html" }, { "external_id": "CWE-20", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/20.html" }, { "description": "G. Hoglund, G. McGraw, Exploiting Software: How to Break Code, 2004--02, Addison-Wesley", "external_id": "REF-1", "source_name": "reference_from_CAPEC" }, { "description": "CERT Advisory CA-1997-05 MIME Conversion Buffer Overflow in Sendmail Versions 8.8.3 and 8.8.4, Software Engineering Institute: Carnegie Mellon University", "external_id": "REF-364", "source_name": "reference_from_CAPEC", "url": "http://www.cert.org/advisories/CA-1997-05.html" } ], "id": "attack-pattern--3c08bb9d-43b5-4468-8b38-387c6cb60da7", "modified": "2022-09-29T00:00:00.000Z", "name": "MIME Conversion", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "attack-pattern", "x_capec_abstraction": "Detailed", "x_capec_child_of_refs": [ "attack-pattern--77e51461-7843-411c-a90e-852498957f76" ], "x_capec_consequences": { "Access_Control": [ "Gain Privileges" ], "Authorization": [ "Gain Privileges" ], "Availability": [ "Execute Unauthorized Commands (Run Arbitrary Code)", "Unreliable Execution" ], "Confidentiality": [ "Execute Unauthorized Commands (Run Arbitrary Code)", "Gain Privileges" ], "Integrity": [ "Execute Unauthorized Commands (Run Arbitrary Code)", "Modify Data" ] }, "x_capec_domains": [ "Software" ], "x_capec_example_instances": [ "\n A MIME conversion buffer overflow exists in Sendmail versions 8.8.3 and 8.8.4. Sendmail versions 8.8.3 and 8.8.4 are vulnerable to a buffer overflow in the MIME handling code. By sending a message with specially-crafted headers to the server, a remote attacker can overflow a buffer and execute arbitrary commands on the system with root privileges.\n Sendmail performs a 7 bit to 8 bit conversion on email messages. This vulnerability is due to the fact that insufficient bounds checking was performed while performing these conversions. This gave attacker an opportunity to overwrite the internal stack of sendmail while it is executing with root privileges. An attacker first probes the target system to figure out what mail server is used on the system and what version. An attacker could then test out the exploit at their leisure on their own machine running the same version of the mail server before using it in the wild.See also: CVE-1999-0047" ], "x_capec_execution_flow": "

Execution Flow

Explore

  1. Identify target mail server: The adversary identifies a target mail server that they wish to attack.

  2. Techniques
    Use Nmap on a system to identify a mail server service.
  3. Determine viability of attack: Determine whether the mail server is unpatched and is potentially vulnerable to one of the known MIME conversion buffer overflows (e.g. Sendmail 8.8.3 and 8.8.4).

Experiment

  1. Find injection vector: Identify places in the system where vulnerable MIME conversion routines may be used.

  2. Craft overflow content: The adversary crafts e-mail messages with special headers that will cause a buffer overflow for the vulnerable MIME conversion routine. The intent of this attack is to leverage the overflow for execution of arbitrary code and gain access to the mail server machine, so the adversary will craft an email that not only overflows the targeted buffer but does so in such a way that the overwritten return address is replaced with one of the adversary's choosing.

  3. Techniques
    Create malicious shellcode that will execute when the program execution is returned to it.
    Use a NOP-sled in the overflow content to more easily \"slide\" into the malicious code. This is done so that the exact return address need not be correct, only in the range of all of the NOPs

Exploit

  1. Overflow the buffer: Send e-mail messages to the target system with specially crafted headers that trigger the buffer overflow and execute the shell code.

", "x_capec_likelihood_of_attack": "High", "x_capec_prerequisites": [ "The target system uses a mail server.", "Mail server vendor has not released a patch for the MIME conversion routine, the patch itself has a security hole or does not fix the original problem, or the patch has not been applied to the user's system." ], "x_capec_skills_required": { "High": "Causing arbitrary code to execute on the target system.", "Low": "It may be trivial to cause a DoS via this attack pattern" }, "x_capec_status": "Draft", "x_capec_typical_severity": "High", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "Stay up to date with third party vendor patches", "id": "course-of-action--6db12259-6932-4e8f-9abb-ef1ac7a34727", "modified": "2022-09-29T00:00:00.000Z", "name": "coa-42-0", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "course-of-action", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--3b0ebb42-718a-4b46-8ffb-8ce77603ff60", "modified": "2022-09-29T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--6db12259-6932-4e8f-9abb-ef1ac7a34727", "spec_version": "2.1", "target_ref": "attack-pattern--3c08bb9d-43b5-4468-8b38-387c6cb60da7", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "\n Disable the 7 to 8 bit conversion. This can be done by removing the F=9 flag from all Mailer specifications in the sendmail.cf file.\n For example, a sendmail.cf file with these changes applied should look similar to (depending on your system and configuration):\n Mlocal, P=/usr/libexec/mail.local, F=lsDFMAw5:/|@qrmn, S=10/30, R=20/40,T=DNS/RFC822/X-Unix,A=mail -d $u\n Mprog, P=/bin/sh, F=lsDFMoqeu, S=10/30, R=20/40,D=$z:/,T=X-Unix,A=sh -c $u\n \n This can be achieved for the \"Mlocal\" and \"Mprog\" Mailers by modifying the \".mc\" file to include the following lines:\n define(`LOCAL_MAILER_FLAGS',ifdef(`LOCAL_MAILER_FLAGS',`translit(LOCAL_MAILER_FLAGS, `9')',`rmn'))\n \n define(`LOCAL_SHELL_FLAGS',ifdef(`LOCAL_SHELL_FLAGS',`translit(LOCAL_SHELL_FLAGS, `9')',`eu'))\n \n \n and then rebuilding the sendmail.cf file using m4(1).\n From \"Exploiting Software\", please see reference below.\n ", "id": "course-of-action--42a390b0-9943-4e0f-91ff-7e67aecd06f1", "modified": "2022-09-29T00:00:00.000Z", "name": "coa-42-1", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "course-of-action", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--f35d5325-e354-49ab-a92f-5ba6b8045162", "modified": "2022-09-29T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--42a390b0-9943-4e0f-91ff-7e67aecd06f1", "spec_version": "2.1", "target_ref": "attack-pattern--3c08bb9d-43b5-4468-8b38-387c6cb60da7", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "Use the sendmail restricted shell program (smrsh)", "id": "course-of-action--6de86e67-2849-4490-9556-799ba134737f", "modified": "2022-09-29T00:00:00.000Z", "name": "coa-42-2", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "course-of-action", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--011efc3d-4f04-4a7a-9a14-95f8855cbd0b", "modified": "2022-09-29T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--6de86e67-2849-4490-9556-799ba134737f", "spec_version": "2.1", "target_ref": "attack-pattern--3c08bb9d-43b5-4468-8b38-387c6cb60da7", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "Use mail.local", "id": "course-of-action--22ba1687-e539-480a-897e-2480bbfcdcdb", "modified": "2022-09-29T00:00:00.000Z", "name": "coa-42-3", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "course-of-action", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--273ca915-2a10-4a89-8347-e45deeb8176d", "modified": "2022-09-29T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--22ba1687-e539-480a-897e-2480bbfcdcdb", "spec_version": "2.1", "target_ref": "attack-pattern--3c08bb9d-43b5-4468-8b38-387c6cb60da7", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "The adversary leverages a perception of scarcity to persuade the target to perform an action or divulge information that is advantageous to the adversary. By conveying a perception of scarcity, or a situation of limited supply, the adversary aims to create a sense of urgency in the context of a target's decision-making process.", "external_references": [ { "external_id": "CAPEC-420", "source_name": "capec", "url": "https://capec.mitre.org/data/definitions/420.html" }, { "description": "The Official Social Engineering Portal, Social-Engineer.org, Tick Tock Computers, LLC", "external_id": "REF-348", "source_name": "reference_from_CAPEC", "url": "http://www.social-engineer.org" } ], "id": "attack-pattern--490d66db-ab96-48b4-ad40-8625319530eb", "modified": "2017-08-04T00:00:00.000Z", "name": "Influence Perception of Scarcity", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "attack-pattern", "x_capec_abstraction": "Detailed", "x_capec_child_of_refs": [ "attack-pattern--af1a9e65-4ca7-4551-b1de-6192539652c5" ], "x_capec_consequences": { "Availability": [ "Other (Attacks that leverage the principle of scarcity can lead to the target performing an action that results in a variety of consequences that negatively affect the confidentiality, availability, and/or integrity of an application or system.)" ], "Confidentiality": [ "Other (Attacks that leverage the principle of scarcity can lead to the target performing an action that results in a variety of consequences that negatively affect the confidentiality, availability, and/or integrity of an application or system.)" ], "Integrity": [ "Other (Attacks that leverage the principle of scarcity can lead to the target performing an action that results in a variety of consequences that negatively affect the confidentiality, availability, and/or integrity of an application or system.)" ] }, "x_capec_domains": [ "Social Engineering" ], "x_capec_example_instances": [ "An adversary sends an email to a target about a limited-time opportunity to claim a considerable monetary reward. The email contains a link to a site which the adversary says is only active for a short time and to the first person to claim it. By convincing the user of the scarcity of the monetary reward, the adversary aims to persuade them to click on the malicious link in the email." ], "x_capec_likelihood_of_attack": "High", "x_capec_prerequisites": [ "The adversary must have the means and knowledge of how to communicate with the target in some manner." ], "x_capec_resources_required": [ "None: No specialized resources are required to execute this type of attack." ], "x_capec_skills_required": { "Low": "The adversary requires strong inter-personal and communication skills." }, "x_capec_status": "Stable", "x_capec_typical_severity": "Low", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--6ee824b4-e2c0-4406-b7d9-9455b31c810c", "modified": "2017-08-04T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--9ce44430-81de-4c5a-8458-402f622af40a", "spec_version": "2.1", "target_ref": "attack-pattern--490d66db-ab96-48b4-ad40-8625319530eb", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "An adversary uses a social engineering technique to convey a sense of authority that motivates the target to reveal specific information or take specific action. There are various techniques for producing a sense of authority during ordinary modes of communication. One common method is impersonation. By impersonating someone with a position of power within an organization, an adversary may motivate the target individual to reveal some piece of sensitive information or perform an action that benefits the adversary.", "external_references": [ { "external_id": "CAPEC-421", "source_name": "capec", "url": "https://capec.mitre.org/data/definitions/421.html" }, { "description": "The Official Social Engineering Portal, Social-Engineer.org, Tick Tock Computers, LLC", "external_id": "REF-348", "source_name": "reference_from_CAPEC", "url": "http://www.social-engineer.org" } ], "id": "attack-pattern--effcb600-1cb5-4601-baa6-cb8fc02d586c", "modified": "2020-07-30T00:00:00.000Z", "name": "Influence Perception of Authority", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "attack-pattern", "x_capec_abstraction": "Detailed", "x_capec_child_of_refs": [ "attack-pattern--af1a9e65-4ca7-4551-b1de-6192539652c5" ], "x_capec_consequences": { "Availability": [ "Other (Attacks that leverage the principle of scarcity can lead to the target performing an action that results in a variety of consequences that negatively affect the confidentiality, availability, and/or integrity of an application or system.)" ], "Confidentiality": [ "Other (Attacks that leverage the principle of scarcity can lead to the target performing an action that results in a variety of consequences that negatively affect the confidentiality, availability, and/or integrity of an application or system.)" ], "Integrity": [ "Other (Attacks that leverage the principle of scarcity can lead to the target performing an action that results in a variety of consequences that negatively affect the confidentiality, availability, and/or integrity of an application or system.)" ] }, "x_capec_domains": [ "Social Engineering" ], "x_capec_example_instances": [ "The adversary calls the target and announces that they are the head of IT at the target's company. The adversary goes on to say that there has been a technical issue and they need the target's login credentials for their account. By convincing the target of their authority, the adversary hopes the target will reveal the sensitive information." ], "x_capec_likelihood_of_attack": "High", "x_capec_prerequisites": [ "The adversary must have the means and knowledge of how to communicate with the target in some manner." ], "x_capec_resources_required": [ "None: No specialized resources are required to execute this type of attack." ], "x_capec_skills_required": { "Low": "The adversary requires strong inter-personal and communication skills." }, "x_capec_status": "Stable", "x_capec_typical_severity": "Low", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--73e7aab7-ed20-4616-ae8f-4708e16de84c", "modified": "2020-07-30T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--9ce44430-81de-4c5a-8458-402f622af40a", "spec_version": "2.1", "target_ref": "attack-pattern--effcb600-1cb5-4601-baa6-cb8fc02d586c", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "An adversary uses social engineering to convince the target to do minor tasks as opposed to larger actions. After complying with a request, individuals are more likely to agree to subsequent requests that are similar in type and required effort.", "external_references": [ { "external_id": "CAPEC-422", "source_name": "capec", "url": "https://capec.mitre.org/data/definitions/422.html" }, { "description": "The Official Social Engineering Portal, Social-Engineer.org, Tick Tock Computers, LLC", "external_id": "REF-348", "source_name": "reference_from_CAPEC", "url": "http://www.social-engineer.org" } ], "id": "attack-pattern--ef383edc-9f3a-405f-9406-3bd186551d35", "modified": "2020-12-17T00:00:00.000Z", "name": "Influence Perception of Commitment and Consistency", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "attack-pattern", "x_capec_abstraction": "Detailed", "x_capec_child_of_refs": [ "attack-pattern--af1a9e65-4ca7-4551-b1de-6192539652c5" ], "x_capec_consequences": { "Availability": [ "Other (Attacks that leverage the principle of scarcity can lead to the target performing an action that results in a variety of consequences that negatively affect the confidentiality, availability, and/or integrity of an application or system.)" ], "Confidentiality": [ "Other (Attacks that leverage the principle of scarcity can lead to the target performing an action that results in a variety of consequences that negatively affect the confidentiality, availability, and/or integrity of an application or system.)" ], "Integrity": [ "Other (Attacks that leverage the principle of scarcity can lead to the target performing an action that results in a variety of consequences that negatively affect the confidentiality, availability, and/or integrity of an application or system.)" ] }, "x_capec_domains": [ "Social Engineering" ], "x_capec_likelihood_of_attack": "High", "x_capec_prerequisites": [ "The adversary must have the means and knowledge of how to communicate with the target in some manner." ], "x_capec_resources_required": [ "None: No specialized resources are required to execute this type of attack." ], "x_capec_skills_required": { "Low": "The adversary requires strong inter-personal and communication skills." }, "x_capec_status": "Stable", "x_capec_typical_severity": "Low", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--d680be2b-c855-49c2-9b1f-929dd51b97e4", "modified": "2020-12-17T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--9ce44430-81de-4c5a-8458-402f622af40a", "spec_version": "2.1", "target_ref": "attack-pattern--ef383edc-9f3a-405f-9406-3bd186551d35", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "Individuals should avoid complying with suspicious requests.", "id": "course-of-action--4bc29bf9-910a-4f4a-8423-87090f815507", "modified": "2020-12-17T00:00:00.000Z", "name": "coa-422-1", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "course-of-action", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--36560036-998b-4d8b-8e16-e766cd8d1876", "modified": "2020-12-17T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--4bc29bf9-910a-4f4a-8423-87090f815507", "spec_version": "2.1", "target_ref": "attack-pattern--ef383edc-9f3a-405f-9406-3bd186551d35", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "The adversary influences the target's actions by building a relationship where the target has a liking to the adversary. People are more likely to be influenced by people of whom they are fond, so the adversary attempts to ingratiate themself with the target via actions, appearance, or a combination thereof.", "external_references": [ { "external_id": "CAPEC-423", "source_name": "capec", "url": "https://capec.mitre.org/data/definitions/423.html" }, { "description": "The Official Social Engineering Portal, Social-Engineer.org, Tick Tock Computers, LLC", "external_id": "REF-348", "source_name": "reference_from_CAPEC", "url": "http://www.social-engineer.org" } ], "id": "attack-pattern--57a56016-e387-456e-badf-a60523e58277", "modified": "2020-07-30T00:00:00.000Z", "name": "Influence Perception of Liking", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "attack-pattern", "x_capec_abstraction": "Detailed", "x_capec_child_of_refs": [ "attack-pattern--af1a9e65-4ca7-4551-b1de-6192539652c5" ], "x_capec_consequences": { "Availability": [ "Other (Attacks that leverage the principle of liking can lead to the target performing an action that results in a variety of consequences that negatively affect the confidentiality, availability, and/or integrity of an application or system.)" ], "Confidentiality": [ "Other (Attacks that leverage the principle of liking can lead to the target performing an action that results in a variety of consequences that negatively affect the confidentiality, availability, and/or integrity of an application or system.)" ], "Integrity": [ "Other (Attacks that leverage the principle of liking can lead to the target performing an action that results in a variety of consequences that negatively affect the confidentiality, availability, and/or integrity of an application or system.)" ] }, "x_capec_domains": [ "Social Engineering" ], "x_capec_likelihood_of_attack": "Medium", "x_capec_prerequisites": [ "The adversary must have the means and knowledge of how to communicate with the target in some manner.The adversary must have knowledge of the types of things that the target likes." ], "x_capec_skills_required": { "Low": "The adversary requires strong inter-personal and communication skills." }, "x_capec_status": "Stable", "x_capec_typical_severity": "Low", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--e3cc5859-4cd7-4218-ad1f-c7047264db33", "modified": "2020-07-30T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--9ce44430-81de-4c5a-8458-402f622af40a", "spec_version": "2.1", "target_ref": "attack-pattern--57a56016-e387-456e-badf-a60523e58277", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "The adversary influences the target's actions by leveraging the inherent human nature to assume behavior of others is appropriate. In situations of uncertainty, people tend to behave in ways they see others behaving. The adversary convinces the target of adopting behavior or actions that is advantageous to the adversary.", "external_references": [ { "external_id": "CAPEC-424", "source_name": "capec", "url": "https://capec.mitre.org/data/definitions/424.html" }, { "description": "The Official Social Engineering Portal, Social-Engineer.org, Tick Tock Computers, LLC", "external_id": "REF-348", "source_name": "reference_from_CAPEC", "url": "http://www.social-engineer.org" } ], "id": "attack-pattern--d8a0c0f1-dc07-49d4-9d4a-e96e526a4c69", "modified": "2017-08-04T00:00:00.000Z", "name": "Influence Perception of Consensus or Social Proof", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "attack-pattern", "x_capec_abstraction": "Detailed", "x_capec_child_of_refs": [ "attack-pattern--af1a9e65-4ca7-4551-b1de-6192539652c5" ], "x_capec_consequences": { "Availability": [ "Other (Attacks that leverage the principle of liking can lead to the target performing an action that results in a variety of consequences that negatively affect the confidentiality, availability, and/or integrity of an application or system.)" ], "Confidentiality": [ "Other (Attacks that leverage the principle of liking can lead to the target performing an action that results in a variety of consequences that negatively affect the confidentiality, availability, and/or integrity of an application or system.)" ], "Integrity": [ "Other (Attacks that leverage the principle of liking can lead to the target performing an action that results in a variety of consequences that negatively affect the confidentiality, availability, and/or integrity of an application or system.)" ] }, "x_capec_domains": [ "Social Engineering" ], "x_capec_likelihood_of_attack": "Low", "x_capec_prerequisites": [ "The adversary must have the means and knowledge of how to communicate with the target in some manner." ], "x_capec_skills_required": { "Low": "The adversary requires strong inter-personal and communication skills." }, "x_capec_status": "Draft", "x_capec_typical_severity": "Low", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--e6e89355-28b2-4f0e-be9d-bdaab0213673", "modified": "2017-08-04T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--9ce44430-81de-4c5a-8458-402f622af40a", "spec_version": "2.1", "target_ref": "attack-pattern--d8a0c0f1-dc07-49d4-9d4a-e96e526a4c69", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "An adversary uses framing techniques to contextualize a conversation so that the target is more likely to be influenced by the adversary's point of view. Framing is information and experiences in life that alter the way we react to decisions we must make. This type of persuasive technique exploits the way people are conditioned to perceive data and its significance, while avoiding negative or avoidance responses from the target. Rather than a specific technique framing is a methodology of conversation that slowly encourages the target to adopt to the adversary's perspective. One technique of framing is to avoid the use of the word \"No\" and to contextualize responses in a manner that is positive. When performed skillfully the target is much more likely to volunteer information or perform actions favorable to the adversary.", "external_references": [ { "external_id": "CAPEC-425", "source_name": "capec", "url": "https://capec.mitre.org/data/definitions/425.html" }, { "description": "The Official Social Engineering Portal, Social-Engineer.org, Tick Tock Computers, LLC", "external_id": "REF-348", "source_name": "reference_from_CAPEC", "url": "http://www.social-engineer.org" } ], "id": "attack-pattern--89d61215-2dcb-4684-983b-89a6e519b035", "modified": "2020-12-17T00:00:00.000Z", "name": "Target Influence via Framing", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "attack-pattern", "x_capec_abstraction": "Standard", "x_capec_child_of_refs": [ "attack-pattern--eedaef1c-c3fb-4135-a1b5-4b186b9da854" ], "x_capec_consequences": { "Confidentiality": [ "Other (Successful attacks that influence the target via framing into performing an action or sharing sensitive information can result in a variety of consequences that negatively affect the confidentiality of an application or system.)" ] }, "x_capec_domains": [ "Social Engineering" ], "x_capec_likelihood_of_attack": "Low", "x_capec_prerequisites": [ "The adversary must have the means and knowledge of how to communicate with the target in some manner." ], "x_capec_skills_required": { "Low": "The adversary requires strong inter-personal and communication skills." }, "x_capec_status": "Draft", "x_capec_typical_severity": "Low", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--c5843921-552b-4480-815d-43dc331c44bd", "modified": "2020-12-17T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--9ce44430-81de-4c5a-8458-402f622af40a", "spec_version": "2.1", "target_ref": "attack-pattern--89d61215-2dcb-4684-983b-89a6e519b035", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "Avoid sharing unnecessary information during interactions beyond what is absolutely required for effective communication.", "id": "course-of-action--f0dff928-51e9-432a-adb9-1dd4d3008256", "modified": "2020-12-17T00:00:00.000Z", "name": "coa-425-1", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "course-of-action", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--5f246e08-06d0-46f0-a49f-061d90062966", "modified": "2020-12-17T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--f0dff928-51e9-432a-adb9-1dd4d3008256", "spec_version": "2.1", "target_ref": "attack-pattern--89d61215-2dcb-4684-983b-89a6e519b035", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "The adversary incites a behavior from the target by manipulating something of influence. This is commonly associated with financial, social, or ideological incentivization. Examples include monetary fraud, peer pressure, and preying on the target's morals or ethics. The most effective incentive against one target might not be as effective against another, therefore the adversary must gather information about the target's vulnerability to particular incentives.", "external_references": [ { "external_id": "CAPEC-426", "source_name": "capec", "url": "https://capec.mitre.org/data/definitions/426.html" }, { "description": "The Official Social Engineering Portal, Social-Engineer.org, Tick Tock Computers, LLC", "external_id": "REF-348", "source_name": "reference_from_CAPEC", "url": "http://www.social-engineer.org" } ], "id": "attack-pattern--346d34f3-13e5-4d95-8e96-4b381e76e132", "modified": "2017-08-04T00:00:00.000Z", "name": "Influence via Incentives", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "attack-pattern", "x_capec_abstraction": "Standard", "x_capec_child_of_refs": [ "attack-pattern--eedaef1c-c3fb-4135-a1b5-4b186b9da854" ], "x_capec_consequences": { "Availability": [ "Other (Attacks that successfully incentivize the target into performing an action beneficial to the adversary can result in a variety of consequences that negatively affect the confidentiality, availability, and/or integrity of an application or system.)" ], "Confidentiality": [ "Other (Attacks that successfully incentivize the target into performing an action beneficial to the adversary can result in a variety of consequences that negatively affect the confidentiality, availability, and/or integrity of an application or system.)" ], "Integrity": [ "Other (Attacks that successfully incentivize the target into performing an action beneficial to the adversary can result in a variety of consequences that negatively affect the confidentiality, availability, and/or integrity of an application or system.)" ] }, "x_capec_domains": [ "Social Engineering" ], "x_capec_likelihood_of_attack": "Low", "x_capec_prerequisites": [ "The adversary must have the means and knowledge of how to communicate with the target in some manner.The adversary must have knowledge of the incentives that would influence the actions of the specific target." ], "x_capec_skills_required": { "Low": "The adversary requires strong inter-personal and communication skills." }, "x_capec_status": "Stable", "x_capec_typical_severity": "Low", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--f6433a46-1658-4501-a2d5-69157cd29ad6", "modified": "2017-08-04T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--9ce44430-81de-4c5a-8458-402f622af40a", "spec_version": "2.1", "target_ref": "attack-pattern--346d34f3-13e5-4d95-8e96-4b381e76e132", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "The adversary shapes the target's actions or behavior by focusing on the ways human interact and learn, leveraging such elements as cognitive and social psychology. In a variety of ways, a target can be influenced to behave or perform an action through capitalizing on what scholarship and research has learned about how and why humans react to specific scenarios and cues.", "external_references": [ { "external_id": "CAPEC-427", "source_name": "capec", "url": "https://capec.mitre.org/data/definitions/427.html" }, { "description": "The Official Social Engineering Portal, Social-Engineer.org, Tick Tock Computers, LLC", "external_id": "REF-348", "source_name": "reference_from_CAPEC", "url": "http://www.social-engineer.org" } ], "id": "attack-pattern--9e487767-c1e6-45f9-ae01-1fb1e2d6f030", "modified": "2017-08-04T00:00:00.000Z", "name": "Influence via Psychological Principles", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "attack-pattern", "x_capec_abstraction": "Standard", "x_capec_child_of_refs": [ "attack-pattern--eedaef1c-c3fb-4135-a1b5-4b186b9da854" ], "x_capec_consequences": { "Availability": [ "Other (Attacks that successfully influence the target into performing an action via psychological principles can result in a variety of consequences that negatively affect the confidentiality, availability, and/or integrity of an application or system.)" ], "Confidentiality": [ "Other (Attacks that successfully influence the target into performing an action via psychological principles can result in a variety of consequences that negatively affect the confidentiality, availability, and/or integrity of an application or system.)" ], "Integrity": [ "Other (Attacks that successfully influence the target into performing an action via psychological principles can result in a variety of consequences that negatively affect the confidentiality, availability, and/or integrity of an application or system.)" ] }, "x_capec_domains": [ "Social Engineering" ], "x_capec_likelihood_of_attack": "Low", "x_capec_parent_of_refs": [ "attack-pattern--6297aac6-1e4d-4c28-9268-52f70584ec5b", "attack-pattern--bbd4f017-9a98-495c-889f-68d85aca375a", "attack-pattern--6d30ec21-b3b4-435d-9045-acd660865e6a", "attack-pattern--c207660b-d5b1-4928-b472-251f19a094d0", "attack-pattern--0618a68a-c6e1-4370-82d3-c76fa2745905" ], "x_capec_prerequisites": [ "The adversary must have the means and knowledge of how to communicate with the target in some manner." ], "x_capec_skills_required": { "Low": "The adversary requires strong inter-personal and communication skills." }, "x_capec_status": "Draft", "x_capec_typical_severity": "Low", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--c110197f-03b6-4bd2-8fc6-22c90a73c5e9", "modified": "2017-08-04T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--9ce44430-81de-4c5a-8458-402f622af40a", "spec_version": "2.1", "target_ref": "attack-pattern--9e487767-c1e6-45f9-ae01-1fb1e2d6f030", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "The adversary tailors their communication to the language and thought patterns of the target thereby weakening barriers or reluctance to communication. This method is a way of building rapport with a target by matching their speech patterns and the primary ways or dominant senses with which they make abstractions. This technique can be used to make the target more receptive to sharing information because the adversary has adapted their communication forms to match those of the target. When skillfully employed, the target is likely to be unaware that they are being manipulated.", "external_references": [ { "external_id": "CAPEC-428", "source_name": "capec", "url": "https://capec.mitre.org/data/definitions/428.html" }, { "description": "The Official Social Engineering Portal, Social-Engineer.org, Tick Tock Computers, LLC", "external_id": "REF-348", "source_name": "reference_from_CAPEC", "url": "http://www.social-engineer.org" } ], "id": "attack-pattern--6297aac6-1e4d-4c28-9268-52f70584ec5b", "modified": "2017-05-01T00:00:00.000Z", "name": "Influence via Modes of Thinking", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "attack-pattern", "x_capec_abstraction": "Detailed", "x_capec_child_of_refs": [ "attack-pattern--9e487767-c1e6-45f9-ae01-1fb1e2d6f030" ], "x_capec_domains": [ "Social Engineering" ], "x_capec_status": "Draft", "x_capec_typical_severity": "Low", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "The adversary gains information via non-verbal means from the target through eye movements.", "external_references": [ { "external_id": "CAPEC-429", "source_name": "capec", "url": "https://capec.mitre.org/data/definitions/429.html" }, { "description": "The Official Social Engineering Portal, Social-Engineer.org, Tick Tock Computers, LLC", "external_id": "REF-348", "source_name": "reference_from_CAPEC", "url": "http://www.social-engineer.org" } ], "id": "attack-pattern--bbd4f017-9a98-495c-889f-68d85aca375a", "modified": "2017-08-04T00:00:00.000Z", "name": "Target Influence via Eye Cues", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "attack-pattern", "x_capec_abstraction": "Detailed", "x_capec_child_of_refs": [ "attack-pattern--9e487767-c1e6-45f9-ae01-1fb1e2d6f030" ], "x_capec_domains": [ "Social Engineering" ], "x_capec_status": "Draft", "x_capec_typical_severity": "Low", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "An attacker supplies the target software with input data that contains sequences of special characters designed to bypass input validation logic. This exploit relies on the target making multiples passes over the input data and processing a \"layer\" of special characters with each pass. In this manner, the attacker can disguise input that would otherwise be rejected as invalid by concealing it with layers of special/escape characters that are stripped off by subsequent processing steps. The goal is to first discover cases where the input validation layer executes before one or more parsing layers. That is, user input may go through the following logic in an application: --> --> . In such cases, the attacker will need to provide input that will pass through the input validator, but after passing through parser2, will be converted into something that the input validator was supposed to stop.", "external_references": [ { "external_id": "CAPEC-43", "source_name": "capec", "url": "https://capec.mitre.org/data/definitions/43.html" }, { "external_id": "CWE-179", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/179.html" }, { "external_id": "CWE-181", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/181.html" }, { "external_id": "CWE-184", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/184.html" }, { "external_id": "CWE-183", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/183.html" }, { "external_id": "CWE-77", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/77.html" }, { "external_id": "CWE-78", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/78.html" }, { "external_id": "CWE-74", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/74.html" }, { "external_id": "CWE-20", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/20.html" }, { "external_id": "CWE-697", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/697.html" }, { "external_id": "CWE-707", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/707.html" }, { "description": "G. Hoglund, G. McGraw, Exploiting Software: How to Break Code, 2004--02, Addison-Wesley", "external_id": "REF-1", "source_name": "reference_from_CAPEC" } ], "id": "attack-pattern--e827def7-6d74-48b4-8cd2-cd0e0ff00aeb", "modified": "2022-09-29T00:00:00.000Z", "name": "Exploiting Multiple Input Interpretation Layers", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "attack-pattern", "x_capec_abstraction": "Detailed", "x_capec_child_of_refs": [ "attack-pattern--a1af7c24-25cb-46e5-a27b-ed316e1f91ce" ], "x_capec_consequences": { "Access_Control": [ "Gain Privileges" ], "Authorization": [ "Gain Privileges" ], "Confidentiality": [ "Gain Privileges", "Read Data" ], "Integrity": [ "Modify Data" ] }, "x_capec_domains": [ "Software" ], "x_capec_example_instances": [ "\n The backslash character provides a good example of the multiple-parser issue. A backslash is used to escape characters in strings, but is also used to delimit directories on the NT file system. When performing a command injection that includes NT paths, there is usually a need to \"double escape\" the backslash. In some cases, a quadruple escape is necessary.\n Original String: C:\\\\\\\\winnt\\\\\\\\system32\\\\\\\\cmd.exe /c\n \n Interim String: C:\\\\winnt\\\\system32\\\\cmd.exe /c\n \n Final String: C:\\winnt\\system32\\cmd.exe /c\n This diagram shows each successive layer of parsing translating the backslash character. A double backslash becomes a single as it is parsed. By using quadruple backslashes, the attacker is able to control the result in the final string.\n [REF-1]\n " ], "x_capec_execution_flow": "

Execution Flow

Explore

  1. Determine application/system inputs where bypassing input validation is desired: The attacker first needs to determine all of the application's/system's inputs where input validation is being performed and where they want to bypass it.

  2. Techniques
    While using an application/system, the attacker discovers an input where validation is stopping them from performing some malicious or unauthorized actions.

Experiment

  1. Determine which character encodings are accepted by the application/system: The attacker then needs to provide various character encodings to the application/system and determine which ones are accepted. The attacker will need to observe the application's/system's response to the encoded data to determine whether the data was interpreted properly.

  2. Techniques
    Determine which escape characters are accepted by the application/system. A common escape character is the backslash character, '\\'
    Determine whether URL encoding is accepted by the application/system.
    Determine whether UTF-8 encoding is accepted by the application/system.
    Determine whether UTF-16 encoding is accepted by the application/system.
    Determine if any other encodings are accepted by the application/system.
  3. Combine multiple encodings accepted by the application.: The attacker now combines encodings accepted by the application. The attacker may combine different encodings or apply the same encoding multiple times.

  4. Techniques
    Combine same encoding multiple times and observe its effects. For example, if special characters are encoded with a leading backslash, then the following encoding may be accepted by the application/system: \"\\\\\\.\". With two parsing layers, this may get converted to \"\\.\" after the first parsing layer, and then, to \".\" after the second. If the input validation layer is between the two parsing layers, then \"\\\\\\.\\\\\\.\" might pass a test for \"..\" but still get converted to \"..\" afterwards. This may enable directory traversal attacks.
    Combine multiple encodings and observe the effects. For example, the attacker might encode \".\" as \"\\.\", and then, encode \"\\.\" as \"\.\", and then, encode that using URL encoding to \"%26%2392%3B%26%2346%3B\"

Exploit

  1. Leverage ability to bypass input validation: Attacker leverages their ability to bypass input validation to gain unauthorized access to system. There are many attacks possible, and a few examples are mentioned here.

  2. Techniques
    Gain access to sensitive files.
    Perform command injection.
    Perform SQL injection.
    Perform XSS attacks.
", "x_capec_likelihood_of_attack": "Medium", "x_capec_prerequisites": [ "User input is used to construct a command to be executed on the target system or as part of the file name.", "Multiple parser passes are performed on the data supplied by the user." ], "x_capec_skills_required": { "Medium": "Knowledge of various escaping schemes, such as URL escape encoding and XML escape characters." }, "x_capec_status": "Draft", "x_capec_typical_severity": "High", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "An iterative approach to input validation may be required to ensure that no dangerous characters are present. It may be necessary to implement redundant checking across different input validation layers. Ensure that invalid data is rejected as soon as possible and do not continue to work with it.", "id": "course-of-action--809958b7-bafc-4845-87c4-cab53e86cb67", "modified": "2022-09-29T00:00:00.000Z", "name": "coa-43-0", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "course-of-action", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--1cce6424-2120-47d0-979c-8ee21cfa1e1a", "modified": "2022-09-29T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--809958b7-bafc-4845-87c4-cab53e86cb67", "spec_version": "2.1", "target_ref": "attack-pattern--e827def7-6d74-48b4-8cd2-cd0e0ff00aeb", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "Make sure to perform input validation on canonicalized data (i.e. data that is data in its most standard form). This will help avoid tricky encodings getting past the filters.", "id": "course-of-action--d94176ef-a1ff-499b-86b7-e94e8734ab6a", "modified": "2022-09-29T00:00:00.000Z", "name": "coa-43-1", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "course-of-action", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--c2e5ce6d-7c06-4bf7-9b38-475351b97ad1", "modified": "2022-09-29T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--d94176ef-a1ff-499b-86b7-e94e8734ab6a", "spec_version": "2.1", "target_ref": "attack-pattern--e827def7-6d74-48b4-8cd2-cd0e0ff00aeb", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "Assume all input is malicious. Create an allowlist that defines all valid input to the software system based on the requirements specifications. Input that does not match against the allowlist would not be permitted to enter into the system.", "id": "course-of-action--f0f8d5a1-d4cc-4eac-b405-4af5e4a821c6", "modified": "2022-09-29T00:00:00.000Z", "name": "coa-43-2", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "course-of-action", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--45fc127a-991a-47f3-a564-b96d95896f3c", "modified": "2022-09-29T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--f0f8d5a1-d4cc-4eac-b405-4af5e4a821c6", "spec_version": "2.1", "target_ref": "attack-pattern--e827def7-6d74-48b4-8cd2-cd0e0ff00aeb", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "This attack pattern has been deprecated.", "external_references": [ { "external_id": "CAPEC-430", "source_name": "capec", "url": "https://capec.mitre.org/data/definitions/430.html" } ], "id": "attack-pattern--8428f01f-d4ca-4fb0-866d-8d5716b36265", "modified": "2018-07-31T00:00:00.000Z", "name": "DEPRECATED: Target Influence via Micro-Expressions", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "attack-pattern", "x_capec_abstraction": "Detailed", "x_capec_status": "Deprecated", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "This attack pattern has been deprecated.", "external_references": [ { "external_id": "CAPEC-431", "source_name": "capec", "url": "https://capec.mitre.org/data/definitions/431.html" } ], "id": "attack-pattern--76afdae0-2970-44dc-8ae0-fd04629b0dab", "modified": "2018-07-31T00:00:00.000Z", "name": "DEPRECATED: Target Influence via Neuro-Linguistic Programming (NLP)", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "attack-pattern", "x_capec_abstraction": "Detailed", "x_capec_status": "Deprecated", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "This attack pattern has been deprecated.", "external_references": [ { "external_id": "CAPEC-432", "source_name": "capec", "url": "https://capec.mitre.org/data/definitions/432.html" } ], "id": "attack-pattern--21fcd732-cb8b-4716-b74e-abdf6b031e14", "modified": "2018-07-31T00:00:00.000Z", "name": "DEPRECATED: Target Influence via Voice in NLP", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "attack-pattern", "x_capec_abstraction": "Detailed", "x_capec_status": "Deprecated", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "An attacker utilizes a technique to insinuate commands to the subconscious mind of the target via communication patterns. The human buffer overflow methodology does not rely on over-stimulating the mind of the target, but rather embedding messages within communication that the mind of the listener assembles at a subconscious level. The human buffer-overflow method is similar to subconscious programming to the extent that messages are embedded within the message.", "external_references": [ { "external_id": "CAPEC-433", "source_name": "capec", "url": "https://capec.mitre.org/data/definitions/433.html" }, { "description": "The Official Social Engineering Portal, Social-Engineer.org, Tick Tock Computers, LLC", "external_id": "REF-348", "source_name": "reference_from_CAPEC", "url": "http://www.social-engineer.org" } ], "id": "attack-pattern--6d30ec21-b3b4-435d-9045-acd660865e6a", "modified": "2022-02-22T00:00:00.000Z", "name": "Target Influence via The Human Buffer Overflow", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "attack-pattern", "x_capec_abstraction": "Detailed", "x_capec_child_of_refs": [ "attack-pattern--9e487767-c1e6-45f9-ae01-1fb1e2d6f030" ], "x_capec_domains": [ "Social Engineering" ], "x_capec_extended_description": "\n The fundamental difference is that embedded messages have a complete semantic quality, rather than mere imagery, and the mind of the target tends to key off of particular dominant patterns. The remaining information, carefully structured, speaks directly to the subconscious with a subtle, indirect, command. The effect is to produce a pattern of thinking that the attacker has predetermined but is buried within the message and not overtly stated. Structuring a human \"buffer overflow\" requires precise attention to detail and the use of information in a manner that distracts the conscious mind from the message the subconscious is receiving.\n ", "x_capec_status": "Draft", "x_capec_typical_severity": "Low", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "", "external_references": [ { "external_id": "CAPEC-434", "source_name": "capec", "url": "https://capec.mitre.org/data/definitions/434.html" }, { "description": "The Official Social Engineering Portal, Social-Engineer.org, Tick Tock Computers, LLC", "external_id": "REF-348", "source_name": "reference_from_CAPEC", "url": "http://www.social-engineer.org" } ], "id": "attack-pattern--c207660b-d5b1-4928-b472-251f19a094d0", "modified": "2014-06-23T00:00:00.000Z", "name": "Target Influence via Interview and Interrogation", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "attack-pattern", "x_capec_abstraction": "Detailed", "x_capec_child_of_refs": [ "attack-pattern--9e487767-c1e6-45f9-ae01-1fb1e2d6f030" ], "x_capec_domains": [ "Social Engineering" ], "x_capec_status": "Draft", "x_capec_typical_severity": "Low", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "", "external_references": [ { "external_id": "CAPEC-435", "source_name": "capec", "url": "https://capec.mitre.org/data/definitions/435.html" }, { "description": "The Official Social Engineering Portal, Social-Engineer.org, Tick Tock Computers, LLC", "external_id": "REF-348", "source_name": "reference_from_CAPEC", "url": "http://www.social-engineer.org" } ], "id": "attack-pattern--0618a68a-c6e1-4370-82d3-c76fa2745905", "modified": "2014-06-23T00:00:00.000Z", "name": "Target Influence via Instant Rapport", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "attack-pattern", "x_capec_abstraction": "Detailed", "x_capec_child_of_refs": [ "attack-pattern--9e487767-c1e6-45f9-ae01-1fb1e2d6f030" ], "x_capec_domains": [ "Social Engineering" ], "x_capec_status": "Draft", "x_capec_typical_severity": "Low", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "An attacker modifies a technology, product, or component during a stage in its manufacture for the purpose of carrying out an attack against some entity involved in the supply chain lifecycle. There are an almost limitless number of ways an attacker can modify a technology when they are involved in its manufacture, as the attacker has potential inroads to the software composition, hardware design and assembly, firmware, or basic design mechanics. Additionally, manufacturing of key components is often outsourced with the final product assembled by the primary manufacturer. The greatest risk, however, is deliberate manipulation of design specifications to produce malicious hardware or devices. There are billions of transistors in a single integrated circuit and studies have shown that fewer than 10 transistors are required to create malicious functionality.", "external_references": [ { "external_id": "CAPEC-438", "source_name": "capec", "url": "https://capec.mitre.org/data/definitions/438.html" }, { "description": "Supply Chain Compromise", "external_id": "T1195", "source_name": "ATTACK", "url": "https://attack.mitre.org/wiki/Technique/T1195" }, { "description": "Jon Boyens, Angela Smith, Nadya Bartol, Kris Winkler, Alex Holbrook, Matthew Fallon, Cybersecurity Supply Chain Risk Management Practices for Systems and Organizations (2nd Draft), 2021--10---28, National Institute of Standards and Technology (NIST)", "external_id": "REF-379", "source_name": "reference_from_CAPEC", "url": "https://nvlpubs.nist.gov/nistpubs/SpecialPublications/NIST.SP.800-161r1-draft2.pdf" }, { "description": "Marcus Sachs, Supply Chain Attacks: Can We Secure Information Technology Supply Chain in the Age of Globalization, Verizon, Inc.", "external_id": "REF-380", "source_name": "reference_from_CAPEC" }, { "description": "Thea Reilkoff, Hardware Trojans: A Novel Attack Meets a New Defense, 2010, Yale School of Engineering and Applied Science", "external_id": "REF-381", "source_name": "reference_from_CAPEC" }, { "description": "Marianne Swanson, Nadya Bartol, Rama Moorthy, Piloting Supply Chain Risk Management Practices for Federal Information Systems (Draft NISTIR 7622), 2010, National Institute of Standards and Technology", "external_id": "REF-382", "source_name": "reference_from_CAPEC" } ], "id": "attack-pattern--1339dbbe-fe41-467a-b43c-7d56d22a9fe4", "modified": "2021-06-24T00:00:00.000Z", "name": "Modification During Manufacture", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "attack-pattern", "x_capec_abstraction": "Meta", "x_capec_domains": [ "Supply Chain", "Software", "Hardware" ], "x_capec_parent_of_refs": [ "attack-pattern--efb74200-657d-438c-aaff-bbd9644dd72d", "attack-pattern--cf550376-63ac-4b46-87d1-0e324c1c1c46" ], "x_capec_status": "Draft", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "An attacker undermines the integrity of a product, software, or technology at some stage of the distribution channel. The core threat of modification or manipulation during distribution arise from the many stages of distribution, as a product may traverse multiple suppliers and integrators as the final asset is delivered. Components and services provided from a manufacturer to a supplier may be tampered with during integration or packaging.", "external_references": [ { "external_id": "CAPEC-439", "source_name": "capec", "url": "https://capec.mitre.org/data/definitions/439.html" }, { "external_id": "CWE-1269", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/1269.html" }, { "description": "Supply Chain Compromise", "external_id": "T1195", "source_name": "ATTACK", "url": "https://attack.mitre.org/wiki/Technique/T1195" }, { "description": "Jon Boyens, Angela Smith, Nadya Bartol, Kris Winkler, Alex Holbrook, Matthew Fallon, Cybersecurity Supply Chain Risk Management Practices for Systems and Organizations (2nd Draft), 2021--10---28, National Institute of Standards and Technology (NIST)", "external_id": "REF-379", "source_name": "reference_from_CAPEC", "url": "https://nvlpubs.nist.gov/nistpubs/SpecialPublications/NIST.SP.800-161r1-draft2.pdf" }, { "description": "SAFECode, The Software Supply Chain Integrity Framework Defining Risks and Responsibilities for Securing Software in the Global Supply Chain, 2009, Safecode.org", "external_id": "REF-384", "source_name": "reference_from_CAPEC" }, { "description": "Marianne Swanson, Nadya Bartol, Rama Moorthy, Piloting Supply Chain Risk Management Practices for Federal Information Systems (Draft NISTIR 7622), 2010, National Institute of Standards and Technology", "external_id": "REF-382", "source_name": "reference_from_CAPEC" } ], "id": "attack-pattern--59ba3504-6764-48b4-980a-40e4adff2030", "modified": "2021-06-24T00:00:00.000Z", "name": "Manipulation During Distribution", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "attack-pattern", "x_capec_abstraction": "Meta", "x_capec_domains": [ "Supply Chain", "Hardware" ], "x_capec_example_instances": [ "A malicious OEM provider, or OEM provider employee or contractor, may install software, or modify existing code, during distribution.", "External contractors involved in the packaging or testing of products or components may install software, or modify existing code, during distribution." ], "x_capec_parent_of_refs": [ "attack-pattern--556f08be-d926-448c-b2c2-88a817a170a4", "attack-pattern--02570621-96aa-4525-b782-8e3939affac3", "attack-pattern--f17dd173-6fcf-4f43-8f72-0f274dde5fc5" ], "x_capec_status": "Draft", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "An attack of this type exploits a buffer overflow vulnerability in the handling of binary resources. Binary resources may include music files like MP3, image files like JPEG files, and any other binary file. These attacks may pass unnoticed to the client machine through normal usage of files, such as a browser loading a seemingly innocent JPEG file. This can allow the adversary access to the execution stack and execute arbitrary code in the target process.", "external_references": [ { "external_id": "CAPEC-44", "source_name": "capec", "url": "https://capec.mitre.org/data/definitions/44.html" }, { "external_id": "CWE-120", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/120.html" }, { "external_id": "CWE-119", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/119.html" }, { "external_id": "CWE-697", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/697.html" }, { "description": "G. Hoglund, G. McGraw, Exploiting Software: How to Break Code, 2004--02, Addison-Wesley", "external_id": "REF-1", "source_name": "reference_from_CAPEC" } ], "id": "attack-pattern--d3634072-88f9-4711-987f-6bff7698bd4c", "modified": "2022-02-22T00:00:00.000Z", "name": "Overflow Binary Resource File", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "attack-pattern", "x_capec_abstraction": "Detailed", "x_capec_child_of_refs": [ "attack-pattern--77e51461-7843-411c-a90e-852498957f76", "attack-pattern--521348c2-b1df-492f-ac83-1f3ffe102046" ], "x_capec_consequences": { "Availability": [ "Unreliable Execution", "Execute Unauthorized Commands (Run Arbitrary Code)" ], "Confidentiality": [ "Execute Unauthorized Commands (Run Arbitrary Code)" ], "Integrity": [ "Execute Unauthorized Commands (Run Arbitrary Code)" ] }, "x_capec_domains": [ "Software", "Software" ], "x_capec_example_instances": [ "Binary files like music and video files are appended with additional data to cause buffer overflow on target systems. Because these files may be filled with otherwise popular content, the adversary has an excellent vector for wide distribution. There have been numerous cases, for example of malicious screen savers for sports teams that are distributed on the event of the team winning a championship." ], "x_capec_execution_flow": "

Execution Flow

Explore

  1. Identify target software: The adversary identifies software that uses external binary files in some way. This could be a file upload, downloading a file from a shared location, or other means.

Experiment

  1. Find injection vector: The adversary creates a malicious binary file by altering the header to make the file seem shorter than it is. Additional bytes are added to the end of the file to be placed in the overflowed location. The adversary then deploys the file to the software to determine if a buffer overflow was successful.

  2. Craft overflow content: Once the adversary has determined that this attack is viable, they will specially craft the binary file in a way that achieves the desired behavior. If the source code is available, the adversary can carefully craft the malicious file so that the return address is overwritten to an intended value. If the source code is not available, the adversary will iteratively alter the file in order to overwrite the return address correctly.

  3. Techniques
    Create malicious shellcode that will execute when the program execution is returned to it.
    Use a NOP-sled in the overflow content to more easily \"slide\" into the malicious code. This is done so that the exact return address need not be correct, only in the range of all of the NOPs

Exploit

  1. Overflow the buffer: Once the adversary has constructed a file that will effectively overflow the targeted software in the intended way. The file is deployed to the software, either by serving it directly to the software or placing it in a shared location for a victim to load into the software.

", "x_capec_extended_description": "This attack pattern is a variant of standard buffer overflow attack using an unexpected vector (binary files) to wrap its attack and open up a new attack vector. The adversary is required to either directly serve the binary content to the victim, or place it in a locale like a MP3 sharing application for the victim to download. The adversary then is notified upon the download or otherwise locates the vulnerability opened up by the buffer overflow.", "x_capec_likelihood_of_attack": "High", "x_capec_prerequisites": [ "Target software processes binary resource files.", "Target software contains a buffer overflow vulnerability reachable through input from a user-controllable binary resource file." ], "x_capec_skills_required": { "Medium": "To modify file, deceive client into downloading, locate and exploit remote stack or heap vulnerability" }, "x_capec_status": "Draft", "x_capec_typical_severity": "Very High", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "Perform appropriate bounds checking on all buffers.", "id": "course-of-action--67074d87-d035-4907-8971-d22cf929a6a6", "modified": "2022-02-22T00:00:00.000Z", "name": "coa-44-0", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "course-of-action", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--158ab2a0-3900-4c6d-a6b8-f70b277abce5", "modified": "2022-02-22T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--67074d87-d035-4907-8971-d22cf929a6a6", "spec_version": "2.1", "target_ref": "attack-pattern--d3634072-88f9-4711-987f-6bff7698bd4c", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--fbdf6185-93ce-4ed8-b163-4441304d2cec", "modified": "2022-02-22T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--a4112a44-a0f9-4bde-bebe-74ed96c4cd3f", "spec_version": "2.1", "target_ref": "attack-pattern--d3634072-88f9-4711-987f-6bff7698bd4c", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "Design: Static code analysis", "id": "course-of-action--3522f721-ee24-4278-806a-1288b6ca7ce2", "modified": "2022-02-22T00:00:00.000Z", "name": "coa-44-2", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "course-of-action", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--cb1919fb-3b75-486e-9e5c-c0319ac4b906", "modified": "2022-02-22T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--3522f721-ee24-4278-806a-1288b6ca7ce2", "spec_version": "2.1", "target_ref": "attack-pattern--d3634072-88f9-4711-987f-6bff7698bd4c", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "Implementation: Execute program in less trusted process space environment, do not allow lower integrity processes to write to higher integrity processes", "id": "course-of-action--5c9cdf1e-85f9-47f9-9628-f55b7c41c408", "modified": "2022-02-22T00:00:00.000Z", "name": "coa-44-3", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "course-of-action", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--f0901a46-1e3d-454b-aabc-5d7a0983c5b6", "modified": "2022-02-22T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--5c9cdf1e-85f9-47f9-9628-f55b7c41c408", "spec_version": "2.1", "target_ref": "attack-pattern--d3634072-88f9-4711-987f-6bff7698bd4c", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "Implementation: Keep software patched to ensure that known vulnerabilities are not available for adversaries to target on host.", "id": "course-of-action--6562497d-b76d-498e-9fd1-7c599daf2346", "modified": "2022-02-22T00:00:00.000Z", "name": "coa-44-4", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "course-of-action", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--ec25c76a-d742-49a3-bd1e-bff659d7f1fe", "modified": "2022-02-22T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--6562497d-b76d-498e-9fd1-7c599daf2346", "spec_version": "2.1", "target_ref": "attack-pattern--d3634072-88f9-4711-987f-6bff7698bd4c", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "An adversary exploits a weakness in the system maintenance process and causes a change to be made to a technology, product, component, or sub-component or a new one installed during its deployed use at the victim location for the purpose of carrying out an attack.", "external_references": [ { "external_id": "CAPEC-440", "source_name": "capec", "url": "https://capec.mitre.org/data/definitions/440.html" }, { "description": "Supply Chain Compromise: Compromise Hardware Supply Chain", "external_id": "T1195.003", "source_name": "ATTACK", "url": "https://attack.mitre.org/wiki/Technique/T1195/003" }, { "description": "Hardware Additions", "external_id": "T1200", "source_name": "ATTACK", "url": "https://attack.mitre.org/wiki/Technique/T1200" } ], "id": "attack-pattern--7fd3928c-accb-4a35-ba64-000339399ede", "modified": "2022-09-29T00:00:00.000Z", "name": "Hardware Integrity Attack", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "attack-pattern", "x_capec_abstraction": "Meta", "x_capec_consequences": { "Integrity": [ "Execute Unauthorized Commands" ] }, "x_capec_domains": [ "Supply Chain", "Physical Security", "Hardware" ], "x_capec_likelihood_of_attack": "Low", "x_capec_parent_of_refs": [ "attack-pattern--fdf61d51-9432-47d3-9376-7cf51fc86176", "attack-pattern--a79f5cc6-781c-4e49-a00e-7aae93718f9e" ], "x_capec_prerequisites": [ "Influence over the deployed system at a victim location." ], "x_capec_status": "Stable", "x_capec_typical_severity": "High", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "An adversary installs or adds malicious logic (also known as malware) into a seemingly benign component of a fielded system. This logic is often hidden from the user of the system and works behind the scenes to achieve negative impacts. With the proliferation of mass digital storage and inexpensive multimedia devices, Bluetooth and 802.11 support, new attack vectors for spreading malware are emerging for things we once thought of as innocuous greeting cards, picture frames, or digital projectors. This pattern of attack focuses on systems already fielded and used in operation as opposed to systems and their components that are still under development and part of the supply chain.", "external_references": [ { "external_id": "CAPEC-441", "source_name": "capec", "url": "https://capec.mitre.org/data/definitions/441.html" }, { "external_id": "CWE-284", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/284.html" } ], "id": "attack-pattern--13b94aaa-9c95-487c-ad68-8c29d8ac0068", "modified": "2018-07-31T00:00:00.000Z", "name": "Malicious Logic Insertion", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "attack-pattern", "x_capec_abstraction": "Meta", "x_capec_consequences": { "Authorization": [ "Execute Unauthorized Commands" ] }, "x_capec_domains": [ "Software", "Hardware" ], "x_capec_likelihood_of_attack": "Medium", "x_capec_parent_of_refs": [ "attack-pattern--66112136-aa17-4300-aef8-d7a42ebc6e38", "attack-pattern--4cfba0b3-4740-49ae-bbb4-2dad27886239", "attack-pattern--dc05cb9b-00ae-4fd0-8743-b1fb507ea1d3" ], "x_capec_prerequisites": [ "Access to the component currently deployed at a victim location." ], "x_capec_status": "Stable", "x_capec_typical_severity": "High", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "An adversary adds malicious logic, often in the form of a computer virus, to otherwise benign software. This logic is often hidden from the user of the software and works behind the scenes to achieve negative impacts. Many times, the malicious logic is inserted into empty space between legitimate code, and is then called when the software is executed. This pattern of attack focuses on software already fielded and used in operation as opposed to software that is still under development and part of the supply chain.", "external_references": [ { "external_id": "CAPEC-442", "source_name": "capec", "url": "https://capec.mitre.org/data/definitions/442.html" }, { "external_id": "CWE-506", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/506.html" }, { "description": "Supply Chain Compromise: Compromise Software Dependencies and Development Tools", "external_id": "T1195.001", "source_name": "ATTACK", "url": "https://attack.mitre.org/wiki/Technique/T1195/001" }, { "description": "Supply Chain Compromise: Compromise Software Supply Chain", "external_id": "T1195.002", "source_name": "ATTACK", "url": "https://attack.mitre.org/wiki/Technique/T1195/002" }, { "description": "Marshall Brain, How Computer Viruses Work, 2007, MindPride", "external_id": "REF-387", "source_name": "reference_from_CAPEC", "url": "http://www.mindpride.net/root/Extras/how-stuff-works/how_computer_viruses_work.htm" } ], "id": "attack-pattern--66112136-aa17-4300-aef8-d7a42ebc6e38", "modified": "2023-01-24T00:00:00.000Z", "name": "Infected Software", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "attack-pattern", "x_capec_abstraction": "Standard", "x_capec_child_of_refs": [ "attack-pattern--13b94aaa-9c95-487c-ad68-8c29d8ac0068" ], "x_capec_consequences": { "Authorization": [ "Execute Unauthorized Commands" ] }, "x_capec_domains": [ "Software" ], "x_capec_likelihood_of_attack": "Medium", "x_capec_parent_of_refs": [ "attack-pattern--41a75729-839b-409f-88f6-1b0c0dc9286c" ], "x_capec_prerequisites": [ "Access to the software currently deployed at a victim location. This access is often obtained by leveraging another attack pattern to gain permissions that the adversary wouldn't normally have." ], "x_capec_status": "Stable", "x_capec_typical_severity": "High", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "Leverage anti-virus products to detect and quarantine software with known virus.", "id": "course-of-action--f021edf5-f2c1-49c5-b1b9-a07bd11d1aec", "modified": "2023-01-24T00:00:00.000Z", "name": "coa-442-0", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "course-of-action", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--ff60912c-64b2-4d71-8e26-1ddcf4130fd3", "modified": "2023-01-24T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--f021edf5-f2c1-49c5-b1b9-a07bd11d1aec", "spec_version": "2.1", "target_ref": "attack-pattern--66112136-aa17-4300-aef8-d7a42ebc6e38", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "An adversary uses their privileged position within an authorized development organization to inject malicious logic into a codebase or product.", "external_references": [ { "external_id": "CAPEC-443", "source_name": "capec", "url": "https://capec.mitre.org/data/definitions/443.html" }, { "description": "Supply Chain Compromise: Compromise Software Supply Chain", "external_id": "T1195.002", "source_name": "ATTACK", "url": "https://attack.mitre.org/wiki/Technique/T1195/002" }, { "description": "Supply Chain Compromise: Compromise Hardware Supply Chain", "external_id": "T1195.003", "source_name": "ATTACK", "url": "https://attack.mitre.org/wiki/Technique/T1195/003" }, { "description": "Jon Boyens, Angela Smith, Nadya Bartol, Kris Winkler, Alex Holbrook, Matthew Fallon, Cybersecurity Supply Chain Risk Management Practices for Systems and Organizations (2nd Draft), 2021--10---28, National Institute of Standards and Technology (NIST)", "external_id": "REF-379", "source_name": "reference_from_CAPEC", "url": "https://nvlpubs.nist.gov/nistpubs/SpecialPublications/NIST.SP.800-161r1-draft2.pdf" }, { "description": "Ax Sharma, Dev corrupts NPM libs 'colors' and 'faker' breaking thousands of apps, 2022--01---09, BleepingComputer", "external_id": "REF-704", "source_name": "reference_from_CAPEC", "url": "https://www.bleepingcomputer.com/news/security/dev-corrupts-npm-libs-colors-and-faker-breaking-thousands-of-apps/" }, { "description": "Alberto Pellitteri, Malicious modifications to open source projects affecting thousands, 2022--01---12, SysDig", "external_id": "REF-705", "source_name": "reference_from_CAPEC", "url": "https://sysdig.com/blog/malicious-modifications-detection-sysdig/" } ], "id": "attack-pattern--42fc0c14-a6f7-4839-978f-d1553f68f750", "modified": "2022-09-29T00:00:00.000Z", "name": "Malicious Logic Inserted Into Product by Authorized Developer", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "attack-pattern", "x_capec_abstraction": "Detailed", "x_capec_child_of_refs": [ "attack-pattern--efb74200-657d-438c-aaff-bbd9644dd72d" ], "x_capec_consequences": { "Authorization": [ "Execute Unauthorized Commands" ] }, "x_capec_domains": [ "Supply Chain", "Software", "Hardware" ], "x_capec_example_instances": [ "\n In January 2022 the author of popular JavaScript packages \"Faker\" and \"colors\", used for generating mock data and including colored text within NodeJS consoles respectively, introduced malicious code that resulted in a Denial of Service (DoS) via an infinite loop. When applications that leveraged these packages updated to the malicious version, their applications executed the infinite loop and output gibberish ASCI characters endlessly. This resulted in the application being unusable until a stable version of the package was obtained. [REF-705]\n ", "During initial development, an authorized hardware developer implants a malicious microcontroller within an Internet of Things (IOT) device and programs the microcontroller to communicate with the vulnerable device. Each time the device initializes, the malicious microcontroller's code is executed, which ultimately provides the adversary with backdoor access to the vulnerable device. This can further allow the adversary to sniff network traffic, exfiltrate date, execute unauthorized commands, and/or pivot to other vulnerable devices." ], "x_capec_extended_description": "\n Supply chain attacks from approved or trusted developers are extremely difficult to detect as it is generally assumed the quality control and internal security measures of these organizations conform to best practices. In some cases the malicious logic is intentional, embedded by a disgruntled employee, programmer, or individual with an otherwise hidden agenda. In other cases, the integrity of the product is compromised by accident (e.g. by lapse in the internal security of the organization that results in a product becoming contaminated). In further cases, the developer embeds a backdoor into a product to serve some purpose, such as product support, but discovery of the backdoor results in its malicious use by adversaries. It is also worth noting that this attack can occur during initial product development or throughout a product's sustainment.\n ", "x_capec_likelihood_of_attack": "Medium", "x_capec_prerequisites": [ "Access to the product during the initial or continuous development." ], "x_capec_status": "Stable", "x_capec_typical_severity": "High", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "Assess software and hardware during development and prior to deployment to ensure that it functions as intended and without any malicious functionality. This includes both initial development, as well as updates propagated to the product after deployment.", "id": "course-of-action--959db216-95a2-4c6c-abbb-16795259ad74", "modified": "2022-09-29T00:00:00.000Z", "name": "coa-443-0", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "course-of-action", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--6f5aad68-5c68-4086-b215-b6715a590d4b", "modified": "2022-09-29T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--959db216-95a2-4c6c-abbb-16795259ad74", "spec_version": "2.1", "target_ref": "attack-pattern--42fc0c14-a6f7-4839-978f-d1553f68f750", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "An adversary modifies a technology, product, or component during its development to acheive a negative impact once the system is deployed. The goal of the adversary is to modify the system in such a way that the negative impact can be leveraged when the system is later deployed. Development alteration attacks may include attacks that insert malicious logic into the system's software, modify or replace hardware components, and other attacks which negatively impact the system during development. These attacks generally require insider access to modify source code or to tamper with hardware components. The product is then delivered to the user where the negative impact can be leveraged at a later time.", "external_references": [ { "external_id": "CAPEC-444", "source_name": "capec", "url": "https://capec.mitre.org/data/definitions/444.html" } ], "id": "attack-pattern--efb74200-657d-438c-aaff-bbd9644dd72d", "modified": "2018-07-31T00:00:00.000Z", "name": "Development Alteration", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "attack-pattern", "x_capec_abstraction": "Standard", "x_capec_can_follow_refs": [ "attack-pattern--6ed35753-d365-4be2-a044-2fcc6e191b5a" ], "x_capec_child_of_refs": [ "attack-pattern--1339dbbe-fe41-467a-b43c-7d56d22a9fe4" ], "x_capec_consequences": { "Authorization": [ "Execute Unauthorized Commands" ], "Availability": [ "Unreliable Execution" ], "Integrity": [ "Alter Execution Logic" ] }, "x_capec_domains": [ "Supply Chain", "Software", "Hardware" ], "x_capec_likelihood_of_attack": "Medium", "x_capec_parent_of_refs": [ "attack-pattern--3c71639a-ebbd-43a4-8d0d-8a0e4cf9ade3", "attack-pattern--42fc0c14-a6f7-4839-978f-d1553f68f750", "attack-pattern--f7fd56fe-cc88-4200-907a-8ea3b89e1ddb", "attack-pattern--374de530-29f4-4e14-905f-809f8cae631d", "attack-pattern--5f69cd20-0000-4733-85d5-9bb2fdcaeb36", "attack-pattern--3129bca1-91e3-4ec0-a117-557c84d2a92c", "attack-pattern--a2328e82-460e-4de6-a459-7005de7befe4", "attack-pattern--51d000d6-11a0-461b-98e7-8550beac027b", "attack-pattern--7fb3fea4-e993-49f7-8c36-d58dd5038ad8", "attack-pattern--ca626464-877a-4f42-83b7-7451cfe71a38", "attack-pattern--bfb711d6-f12d-496e-88b9-2c0184485976", "attack-pattern--14ed805a-65a4-45c2-8e4e-626f22226465", "attack-pattern--2150c989-e9a0-4aef-8019-8d60f6fcaeeb", "attack-pattern--a7061d3b-6f93-440d-8b0d-4078e80eef88", "attack-pattern--d0a5a641-ba5e-4bd6-8a06-addfa4d03cfb" ], "x_capec_prerequisites": [ "Access to the system during the development phase to alter and/or modify software and hardware components. This access is often obtained via insider access or by leveraging another attack pattern to gain permissions that the adversary wouldn't normally have." ], "x_capec_status": "Stable", "x_capec_typical_severity": "High", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "Assess software and software components during development and prior to deployment to ensure that they function as intended and without any malicious functionality.", "id": "course-of-action--d8829b7c-69b5-4edf-8446-07f8efda3255", "modified": "2018-07-31T00:00:00.000Z", "name": "coa-444-0", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "course-of-action", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--3f05e05a-2eec-4147-a5b0-18b6c29ec5da", "modified": "2018-07-31T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--d8829b7c-69b5-4edf-8446-07f8efda3255", "spec_version": "2.1", "target_ref": "attack-pattern--efb74200-657d-438c-aaff-bbd9644dd72d", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "\n An adversary exploits a configuration management system so that malicious logic is inserted into a software products build, update or deployed environment. If an adversary can control the elements included in a product's configuration management for build they can potentially replace, modify or insert code files containing malicious logic. If an adversary can control elements of a product's ongoing operational configuration management baseline they can potentially force clients receiving updates from the system to install insecure software when receiving updates from the server.\n ", "external_references": [ { "external_id": "CAPEC-445", "source_name": "capec", "url": "https://capec.mitre.org/data/definitions/445.html" }, { "description": "Supply Chain Compromise: Compromise Software Dependencies and Development Tools", "external_id": "T1195.001", "source_name": "ATTACK", "url": "https://attack.mitre.org/wiki/Technique/T1195/001" }, { "description": "Jon Boyens, Angela Smith, Nadya Bartol, Kris Winkler, Alex Holbrook, Matthew Fallon, Cybersecurity Supply Chain Risk Management Practices for Systems and Organizations (2nd Draft), 2021--10---28, National Institute of Standards and Technology (NIST)", "external_id": "REF-379", "source_name": "reference_from_CAPEC", "url": "https://nvlpubs.nist.gov/nistpubs/SpecialPublications/NIST.SP.800-161r1-draft2.pdf" }, { "description": "Chef Manage deserializes cookie data insecurely, 2016--05---17, Carnegie Mellon University", "external_id": "REF-706", "source_name": "reference_from_CAPEC", "url": "https://www.kb.cert.org/vuls/id/586503" } ], "id": "attack-pattern--f7fd56fe-cc88-4200-907a-8ea3b89e1ddb", "modified": "2022-09-29T00:00:00.000Z", "name": "Malicious Logic Insertion into Product Software via Configuration Management Manipulation", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "attack-pattern", "x_capec_abstraction": "Detailed", "x_capec_child_of_refs": [ "attack-pattern--efb74200-657d-438c-aaff-bbd9644dd72d" ], "x_capec_consequences": { "Authorization": [ "Execute Unauthorized Commands" ] }, "x_capec_domains": [ "Supply Chain", "Software" ], "x_capec_example_instances": [ "\n In 2016, the policy-based configuration management system Chef was shown to be vulnerable to remote code execution attacks based on its Chef Manage add-on improperly deserializing user-driven cookie data. This allowed unauthenticated users the ability to craft cookie data that executed arbitrary code with the web server's privileges. [REF-706]\n " ], "x_capec_extended_description": "\n Configuration management servers operate on the basis of a client pool, instructing each client on which software to install. In some cases the configuration management server will automate the software installation process. A malicious insider or an adversary who has compromised the server can alter the software baseline that clients must install, allowing the adversary to compromise a large number of satellite machines using the configuration management system. If an adversary can control elements of a product's configuration management for its deployed environment they can potentially alter fundamental security properties of the system based on assumptions that secure configurations are in place. It is also worth noting that this attack can occur during initial product development or throughout a product's sustainment.\n ", "x_capec_likelihood_of_attack": "Medium", "x_capec_prerequisites": [ "Access to the configuration management system during deployment or currently deployed at a victim location. This access is often obtained via insider access or by leveraging another attack pattern to gain permissions that the adversary wouldn't normally have." ], "x_capec_status": "Stable", "x_capec_typical_severity": "High", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "Assess software during development and prior to deployment to ensure that it functions as intended and without any malicious functionality.", "id": "course-of-action--aa94cc6d-559e-4d78-ac28-7d751abed25b", "modified": "2022-09-29T00:00:00.000Z", "name": "coa-445-0", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "course-of-action", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--8b2e787f-2034-4a16-8515-37dddac4930a", "modified": "2022-09-29T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--aa94cc6d-559e-4d78-ac28-7d751abed25b", "spec_version": "2.1", "target_ref": "attack-pattern--f7fd56fe-cc88-4200-907a-8ea3b89e1ddb", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--e626d148-d65c-4d3a-b600-e59852d41f84", "modified": "2022-09-29T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--f021edf5-f2c1-49c5-b1b9-a07bd11d1aec", "spec_version": "2.1", "target_ref": "attack-pattern--f7fd56fe-cc88-4200-907a-8ea3b89e1ddb", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "\n An adversary conducts supply chain attacks by the inclusion of insecure third-party components into a technology, product, or code-base, possibly packaging a malicious driver or component along with the product before shipping it to the consumer or acquirer.\n ", "external_references": [ { "external_id": "CAPEC-446", "source_name": "capec", "url": "https://capec.mitre.org/data/definitions/446.html" }, { "description": "Supply Chain Compromise", "external_id": "T1195", "source_name": "ATTACK", "url": "https://attack.mitre.org/wiki/Technique/T1195" }, { "description": "Jon Boyens, Angela Smith, Nadya Bartol, Kris Winkler, Alex Holbrook, Matthew Fallon, Cybersecurity Supply Chain Risk Management Practices for Systems and Organizations (2nd Draft), 2021--10---28, National Institute of Standards and Technology (NIST)", "external_id": "REF-379", "source_name": "reference_from_CAPEC", "url": "https://nvlpubs.nist.gov/nistpubs/SpecialPublications/NIST.SP.800-161r1-draft2.pdf" }, { "description": "Thomas Brewster, How Lenovo's Superfish 'Malware' Works And What You Can Do To Kill It, 2015--02---19, Forbes", "external_id": "REF-707", "source_name": "reference_from_CAPEC", "url": "https://www.forbes.com/sites/thomasbrewster/2015/02/19/superfish-need-to-know/?sh=991ab8c38776" }, { "description": "Dan Goodin, Lenovo PCs ship with man-in-the-middle adware that breaks HTTPS connections, 2015--02---19, Ars Technica", "external_id": "REF-708", "source_name": "reference_from_CAPEC", "url": "https://arstechnica.com/information-technology/2015/02/lenovo-pcs-ship-with-man-in-the-middle-adware-that-breaks-https-connections/" }, { "description": "Rob Graham, Extracting the SuperFish certificate, 2015--02---19, Errata Security", "external_id": "REF-709", "source_name": "reference_from_CAPEC", "url": "https://blog.erratasec.com/2015/02/extracting-superfish-certificate.html#.VOX5Ky57RqE" }, { "description": "Jordan Robertson, Michael Riley, The Big Hack: How China Used a Tiny Chip to Infiltrate U.S. Companies, 2018--10---04, Bloomberg", "external_id": "REF-713", "source_name": "reference_from_CAPEC", "url": "https://www.bloomberg.com/news/features/2018-10-04/the-big-hack-how-china-used-a-tiny-chip-to-infiltrate-america-s-top-companies" } ], "id": "attack-pattern--374de530-29f4-4e14-905f-809f8cae631d", "modified": "2022-09-29T00:00:00.000Z", "name": "Malicious Logic Insertion into Product via Inclusion of Third-Party Component", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "attack-pattern", "x_capec_abstraction": "Detailed", "x_capec_child_of_refs": [ "attack-pattern--efb74200-657d-438c-aaff-bbd9644dd72d" ], "x_capec_consequences": { "Authorization": [ "Execute Unauthorized Commands" ] }, "x_capec_domains": [ "Supply Chain", "Software", "Hardware" ], "x_capec_example_instances": [ "\n From mid-2014 to early 2015, Lenovo computers were shipped with the Superfish Visual Search software that ultimately functioned as adware on the system. The Visual Search installation included a self-signed root HTTPS certificate that was able to intercept encrypted traffic for any site visited by the user. Of more concern was the fact that the certificate's corresponding private key was the same for every Lenovo machine. Once the private key was discovered [REF-709], an adversary could then conduct an Adversary-in-the-Middle (AitM) attack that would go undetected by machines that had this certificate installed on it. Adversaries could then masquerade as legitimate entities such as financial institutions, popular corporations, or other secure destinations on the Internet. [REF-708]\n ", "\n In 2018 it was discovered that Chinese spies infiltrated several U.S. government agencies and corporations as far back as 2015 by including a malicious microchip within the motherboard of servers sold by Elemental Technologies to the victims. Although these servers were assembled via a U.S. based company, the motherboards used within the servers were manufactured and maliciously altered via a Chinese subcontractor. Elemental Technologies then sold these malicious servers to various U.S. government agencies, such as the DoD and CIA, and corporations like Amazon and Apple. The malicious microchip provided adversaries with a backdoor into the system, which further allowed them to access any network that contained the exploited systems, to exfiltrate data to be sent to the Chinese government.[REF-713]\n " ], "x_capec_extended_description": "\n The result is a window of opportunity for exploiting the product until the insecure component is discovered. This supply chain threat can result in the installation of malicious software or hardware that introduces widespread security vulnerabilities within an organization. Additionally, because software often depends upon a large number of interdependent libraries and components to be present, security holes can be introduced merely by installing Commercial off the Shelf (COTS) or Open Source Software (OSS) software that comes pre-packaged with the components required for it to operate. It is also worth noting that this attack can occur during initial product development or throughout a product's sustainment.\n ", "x_capec_likelihood_of_attack": "Medium", "x_capec_prerequisites": [ "Access to the product during the initial or continuous development. This access is often obtained via insider access to include the third-party component after deployment." ], "x_capec_status": "Stable", "x_capec_typical_severity": "High", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--6a471245-bafa-4239-b3da-e58e7488d129", "modified": "2022-09-29T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--959db216-95a2-4c6c-abbb-16795259ad74", "spec_version": "2.1", "target_ref": "attack-pattern--374de530-29f4-4e14-905f-809f8cae631d", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "Don't assume popular third-party components are free from malware or vulnerabilities. For software, assess for malicious functionality via update/commit reviews or automated static/dynamic analysis prior to including the component within the application and deploying in a production environment.", "id": "course-of-action--1b041562-6f87-4aa3-94d2-6cc9b68a540f", "modified": "2022-09-29T00:00:00.000Z", "name": "coa-446-1", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "course-of-action", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--d3109571-f239-4195-af76-8ba87f02afce", "modified": "2022-09-29T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--1b041562-6f87-4aa3-94d2-6cc9b68a540f", "spec_version": "2.1", "target_ref": "attack-pattern--374de530-29f4-4e14-905f-809f8cae631d", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "An adversary modifies the design of a technology, product, or component to acheive a negative impact once the system is deployed. In this type of attack, the goal of the adversary is to modify the design of the system, prior to development starting, in such a way that the negative impact can be leveraged when the system is later deployed. Design alteration attacks differ from development alteration attacks in that design alteration attacks take place prior to development and which then may or may not be developed by the adverary. Design alteration attacks include modifying system designs to degrade system performance, cause unexpected states or errors, and general design changes that may lead to additional vulnerabilities. These attacks generally require insider access to modify design documents, but they may also be spoofed via web communications. The product is then developed and delivered to the user where the negative impact can be leveraged at a later time.", "external_references": [ { "external_id": "CAPEC-447", "source_name": "capec", "url": "https://capec.mitre.org/data/definitions/447.html" } ], "id": "attack-pattern--cf550376-63ac-4b46-87d1-0e324c1c1c46", "modified": "2021-06-24T00:00:00.000Z", "name": "Design Alteration", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "attack-pattern", "x_capec_abstraction": "Standard", "x_capec_child_of_refs": [ "attack-pattern--1339dbbe-fe41-467a-b43c-7d56d22a9fe4" ], "x_capec_consequences": { "Authorization": [ "Execute Unauthorized Commands" ], "Availability": [ "Unreliable Execution" ], "Integrity": [ "Alter Execution Logic" ] }, "x_capec_domains": [ "Supply Chain", "Hardware" ], "x_capec_likelihood_of_attack": "Medium", "x_capec_parent_of_refs": [ "attack-pattern--8e564ade-17a8-471e-8e2a-4dd2d556ecd2", "attack-pattern--5f0e5e3b-6889-4583-81ec-5afecbd6765e", "attack-pattern--3c33e08a-3a4e-4e0f-ae80-6399f6272db7", "attack-pattern--57b78312-1077-4e31-b3a2-5efb96a6c817", "attack-pattern--5af917a8-becc-41ec-9053-6976a9da5b28", "attack-pattern--fcd0d50b-dab4-435d-859e-19514b4e646e" ], "x_capec_prerequisites": [ "Access to system design documentation prior to the development phase. This access is often obtained via insider access or by leveraging another attack pattern to gain permissions that the adversary wouldn't normally have.", "Ability to forge web communications to deliver modified design documentation." ], "x_capec_status": "Stable", "x_capec_typical_severity": "High", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "Assess design documentation prior to development to ensure that they function as intended and without any malicious functionality.", "id": "course-of-action--e68b1c60-e63a-4c2f-bc78-1be3494a0031", "modified": "2021-06-24T00:00:00.000Z", "name": "coa-447-0", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "course-of-action", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--a78cd3b8-5b83-473a-a2b9-a4f2f8eb4a52", "modified": "2021-06-24T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--e68b1c60-e63a-4c2f-bc78-1be3494a0031", "spec_version": "2.1", "target_ref": "attack-pattern--cf550376-63ac-4b46-87d1-0e324c1c1c46", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "Ensure that design documentation is saved in a secure location and has proper access controls set in place to avoid unnecessary modification.", "id": "course-of-action--a24db5bc-0875-48f1-b156-cd237ebeddad", "modified": "2021-06-24T00:00:00.000Z", "name": "coa-447-1", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "course-of-action", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--54127afd-7b03-4cb6-b49b-ae02838e829c", "modified": "2021-06-24T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--a24db5bc-0875-48f1-b156-cd237ebeddad", "spec_version": "2.1", "target_ref": "attack-pattern--cf550376-63ac-4b46-87d1-0e324c1c1c46", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "An adversary tampers with a DLL and embeds a computer virus into gaps between legitimate machine instructions. These gaps may be the result of compiler optimizations that pad memory blocks for performance gains. The embedded virus then attempts to infect any machine which interfaces with the product, and possibly steal private data or eavesdrop.", "external_references": [ { "external_id": "CAPEC-448", "source_name": "capec", "url": "https://capec.mitre.org/data/definitions/448.html" }, { "external_id": "CWE-506", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/506.html" }, { "description": "Obfuscated Files or Information: Embedded Payloads", "external_id": "T1027.009", "source_name": "ATTACK", "url": "https://attack.mitre.org/wiki/Technique/T1027/009" } ], "id": "attack-pattern--41a75729-839b-409f-88f6-1b0c0dc9286c", "modified": "2023-01-24T00:00:00.000Z", "name": "Embed Virus into DLL", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "attack-pattern", "x_capec_abstraction": "Detailed", "x_capec_child_of_refs": [ "attack-pattern--66112136-aa17-4300-aef8-d7a42ebc6e38" ], "x_capec_consequences": { "Authorization": [ "Execute Unauthorized Commands" ] }, "x_capec_domains": [ "Software" ], "x_capec_likelihood_of_attack": "Medium", "x_capec_prerequisites": [ "Access to the software currently deployed at a victim location. This access is often obtained by leveraging another attack pattern to gain permissions that the adversary wouldn't normally have." ], "x_capec_status": "Stable", "x_capec_typical_severity": "High", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--f0abd6ec-3ef1-4bad-88ac-615c6674b4d5", "modified": "2023-01-24T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--f021edf5-f2c1-49c5-b1b9-a07bd11d1aec", "spec_version": "2.1", "target_ref": "attack-pattern--41a75729-839b-409f-88f6-1b0c0dc9286c", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "This attack pattern has been deprecated as it is a duplicate of CAPEC-448 : Malware Infection into Product Software. Please refer to this other pattern going forward.", "external_references": [ { "external_id": "CAPEC-449", "source_name": "capec", "url": "https://capec.mitre.org/data/definitions/449.html" } ], "id": "attack-pattern--3a127c86-c569-4de3-a328-1c1b45a9f986", "modified": "2017-05-01T00:00:00.000Z", "name": "DEPRECATED: Malware Propagation via USB Stick", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "attack-pattern", "x_capec_abstraction": "Detailed", "x_capec_status": "Deprecated", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "This type of attack leverages the use of symbolic links to cause buffer overflows. An adversary can try to create or manipulate a symbolic link file such that its contents result in out of bounds data. When the target software processes the symbolic link file, it could potentially overflow internal buffers with insufficient bounds checking.", "external_references": [ { "external_id": "CAPEC-45", "source_name": "capec", "url": "https://capec.mitre.org/data/definitions/45.html" }, { "external_id": "CWE-120", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/120.html" }, { "external_id": "CWE-285", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/285.html" }, { "external_id": "CWE-302", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/302.html" }, { "external_id": "CWE-118", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/118.html" }, { "external_id": "CWE-119", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/119.html" }, { "external_id": "CWE-74", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/74.html" }, { "external_id": "CWE-20", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/20.html" }, { "external_id": "CWE-680", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/680.html" }, { "external_id": "CWE-697", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/697.html" }, { "description": "G. Hoglund, G. McGraw, Exploiting Software: How to Break Code, 2004--02, Addison-Wesley", "external_id": "REF-1", "source_name": "reference_from_CAPEC" } ], "id": "attack-pattern--5d5ff43b-cbe7-4986-bfec-cf979f97e6b9", "modified": "2022-09-29T00:00:00.000Z", "name": "Buffer Overflow via Symbolic Links", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "attack-pattern", "x_capec_abstraction": "Detailed", "x_capec_child_of_refs": [ "attack-pattern--77e51461-7843-411c-a90e-852498957f76" ], "x_capec_consequences": { "Availability": [ "Unreliable Execution", "Execute Unauthorized Commands (Run Arbitrary Code)" ], "Confidentiality": [ "Execute Unauthorized Commands (Run Arbitrary Code)", "Read Data" ], "Integrity": [ "Execute Unauthorized Commands (Run Arbitrary Code)", "Modify Data" ] }, "x_capec_domains": [ "Software" ], "x_capec_example_instances": [ "\n The EFTP server has a buffer overflow that can be exploited if an adversary uploads a .lnk (link) file that contains more than 1,744 bytes. This is a classic example of an indirect buffer overflow. First the adversary uploads some content (the link file) and then the adversary causes the client consuming the data to be exploited. In this example, the ls command is exploited to compromise the server software.\n " ], "x_capec_execution_flow": "

Execution Flow

Explore

  1. Identify target application: The adversary identifies a target application or program that might load in certain files to memory.

Experiment

  1. Find injection vector: The adversary identifies an injection vector to deliver the excessive content to the targeted application's buffer.

  2. Techniques
    The adversary creates or modifies a symbolic link pointing to those files which contain an excessive amount of data. If creating a symbolic link to one of those files causes different behavior in the application, then an injection vector has been identified.
  3. Craft overflow file content: The adversary crafts the content to be injected. If the intent is to simply cause the software to crash, the content need only consist of an excessive quantity of random data. If the intent is to leverage the overflow for execution of arbitrary code, the adversary crafts the payload in such a way that the overwritten return address is replaced with one of the adversary's choosing.

  4. Techniques
    Create malicious shellcode that will execute when the program execution is returned to it.
    Use a NOP-sled in the overflow content to more easily \"slide\" into the malicious code. This is done so that the exact return address need not be correct, only in the range of all of the NOPs

Exploit

  1. Overflow the buffer: Using the specially crafted file content, the adversary creates a symbolic link from the identified resource to the malicious file, causing a targeted buffer overflow attack.

", "x_capec_likelihood_of_attack": "High", "x_capec_prerequisites": [ "The adversary can create symbolic link on the target host.", "The target host does not perform correct boundary checking while consuming data from a resources." ], "x_capec_skills_required": { "High": "Exploiting a buffer overflow to inject malicious code into the stack of a software system or even the heap can require a higher skill level.", "Low": "An adversary can simply overflow a buffer by inserting a long string into an adversary-modifiable injection vector. The result can be a DoS." }, "x_capec_status": "Draft", "x_capec_typical_severity": "High", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "Pay attention to the fact that the resource you read from can be a replaced by a Symbolic link. You can do a Symlink check before reading the file and decide that this is not a legitimate way of accessing the resource.", "id": "course-of-action--ae175d98-2ef9-4f9b-a6e5-bdcd283fca9d", "modified": "2022-09-29T00:00:00.000Z", "name": "coa-45-0", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "course-of-action", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--ecde6069-c1c7-4e95-bfbf-8d888d1da15e", "modified": "2022-09-29T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--ae175d98-2ef9-4f9b-a6e5-bdcd283fca9d", "spec_version": "2.1", "target_ref": "attack-pattern--5d5ff43b-cbe7-4986-bfec-cf979f97e6b9", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "Because Symlink can be modified by an adversary, make sure that the ones you read are located in protected directories.", "id": "course-of-action--0f87d25c-d219-4247-a96c-10364d611d0b", "modified": "2022-09-29T00:00:00.000Z", "name": "coa-45-1", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "course-of-action", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--c08d081e-5bc2-4eeb-bef2-5280baed888e", "modified": "2022-09-29T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--0f87d25c-d219-4247-a96c-10364d611d0b", "spec_version": "2.1", "target_ref": "attack-pattern--5d5ff43b-cbe7-4986-bfec-cf979f97e6b9", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "Pay attention to the resource pointed to by your symlink links (See attack pattern named \"Forced Symlink race\"), they can be replaced by malicious resources.", "id": "course-of-action--768e67b2-6609-4e58-b9e6-e321bd213b74", "modified": "2022-09-29T00:00:00.000Z", "name": "coa-45-2", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "course-of-action", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--7d781109-18f4-4057-a1b2-2d53e821b317", "modified": "2022-09-29T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--768e67b2-6609-4e58-b9e6-e321bd213b74", "spec_version": "2.1", "target_ref": "attack-pattern--5d5ff43b-cbe7-4986-bfec-cf979f97e6b9", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "Always check the size of the input data before copying to a buffer.", "id": "course-of-action--5c0f30c8-59bc-4ff2-91c7-ca8f4bd5d374", "modified": "2022-09-29T00:00:00.000Z", "name": "coa-45-3", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "course-of-action", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--7487759c-c682-45d9-b902-871361800f52", "modified": "2022-09-29T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--5c0f30c8-59bc-4ff2-91c7-ca8f4bd5d374", "spec_version": "2.1", "target_ref": "attack-pattern--5d5ff43b-cbe7-4986-bfec-cf979f97e6b9", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--9762e554-038f-4527-b000-3e8e0d78fe26", "modified": "2022-09-29T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--a253c485-f225-4dd3-b0ba-dbe4b29fa134", "spec_version": "2.1", "target_ref": "attack-pattern--5d5ff43b-cbe7-4986-bfec-cf979f97e6b9", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--6ce42f28-5f2d-4b83-8daf-869c4145268e", "modified": "2022-09-29T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--286c9aaa-2118-48dc-bce6-6e3f41adc043", "spec_version": "2.1", "target_ref": "attack-pattern--5d5ff43b-cbe7-4986-bfec-cf979f97e6b9", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--71106318-5e06-4db7-b209-bbf30b0020fb", "modified": "2022-09-29T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--115171ef-9f32-43b6-bb8a-49f0a78286e9", "spec_version": "2.1", "target_ref": "attack-pattern--5d5ff43b-cbe7-4986-bfec-cf979f97e6b9", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--84ae2ea4-df85-4853-b1f2-319992648876", "modified": "2022-09-29T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--b8955156-d3d6-4db5-bc3b-595bda29964b", "spec_version": "2.1", "target_ref": "attack-pattern--5d5ff43b-cbe7-4986-bfec-cf979f97e6b9", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "This attack pattern has been deprecated as it is a duplicate of CAPEC-448 : Embed Virus into DLL. Please refer to this other pattern going forward.", "external_references": [ { "external_id": "CAPEC-450", "source_name": "capec", "url": "https://capec.mitre.org/data/definitions/450.html" } ], "id": "attack-pattern--1c4b22ea-6dfc-4a95-917e-a7f11f3d34eb", "modified": "2022-09-29T00:00:00.000Z", "name": "DEPRECATED: Malware Propagation via USB U3 Autorun", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "attack-pattern", "x_capec_abstraction": "Standard", "x_capec_status": "Deprecated", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "This attack pattern has been deprecated as it is a duplicate of CAPEC-448 : Malware Infection into Product Software. Please refer to this other pattern going forward.", "external_references": [ { "external_id": "CAPEC-451", "source_name": "capec", "url": "https://capec.mitre.org/data/definitions/451.html" } ], "id": "attack-pattern--64076ab3-d972-4688-b46b-76627923a8a0", "modified": "2018-07-31T00:00:00.000Z", "name": "DEPRECATED: Malware Propagation via Infected Peripheral Device", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "attack-pattern", "x_capec_abstraction": "Detailed", "x_capec_status": "Deprecated", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "An adversary inserts malicious logic into hardware, typically in the form of a computer virus or rootkit. This logic is often hidden from the user of the hardware and works behind the scenes to achieve negative impacts. This pattern of attack focuses on hardware already fielded and used in operation as opposed to hardware that is still under development and part of the supply chain.", "external_references": [ { "external_id": "CAPEC-452", "source_name": "capec", "url": "https://capec.mitre.org/data/definitions/452.html" } ], "id": "attack-pattern--4cfba0b3-4740-49ae-bbb4-2dad27886239", "modified": "2023-01-24T00:00:00.000Z", "name": "Infected Hardware", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "attack-pattern", "x_capec_abstraction": "Standard", "x_capec_child_of_refs": [ "attack-pattern--13b94aaa-9c95-487c-ad68-8c29d8ac0068" ], "x_capec_consequences": { "Authorization": [ "Execute Unauthorized Commands" ] }, "x_capec_domains": [ "Software", "Hardware" ], "x_capec_likelihood_of_attack": "Medium", "x_capec_parent_of_refs": [ "attack-pattern--92df4967-ec90-4dc6-a8da-739892e850a4" ], "x_capec_prerequisites": [ "Access to the hardware currently deployed at a victim location." ], "x_capec_status": "Stable", "x_capec_typical_severity": "High", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "This attack pattern has been deprecated as it is a duplicate of CAPEC-452 : Malicious Logic Insertion into Product Hardware. Please refer to this other pattern going forward.", "external_references": [ { "external_id": "CAPEC-453", "source_name": "capec", "url": "https://capec.mitre.org/data/definitions/453.html" } ], "id": "attack-pattern--a2eaa5c4-8d21-414a-9d49-08667f4c6427", "modified": "2017-05-01T00:00:00.000Z", "name": "DEPRECATED: Malicious Logic Insertion via Counterfeit Hardware", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "attack-pattern", "x_capec_abstraction": "Standard", "x_capec_status": "Deprecated", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "This attack pattern has been deprecated as it is a duplicate of CAPEC-452 : Malicious Logic Insertion into Product Hardware. Please refer to this other pattern going forward.", "external_references": [ { "external_id": "CAPEC-454", "source_name": "capec", "url": "https://capec.mitre.org/data/definitions/454.html" } ], "id": "attack-pattern--c18bf62a-4419-4606-9dbe-03ab63873b60", "modified": "2017-05-01T00:00:00.000Z", "name": "DEPRECATED: Modification of Existing Components with Counterfeit Hardware", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "attack-pattern", "x_capec_abstraction": "Detailed", "x_capec_status": "Deprecated", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "This attack pattern has been deprecated as it is a duplicate of CAPEC-457 : Malicious Logic Insertion into Product Hardware. Please refer to this other pattern going forward.", "external_references": [ { "external_id": "CAPEC-455", "source_name": "capec", "url": "https://capec.mitre.org/data/definitions/455.html" } ], "id": "attack-pattern--55c6c2d2-1850-4263-97eb-e47c9b9a7a4b", "modified": "2017-05-01T00:00:00.000Z", "name": "DEPRECATED: Malicious Logic Insertion via Inclusion of Counterfeit Hardware Components", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "attack-pattern", "x_capec_abstraction": "Detailed", "x_capec_status": "Deprecated", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "An adversary inserts malicious logic into memory enabling them to achieve a negative impact. This logic is often hidden from the user of the system and works behind the scenes to achieve negative impacts. This pattern of attack focuses on systems already fielded and used in operation as opposed to systems that are still under development and part of the supply chain.", "external_references": [ { "external_id": "CAPEC-456", "source_name": "capec", "url": "https://capec.mitre.org/data/definitions/456.html" }, { "external_id": "CWE-1257", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/1257.html" }, { "external_id": "CWE-1260", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/1260.html" }, { "external_id": "CWE-1274", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/1274.html" }, { "external_id": "CWE-1312", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/1312.html" }, { "external_id": "CWE-1316", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/1316.html" } ], "id": "attack-pattern--dc05cb9b-00ae-4fd0-8743-b1fb507ea1d3", "modified": "2023-01-24T00:00:00.000Z", "name": "Infected Memory", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "attack-pattern", "x_capec_abstraction": "Standard", "x_capec_child_of_refs": [ "attack-pattern--13b94aaa-9c95-487c-ad68-8c29d8ac0068" ], "x_capec_consequences": { "Authorization": [ "Execute Unauthorized Commands" ] }, "x_capec_domains": [ "Software", "Hardware" ], "x_capec_example_instances": [ "A USB Memory stick has malicious logic inserted before shipping of the product allowing for infection of the host machine once inserted into the USB port.", "In 2007, approximately 1800 of Seagate's Maxtor Personal Storage 3200 drives were built under contract with an outside manufacturer and contained a virus that stole user passwords." ], "x_capec_likelihood_of_attack": "Medium", "x_capec_parent_of_refs": [ "attack-pattern--a55491b8-b521-44f4-a905-a6ed82b8e7e8", "attack-pattern--96c60498-fdd4-4f9f-a21f-c1a4ee84f0f3" ], "x_capec_status": "Stable", "x_capec_typical_severity": "High", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "Leverage anti-virus products to detect stop operations with known virus.", "id": "course-of-action--654febd1-834c-4c6b-b928-85c97bbf9150", "modified": "2023-01-24T00:00:00.000Z", "name": "coa-456-0", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "course-of-action", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--66815cc1-00b2-4e7e-b397-ae5fb384441e", "modified": "2023-01-24T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--654febd1-834c-4c6b-b928-85c97bbf9150", "spec_version": "2.1", "target_ref": "attack-pattern--dc05cb9b-00ae-4fd0-8743-b1fb507ea1d3", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "An adversary loads malicious code onto a USB memory stick in order to infect any system which the device is plugged in to. USB drives present a significant security risk for business and government agencies. Given the ability to integrate wireless functionality into a USB stick, it is possible to design malware that not only steals confidential data, but sniffs the network, or monitor keystrokes, and then exfiltrates the stolen data off-site via a Wireless connection. Also, viruses can be transmitted via the USB interface without the specific use of a memory stick. The attacks from USB devices are often of such sophistication that experts conclude they are not the work of single individuals, but suggest state sponsorship. These attacks can be performed by an adversary with direct access to a target system or can be executed via means such as USB Drop Attacks.", "external_references": [ { "external_id": "CAPEC-457", "source_name": "capec", "url": "https://capec.mitre.org/data/definitions/457.html" }, { "external_id": "CWE-1299", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/1299.html" }, { "description": "Replication Through Removable Media", "external_id": "T1091", "source_name": "ATTACK", "url": "https://attack.mitre.org/wiki/Technique/T1091" }, { "description": "Communication Through Removable Media", "external_id": "T1092", "source_name": "ATTACK", "url": "https://attack.mitre.org/wiki/Technique/T1092" }, { "description": "Jon Boyens, Angela Smith, Nadya Bartol, Kris Winkler, Alex Holbrook, Matthew Fallon, Cybersecurity Supply Chain Risk Management Practices for Systems and Organizations (2nd Draft), 2021--10---28, National Institute of Standards and Technology (NIST)", "external_id": "REF-379", "source_name": "reference_from_CAPEC", "url": "https://nvlpubs.nist.gov/nistpubs/SpecialPublications/NIST.SP.800-161r1-draft2.pdf" } ], "id": "attack-pattern--a55491b8-b521-44f4-a905-a6ed82b8e7e8", "modified": "2023-01-24T00:00:00.000Z", "name": "USB Memory Attacks", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "attack-pattern", "x_capec_abstraction": "Detailed", "x_capec_can_precede_refs": [ "attack-pattern--6f7f4589-3abb-4aa8-ac80-1a6715d75a8b" ], "x_capec_child_of_refs": [ "attack-pattern--dc05cb9b-00ae-4fd0-8743-b1fb507ea1d3" ], "x_capec_domains": [ "Software", "Hardware" ], "x_capec_execution_flow": "

Execution Flow

Explore

  1. Determine Target System: In certain cases, the adversary will explore an organization's network to determine a specific target machine to exploit based on the information it contains or privileges the main user may possess.

  2. Techniques
    If needed, the adversary explores an organization's network to determine if any specific systems of interest exist.

Experiment

  1. Develop or Obtain malware and install on a USB device: The adversary develops or obtains the malicious software necessary to exploit the target system, which they then install on an external USB device such as a USB flash drive.

  2. Techniques
    The adversary can develop or obtain malware for to perform a variety of tasks such as sniffing network traffic or monitoring keystrokes.

Exploit

  1. Connect or deceive a user into connecting the infected USB device: Once the malware has been placed on an external USB device, the adversary connects the device to the target system or deceives a user into connecting the device to the target system such as in a USB Drop Attack.

  2. Techniques
    The adversary connects the USB device to a specified target system or performs a USB Drop Attack, hoping a user will find and connect the USB device on their own. Once the device is connected, the malware executes giving the adversary access to network traffic, credentials, etc.
", "x_capec_likelihood_of_attack": "Low", "x_capec_prerequisites": [ "Some level of physical access to the device being attacked.", "Information pertaining to the target organization on how to best execute a USB Drop Attack." ], "x_capec_status": "Draft", "x_capec_typical_severity": "High", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "Ensure that proper, physical system access is regulated to prevent an adversary from physically connecting a malicious USB device themself.", "id": "course-of-action--28a045ca-1d19-4806-8fe8-289661aa8f3d", "modified": "2023-01-24T00:00:00.000Z", "name": "coa-457-0", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "course-of-action", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--1223d74f-6652-40ea-92ee-4f1a2c91d676", "modified": "2023-01-24T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--28a045ca-1d19-4806-8fe8-289661aa8f3d", "spec_version": "2.1", "target_ref": "attack-pattern--a55491b8-b521-44f4-a905-a6ed82b8e7e8", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "Use anti-virus and anti-malware tools which can prevent malware from executing if it finds its way onto a target system. Additionally, make sure these tools are regularly updated to contain up-to-date virus and malware signatures.", "id": "course-of-action--23616f83-6ea1-4f30-a9f5-65259313e80b", "modified": "2023-01-24T00:00:00.000Z", "name": "coa-457-1", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "course-of-action", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--83689bae-01f6-4ed3-b3f8-66cf8e657475", "modified": "2023-01-24T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--23616f83-6ea1-4f30-a9f5-65259313e80b", "spec_version": "2.1", "target_ref": "attack-pattern--a55491b8-b521-44f4-a905-a6ed82b8e7e8", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "Do not connect untrusted USB devices to systems connected on an organizational network. Additionally, use an isolated testing machine to validate untrusted devices and confirm malware does not exist.", "id": "course-of-action--c295b380-bcd9-4e87-88dc-341fc0ad6922", "modified": "2023-01-24T00:00:00.000Z", "name": "coa-457-2", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "course-of-action", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--dfbd2aef-9f4e-43aa-819c-14c5b16d3c23", "modified": "2023-01-24T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--c295b380-bcd9-4e87-88dc-341fc0ad6922", "spec_version": "2.1", "target_ref": "attack-pattern--a55491b8-b521-44f4-a905-a6ed82b8e7e8", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "An adversary inserts malicious logic into a product or technology via flashing the on-board memory with a code-base that contains malicious logic. Various attacks exist against the integrity of flash memory, the most direct being rootkits coded into the BIOS or chipset of a device.", "external_references": [ { "external_id": "CAPEC-458", "source_name": "capec", "url": "https://capec.mitre.org/data/definitions/458.html" }, { "external_id": "CWE-1282", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/1282.html" }, { "description": "Jon Boyens, Angela Smith, Nadya Bartol, Kris Winkler, Alex Holbrook, Matthew Fallon, Cybersecurity Supply Chain Risk Management Practices for Systems and Organizations (2nd Draft), 2021--10---28, National Institute of Standards and Technology (NIST)", "external_id": "REF-379", "source_name": "reference_from_CAPEC", "url": "https://nvlpubs.nist.gov/nistpubs/SpecialPublications/NIST.SP.800-161r1-draft2.pdf" }, { "description": "Robert Lemos, Researchers: Rootkits headed for BIOS, 2006, SecurityFocus", "external_id": "REF-394", "source_name": "reference_from_CAPEC" } ], "id": "attack-pattern--96c60498-fdd4-4f9f-a21f-c1a4ee84f0f3", "modified": "2023-01-24T00:00:00.000Z", "name": "Flash Memory Attacks", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "attack-pattern", "x_capec_abstraction": "Detailed", "x_capec_child_of_refs": [ "attack-pattern--dc05cb9b-00ae-4fd0-8743-b1fb507ea1d3" ], "x_capec_domains": [ "Software", "Hardware" ], "x_capec_extended_description": "\n Such attacks are very difficult to detect because the malicious code resides outside the filesystem or RAM, and in the underlying byte-code that drives the processor. Many devices, such as the recent attacks against digital picture frames, contain only a microprocessor and a small amount of solid-state memory, rendering these devices ideal for \"flash\" based malware or malicious logic.\n One of the pernicious characteristics of flash memory based attacks is that the malicious code can survive even a total format of the hard-drive and reinstallation of the host operating system. Virtually any device which can be integrated into a computer system is susceptible to these attacks. Additionally, any peripheral device which interfaces with the computer bus could extract or sniff confidential data, even on systems employing full-disk encryption. Trojan code placed into a video card's chipset would continue to perform its function irrespective of the host operating system, and would be invisible to all known antivirus. The threats extend to consumer products such as camcorders, digital cameras, or any consumer electronic device with an embedded microcontroller.\n ", "x_capec_status": "Draft", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "An adversary exploits a weakness resulting from using a hashing algorithm with weak collision resistance to generate certificate signing requests (CSR) that contain collision blocks in their \"to be signed\" parts. The adversary submits one CSR to be signed by a trusted certificate authority then uses the signed blob to make a second certificate appear signed by said certificate authority. Due to the hash collision, both certificates, though different, hash to the same value and so the signed blob works just as well in the second certificate. The net effect is that the adversary's second X.509 certificate, which the Certification Authority has never seen, is now signed and validated by that Certification Authority.", "external_references": [ { "external_id": "CAPEC-459", "source_name": "capec", "url": "https://capec.mitre.org/data/definitions/459.html" }, { "external_id": "CWE-327", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/327.html" }, { "external_id": "CWE-295", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/295.html" }, { "external_id": "CWE-290", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/290.html" }, { "description": "Alexander Sotirov, Marc Stevens, Jacob Appelbaum, Arjen Lenstra, David Molnar, Dag Arne Osvik, Benne de Weger, MD5 Considered Harmful Today: Creating a Rogue CA Certificate, 2008--12---30, Phreedom.org", "external_id": "REF-395", "source_name": "reference_from_CAPEC", "url": "http://www.phreedom.org/research/rogue-ca/" }, { "description": "Alexander Sotirov, Marc Stevens, Jacob Appelbaum, Arjen Lenstra, David Molnar, Dag Arne Osvik, Benne de Weger, MD5 considered harmful today, 2009--12", "external_id": "REF-587", "source_name": "reference_from_CAPEC", "url": "https://www.win.tue.nl/hashclash/rogue-ca/#Ref" } ], "id": "attack-pattern--138c8405-1295-44b9-b2ed-3b4cd15c2a55", "modified": "2022-09-29T00:00:00.000Z", "name": "Creating a Rogue Certification Authority Certificate", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "attack-pattern", "x_capec_abstraction": "Detailed", "x_capec_child_of_refs": [ "attack-pattern--d94762c1-3c78-47eb-8212-e0c770ba43a9" ], "x_capec_consequences": { "Access_Control": [ "Gain Privileges" ], "Authentication": [ "Gain Privileges" ] }, "x_capec_domains": [ "Software" ], "x_capec_example_instances": [ "\n MD5 Collisions\n The MD5 algorithm is not collision resistant, allowing attackers to use spoofing attacks to create rogue certificate Authorities.See also: CVE-2004-2761", "\n SHA1 Collisions\n The SHA1 algorithm is not collision resistant, allowing attackers to use spoofing attacks to create rogue certificate Authorities.See also: CVE-2005-4900", "\n PKI Infrastructure vulnerabilities\n Research has show significant vulnerabilities in PKI infrastructure. Trusted certificate authorities have been shown to use weak hashing algorithms after attacks have been demonstrated against those algorithms. Additionally, reliable methods have been demonstrated for generated MD5 collisions that could be used to generate malicious CSRs.\n " ], "x_capec_execution_flow": "

Execution Flow

Experiment

  1. Craft Certificates: The adversary crafts two different, but valid X.509 certificates that when hashed with an insufficiently collision resistant hashing algorithm would yield the same value.

  2. Send CSR to Certificate Authority: The adversary sends the CSR for one of the certificates to the Certification Authority which uses the targeted hashing algorithm. That request is completely valid and the Certificate Authority issues an X.509 certificate to the adversary which is signed with its private key.

Exploit

  1. Insert Signed Blob into Unsigned Certificate: The adversary takes the signed blob and inserts it into the second X.509 certificate that the attacker generated. Due to the hash collision, both certificates, though different, hash to the same value and so the signed blob is valid in the second certificate. The result is two certificates that appear to be signed by a valid certificate authority despite only one having been signed.

", "x_capec_extended_description": "\n Alternatively, the second certificate could be a signing certificate. Thus the adversary is able to start their own Certification Authority that is anchored in its root of trust in the legitimate Certification Authority that has signed the attacker's first X.509 certificate. If the original Certificate Authority was accepted by default by browsers, so will the Certificate Authority set up by the adversary and any certificates that it signs. As a result, the adversary is able to generate any SSL certificates to impersonate any web server, and the user's browser will not issue any warning to the victim. This can be used to compromise HTTPS communications and other types of systems where PKI and X.509 certificates may be used (e.g., VPN, IPSec).\n ", "x_capec_likelihood_of_attack": "Medium", "x_capec_prerequisites": [ "Certification Authority is using a hash function with insufficient collision resistance to generate the certificate hash to be signed" ], "x_capec_resources_required": [ "Knowledge of a certificate authority that uses hashing algorithms with poor collision resistance", "A valid certificate request and a malicious certificate request with identical hash values" ], "x_capec_skills_required": { "High": "An attacker must be able to craft two X.509 certificates that produce the same hash value", "Medium": "Knowledge needed to set up a certification authority" }, "x_capec_status": "Draft", "x_capec_typical_severity": "Very High", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "Certification Authorities need to stop using deprecated or cryptographically insecure hashing algorithms to hash the certificates that they are about to sign. Instead they should be using stronger hashing functions such as SHA-256 or SHA-512.", "id": "course-of-action--aef26c23-42e4-46ac-a6ce-61224191c8a3", "modified": "2022-09-29T00:00:00.000Z", "name": "coa-459-0", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "course-of-action", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--323c57c1-b086-4b0d-81cb-1cf8a0bb21d3", "modified": "2022-09-29T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--aef26c23-42e4-46ac-a6ce-61224191c8a3", "spec_version": "2.1", "target_ref": "attack-pattern--138c8405-1295-44b9-b2ed-3b4cd15c2a55", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "This type of attack leverages the use of tags or variables from a formatted configuration data to cause buffer overflow. The adversary crafts a malicious HTML page or configuration file that includes oversized strings, thus causing an overflow.", "external_references": [ { "external_id": "CAPEC-46", "source_name": "capec", "url": "https://capec.mitre.org/data/definitions/46.html" }, { "external_id": "CWE-120", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/120.html" }, { "external_id": "CWE-118", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/118.html" }, { "external_id": "CWE-119", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/119.html" }, { "external_id": "CWE-74", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/74.html" }, { "external_id": "CWE-20", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/20.html" }, { "external_id": "CWE-680", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/680.html" }, { "external_id": "CWE-733", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/733.html" }, { "external_id": "CWE-697", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/697.html" }, { "description": "G. Hoglund, G. McGraw, Exploiting Software: How to Break Code, 2004--02, Addison-Wesley", "external_id": "REF-1", "source_name": "reference_from_CAPEC" } ], "id": "attack-pattern--8e403d18-af4e-4abd-bd38-0f99f74b4636", "modified": "2022-09-29T00:00:00.000Z", "name": "Overflow Variables and Tags", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "attack-pattern", "x_capec_abstraction": "Detailed", "x_capec_child_of_refs": [ "attack-pattern--77e51461-7843-411c-a90e-852498957f76" ], "x_capec_consequences": { "Availability": [ "Unreliable Execution", "Execute Unauthorized Commands (Run Arbitrary Code)" ], "Confidentiality": [ "Execute Unauthorized Commands (Run Arbitrary Code)", "Read Data" ], "Integrity": [ "Execute Unauthorized Commands (Run Arbitrary Code)", "Modify Data" ] }, "x_capec_domains": [ "Software" ], "x_capec_example_instances": [ "\n A buffer overflow vulnerability exists in the Yamaha MidiPlug that can be accessed via a Text variable found in an EMBED tag.See also: CVE-1999-0946", "\n A buffer overflow in Exim allows local users to gain root privileges by providing a long :include: option in a .forward file.See also: CVE-1999-0971" ], "x_capec_execution_flow": "

Execution Flow

Explore

  1. Identify target application: The adversary identifies a target application or program to perform the buffer overflow on. Adversaries look for applications or programs that accept formatted files, such as configuration files, as input.

Experiment

  1. Find injection vector: The adversary identifies an injection vector to deliver the excessive content to the targeted application's buffer.

  2. Techniques
    Knowing the type of file that an application takes as input, the adversary takes a normal input file and modifies a single variable or tag to contain a large amount of data. If there is a crash, this means that a buffer overflow attack is possible. The adversary will keep changing single variables or tags one by one until they see a change in behavior.
  3. Craft overflow content: The adversary crafts the content to be injected. If the intent is to simply cause the software to crash, the content need only consist of an excessive quantity of random data. If the intent is to leverage the overflow for execution of arbitrary code, the adversary crafts the payload in such a way that the overwritten return address is replaced with one of the adversary's choosing.

  4. Techniques
    Create malicious shellcode that will execute when the program execution is returned to it.
    Use a NOP-sled in the overflow content to more easily \"slide\" into the malicious code. This is done so that the exact return address need not be correct, only in the range of all of the NOPs

Exploit

  1. Overflow the buffer: The adversary will upload the crafted file to the application, causing a buffer overflow.

", "x_capec_likelihood_of_attack": "High", "x_capec_peer_of_refs": [ "attack-pattern--e62000f0-addd-4156-b9fd-469bbb211d45", "attack-pattern--4a29d66d-8617-4382-b456-578ecdb1609e" ], "x_capec_prerequisites": [ "The target program consumes user-controllable data in the form of tags or variables.", "The target program does not perform sufficient boundary checking." ], "x_capec_skills_required": { "High": "Exploiting a buffer overflow to inject malicious code into the stack of a software system or even the heap can require a higher skill level.", "Low": "An adversary can simply overflow a buffer by inserting a long string into an adversary-modifiable injection vector. The result can be a DoS." }, "x_capec_status": "Draft", "x_capec_typical_severity": "High", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--0cad5809-fa6b-4947-9d83-2c2e462c3f42", "modified": "2022-09-29T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--a253c485-f225-4dd3-b0ba-dbe4b29fa134", "spec_version": "2.1", "target_ref": "attack-pattern--8e403d18-af4e-4abd-bd38-0f99f74b4636", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--eaa7c808-388e-4b0b-a9c7-56895d4b1188", "modified": "2022-09-29T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--286c9aaa-2118-48dc-bce6-6e3f41adc043", "spec_version": "2.1", "target_ref": "attack-pattern--8e403d18-af4e-4abd-bd38-0f99f74b4636", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--45d81297-fcc7-4abb-88f9-43cae938e07e", "modified": "2022-09-29T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--115171ef-9f32-43b6-bb8a-49f0a78286e9", "spec_version": "2.1", "target_ref": "attack-pattern--8e403d18-af4e-4abd-bd38-0f99f74b4636", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--a2abe8d6-7c9a-4465-ad34-052a868dc3b0", "modified": "2022-09-29T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--b8955156-d3d6-4db5-bc3b-595bda29964b", "spec_version": "2.1", "target_ref": "attack-pattern--8e403d18-af4e-4abd-bd38-0f99f74b4636", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "Do not trust input data from user. Validate all user input.", "id": "course-of-action--4d65b6e1-548b-4925-96e0-a2948cea8f7e", "modified": "2022-09-29T00:00:00.000Z", "name": "coa-46-4", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "course-of-action", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--933f0265-0d58-4da3-be7f-f584f3b4b55b", "modified": "2022-09-29T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--4d65b6e1-548b-4925-96e0-a2948cea8f7e", "spec_version": "2.1", "target_ref": "attack-pattern--8e403d18-af4e-4abd-bd38-0f99f74b4636", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "An adversary adds duplicate HTTP GET/POST parameters by injecting query string delimiters. Via HPP it may be possible to override existing hardcoded HTTP parameters, modify the application behaviors, access and, potentially exploit, uncontrollable variables, and bypass input validation checkpoints and WAF rules.", "external_references": [ { "external_id": "CAPEC-460", "source_name": "capec", "url": "https://capec.mitre.org/data/definitions/460.html" }, { "external_id": "CWE-88", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/88.html" }, { "external_id": "CWE-147", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/147.html" }, { "external_id": "CWE-235", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/235.html" }, { "description": "Web Parameter Tampering", "source_name": "OWASP Attacks", "url": "https://owasp.org/www-community/attacks/Web_Parameter_Tampering" }, { "description": "Luca Carettoni, Stefano di Paola, HTTP Parameter Pollution (OWASP EU09 Poland), 2008, The Open Web Application Security Project (OWASP)", "external_id": "REF-397", "source_name": "reference_from_CAPEC", "url": "https://www.owasp.org/images/b/ba/AppsecEU09_CarettoniDiPaola_v0.8.pdf" }, { "description": "OWASP Web Security Testing Guide, The Open Web Application Security Project (OWASP)", "external_id": "REF-606", "source_name": "reference_from_CAPEC", "url": "https://owasp.org/www-project-web-security-testing-guide/latest/4-Web_Application_Security_Testing/07-Input_Validation_Testing/04-Testing_for_HTTP_Parameter_Pollution.html" } ], "id": "attack-pattern--70c8a212-72da-4a98-a626-e5d38e5416e3", "modified": "2022-02-22T00:00:00.000Z", "name": "HTTP Parameter Pollution (HPP)", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "attack-pattern", "x_capec_abstraction": "Detailed", "x_capec_can_precede_refs": [ "attack-pattern--9d435b55-e3ef-4a19-be67-c3350f20e44e" ], "x_capec_child_of_refs": [ "attack-pattern--582943a5-d66c-48a9-8cf8-76e511222c7d" ], "x_capec_domains": [ "Software" ], "x_capec_execution_flow": "

Execution Flow

Explore

  1. Find User Input: The adversary finds anywhere in the web application that uses user-supplied input in a form or action. This can also be found by looking at parameters in the URL in the navigation bar of the browser

Experiment

  1. Add Duplicate Parameter Values: Once the adversary has identified what user input is used as HTTP parameters, they will add duplicates to each parameter one by one to observe the results. If the response from the HTTP request shows the duplicate parameter value concatenated with the original parameter value in some way, or simply just the duplicate parameter value, then HPP is possible.

  2. Techniques
    In the URL, add a duplicate parameter by using the \"&\" delimiter. For example \"par1=val1\" becomes \"par1=val1&par1=val2\". Depending on the backend API, this could be treated as \"par1=val1, val2\", which could lead to par1 being set to val2, ignoring val1.
    If the request is created based on user input directly on the page, the adversary will test by adding an encoded delimiter to the input. For example, the adverary might supply \"1000%26action=withdraw\" and the backend might interpret a POST request with the paramters \"action=deposit&amount=1000&action=withdraw\"

Exploit

  1. Leverage HPP: Once the adversary has identified how the backend handles duplicate parameters, they will leverage this by polluting the paramters in a way that benefits them. In some cases, hardcoded parameters will be disregarded by the backend. In others, the adversary can bypass a WAF that might only check a parameter before it has been concatenated by the backend, resulting in malicious queries getting through.

", "x_capec_prerequisites": [ "HTTP protocol is used with some GET/POST parameters passed" ], "x_capec_resources_required": [ "Any tool that enables intercepting and tampering with HTTP requests" ], "x_capec_status": "Draft", "x_capec_typical_severity": "Medium", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "Configuration: If using a Web Application Firewall (WAF), filters should be carefully configured to detect abnormal HTTP requests", "id": "course-of-action--fa76a44a-7309-4edc-96e7-8994b9b72371", "modified": "2022-02-22T00:00:00.000Z", "name": "coa-460-0", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "course-of-action", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--d1f5c4e8-5bc1-44be-a928-3f47b794cce5", "modified": "2022-02-22T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--fa76a44a-7309-4edc-96e7-8994b9b72371", "spec_version": "2.1", "target_ref": "attack-pattern--70c8a212-72da-4a98-a626-e5d38e5416e3", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "Design: Perform URL encoding", "id": "course-of-action--a8f935d9-6238-4a25-98d1-ec2b90cf2dc5", "modified": "2022-02-22T00:00:00.000Z", "name": "coa-460-1", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "course-of-action", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--c9d7213f-0542-4267-896f-cde00d9ba131", "modified": "2022-02-22T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--a8f935d9-6238-4a25-98d1-ec2b90cf2dc5", "spec_version": "2.1", "target_ref": "attack-pattern--70c8a212-72da-4a98-a626-e5d38e5416e3", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "Implementation: Use strict regular expressions in URL rewriting", "id": "course-of-action--38331521-a7db-4428-92ae-dcc62432d4be", "modified": "2022-02-22T00:00:00.000Z", "name": "coa-460-2", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "course-of-action", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--48510a25-def9-4c25-85ee-67173f7f2246", "modified": "2022-02-22T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--38331521-a7db-4428-92ae-dcc62432d4be", "spec_version": "2.1", "target_ref": "attack-pattern--70c8a212-72da-4a98-a626-e5d38e5416e3", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "Implementation: Beware of multiple occurrences of a parameter in a Query String", "id": "course-of-action--8846dae1-8419-4e74-8ec5-58bff613dbec", "modified": "2022-02-22T00:00:00.000Z", "name": "coa-460-3", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "course-of-action", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--315c1643-cc8e-472e-8bbc-264b098bf84b", "modified": "2022-02-22T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--8846dae1-8419-4e74-8ec5-58bff613dbec", "spec_version": "2.1", "target_ref": "attack-pattern--70c8a212-72da-4a98-a626-e5d38e5416e3", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "An adversary utilizes a hash function extension/padding weakness, to modify the parameters passed to the web service requesting authentication by generating their own call in order to generate a legitimate signature hash (as described in the notes), without knowledge of the secret token sometimes provided by the web service.", "external_references": [ { "external_id": "CAPEC-461", "source_name": "capec", "url": "https://capec.mitre.org/data/definitions/461.html" }, { "external_id": "CWE-328", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/328.html" }, { "external_id": "CWE-290", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/290.html" }, { "description": "Thai Duong, Juliano Rizzo, Flickr's API Signature Forgery Vulnerability, 2009--09---28", "external_id": "REF-398", "source_name": "reference_from_CAPEC", "url": "http://netifera.com/research/flickr_api_signature_forgery.pdf" } ], "id": "attack-pattern--1bc4fd64-65a6-41d4-ac68-8e3692eabe29", "modified": "2022-09-29T00:00:00.000Z", "name": "Web Services API Signature Forgery Leveraging Hash Function Extension Weakness", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "attack-pattern", "x_capec_abstraction": "Standard", "x_capec_child_of_refs": [ "attack-pattern--8f665166-dfd1-40cb-91e8-b78bee1ceb6a" ], "x_capec_domains": [ "Software" ], "x_capec_example_instances": [ "To leverage an attack against the has function extension / padding weakness, consider the message to be passed to the web service is M (this message includes the parameters passed to the web service concatenated with the secret token / key bytes). The message M is hashed and that hash is passed to the web service and is used for authentication. The attacker does not know M, but can see Hash (M) and Length (M). The attacker can then compute Hash (M || Padding (M) || M') for any M'. The attacker does not know the entire message M, specifically the attacker does not know the secret bytes, but that does not matter. The attacker is still able to sign their own message M' and make the called web service verify the integrity of the message without an error." ], "x_capec_execution_flow": "

Execution Flow

Explore

  1. Find a vulnerable web service: The adversary finds a web service that uses a vulnerable authentication scheme, where an authentication token is concatenated with the parameters of a request and then hashed

  2. Techniques
    Read application documentation to learn about authentication schemes being used
    Observe web service traffic to look for vulnerable authentication schemes

Experiment

  1. Attempt adding padding to parameters: An adversary tests if they can simply add padding to the parameters of a request such that the request is technically changed, with the hash remaining the same

  2. Techniques
    Exploit the hash function extension / padding weakness with only padding to test the weakness

Exploit

  1. Add malicious parameters to request: Add malicious parameters to a captured request in addition to what is already present. Do this by exploiting the padding weakness of the hash function and send the request to the web service so that it believes it is authenticated and acts on the extra parameters.

  2. Techniques
    Exploit the hash function extension / padding weakness by adding malicious parameters to a web service request such that it is still deemed authentic
", "x_capec_extended_description": "\n When web services require callees to authenticate, they sometimes issue a token / secret to the caller that the caller is to use to sign their web service calls. In one such scheme the caller, when constructing a request, would concatenate all of the parameters passed to the web service with the provided authentication token and then generate a hash of the concatenated string (e.g., MD5, SHA1, etc.). That hash then forms the signature that is passed to the web service which is used on the server side to verify the origin authenticity and integrity of the message. Because of the iterative design of the hash function, it is possible, from only the hash of a message and its length, for an adversary to conduct signature forgery by computing the hash of longer messages that start with the initial message and include the padding required for the initial message to reach a multiple of 512 bits. It is important to note that the attack not limited to MD5 and will work on other hash functions such as SHA1.\n ", "x_capec_prerequisites": [ "Web services check the signature of the API calls", "Authentication tokens / secrets are shared between the server and the legitimate client", "The API call signature is generated by concatenating the parameter list with the shared secret and hashing the result.", "An iterative hash function like MD5 and SHA1 is used.", "An attacker is able to intercept or in some other way gain access to the information passed between the legitimate client and the server in order to retrieve the hash value and length of the original message.", "The communication channel between the client and the server is not secured via channel security such as TLS" ], "x_capec_resources_required": [ "\n Access to a function to produce a hash (e.g., MD5, SHA1)\n Tools that allow the attacker to intercept a message between the client and the server, specifically the hash that is the signature and the length of the original message concatenated with the secret bytes\n " ], "x_capec_skills_required": { "Medium": "Medium level of cryptography knowledge, specifically how iterative hash functions work. This is needed to select proper padding." }, "x_capec_status": "Draft", "x_capec_typical_severity": "High", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "Design: Use a secure message authentication code (MAC) function such as an HMAC-SHA1", "id": "course-of-action--4f8988fb-2aec-4c9c-bd03-a3c8ca7fed94", "modified": "2022-09-29T00:00:00.000Z", "name": "coa-461-0", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "course-of-action", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--73e90459-19d2-486f-ab40-7a72b5bc43fa", "modified": "2022-09-29T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--4f8988fb-2aec-4c9c-bd03-a3c8ca7fed94", "spec_version": "2.1", "target_ref": "attack-pattern--1bc4fd64-65a6-41d4-ac68-8e3692eabe29", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "An attacker initiates cross domain HTTP / GET requests and times the server responses. The timing of these responses may leak important information on what is happening on the server. Browser's same origin policy prevents the attacker from directly reading the server responses (in the absence of any other weaknesses), but does not prevent the attacker from timing the responses to requests that the attacker issued cross domain.", "external_references": [ { "external_id": "CAPEC-462", "source_name": "capec", "url": "https://capec.mitre.org/data/definitions/462.html" }, { "external_id": "CWE-385", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/385.html" }, { "external_id": "CWE-352", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/352.html" }, { "external_id": "CWE-208", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/208.html" }, { "description": "Chris Evans, Cross-Domain Search Timing, 2009--12---11", "external_id": "REF-399", "source_name": "reference_from_CAPEC", "url": "http://scarybeastsecurity.blogspot.com/2009/12/cross-domain-search-timing.html" } ], "id": "attack-pattern--5871f734-1898-4509-860c-f418cdf6b2ac", "modified": "2022-02-22T00:00:00.000Z", "name": "Cross-Domain Search Timing", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "attack-pattern", "x_capec_abstraction": "Detailed", "x_capec_child_of_refs": [ "attack-pattern--49132d37-44e8-458c-a06e-0e5b9ac9bbd6" ], "x_capec_consequences": { "Confidentiality": [ "Read Data" ] }, "x_capec_domains": [ "Software" ], "x_capec_execution_flow": "

Execution Flow

Explore

  1. Determine service to send cross domain requests to: The adversary first determines which service they will be sending the requests to

Experiment

  1. Send and time various cross domain requests: Adversaries will send a variety of cross domain requests to the target, timing the time it takes for the target to respond. Although they won't be able to read the response, the adversary can use the time to infer information about what the service did upon receiving the request.

  2. Techniques
    Using a GET request, leverage the \"img\" tag in conjunction with \"onload() / onerror()\" javascript events to time a response
    Using a POST request, leverage the \"iframe\" element and use the \"onload()\" event to time a response

Exploit

  1. Infer information from the response time: After obtaining reponse times to various requests, the adversary will compare these times and infer potentially sensitive information. An example of this could be asking a service to retrieve information and random usernames. If one request took longer to process, it is likely that a user with that username exists, which could be useful knowledge to an adversary.

  2. Techniques
    Compare timing of different requests to infer potentially sensitive information about a target service
", "x_capec_extended_description": "\n For GET requests an attacker could for instance leverage the \"img\" tag in conjunction with \"onload() / onerror()\" javascript events. For the POST requests, an attacker could leverage the \"iframe\" element and leverage the \"onload()\" event. There is nothing in the current browser security model that prevents an attacker to use these methods to time responses to the attackers' cross domain requests. The timing for these responses leaks information. For instance, if a victim has an active session with their online e-mail account, an attacker could issue search requests in the victim's mailbox. While the attacker is not able to view the responses, based on the timings of the responses, the attacker could ask yes / no questions as to the content of victim's e-mails, who the victim e-mailed, when, etc. This is but one example; There are other scenarios where an attacker could infer potentially sensitive information from cross domain requests by timing the responses while asking the right questions that leak information.\n ", "x_capec_prerequisites": [ "Ability to issue GET / POST requests cross domainJava Script is enabled in the victim's browserThe victim has an active session with the site from which the attacker would like to receive informationThe victim's site does not protect search functionality with cross site request forgery (CSRF) protection" ], "x_capec_resources_required": [ "Ability to issue GET / POST requests cross domain" ], "x_capec_skills_required": { "Low": "Some knowledge of Java Script" }, "x_capec_status": "Draft", "x_capec_typical_severity": "Medium", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "Design: The victim's site could protect all potentially sensitive functionality (e.g. search functions) with cross site request forgery (CSRF) protection and not perform any work on behalf of forged requests", "id": "course-of-action--f46f8204-a5a5-4d0b-927d-1204f8d80a35", "modified": "2022-02-22T00:00:00.000Z", "name": "coa-462-0", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "course-of-action", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--a8f742a2-4f13-496c-ae38-b401f66aa531", "modified": "2022-02-22T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--f46f8204-a5a5-4d0b-927d-1204f8d80a35", "spec_version": "2.1", "target_ref": "attack-pattern--5871f734-1898-4509-860c-f418cdf6b2ac", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "Design: The browser's security model could be fixed to not leak timing information for cross domain requests", "id": "course-of-action--91807008-54b1-456b-8522-5ba6ea9ca3b5", "modified": "2022-02-22T00:00:00.000Z", "name": "coa-462-1", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "course-of-action", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--6c073f92-1bbc-43d5-92cf-3df1be18d378", "modified": "2022-02-22T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--91807008-54b1-456b-8522-5ba6ea9ca3b5", "spec_version": "2.1", "target_ref": "attack-pattern--5871f734-1898-4509-860c-f418cdf6b2ac", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "An adversary is able to efficiently decrypt data without knowing the decryption key if a target system leaks data on whether or not a padding error happened while decrypting the ciphertext. A target system that leaks this type of information becomes the padding oracle and an adversary is able to make use of that oracle to efficiently decrypt data without knowing the decryption key by issuing on average 128*b calls to the padding oracle (where b is the number of bytes in the ciphertext block). In addition to performing decryption, an adversary is also able to produce valid ciphertexts (i.e., perform encryption) by using the padding oracle, all without knowing the encryption key.", "external_references": [ { "external_id": "CAPEC-463", "source_name": "capec", "url": "https://capec.mitre.org/data/definitions/463.html" }, { "external_id": "CWE-209", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/209.html" }, { "external_id": "CWE-514", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/514.html" }, { "external_id": "CWE-649", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/649.html" }, { "external_id": "CWE-347", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/347.html" }, { "external_id": "CWE-354", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/354.html" }, { "external_id": "CWE-696", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/696.html" }, { "description": "Juliano Rizzo, Thai Duong, Practical Padding Oracle Attacks, 2010--05---25", "external_id": "REF-400", "source_name": "reference_from_CAPEC", "url": "https://www.usenix.org/legacy/events/woot10/tech/full_papers/Rizzo.pdf" } ], "id": "attack-pattern--63048cb5-6d42-4fa2-a0e1-eeff2ef2a34d", "modified": "2022-02-22T00:00:00.000Z", "name": "Padding Oracle Crypto Attack", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "attack-pattern", "x_capec_abstraction": "Detailed", "x_capec_child_of_refs": [ "attack-pattern--f1336271-5f27-40de-a61b-aba6572d120f" ], "x_capec_domains": [ "Communications" ], "x_capec_example_instances": [ "An adversary sends a request containing ciphertext to the target system. Due to the browser's same origin policy, the adversary is not able to see the response directly, but can use cross-domain information leak techniques to still get the information needed (i.e., information on whether or not a padding error has occurred). This can be done using \"img\" tag plus the onerror()/onload() events. The adversary's JavaScript can make web browsers to load an image on the target site, and know if the image is loaded or not. This is 1-bit information needed for the padding oracle attack to work: if the image is loaded, then it is valid padding, otherwise it is not." ], "x_capec_extended_description": "\n Any cryptosystem can be vulnerable to padding oracle attacks if the encrypted messages are not authenticated to ensure their validity prior to decryption, and then the information about padding error is leaked to the adversary. This attack technique may be used, for instance, to break CAPTCHA systems or decrypt/modify state information stored in client side objects (e.g., hidden fields or cookies). This attack technique is a side-channel attack on the cryptosystem that uses a data leak from an improperly implemented decryption routine to completely subvert the cryptosystem. The one bit of information that tells the adversary whether a padding error during decryption has occurred, in whatever form it comes, is sufficient for the adversary to break the cryptosystem. That bit of information can come in a form of an explicit error message about a padding error, a returned blank page, or even the server taking longer to respond (a timing attack). This attack can be launched cross domain where an adversary is able to use cross-domain information leaks to get the bits of information from the padding oracle from a target system / service with which the victim is communicating.\n ", "x_capec_prerequisites": [ "The decryption routine does not properly authenticate the message / does not verify its integrity prior to performing the decryption operation", "The target system leaks data (in some way) on whether a padding error has occurred when attempting to decrypt the ciphertext.", "The padding oracle remains available for enough time / for as many requests as needed for the adversary to decrypt the ciphertext." ], "x_capec_resources_required": [ "\n Ability to detect instances where a target system is vulnerable to an oracle padding attack\n Sufficient cryptography knowledge and tools needed to take advantage of the presence of the padding oracle to perform decryption / encryption of data without a key\n " ], "x_capec_status": "Draft", "x_capec_typical_severity": "High", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "Design: Use a message authentication code (MAC) or another mechanism to perform verification of message authenticity / integrity prior to decryption", "id": "course-of-action--e62691da-d711-47e8-8c82-b97dcb9b3a05", "modified": "2022-02-22T00:00:00.000Z", "name": "coa-463-0", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "course-of-action", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--a67f1d51-adca-411e-89d1-92f674949ad3", "modified": "2022-02-22T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--e62691da-d711-47e8-8c82-b97dcb9b3a05", "spec_version": "2.1", "target_ref": "attack-pattern--63048cb5-6d42-4fa2-a0e1-eeff2ef2a34d", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "Implementation: Do not leak information back to the user as to any cryptography (e.g., padding) encountered during decryption.", "id": "course-of-action--330dc21b-bad8-4391-98c9-c29f84c83208", "modified": "2022-02-22T00:00:00.000Z", "name": "coa-463-1", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "course-of-action", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--4c01803b-7af5-4c55-98ce-633b944b0847", "modified": "2022-02-22T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--330dc21b-bad8-4391-98c9-c29f84c83208", "spec_version": "2.1", "target_ref": "attack-pattern--63048cb5-6d42-4fa2-a0e1-eeff2ef2a34d", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "An attacker creates a very persistent cookie that stays present even after the user thinks it has been removed. The cookie is stored on the victim's machine in over ten places. When the victim clears the cookie cache via traditional means inside the browser, that operation removes the cookie from certain places but not others. The malicious code then replicates the cookie from all of the places where it was not deleted to all of the possible storage locations once again. So the victim again has the cookie in all of the original storage locations. In other words, failure to delete the cookie in even one location will result in the cookie's resurrection everywhere. The evercookie will also persist across different browsers because certain stores (e.g., Local Shared Objects) are shared between different browsers.", "external_references": [ { "external_id": "CAPEC-464", "source_name": "capec", "url": "https://capec.mitre.org/data/definitions/464.html" }, { "external_id": "CWE-359", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/359.html" }, { "description": "Forge Web Credentials: Web Cookies", "external_id": "T1606.001", "source_name": "ATTACK", "url": "https://attack.mitre.org/wiki/Technique/T1606/001" }, { "description": "Samy Kamkar, Evercookie, 2010--09---09", "external_id": "REF-401", "source_name": "reference_from_CAPEC", "url": "http://samy.pl/evercookie/" } ], "id": "attack-pattern--ed57f38c-2f0c-47ad-a6e2-16932fde978f", "modified": "2022-09-29T00:00:00.000Z", "name": "Evercookie", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "attack-pattern", "x_capec_abstraction": "Standard", "x_capec_child_of_refs": [ "attack-pattern--ec382da0-af49-489b-bca1-a555d48b7ce3" ], "x_capec_domains": [ "Software" ], "x_capec_extended_description": "\n The places a persistent cookie is stored on a victim's machine include: Standard HTTP Cookies, Local Shared Objects (Flash Cookies), Silverlight Isolated Storage, Storing cookies in RGB values of auto-generated, force-cached, PNGs using HTML5 Canvas tag to read pixels (cookies) back out, Storing cookies in Web History, Storing cookies in HTTP ETags, Storing cookies in Web cache, window.name caching, Internet Explorer userData storage, HTML5 Session Storage, HTML5 Local Storage, HTML5 Global Storage, HTML5 Database Storage via SQLite, among others.\n ", "x_capec_prerequisites": [ "The victim's browser is not configured to reject all cookiesThe victim visits a website that serves the attackers' evercookie" ], "x_capec_resources_required": [ "Evercookie source code" ], "x_capec_status": "Draft", "x_capec_typical_severity": "Medium", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "Design: Browser's design needs to be changed to limit where cookies can be stored on the client side and provide an option to clear these cookies in all places, as well as another option to stop these cookies from being written in the first place.", "id": "course-of-action--613f9459-29ce-43e4-91dd-68f4e6148ef6", "modified": "2022-09-29T00:00:00.000Z", "name": "coa-464-0", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "course-of-action", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--e1626045-707b-4f32-995a-db4309834849", "modified": "2022-09-29T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--613f9459-29ce-43e4-91dd-68f4e6148ef6", "spec_version": "2.1", "target_ref": "attack-pattern--ed57f38c-2f0c-47ad-a6e2-16932fde978f", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "Design: Safari browser's private browsing mode is currently effective against evercookies.", "id": "course-of-action--252ad1a2-1f99-45a1-a6b1-8ed47af8a5c5", "modified": "2022-09-29T00:00:00.000Z", "name": "coa-464-1", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "course-of-action", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--8204979e-c9d8-4eee-a37d-f28d5d01c12e", "modified": "2022-09-29T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--252ad1a2-1f99-45a1-a6b1-8ed47af8a5c5", "spec_version": "2.1", "target_ref": "attack-pattern--ed57f38c-2f0c-47ad-a6e2-16932fde978f", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "A transparent proxy serves as an intermediate between the client and the internet at large. It intercepts all requests originating from the client and forwards them to the correct location. The proxy also intercepts all responses to the client and forwards these to the client. All of this is done in a manner transparent to the client.", "external_references": [ { "external_id": "CAPEC-465", "source_name": "capec", "url": "https://capec.mitre.org/data/definitions/465.html" }, { "external_id": "CWE-441", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/441.html" }, { "description": "Proxy: Internal Proxy", "external_id": "T1090.001", "source_name": "ATTACK", "url": "https://attack.mitre.org/wiki/Technique/T1090/001" }, { "description": "Robert Auger, Socket Capable Browser Plugins Result In Transparent Proxy Abuse, 2009", "external_id": "REF-402", "source_name": "reference_from_CAPEC", "url": "http://www.thesecuritypractice.com/the_security_practice/TransparentProxyAbuse.pdf" } ], "id": "attack-pattern--2b6e94c6-26d0-489c-989c-9f4307348c42", "modified": "2022-09-29T00:00:00.000Z", "name": "Transparent Proxy Abuse", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "attack-pattern", "x_capec_abstraction": "Standard", "x_capec_child_of_refs": [ "attack-pattern--ec382da0-af49-489b-bca1-a555d48b7ce3" ], "x_capec_domains": [ "Software" ], "x_capec_extended_description": "\n Transparent proxies are often used by enterprises and ISPs. For requests originating at the client transparent proxies need to figure out the final destination of the client's data packet. Two ways are available to do that: either by looking at the layer three (network) IP address or by examining layer seven (application) HTTP header destination. A browser has same origin policy that typically prevents scripts coming from one domain initiating requests to other websites from which they did not come. To circumvent that, however, malicious Flash or an Applet that is executing in the user's browser can attempt to create a cross-domain socket connection from the client to the remote domain. The transparent proxy will examine the HTTP header of the request and direct it to the remote site thereby partially bypassing the browser's same origin policy. This can happen if the transparent proxy uses the HTTP host header information for addressing rather than the IP address information at the network layer. This attack allows malicious scripts inside the victim's browser to issue cross-domain requests to any hosts accessible to the transparent proxy.\n ", "x_capec_prerequisites": [ "Transparent proxy is usedVulnerable configuration of network topology involving the transparent proxy (e.g., no NAT happening between the client and the proxy)Execution of malicious Flash or Applet in the victim's browser" ], "x_capec_skills_required": { "Medium": "Creating malicious Flash or Applet to open a cross-domain socket connection to a remote system" }, "x_capec_status": "Draft", "x_capec_typical_severity": "Medium", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "Design: Ensure that the transparent proxy uses an actual network layer IP address for routing requests. On the transparent proxy, disable the use of routing based on address information in the HTTP host header.", "id": "course-of-action--d939e9ad-f3d3-4c25-8ec4-fd98a3ffed73", "modified": "2022-09-29T00:00:00.000Z", "name": "coa-465-0", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "course-of-action", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--9ac63888-5744-4d6d-adf1-0adf39beb786", "modified": "2022-09-29T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--d939e9ad-f3d3-4c25-8ec4-fd98a3ffed73", "spec_version": "2.1", "target_ref": "attack-pattern--2b6e94c6-26d0-489c-989c-9f4307348c42", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "Configuration: Disable in the browser the execution of Java Script, Flash, SilverLight, etc.", "id": "course-of-action--e6df32f5-31e9-467d-bbd7-4146d1870ef4", "modified": "2022-09-29T00:00:00.000Z", "name": "coa-465-1", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "course-of-action", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--60c4dab5-4f4b-44f2-9098-04dc6db7b9a4", "modified": "2022-09-29T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--e6df32f5-31e9-467d-bbd7-4146d1870ef4", "spec_version": "2.1", "target_ref": "attack-pattern--2b6e94c6-26d0-489c-989c-9f4307348c42", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "An attacker leverages an adversary in the middle attack (CAPEC-94) in order to bypass the same origin policy protection in the victim's browser. This active adversary in the middle attack could be launched, for instance, when the victim is connected to a public WIFI hot spot. An attacker is able to intercept requests and responses between the victim's browser and some non-sensitive website that does not use TLS.", "external_references": [ { "external_id": "CAPEC-466", "source_name": "capec", "url": "https://capec.mitre.org/data/definitions/466.html" }, { "external_id": "CWE-300", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/300.html" }, { "description": "Roi Saltzman, Adi Sharabani, Active Man in the Middle Attacks, 2009--02---02, IBM Rational Application Security Group", "external_id": "REF-403", "source_name": "reference_from_CAPEC", "url": "http://blog.watchfire.com/wfblog/2009/02/active-man-in-the-middle-attacks.html" } ], "id": "attack-pattern--797a5be6-23ff-41bb-be85-51a9976867dd", "modified": "2022-02-22T00:00:00.000Z", "name": "Leveraging Active Adversary in the Middle Attacks to Bypass Same Origin Policy", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "attack-pattern", "x_capec_abstraction": "Standard", "x_capec_child_of_refs": [ "attack-pattern--38964770-4f39-4191-89cf-73a625162b2b" ], "x_capec_consequences": { "Authorization": [ "Execute Unauthorized Commands" ], "Confidentiality": [ "Read Data" ] }, "x_capec_domains": [ "Communications", "Software" ], "x_capec_extended_description": "\n When an attacker intercepts a response bound to the victim, an attacker adds an iFrame (which is possibly invisible) to the response referencing some domain with sensitive functionality and forwards the response to the victim. The victim's browser than automatically initiates an unauthorized request to the site with sensitive functionality. The same origin policy would prevent making these requests to a site other than the one from which the Java Script came, but the attacker once again uses active adversary in the middle to intercept these automatic requests and redirect them to the domain / service with sensitive functionality. Any persistent cookies that the victim has in their browser would be used for these unauthorized requests. The attacker thus actively directs the victim to a site with sensitive functionality. When the site with sensitive functionality responds back to the victim's request, an active adversary in the middle attacker intercepts these responses, injects their own malicious Java Script into these responses, and forwards to the victim's browser. In the victim's browser, that Java Script executes under the restrictions of the site with sensitive functionality and can be used to continue to interact with the sensitive site. So an attacker can execute scripts within the victim's browser on any domains the attacker desires. The attacker is able to use this technique to steal cookies from the victim's browser for whatever site the attacker wants. This applies to both persistent cookies and HTTP only cookies (unlike traditional XSS attacks). An attacker is also able to use this technique to steal authentication credentials for sites that only encrypt the login form, but do not require a secure channel for the initial request to get to the page with the login form. Further the attacker is also able to steal any autocompletion information. This attack pattern can also be used to enable session fixation and cache poisoning attacks. Additional attacks can be enabled as well.\n ", "x_capec_prerequisites": [ "The victim and the attacker are both in an environment where an active adversary in the middle attack is possible (e.g., public WIFI hot spot)The victim visits at least one website that does not use TLS / SSL" ], "x_capec_skills_required": { "Low": "Ability to intercept and modify requests / responses", "Medium": "Solid understanding of the HTTP protocol" }, "x_capec_status": "Draft", "x_capec_typical_severity": "Medium", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "Design: Tunnel communications through a secure proxy", "id": "course-of-action--d80b15df-ac31-4f96-a44b-854eae42d178", "modified": "2022-02-22T00:00:00.000Z", "name": "coa-466-0", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "course-of-action", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--ac76aec8-ae77-4b13-ae78-40f3c080cb27", "modified": "2022-02-22T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--d80b15df-ac31-4f96-a44b-854eae42d178", "spec_version": "2.1", "target_ref": "attack-pattern--797a5be6-23ff-41bb-be85-51a9976867dd", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "Design: Trust level separation for privileged / non privileged interactions (e.g., two different browsers, two different users, two different operating systems, two different virtual machines)", "id": "course-of-action--b3cd2e0b-e09e-426b-b06b-018ee62ab500", "modified": "2022-02-22T00:00:00.000Z", "name": "coa-466-1", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "course-of-action", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--27a38eca-f7d9-4b5e-b966-8e6d36a9dce2", "modified": "2022-02-22T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--b3cd2e0b-e09e-426b-b06b-018ee62ab500", "spec_version": "2.1", "target_ref": "attack-pattern--797a5be6-23ff-41bb-be85-51a9976867dd", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "An attacker harvests identifying information about a victim via an active session that the victim's browser has with a social networking site. A victim may have the social networking site open in one tab or perhaps is simply using the \"remember me\" feature to keep their session with the social networking site active. An attacker induces a payload to execute in the victim's browser that transparently to the victim initiates a request to the social networking site (e.g., via available social network site APIs) to retrieve identifying information about a victim. While some of this information may be public, the attacker is able to harvest this information in context and may use it for further attacks on the user (e.g., spear phishing).", "external_references": [ { "external_id": "CAPEC-467", "source_name": "capec", "url": "https://capec.mitre.org/data/definitions/467.html" }, { "external_id": "CWE-352", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/352.html" }, { "external_id": "CWE-359", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/359.html" }, { "description": "Ronen, Cross Site Identification - or - How your social network might expose you when you least expect it, 2009--12---27", "external_id": "REF-404", "source_name": "reference_from_CAPEC", "url": "http://blog.quaji.com/2009/12/out-of-context-information-disclosure.html" } ], "id": "attack-pattern--c50d5a35-0010-422d-b6f7-d4b963c9bad4", "modified": "2022-02-22T00:00:00.000Z", "name": "Cross Site Identification", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "attack-pattern", "x_capec_abstraction": "Detailed", "x_capec_child_of_refs": [ "attack-pattern--0939f361-ea31-454b-ae3d-4af2411b756d" ], "x_capec_domains": [ "Software" ], "x_capec_example_instances": [ "An attacker may post a malicious posting that contains an image with an embedded link. The link actually requests identifying information from the social networking site. A victim who views the malicious posting in their browser will have sent identifying information to the attacker, as long as the victim had an active session with the social networking site." ], "x_capec_extended_description": "\n There are many other ways in which the attacker may get the payload to execute in the victim's browser mainly by finding a way to hide it in some reputable site that the victim visits. The attacker could also send the link to the victim in an e-mail and trick the victim into clicking on the link. This attack is basically a cross site request forgery attack with two main differences. First, there is no action that is performed on behalf of the user aside from harvesting information. So standard CSRF protection may not work in this situation. Second, what is important in this attack pattern is the nature of the data being harvested, which is identifying information that can be obtained and used in context. This real time harvesting of identifying information can be used as a prelude for launching real time targeted social engineering attacks on the victim.\n ", "x_capec_prerequisites": [ "The victim has an active session with the social networking site." ], "x_capec_skills_required": { "High": "An attacker should be able to create a payload and deliver it to the victim's browser.", "Medium": "An attacker needs to know how to interact with various social networking sites (e.g., via available APIs) to request information and how to send the harvested data back to the attacker." }, "x_capec_status": "Draft", "x_capec_typical_severity": "Low", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "Usage: Users should always explicitly log out from the social networking sites when done using them.", "id": "course-of-action--af4647f0-e80a-49ba-a16d-3c064e63c678", "modified": "2022-02-22T00:00:00.000Z", "name": "coa-467-0", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "course-of-action", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--57332d9a-c39c-4f6b-b1ce-569f45f621b8", "modified": "2022-02-22T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--af4647f0-e80a-49ba-a16d-3c064e63c678", "spec_version": "2.1", "target_ref": "attack-pattern--c50d5a35-0010-422d-b6f7-d4b963c9bad4", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "Usage: Users should not open other tabs in the browser when using a social networking site.", "id": "course-of-action--8127e61d-3ccd-4866-bd76-59c159eeeefe", "modified": "2022-02-22T00:00:00.000Z", "name": "coa-467-1", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "course-of-action", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--5bb90021-f385-4a44-b27b-cecb4dfc0580", "modified": "2022-02-22T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--8127e61d-3ccd-4866-bd76-59c159eeeefe", "spec_version": "2.1", "target_ref": "attack-pattern--c50d5a35-0010-422d-b6f7-d4b963c9bad4", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "An attacker makes use of Cascading Style Sheets (CSS) injection to steal data cross domain from the victim's browser. The attack works by abusing the standards relating to loading of CSS: 1. Send cookies on any load of CSS (including cross-domain) 2. When parsing returned CSS ignore all data that does not make sense before a valid CSS descriptor is found by the CSS parser.", "external_references": [ { "external_id": "CAPEC-468", "source_name": "capec", "url": "https://capec.mitre.org/data/definitions/468.html" }, { "external_id": "CWE-707", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/707.html" }, { "external_id": "CWE-149", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/149.html" }, { "external_id": "CWE-177", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/177.html" }, { "external_id": "CWE-838", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/838.html" }, { "description": "Chris Evans, Generic cross-browser cross-domain theft, 2009--12---28", "external_id": "REF-405", "source_name": "reference_from_CAPEC", "url": "http://scarybeastsecurity.blogspot.com/2009/12/generic-cross-browser-cross-domain.html" } ], "id": "attack-pattern--581433c0-1d73-4975-80f1-6dcee4761bbc", "modified": "2022-02-22T00:00:00.000Z", "name": "Generic Cross-Browser Cross-Domain Theft", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "attack-pattern", "x_capec_abstraction": "Standard", "x_capec_child_of_refs": [ "attack-pattern--7f0f7de2-bf09-4f60-86bb-6933192b7128" ], "x_capec_domains": [ "Software" ], "x_capec_extended_description": "\n By having control of some text in the victim's domain, the attacker is able to inject a seemingly valid CSS string. It does not matter if this CSS string is preceded by other data. The CSS parser will still locate the CSS string. If the attacker is able to control two injection points, one before the cross domain data that the attacker is interested in receiving and the other one after, the attacker can use this attack to steal all of the data in between these two CSS injection points when referencing the injected CSS while performing rendering on the site that the attacker controls. When rendering, the CSS parser will detect the valid CSS string to parse and ignore the data that \"does not make sense\". That data will simply be rendered. That data is in fact the data that the attacker just stole cross domain. The stolen data may contain sensitive information, such CSRF protection tokens.\n ", "x_capec_prerequisites": [ "No new lines can be present in the injected CSS stringProper HTML or URL escaping of the \" and ' characters is not presentThe attacker has control of two injection points: pre-string and post-string" ], "x_capec_resources_required": [ "Attacker controlled site/page to render a page referencing the injected CSS string" ], "x_capec_skills_required": { "High": "Ability to craft a CSS injection" }, "x_capec_status": "Draft", "x_capec_typical_severity": "Medium", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "Design: Prior to performing CSS parsing, require the CSS to start with well-formed CSS when it is a cross-domain load and the MIME type is broken. This is a browser level fix.", "id": "course-of-action--ab470916-70bc-4ac8-8e6f-b924a0e868d5", "modified": "2022-02-22T00:00:00.000Z", "name": "coa-468-0", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "course-of-action", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--2069c887-d975-4ee0-993c-8379a0d1af96", "modified": "2022-02-22T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--ab470916-70bc-4ac8-8e6f-b924a0e868d5", "spec_version": "2.1", "target_ref": "attack-pattern--581433c0-1d73-4975-80f1-6dcee4761bbc", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "Implementation: Perform proper HTML encoding and URL escaping", "id": "course-of-action--3b11fd1d-aa44-4c8f-a3ae-438fa37413a5", "modified": "2022-02-22T00:00:00.000Z", "name": "coa-468-1", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "course-of-action", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--e3d2b93d-bd3c-47a7-a5fc-75b3c56d634b", "modified": "2022-02-22T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--3b11fd1d-aa44-4c8f-a3ae-438fa37413a5", "spec_version": "2.1", "target_ref": "attack-pattern--581433c0-1d73-4975-80f1-6dcee4761bbc", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "An attacker performs flooding at the HTTP level to bring down only a particular web application rather than anything listening on a TCP/IP connection. This denial of service attack requires substantially fewer packets to be sent which makes DoS harder to detect. This is an equivalent of SYN flood in HTTP. The idea is to keep the HTTP session alive indefinitely and then repeat that hundreds of times. This attack targets resource depletion weaknesses in web server software. The web server will wait to attacker's responses on the initiated HTTP sessions while the connection threads are being exhausted.", "external_references": [ { "external_id": "CAPEC-469", "source_name": "capec", "url": "https://capec.mitre.org/data/definitions/469.html" }, { "external_id": "CWE-770", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/770.html" }, { "external_id": "CWE-772", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/772.html" }, { "description": "Endpoint Denial of Service: Service Exhaustion Flood", "external_id": "T1499.002", "source_name": "ATTACK", "url": "https://attack.mitre.org/wiki/Technique/T1499/002" }, { "description": "Robert Hansen, Slowris HTTP DoS, 2009--06---17", "external_id": "REF-406", "source_name": "reference_from_CAPEC", "url": "http://ha.ckers.org/blog/20090617/slowloris-http-dos/" } ], "id": "attack-pattern--aa92a904-ed9d-4dc3-a01f-c965521e9934", "modified": "2022-09-29T00:00:00.000Z", "name": "HTTP DoS", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "attack-pattern", "x_capec_abstraction": "Standard", "x_capec_child_of_refs": [ "attack-pattern--6e3dda09-c1da-4f44-a0b3-e0e3b6fe0601" ], "x_capec_domains": [ "Software" ], "x_capec_prerequisites": [ "HTTP protocol is usedWeb server used is vulnerable to denial of service via HTTP flooding" ], "x_capec_resources_required": [ "Ability to issues hundreds of HTTP requests" ], "x_capec_status": "Draft", "x_capec_typical_severity": "Low", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "Configuration: Configure web server software to limit the waiting period on opened HTTP sessions", "id": "course-of-action--cac35d87-f34b-428c-95aa-1e5963873af5", "modified": "2022-09-29T00:00:00.000Z", "name": "coa-469-0", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "course-of-action", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--dd88d686-216c-4942-8543-341f79451457", "modified": "2022-09-29T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--cac35d87-f34b-428c-95aa-1e5963873af5", "spec_version": "2.1", "target_ref": "attack-pattern--aa92a904-ed9d-4dc3-a01f-c965521e9934", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "Design: Use load balancing mechanisms", "id": "course-of-action--f1bbdc64-6921-4303-9b24-7f7f5e1d7220", "modified": "2022-09-29T00:00:00.000Z", "name": "coa-469-1", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "course-of-action", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--37641472-3448-4011-b562-97904650273a", "modified": "2022-09-29T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--f1bbdc64-6921-4303-9b24-7f7f5e1d7220", "spec_version": "2.1", "target_ref": "attack-pattern--aa92a904-ed9d-4dc3-a01f-c965521e9934", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "In this attack, the target software is given input that the adversary knows will be modified and expanded in size during processing. This attack relies on the target software failing to anticipate that the expanded data may exceed some internal limit, thereby creating a buffer overflow.", "external_references": [ { "external_id": "CAPEC-47", "source_name": "capec", "url": "https://capec.mitre.org/data/definitions/47.html" }, { "external_id": "CWE-120", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/120.html" }, { "external_id": "CWE-119", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/119.html" }, { "external_id": "CWE-118", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/118.html" }, { "external_id": "CWE-130", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/130.html" }, { "external_id": "CWE-131", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/131.html" }, { "external_id": "CWE-74", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/74.html" }, { "external_id": "CWE-20", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/20.html" }, { "external_id": "CWE-680", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/680.html" }, { "external_id": "CWE-697", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/697.html" }, { "description": "G. Hoglund, G. McGraw, Exploiting Software: How to Break Code, 2004--02, Addison-Wesley", "external_id": "REF-1", "source_name": "reference_from_CAPEC" } ], "id": "attack-pattern--e61f5dd9-d26e-454f-ab07-171f3dea6e73", "modified": "2022-02-22T00:00:00.000Z", "name": "Buffer Overflow via Parameter Expansion", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "attack-pattern", "x_capec_abstraction": "Detailed", "x_capec_child_of_refs": [ "attack-pattern--77e51461-7843-411c-a90e-852498957f76" ], "x_capec_consequences": { "Access_Control": [ "Gain Privileges" ], "Authorization": [ "Gain Privileges" ], "Availability": [ "Unreliable Execution", "Execute Unauthorized Commands (Run Arbitrary Code)" ], "Confidentiality": [ "Gain Privileges", "Execute Unauthorized Commands (Run Arbitrary Code)", "Read Data" ], "Integrity": [ "Modify Data", "Execute Unauthorized Commands (Run Arbitrary Code)" ] }, "x_capec_domains": [ "Software" ], "x_capec_example_instances": [ "\n Attack Example: FTP glob()\n The glob() function in FTP servers has been susceptible to attack as a result of incorrect resizing. This is an ftpd glob() Expansion LIST Heap Overflow Vulnerability. ftp daemon contains a heap-based buffer overflow condition. The overflow occurs when the LIST command is issued with an argument that expands into an oversized string after being processed by glob().\n This buffer overflow occurs in memory that is dynamically allocated. It may be possible for adversaries to exploit this vulnerability and execute arbitrary code on the affected host.\n To exploit this, the adversary must be able to create directories on the target host.\n The glob() function is used to expand short-hand notation into complete file names. By sending to the FTP server a request containing a tilde (~) and other wildcard characters in the pathname string, a remote adversary can overflow a buffer and execute arbitrary code on the FTP server to gain root privileges. Once the request is processed, the glob() function expands the user input, which could exceed the expected length. In order to exploit this vulnerability, the adversary must be able to create directories on the FTP server.\n [REF-1]See also: CVE-2001-0249", "\n Buffer overflow in the glob implementation in libc in NetBSD-current before 20050914, and NetBSD 2.* and 3.* before 20061203, as used by the FTP daemon, allows remote authenticated users to execute arbitrary code via a long pathname that results from path expansion.\n The limit computation of an internal buffer was done incorrectly. The size of the buffer in byte was used as element count, even though the elements of the buffer are 2 bytes long. Long expanded path names would therefore overflow the buffer.See also: CVE-2006-6652" ], "x_capec_execution_flow": "

Execution Flow

Explore

  1. Identify target application: The adversary identifies a target application or program to perform the buffer overflow on. Adversaries often look for applications that accept user input and that perform manual memory management.

Experiment

  1. Find injection vector: The adversary identifies an injection vector to deliver the excessive content to the targeted application's buffer.

  2. Techniques
    In this attack, the normal method of providing large user input does not work. The program performs bounds checking on the user input, but not the expanded user input. The adversary needs to provide input that they believe will be expanded by the program to overflow a buffer. To identify where this is possible, an adversary either needs to have knowledge of the inner workings of the program or use a disassembler and other reverse engineering tools to guide the search.
  3. Craft overflow content: The adversary crafts the input to be given to the program. If the intent is to simply cause the software to crash, the input needs only to expand to an excessive quantity of random data. If the intent is to leverage the overflow for execution of arbitrary code, the adversary will craft input that expands in a way that not only overflows the targeted buffer but does so in such a way that the overwritten return address is replaced with one of the adversaries' choosing which points to code injected by the adversary.

  4. Techniques
    Create specific files and directories on the system and then give input using path traversal shortcuts to those directories that could expand past an input buffer.

Exploit

  1. Overflow the buffer: Using the injection vector, the adversary gives the crafted input to the program, overflowing the buffer.

", "x_capec_likelihood_of_attack": "Medium", "x_capec_prerequisites": [ "The program expands one of the parameters passed to a function with input controlled by the user, but a later function making use of the expanded parameter erroneously considers the original, not the expanded size of the parameter.", "The expanded parameter is used in the context where buffer overflow may become possible due to the incorrect understanding of the parameter size (i.e. thinking that it is smaller than it really is)." ], "x_capec_resources_required": [ "Access to the program source or binary. If the program is only available in binary then a disassembler and other reverse engineering tools will be helpful." ], "x_capec_skills_required": { "High": "Finding this particular buffer overflow may not be trivial. Also, stack and especially heap based buffer overflows require a lot of knowledge if the intended goal is arbitrary code execution. Not only that the adversary needs to write the shell code to accomplish their goals, but the adversary also needs to find a way to get the program execution to jump to the planted shell code. There also needs to be sufficient room for the payload. So not every buffer overflow will be exploitable, even by a skilled adversary." }, "x_capec_status": "Draft", "x_capec_typical_severity": "High", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "Ensure that when parameter expansion happens in the code that the assumptions used to determine the resulting size of the parameter are accurate and that the new size of the parameter is visible to the whole system", "id": "course-of-action--f3dcafa1-68b1-4610-a489-f68adb1fcaed", "modified": "2022-02-22T00:00:00.000Z", "name": "coa-47-0", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "course-of-action", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--f17b6dc5-ba75-4137-8d20-e847c4934580", "modified": "2022-02-22T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--f3dcafa1-68b1-4610-a489-f68adb1fcaed", "spec_version": "2.1", "target_ref": "attack-pattern--e61f5dd9-d26e-454f-ab07-171f3dea6e73", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "An attacker is able to leverage access gained to the database to read / write data to the file system, compromise the operating system, create a tunnel for accessing the host machine, and use this access to potentially attack other machines on the same network as the database machine. Traditionally SQL injections attacks are viewed as a way to gain unauthorized read access to the data stored in the database, modify the data in the database, delete the data, etc. However, almost every data base management system (DBMS) system includes facilities that if compromised allow an attacker complete access to the file system, operating system, and full access to the host running the database. The attacker can then use this privileged access to launch subsequent attacks. These facilities include dropping into a command shell, creating user defined functions that can call system level libraries present on the host machine, stored procedures, etc.", "external_references": [ { "external_id": "CAPEC-470", "source_name": "capec", "url": "https://capec.mitre.org/data/definitions/470.html" }, { "external_id": "CWE-250", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/250.html" }, { "external_id": "CWE-89", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/89.html" }, { "description": "Bernardo Damele Assump ção Guimarães, Advanced SQL Injection to Operating System Full Control, 2009--04---10", "external_id": "REF-408", "source_name": "reference_from_CAPEC", "url": "http://www.blackhat.com/presentations/bh-europe-09/Guimaraes/Blackhat-europe-09-Damele-SQLInjection-whitepaper.pdf" } ], "id": "attack-pattern--35bde6ec-0a19-462c-92b4-9c481dc4986e", "modified": "2020-12-17T00:00:00.000Z", "name": "Expanding Control over the Operating System from the Database", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "attack-pattern", "x_capec_abstraction": "Detailed", "x_capec_child_of_refs": [ "attack-pattern--42acc604-a86c-46f7-bd03-6e532c02d85e" ], "x_capec_domains": [ "Software" ], "x_capec_execution_flow": "

Execution Flow

Explore

  1. The adversary identifies a database management system running on a machine they would like to gain control over, or on a network they want to move laterally through.

Experiment

  1. The adversary goes about the typical steps of an SQL injection and determines if an injection is possible.

  2. Once the Adversary determines that an SQL injection is possible, they must ensure that the requirements for the attack are met. These are a high privileged session user and batched query support. This is done in similar ways to discovering if an SQL injection is possible.

  3. If the requirements are met, based on the database management system that is running, the adversary will find or create user defined functions (UDFs) that can be loaded as DLLs. An example of a DLL can be found at https://github.com/rapid7/metasploit-framework/tree/master/data/exploits/mysql

  4. In order to load the DLL, the adversary must first find the path to the plugin directory. The command to achieve this is different based on the type of DBMS, but for MySQL, this can be achieved by running the command \"select @@plugin_dir\"

Exploit

  1. The DLL is then moved into the previously found plugin directory so that the contained functions can be loaded. This can be done in a number of ways; loading from a network share, writing the entire hex encoded string to a file in the plugin directory, or loading the DLL into a table and then into a file. An example using MySQL to load the hex string is as follows. select 0x4d5a9000... into dump file \"{plugin directory}\\\\udf.dll\";

  2. Once the DLL is in the plugin directory, a command is then run to load the UDFs. An example of this in MySQL is \"create function sys_eval returns string soname 'udf.dll';\" The function sys_eval is specific to the example DLL listed above.

  3. Once the adversary has loaded the desired function(s), they will use these to execute arbitrary commands on the compromised system. This is done through a simple select command to the loaded UDF. For example: \"select sys_eval('dir');\". Because the prerequisite to this attack is that the database session user is a super user, this means that the adversary will be able to execute commands with elevated privileges.

", "x_capec_prerequisites": [ "A vulnerable DBMS is usedA SQL injection exists that gives an attacker access to the database or an attacker has access to the DBMS via other means" ], "x_capec_skills_required": { "High": "Low level knowledge of the various facilities available in different DBMS systems for interacting with the file system and operating system" }, "x_capec_status": "Draft", "x_capec_typical_severity": "Very High", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "Design: Follow the defensive programming practices needed to protect an application accessing the database from SQL injection", "id": "course-of-action--95d0b674-30ae-40e9-8db2-38a8a211eb62", "modified": "2020-12-17T00:00:00.000Z", "name": "coa-470-0", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "course-of-action", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--9147a7dc-96c2-41f7-b9c5-b3ef49dcdf38", "modified": "2020-12-17T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--95d0b674-30ae-40e9-8db2-38a8a211eb62", "spec_version": "2.1", "target_ref": "attack-pattern--35bde6ec-0a19-462c-92b4-9c481dc4986e", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "Configuration: Ensure that the DBMS is patched with the latest security patches", "id": "course-of-action--57dfed23-ac96-435d-9b02-e9c712b0bb48", "modified": "2020-12-17T00:00:00.000Z", "name": "coa-470-1", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "course-of-action", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--71f0bd8e-33e6-4ef2-8778-ffdf5c5609a9", "modified": "2020-12-17T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--57dfed23-ac96-435d-9b02-e9c712b0bb48", "spec_version": "2.1", "target_ref": "attack-pattern--35bde6ec-0a19-462c-92b4-9c481dc4986e", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "Design: Ensure that the DBMS login used by the application has the lowest possible level of privileges in the DBMS", "id": "course-of-action--4c4bd6ec-b943-4f42-a425-366871f00c6c", "modified": "2020-12-17T00:00:00.000Z", "name": "coa-470-2", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "course-of-action", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--48504b4a-e44a-448e-a9a2-3897cd085eda", "modified": "2020-12-17T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--4c4bd6ec-b943-4f42-a425-366871f00c6c", "spec_version": "2.1", "target_ref": "attack-pattern--35bde6ec-0a19-462c-92b4-9c481dc4986e", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "Design: Ensure that DBMS runs with the lowest possible level of privileges on the host machine and that it runs as a separate user", "id": "course-of-action--8a0e8a90-0024-487b-a75a-38d27942b5c3", "modified": "2020-12-17T00:00:00.000Z", "name": "coa-470-3", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "course-of-action", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--0e9ce000-b8ad-473e-8a4f-892b64b4c43e", "modified": "2020-12-17T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--8a0e8a90-0024-487b-a75a-38d27942b5c3", "spec_version": "2.1", "target_ref": "attack-pattern--35bde6ec-0a19-462c-92b4-9c481dc4986e", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "Usage: Do not use the DBMS machine for anything else other than the database", "id": "course-of-action--a1e0c3a0-c417-4924-88b6-f2b4837968a9", "modified": "2020-12-17T00:00:00.000Z", "name": "coa-470-4", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "course-of-action", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--95f621c4-31d2-4fd4-89e2-7b69c24af990", "modified": "2020-12-17T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--a1e0c3a0-c417-4924-88b6-f2b4837968a9", "spec_version": "2.1", "target_ref": "attack-pattern--35bde6ec-0a19-462c-92b4-9c481dc4986e", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "Usage: Do not place any trust in the database host on the internal network. Authenticate and validate all network activity originating from the database host.", "id": "course-of-action--b79a6e4c-8a5d-4123-8504-1dbec2d44717", "modified": "2020-12-17T00:00:00.000Z", "name": "coa-470-5", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "course-of-action", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--ca5847b9-62fc-42d7-8ec4-e4068cd7df27", "modified": "2020-12-17T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--b79a6e4c-8a5d-4123-8504-1dbec2d44717", "spec_version": "2.1", "target_ref": "attack-pattern--35bde6ec-0a19-462c-92b4-9c481dc4986e", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "Usage: Use an intrusion detection system to monitor network connections and logs on the database host.", "id": "course-of-action--f47f9885-ef51-4567-94af-f8a1a131599b", "modified": "2020-12-17T00:00:00.000Z", "name": "coa-470-6", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "course-of-action", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--ce982c38-66be-4428-a92d-ebb29735fb27", "modified": "2020-12-17T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--f47f9885-ef51-4567-94af-f8a1a131599b", "spec_version": "2.1", "target_ref": "attack-pattern--35bde6ec-0a19-462c-92b4-9c481dc4986e", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "Implementation: Remove / disable all unneeded / unused functions of the DBMS system that may allow an attacker to elevate privileges if compromised", "id": "course-of-action--82f878db-50ad-43ad-b106-177323a07ddc", "modified": "2020-12-17T00:00:00.000Z", "name": "coa-470-7", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "course-of-action", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--7b22a10d-ca9b-4638-b525-d142e88f10e7", "modified": "2020-12-17T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--82f878db-50ad-43ad-b106-177323a07ddc", "spec_version": "2.1", "target_ref": "attack-pattern--35bde6ec-0a19-462c-92b4-9c481dc4986e", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "An adversary exploits a weakness in an application's specification of external libraries to exploit the functionality of the loader where the process loading the library searches first in the same directory in which the process binary resides and then in other directories. Exploitation of this preferential search order can allow an attacker to make the loading process load the adversary's rogue library rather than the legitimate library. This attack can be leveraged with many different libraries and with many different loading processes. No forensic trails are left in the system's registry or file system that an incorrect library had been loaded.", "external_references": [ { "external_id": "CAPEC-471", "source_name": "capec", "url": "https://capec.mitre.org/data/definitions/471.html" }, { "external_id": "CWE-427", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/427.html" }, { "description": "Hijack Execution Flow:DLL search order hijacking", "external_id": "T1574.001", "source_name": "ATTACK", "url": "https://attack.mitre.org/wiki/Technique/T1574/001" }, { "description": "Hijack Execution Flow: Dylib Hijacking", "external_id": "T1574.004", "source_name": "ATTACK", "url": "https://attack.mitre.org/wiki/Technique/T1574/004" }, { "description": "Hijack Execution Flow: Path Interception by Search Order Hijacking", "external_id": "T1574.008", "source_name": "ATTACK", "url": "https://attack.mitre.org/wiki/Technique/T1574/008" }, { "description": "M Trends Report, 2011, Mandiant", "external_id": "REF-409", "source_name": "reference_from_CAPEC", "url": "https://www.mandiant.com" } ], "id": "attack-pattern--abdd46ce-dd2d-4430-8032-aa3ee1d262fd", "modified": "2022-09-29T00:00:00.000Z", "name": "Search Order Hijacking", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "attack-pattern", "x_capec_abstraction": "Detailed", "x_capec_child_of_refs": [ "attack-pattern--d16af13f-5e0f-4a6b-bc1f-23f733d2229b" ], "x_capec_domains": [ "Software" ], "x_capec_example_instances": [ "For instance, an attacker with access to the file system may place a malicious ntshrui.dll in the C:\\Windows directory. This DLL normally resides in the System32 folder. Process explorer.exe which also resides in C:\\Windows, upon trying to load the ntshrui.dll from the System32 folder will actually load the DLL supplied by the attacker simply because of the preferential search order. Since the attacker has placed its malicious ntshrui.dll in the same directory as the loading explorer.exe process, the DLL supplied by the attacker will be found first and thus loaded in lieu of the legitimate DLL. Since explorer.exe is loaded during the boot cycle, the attackers' malware is guaranteed to execute.", "macOS and OS X use a common method to look for required dynamic libraries (dylib) to load into a program based on search paths. Adversaries can take advantage of ambiguous paths to plant dylibs to gain privilege escalation or persistence. A common method is to see what dylibs an application uses, then plant a malicious version with the same name higher up in the search path. This typically results in the dylib being in the same folder as the application itself. If the program is configured to run at a higher privilege level than the current user, then when the dylib is loaded into the application, the dylib will also run at that elevated level." ], "x_capec_execution_flow": "

Execution Flow

Explore

  1. Identify target general susceptibility: An attacker uses an automated tool or manually finds whether the target application uses dynamically linked libraries and the configuration file or look up table (such as Procedure Linkage Table) which contains the entries for dynamically linked libraries.

  2. Techniques
    The attacker uses a tool such as the OSX \"otool\" utility or manually probes whether the target application uses dynamically linked libraries.
    The attacker finds the configuration files containing the entries to the dynamically linked libraries and modifies the entries to point to the malicious libraries the attacker crafted.

Experiment

  1. Craft malicious libraries: The attacker uses knowledge gained in the Explore phase to craft malicious libraries that they will redirect the target to leverage. These malicious libraries could have the same APIs as the legitimate library and additional malicious code.

  2. Techniques
    The attacker monitors the file operations performed by the target application using a tool like dtrace or FileMon. And the attacker can delay the operations by using \"sleep(2)\" and \"usleep()\" to prepare the appropriate conditions for the attack, or make the application perform expansive tasks (large files parsing, etc.) depending on the purpose of the application.

Exploit

  1. Redirect the access to libraries to the malicious libraries: The attacker redirects the target to the malicious libraries they crafted in the Experiment phase. The attacker will be able to force the targeted application to execute arbitrary code when the application attempts to access the legitimate libraries.

  2. Techniques
    The attacker modifies the entries in the configuration files pointing to the malicious libraries they crafted.
    The attacker leverages symlink/timing issues to redirect the target to access the malicious libraries they crafted. See also: CAPEC-132.
    The attacker leverages file search path order issues to redirect the target to access the malicious libraries they crafted. See also: CAPEC-38.
", "x_capec_prerequisites": [ "Attacker has a mechanism to place its malicious libraries in the needed location on the file system." ], "x_capec_skills_required": { "Medium": "Ability to create a malicious library." }, "x_capec_status": "Stable", "x_capec_typical_severity": "Medium", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "Design: Fix the Windows loading process to eliminate the preferential search order by looking for DLLs in the precise location where they are expected", "id": "course-of-action--8ffe2b80-32e7-45af-ae49-9acc5644e178", "modified": "2022-09-29T00:00:00.000Z", "name": "coa-471-0", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "course-of-action", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--2809e228-142a-488a-a2f7-22b0bdda15e1", "modified": "2022-09-29T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--8ffe2b80-32e7-45af-ae49-9acc5644e178", "spec_version": "2.1", "target_ref": "attack-pattern--abdd46ce-dd2d-4430-8032-aa3ee1d262fd", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "Design: Sign system DLLs so that unauthorized DLLs can be detected.", "id": "course-of-action--92e64bf4-2169-4c6e-85ec-d018c8dd9146", "modified": "2022-09-29T00:00:00.000Z", "name": "coa-471-1", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "course-of-action", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--189e08be-aa2a-4fe1-9544-7d387f8d6fd4", "modified": "2022-09-29T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--92e64bf4-2169-4c6e-85ec-d018c8dd9146", "spec_version": "2.1", "target_ref": "attack-pattern--abdd46ce-dd2d-4430-8032-aa3ee1d262fd", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "An attacker carefully crafts small snippets of Java Script to efficiently detect the type of browser the potential victim is using. Many web-based attacks need prior knowledge of the web browser including the version of browser to ensure successful exploitation of a vulnerability. Having this knowledge allows an attacker to target the victim with attacks that specifically exploit known or zero day weaknesses in the type and version of the browser used by the victim. Automating this process via Java Script as a part of the same delivery system used to exploit the browser is considered more efficient as the attacker can supply a browser fingerprinting method and integrate it with exploit code, all contained in Java Script and in response to the same web page request by the browser.", "external_references": [ { "external_id": "CAPEC-472", "source_name": "capec", "url": "https://capec.mitre.org/data/definitions/472.html" }, { "external_id": "CWE-200", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/200.html" }, { "description": "Gareth Heyes, Detecting browsers javascript hacks, The Spanner, 2009--01---29", "external_id": "REF-410", "source_name": "reference_from_CAPEC", "url": "http://www.thespanner.co.uk/2009/01/29/detecting-browsers-javascript-hacks/" } ], "id": "attack-pattern--29e8786c-a791-44c6-b1de-950cf0604643", "modified": "2022-09-29T00:00:00.000Z", "name": "Browser Fingerprinting", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "attack-pattern", "x_capec_abstraction": "Detailed", "x_capec_child_of_refs": [ "attack-pattern--e7eec058-4cd9-4fa0-8784-ed961d8d7290" ], "x_capec_domains": [ "Software" ], "x_capec_example_instances": [ "\n The following code snippets can be used to detect various browsers:\n \n Firefox 2/3\n FF=/a/[-1]=='a'\n Firefox 3\n FF3=(function x(){})[-5]=='x'\n Firefox 2\n FF2=(function x(){})[-6]=='x'\n IE\n IE='\\v'=='v'\n Safari\n Saf=/a/.__proto__=='//'\n Chrome\n Chr=/source/.test((/a/.toString+''))\n Opera\n Op=/^function \\(/.test([].sort)\n \n " ], "x_capec_prerequisites": [ "Victim's browser visits a website that contains attacker's Java ScriptJava Script is not disabled in the victim's browser" ], "x_capec_status": "Draft", "x_capec_typical_severity": "Low", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "Configuration: Disable Java Script in the browser", "id": "course-of-action--4f6e0e7b-25c7-423b-bb3e-a652a1fe9285", "modified": "2022-09-29T00:00:00.000Z", "name": "coa-472-0", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "course-of-action", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--11ed3172-e4ba-44b6-90f3-93e92247d779", "modified": "2022-09-29T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--4f6e0e7b-25c7-423b-bb3e-a652a1fe9285", "spec_version": "2.1", "target_ref": "attack-pattern--29e8786c-a791-44c6-b1de-950cf0604643", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "An attacker generates a message or datablock that causes the recipient to believe that the message or datablock was generated and cryptographically signed by an authoritative or reputable source, misleading a victim or victim operating system into performing malicious actions.", "external_references": [ { "external_id": "CAPEC-473", "source_name": "capec", "url": "https://capec.mitre.org/data/definitions/473.html" }, { "external_id": "CWE-20", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/20.html" }, { "external_id": "CWE-327", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/327.html" }, { "external_id": "CWE-290", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/290.html" }, { "description": "Masquerading: Invalid Code Signature", "external_id": "T1036.001", "source_name": "ATTACK", "url": "https://attack.mitre.org/wiki/Technique/T1036/001" }, { "description": "Subvert Trust Controls: Code Signing", "external_id": "T1553.002", "source_name": "ATTACK", "url": "https://attack.mitre.org/wiki/Technique/T1553/002" } ], "id": "attack-pattern--d94762c1-3c78-47eb-8212-e0c770ba43a9", "modified": "2022-09-29T00:00:00.000Z", "name": "Signature Spoof", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "attack-pattern", "x_capec_abstraction": "Standard", "x_capec_child_of_refs": [ "attack-pattern--22802ed6-ddc6-4da7-b6be-60b10d26198b" ], "x_capec_consequences": { "Access_Control": [ "Gain Privileges" ], "Authentication": [ "Gain Privileges" ] }, "x_capec_domains": [ "Software" ], "x_capec_example_instances": [ "An attacker provides a victim with a malicious executable disguised as a legitimate executable from an established software by signing the executable with a forged cryptographic key. The victim's operating system attempts to verify the executable by checking the signature, the signature is considered valid, and the attackers' malicious executable runs.", "An attacker exploits weaknesses in a cryptographic algorithm to that allow a private key for a legitimate software vendor to be reconstructed, attacker-created malicious software is cryptographically signed with the reconstructed key, and is installed by the victim operating system disguised as a legitimate software update from the software vendor." ], "x_capec_parent_of_refs": [ "attack-pattern--138c8405-1295-44b9-b2ed-3b4cd15c2a55", "attack-pattern--a9d3765f-d7af-4ba2-9396-007d9942240f", "attack-pattern--9250f041-d55b-4610-aff0-979b5800dc18", "attack-pattern--72a45548-61df-47c1-a7a0-12e07ec71f37", "attack-pattern--929e7d9a-b34c-43ad-b58b-b8df918c4f62", "attack-pattern--a35eb10e-1168-4c77-8f46-87fa6ee40ef7", "attack-pattern--5b01885b-ebb8-4b72-8314-6fb4729eda47" ], "x_capec_prerequisites": [ "The victim or victim system is dependent upon a cryptographic signature-based verification system for validation of one or more security events or actions.", "The validation can be bypassed via an attacker-provided signature that makes it appear that the legitimate authoritative or reputable source provided the signature." ], "x_capec_skills_required": { "High": "Technical understanding of how signature verification algorithms work with data and applications" }, "x_capec_status": "Draft", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "An attacker obtains an authoritative or reputable signer's private signature key by theft and then uses this key to forge signatures from the original signer to mislead a victim into performing actions that benefit the attacker.", "external_references": [ { "external_id": "CAPEC-474", "source_name": "capec", "url": "https://capec.mitre.org/data/definitions/474.html" }, { "external_id": "CWE-522", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/522.html" }, { "description": "Unsecured Credentials: Private Keys", "external_id": "T1552.004", "source_name": "ATTACK", "url": "https://attack.mitre.org/wiki/Technique/T1552/004" }, { "description": "Sigbjørn Vik, Security breach stopped, 2013--06---26, http://my.opera.com/securitygroup/blog/2013/06/26/opera-infrastructure-attack", "external_id": "REF-411", "source_name": "reference_from_CAPEC" }, { "description": "Patrick Morley, Bit9 and Our Customers’ Security, 2013--02---08, https://blog.bit9.com/2013/02/08/bit9-and-our-customers-security/", "external_id": "REF-412", "source_name": "reference_from_CAPEC" }, { "description": "Brad Arkin, Inappropriate Use of Adobe Code Signing Certificate, 2012--09---27, http://blogs.adobe.com/asset/2012/09/inappropriate-use-of-adobe-code-signing-certificate.html", "external_id": "REF-413", "source_name": "reference_from_CAPEC" } ], "id": "attack-pattern--a9d3765f-d7af-4ba2-9396-007d9942240f", "modified": "2022-09-29T00:00:00.000Z", "name": "Signature Spoofing by Key Theft", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "attack-pattern", "x_capec_abstraction": "Detailed", "x_capec_child_of_refs": [ "attack-pattern--d94762c1-3c78-47eb-8212-e0c770ba43a9" ], "x_capec_domains": [ "Software" ], "x_capec_likelihood_of_attack": "Medium", "x_capec_prerequisites": [ "An authoritative or reputable signer is storing their private signature key with insufficient protection." ], "x_capec_skills_required": { "High": "Ability to compromise systems containing sensitive data", "Low": "Knowledge of common location methods and access methods to sensitive data" }, "x_capec_status": "Draft", "x_capec_typical_severity": "High", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "Restrict access to private keys from non-supervisory accounts", "id": "course-of-action--1a764dd5-94bd-4c75-bef3-01a623dd0d4a", "modified": "2022-09-29T00:00:00.000Z", "name": "coa-474-0", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "course-of-action", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--ed7f5dd6-f7d2-404c-b096-c1b77aec68be", "modified": "2022-09-29T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--1a764dd5-94bd-4c75-bef3-01a623dd0d4a", "spec_version": "2.1", "target_ref": "attack-pattern--a9d3765f-d7af-4ba2-9396-007d9942240f", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "Restrict access to administrative personnel and processes only", "id": "course-of-action--ecc460e4-3af3-4082-8906-0c1f6892992f", "modified": "2022-09-29T00:00:00.000Z", "name": "coa-474-1", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "course-of-action", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--af927d47-9f4f-4c35-abe7-1b27e76baf07", "modified": "2022-09-29T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--ecc460e4-3af3-4082-8906-0c1f6892992f", "spec_version": "2.1", "target_ref": "attack-pattern--a9d3765f-d7af-4ba2-9396-007d9942240f", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "Ensure all remote methods are secured", "id": "course-of-action--4997aedd-dbf7-4903-a4e1-1037632690b8", "modified": "2022-09-29T00:00:00.000Z", "name": "coa-474-2", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "course-of-action", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--d744a39d-65e1-4dc4-800a-54487a665643", "modified": "2022-09-29T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--4997aedd-dbf7-4903-a4e1-1037632690b8", "spec_version": "2.1", "target_ref": "attack-pattern--a9d3765f-d7af-4ba2-9396-007d9942240f", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "Ensure all services are patched and up to date", "id": "course-of-action--500e5e72-3b87-4258-b3e5-53fce6b4b801", "modified": "2022-09-29T00:00:00.000Z", "name": "coa-474-3", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "course-of-action", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--3605759e-9ca2-443d-901d-741c0c2033c6", "modified": "2022-09-29T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--500e5e72-3b87-4258-b3e5-53fce6b4b801", "spec_version": "2.1", "target_ref": "attack-pattern--a9d3765f-d7af-4ba2-9396-007d9942240f", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "An adversary exploits a cryptographic weakness in the signature verification algorithm implementation to generate a valid signature without knowing the key.", "external_references": [ { "external_id": "CAPEC-475", "source_name": "capec", "url": "https://capec.mitre.org/data/definitions/475.html" }, { "external_id": "CWE-347", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/347.html" }, { "external_id": "CWE-327", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/327.html" }, { "external_id": "CWE-295", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/295.html" }, { "description": "Kenn White, Microsoft's Chain of Fools, 2020--01---15, First Principles", "external_id": "REF-562", "source_name": "reference_from_CAPEC", "url": "https://blog.lessonslearned.org/chain-of-fools/" }, { "description": "Patch Critical Cryptographic Vulnerability in Microsoft Windows Clients and Servers, 2020--01---14, National Security Agency (NSA)", "external_id": "REF-563", "source_name": "reference_from_CAPEC", "url": "https://media.defense.gov/2020/Jan/14/2002234275/-1/-1/0/CSA-WINDOWS-10-CRYPT-LIB-20190114.PDF" }, { "description": "Thomas Ptacek, Thomas Pornin, Analysis of REF-563, Hacker News", "external_id": "REF-564", "source_name": "reference_from_CAPEC", "url": "https://news.ycombinator.com/item?id=22048619" } ], "id": "attack-pattern--9250f041-d55b-4610-aff0-979b5800dc18", "modified": "2022-02-22T00:00:00.000Z", "name": "Signature Spoofing by Improper Validation", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "attack-pattern", "x_capec_abstraction": "Detailed", "x_capec_can_precede_refs": [ "attack-pattern--482cb9fc-0122-49f0-b6df-6d2d42098b0a" ], "x_capec_child_of_refs": [ "attack-pattern--d94762c1-3c78-47eb-8212-e0c770ba43a9" ], "x_capec_domains": [ "Software" ], "x_capec_example_instances": [ "The Windows CryptoAPI (Crypt32.dll) was shown to be vulnerable to signature spoofing by failing to properly validate Elliptic Curve Cryptography (ECC) certificates. If the CryptoAPI's signature validator allows the specification of a nonstandard base point (G): \"An adversary can create a custom ECDSA certificate with an elliptic curve (ECC) signature that appears to match a known standard curve, like P-256 that includes a public key for an existing known trusted certificate authority, but which was in fact not signed by that certificate authority. Windows checks the public key and other curve parameters, but not the (bespoke adversary-supplied) base point generator (G) parameter constant which actually generated the curve\" [REF-562]. Exploiting this vulnerability allows the adversary to leverage a spoofed certificate to dupe trusted network connections and deliver/execute malicious code, while appearing as legitimately trusted entity [REF-563]. This ultimately tricks the victim into believing the malicious website or executable is legitimate and originates from a properly verified source. See also: CVE-2020-0601" ], "x_capec_extended_description": "\n Signature verification algorithms are generally used to determine whether a certificate or piece of code (e.g. executable, binary, etc.) possesses a valid signature and can be trusted.\n If the leveraged algorithm confirms that a valid signature exists, it establishes a foundation of trust that is further conveyed to the end-user when interacting with a website or application. However, if the signature verification algorithm improperly validates the signature, either by not validating the signature at all or by failing to fully validate the signature, it could result in an adversary generating a spoofed signature and being classified as a legitimate entity. Successfully exploiting such a weakness could further allow the adversary to reroute users to malicious sites, steals files, activates microphones, records keystrokes and passwords, wipes disks, installs malware, and more.\n ", "x_capec_likelihood_of_attack": "Low", "x_capec_prerequisites": [ "Recipient is using a weak cryptographic signature verification algorithm or a weak implementation of a cryptographic signature verification algorithm, or the configuration of the recipient's application accepts the use of keys generated using cryptographically weak signature verification algorithms." ], "x_capec_skills_required": { "High": "Reverse engineering and cryptanalysis of signature verification algorithm implementation" }, "x_capec_status": "Draft", "x_capec_typical_severity": "High", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "Use programs and products that contain cryptographic elements that have been thoroughly tested for flaws in the signature verification routines.", "id": "course-of-action--c68612c7-a3bf-4a0e-8416-0cc58982766d", "modified": "2022-02-22T00:00:00.000Z", "name": "coa-475-0", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "course-of-action", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--ca2272d5-9269-4fa1-9964-f2d6d45c271c", "modified": "2022-02-22T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--c68612c7-a3bf-4a0e-8416-0cc58982766d", "spec_version": "2.1", "target_ref": "attack-pattern--9250f041-d55b-4610-aff0-979b5800dc18", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "An attacker exploits a weakness in the parsing or display code of the recipient software to generate a data blob containing a supposedly valid signature, but the signer's identity is falsely represented, which can lead to the attacker manipulating the recipient software or its victim user to perform compromising actions.", "external_references": [ { "external_id": "CAPEC-476", "source_name": "capec", "url": "https://capec.mitre.org/data/definitions/476.html" }, { "external_id": "CWE-290", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/290.html" }, { "description": "Eric Johanson, The state of homograph attacks, 2005--02---11, http://www.shmoo.com/idn/homograph.txt", "external_id": "REF-414", "source_name": "reference_from_CAPEC" } ], "id": "attack-pattern--72a45548-61df-47c1-a7a0-12e07ec71f37", "modified": "2019-04-04T00:00:00.000Z", "name": "Signature Spoofing by Misrepresentation", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "attack-pattern", "x_capec_abstraction": "Detailed", "x_capec_child_of_refs": [ "attack-pattern--d94762c1-3c78-47eb-8212-e0c770ba43a9" ], "x_capec_domains": [ "Software" ], "x_capec_likelihood_of_attack": "Low", "x_capec_prerequisites": [ "Recipient is using signature verification software that does not clearly indicate potential homographs in the signer identity.Recipient is using signature verification software that contains a parsing vulnerability, or allows control characters in the signer identity field, such that a signature is mistakenly displayed as valid and from a known or authoritative signer." ], "x_capec_skills_required": { "High": "Attacker may be required to create malformed data blobs and know how to insert them in a location that the recipient will visit." }, "x_capec_status": "Draft", "x_capec_typical_severity": "High", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "Ensure the application is using parsing and data display techniques that will accurately display control characters, international symbols and markings, and ultimately recognize potential homograph attacks.", "id": "course-of-action--694ab70c-12fd-45fd-8fa9-0806c5da0396", "modified": "2019-04-04T00:00:00.000Z", "name": "coa-476-0", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "course-of-action", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--82379432-2b82-4aca-a835-238f54a057ef", "modified": "2019-04-04T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--694ab70c-12fd-45fd-8fa9-0806c5da0396", "spec_version": "2.1", "target_ref": "attack-pattern--72a45548-61df-47c1-a7a0-12e07ec71f37", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "An attacker exploits the underlying complexity of a data structure that allows for both signed and unsigned content, to cause unsigned data to be processed as though it were signed data.", "external_references": [ { "external_id": "CAPEC-477", "source_name": "capec", "url": "https://capec.mitre.org/data/definitions/477.html" }, { "external_id": "CWE-693", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/693.html" }, { "external_id": "CWE-311", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/311.html" }, { "external_id": "CWE-319", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/319.html" } ], "id": "attack-pattern--929e7d9a-b34c-43ad-b58b-b8df918c4f62", "modified": "2014-06-23T00:00:00.000Z", "name": "Signature Spoofing by Mixing Signed and Unsigned Content", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "attack-pattern", "x_capec_abstraction": "Detailed", "x_capec_child_of_refs": [ "attack-pattern--d94762c1-3c78-47eb-8212-e0c770ba43a9" ], "x_capec_domains": [ "Software" ], "x_capec_likelihood_of_attack": "Low", "x_capec_prerequisites": [ "Signer and recipient are using complex data storage structures that allow for a mix between signed and unsigned data", "Recipient is using signature verification software that does not maintain separation between signed and unsigned data once the signature has been verified." ], "x_capec_skills_required": { "High": "Attacker must be able to create malformed data blobs and know how to insert them in a location that the recipient will visit." }, "x_capec_status": "Draft", "x_capec_typical_severity": "High", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "Ensure the application is fully patched and does not allow the processing of unsigned data as if it is signed data.", "id": "course-of-action--f9df8e0c-94b6-4847-ad19-ece4cc20afe0", "modified": "2014-06-23T00:00:00.000Z", "name": "coa-477-0", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "course-of-action", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--6679a0b9-deee-47e3-81d3-9d55d39d9207", "modified": "2014-06-23T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--f9df8e0c-94b6-4847-ad19-ece4cc20afe0", "spec_version": "2.1", "target_ref": "attack-pattern--929e7d9a-b34c-43ad-b58b-b8df918c4f62", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2018-04-25T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "An adversary exploits a weakness in access control to modify the execution parameters of a Windows service. The goal of this attack is to execute a malicious binary in place of an existing service.", "external_references": [ { "external_id": "CAPEC-478", "source_name": "capec", "url": "https://capec.mitre.org/data/definitions/478.html" }, { "external_id": "CWE-284", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/284.html" }, { "description": "Hijack Execution Flow:Service Registry Permissions Weakness", "external_id": "T1574.011", "source_name": "ATTACK", "url": "https://attack.mitre.org/wiki/Technique/T1574/011" }, { "description": "Create or Modify System Process:Windows Service", "external_id": "T1543.003", "source_name": "ATTACK", "url": "https://attack.mitre.org/wiki/Technique/T1543/003" } ], "id": "attack-pattern--93bedd5b-70cc-48a0-a7c9-09b3800bd6bc", "modified": "2021-10-21T00:00:00.000Z", "name": "Modification of Windows Service Configuration", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "attack-pattern", "x_capec_abstraction": "Detailed", "x_capec_child_of_refs": [ "attack-pattern--e283aef8-250b-4ac9-bf8b-34a6a70ed2f4" ], "x_capec_consequences": { "Integrity": [ "Execute Unauthorized Commands (By altering specific configuration settings for the service, the adversary could run arbitrary code to be executed.)" ] }, "x_capec_domains": [ "Software" ], "x_capec_execution_flow": "

Execution Flow

Explore

  1. Determine target system: The adversary must first determine the system they wish to modify the registry of. This needs to be a windows machine as this attack only works on the windows registry.

Experiment

  1. Gain access to the system: The adversary needs to gain access to the system in some way so that they can modify the windows registry.

  2. Techniques
    Gain physical access to a system either through shoulder surfing a password or accessing a system that is left unlocked.
    Gain remote access to a system through a variety of means.

Exploit

  1. Modify windows registry: The adversary will modify the windows registry by changing the configuration settings for a service. Specifically, the adversary will change the path settings to define a path to a malicious binary to be executed.

", "x_capec_likelihood_of_attack": "Low", "x_capec_prerequisites": [ "The adversary must have the capability to write to the Windows Registry on the targeted system." ], "x_capec_resources_required": [ "None: No specialized resources are required to execute this type of attack." ], "x_capec_status": "Usable", "x_capec_typical_severity": "High", "x_capec_version": "3.9" }, { "created": "2018-04-25T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "Ensure proper permissions are set for Registry hives to prevent users from modifying keys for system components that may lead to privilege escalation.", "id": "course-of-action--25c25dbf-033d-40de-8314-255ce51d1e3d", "modified": "2021-10-21T00:00:00.000Z", "name": "coa-478-0", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "course-of-action", "x_capec_version": "3.9" }, { "created": "2018-04-25T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--defdb513-7363-40a3-a5c5-41ca51464c89", "modified": "2021-10-21T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--25c25dbf-033d-40de-8314-255ce51d1e3d", "spec_version": "2.1", "target_ref": "attack-pattern--93bedd5b-70cc-48a0-a7c9-09b3800bd6bc", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2018-04-26T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "An adversary exploits a weakness in authorization and installs a new root certificate on a compromised system. Certificates are commonly used for establishing secure TLS/SSL communications within a web browser. When a user attempts to browse a website that presents a certificate that is not trusted an error message will be displayed to warn the user of the security risk. Depending on the security settings, the browser may not allow the user to establish a connection to the website. Adversaries have used this technique to avoid security warnings prompting users when compromised systems connect over HTTPS to adversary controlled web servers that spoof legitimate websites in order to collect login credentials.", "external_references": [ { "external_id": "CAPEC-479", "source_name": "capec", "url": "https://capec.mitre.org/data/definitions/479.html" }, { "external_id": "CWE-284", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/284.html" }, { "description": "Subvert Trust Controls:Install Root Certificate", "external_id": "T1553.004", "source_name": "ATTACK", "url": "https://attack.mitre.org/wiki/Technique/T1553/004" } ], "id": "attack-pattern--a35eb10e-1168-4c77-8f46-87fa6ee40ef7", "modified": "2020-07-30T00:00:00.000Z", "name": "Malicious Root Certificate", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "attack-pattern", "x_capec_abstraction": "Detailed", "x_capec_child_of_refs": [ "attack-pattern--d94762c1-3c78-47eb-8212-e0c770ba43a9" ], "x_capec_domains": [ "Software" ], "x_capec_likelihood_of_attack": "Low", "x_capec_prerequisites": [ "The adversary must have the ability to create a new root certificate." ], "x_capec_status": "Stable", "x_capec_typical_severity": "Low", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "This attack relies on client side code to access local files and resources instead of URLs. When the client browser is expecting a URL string, but instead receives a request for a local file, that execution is likely to occur in the browser process space with the browser's authority to local files. The attacker can send the results of this request to the local files out to a site that they control. This attack may be used to steal sensitive authentication data (either local or remote), or to gain system profile information to launch further attacks.", "external_references": [ { "external_id": "CAPEC-48", "source_name": "capec", "url": "https://capec.mitre.org/data/definitions/48.html" }, { "external_id": "CWE-241", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/241.html" }, { "external_id": "CWE-706", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/706.html" }, { "description": "G. Hoglund, G. McGraw, Exploiting Software: How to Break Code, 2004--02, Addison-Wesley", "external_id": "REF-1", "source_name": "reference_from_CAPEC" }, { "description": "Core Concepts: Attack Patterns", "external_id": "REF-416", "source_name": "reference_from_CAPEC", "url": "https://websec.io/2012/11/26/Core-Concepts-Attack-Patterns.html" } ], "id": "attack-pattern--83fc5df7-bb04-4ce7-b308-c9428e8f4456", "modified": "2022-09-29T00:00:00.000Z", "name": "Passing Local Filenames to Functions That Expect a URL", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "attack-pattern", "x_capec_abstraction": "Standard", "x_capec_child_of_refs": [ "attack-pattern--c727c058-2c9d-4021-a1ec-81dd030dea59" ], "x_capec_consequences": { "Confidentiality": [ "Read Data" ], "Integrity": [ "Modify Data" ] }, "x_capec_domains": [ "Software" ], "x_capec_example_instances": [ "\n J2EE applications frequently use .properties files to store configuration information including JDBC connections, LDAP connection strings, proxy information, system passwords and other system metadata that is valuable to attackers looking to probe the system or bypass policy enforcement points. When these files are stored in publicly accessible directories and are allowed to be read by the public user, then an attacker can list the directory identify a .properties file and simply load its contents in the browser listing its contents. A standard Hibernate properties file contains\n hibernate.connection.driver_class = org.postgresql.Driverhibernate.connection.url = jdbc:postgresql://localhost/mydatabasehibernate.connection.username = usernamehibernate.connection.password = passwordhibernate.c3p0.min_size=5hibernate.c3p0.max_size=20\n Even if the attacker cannot write this file, there is plenty of information to leverage to gain further access.\n " ], "x_capec_execution_flow": "

Execution Flow

Explore

  1. Identify web application URL inputs: Review application inputs to find those that are designed to be URLs.

  2. Techniques
    Manually navigate web site pages to identify URLs.
    Use automated tools to identify URLs.

Experiment

  1. Identify URL inputs allowing local access.: Execute test local commands via each URL input to determine which are successful.

  2. Techniques
    Manually execute a local command (such as 'pwd') via the URL inputs.
    Using an automated tool, test each URL input for weakness.

Exploit

  1. Execute malicious commands: Using the identified URL inputs that allow local command execution, execute malicious commands.

  2. Techniques
    Execute local commands via the URL input.
", "x_capec_likelihood_of_attack": "High", "x_capec_prerequisites": [ "The victim's software must not differentiate between the location and type of reference passed the client software, e.g. browser" ], "x_capec_skills_required": { "Medium": "Attacker identifies known local files to exploit" }, "x_capec_status": "Draft", "x_capec_typical_severity": "High", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--e108a43f-d09d-41e1-8c5d-d88b4e285dc8", "modified": "2022-09-29T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--e9836d98-9116-4902-ba62-2c4fcc7e03c3", "spec_version": "2.1", "target_ref": "attack-pattern--83fc5df7-bb04-4ce7-b308-c9428e8f4456", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "Implementation: Ensure all configuration files and resource are either removed or protected when promoting code into production.", "id": "course-of-action--536001f7-8712-4a06-82c7-2a5e7008aa72", "modified": "2022-09-29T00:00:00.000Z", "name": "coa-48-1", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "course-of-action", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--a9b80a78-9847-4310-b5a4-59689e59d949", "modified": "2022-09-29T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--536001f7-8712-4a06-82c7-2a5e7008aa72", "spec_version": "2.1", "target_ref": "attack-pattern--83fc5df7-bb04-4ce7-b308-c9428e8f4456", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--840a14c4-8158-43a5-9dbf-7913a86a244f", "modified": "2022-09-29T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--094a4c09-e49c-422b-b8ec-b51c19dba18c", "spec_version": "2.1", "target_ref": "attack-pattern--83fc5df7-bb04-4ce7-b308-c9428e8f4456", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--cf36118d-637c-4216-a672-9f18e372b78c", "modified": "2022-09-29T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--8a996efc-52e0-4aaf-953a-21c3fe64c64b", "spec_version": "2.1", "target_ref": "attack-pattern--83fc5df7-bb04-4ce7-b308-c9428e8f4456", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--f3cc7fae-f66b-4499-8930-bca7d098c80c", "modified": "2022-09-29T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--4f20a4a7-cb6a-477b-a12a-13c5e9d03353", "spec_version": "2.1", "target_ref": "attack-pattern--83fc5df7-bb04-4ce7-b308-c9428e8f4456", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--2e8384c4-b7dc-49d2-990a-83e058990579", "modified": "2022-09-29T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--f31f11cb-6403-4667-bf43-d77242ac7ae2", "spec_version": "2.1", "target_ref": "attack-pattern--83fc5df7-bb04-4ce7-b308-c9428e8f4456", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2019-09-30T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "An adversary gains access to an application, service, or device with the privileges of an authorized or privileged user by escaping the confines of a virtualized environment. The adversary is then able to access resources or execute unauthorized code within the host environment, generally with the privileges of the user running the virtualized process. Successfully executing an attack of this type is often the first step in executing more complex attacks.", "external_references": [ { "external_id": "CAPEC-480", "source_name": "capec", "url": "https://capec.mitre.org/data/definitions/480.html" }, { "external_id": "CWE-693", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/693.html" }, { "description": "Escape to Host", "external_id": "T1611", "source_name": "ATTACK", "url": "https://attack.mitre.org/wiki/Technique/T1611" } ], "id": "attack-pattern--4abd48c8-f737-45db-bd7b-97d989ebd471", "modified": "2021-10-21T00:00:00.000Z", "name": "Escaping Virtualization", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "attack-pattern", "x_capec_abstraction": "Standard", "x_capec_child_of_refs": [ "attack-pattern--8f665166-dfd1-40cb-91e8-b78bee1ceb6a" ], "x_capec_consequences": { "Access_Control": [ "Bypass Protection Mechanism" ], "Accountability": [ "Gain Privileges" ], "Authentication": [ "Gain Privileges" ], "Authorization": [ "Bypass Protection Mechanism", "Execute Unauthorized Commands (Run Arbitrary Code)", "Gain Privileges" ], "Non-Repudiation": [ "Gain Privileges" ] }, "x_capec_domains": [ "Software" ], "x_capec_execution_flow": "

Execution Flow

Explore

  1. Probing: The adversary probes the target application, service, or device to find a possible weakness that would allow escaping the virtualized environment.

  2. Techniques
    Probing applications, services, or devices for virtualization weaknesses.

Experiment

  1. Verify the exploitable security weaknesses: Using the found weakness, the adversary attempts to escape the virtualized environment.

  2. Techniques
    Using an application weakness to escape a virtualized environment

Exploit

  1. Execute more complex attacks: Once outside of the virtualized environment, the adversary attempts to perform other more complex attacks such as accessing system resources or executing unauthorized code within the host environment.

  2. Techniques
    Executing complex attacks when given higher permissions by escaping a virtualized environment
", "x_capec_likelihood_of_attack": "Low", "x_capec_parent_of_refs": [ "attack-pattern--1d1fb93d-ce79-4c64-9987-94577fb894ce" ], "x_capec_status": "Draft", "x_capec_typical_severity": "Very High", "x_capec_version": "3.9" }, { "created": "2019-09-30T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "Ensure virtualization software is current and up-to-date.", "id": "course-of-action--f7d97bf5-f247-488c-9be8-811a887b8cfd", "modified": "2021-10-21T00:00:00.000Z", "name": "coa-480-0", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "course-of-action", "x_capec_version": "3.9" }, { "created": "2019-09-30T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--c2cbe557-9342-4193-a6f9-e79a120bbc41", "modified": "2021-10-21T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--f7d97bf5-f247-488c-9be8-811a887b8cfd", "spec_version": "2.1", "target_ref": "attack-pattern--4abd48c8-f737-45db-bd7b-97d989ebd471", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2019-09-30T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "Abide by the least privilege principle to avoid assigning users more privileges than necessary.", "id": "course-of-action--bf819a99-45a3-4059-8c63-366a7fb34b88", "modified": "2021-10-21T00:00:00.000Z", "name": "coa-480-1", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "course-of-action", "x_capec_version": "3.9" }, { "created": "2019-09-30T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--2bfc97de-cce3-45f4-b6d9-b32d60e99c84", "modified": "2021-10-21T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--bf819a99-45a3-4059-8c63-366a7fb34b88", "spec_version": "2.1", "target_ref": "attack-pattern--4abd48c8-f737-45db-bd7b-97d989ebd471", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2019-04-04T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "Adversaries can provide contradictory destinations when sending messages. Traffic is routed in networks using the domain names in various headers available at different levels of the OSI model. In a Content Delivery Network (CDN) multiple domains might be available, and if there are contradictory domain names provided it is possible to route traffic to an inappropriate destination. The technique, called Domain Fronting, involves using different domain names in the SNI field of the TLS header and the Host field of the HTTP header. An alternative technique, called Domainless Fronting, is similar, but the SNI field is left blank.", "external_references": [ { "external_id": "CAPEC-481", "source_name": "capec", "url": "https://capec.mitre.org/data/definitions/481.html" }, { "external_id": "CWE-923", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/923.html" }, { "description": "Proxy:Domain Fronting", "external_id": "T1090.004", "source_name": "ATTACK", "url": "https://attack.mitre.org/wiki/Technique/T1090/004" } ], "id": "attack-pattern--4733a63a-db36-49fa-8eba-3d5eddfe7f87", "modified": "2023-01-24T00:00:00.000Z", "name": "Contradictory Destinations in Traffic Routing Schemes", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "attack-pattern", "x_capec_abstraction": "Standard", "x_capec_child_of_refs": [ "attack-pattern--2a6131f7-30af-4529-be4e-bc3b7bf22009" ], "x_capec_consequences": { "Confidentiality": [ "Read Data", "Modify Data" ] }, "x_capec_domains": [ "Communications", "Software" ], "x_capec_likelihood_of_attack": "Medium", "x_capec_prerequisites": [ "An adversary must be aware that their message will be routed using a CDN, and that both of the contradictory domains are served from that CDN.", "If the purpose of the Domain Fronting is to hide redirected C2 traffic, the C2 server must have been created in the CDN." ], "x_capec_skills_required": { "Medium": "The adversary must have some knowledge of how messages are routed." }, "x_capec_status": "Draft", "x_capec_typical_severity": "High", "x_capec_version": "3.9" }, { "created": "2019-04-04T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "Monitor connections, checking headers in traffic for contradictory domain names, or empty domain names.", "id": "course-of-action--2769b76e-88f2-4e7c-9ebb-32ab919d5fee", "modified": "2023-01-24T00:00:00.000Z", "name": "coa-481-0", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "course-of-action", "x_capec_version": "3.9" }, { "created": "2019-04-04T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--32b657af-ab17-46cd-9717-b3b289f2f295", "modified": "2023-01-24T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--2769b76e-88f2-4e7c-9ebb-32ab919d5fee", "spec_version": "2.1", "target_ref": "attack-pattern--4733a63a-db36-49fa-8eba-3d5eddfe7f87", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "An adversary may execute a flooding attack using the TCP protocol with the intent to deny legitimate users access to a service. These attacks exploit the weakness within the TCP protocol where there is some state information for the connection the server needs to maintain. This often involves the use of TCP SYN messages.", "external_references": [ { "external_id": "CAPEC-482", "source_name": "capec", "url": "https://capec.mitre.org/data/definitions/482.html" }, { "external_id": "CWE-770", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/770.html" }, { "description": "Network Denial of Service: Direct Network Flood", "external_id": "T1498.001", "source_name": "ATTACK", "url": "https://attack.mitre.org/wiki/Technique/T1498/001" }, { "description": "Endpoint Denial of Service: OS Exhaustion Flood", "external_id": "T1499.001", "source_name": "ATTACK", "url": "https://attack.mitre.org/wiki/Technique/T1499/001" }, { "description": "Endpoint Denial of Service: Service Exhaustion Flood", "external_id": "T1499.002", "source_name": "ATTACK", "url": "https://attack.mitre.org/wiki/Technique/T1499/002" } ], "id": "attack-pattern--172e2289-333b-4796-9afd-94140c9480e8", "modified": "2022-09-29T00:00:00.000Z", "name": "TCP Flood", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "attack-pattern", "x_capec_abstraction": "Standard", "x_capec_child_of_refs": [ "attack-pattern--6854fe89-0829-429f-a95c-89e77ab6c8ed" ], "x_capec_domains": [ "Communications", "Software" ], "x_capec_prerequisites": [ "This type of an attack requires the ability to generate a large amount of TCP traffic to send to the target port of a functioning server." ], "x_capec_status": "Draft", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "To mitigate this type of an attack, an organization can monitor incoming packets and look for patterns in the TCP traffic to determine if the network is under an attack. The potential target may implement a rate limit on TCP SYN messages which would provide limited capabilities while under attack.", "id": "course-of-action--9ba2ccdc-749a-40ac-94fe-dd01b63d365b", "modified": "2022-09-29T00:00:00.000Z", "name": "coa-482-0", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "course-of-action", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--927e4fec-c04f-40f4-becb-c817045ecf24", "modified": "2022-09-29T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--9ba2ccdc-749a-40ac-94fe-dd01b63d365b", "spec_version": "2.1", "target_ref": "attack-pattern--172e2289-333b-4796-9afd-94140c9480e8", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "This attack pattern has been deprecated as it a generalization of CAPEC-230: XML Nested Payloads and CAPEC-231: XML Oversized Payloads. Please refer to these CAPECs going forward.", "external_references": [ { "external_id": "CAPEC-484", "source_name": "capec", "url": "https://capec.mitre.org/data/definitions/484.html" } ], "id": "attack-pattern--59a00678-cf9d-461d-91b6-bfa53fd4f0bb", "modified": "2019-09-30T00:00:00.000Z", "name": "DEPRECATED: XML Client-Side Attack", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "attack-pattern", "x_capec_abstraction": "Standard", "x_capec_status": "Deprecated", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "An attacker obtains an authoritative or reputable signer's private signature key by exploiting a cryptographic weakness in the signature algorithm or pseudorandom number generation and then uses this key to forge signatures from the original signer to mislead a victim into performing actions that benefit the attacker.", "external_references": [ { "external_id": "CAPEC-485", "source_name": "capec", "url": "https://capec.mitre.org/data/definitions/485.html" }, { "external_id": "CWE-330", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/330.html" }, { "description": "Unsecure Credentials: Private Keys", "external_id": "T1552.004", "source_name": "ATTACK", "url": "https://attack.mitre.org/wiki/Technique/T1552/004" }, { "description": "P.J. Leadbitter, D. Page, N.P. Smart, Attacking DSA Under a Repeated Bits Assumption, 2004--07, http://www.iacr.org/archive/ches2004/31560428/31560428.pdf", "external_id": "REF-419", "source_name": "reference_from_CAPEC" }, { "description": "Debian Security, DSA-1571-1 openssl -- predictable random number generator, 2008--05---13, http://www.debian.org/security/2008/dsa-1571", "external_id": "REF-420", "source_name": "reference_from_CAPEC" } ], "id": "attack-pattern--5b01885b-ebb8-4b72-8314-6fb4729eda47", "modified": "2022-09-29T00:00:00.000Z", "name": "Signature Spoofing by Key Recreation", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "attack-pattern", "x_capec_abstraction": "Detailed", "x_capec_child_of_refs": [ "attack-pattern--d94762c1-3c78-47eb-8212-e0c770ba43a9" ], "x_capec_domains": [ "Software" ], "x_capec_likelihood_of_attack": "Low", "x_capec_prerequisites": [ "An authoritative signer is using a weak method of random number generation or weak signing software that causes key leakage or permits key inference.", "An authoritative signer is using a signature algorithm with a direct weakness or with poorly chosen parameters that enable the key to be recovered using signatures from that signer." ], "x_capec_skills_required": { "High": "Ability to create malformed data blobs and know how to present them directly or indirectly to a victim." }, "x_capec_status": "Draft", "x_capec_typical_severity": "High", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "Ensure cryptographic elements have been sufficiently tested for weaknesses.", "id": "course-of-action--7bbe40a9-49b0-4520-838f-075ba95e1ab6", "modified": "2022-09-29T00:00:00.000Z", "name": "coa-485-0", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "course-of-action", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--42e7e94d-1991-4bfc-ae5f-1379eb9e797a", "modified": "2022-09-29T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--7bbe40a9-49b0-4520-838f-075ba95e1ab6", "spec_version": "2.1", "target_ref": "attack-pattern--5b01885b-ebb8-4b72-8314-6fb4729eda47", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "An adversary may execute a flooding attack using the UDP protocol with the intent to deny legitimate users access to a service by consuming the available network bandwidth. Additionally, firewalls often open a port for each UDP connection destined for a service with an open UDP port, meaning the firewalls in essence save the connection state thus the high packet nature of a UDP flood can also overwhelm resources allocated to the firewall. UDP attacks can also target services like DNS or VoIP which utilize these protocols. Additionally, due to the session-less nature of the UDP protocol, the source of a packet is easily spoofed making it difficult to find the source of the attack.", "external_references": [ { "external_id": "CAPEC-486", "source_name": "capec", "url": "https://capec.mitre.org/data/definitions/486.html" }, { "external_id": "CWE-770", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/770.html" } ], "id": "attack-pattern--bb4d350b-c500-45d6-97c2-c0adccbe6bad", "modified": "2022-09-29T00:00:00.000Z", "name": "UDP Flood", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "attack-pattern", "x_capec_abstraction": "Standard", "x_capec_child_of_refs": [ "attack-pattern--6854fe89-0829-429f-a95c-89e77ab6c8ed" ], "x_capec_domains": [ "Communications", "Software" ], "x_capec_prerequisites": [ "This type of an attack requires the ability to generate a large amount of UDP traffic to send to the desired port of a target service using UDP." ], "x_capec_status": "Draft", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "To mitigate this type of an attack, modern firewalls drop UDP traffic destined for closed ports, and unsolicited UDP reply packets. A variety of other countermeasures such as universal reverse path forwarding and remote triggered black holing(RFC3704) along with modifications to BGP like black hole routing and sinkhole routing(RFC3882) help mitigate the spoofed source IP nature of these attacks.", "id": "course-of-action--7547eca0-e697-4517-a5ea-a7cf9a8da506", "modified": "2022-09-29T00:00:00.000Z", "name": "coa-486-0", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "course-of-action", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--d51664cd-4d4a-4d9d-a633-187820aacb6a", "modified": "2022-09-29T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--7547eca0-e697-4517-a5ea-a7cf9a8da506", "spec_version": "2.1", "target_ref": "attack-pattern--bb4d350b-c500-45d6-97c2-c0adccbe6bad", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "An adversary may execute a flooding attack using the ICMP protocol with the intent to deny legitimate users access to a service by consuming the available network bandwidth. A typical attack involves a victim server receiving ICMP packets at a high rate from a wide range of source addresses. Additionally, due to the session-less nature of the ICMP protocol, the source of a packet is easily spoofed making it difficult to find the source of the attack.", "external_references": [ { "external_id": "CAPEC-487", "source_name": "capec", "url": "https://capec.mitre.org/data/definitions/487.html" }, { "external_id": "CWE-770", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/770.html" } ], "id": "attack-pattern--2e017307-7bab-419b-972c-8dae9e089572", "modified": "2022-09-29T00:00:00.000Z", "name": "ICMP Flood", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "attack-pattern", "x_capec_abstraction": "Standard", "x_capec_child_of_refs": [ "attack-pattern--6854fe89-0829-429f-a95c-89e77ab6c8ed" ], "x_capec_domains": [ "Communications", "Software" ], "x_capec_prerequisites": [ "This type of an attack requires the ability to generate a large amount of ICMP traffic to send to the target server." ], "x_capec_status": "Draft", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "To mitigate this type of an attack, an organization can enable ingress filtering. Additionally modifications to BGP like black hole routing and sinkhole routing(RFC3882) help mitigate the spoofed source IP nature of these attacks.", "id": "course-of-action--fb127f46-6f57-4569-b6c8-e5ae71cdaee4", "modified": "2022-09-29T00:00:00.000Z", "name": "coa-487-0", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "course-of-action", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--aec19b04-5aac-4130-b0dc-e5bb2841bab7", "modified": "2022-09-29T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--fb127f46-6f57-4569-b6c8-e5ae71cdaee4", "spec_version": "2.1", "target_ref": "attack-pattern--2e017307-7bab-419b-972c-8dae9e089572", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "An adversary may execute a flooding attack using the HTTP protocol with the intent to deny legitimate users access to a service by consuming resources at the application layer such as web services and their infrastructure. These attacks use legitimate session-based HTTP GET requests designed to consume large amounts of a server's resources. Since these are legitimate sessions this attack is very difficult to detect.", "external_references": [ { "external_id": "CAPEC-488", "source_name": "capec", "url": "https://capec.mitre.org/data/definitions/488.html" }, { "external_id": "CWE-770", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/770.html" }, { "description": "Endpoint Denial of Service:Service Exhaustion Flood", "external_id": "T1499.002", "source_name": "ATTACK", "url": "https://attack.mitre.org/wiki/Technique/T1499/002" }, { "description": "HTTP Flood Attack", "external_id": "REF-751", "source_name": "reference_from_CAPEC", "url": "https://www.cloudflare.com/learning/ddos/http-flood-ddos-attack/" } ], "id": "attack-pattern--d43c7ffa-16a5-4eb9-8c29-3391cc7ff269", "modified": "2023-01-24T00:00:00.000Z", "name": "HTTP Flood", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "attack-pattern", "x_capec_abstraction": "Standard", "x_capec_child_of_refs": [ "attack-pattern--6854fe89-0829-429f-a95c-89e77ab6c8ed" ], "x_capec_domains": [ "Communications", "Software" ], "x_capec_prerequisites": [ "This type of an attack requires the ability to generate a large amount of HTTP traffic to send to a target server." ], "x_capec_status": "Draft", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "Design: Use a Web Application Firewall (WAF) to help filter out malicious traffic. This can be setup with rules to block IP addresses found in IP reputation databases, which contains lists of known bad IP addresses. Analysts should also monitor when the traffic flow becomes abnormally large, and be able to add on-the-fly rules to block malicious traffic. Special care should be taken to ensure low false positive rates in block rules and functionality should be implemented to allow a legitimate user to resume sending traffic if they have been blocked.", "id": "course-of-action--2b7572ea-6dc7-4734-810a-1dd9611f435e", "modified": "2023-01-24T00:00:00.000Z", "name": "coa-488-0", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "course-of-action", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--ed0e71de-8def-40f3-9a63-1cdcb946c954", "modified": "2023-01-24T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--2b7572ea-6dc7-4734-810a-1dd9611f435e", "spec_version": "2.1", "target_ref": "attack-pattern--d43c7ffa-16a5-4eb9-8c29-3391cc7ff269", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "Hire a third party provider to implement a Web Application Firewall (WAF) for your application. Third party providers have dedicated resources and expertise that could allow them to update rules and prevent HTTP Floods very quickly.", "id": "course-of-action--e513ee65-a2f8-450c-8b8c-3d133d7b5876", "modified": "2023-01-24T00:00:00.000Z", "name": "coa-488-1", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "course-of-action", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--a45db50b-73a2-4ce7-a16f-701e36124c60", "modified": "2023-01-24T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--e513ee65-a2f8-450c-8b8c-3d133d7b5876", "spec_version": "2.1", "target_ref": "attack-pattern--d43c7ffa-16a5-4eb9-8c29-3391cc7ff269", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "Design: Use a load balancer such as nginx to prevent small scale HTTP Floods by dispersing traffic between a group of servers.", "id": "course-of-action--a7612a56-a6bc-4802-9430-8ca1c92a4a02", "modified": "2023-01-24T00:00:00.000Z", "name": "coa-488-2", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "course-of-action", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--cb4fc921-8f0d-4d6a-b61e-55f683bc0a9c", "modified": "2023-01-24T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--a7612a56-a6bc-4802-9430-8ca1c92a4a02", "spec_version": "2.1", "target_ref": "attack-pattern--d43c7ffa-16a5-4eb9-8c29-3391cc7ff269", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "Implementation: Make a requesting machine solve some kind of challenge before allowing them to send an HTTP request. This could be a captcha or something similar that works to deter bots.", "id": "course-of-action--49f16706-cef6-476c-902e-ca7d425a38d8", "modified": "2023-01-24T00:00:00.000Z", "name": "coa-488-3", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "course-of-action", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--04107b1a-930b-4176-95d0-e7209880a9b9", "modified": "2023-01-24T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--49f16706-cef6-476c-902e-ca7d425a38d8", "spec_version": "2.1", "target_ref": "attack-pattern--d43c7ffa-16a5-4eb9-8c29-3391cc7ff269", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "An adversary may execute a flooding attack using the SSL protocol with the intent to deny legitimate users access to a service by consuming all the available resources on the server side. These attacks take advantage of the asymmetric relationship between the processing power used by the client and the processing power used by the server to create a secure connection. In this manner the attacker can make a large number of HTTPS requests on a low provisioned machine to tie up a disproportionately large number of resources on the server. The clients then continue to keep renegotiating the SSL connection. When multiplied by a large number of attacking machines, this attack can result in a crash or loss of service to legitimate users.", "external_references": [ { "external_id": "CAPEC-489", "source_name": "capec", "url": "https://capec.mitre.org/data/definitions/489.html" }, { "external_id": "CWE-770", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/770.html" }, { "description": "Endpoint Denial of Service:Service Exhaustion Flood", "external_id": "T1499.002", "source_name": "ATTACK", "url": "https://attack.mitre.org/wiki/Technique/T1499/002" } ], "id": "attack-pattern--f30a7c37-4d87-41d2-a103-c995948076f3", "modified": "2022-09-29T00:00:00.000Z", "name": "SSL Flood", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "attack-pattern", "x_capec_abstraction": "Standard", "x_capec_child_of_refs": [ "attack-pattern--6854fe89-0829-429f-a95c-89e77ab6c8ed" ], "x_capec_domains": [ "Communications", "Software" ], "x_capec_prerequisites": [ "This type of an attack requires the ability to generate a large amount of SSL traffic to send a target server." ], "x_capec_status": "Draft", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "To mitigate this type of an attack, an organization can create rule based filters to silently drop connections if too many are attempted in a certain time period.", "id": "course-of-action--6d85f1a8-2ea9-4b71-946c-770993335e06", "modified": "2022-09-29T00:00:00.000Z", "name": "coa-489-0", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "course-of-action", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--63e515c5-ea52-4e4c-947f-ddf3f6b91725", "modified": "2022-09-29T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--6d85f1a8-2ea9-4b71-946c-770993335e06", "spec_version": "2.1", "target_ref": "attack-pattern--f30a7c37-4d87-41d2-a103-c995948076f3", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "An adversary tries every possible value for a password until they succeed. A brute force attack, if feasible computationally, will always be successful because it will essentially go through all possible passwords given the alphabet used (lower case letters, upper case letters, numbers, symbols, etc.) and the maximum length of the password.", "external_references": [ { "external_id": "CAPEC-49", "source_name": "capec", "url": "https://capec.mitre.org/data/definitions/49.html" }, { "external_id": "CWE-521", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/521.html" }, { "external_id": "CWE-262", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/262.html" }, { "external_id": "CWE-263", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/263.html" }, { "external_id": "CWE-257", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/257.html" }, { "external_id": "CWE-654", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/654.html" }, { "external_id": "CWE-307", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/307.html" }, { "external_id": "CWE-308", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/308.html" }, { "external_id": "CWE-309", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/309.html" }, { "description": "Brute Force:Password Guessing", "external_id": "T1110.001", "source_name": "ATTACK", "url": "https://attack.mitre.org/wiki/Technique/T1110/001" } ], "id": "attack-pattern--8d88a81c-bde9-4fb3-acbe-901c783d6427", "modified": "2022-02-22T00:00:00.000Z", "name": "Password Brute Forcing", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "attack-pattern", "x_capec_abstraction": "Standard", "x_capec_can_precede_refs": [ "attack-pattern--03a731ef-751b-43de-9159-9667d4be4d1a", "attack-pattern--22802ed6-ddc6-4da7-b6be-60b10d26198b", "attack-pattern--886a7175-e28a-4e6d-bd22-3b1497e31dc7", "attack-pattern--f2654def-b86d-4ddb-888f-de6b50a103a2", "attack-pattern--2618d0a4-06d0-4bde-8271-2df61ed8297a" ], "x_capec_child_of_refs": [ "attack-pattern--7b423196-9de6-400f-91de-a1f26b3f19f1" ], "x_capec_consequences": { "Access_Control": [ "Gain Privileges" ], "Authorization": [ "Gain Privileges" ], "Confidentiality": [ "Gain Privileges", "Read Data" ], "Integrity": [ "Modify Data" ] }, "x_capec_domains": [ "Software" ], "x_capec_example_instances": [ "\n A system does not enforce a strong password policy and the user picks a five letter password consisting of lower case English letters only. The system does not implement any password throttling mechanism. Assuming the adversary does not know the length of the users' password, an adversary can brute force this password in maximum 1+26+26^2+26^3+26^4+26^5 = 1 + 26 + 676 + 17576 + 456976 + 11,881,376 = 12,356,631 attempts, and half these tries (6,178,316) on average. Using modern hardware this attack is trivial. If the adversary were to assume that the user password could also contain upper case letters (and it was case sensitive) and/or numbers, than the number of trials would have been larger.\n An adversary's job would have most likely been even easier because many users who choose easy to brute force passwords like this are also likely to use a word that can be found in the dictionary. Since there are far fewer valid English words containing up to five letters than 12,356,631, an attack that tries each of the entries in the English dictionary would go even faster.\n ", "A weakness exists in the automatic password generation routine of Mailman prior to 2.1.5 that causes only about five million different passwords to be generated. This makes it easy to brute force the password for all users who decided to let Mailman automatically generate their passwords for them. Users who chose their own passwords during the sign up process would not have been affected (assuming that they chose strong passwords). See also: CVE-2004-1143" ], "x_capec_execution_flow": "

Execution Flow

Explore

  1. Determine application's/system's password policy: Determine the password policies of the target application/system.

  2. Techniques
    Determine minimum and maximum allowed password lengths.
    Determine format of allowed passwords (whether they are required or allowed to contain numbers, special characters, etc.).
    Determine account lockout policy (a strict account lockout policy will prevent brute force attacks).

Exploit

  1. Brute force password: Given the finite space of possible passwords dictated by the password policy determined in the previous step, try all possible passwords for a known user ID until application/system grants access.

  2. Techniques
    Manually or automatically enter all possible passwords through the application/system's interface. In most systems, start with the shortest and simplest possible passwords, because most users tend to select such passwords if allowed to do so.
    Perform an offline dictionary attack or a rainbow table attack against a known password hash.
", "x_capec_extended_description": "\n A system will be particularly vulnerable to this type of an attack if it does not have a proper enforcement mechanism in place to ensure that passwords selected by users are strong passwords that comply with an adequate password policy. In practice a pure brute force attack on passwords is rarely used, unless the password is suspected to be weak. Other password cracking methods exist that are far more effective (e.g. dictionary attacks, rainbow tables, etc.). Knowing the password policy on the system can make a brute force attack more efficient. For instance, if the policy states that all passwords must be of a certain level, there is no need to check smaller candidates.\n ", "x_capec_likelihood_of_attack": "Medium", "x_capec_parent_of_refs": [ "attack-pattern--a9dc4914-409a-4f71-80df-c5cc3923d112", "attack-pattern--a390cb72-b4de-4750-ae05-be556c89f4be", "attack-pattern--f724f0f3-20e6-450c-be4a-f373ea08834d", "attack-pattern--8c7bab16-5ecd-4778-9b04-c185bceed170" ], "x_capec_prerequisites": [ "An adversary needs to know a username to target.", "The system uses password based authentication as the one factor authentication mechanism.", "An application does not have a password throttling mechanism in place. A good password throttling mechanism will make it almost impossible computationally to brute force a password as it may either lock out the user after a certain number of incorrect attempts or introduce time out periods. Both of these would make a brute force attack impractical." ], "x_capec_resources_required": [ "A powerful enough computer for the job with sufficient CPU, RAM and HD. Exact requirements will depend on the size of the brute force job and the time requirement for completion. Some brute forcing jobs may require grid or distributed computing (e.g. DES Challenge)." ], "x_capec_skills_required": { "Low": "A brute force attack is very straightforward. A variety of password cracking tools are widely available." }, "x_capec_status": "Draft", "x_capec_typical_severity": "High", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "Implement a password throttling mechanism. This mechanism should take into account both the IP address and the log in name of the user.", "id": "course-of-action--1260aa3b-67cb-4194-9b7c-1edcd9cea382", "modified": "2022-02-22T00:00:00.000Z", "name": "coa-49-0", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "course-of-action", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--a2efb506-562c-41e5-afef-c5f89f5bf4ab", "modified": "2022-02-22T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--1260aa3b-67cb-4194-9b7c-1edcd9cea382", "spec_version": "2.1", "target_ref": "attack-pattern--8d88a81c-bde9-4fb3-acbe-901c783d6427", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "Put together a strong password policy and make sure that all user created passwords comply with it. Alternatively automatically generate strong passwords for users.", "id": "course-of-action--67382257-6794-48ac-82a0-f33260b6f0db", "modified": "2022-02-22T00:00:00.000Z", "name": "coa-49-1", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "course-of-action", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--c0f08626-b782-458e-bf5e-36ceaf04f850", "modified": "2022-02-22T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--67382257-6794-48ac-82a0-f33260b6f0db", "spec_version": "2.1", "target_ref": "attack-pattern--8d88a81c-bde9-4fb3-acbe-901c783d6427", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "Passwords need to be recycled to prevent aging, that is every once in a while a new password must be chosen.", "id": "course-of-action--bb36d937-986b-43eb-aa65-3e773af8ce32", "modified": "2022-02-22T00:00:00.000Z", "name": "coa-49-2", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "course-of-action", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--fb2ec194-be12-4cc9-8d13-70492fffaff4", "modified": "2022-02-22T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--bb36d937-986b-43eb-aa65-3e773af8ce32", "spec_version": "2.1", "target_ref": "attack-pattern--8d88a81c-bde9-4fb3-acbe-901c783d6427", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "An adversary may execute an amplification where the size of a response is far greater than that of the request that generates it. The goal of this attack is to use a relatively few resources to create a large amount of traffic against a target server. To execute this attack, an adversary send a request to a 3rd party service, spoofing the source address to be that of the target server. The larger response that is generated by the 3rd party service is then sent to the target server. By sending a large number of initial requests, the adversary can generate a tremendous amount of traffic directed at the target. The greater the discrepancy in size between the initial request and the final payload delivered to the target increased the effectiveness of this attack.", "external_references": [ { "external_id": "CAPEC-490", "source_name": "capec", "url": "https://capec.mitre.org/data/definitions/490.html" }, { "external_id": "CWE-770", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/770.html" }, { "description": "Network Denial of Service:Reflection Amplification", "external_id": "T1498.002", "source_name": "ATTACK", "url": "https://attack.mitre.org/wiki/Technique/T1498/002" } ], "id": "attack-pattern--e68b5623-7a7a-45f8-896f-12b38bedc838", "modified": "2020-07-30T00:00:00.000Z", "name": "Amplification", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "attack-pattern", "x_capec_abstraction": "Standard", "x_capec_child_of_refs": [ "attack-pattern--6854fe89-0829-429f-a95c-89e77ab6c8ed" ], "x_capec_domains": [ "Software" ], "x_capec_prerequisites": [ "This type of an attack requires the existence of a 3rd party service that generates a response that is significantly larger than the request that triggers it." ], "x_capec_status": "Draft", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "To mitigate this type of an attack, an organization can attempt to identify the 3rd party services being used in an active attack and blocking them until the attack ends. This can be accomplished by filtering traffic for suspicious message patterns such as a spike in traffic where each response contains the same large block of data. Care should be taken to prevent false positive rates so legitimate traffic isn't blocked.", "id": "course-of-action--d0ed5ae3-a632-40b6-adec-abee22f9f753", "modified": "2020-07-30T00:00:00.000Z", "name": "coa-490-0", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "course-of-action", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--f777f7b6-4f71-48a6-89b5-694f5210cb6b", "modified": "2020-07-30T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--d0ed5ae3-a632-40b6-adec-abee22f9f753", "spec_version": "2.1", "target_ref": "attack-pattern--e68b5623-7a7a-45f8-896f-12b38bedc838", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "An adversary exploits macro-like substitution to cause a denial of service situation due to excessive memory being allocated to fully expand the data. The result of this denial of service could cause the application to freeze or crash. This involves defining a very large entity and using it multiple times in a single entity substitution. CAPEC-197 is a similar attack pattern, but it is easier to discover and defend against. This attack pattern does not perform multi-level substitution and therefore does not obviously appear to consume extensive resources.", "external_references": [ { "external_id": "CAPEC-491", "source_name": "capec", "url": "https://capec.mitre.org/data/definitions/491.html" }, { "external_id": "CWE-770", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/770.html" } ], "id": "attack-pattern--8f70b1fb-393f-4494-b4ad-67f1a2107975", "modified": "2022-09-29T00:00:00.000Z", "name": "Quadratic Data Expansion", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "attack-pattern", "x_capec_abstraction": "Detailed", "x_capec_alternate_terms": [ "XML Entity Expansion (XEE)" ], "x_capec_can_follow_refs": [ "attack-pattern--5cf3eacf-a0c6-4c59-9f97-4f677a90587a" ], "x_capec_child_of_refs": [ "attack-pattern--8abd01d1-b2a2-4b86-a640-7d3d3b61d27f" ], "x_capec_consequences": { "Availability": [ "Unreliable Execution (Denial of Service)", "Resource Consumption (Denial of Service)" ] }, "x_capec_domains": [ "Software" ], "x_capec_example_instances": [ "\n In this example the attacker defines one large entity and refers to it many times.\n ... [100K of them] ...AAAA\">]>&x;&x;... [100K of them]...&x;&x;\n This results in a relatively small message of 100KBs that will expand to a message in the GB range.\n " ], "x_capec_execution_flow": "

Execution Flow

Explore

  1. Survey the target: An adversary determines the input data stream that is being processed by a data parser that supports using substituion on the victim's side.

  2. Techniques
    Use an automated tool to record all instances of URLs to process requests.
    Use a browser to manually explore the website and analyze how the application processes requests.

Exploit

  1. Craft malicious payload: The adversary crafts malicious message containing nested quadratic expansion that completely uses up available server resource.

  2. Send the message: Send the malicious crafted message to the target URL.

", "x_capec_prerequisites": [ "This type of attack requires a server that accepts serialization data which supports substitution and parses the data." ], "x_capec_status": "Draft", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--02109430-cdab-456f-831f-cbf8dc34209a", "modified": "2022-09-29T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--7cdc228e-d1d1-40c4-b9c4-9e9f89b3df71", "spec_version": "2.1", "target_ref": "attack-pattern--8f70b1fb-393f-4494-b4ad-67f1a2107975", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--aad3b8f3-e7c0-49fd-8535-2db1e2a789ee", "modified": "2022-09-29T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--a2a17594-fbe4-4682-92b8-c64f405f7e3c", "spec_version": "2.1", "target_ref": "attack-pattern--8f70b1fb-393f-4494-b4ad-67f1a2107975", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "An adversary may execute an attack on a program that uses a poor Regular Expression(Regex) implementation by choosing input that results in an extreme situation for the Regex. A typical extreme situation operates at exponential time compared to the input size. This is due to most implementations using a Nondeterministic Finite Automaton(NFA) state machine to be built by the Regex algorithm since NFA allows backtracking and thus more complex regular expressions.", "external_references": [ { "external_id": "CAPEC-492", "source_name": "capec", "url": "https://capec.mitre.org/data/definitions/492.html" }, { "external_id": "CWE-400", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/400.html" }, { "external_id": "CWE-1333", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/1333.html" }, { "description": "Regular expression Denial of Service - ReDoS", "source_name": "OWASP Attacks", "url": "https://owasp.org/www-community/attacks/Regular_expression_Denial_of_Service_-_ReDoS" }, { "description": "Bryan Sullivan, Regular Expression Denial of Service Attacks and Defenses", "external_id": "REF-421", "source_name": "reference_from_CAPEC", "url": "http://msdn.microsoft.com/en-au/magazine/ff646973.aspx" } ], "id": "attack-pattern--dcf12181-3652-40c9-bb64-b09d367d2fb1", "modified": "2022-02-22T00:00:00.000Z", "name": "Regular Expression Exponential Blowup", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "attack-pattern", "x_capec_abstraction": "Standard", "x_capec_child_of_refs": [ "attack-pattern--e171fd74-3ea6-4ad5-b0ff-71bb311c8024" ], "x_capec_domains": [ "Software" ], "x_capec_extended_description": "\n The algorithm builds a finite state machine and based on the input transitions through all the states until the end of the input is reached. NFA engines may evaluate each character in the input string multiple times during the backtracking. The algorithm tries each path through the NFA one by one until a match is found; the malicious input is crafted so every path is tried which results in a failure. Exploitation of the Regex results in programs hanging or taking a very long time to complete. These attacks may target various layers of the Internet due to regular expressions being used in validation.\n ", "x_capec_prerequisites": [ "This type of an attack requires the ability to identify hosts running a poorly implemented Regex, and the ability to send crafted input to exploit the regular expression." ], "x_capec_status": "Draft", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "Test custom written Regex with fuzzing to determine if the Regex is a poor one. Add timeouts to processes that handle the Regex logic. If an evil Regex is found rewrite it as a good Regex.", "id": "course-of-action--304c8c69-2778-4990-bcbc-b9dcdf357054", "modified": "2022-02-22T00:00:00.000Z", "name": "coa-492-0", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "course-of-action", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--cbd942cb-719b-4645-a9fe-77e24232dbee", "modified": "2022-02-22T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--304c8c69-2778-4990-bcbc-b9dcdf357054", "spec_version": "2.1", "target_ref": "attack-pattern--dcf12181-3652-40c9-bb64-b09d367d2fb1", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "An adversary may execute an attack on a web service that uses SOAP messages in communication. By sending a very large SOAP array declaration to the web service, the attacker forces the web service to allocate space for the array elements before they are parsed by the XML parser. The attacker message is typically small in size containing a large array declaration of say 1,000,000 elements and a couple of array elements. This attack targets exhaustion of the memory resources of the web service.", "external_references": [ { "external_id": "CAPEC-493", "source_name": "capec", "url": "https://capec.mitre.org/data/definitions/493.html" }, { "external_id": "CWE-770", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/770.html" }, { "description": "SOAP Array Attack", "external_id": "REF-422", "source_name": "reference_from_CAPEC", "url": "http://www.ws-attacks.org/index.php/Soap_Array_Attack" } ], "id": "attack-pattern--c0166c89-dd49-46a7-9359-88a2c9d053e3", "modified": "2019-09-30T00:00:00.000Z", "name": "SOAP Array Blowup", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "attack-pattern", "x_capec_abstraction": "Standard", "x_capec_child_of_refs": [ "attack-pattern--e171fd74-3ea6-4ad5-b0ff-71bb311c8024" ], "x_capec_domains": [ "Software" ], "x_capec_prerequisites": [ "This type of an attack requires the attacker to know the endpoint of the web service, and be able to reach the endpoint with a malicious SOAP message." ], "x_capec_status": "Draft", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "Enforce strict schema validation. The schema should enforce a maximum number of array elements. If the number of maximum array elements can't be limited another validation method should be used. One such method could be comparing the declared number of items in the array with the existing number of elements of the array. If these numbers don't match drop the SOAP packet at the web service layer.", "id": "course-of-action--0878f5f1-911e-488a-8d4e-1f242b96933f", "modified": "2019-09-30T00:00:00.000Z", "name": "coa-493-0", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "course-of-action", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--d8f6f476-720d-4647-8211-640732114f60", "modified": "2019-09-30T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--0878f5f1-911e-488a-8d4e-1f242b96933f", "spec_version": "2.1", "target_ref": "attack-pattern--c0166c89-dd49-46a7-9359-88a2c9d053e3", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "An adversary may execute a TCP Fragmentation attack against a target with the intention of avoiding filtering rules of network controls, by attempting to fragment the TCP packet such that the headers flag field is pushed into the second fragment which typically is not filtered.", "external_references": [ { "external_id": "CAPEC-494", "source_name": "capec", "url": "https://capec.mitre.org/data/definitions/494.html" }, { "external_id": "CWE-770", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/770.html" }, { "external_id": "CWE-404", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/404.html" }, { "description": "Security Considerations - IP Fragment Filtering", "external_id": "REF-423", "source_name": "reference_from_CAPEC", "url": "https://www.rfc-editor.org/rfc/rfc1858.txt" } ], "id": "attack-pattern--753614f7-f574-4a2f-9cc4-481c62c25c32", "modified": "2022-02-22T00:00:00.000Z", "name": "TCP Fragmentation", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "attack-pattern", "x_capec_abstraction": "Standard", "x_capec_child_of_refs": [ "attack-pattern--e171fd74-3ea6-4ad5-b0ff-71bb311c8024" ], "x_capec_domains": [ "Communications", "Software" ], "x_capec_extended_description": "\n In comparison, IP fragmentation occurs when an IP datagram is larger than the MTU of the route the datagram has to traverse. This behavior of fragmentation defeats some IPS and firewall filters who typically check the FLAGS in the header of the first packet since dropping this packet prevents the following fragments from being processed and assembled.\n Another variation is overlapping fragments thus that an innocuous first segment passes the filter and the second segment overwrites the TCP header data with the true payload which is malicious in nature. The malicious payload manipulated properly may lead to a DoS due to resource consumption or kernel crash. Additionally the fragmentation could be used in conjunction with sending fragments at a rate slightly slower than the timeout to cause a DoS condition by forcing resources that assemble the packet to wait an inordinate amount of time to complete the task. The fragmentation identification numbers could also be duplicated very easily as there are only 16 bits in IPv4 so only 65536 packets are needed.\n ", "x_capec_prerequisites": [ "This type of an attack requires the target system to be running a vulnerable implementation of IP, and the adversary needs to ability to send TCP packets of arbitrary size with crafted data." ], "x_capec_status": "Draft", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "This attack may be mitigated by enforcing rules at the router following the guidance of RFC1858. The essential part of the guidance is creating the following rule \"IF FO=1 and PROTOCOL=TCP then DROP PACKET\" as this mitigated both tiny fragment and overlapping fragment attacks in IPv4. In IPv6 overlapping(RFC5722) additional steps may be required such as deep packet inspection. The delayed fragments may be mitigated by enforcing a timeout on the transmission to receive all packets by a certain time since the first packet is received. According to RFC2460 IPv6 implementations should enforce a rule to discard all fragments if the fragments are not ALL received within 60 seconds of the FIRST arriving fragment.", "id": "course-of-action--8d367dc3-d87f-4810-8600-406d591143ad", "modified": "2022-02-22T00:00:00.000Z", "name": "coa-494-0", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "course-of-action", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--4c63b7b2-466c-4c0a-9b40-4dc3b26ad502", "modified": "2022-02-22T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--8d367dc3-d87f-4810-8600-406d591143ad", "spec_version": "2.1", "target_ref": "attack-pattern--753614f7-f574-4a2f-9cc4-481c62c25c32", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "An attacker may execute a UDP Fragmentation attack against a target server in an attempt to consume resources such as bandwidth and CPU. IP fragmentation occurs when an IP datagram is larger than the MTU of the route the datagram has to traverse. Typically the attacker will use large UDP packets over 1500 bytes of data which forces fragmentation as ethernet MTU is 1500 bytes. This attack is a variation on a typical UDP flood but it enables more network bandwidth to be consumed with fewer packets. Additionally it has the potential to consume server CPU resources and fill memory buffers associated with the processing and reassembling of fragmented packets.", "external_references": [ { "external_id": "CAPEC-495", "source_name": "capec", "url": "https://capec.mitre.org/data/definitions/495.html" }, { "external_id": "CWE-770", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/770.html" }, { "external_id": "CWE-404", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/404.html" }, { "description": "Yossi Gilad, Amir Herzberg, Fragmentation Considered Vulnerable, 2012", "external_id": "REF-424", "source_name": "reference_from_CAPEC", "url": "http://u.cs.biu.ac.il/~herzbea/security/12-03%20fragmentation.pdf" } ], "id": "attack-pattern--428d5dc6-c2be-4a2a-aed1-1e794518b101", "modified": "2019-04-04T00:00:00.000Z", "name": "UDP Fragmentation", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "attack-pattern", "x_capec_abstraction": "Standard", "x_capec_child_of_refs": [ "attack-pattern--e171fd74-3ea6-4ad5-b0ff-71bb311c8024" ], "x_capec_domains": [ "Communications", "Software" ], "x_capec_prerequisites": [ "This type of an attack requires the attacker to be able to generate fragmented IP traffic containing crafted data." ], "x_capec_status": "Draft", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "This attack may be mitigated by changing default cache sizes to be larger at the OS level. Additionally rules can be enforced to prune the cache with shorter timeouts for packet reassembly as the cache nears capacity.", "id": "course-of-action--30d838cf-1c32-4edd-b3aa-796095ba5314", "modified": "2019-04-04T00:00:00.000Z", "name": "coa-495-0", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "course-of-action", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--9a8d2ca3-6686-47c3-ba2b-0bd391ee4af9", "modified": "2019-04-04T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--30d838cf-1c32-4edd-b3aa-796095ba5314", "spec_version": "2.1", "target_ref": "attack-pattern--428d5dc6-c2be-4a2a-aed1-1e794518b101", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "An attacker may execute a ICMP Fragmentation attack against a target with the intention of consuming resources or causing a crash. The attacker crafts a large number of identical fragmented IP packets containing a portion of a fragmented ICMP message. The attacker these sends these messages to a target host which causes the host to become non-responsive. Another vector may be sending a fragmented ICMP message to a target host with incorrect sizes in the header which causes the host to hang.", "external_references": [ { "external_id": "CAPEC-496", "source_name": "capec", "url": "https://capec.mitre.org/data/definitions/496.html" }, { "external_id": "CWE-770", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/770.html" }, { "external_id": "CWE-404", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/404.html" }, { "description": "ICMP Attacks Illustrated", "external_id": "REF-425", "source_name": "reference_from_CAPEC", "url": "http://www.sans.org/reading-room/whitepapers/threats/icmp-attacks-illustrated-477?show=icmp-attacks-illustrated-477&cat=threats" } ], "id": "attack-pattern--fbdcbfab-769d-4d52-8ec2-7fd1e4c212de", "modified": "2019-04-04T00:00:00.000Z", "name": "ICMP Fragmentation", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "attack-pattern", "x_capec_abstraction": "Standard", "x_capec_child_of_refs": [ "attack-pattern--e171fd74-3ea6-4ad5-b0ff-71bb311c8024" ], "x_capec_domains": [ "Communications", "Software" ], "x_capec_prerequisites": [ "This type of an attack requires the target system to be running a vulnerable implementation of IP, and the attacker needs to ability to send arbitrary sized ICMP packets to the target." ], "x_capec_status": "Draft", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "This attack may be mitigated through egress filtering based on ICMP payload so a network is a \"good neighbor\" to other networks. Bad IP implementations become patched, so using the proper version of a browser or OS is recommended.", "id": "course-of-action--f1132180-9c58-4be8-8ef6-dedb17aed57e", "modified": "2019-04-04T00:00:00.000Z", "name": "coa-496-0", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "course-of-action", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--b4385941-4381-4b52-8fff-1a5170cad3da", "modified": "2019-04-04T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--f1132180-9c58-4be8-8ef6-dedb17aed57e", "spec_version": "2.1", "target_ref": "attack-pattern--fbdcbfab-769d-4d52-8ec2-7fd1e4c212de", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2019-09-30T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "An adversary engages in probing and exploration activities to determine if common key files exists. Such files often contain configuration and security parameters of the targeted application, system or network. Using this knowledge may often pave the way for more damaging attacks.", "external_references": [ { "external_id": "CAPEC-497", "source_name": "capec", "url": "https://capec.mitre.org/data/definitions/497.html" }, { "external_id": "CWE-200", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/200.html" }, { "description": "File and Directory Discovery", "external_id": "T1083", "source_name": "ATTACK", "url": "https://attack.mitre.org/wiki/Technique/T1083" } ], "id": "attack-pattern--323ed142-7793-413d-838f-72626caf58da", "modified": "2020-12-17T00:00:00.000Z", "name": "File Discovery", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "attack-pattern", "x_capec_abstraction": "Standard", "x_capec_child_of_refs": [ "attack-pattern--87b0d2df-b246-4bf9-aee8-4912e2fa1a30" ], "x_capec_consequences": { "Confidentiality": [ "Read Data" ] }, "x_capec_domains": [ "Software" ], "x_capec_likelihood_of_attack": "High", "x_capec_parent_of_refs": [ "attack-pattern--bddd2549-167f-4f7b-8d0f-6d1e647b26f6" ], "x_capec_prerequisites": [ "The adversary must know the location of these common key files." ], "x_capec_status": "Draft", "x_capec_typical_severity": "Very Low", "x_capec_version": "3.9" }, { "created": "2019-09-30T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "Leverage file protection mechanisms to render these files accessible only to authorized parties.", "id": "course-of-action--54c4cc5a-fe59-4f27-82bc-a2e6d27d80b7", "modified": "2020-12-17T00:00:00.000Z", "name": "coa-497-0", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "course-of-action", "x_capec_version": "3.9" }, { "created": "2019-09-30T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--47804bd8-6b7f-435e-b2e4-277a8a51384e", "modified": "2020-12-17T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--54c4cc5a-fe59-4f27-82bc-a2e6d27d80b7", "spec_version": "2.1", "target_ref": "attack-pattern--323ed142-7793-413d-838f-72626caf58da", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "An adversary examines screenshot images created by iOS in an attempt to obtain sensitive information. This attack targets temporary screenshots created by the underlying OS while the application remains open in the background.", "external_references": [ { "external_id": "CAPEC-498", "source_name": "capec", "url": "https://capec.mitre.org/data/definitions/498.html" }, { "external_id": "CWE-359", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/359.html" }, { "description": "Jonathan Zdziarksi, Hacking and Securing iOS Applications (First Edition), 2012, O'Reilly Media, Inc.", "external_id": "REF-426", "source_name": "reference_from_CAPEC" } ], "id": "attack-pattern--1b75b059-c9ee-4c4d-b016-bafb20cce96b", "modified": "2023-01-24T00:00:00.000Z", "name": "Probe iOS Screenshots", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "attack-pattern", "x_capec_abstraction": "Detailed", "x_capec_child_of_refs": [ "attack-pattern--191fbdab-d3b3-4ffd-8829-51331c20eaa7" ], "x_capec_domains": [ "Software" ], "x_capec_extended_description": "These images are used by iOS to aid in the visual transition between open applications and improve the user's experience with a device. An application can be at risk even if it properly protects sensitive information when at rest. If the application displays sensitive information on the screen, then the potential exists for iOS to unintentionally record that information in an image file. An adversary can retrieve these images either by gaining access to the image files, or by physically obtaining the device and leveraging the multitasking switcher interface. This attack differs from CAPEC-648, which targets intentional screenshots initiated by an end-user that are stored in the device's storage.", "x_capec_prerequisites": [ "This type of an attack requires physical access to a device to either excavate the image files (potentially by leveraging a Jailbreak) or view the screenshots through the multitasking switcher (by double tapping the home button on the device)." ], "x_capec_status": "Draft", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "To mitigate this type of an attack, an application that may display sensitive information should clear the screen contents before a screenshot is taken. This can be accomplished by setting the key window's hidden property to YES. This code to hide the contents should be placed in both the applicationWillResignActive() and applicationDidEnterBackground() methods.", "id": "course-of-action--bf6e6d14-40c1-4f5f-9acd-1ad186a51940", "modified": "2023-01-24T00:00:00.000Z", "name": "coa-498-0", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "course-of-action", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--04be062d-d511-410f-99c9-f9f7993a39af", "modified": "2023-01-24T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--bf6e6d14-40c1-4f5f-9acd-1ad186a51940", "spec_version": "2.1", "target_ref": "attack-pattern--1b75b059-c9ee-4c4d-b016-bafb20cce96b", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "An adversary, through a previously installed malicious application, intercepts messages from a trusted Android-based application in an attempt to achieve a variety of different objectives including denial of service, information disclosure, and data injection. An implicit intent sent from a trusted application can be received by any application that has declared an appropriate intent filter. If the intent is not protected by a permission that the malicious application lacks, then the attacker can gain access to the data contained within the intent. Further, the intent can be either blocked from reaching the intended destination, or modified and potentially forwarded along.", "external_references": [ { "external_id": "CAPEC-499", "source_name": "capec", "url": "https://capec.mitre.org/data/definitions/499.html" }, { "external_id": "CWE-925", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/925.html" }, { "description": "Erika Chin, Adrienne Porter Felt, Kate Greenwood, David Wagner, Analyzing Inter-Application Communication in Android, 2011, International Conference on Mobile Systems, Applications, and Services (MobiSys)", "external_id": "REF-427", "source_name": "reference_from_CAPEC", "url": "https://people.eecs.berkeley.edu/~daw/papers/intents-mobisys11.pdf" } ], "id": "attack-pattern--48f21dcd-2490-49c6-9690-1cb586b201f4", "modified": "2021-10-21T00:00:00.000Z", "name": "Android Intent Intercept", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "attack-pattern", "x_capec_abstraction": "Standard", "x_capec_child_of_refs": [ "attack-pattern--bdc2219a-ebe0-4372-90b8-841dd7bd4c8e" ], "x_capec_consequences": { "Availability": [ "Resource Consumption" ], "Confidentiality": [ "Read Data" ], "Integrity": [ "Modify Data" ] }, "x_capec_domains": [ "Software" ], "x_capec_execution_flow": "

Execution Flow

Explore

  1. Find an android application that uses implicit intents: Since this attack only works on android applications that use implicit intents, rather than explicit intents, an adversary must first identify an app that uses implicit intents. They must also determine what the contents of the intents being sent are such that a malicious application can get sent these intents.

Experiment

  1. Create a malicious app: The adversary must create a malicious android app meant to intercept implicit intents from a target application

  2. Techniques
    Specify the type of intent wished to be intercepted in the malicious app's manifest file using an intent filter
  3. Get user to download malicious app: The adversary must get a user using the targeted app to download the malicious app by any means necessary

Exploit

  1. Intercept Implicit Intents: Once the malicious app is downloaded, the android device will forward any implicit intents from the target application to the malicious application, allowing the adversary to gaina access to the contents of the intent. The adversary can proceed with any attack using the contents of the intent.

  2. Techniques
    Block the intent from reaching the desired location, causing a denial of service
    Gather sensitive information from the intercepted intent
    Modify the contents of the intent and forward along to another application
", "x_capec_parent_of_refs": [ "attack-pattern--10ce28bf-9f93-4a45-a39e-6407141a34d4" ], "x_capec_prerequisites": [ "An adversary must be able install a purpose built malicious application onto the Android device and convince the user to execute it. The malicious application is used to intercept implicit intents." ], "x_capec_status": "Draft", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "To mitigate this type of an attack, explicit intents should be used whenever sensitive data is being sent. An explicit intent is delivered to a specific application as declared within the intent, whereas the Android operating system determines who receives an implicit intent which could potentially be a malicious application. If an implicit intent must be used, then it should be assumed that the intent will be received by an unknown application and any response should be treated accordingly. Implicit intents should never be used for inter-application communication.", "id": "course-of-action--0c769b9e-b3fa-410a-b87b-ef79448b95b2", "modified": "2021-10-21T00:00:00.000Z", "name": "coa-499-0", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "course-of-action", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--ede8d88a-2bc4-4188-a9d7-2dbbe7c96fb5", "modified": "2021-10-21T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--0c769b9e-b3fa-410a-b87b-ef79448b95b2", "spec_version": "2.1", "target_ref": "attack-pattern--48f21dcd-2490-49c6-9690-1cb586b201f4", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "\n This type of attack against older telephone switches and trunks has been around for decades. A tone is sent by an adversary to impersonate a supervisor signal which has the effect of rerouting or usurping command of the line. While the US infrastructure proper may not contain widespread vulnerabilities to this type of attack, many companies are connected globally through call centers and business process outsourcing. These international systems may be operated in countries which have not upgraded Telco infrastructure and so are vulnerable to Blue boxing. Blue boxing is a result of failure on the part of the system to enforce strong authorization for administrative functions. While the infrastructure is different than standard current applications like web applications, there are historical lessons to be learned to upgrade the access control for administrative functions.\n \n This attack pattern is included in CAPEC for historical purposes.\n \n ", "external_references": [ { "external_id": "CAPEC-5", "source_name": "capec", "url": "https://capec.mitre.org/data/definitions/5.html" }, { "external_id": "CWE-285", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/285.html" }, { "description": "G. Hoglund, G. McGraw, Exploiting Software: How to Break Code, 2004--02, Addison-Wesley", "external_id": "REF-1", "source_name": "reference_from_CAPEC" } ], "id": "attack-pattern--7b462c1f-e0bf-41a7-b811-2b676c103bda", "modified": "2023-01-24T00:00:00.000Z", "name": "Blue Boxing", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "attack-pattern", "x_capec_abstraction": "Detailed", "x_capec_child_of_refs": [ "attack-pattern--9c983530-1927-43ca-addd-63d149cda4a7" ], "x_capec_consequences": { "Access_Control": [ "Gain Privileges" ], "Authorization": [ "Gain Privileges" ], "Availability": [ "Resource Consumption (Denial of Service)" ], "Confidentiality": [ "Gain Privileges" ] }, "x_capec_domains": [ "Communications", "Software" ], "x_capec_example_instances": [ "An adversary identifies a vulnerable CCITT-5 phone line, and sends a combination tone to the switch in order to request administrative access. Based on tone and timing parameters the request is verified for access to the switch. Once the adversary has gained control of the switch launching calls, routing calls, and a whole host of opportunities are available." ], "x_capec_likelihood_of_attack": "Medium", "x_capec_prerequisites": [ "System must use weak authentication mechanisms for administrative functions." ], "x_capec_resources_required": [ "CCITT-5 or other vulnerable lines, with the ability to send tones such as combined 2,400 Hz and 2,600 Hz tones to the switch" ], "x_capec_skills_required": { "Low": "Given a vulnerable phone system, the attackers' technical vector relies on attacks that are well documented in cracker 'zines and have been around for decades." }, "x_capec_status": "Obsolete", "x_capec_typical_severity": "Very High", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "Implementation: Upgrade phone lines. Note this may be prohibitively expensive", "id": "course-of-action--ad48d35a-8497-454e-a5b3-7ce3c8b75663", "modified": "2023-01-24T00:00:00.000Z", "name": "coa-5-0", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "course-of-action", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--49c94014-b8f3-4700-b509-8b705cbfbb0c", "modified": "2023-01-24T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--ad48d35a-8497-454e-a5b3-7ce3c8b75663", "spec_version": "2.1", "target_ref": "attack-pattern--7b462c1f-e0bf-41a7-b811-2b676c103bda", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "Use strong access control such as two factor access control for administrative access to the switch", "id": "course-of-action--3a64abb3-73d9-4d4b-b7d8-afda18b016a0", "modified": "2023-01-24T00:00:00.000Z", "name": "coa-5-1", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "course-of-action", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--9246fa28-1064-427d-b782-252991eab85a", "modified": "2023-01-24T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--3a64abb3-73d9-4d4b-b7d8-afda18b016a0", "spec_version": "2.1", "target_ref": "attack-pattern--7b462c1f-e0bf-41a7-b811-2b676c103bda", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "An attacker may take advantage of the application feature to help users recover their forgotten passwords in order to gain access into the system with the same privileges as the original user. Generally password recovery schemes tend to be weak and insecure.", "external_references": [ { "external_id": "CAPEC-50", "source_name": "capec", "url": "https://capec.mitre.org/data/definitions/50.html" }, { "external_id": "CWE-522", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/522.html" }, { "external_id": "CWE-640", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/640.html" }, { "description": "Advisory: Unauthorized password recovery in phpBannerExchange, 2006, RedTeam Pentesting GmbH", "external_id": "REF-429", "source_name": "reference_from_CAPEC", "url": "http://www.redteam-pentesting.de/advisories/rt-sa-2006-005.txt" } ], "id": "attack-pattern--addd93c9-9278-4185-b402-e505d632c815", "modified": "2022-09-29T00:00:00.000Z", "name": "Password Recovery Exploitation", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "attack-pattern", "x_capec_abstraction": "Standard", "x_capec_can_precede_refs": [ "attack-pattern--03a731ef-751b-43de-9159-9667d4be4d1a", "attack-pattern--22802ed6-ddc6-4da7-b6be-60b10d26198b", "attack-pattern--886a7175-e28a-4e6d-bd22-3b1497e31dc7", "attack-pattern--f2654def-b86d-4ddb-888f-de6b50a103a2", "attack-pattern--2618d0a4-06d0-4bde-8271-2df61ed8297a" ], "x_capec_child_of_refs": [ "attack-pattern--c727c058-2c9d-4021-a1ec-81dd030dea59" ], "x_capec_consequences": { "Access_Control": [ "Gain Privileges" ], "Authorization": [ "Gain Privileges" ], "Confidentiality": [ "Gain Privileges" ] }, "x_capec_domains": [ "Software" ], "x_capec_example_instances": [ "An attacker clicks on the \"forgot password\" and is presented with a single security question. The question is regarding the name of the first dog of the user. The system does not limit the number of attempts to provide the dog's name. An attacker goes through a list of 100 most popular dog names and finds the right name, thus getting the ability to reset the password and access the system.", "\n phpBanner Exchange is a PHP script (using the mySQL database) that facilitates the running of a banner exchange without extensive knowledge of PHP or mySQL.\n A SQL injection was discovered in the password recovery module of the system that allows recovering an arbitrary user's password and taking over their account. The problem is due to faulty input sanitization in the phpBannerExchange, specifically the e-mail address of the user which is requested by the password recovery module.\n The e-mail address requested by the password recovery module on the resetpw.php page. That e-mail address is validated with the following regular expression:\n if(!eregi(\"^[_a-z0-9-]+(\\.[_a-z0-9-]+)*@[a-z0-9-]+(\\.[a-z0-9-]+)*(\\.[a-z]{2,3})$\", $email)){\n \n A bug in the implementation of eregi() allows to pass additional character using a null byte \"\\0\". Since eregi() is implemented in C, the variable $email is treated as a zero-terminated string. All characters following the Null Byte will not be recognized by the regular expression. So an e-mail address can be provided that includes the special character \" ' \" to break the SQL query below (and it will not be rejected by the regular expression because of the null byte trick). So a SQL injection becomes possible:\n $get_info=mysql_query(\"select * from banneruser whereemail='$email' \");\n \n This query will return a non-zero result set even though the email supplied (attacker's email) is not in the database.\n Then a new password for the user is generated and sent to the $email address, an e-mail address controlled by the attacker. An attacker can then log in into the system.See also: CVE-2006-3013" ], "x_capec_execution_flow": "

Execution Flow

Explore

  1. Understand the password recovery mechanism and how it works.

Exploit

  1. Find a weakness in the password recovery mechanism and exploit it. For instance, a weakness may be that a standard single security question is used with an easy to determine answer.

", "x_capec_extended_description": "\n Most of them use only one security question. For instance, mother's maiden name tends to be a fairly popular one. Unfortunately in many cases this information is not very hard to find, especially if the attacker knows the legitimate user. These generic security questions are also re-used across many applications, thus making them even more insecure. An attacker could for instance overhear a coworker talking to a bank representative at the work place and supplying their mother's maiden name for verification purposes. An attacker can then try to log in into one of the victim's accounts, click on \"forgot password\" and there is a good chance that the security question there will be to provide mother's maiden name. A weak password recovery scheme totally undermines the effectiveness of a strong password scheme.\n ", "x_capec_likelihood_of_attack": "Medium", "x_capec_prerequisites": [ "The system allows users to recover their passwords and gain access back into the system.", "Password recovery mechanism has been designed or implemented insecurely.", "Password recovery mechanism relies only on something the user knows and not something the user has.", "No third party intervention is required to use the password recovery mechanism." ], "x_capec_resources_required": [ "For a brute force attack one would need a machine with sufficient CPU, RAM and HD." ], "x_capec_skills_required": { "Low": "Brute force attack", "Medium": "Social engineering and more sophisticated technical attacks." }, "x_capec_status": "Draft", "x_capec_typical_severity": "High", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "Use multiple security questions (e.g. have three and make the user answer two of them correctly). Let the user select their own security questions or provide them with choices of questions that are not generic.", "id": "course-of-action--5aefd1ed-4d4b-46a4-9523-4a9b10f1c157", "modified": "2022-09-29T00:00:00.000Z", "name": "coa-50-0", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "course-of-action", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--6da8ba67-d140-4a4f-9f59-04f18c0652dd", "modified": "2022-09-29T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--5aefd1ed-4d4b-46a4-9523-4a9b10f1c157", "spec_version": "2.1", "target_ref": "attack-pattern--addd93c9-9278-4185-b402-e505d632c815", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "E-mail the temporary password to the registered e-mail address of the user rather than letting the user reset the password online.", "id": "course-of-action--faa418c0-4283-4c6d-b462-3c7751003bae", "modified": "2022-09-29T00:00:00.000Z", "name": "coa-50-1", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "course-of-action", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--aa9f80ff-b2df-47d3-9f28-3979f0827e13", "modified": "2022-09-29T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--faa418c0-4283-4c6d-b462-3c7751003bae", "spec_version": "2.1", "target_ref": "attack-pattern--addd93c9-9278-4185-b402-e505d632c815", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "Ensure that your password recovery functionality is not vulnerable to an injection style attack.", "id": "course-of-action--17e33f25-5647-4186-9496-39840fbc7a3c", "modified": "2022-09-29T00:00:00.000Z", "name": "coa-50-2", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "course-of-action", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--347ed834-4679-4e4c-9b81-cde8d3103190", "modified": "2022-09-29T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--17e33f25-5647-4186-9496-39840fbc7a3c", "spec_version": "2.1", "target_ref": "attack-pattern--addd93c9-9278-4185-b402-e505d632c815", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "An adversary, through a previously installed malicious application, injects code into the context of a web page displayed by a WebView component. Through the injected code, an adversary is able to manipulate the DOM tree and cookies of the page, expose sensitive information, and can launch attacks against the web application from within the web page.", "external_references": [ { "external_id": "CAPEC-500", "source_name": "capec", "url": "https://capec.mitre.org/data/definitions/500.html" }, { "external_id": "CWE-749", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/749.html" }, { "external_id": "CWE-940", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/940.html" }, { "description": "Tongbo Luo, Hao Hao, Wenliang Du, Yifei Wang, Heng Yin, Attacks on WebView in the Android System, 2011, Annual Computer Security Applications Conference (ACSAC)", "external_id": "REF-430", "source_name": "reference_from_CAPEC", "url": "http://www.cis.syr.edu/~wedu/Research/paper/webview_acsac2011.pdf" } ], "id": "attack-pattern--3a089725-f495-452a-a40b-980898ec308c", "modified": "2023-01-24T00:00:00.000Z", "name": "WebView Injection", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "attack-pattern", "x_capec_abstraction": "Detailed", "x_capec_child_of_refs": [ "attack-pattern--5a33bee7-5ec9-4e75-9bf6-99fdaca8699c" ], "x_capec_domains": [ "Software" ], "x_capec_execution_flow": "

Execution Flow

Explore

  1. Determine target web application: An adversary first needs to determine what web application they wish to target.

  2. Techniques
    Target web applications that require users to enter sensitive information.
    Target web applications that an adversary wishes to operate on behalf of a logged in user.

Experiment

  1. Create malicious application: An adversary creates an application, often mobile, that incorporates a WebView component to display the targeted web application. This malicious application needs to downloaded by a user, so adversaries will make this application useful in some way.

  2. Techniques
    Create a 3rd party application that adds useful functionality to the targeted web application. Victims will download the application as a means of using the targeted web application.
    Create a fun game that at some point directs a user to the targeted web application. For example, prompt the user to buy in game currency by directing them to PayPal.
  3. Get the victim to download and run the application: An adversary needs to get the victim to willingly download and run the application.

  4. Techniques
    Pay for App Store advertisements
    Promote the application on social media, either through accounts made by the adversary or by paying for other accounts to advertise.

Exploit

  1. Inject malicious code: Once the victim runs the malicious application and views the targeted web page in the WebView component, the malicious application will inject malicious JavaScript code into the web application. This is done by using WebView's loadURL() API, which can inject arbitrary JavaScript code into pages loaded by the WebView component with the same privileges. This is often done by adding a script tag to the document body with a src destination to a remote location that serves malicious JavaScript code.

  2. Techniques
    Execute operations on the targeted web page on behalf of an authenticated user.
    Steal cookie information from the victim.
    Add in extra fields to the DOM in an attempt to get a user to divulge sensitive information.
", "x_capec_prerequisites": [ "An adversary must be able install a purpose built malicious application onto the device and convince the user to execute it. The malicious application is designed to target a specific web application and is used to load the target web pages via the WebView component. For example, an adversary may develop an application that interacts with Facebook via WebView and adds a new feature that a user desires. The user would install this 3rd party app instead of the Facebook app." ], "x_capec_status": "Draft", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "The only known mitigation to this type of attack is to keep the malicious application off the system. There is nothing that can be done to the target application to protect itself from a malicious application that has been installed and executed.", "id": "course-of-action--3bed61fa-d7ce-4833-8489-af735deb4503", "modified": "2023-01-24T00:00:00.000Z", "name": "coa-500-0", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "course-of-action", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--cd4750af-dabe-4e24-954b-34c20912113b", "modified": "2023-01-24T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--3bed61fa-d7ce-4833-8489-af735deb4503", "spec_version": "2.1", "target_ref": "attack-pattern--3a089725-f495-452a-a40b-980898ec308c", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "An adversary intercepts an implicit intent sent to launch a Android-based trusted activity and instead launches a counterfeit activity in its place. The malicious activity is then used to mimic the trusted activity's user interface and prompt the target to enter sensitive data as if they were interacting with the trusted activity.", "external_references": [ { "external_id": "CAPEC-501", "source_name": "capec", "url": "https://capec.mitre.org/data/definitions/501.html" }, { "external_id": "CWE-923", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/923.html" }, { "description": "Erika Chin, Adrienne Porter Felt, Kate Greenwood, David Wagner, Analyzing Inter-Application Communication in Android, 2011, International Conference on Mobile Systems, Applications, and Services (MobiSys)", "external_id": "REF-427", "source_name": "reference_from_CAPEC", "url": "https://people.eecs.berkeley.edu/~daw/papers/intents-mobisys11.pdf" } ], "id": "attack-pattern--10ce28bf-9f93-4a45-a39e-6407141a34d4", "modified": "2021-10-21T00:00:00.000Z", "name": "Android Activity Hijack", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "attack-pattern", "x_capec_abstraction": "Detailed", "x_capec_child_of_refs": [ "attack-pattern--48f21dcd-2490-49c6-9690-1cb586b201f4", "attack-pattern--fc3a9a6f-66c9-4363-8ebd-9bd18725fff8" ], "x_capec_consequences": { "Confidentiality": [ "Read Data" ] }, "x_capec_domains": [ "Software", "Software" ], "x_capec_execution_flow": "

Execution Flow

Explore

  1. Find an android application that uses implicit intents: Since this attack only works on android applications that use implicit intents, rather than explicit intents, an adversary must first identify an app that uses implicit intents to launch an Android-based trusted activity, and what that activity is.

Experiment

  1. Create a malicious app: The adversary must create a malicious android app meant to intercept implicit intents to launch an Adroid-based trusted activity. This malicious app will mimic the trusted activiy's user interface to get the user to enter sensitive data.

  2. Techniques
    Specify the type of intent wished to be intercepted in the malicious app's manifest file using an intent filter
  3. Get user to download malicious app: The adversary must get a user using the targeted app to download the malicious app by any means necessary

Exploit

  1. Gather sensitive data through malicious app: Once the target application sends an implicit intent to launch a trusted activity, the malicious app will be launched instead that looks identical to the interface of that activity. When the user enters sensitive information it will be captured by the malicious app.

  2. Techniques
    Gather login information from a user using a malicious app
", "x_capec_prerequisites": [ "The adversary must have previously installed the malicious application onto the Android device that will run in place of the trusted activity." ], "x_capec_resources_required": [ "Malware capable of acting on the adversary's objectives." ], "x_capec_skills_required": { "High": "The adversary must typically overcome network and host defenses in order to place malware on the system." }, "x_capec_status": "Draft", "x_capec_typical_severity": "Medium", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "To mitigate this type of an attack, explicit intents should be used whenever sensitive data is being sent. An 'explicit intent' is delivered to a specific application as declared within the intent, whereas an 'implicit intent' is directed to an application as defined by the Android operating system. If an implicit intent must be used, then it should be assumed that the intent will be received by an unknown application and any response should be treated accordingly (i.e., with appropriate security controls).", "id": "course-of-action--516fa894-49a7-4f72-93e4-a3f020c282a0", "modified": "2021-10-21T00:00:00.000Z", "name": "coa-501-0", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "course-of-action", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--f8813501-20bf-40e5-8b15-3723c43763f4", "modified": "2021-10-21T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--516fa894-49a7-4f72-93e4-a3f020c282a0", "spec_version": "2.1", "target_ref": "attack-pattern--10ce28bf-9f93-4a45-a39e-6407141a34d4", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "Never use implicit intents for inter-application communication.", "id": "course-of-action--38f1729a-f19a-4847-86b0-d6fbb1ef4247", "modified": "2021-10-21T00:00:00.000Z", "name": "coa-501-1", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "course-of-action", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--aa086131-b814-4144-b0d9-847410959588", "modified": "2021-10-21T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--38f1729a-f19a-4847-86b0-d6fbb1ef4247", "spec_version": "2.1", "target_ref": "attack-pattern--10ce28bf-9f93-4a45-a39e-6407141a34d4", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "An adversary, through a previously installed malicious application, issues an intent directed toward a specific trusted application's component in an attempt to achieve a variety of different objectives including modification of data, information disclosure, and data injection. Components that have been unintentionally exported and made public are subject to this type of an attack. If the component trusts the intent's action without verififcation, then the target application performs the functionality at the adversary's request, helping the adversary achieve the desired negative technical impact.", "external_references": [ { "external_id": "CAPEC-502", "source_name": "capec", "url": "https://capec.mitre.org/data/definitions/502.html" }, { "external_id": "CWE-284", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/284.html" }, { "description": "Erika Chin, Adrienne Porter Felt, Kate Greenwood, David Wagner, Analyzing Inter-Application Communication in Android, 2011, International Conference on Mobile Systems, Applications, and Services (MobiSys)", "external_id": "REF-427", "source_name": "reference_from_CAPEC", "url": "https://people.eecs.berkeley.edu/~daw/papers/intents-mobisys11.pdf" } ], "id": "attack-pattern--b2e8de4b-6757-4e7e-9c5c-210c44100577", "modified": "2021-06-24T00:00:00.000Z", "name": "Intent Spoof", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "attack-pattern", "x_capec_abstraction": "Standard", "x_capec_child_of_refs": [ "attack-pattern--bd4f8f46-1bc7-40a9-b15a-e36b7671cf5b" ], "x_capec_domains": [ "Software" ], "x_capec_prerequisites": [ "An adversary must be able install a purpose built malicious application onto the Android device and convince the user to execute it. The malicious application will be used to issue spoofed intents." ], "x_capec_status": "Draft", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "To limit one's exposure to this type of attack, developers should avoid exporting components unless the component is specifically designed to handle requests from untrusted applications. Developers should be aware that declaring an intent filter will automatically export the component, exposing it to public access. Critical, state-changing actions should not be placed in exported components. If a single component handles both inter- and intra-application requests, the developer should consider dividing that component into separate components. If a component must be exported (e.g., to receive system broadcasts), then the component should dynamically check the caller's identity prior to performing any operations. Requiring Signature or SignatureOrSystem permissions is an effective way of limiting a component's exposure to a set of trusted applications. Finally, the return values of exported components can also leak private data, so developers should check the caller's identity prior to returning sensitive values.", "id": "course-of-action--ba152037-676b-4900-8500-9e40f8772742", "modified": "2021-06-24T00:00:00.000Z", "name": "coa-502-0", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "course-of-action", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--65d8ac0a-e778-439d-a210-5233c586c56e", "modified": "2021-06-24T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--ba152037-676b-4900-8500-9e40f8772742", "spec_version": "2.1", "target_ref": "attack-pattern--b2e8de4b-6757-4e7e-9c5c-210c44100577", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "An adversary, through a malicious web page, accesses application specific functionality by leveraging interfaces registered through WebView's addJavascriptInterface API. Once an interface is registered to WebView through addJavascriptInterface, it becomes global and all pages loaded in the WebView can call this interface.", "external_references": [ { "external_id": "CAPEC-503", "source_name": "capec", "url": "https://capec.mitre.org/data/definitions/503.html" }, { "external_id": "CWE-284", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/284.html" }, { "description": "Tongbo Luo, Hao Hao, Wenliang Du, Yifei Wang, Heng Yin, Attacks on WebView in the Android System, 2011, Annual Computer Security Applications Conference (ACSAC)", "external_id": "REF-430", "source_name": "reference_from_CAPEC", "url": "http://www.cis.syr.edu/~wedu/Research/paper/webview_acsac2011.pdf" } ], "id": "attack-pattern--c195a0a3-62fc-4def-9702-8938440cc9a7", "modified": "2020-07-30T00:00:00.000Z", "name": "WebView Exposure", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "attack-pattern", "x_capec_abstraction": "Standard", "x_capec_child_of_refs": [ "attack-pattern--fd669b7d-0e79-473c-9808-a860dfb0c871" ], "x_capec_domains": [ "Software" ], "x_capec_prerequisites": [ "This type of an attack requires the adversary to convince the user to load the malicious web page inside the target application. Once loaded, the malicious web page will have the same permissions as the target application and will have access to all registered interfaces. Both the permission and the interface must be in place for the functionality to be exposed." ], "x_capec_status": "Draft", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "To mitigate this type of an attack, an application should limit permissions to only those required and should verify the origin of all web content it loads.", "id": "course-of-action--89e7a7c9-d6c4-4353-adad-ee91dd8fb811", "modified": "2020-07-30T00:00:00.000Z", "name": "coa-503-0", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "course-of-action", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--1ba307f2-f881-482f-aff4-e2af10977631", "modified": "2020-07-30T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--89e7a7c9-d6c4-4353-adad-ee91dd8fb811", "spec_version": "2.1", "target_ref": "attack-pattern--c195a0a3-62fc-4def-9702-8938440cc9a7", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "An adversary, through a previously installed malicious application, impersonates an expected or routine task in an attempt to steal sensitive information or leverage a user's privileges.", "external_references": [ { "external_id": "CAPEC-504", "source_name": "capec", "url": "https://capec.mitre.org/data/definitions/504.html" }, { "external_id": "CWE-1021", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/1021.html" }, { "description": "Masquerading: Masquerade Task or Service", "external_id": "T1036.004", "source_name": "ATTACK", "url": "https://attack.mitre.org/wiki/Technique/T1036/004" }, { "description": "Adrienne Porter Felt, David Wagner, Phishing on Mobile Devices, 2011, University of California, Berkeley", "external_id": "REF-434", "source_name": "reference_from_CAPEC", "url": "https://people.eecs.berkeley.edu/~daw/papers/mobphish-w2sp11.pdf" } ], "id": "attack-pattern--1995c522-a25d-46e4-b024-65172771a692", "modified": "2022-09-29T00:00:00.000Z", "name": "Task Impersonation", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "attack-pattern", "x_capec_abstraction": "Standard", "x_capec_child_of_refs": [ "attack-pattern--fc3a9a6f-66c9-4363-8ebd-9bd18725fff8" ], "x_capec_consequences": { "Access_Control": [ "Gain Privileges" ], "Authentication": [ "Gain Privileges" ] }, "x_capec_domains": [ "Software" ], "x_capec_example_instances": [ "An adversary monitors the system task list for Microsoft Outlook in an attempt to determine when the application may prompt the user to enter their credentials to view encrypted email. Once the task is executed, the adversary impersonates the credential prompt to obtain the user's Microsoft Outlook encryption credentials. These credentials can then be leveraged by the adversary to read a user's encrypted email.", "An adversary prompts a user to authorize an elevation of privileges, implying that a background task needs additional permissions to execute. The user accepts the privilege elevation, allowing the adversary to execute additional malware or tasks with the user's privileges." ], "x_capec_execution_flow": "

Execution Flow

Explore

  1. Determine suitable tasks to exploit: Determine what tasks exist on the target system that may result in a user providing sensitive information.

  2. Techniques
    Determine what tasks prompt a user for their credentials.
    Determine what tasks may prompt a user to authorize a process to execute with elevated privileges.

Exploit

  1. Impersonate Task: Impersonate a legitimate task, either expected or unexpected, in an attempt to gain user credentials or to ride the user's privileges.

  2. Techniques
    Prompt a user for their credentials, while making the user believe the credential request is legitimate.
    Prompt a user to authorize a task to run with elevated privileges, while making the user believe the request is legitimate.
", "x_capec_extended_description": "\n When impersonating an expected task, the adversary monitors the task list maintained by the operating system and waits for a specific legitimate task to become active. Once the task is detected, the malicious application launches a new task in the foreground that mimics the user interface of the legitimate task. At this point, the user thinks that they are interacting with the legitimate task that they started, but instead they are interacting with the malicious application. Once the adversary's goal is reached, the malicious application can exit, leaving the original trusted application visible and the appearance that nothing out of the ordinary has occurred.\n A second approach entails the adversary impersonating an unexpected task, but one that may often be spawned by legitimate background processes. For example, an adversary may randomly impersonate a system credential prompt, implying that a background process requires authentication for some purpose. The user, believing they are interacting with a legitimate task, enters their credentials or authorizes the use of their stored credentials, which the adversary then leverages for nefarious purposes. This type of attack is most often used to obtain sensitive information (e.g., credentials) from the user, but may also be used to ride the user's privileges.\n ", "x_capec_likelihood_of_attack": "Medium", "x_capec_parent_of_refs": [ "attack-pattern--f7a0e7bd-d24a-4390-b365-9e71f22e4e06" ], "x_capec_prerequisites": [ "The adversary must already have access to the target system via some means.", "A legitimate task must exist that an adversary can impersonate to glean credentials.", "The user's privileges allow them to execute certain tasks with elevated privileges." ], "x_capec_resources_required": [ "Malware or some other means to initially comprise the target system.", "Additional malware to impersonate a legitimate task." ], "x_capec_skills_required": { "Low": "Once an adversary has gained access to the target system, impersonating a task is trivial." }, "x_capec_status": "Stable", "x_capec_typical_severity": "High", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "The only known mitigation to this attack is to avoid installing the malicious application on the device. However, to impersonate a running task the malicious application does need the GET_TASKS permission to be able to query the task list, and being suspicious of applications with that permission can help.", "id": "course-of-action--c40d7d86-ab26-4e1a-9b9b-e3496f0f36fc", "modified": "2022-09-29T00:00:00.000Z", "name": "coa-504-0", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "course-of-action", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--3528ad55-1737-4d7b-b627-6716bbe22c84", "modified": "2022-09-29T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--c40d7d86-ab26-4e1a-9b9b-e3496f0f36fc", "spec_version": "2.1", "target_ref": "attack-pattern--1995c522-a25d-46e4-b024-65172771a692", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "An adversary, through a previously installed malicious application, registers for a URL scheme intended for a target application that has not been installed. Thereafter, messages intended for the target application are handled by the malicious application. Upon receiving a message, the malicious application displays a screen that mimics the target application, thereby convincing the user to enter sensitive information. This type of attack is most often used to obtain sensitive information (e.g., credentials) from the user as they think that they are interacting with the intended target application.", "external_references": [ { "external_id": "CAPEC-505", "source_name": "capec", "url": "https://capec.mitre.org/data/definitions/505.html" }, { "description": "Adrienne Porter Felt, David Wagner, Phishing on Mobile Devices, 2011, University of California, Berkeley", "external_id": "REF-434", "source_name": "reference_from_CAPEC", "url": "https://people.eecs.berkeley.edu/~daw/papers/mobphish-w2sp11.pdf" } ], "id": "attack-pattern--ef205569-ee34-491a-b773-5c023e2c1680", "modified": "2022-09-29T00:00:00.000Z", "name": "Scheme Squatting", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "attack-pattern", "x_capec_abstraction": "Detailed", "x_capec_child_of_refs": [ "attack-pattern--e9d5d2e4-588f-43c1-bc98-73417abbb727" ], "x_capec_domains": [ "Social Engineering" ], "x_capec_status": "Draft", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "The only known mitigation to this attack is to avoid installing the malicious application on the device. Applications usually have to declare the schemes they wish to register, so detecting this during a review is feasible.", "id": "course-of-action--f74b7999-9f3c-4cda-82d5-a40b0620f072", "modified": "2022-09-29T00:00:00.000Z", "name": "coa-505-0", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "course-of-action", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--39c2732f-5fa7-44ba-9dab-86cc03c05888", "modified": "2022-09-29T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--f74b7999-9f3c-4cda-82d5-a40b0620f072", "spec_version": "2.1", "target_ref": "attack-pattern--ef205569-ee34-491a-b773-5c023e2c1680", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "An adversary, through a previously installed malicious application, displays an interface that misleads the user and convinces them to tap on an attacker desired location on the screen. This is often accomplished by overlaying one screen on top of another while giving the appearance of a single interface. There are two main techniques used to accomplish this. The first is to leverage transparent properties that allow taps on the screen to pass through the visible application to an application running in the background. The second is to strategically place a small object (e.g., a button or text field) on top of the visible screen and make it appear to be a part of the underlying application. In both cases, the user is convinced to tap on the screen but does not realize the application that they are interacting with.", "external_references": [ { "external_id": "CAPEC-506", "source_name": "capec", "url": "https://capec.mitre.org/data/definitions/506.html" }, { "external_id": "CWE-1021", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/1021.html" }, { "description": "Marcus Niemietz, Jorg Schwenk, UI Redressing Attacks on Android Devices, 2012, Horst Gortz Institute for IT-Security", "external_id": "REF-436", "source_name": "reference_from_CAPEC", "url": "https://media.blackhat.com/ad-12/Niemietz/bh-ad-12-androidmarcus_niemietz-WP.pdf" }, { "description": "David Richardson, Look-10-007 - Tapjacking, 2010, Lookout Mobile Security", "external_id": "REF-437", "source_name": "reference_from_CAPEC", "url": "https://blog.lookout.com/look-10-007-tapjacking/" } ], "id": "attack-pattern--79309efd-dd13-41d2-81c6-ec382bced2b4", "modified": "2020-07-30T00:00:00.000Z", "name": "Tapjacking", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "attack-pattern", "x_capec_abstraction": "Standard", "x_capec_child_of_refs": [ "attack-pattern--fc3a9a6f-66c9-4363-8ebd-9bd18725fff8" ], "x_capec_domains": [ "Software" ], "x_capec_likelihood_of_attack": "Low", "x_capec_prerequisites": [ "This pattern of attack requires the ability to execute a malicious application on the user's device. This malicious application is used to present the interface to the user and make the attack possible." ], "x_capec_status": "Draft", "x_capec_typical_severity": "Low", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "An adversary gains physical access to a system or device through theft of the item. Possession of a system or device enables a number of unique attacks to be executed and often provides the adversary with an extended timeframe for which to perform an attack. Most protections put in place to secure sensitive information can be defeated when an adversary has physical access and enough time.", "external_references": [ { "external_id": "CAPEC-507", "source_name": "capec", "url": "https://capec.mitre.org/data/definitions/507.html" } ], "id": "attack-pattern--debee1d7-930b-4daa-90e0-850d41c80cbd", "modified": "2014-06-23T00:00:00.000Z", "name": "Physical Theft", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "attack-pattern", "x_capec_abstraction": "Meta", "x_capec_domains": [ "Physical Security" ], "x_capec_prerequisites": [ "This type of attack requires the existence of a physical target that an adversary believes hosts something of value." ], "x_capec_status": "Draft", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "To mitigate this type of attack, physical security techniques such as locks doors, alarms, and monitoring of targets should be implemented.", "id": "course-of-action--a86bd9f5-9786-4d89-8d08-8c26d32b9178", "modified": "2014-06-23T00:00:00.000Z", "name": "coa-507-0", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "course-of-action", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--150a1d7c-14ac-46f7-9e73-619a5595c6db", "modified": "2014-06-23T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--a86bd9f5-9786-4d89-8d08-8c26d32b9178", "spec_version": "2.1", "target_ref": "attack-pattern--debee1d7-930b-4daa-90e0-850d41c80cbd", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2020-07-30T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "In a shoulder surfing attack, an adversary observes an unaware individual's keystrokes, screen content, or conversations with the goal of obtaining sensitive information. One motive for this attack is to obtain sensitive information about the target for financial, personal, political, or other gains. From an insider threat perspective, an additional motive could be to obtain system/application credentials or cryptographic keys. Shoulder surfing attacks are accomplished by observing the content \"over the victim's shoulder\", as implied by the name of this attack.", "external_references": [ { "external_id": "CAPEC-508", "source_name": "capec", "url": "https://capec.mitre.org/data/definitions/508.html" }, { "external_id": "CWE-200", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/200.html" }, { "external_id": "CWE-359", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/359.html" } ], "id": "attack-pattern--a4986dd8-cb9c-45cb-bb53-b7549f2b8d62", "modified": "2020-07-30T00:00:00.000Z", "name": "Shoulder Surfing", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "attack-pattern", "x_capec_abstraction": "Detailed", "x_capec_can_precede_refs": [ "attack-pattern--886a7175-e28a-4e6d-bd22-3b1497e31dc7" ], "x_capec_child_of_refs": [ "attack-pattern--94e596d2-6844-4031-80c3-8522642aaff8" ], "x_capec_consequences": { "Confidentiality": [ "Read Data" ] }, "x_capec_domains": [ "Physical Security" ], "x_capec_example_instances": [ "An adversary can capture a target's banking credentials and transfer money to adversary-controlled accounts.", "An adversary observes the target's mobile device lock screen pattern/passcode and then steals the device, which can now be unlocked.", "An insider could obtain database credentials for an application and sell the credentials on the black market.", "An insider overhears a conversation pertaining to classified information, which could then be posted on an anonymous online forum." ], "x_capec_likelihood_of_attack": "High", "x_capec_prerequisites": [ "The adversary typically requires physical proximity to the target's environment, in order to observe their screen or conversation. This may not be the case if the adversary is able to record the target and obtain sensitive information upon review of the recording." ], "x_capec_skills_required": { "Low": "In most cases, an adversary can simply observe and retain the desired information." }, "x_capec_status": "Draft", "x_capec_typical_severity": "High", "x_capec_version": "3.9" }, { "created": "2020-07-30T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "Be mindful of your surroundings when discussing or viewing sensitive information in public areas.", "id": "course-of-action--d898b88c-d850-4a06-bd12-57de9ee9c1e2", "modified": "2020-07-30T00:00:00.000Z", "name": "coa-508-0", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "course-of-action", "x_capec_version": "3.9" }, { "created": "2020-07-30T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--190133dc-952f-4cbc-864c-a85cc28a04fe", "modified": "2020-07-30T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--d898b88c-d850-4a06-bd12-57de9ee9c1e2", "spec_version": "2.1", "target_ref": "attack-pattern--a4986dd8-cb9c-45cb-bb53-b7549f2b8d62", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2020-07-30T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "Pertaining to insider threats, ensure that sensitive information is not displayed to nor discussed around individuals without need-to-know access to said information.", "id": "course-of-action--41704dad-06e1-4a59-9ab2-94b25763a063", "modified": "2020-07-30T00:00:00.000Z", "name": "coa-508-1", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "course-of-action", "x_capec_version": "3.9" }, { "created": "2020-07-30T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--c24c04d4-0e8d-43c3-bd68-829df5ceff0a", "modified": "2020-07-30T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--41704dad-06e1-4a59-9ab2-94b25763a063", "spec_version": "2.1", "target_ref": "attack-pattern--a4986dd8-cb9c-45cb-bb53-b7549f2b8d62", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2019-04-04T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "Through the exploitation of how service accounts leverage Kerberos authentication with Service Principal Names (SPNs), the adversary obtains and subsequently cracks the hashed credentials of a service account target to exploit its privileges. The Kerberos authentication protocol centers around a ticketing system which is used to request/grant access to services and to then access the requested services. As an authenticated user, the adversary may request Active Directory and obtain a service ticket with portions encrypted via RC4 with the private key of the authenticated account. By extracting the local ticket and saving it disk, the adversary can brute force the hashed value to reveal the target account credentials.", "external_references": [ { "external_id": "CAPEC-509", "source_name": "capec", "url": "https://capec.mitre.org/data/definitions/509.html" }, { "external_id": "CWE-522", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/522.html" }, { "external_id": "CWE-308", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/308.html" }, { "external_id": "CWE-309", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/309.html" }, { "external_id": "CWE-294", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/294.html" }, { "external_id": "CWE-263", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/263.html" }, { "external_id": "CWE-262", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/262.html" }, { "external_id": "CWE-521", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/521.html" }, { "description": "Steal or Forge Kerberos Tickets:Kerberoasting", "external_id": "T1558.003", "source_name": "ATTACK", "url": "https://attack.mitre.org/wiki/Technique/T1558/003" }, { "description": "Jeff Warren, Extracting Service Account Passwords with Kerberoasting, 2017--05---09", "external_id": "REF-559", "source_name": "reference_from_CAPEC", "url": "https://blog.stealthbits.com/extracting-service-account-passwords-with-kerberoasting/" }, { "description": "Kerberoasting Without Mimikatz, 2016--11---01", "external_id": "REF-585", "source_name": "reference_from_CAPEC", "url": "https://www.harmj0y.net/blog/powershell/kerberoasting-without-mimikatz/" }, { "description": "Invoke-Kerberoast", "external_id": "REF-586", "source_name": "reference_from_CAPEC", "url": "https://powersploit.readthedocs.io/en/latest/Recon/Invoke-Kerberoast/" } ], "id": "attack-pattern--9197c7a2-6a03-40da-b2a6-df5f1d69e8fb", "modified": "2020-12-17T00:00:00.000Z", "name": "Kerberoasting", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "attack-pattern", "x_capec_abstraction": "Detailed", "x_capec_can_precede_refs": [ "attack-pattern--22802ed6-ddc6-4da7-b6be-60b10d26198b" ], "x_capec_child_of_refs": [ "attack-pattern--755bb5ac-2eee-4e54-9864-92812666120c" ], "x_capec_consequences": { "Confidentiality": [ "Gain Privileges" ] }, "x_capec_domains": [ "Software" ], "x_capec_example_instances": [ "PowerSploit's Invoke-Kerberoast module can be leveraged to request Ticket Granting Service (TGS) tickets and return crackable ticket hashes. [REF-585] [REF-586]" ], "x_capec_execution_flow": "

Execution Flow

Explore

  1. Scan for user accounts with set SPN values

  2. Techniques
    These can be found via Powershell or LDAP queries, as well as enumerating startup name accounts and other means.
  3. Request service tickets

  4. Techniques
    Using user account's SPN value, request other service tickets from Active Directory

Experiment

  1. Extract ticket and save to disk

  2. Techniques
    Certain tools like Mimikatz can extract local tickets and save them to memory/disk.

Exploit

  1. Crack the encrypted ticket to harvest plain text credentials

  2. Techniques
    Leverage a brute force application/script on the hashed value offline until cracked. The shorter the password, the easier it is to crack.
", "x_capec_prerequisites": [ "The adversary requires access as an authenticated user on the system. This attack pattern relates to elevating privileges.", "The adversary requires use of a third-party credential harvesting tool (e.g., Mimikatz).", "The adversary requires a brute force tool." ], "x_capec_skills_required": { "Medium": "" }, "x_capec_status": "Stable", "x_capec_typical_severity": "High", "x_capec_version": "3.9" }, { "created": "2019-04-04T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "Monitor system and domain logs for abnormal access.", "id": "course-of-action--0257f904-bcb7-445e-9ef7-f9d294e49f67", "modified": "2020-12-17T00:00:00.000Z", "name": "coa-509-0", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "course-of-action", "x_capec_version": "3.9" }, { "created": "2019-04-04T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--445d759f-d21c-4325-a510-bd6e24de839d", "modified": "2020-12-17T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--0257f904-bcb7-445e-9ef7-f9d294e49f67", "spec_version": "2.1", "target_ref": "attack-pattern--9197c7a2-6a03-40da-b2a6-df5f1d69e8fb", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2019-04-04T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "Employ a robust password policy for service accounts. Passwords should be of adequate length and complexity, and they should expire after a period of time.", "id": "course-of-action--523888c0-0594-4b49-a1f3-c0cccdcec0eb", "modified": "2020-12-17T00:00:00.000Z", "name": "coa-509-1", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "course-of-action", "x_capec_version": "3.9" }, { "created": "2019-04-04T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--b2a47d13-bffb-4f8b-94f6-aeeb94afc153", "modified": "2020-12-17T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--523888c0-0594-4b49-a1f3-c0cccdcec0eb", "spec_version": "2.1", "target_ref": "attack-pattern--9197c7a2-6a03-40da-b2a6-df5f1d69e8fb", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2019-04-04T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "Employ the principle of least privilege: limit service accounts privileges to what is required for functionality and no more.", "id": "course-of-action--7659d2c2-f9c5-4599-8c79-7d29ae80e31c", "modified": "2020-12-17T00:00:00.000Z", "name": "coa-509-2", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "course-of-action", "x_capec_version": "3.9" }, { "created": "2019-04-04T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--a8893293-d02b-4ee1-9f85-56386750d82f", "modified": "2020-12-17T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--7659d2c2-f9c5-4599-8c79-7d29ae80e31c", "spec_version": "2.1", "target_ref": "attack-pattern--9197c7a2-6a03-40da-b2a6-df5f1d69e8fb", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2019-04-04T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "Enable AES Kerberos encryption (or another stronger encryption algorithm), rather than RC4, where possible.", "id": "course-of-action--566e2dfe-a0ce-4bcb-8e9d-2fa5450391dc", "modified": "2020-12-17T00:00:00.000Z", "name": "coa-509-3", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "course-of-action", "x_capec_version": "3.9" }, { "created": "2019-04-04T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--ee90edd2-2b62-435a-9e2e-f24f212d13ba", "modified": "2020-12-17T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--566e2dfe-a0ce-4bcb-8e9d-2fa5450391dc", "spec_version": "2.1", "target_ref": "attack-pattern--9197c7a2-6a03-40da-b2a6-df5f1d69e8fb", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "SOA and Web Services often use a registry to perform look up, get schema information, and metadata about services. A poisoned registry can redirect (think phishing for servers) the service requester to a malicious service provider, provide incorrect information in schema or metadata, and delete information about service provider interfaces.", "external_references": [ { "external_id": "CAPEC-51", "source_name": "capec", "url": "https://capec.mitre.org/data/definitions/51.html" }, { "external_id": "CWE-285", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/285.html" }, { "external_id": "CWE-74", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/74.html" }, { "external_id": "CWE-693", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/693.html" } ], "id": "attack-pattern--943fa8f4-b777-4f3c-984b-9f620e50c70b", "modified": "2022-09-29T00:00:00.000Z", "name": "Poison Web Service Registry", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "attack-pattern", "x_capec_abstraction": "Detailed", "x_capec_child_of_refs": [ "attack-pattern--e283aef8-250b-4ac9-bf8b-34a6a70ed2f4" ], "x_capec_consequences": { "Availability": [ "Execute Unauthorized Commands (Run Arbitrary Code)" ], "Confidentiality": [ "Execute Unauthorized Commands (Run Arbitrary Code)", "Read Data" ], "Integrity": [ "Execute Unauthorized Commands (Run Arbitrary Code)", "Modify Data" ] }, "x_capec_domains": [ "Software" ], "x_capec_example_instances": [ "\n WS-Addressing provides location and metadata about the service endpoints. An extremely hard to detect attack is an attacker who updates the WS-Addressing header, leaves the standard service request and service provider addressing and header information intact, but adds an additional WS-Addressing Replyto header. In this case the attacker is able to send a copy (like a cc in mail) of every result the service provider generates. So every query to the bank account service, would generate a reply message of the transaction status to both the authorized service requester and an attacker service. This would be extremely hard to detect at runtime.\n http://example.com/Message\n http://valid.example/validClient\n http://evilsite/evilClient\n http://validfaults.example/ErrorHandler\n \n \n In this example \"evilsite\" is an additional reply to address with full access to all the messages that the authorized (validClient) has access to. Since this is registered with ReplyTo header it will not generate a Soap fault.\n " ], "x_capec_execution_flow": "

Execution Flow

Explore

  1. Find a target SOA or Web Service: The adversary must first indentify a target SOA or Web Service.

Experiment

  1. Determine desired outcome: Because poisoning a web service registry can have different outcomes, the adversary must decide how they wish to effect the webservice.

  2. Techniques
    An adversary can perform a denial of service attack on a web service.
    An adversary can redirect requests or responses to a malicious service.
  3. Determine if a malicious service needs to be created: If the adversary wishes to redirect requests or responses, they will need to create a malicious service to redirect to.

  4. Techniques
    Create a service to that requests are sent to in addition to the legitimate service and simply record the requests.
    Create a service that will give malicious responses to a service provider.
    Act as a malicious service provider and respond to requests in an arbitrary way.

Exploit

  1. Poison Web Service Registry: Based on the desired outcome, poison the web service registry. This is done by altering the data at rest in the registry or uploading malicious content by spoofing a service provider.

  2. Techniques
    Intercept and change WS-Adressing headers to route to a malicious service or service provider.
    Provide incorrect information in schema or metadata to cause a denial of service.
    Delete information about service procider interfaces to cause a denial of service.
", "x_capec_extended_description": "\n WS-Addressing is used to virtualize services, provide return addresses and other routing information, however, unless the WS-Addressing headers are protected they are vulnerable to rewriting. Content in a registry is deployed by the service provider. The registry in an SOA or Web Services system can be accessed by the service requester via UDDI or other protocol.\n ", "x_capec_likelihood_of_attack": "High", "x_capec_prerequisites": [ "The attacker must be able to write to resources or redirect access to the service registry." ], "x_capec_resources_required": [ "Capability to directly or indirectly modify registry resources" ], "x_capec_skills_required": { "Low": "To identify and execute against an over-privileged system interface" }, "x_capec_status": "Draft", "x_capec_typical_severity": "Very High", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--9eeb3709-308b-45ca-90e5-649033d1458c", "modified": "2022-09-29T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--a4112a44-a0f9-4bde-bebe-74ed96c4cd3f", "spec_version": "2.1", "target_ref": "attack-pattern--943fa8f4-b777-4f3c-984b-9f620e50c70b", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "Design: Harden registry server and file access permissions", "id": "course-of-action--cb6669ba-434f-4a26-8a80-93eacd1b68f0", "modified": "2022-09-29T00:00:00.000Z", "name": "coa-51-1", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "course-of-action", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--0a6d5ff3-ab5c-4c1f-b8ed-5faba969ed04", "modified": "2022-09-29T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--cb6669ba-434f-4a26-8a80-93eacd1b68f0", "spec_version": "2.1", "target_ref": "attack-pattern--943fa8f4-b777-4f3c-984b-9f620e50c70b", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "Implementation: Implement communications to and from the registry using secure protocols", "id": "course-of-action--6bfceaeb-b87d-430f-aa56-ddb8fa9e9e6f", "modified": "2022-09-29T00:00:00.000Z", "name": "coa-51-2", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "course-of-action", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--dab8cada-a8f1-46a8-a212-2685d9e6bf9d", "modified": "2022-09-29T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--6bfceaeb-b87d-430f-aa56-ddb8fa9e9e6f", "spec_version": "2.1", "target_ref": "attack-pattern--943fa8f4-b777-4f3c-984b-9f620e50c70b", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "An adversary, through a previously installed malicious application, performs malicious actions against a third-party Software as a Service (SaaS) application (also known as a cloud based application) by leveraging the persistent and implicit trust placed on a trusted user's session. This attack is executed after a trusted user is authenticated into a cloud service, \"piggy-backing\" on the authenticated session, and exploiting the fact that the cloud service believes it is only interacting with the trusted user. If successful, the actions embedded in the malicious application will be processed and accepted by the targeted SaaS application and executed at the trusted user's privilege level.", "external_references": [ { "external_id": "CAPEC-510", "source_name": "capec", "url": "https://capec.mitre.org/data/definitions/510.html" }, { "external_id": "CWE-346", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/346.html" }, { "description": "Ami Luttwak, A new Zeus variant targeting Salesforce.com – Research and Analysis, Adallom, Inc.", "external_id": "REF-438", "source_name": "reference_from_CAPEC", "url": "http://www.adallom.com/blog/a-new-zeus-variant-targeting-salesforce-com-accounts-research-and-analysis/" } ], "id": "attack-pattern--56b4150a-10fd-42cd-85ff-1063625ec5f4", "modified": "2014-06-23T00:00:00.000Z", "name": "SaaS User Request Forgery", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "attack-pattern", "x_capec_abstraction": "Standard", "x_capec_child_of_refs": [ "attack-pattern--2351ee64-dd85-4bc3-bb43-aaa2ca5c1228" ], "x_capec_domains": [ "Software" ], "x_capec_likelihood_of_attack": "High", "x_capec_prerequisites": [ "An adversary must be able install a purpose built malicious application onto the trusted user's system and convince the user to execute it while authenticated to the SaaS application." ], "x_capec_skills_required": { "Medium": "This attack pattern often requires the technical ability to modify a malicious software package (e.g. Zeus) to spider a targeted site and a way to trick a user into a malicious software download." }, "x_capec_status": "Draft", "x_capec_typical_severity": "Medium", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "To limit one's exposure to this type of attack, tunnel communications through a secure proxy service.", "id": "course-of-action--e62f0d4e-f4f4-4170-83dc-b3e1355d1c94", "modified": "2014-06-23T00:00:00.000Z", "name": "coa-510-0", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "course-of-action", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--f0e244a6-ae66-4ca3-bd73-5e27032bc927", "modified": "2014-06-23T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--e62f0d4e-f4f4-4170-83dc-b3e1355d1c94", "spec_version": "2.1", "target_ref": "attack-pattern--56b4150a-10fd-42cd-85ff-1063625ec5f4", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "Detection of this type of attack can be done through heuristic analysis of behavioral anomalies (a la credit card fraud detection) which can be used to identify inhuman behavioral patterns. (e.g., spidering)", "id": "course-of-action--ac725580-35cd-425b-84ba-2c7669ba0116", "modified": "2014-06-23T00:00:00.000Z", "name": "coa-510-1", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "course-of-action", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--217875b4-959c-4ec6-a80c-6f5897b54681", "modified": "2014-06-23T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--ac725580-35cd-425b-84ba-2c7669ba0116", "spec_version": "2.1", "target_ref": "attack-pattern--56b4150a-10fd-42cd-85ff-1063625ec5f4", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "An attacker uses common delivery mechanisms such as email attachments or removable media to infiltrate the IDE (Integrated Development Environment) of a victim manufacturer with the intent of implanting malware allowing for attack control of the victim IDE environment. The attack then uses this access to exfiltrate sensitive data or information, manipulate said data or information, and conceal these actions. This will allow and aid the attack to meet the goal of future compromise of a recipient of the victim's manufactured product further down in the supply chain.", "external_references": [ { "external_id": "CAPEC-511", "source_name": "capec", "url": "https://capec.mitre.org/data/definitions/511.html" }, { "description": "Supply Chain Compromise: Compromise Software Dependencies and Development Tools", "external_id": "T1195.001", "source_name": "ATTACK", "url": "https://attack.mitre.org/wiki/Technique/T1195/001" }, { "description": "John F. Miller, Supply Chain Attack Framework and Attack Patterns, 2013, The MITRE Corporation", "external_id": "REF-439", "source_name": "reference_from_CAPEC", "url": "http://www.mitre.org/sites/default/files/publications/supply-chain-attack-framework-14-0228.pdf" } ], "id": "attack-pattern--5f69cd20-0000-4733-85d5-9bb2fdcaeb36", "modified": "2022-09-29T00:00:00.000Z", "name": "Infiltration of Software Development Environment", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "attack-pattern", "x_capec_abstraction": "Detailed", "x_capec_child_of_refs": [ "attack-pattern--efb74200-657d-438c-aaff-bbd9644dd72d" ], "x_capec_domains": [ "Supply Chain" ], "x_capec_example_instances": [ "The attacker, knowing the victim runs email on a system adjacent to the IDE system, sends a phishing email with a malicious attachment to the victim. When viewed, the malicious attachment installs a backdoor that allows the attacker to remotely compromise the adjacent IDE system from the victim's workstation. The attacker is then able to exfiltrate sensitive data about the software being developed on the IDE system.", "Using rogue versions of Xcode (Apple's app development tool) downloaded from third-party websites, it was possible for the adversary to insert malicious code into legitimate apps during the development process." ], "x_capec_likelihood_of_attack": "Low", "x_capec_prerequisites": [ "The victim must use email or removable media from systems running the IDE (or systems adjacent to the IDE systems).", "The victim must have a system running exploitable applications and/or a vulnerable configuration to allow for initial infiltration.", "The attacker must have working knowledge of some if not all of the components involved in the IDE system as well as the infrastructure." ], "x_capec_skills_required": { "High": "Development skills to construct malicious attachments that can be used to exploit vulnerabilities in typical desktop applications or system configurations. The malicious attachments should be crafted well enough to bypass typical defensive systems (IDS, anti-virus, etc)", "Medium": "Intelligence about the manufacturer's operating environment and infrastructure." }, "x_capec_status": "Draft", "x_capec_typical_severity": "High", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "Avoid the common delivery mechanisms of adversaries, such as email attachments, which could introduce the malware.", "id": "course-of-action--93c2b59e-bb08-4808-9f42-695b972f908e", "modified": "2022-09-29T00:00:00.000Z", "name": "coa-511-0", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "course-of-action", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--acf31545-11ce-4c74-9740-158a6572cd6c", "modified": "2022-09-29T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--93c2b59e-bb08-4808-9f42-695b972f908e", "spec_version": "2.1", "target_ref": "attack-pattern--5f69cd20-0000-4733-85d5-9bb2fdcaeb36", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "An adversary with access to system components during allocated baseline development can substitute a maliciously altered hardware component for a baseline component during the product development and research phases. This can lead to adjustments and calibrations being made in the product so that when the final product, now containing the modified component, is deployed it will not perform as designed and be advantageous to the adversary.", "external_references": [ { "external_id": "CAPEC-516", "source_name": "capec", "url": "https://capec.mitre.org/data/definitions/516.html" }, { "description": "Supply Chain Compromise: Compromise Hardware Supply Chain", "external_id": "T1195.003", "source_name": "ATTACK", "url": "https://attack.mitre.org/wiki/Technique/T1195/003" }, { "description": "John F. Miller, Supply Chain Attack Framework and Attack Patterns, 2013, The MITRE Corporation", "external_id": "REF-439", "source_name": "reference_from_CAPEC", "url": "http://www.mitre.org/sites/default/files/publications/supply-chain-attack-framework-14-0228.pdf" }, { "description": "Cristin Goodwin, Joram Borenstein, Guarding against supply chain attacks—Part 2: Hardware risks, 2020--02---03, Microsoft", "external_id": "REF-712", "source_name": "reference_from_CAPEC", "url": "https://www.microsoft.com/security/blog/2020/02/03/guarding-against-supply-chain-attacks-part-2-hardware-risks/" } ], "id": "attack-pattern--3129bca1-91e3-4ec0-a117-557c84d2a92c", "modified": "2022-09-29T00:00:00.000Z", "name": "Hardware Component Substitution During Baselining", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "attack-pattern", "x_capec_abstraction": "Detailed", "x_capec_child_of_refs": [ "attack-pattern--efb74200-657d-438c-aaff-bbd9644dd72d" ], "x_capec_domains": [ "Supply Chain", "Hardware" ], "x_capec_example_instances": [ "\n An adversary supplies the product development facility of a network security device with a hardware component that is used to simulate large volumes of network traffic. The device claims in logs, stats, and via the display panel to be pumping out very large quantities of network traffic, when it is in fact putting out very low volumes. The developed product is adjusted and configured to handle what it believes to be a heavy network load, but when deployed at the victim site the large volumes of network traffic are dropped instead of being processed by the network security device. This allows the adversary an advantage when attacking the victim in that the adversary's presence may not be detected by the device.\n " ], "x_capec_likelihood_of_attack": "Low", "x_capec_prerequisites": [ "The adversary will need either physical access or be able to supply malicious hardware components to the product development facility." ], "x_capec_skills_required": { "High": "Resources to physically infiltrate supplier.", "Medium": "Intelligence data on victim's purchasing habits." }, "x_capec_status": "Draft", "x_capec_typical_severity": "High", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "Hardware attacks are often difficult to detect, as inserted components can be difficult to identify or remain dormant for an extended period of time.", "id": "course-of-action--62164250-4c65-4a4d-b6db-0f1e9fd43d4f", "modified": "2022-09-29T00:00:00.000Z", "name": "coa-516-0", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "course-of-action", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--5a845e64-34a5-43e1-8fa0-f36bd296a642", "modified": "2022-09-29T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--62164250-4c65-4a4d-b6db-0f1e9fd43d4f", "spec_version": "2.1", "target_ref": "attack-pattern--3129bca1-91e3-4ec0-a117-557c84d2a92c", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "Acquire hardware and hardware components from trusted vendors. Additionally, determine where vendors purchase components or if any components are created/acquired via subcontractors to determine where supply chain risks may exist.", "id": "course-of-action--055aeafd-14d3-41fd-8647-156f498a27e7", "modified": "2022-09-29T00:00:00.000Z", "name": "coa-516-1", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "course-of-action", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--0174af7d-b07c-4326-98d7-485d81f6876c", "modified": "2022-09-29T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--055aeafd-14d3-41fd-8647-156f498a27e7", "spec_version": "2.1", "target_ref": "attack-pattern--3129bca1-91e3-4ec0-a117-557c84d2a92c", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "An attacker with access to a manufacturer's documentation, which include descriptions of advanced technology and/or specific components' criticality, alters the documents to circumvent dial-down functionality requirements. This alteration would change the interpretation of implementation and manufacturing techniques, allowing for advanced technologies to remain in place even though these technologies might be restricted to certain customers, such as nations on the terrorist watch list, giving the attacker on the receiving end of a shipped product access to an advanced technology that might otherwise be restricted.", "external_references": [ { "external_id": "CAPEC-517", "source_name": "capec", "url": "https://capec.mitre.org/data/definitions/517.html" }, { "description": "John F. Miller, Supply Chain Attack Framework and Attack Patterns, 2013, The MITRE Corporation", "external_id": "REF-439", "source_name": "reference_from_CAPEC", "url": "http://www.mitre.org/sites/default/files/publications/supply-chain-attack-framework-14-0228.pdf" }, { "description": "Marie Prokopets, How To Secure Your Documents, Nira", "external_id": "REF-715", "source_name": "reference_from_CAPEC", "url": "https://nira.com/how-to-secure-your-documents/" } ], "id": "attack-pattern--8e564ade-17a8-471e-8e2a-4dd2d556ecd2", "modified": "2022-02-22T00:00:00.000Z", "name": "Documentation Alteration to Circumvent Dial-down", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "attack-pattern", "x_capec_abstraction": "Detailed", "x_capec_child_of_refs": [ "attack-pattern--cf550376-63ac-4b46-87d1-0e324c1c1c46" ], "x_capec_domains": [ "Supply Chain" ], "x_capec_example_instances": [ "A product for manufacture exists that contains advanced cryptographic capabilities, including algorithms that are restricted from being shipped to some nations. An attacker from one of the restricted nations alters the documentation to ensure that when the product is manufactured for shipment to a restricted nation, the software compilation steps that normally would prevent the advanced cryptographic capabilities from being included are actually included. When the product is shipped to the attacker's home country, the attacker is able to retrieve and/or use the advanced cryptographic capabilities." ], "x_capec_likelihood_of_attack": "Low", "x_capec_prerequisites": [ "Advanced knowledge of internal software and hardware components within manufacturer's development environment.", "Access to the manufacturer's documentation." ], "x_capec_skills_required": { "High": "Ability to stealthly gain access via remote compromise or physical access to the manufacturer's documentation." }, "x_capec_status": "Draft", "x_capec_typical_severity": "High", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "Digitize documents and cryptographically sign them to verify authenticity.", "id": "course-of-action--2f2411fc-5d76-4d08-bdbd-af07cb72a148", "modified": "2022-02-22T00:00:00.000Z", "name": "coa-517-0", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "course-of-action", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--6cdce0e6-c111-4a35-bd94-2fd9bc65869b", "modified": "2022-02-22T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--2f2411fc-5d76-4d08-bdbd-af07cb72a148", "spec_version": "2.1", "target_ref": "attack-pattern--8e564ade-17a8-471e-8e2a-4dd2d556ecd2", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "Password protect documents and make them read-only for unauthorized users.", "id": "course-of-action--04c38e27-092f-44b9-9474-b6a1b89f003e", "modified": "2022-02-22T00:00:00.000Z", "name": "coa-517-1", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "course-of-action", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--1a2f5635-3164-4960-8cc1-c813d8955f6c", "modified": "2022-02-22T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--04c38e27-092f-44b9-9474-b6a1b89f003e", "spec_version": "2.1", "target_ref": "attack-pattern--8e564ade-17a8-471e-8e2a-4dd2d556ecd2", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "Avoid emailing important documents and configurations.", "id": "course-of-action--1480541a-b7e2-4b3d-a3c5-f13287033d55", "modified": "2022-02-22T00:00:00.000Z", "name": "coa-517-2", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "course-of-action", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--fe0aa95f-a1b5-4d8a-a02e-4852e5d15072", "modified": "2022-02-22T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--1480541a-b7e2-4b3d-a3c5-f13287033d55", "spec_version": "2.1", "target_ref": "attack-pattern--8e564ade-17a8-471e-8e2a-4dd2d556ecd2", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "Ensure deleted files are actually deleted.", "id": "course-of-action--9347e41c-c794-41f7-8521-f8c6b76de2b4", "modified": "2022-02-22T00:00:00.000Z", "name": "coa-517-3", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "course-of-action", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--e4cacf14-7742-4ddf-95a4-24294756229f", "modified": "2022-02-22T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--9347e41c-c794-41f7-8521-f8c6b76de2b4", "spec_version": "2.1", "target_ref": "attack-pattern--8e564ade-17a8-471e-8e2a-4dd2d556ecd2", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "Maintain backups of the document for recovery and verification.", "id": "course-of-action--6adbdfe4-b1d6-43dd-880d-318b88f93118", "modified": "2022-02-22T00:00:00.000Z", "name": "coa-517-4", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "course-of-action", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--693e162c-2556-4f8e-8c5f-d33b4a5b2891", "modified": "2022-02-22T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--6adbdfe4-b1d6-43dd-880d-318b88f93118", "spec_version": "2.1", "target_ref": "attack-pattern--8e564ade-17a8-471e-8e2a-4dd2d556ecd2", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "An attacker with access to a manufacturer's documentation alters the descriptions of system capabilities with the intent of causing errors in derived system requirements, impacting the overall effectiveness and capability of the system, allowing an attacker to take advantage of the introduced system capability flaw once the system is deployed.", "external_references": [ { "external_id": "CAPEC-518", "source_name": "capec", "url": "https://capec.mitre.org/data/definitions/518.html" }, { "description": "John F. Miller, Supply Chain Attack Framework and Attack Patterns, 2013, The MITRE Corporation", "external_id": "REF-439", "source_name": "reference_from_CAPEC", "url": "http://www.mitre.org/sites/default/files/publications/supply-chain-attack-framework-14-0228.pdf" }, { "description": "Marie Prokopets, How To Secure Your Documents, Nira", "external_id": "REF-715", "source_name": "reference_from_CAPEC", "url": "https://nira.com/how-to-secure-your-documents/" } ], "id": "attack-pattern--5f0e5e3b-6889-4583-81ec-5afecbd6765e", "modified": "2022-02-22T00:00:00.000Z", "name": "Documentation Alteration to Produce Under-performing Systems", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "attack-pattern", "x_capec_abstraction": "Detailed", "x_capec_child_of_refs": [ "attack-pattern--cf550376-63ac-4b46-87d1-0e324c1c1c46" ], "x_capec_domains": [ "Supply Chain" ], "x_capec_example_instances": [ "A security subsystem involving encryption is a part of a product, but due to the demands of this subsystem during operation, the subsystem only runs when a specific amount of memory and processing is available. An attacker alters the descriptions of the system capabilities so that when deployed with the minimal requirements at the victim location, the encryption subsystem is never operational, leaving the system in a weakened security state." ], "x_capec_likelihood_of_attack": "Low", "x_capec_prerequisites": [ "Advanced knowledge of software and hardware capabilities of a manufacturer's product.", "Access to the manufacturer's documentation." ], "x_capec_skills_required": { "High": "Ability to stealthly gain access via remote compromise or physical access to the manufacturer's documentation." }, "x_capec_status": "Draft", "x_capec_typical_severity": "High", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--ec5bea13-d325-4683-9122-b0c7ccec06d4", "modified": "2022-02-22T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--2f2411fc-5d76-4d08-bdbd-af07cb72a148", "spec_version": "2.1", "target_ref": "attack-pattern--5f0e5e3b-6889-4583-81ec-5afecbd6765e", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--281d70fc-8c58-4d68-b561-0575eb42bff4", "modified": "2022-02-22T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--04c38e27-092f-44b9-9474-b6a1b89f003e", "spec_version": "2.1", "target_ref": "attack-pattern--5f0e5e3b-6889-4583-81ec-5afecbd6765e", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--9382bcf3-0604-4bb8-9d38-f4c17b9747d8", "modified": "2022-02-22T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--1480541a-b7e2-4b3d-a3c5-f13287033d55", "spec_version": "2.1", "target_ref": "attack-pattern--5f0e5e3b-6889-4583-81ec-5afecbd6765e", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--f11b49e7-b222-4698-9d7e-7b3098fd3c64", "modified": "2022-02-22T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--9347e41c-c794-41f7-8521-f8c6b76de2b4", "spec_version": "2.1", "target_ref": "attack-pattern--5f0e5e3b-6889-4583-81ec-5afecbd6765e", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--dd6d1e37-7460-48f7-bfff-9cbb383c02d6", "modified": "2022-02-22T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--6adbdfe4-b1d6-43dd-880d-318b88f93118", "spec_version": "2.1", "target_ref": "attack-pattern--5f0e5e3b-6889-4583-81ec-5afecbd6765e", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "Separate need-to-know information from system configuration information depending on the user.", "id": "course-of-action--4df124af-fc21-48e0-92fe-933e563f8082", "modified": "2022-02-22T00:00:00.000Z", "name": "coa-518-5", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "course-of-action", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--d472e01d-f213-4ced-9fb6-4461edf5f092", "modified": "2022-02-22T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--4df124af-fc21-48e0-92fe-933e563f8082", "spec_version": "2.1", "target_ref": "attack-pattern--5f0e5e3b-6889-4583-81ec-5afecbd6765e", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "An attacker with access to a manufacturer's documentation containing requirements allocation and software design processes maliciously alters the documentation in order to cause errors in system design. This allows the attacker to take advantage of a weakness in a deployed system of the manufacturer for malicious purposes.", "external_references": [ { "external_id": "CAPEC-519", "source_name": "capec", "url": "https://capec.mitre.org/data/definitions/519.html" }, { "description": "John F. Miller, Supply Chain Attack Framework and Attack Patterns, 2013, The MITRE Corporation", "external_id": "REF-439", "source_name": "reference_from_CAPEC", "url": "http://www.mitre.org/sites/default/files/publications/supply-chain-attack-framework-14-0228.pdf" }, { "description": "Marie Prokopets, How To Secure Your Documents, Nira", "external_id": "REF-715", "source_name": "reference_from_CAPEC", "url": "https://nira.com/how-to-secure-your-documents/" } ], "id": "attack-pattern--3c33e08a-3a4e-4e0f-ae80-6399f6272db7", "modified": "2022-02-22T00:00:00.000Z", "name": "Documentation Alteration to Cause Errors in System Design", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "attack-pattern", "x_capec_abstraction": "Detailed", "x_capec_child_of_refs": [ "attack-pattern--cf550376-63ac-4b46-87d1-0e324c1c1c46" ], "x_capec_domains": [ "Supply Chain" ], "x_capec_example_instances": [ "During operation, a firewall will restart various subsystems to reload and implement new rules as added by the user. An attacker alters the software design dependencies in the manufacturer's documentation so that under certain predictable conditions the reload will fail to load in rules resulting in a \"fail open\" state. Once deployed at a victim site, this will allow the attacker to bypass the victim's firewall." ], "x_capec_likelihood_of_attack": "Low", "x_capec_prerequisites": [ "Advanced knowledge of software capabilities of a manufacturer's product.", "Access to the manufacturer's documentation." ], "x_capec_skills_required": { "High": "Ability to stealthly gain access via remote compromise or physical access to the manufacturer's documentation." }, "x_capec_status": "Draft", "x_capec_typical_severity": "High", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--692efabe-275a-4cc4-bce9-b954a6533546", "modified": "2022-02-22T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--2f2411fc-5d76-4d08-bdbd-af07cb72a148", "spec_version": "2.1", "target_ref": "attack-pattern--3c33e08a-3a4e-4e0f-ae80-6399f6272db7", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--133b4c1d-e9fa-451c-aa3f-f35f367c171d", "modified": "2022-02-22T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--04c38e27-092f-44b9-9474-b6a1b89f003e", "spec_version": "2.1", "target_ref": "attack-pattern--3c33e08a-3a4e-4e0f-ae80-6399f6272db7", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--2c488b2c-85cb-4c5b-9009-fa3d351a1e2b", "modified": "2022-02-22T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--1480541a-b7e2-4b3d-a3c5-f13287033d55", "spec_version": "2.1", "target_ref": "attack-pattern--3c33e08a-3a4e-4e0f-ae80-6399f6272db7", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--0e96b154-0ac9-46dd-ada2-cfa26af58e40", "modified": "2022-02-22T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--9347e41c-c794-41f7-8521-f8c6b76de2b4", "spec_version": "2.1", "target_ref": "attack-pattern--3c33e08a-3a4e-4e0f-ae80-6399f6272db7", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "Maintain multiple instances of the document across different privileged users for recovery and verification.", "id": "course-of-action--fc3f236d-f464-45dc-add7-aa341dd57c05", "modified": "2022-02-22T00:00:00.000Z", "name": "coa-519-4", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "course-of-action", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--1b1d403f-8208-4c4f-a659-3772b9f22687", "modified": "2022-02-22T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--fc3f236d-f464-45dc-add7-aa341dd57c05", "spec_version": "2.1", "target_ref": "attack-pattern--3c33e08a-3a4e-4e0f-ae80-6399f6272db7", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "An adversary embeds one or more null bytes in input to the target software. This attack relies on the usage of a null-valued byte as a string terminator in many environments. The goal is for certain components of the target software to stop processing the input when it encounters the null byte(s).", "external_references": [ { "external_id": "CAPEC-52", "source_name": "capec", "url": "https://capec.mitre.org/data/definitions/52.html" }, { "external_id": "CWE-158", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/158.html" }, { "external_id": "CWE-172", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/172.html" }, { "external_id": "CWE-173", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/173.html" }, { "external_id": "CWE-74", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/74.html" }, { "external_id": "CWE-20", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/20.html" }, { "external_id": "CWE-697", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/697.html" }, { "external_id": "CWE-707", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/707.html" }, { "description": "Null Byte Injection", "external_id": "28", "source_name": "WASC", "url": "http://projects.webappsec.org/Null-Byte-Injection" }, { "description": "Embedding Null Code", "source_name": "OWASP Attacks", "url": "https://owasp.org/www-community/attacks/Embedding_Null_Code" }, { "description": "G. Hoglund, G. McGraw, Exploiting Software: How to Break Code, 2004--02, Addison-Wesley", "external_id": "REF-1", "source_name": "reference_from_CAPEC" }, { "description": "Adobe Acrobat/Acrobat Reader ActiveX Control Buffer Overflow Vulnerability, iDefense Labs Public Advisory, 2004--08---13, Verisign, Inc.", "external_id": "REF-445", "source_name": "reference_from_CAPEC", "url": "http://labs.idefense.com/intelligence/vulnerabilities/display.php?id=126" }, { "description": "PHP Input Validation Vulnerabilities, Bugtraq mailing list archive", "external_id": "REF-446", "source_name": "reference_from_CAPEC", "url": "http://msgs.securepoint.com/bugtraq/" } ], "id": "attack-pattern--7e2a629f-eb4d-4cc9-b086-42c7395b2c3e", "modified": "2022-09-29T00:00:00.000Z", "name": "Embedding NULL Bytes", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "attack-pattern", "x_capec_abstraction": "Detailed", "x_capec_child_of_refs": [ "attack-pattern--a1af7c24-25cb-46e5-a27b-ed316e1f91ce" ], "x_capec_consequences": { "Access_Control": [ "Gain Privileges" ], "Authorization": [ "Gain Privileges" ], "Availability": [ "Execute Unauthorized Commands (Run Arbitrary Code)" ], "Confidentiality": [ "Read Data", "Gain Privileges", "Execute Unauthorized Commands (Run Arbitrary Code)" ], "Integrity": [ "Modify Data", "Execute Unauthorized Commands (Run Arbitrary Code)" ] }, "x_capec_domains": [ "Software" ], "x_capec_example_instances": [ "\n Directory Browsing\n Assume a Web application allows a user to access a set of reports. The path to the reports directory may be something like web/username/reports. If the username is supplied via a hidden field, an adversary could insert a bogus username such as ../../../../../WINDOWS. If the adversary needs to remove the trailing string /reports, then they can simply insert enough characters so the string is truncated. Alternatively the adversary might apply the postfix NULL character (%00) to determine whether this terminates the string.\n Different forms of NULL to think about include\n PATH%00PATH[0x00]PATH[alternate representation of NULL character]%00\n ", "\n Exploitation of a buffer overflow vulnerability in the ActiveX component packaged with Adobe Systems Inc.'s Acrobat/Acrobat Reader allows remote adversaries to execute arbitrary code.\n The problem specifically exists upon retrieving a link of the following form:\n GET /any_existing_dir/any_existing_pdf.pdf%00[long string] HTTP/1.1\n Where [long string] is a malicious crafted long string containing acceptable URI characters. The request must be made to a web server that truncates the request at the null byte (%00), otherwise an invalid file name is specified and a \"file not found\" page will be returned. Example web servers that truncate the requested URI include Microsoft IIS and Netscape Enterprise. Though the requested URI is truncated for the purposes of locating the file the long string is still passed to the Adobe ActiveX component responsible for rendering the page. This in turn triggers a buffer overflow within RTLHeapFree() allowing for an adversary to overwrite an arbitrary word in memory. The responsible instructions from RTLHeapFree() are shown here:\n 0x77F83AE5 MOV EAX,[EDI+8]0x77F83AE8 MOV ECX,[EDI+C]...0x77F83AED MOV [ECX],EAX\n The register EDI contains a pointer to a user-supplied string. The adversary therefore has control over both the ECX and EAX registers used in the shown MOV instruction.\n Successful exploitation allows remote adversaries to utilize the arbitrary word overwrite to redirect the flow of control and eventually take control of the affected system. Code execution will occur under the context of the user that instantiated the vulnerable version of Adobe Acrobat.\n An adversary does not need to establish a malicious web site as exploitation can occur by adding malicious content to the end of any embedded link and referencing any Microsoft IIS or Netscape Enterprise web server. Clicking on a direct malicious link is also not required as it may be embedded within an IMAGE tag, an IFRAME or an auto-loading script.\n Successful exploitation requires that a payload be written such that certain areas of the input are URI acceptable. This includes initial injected instructions as well as certain overwritten addresses. This increases the complexity of successful exploitation. While not trivial, exploitation is definitely plausible [REF-445].See also: CVE-2004-0629", "\n Consider the following PHP script:\n $whatever = addslashes($_REQUEST['whatever']);include(\"/path/to/program/\" . $whatever . \"/header.htm\");\n A malicious adversary might open the following URL, disclosing the boot.ini file:\n http://localhost/phpscript.php?whatever=../../../../boot.ini%00\n " ], "x_capec_execution_flow": "

Execution Flow

Explore

  1. Survey the application for user-controllable inputs: Using a browser, an automated tool or by inspecting the application, an adversary records all entry points to the application.

  2. Techniques
    Use a spidering tool to follow and record all links and analyze the web pages to find entry points. Make special note of any links that include parameters in the URL.
    Use a proxy tool to record all user input entry points visited during a manual traversal of the web application.
    Use a browser to manually explore the website and analyze how it is constructed. Many browsers' plugins are available to facilitate the analysis or automate the discovery.
    Manually inspect the application to find entry points.

Experiment

  1. Probe entry points to locate vulnerabilities: The adversary uses the entry points gathered in the \"Explore\" phase as a target list and injects postfix null byte(s) to observe how the application handles them as input. The adversary is looking for areas where user input is placed in the middle of a string, and the null byte causes the application to stop processing the string at the end of the user input.

  2. Techniques
    Try different encodings for null such as \\0 or %00

Exploit

  1. Remove data after null byte(s): After determined entry points that are vulnerable, the adversary places a null byte(s) such that they remove data after the null byte(s) in a way that is beneficial to them.

  2. Techniques
    If the input is a directory as part of a longer file path, add a null byte(s) at the end of the input to try to traverse to the given directory.
", "x_capec_likelihood_of_attack": "High", "x_capec_prerequisites": [ "The program does not properly handle postfix NULL terminators" ], "x_capec_skills_required": { "High": "Execution of arbitrary code", "Medium": "Directory traversal" }, "x_capec_status": "Draft", "x_capec_typical_severity": "High", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "Properly handle the NULL characters supplied as part of user input prior to doing anything with the data.", "id": "course-of-action--64a972ab-fe03-40fb-86ba-13870ff9c74a", "modified": "2022-09-29T00:00:00.000Z", "name": "coa-52-0", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "course-of-action", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--947c7cf0-0535-44ac-b13f-ddb607cc9a9c", "modified": "2022-09-29T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--64a972ab-fe03-40fb-86ba-13870ff9c74a", "spec_version": "2.1", "target_ref": "attack-pattern--7e2a629f-eb4d-4cc9-b086-42c7395b2c3e", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "An adversary with either direct access to the product assembly process or to the supply of subcomponents used in the product assembly process introduces counterfeit hardware components into product assembly. The assembly containing the counterfeit components results in a system specifically designed for malicious purposes.", "external_references": [ { "external_id": "CAPEC-520", "source_name": "capec", "url": "https://capec.mitre.org/data/definitions/520.html" }, { "description": "Supply Chain Compromise: Compromise Hardware Supply Chain", "external_id": "T1195.003", "source_name": "ATTACK", "url": "https://attack.mitre.org/wiki/Technique/T1195/003" }, { "description": "John F. Miller, Supply Chain Attack Framework and Attack Patterns, 2013, The MITRE Corporation", "external_id": "REF-439", "source_name": "reference_from_CAPEC", "url": "http://www.mitre.org/sites/default/files/publications/supply-chain-attack-framework-14-0228.pdf" }, { "description": "Cristin Goodwin, Joram Borenstein, Guarding against supply chain attacks—Part 2: Hardware risks, 2020--02---03, Microsoft", "external_id": "REF-712", "source_name": "reference_from_CAPEC", "url": "https://www.microsoft.com/security/blog/2020/02/03/guarding-against-supply-chain-attacks-part-2-hardware-risks/" }, { "description": "Jordan Robertson, Michael Riley, The Big Hack: How China Used a Tiny Chip to Infiltrate U.S. Companies, 2018--10---04, Bloomberg", "external_id": "REF-713", "source_name": "reference_from_CAPEC", "url": "https://www.bloomberg.com/news/features/2018-10-04/the-big-hack-how-china-used-a-tiny-chip-to-infiltrate-america-s-top-companies" } ], "id": "attack-pattern--a2328e82-460e-4de6-a459-7005de7befe4", "modified": "2022-09-29T00:00:00.000Z", "name": "Counterfeit Hardware Component Inserted During Product Assembly", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "attack-pattern", "x_capec_abstraction": "Detailed", "x_capec_child_of_refs": [ "attack-pattern--efb74200-657d-438c-aaff-bbd9644dd72d" ], "x_capec_domains": [ "Supply Chain" ], "x_capec_example_instances": [ "\n A manufacturer of a firewall system requires a hardware card which functions as a multi-jack ethernet card with four ethernet ports. The adversary constructs a counterfeit card that functions normally except that packets from the adversary's network are allowed to bypass firewall processing completely. Once deployed at a victim location, this allows the adversary to bypass the firewall unrestricted.\n ", "\n In 2018 it was discovered that Chinese spies infiltrated several U.S. government agencies and corporations as far back as 2015 by including a malicious microchip within the motherboard of servers sold by Elemental Technologies to the victims. Although these servers were assembled via a U.S. based company, the motherboards used within the servers were manufactured and maliciously altered via a Chinese subcontractor. Elemental Technologies then sold these malicious servers to various U.S. government agencies, such as the DoD and CIA, and corporations like Amazon and Apple. The malicious microchip provided adversaries with a backdoor into the system, which further allowed them to access any network that contained the exploited systems, to exfiltrate data to be sent to the Chinese government.[REF-713]\n " ], "x_capec_likelihood_of_attack": "Low", "x_capec_prerequisites": [ "The adversary will need either physical access or be able to supply malicious hardware components to the product development facility." ], "x_capec_skills_required": { "High": "Resources to physically infiltrate manufacturer or manufacturer's supplier." }, "x_capec_status": "Draft", "x_capec_typical_severity": "High", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--6d2ec83e-7f8f-4432-9ab1-78af8ba6a895", "modified": "2022-09-29T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--62164250-4c65-4a4d-b6db-0f1e9fd43d4f", "spec_version": "2.1", "target_ref": "attack-pattern--a2328e82-460e-4de6-a459-7005de7befe4", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--201cded3-e9d5-4558-8d0b-11b70dfbb31a", "modified": "2022-09-29T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--055aeafd-14d3-41fd-8647-156f498a27e7", "spec_version": "2.1", "target_ref": "attack-pattern--a2328e82-460e-4de6-a459-7005de7befe4", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "An attacker with access to a manufacturer's hardware manufacturing process documentation alters the design specifications, which introduces flaws advantageous to the attacker once the system is deployed.", "external_references": [ { "external_id": "CAPEC-521", "source_name": "capec", "url": "https://capec.mitre.org/data/definitions/521.html" }, { "description": "John F. Miller, Supply Chain Attack Framework and Attack Patterns, 2013, The MITRE Corporation", "external_id": "REF-439", "source_name": "reference_from_CAPEC", "url": "http://www.mitre.org/sites/default/files/publications/supply-chain-attack-framework-14-0228.pdf" }, { "description": "Marie Prokopets, How To Secure Your Documents, Nira", "external_id": "REF-715", "source_name": "reference_from_CAPEC", "url": "https://nira.com/how-to-secure-your-documents/" } ], "id": "attack-pattern--57b78312-1077-4e31-b3a2-5efb96a6c817", "modified": "2022-02-22T00:00:00.000Z", "name": "Hardware Design Specifications Are Altered", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "attack-pattern", "x_capec_abstraction": "Detailed", "x_capec_child_of_refs": [ "attack-pattern--cf550376-63ac-4b46-87d1-0e324c1c1c46" ], "x_capec_domains": [ "Supply Chain", "Hardware" ], "x_capec_example_instances": [ "To operate at full capability, a manufacturer's network intrusion detection device needs to have either a Intel Xeon E7-2820 or AMD FX-8350 which have 8 \"cores\" available, allowing for advanced threading needed to handle large volumes of network traffic without resorting to dropping packets from the detection process. The attacker alters the documentation to state that the system design must use the Intel Core Duo or the AMD Phenom II X2, which only have 2 cores, causing the system to drop large amounts of packets during deployment at a victim site with large amounts of network traffic." ], "x_capec_likelihood_of_attack": "Low", "x_capec_prerequisites": [ "Advanced knowledge of hardware capabilities of a manufacturer's product.", "Access to the manufacturer's documentation." ], "x_capec_skills_required": { "High": "Ability to stealthly gain access via remote compromise or physical access to the manufacturer's documentation." }, "x_capec_status": "Draft", "x_capec_typical_severity": "High", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--232f172a-e624-4b85-b24e-42010deaa829", "modified": "2022-02-22T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--2f2411fc-5d76-4d08-bdbd-af07cb72a148", "spec_version": "2.1", "target_ref": "attack-pattern--57b78312-1077-4e31-b3a2-5efb96a6c817", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--39203ce0-f720-4381-82bc-7ef976ea1f67", "modified": "2022-02-22T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--04c38e27-092f-44b9-9474-b6a1b89f003e", "spec_version": "2.1", "target_ref": "attack-pattern--57b78312-1077-4e31-b3a2-5efb96a6c817", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--9239bace-f868-43d4-9499-32436d123f29", "modified": "2022-02-22T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--1480541a-b7e2-4b3d-a3c5-f13287033d55", "spec_version": "2.1", "target_ref": "attack-pattern--57b78312-1077-4e31-b3a2-5efb96a6c817", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--73386060-fc29-4295-9736-a0468733e412", "modified": "2022-02-22T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--9347e41c-c794-41f7-8521-f8c6b76de2b4", "spec_version": "2.1", "target_ref": "attack-pattern--57b78312-1077-4e31-b3a2-5efb96a6c817", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--e23fda25-c33c-4a99-a18b-62e8f434859e", "modified": "2022-02-22T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--6adbdfe4-b1d6-43dd-880d-318b88f93118", "spec_version": "2.1", "target_ref": "attack-pattern--57b78312-1077-4e31-b3a2-5efb96a6c817", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--88547ca9-12fc-44e8-95b4-1e01d87849eb", "modified": "2022-02-22T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--4df124af-fc21-48e0-92fe-933e563f8082", "spec_version": "2.1", "target_ref": "attack-pattern--57b78312-1077-4e31-b3a2-5efb96a6c817", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "An adversary replaces legitimate hardware in the system with faulty counterfeit or tampered hardware in the supply chain distribution channel, with purpose of causing malicious disruption or allowing for additional compromise when the system is deployed.", "external_references": [ { "external_id": "CAPEC-522", "source_name": "capec", "url": "https://capec.mitre.org/data/definitions/522.html" }, { "description": "Supply Chain Compromise: Compromise Hardware Supply Chain", "external_id": "T1195.003", "source_name": "ATTACK", "url": "https://attack.mitre.org/wiki/Technique/T1195/003" }, { "description": "John F. Miller, Supply Chain Attack Framework and Attack Patterns, 2013, The MITRE Corporation", "external_id": "REF-439", "source_name": "reference_from_CAPEC", "url": "http://www.mitre.org/sites/default/files/publications/supply-chain-attack-framework-14-0228.pdf" }, { "description": "Cristin Goodwin, Joram Borenstein, Guarding against supply chain attacks—Part 2: Hardware risks, 2020--02---03, Microsoft", "external_id": "REF-712", "source_name": "reference_from_CAPEC", "url": "https://www.microsoft.com/security/blog/2020/02/03/guarding-against-supply-chain-attacks-part-2-hardware-risks/" } ], "id": "attack-pattern--556f08be-d926-448c-b2c2-88a817a170a4", "modified": "2022-09-29T00:00:00.000Z", "name": "Malicious Hardware Component Replacement", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "attack-pattern", "x_capec_abstraction": "Standard", "x_capec_child_of_refs": [ "attack-pattern--59ba3504-6764-48b4-980a-40e4adff2030" ], "x_capec_domains": [ "Supply Chain", "Hardware" ], "x_capec_example_instances": [ "During shipment the adversary is able to intercept a system that has been purchased by the victim, and replaces a math processor card that functions just like the original, but contains advanced malicious capability. Once deployed, the system functions as normal, but allows for the adversary to remotely communicate with the system and use it as a conduit for additional compromise within the victim's environment." ], "x_capec_execution_flow": "

Execution Flow

Explore

  1. Determine Target Hardware: The adversary must first identify a system that they wish to target, and a specific hardware component that they can swap out with a malicious replacement.

  2. Techniques
    Look for datasheets containing the system schematics that can help identify possible target hardware.
    Procure a system and inspect it manually, looking for possible hardware component targets. Search for manufacturer IDs on hardware chips or FCC IDs on wireless chips to determine their functionality.
  3. Discover Vulnerability in Supply Chain: The adversary maps out the supply chain for the targeted system. They look for ooportunities to gain physical access to the system after it has left the manufacturer, but before it is deployed to the victim.

  4. Techniques
    Procure a system and observe the steps it takes in the shipment process.
    Identify possible warehouses that systems are stored after manufacturing.

Experiment

  1. Test a Malicious Component Replacement: Before performing the attack in the wild, an adversary will test the attack on a system they have procured to ensure that the desired outcome will be achieved.

  2. Techniques
    Design a malicious hardware component that will perform the same functionality as the target component, but also contains additional functionality.
    Obtain already designed malicious components that just need to be placed into the system.

Exploit

  1. Substitute Components in the Supply Chain: Using the vulnerability in the supply chain of the system discovered in the explore phase, the adversary substitutes the malicious component for the targeted component. This results in the adversary gaining unintended access to systems once they reach the victim and can lead to a variety of follow up attacks.

", "x_capec_likelihood_of_attack": "Low", "x_capec_prerequisites": [ "Physical access to the system after it has left the manufacturer but before it is deployed at the victim location." ], "x_capec_skills_required": { "High": "Hardware creation and manufacture of replacement components." }, "x_capec_status": "Draft", "x_capec_typical_severity": "High", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "Ensure that all contractors and sub-suppliers use trusted means of shipping (e.g., bonded/cleared/vetted and insured couriers) to ensure that components, once purchased, are not subject to compromise during their delivery.", "id": "course-of-action--5d0d9e49-3036-4e81-987d-f0938def44da", "modified": "2022-09-29T00:00:00.000Z", "name": "coa-522-0", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "course-of-action", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--3e5d22fb-9a7a-4510-9013-518caaabf8fb", "modified": "2022-09-29T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--5d0d9e49-3036-4e81-987d-f0938def44da", "spec_version": "2.1", "target_ref": "attack-pattern--556f08be-d926-448c-b2c2-88a817a170a4", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "Prevent or detect tampering with critical hardware or firmware components while in transit through use of state-of-the-art anti-tamper devices.", "id": "course-of-action--4b24a939-98c5-4cb3-993b-8237bb1e6b31", "modified": "2022-09-29T00:00:00.000Z", "name": "coa-522-1", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "course-of-action", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--13c57eb4-2ac4-4e73-9f83-5f22cf4194c9", "modified": "2022-09-29T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--4b24a939-98c5-4cb3-993b-8237bb1e6b31", "spec_version": "2.1", "target_ref": "attack-pattern--556f08be-d926-448c-b2c2-88a817a170a4", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "Use tamper-resistant and tamper-evident packaging when shipping critical components (e.g., plastic coating for circuit boards, tamper tape, paint, sensors, and/or seals for cases and containers) and inspect received system components for evidence of tampering.", "id": "course-of-action--1f214abb-be0a-4348-b681-5c21cc8c76ac", "modified": "2022-09-29T00:00:00.000Z", "name": "coa-522-2", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "course-of-action", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--b9712253-4163-4fb1-aca0-1392d19779d3", "modified": "2022-09-29T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--1f214abb-be0a-4348-b681-5c21cc8c76ac", "spec_version": "2.1", "target_ref": "attack-pattern--556f08be-d926-448c-b2c2-88a817a170a4", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "An attacker implants malicious software into the system in the supply chain distribution channel, with purpose of causing malicious disruption or allowing for additional compromise when the system is deployed.", "external_references": [ { "external_id": "CAPEC-523", "source_name": "capec", "url": "https://capec.mitre.org/data/definitions/523.html" }, { "description": "Supply Chain Compromise: Compromise Software Supply Chain", "external_id": "T1195.002", "source_name": "ATTACK", "url": "https://attack.mitre.org/wiki/Technique/T1195/002" }, { "description": "John F. Miller, Supply Chain Attack Framework and Attack Patterns, 2013, The MITRE Corporation", "external_id": "REF-439", "source_name": "reference_from_CAPEC", "url": "http://www.mitre.org/sites/default/files/publications/supply-chain-attack-framework-14-0228.pdf" }, { "description": "Daniel Simpson, Dani Halfin, Andrews Mariano Gorzelany, Beth Woodbury, Supply chain attacks, 2021--10---28, Microsoft", "external_id": "REF-716", "source_name": "reference_from_CAPEC", "url": "https://docs.microsoft.com/en-us/windows/security/threat-protection/intelligence/supply-chain-malware" } ], "id": "attack-pattern--02570621-96aa-4525-b782-8e3939affac3", "modified": "2022-09-29T00:00:00.000Z", "name": "Malicious Software Implanted", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "attack-pattern", "x_capec_abstraction": "Standard", "x_capec_child_of_refs": [ "attack-pattern--59ba3504-6764-48b4-980a-40e4adff2030" ], "x_capec_domains": [ "Supply Chain" ], "x_capec_example_instances": [ "An attacker has created a piece of malicious software designed to function as a backdoor in a system that is to be deployed at the victim location. During shipment of the system, the attacker has physical access to the system at a loading dock of an integrator for a short time. The attacker unpacks and powers up the system and installs the malicious piece of software, and configures it to run upon system boot. The system is repackaged and returned to its place on the loading dock, and is shipped and installed at the victim location with the malicious software in place, allowing the attacker to bypass firewalls and remotely gain access to the victim's network for further malicious activities." ], "x_capec_execution_flow": "

Execution Flow

Explore

  1. Determine Entry Point: The adversary must first identify a system that they wish to target and search for an entry point they can use to install the malicious software. This could be a system which they have prior knowledge of, giving them insight into the software and environment.

  2. Techniques
    Use a JTAGulator to identify exposed JTAG and UART interfaces in smaller embedded systems.
    Identify exposed USB connectors that could be used to load software.
  3. Discover Vulnerability in Supply Chain: The adversary maps out the supply chain for the targeted system. They look for ooportunities to gain physical access to the system after it has left the manufacturer, but before it is deployed to the victim.

  4. Techniques
    Procure a system and observe the steps it takes in the shipment process.
    Identify possible warehouses that systems are stored after manufacturing.

Experiment

  1. Test Malicious Software: Before performing the attack in the wild, an adversary will test the attack on a system they have procured to ensure that the desired outcome will be achieved.

  2. Techniques
    Design malicious software that will give an adversary a backdoor into the system once it is deployed to the victim.
    Obtain already designed malicious software that just need to be placed into the system.

Exploit

  1. Implant Software in the Supply Chain: Using the vulnerability in the supply chain of the system discovered in the explore phase, the adversary implants the malicious software into the system. This results in the adversary gaining unintended access to systems once they reach the victim and can lead to a variety of follow up attacks.

", "x_capec_likelihood_of_attack": "Low", "x_capec_prerequisites": [ "Physical access to the system after it has left the manufacturer but before it is deployed at the victim location." ], "x_capec_skills_required": { "High": "Malicious software creation." }, "x_capec_status": "Draft", "x_capec_typical_severity": "High", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "Deploy strong code integrity policies to allow only authorized apps to run.", "id": "course-of-action--5cd8f024-ef85-4ead-a600-9a8e45e14265", "modified": "2022-09-29T00:00:00.000Z", "name": "coa-523-0", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "course-of-action", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--7977ee36-e9dd-4362-8a07-7921c10bfa77", "modified": "2022-09-29T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--5cd8f024-ef85-4ead-a600-9a8e45e14265", "spec_version": "2.1", "target_ref": "attack-pattern--02570621-96aa-4525-b782-8e3939affac3", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "Use endpoint detection and response solutions that can automaticalkly detect and remediate suspicious activities.", "id": "course-of-action--4a4c56d3-bd9f-4a93-a13c-48bf19a739bd", "modified": "2022-09-29T00:00:00.000Z", "name": "coa-523-1", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "course-of-action", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--a9e07347-a756-464a-9d08-127f1ed81bf7", "modified": "2022-09-29T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--4a4c56d3-bd9f-4a93-a13c-48bf19a739bd", "spec_version": "2.1", "target_ref": "attack-pattern--02570621-96aa-4525-b782-8e3939affac3", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "Maintain a highly secure build and update infrastructure by immediately applying security patches for OS and software, implementing mandatory integrity controls to ensure only trusted tools run, and requiring multi-factor authentication for admins.", "id": "course-of-action--be1960df-7044-4eff-a0c2-b2bc18a0b4c2", "modified": "2022-09-29T00:00:00.000Z", "name": "coa-523-2", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "course-of-action", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--17e26e5a-6708-4c5c-b559-87469e885b6f", "modified": "2022-09-29T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--be1960df-7044-4eff-a0c2-b2bc18a0b4c2", "spec_version": "2.1", "target_ref": "attack-pattern--02570621-96aa-4525-b782-8e3939affac3", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "Require SSL for update channels and implement certificate transparency based verification.", "id": "course-of-action--f7bcda54-37c4-4cb2-867e-a93b16bf0b1c", "modified": "2022-09-29T00:00:00.000Z", "name": "coa-523-3", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "course-of-action", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--90739ef7-b15d-4d24-bc46-6b8a4a460db0", "modified": "2022-09-29T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--f7bcda54-37c4-4cb2-867e-a93b16bf0b1c", "spec_version": "2.1", "target_ref": "attack-pattern--02570621-96aa-4525-b782-8e3939affac3", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "Sign everything, including configuration files, XML files and packages.", "id": "course-of-action--ed6f6199-c0e4-457b-bf01-c1c387be69cd", "modified": "2022-09-29T00:00:00.000Z", "name": "coa-523-4", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "course-of-action", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--5c3b0185-14be-491f-9447-065542f68070", "modified": "2022-09-29T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--ed6f6199-c0e4-457b-bf01-c1c387be69cd", "spec_version": "2.1", "target_ref": "attack-pattern--02570621-96aa-4525-b782-8e3939affac3", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "Develop an incident response process, disclose supply chain incidents and notify customers with accurate and timely information.", "id": "course-of-action--515c3742-c198-44f2-bc02-7b6e8959db8d", "modified": "2022-09-29T00:00:00.000Z", "name": "coa-523-5", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "course-of-action", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--fe330f06-2741-49df-9e82-3eea2c36031c", "modified": "2022-09-29T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--515c3742-c198-44f2-bc02-7b6e8959db8d", "spec_version": "2.1", "target_ref": "attack-pattern--02570621-96aa-4525-b782-8e3939affac3", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "An attacker alters or establishes rogue processes in an integration facility in order to insert maliciously altered components into the system. The attacker would then supply the malicious components. This would allow for malicious disruption or additional compromise when the system is deployed.", "external_references": [ { "external_id": "CAPEC-524", "source_name": "capec", "url": "https://capec.mitre.org/data/definitions/524.html" }, { "description": "John F. Miller, Supply Chain Attack Framework and Attack Patterns, 2013, The MITRE Corporation", "external_id": "REF-439", "source_name": "reference_from_CAPEC", "url": "http://www.mitre.org/sites/default/files/publications/supply-chain-attack-framework-14-0228.pdf" }, { "description": "Daniel Simpson, Dani Halfin, Andrews Mariano Gorzelany, Beth Woodbury, Supply chain attacks, 2021--10---28, Microsoft", "external_id": "REF-716", "source_name": "reference_from_CAPEC", "url": "https://docs.microsoft.com/en-us/windows/security/threat-protection/intelligence/supply-chain-malware" } ], "id": "attack-pattern--f17dd173-6fcf-4f43-8f72-0f274dde5fc5", "modified": "2022-02-22T00:00:00.000Z", "name": "Rogue Integration Procedures", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "attack-pattern", "x_capec_abstraction": "Standard", "x_capec_child_of_refs": [ "attack-pattern--59ba3504-6764-48b4-980a-40e4adff2030" ], "x_capec_domains": [ "Supply Chain" ], "x_capec_example_instances": [ "An attacker gains access to a system integrator's documentation for the preparation of purchased systems designated for deployment at the victim's location. As a part of the preparation, the included 100 megabit network card is to be replaced with a 1 gigabit network card. The documentation is altered to reflect the type of 1 gigabit network card to use, and the attacker ensures that this type of network card is provided by the attacker's own supply. The card has additional malicious functionality which will allow for additional compromise by the attacker at the victim location once the system is deployed." ], "x_capec_likelihood_of_attack": "Low", "x_capec_prerequisites": [ "Physical access to an integration facility that prepares the system before it is deployed at the victim location." ], "x_capec_skills_required": { "High": "Hardware creation and manufacture of replacement components." }, "x_capec_status": "Draft", "x_capec_typical_severity": "High", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--bb65fed4-9856-4cc8-b152-6e50459d73cb", "modified": "2022-02-22T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--5cd8f024-ef85-4ead-a600-9a8e45e14265", "spec_version": "2.1", "target_ref": "attack-pattern--f17dd173-6fcf-4f43-8f72-0f274dde5fc5", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--fa96d7c5-a195-4776-8593-4c3da18a0788", "modified": "2022-02-22T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--4a4c56d3-bd9f-4a93-a13c-48bf19a739bd", "spec_version": "2.1", "target_ref": "attack-pattern--f17dd173-6fcf-4f43-8f72-0f274dde5fc5", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--3e2b7ea2-a95c-44d2-88af-b8f040f18920", "modified": "2022-02-22T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--be1960df-7044-4eff-a0c2-b2bc18a0b4c2", "spec_version": "2.1", "target_ref": "attack-pattern--f17dd173-6fcf-4f43-8f72-0f274dde5fc5", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--c109c7e5-daa6-42f0-81a6-5416db0cc058", "modified": "2022-02-22T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--f7bcda54-37c4-4cb2-867e-a93b16bf0b1c", "spec_version": "2.1", "target_ref": "attack-pattern--f17dd173-6fcf-4f43-8f72-0f274dde5fc5", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--219a5740-2430-4bff-9bab-743bd8be41d4", "modified": "2022-02-22T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--ed6f6199-c0e4-457b-bf01-c1c387be69cd", "spec_version": "2.1", "target_ref": "attack-pattern--f17dd173-6fcf-4f43-8f72-0f274dde5fc5", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--8c51a053-7c7e-4e4f-98a1-9bfa45da752c", "modified": "2022-02-22T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--515c3742-c198-44f2-bc02-7b6e8959db8d", "spec_version": "2.1", "target_ref": "attack-pattern--f17dd173-6fcf-4f43-8f72-0f274dde5fc5", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "Maintain strong physical system access controls and monitor networks and physical facilities for insider threats.", "id": "course-of-action--da4c5f85-68af-498c-a2cb-7dc95e9c7115", "modified": "2022-02-22T00:00:00.000Z", "name": "coa-524-6", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "course-of-action", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--5318f2ea-5803-44c4-883f-e69b2e824665", "modified": "2022-02-22T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--da4c5f85-68af-498c-a2cb-7dc95e9c7115", "spec_version": "2.1", "target_ref": "attack-pattern--f17dd173-6fcf-4f43-8f72-0f274dde5fc5", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "An adversary may execute a flooding attack using XML messages with the intent to deny legitimate users access to a web service. These attacks are accomplished by sending a large number of XML based requests and letting the service attempt to parse each one. In many cases this type of an attack will result in a XML Denial of Service (XDoS) due to an application becoming unstable, freezing, or crashing.", "external_references": [ { "external_id": "CAPEC-528", "source_name": "capec", "url": "https://capec.mitre.org/data/definitions/528.html" }, { "external_id": "CWE-770", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/770.html" }, { "description": "Endpoint Denial of Service:Service Exhaustion Flood", "external_id": "T1499.002", "source_name": "ATTACK", "url": "https://attack.mitre.org/wiki/Technique/T1499/002" }, { "description": "Network Denial of Service:Direct Network Flood", "external_id": "T1498.001", "source_name": "ATTACK", "url": "https://attack.mitre.org/wiki/Technique/T1498/001" } ], "id": "attack-pattern--ad3913be-6ca6-48e6-9e3b-7b67e4162612", "modified": "2022-02-22T00:00:00.000Z", "name": "XML Flood", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "attack-pattern", "x_capec_abstraction": "Standard", "x_capec_alternate_terms": [ "XML Denial of Service (XML DoS)" ], "x_capec_child_of_refs": [ "attack-pattern--6854fe89-0829-429f-a95c-89e77ab6c8ed" ], "x_capec_consequences": { "Availability": [ "Resource Consumption" ] }, "x_capec_domains": [ "Software" ], "x_capec_example_instances": [ "Consider the case of attack performed against the createCustomerBillingAccount Web Service for an online store. In this case, the createCustomerBillingAccount Web Service receives a huge number of simultaneous requests, containing nonsense billing account creation information (the small XML messages). The createCustomerBillingAccount Web Services may forward the messages to other Web Services for processing. The application suffers from a high load of requests, potentially leading to a complete loss of availability the involved Web Service." ], "x_capec_execution_flow": "

Execution Flow

Explore

  1. Survey the target: Using a browser or an automated tool, an attacker records all instance of web services to process XML requests.

  2. Techniques
    Use an automated tool to record all instances of URLs to process XML requests.
    Use a browser to manually explore the website and analyze how the application processes XML requests.

Experiment

  1. An adversary crafts input data that may have an adverse effect on the operation of the web service when the XML data sent to the service.

Exploit

  1. Launch a resource depletion attack: The attacker delivers a large number of XML messages to the target URLs found in the explore phase at a sufficiently rapid rate. It causes denial of service to the target application.

  2. Techniques
    Send a large number of crafted XML messages to the target URL.
", "x_capec_extended_description": "\n XDoS is most closely associated with web services, SOAP, and Rest, because remote service requesters can post malicious XML payloads to the service provider designed to exhaust the service provider's memory, CPU, and/or disk space. The main weakness in XDoS is that the service provider generally must inspect, parse, and validate the XML messages to determine routing, workflow, security considerations, and so on. It is exactly these inspection, parsing, and validation routines that XDoS targets. This attack exploits the loosely coupled nature of web services, where the service provider has little to no control over the service requester and any messages the service requester sends.\n ", "x_capec_likelihood_of_attack": "Low", "x_capec_parent_of_refs": [ "attack-pattern--94238840-08ad-4117-8a20-ed359cda1e7e" ], "x_capec_prerequisites": [ "The target must receive and process XML transactions.", "An adverssary must possess the ability to generate a large amount of XML based messages to send to the target service." ], "x_capec_skills_required": { "Low": "Denial of service" }, "x_capec_status": "Draft", "x_capec_typical_severity": "Medium", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--90c77905-bef0-451f-b726-1225d30da2de", "modified": "2022-02-22T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--098aadf6-648b-4c3a-bbf9-224e6bd430fd", "spec_version": "2.1", "target_ref": "attack-pattern--ad3913be-6ca6-48e6-9e3b-7b67e4162612", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--56794f75-72f9-4d9c-8fe4-a17e9e46b6c5", "modified": "2022-02-22T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--ba0208fb-20e5-4c4f-9a93-d5d806d038e6", "spec_version": "2.1", "target_ref": "attack-pattern--ad3913be-6ca6-48e6-9e3b-7b67e4162612", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "Adversary uses malware or a similarly controlled application installed inside an organizational perimeter to gather information about the composition, configuration, and security mechanisms of a targeted application, system or network.", "external_references": [ { "external_id": "CAPEC-529", "source_name": "capec", "url": "https://capec.mitre.org/data/definitions/529.html" } ], "id": "attack-pattern--6f7f4589-3abb-4aa8-ac80-1a6715d75a8b", "modified": "2020-07-30T00:00:00.000Z", "name": "Malware-Directed Internal Reconnaissance", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "attack-pattern", "x_capec_abstraction": "Standard", "x_capec_can_follow_refs": [ "attack-pattern--c8c9dfbe-7a40-4041-84ff-89942878a2f4", "attack-pattern--a55491b8-b521-44f4-a905-a6ed82b8e7e8" ], "x_capec_child_of_refs": [ "attack-pattern--87b0d2df-b246-4bf9-aee8-4912e2fa1a30" ], "x_capec_consequences": { "Confidentiality": [ "Read Data" ] }, "x_capec_domains": [ "Software" ], "x_capec_likelihood_of_attack": "Medium", "x_capec_prerequisites": [ "The adversary must have internal, logical access to the target network and system." ], "x_capec_resources_required": [ "The adversary requires a variety of tools to collect information about the target. These include port/network scanners and tools to analyze responses from applications to determine version and configuration information. Footprinting a system adequately may also take a few days if the attacker wishes the footprinting attempt to go undetected." ], "x_capec_skills_required": { "Medium": "The adversary must be able to obtain or develop, as well as place malicious software inside the target network/system." }, "x_capec_status": "Stable", "x_capec_typical_severity": "Medium", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--7dcaa766-8fbb-4cf2-9d26-1cb5b3739b11", "modified": "2020-07-30T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--a7d31992-837d-4b43-91fb-5fd7cffc161b", "spec_version": "2.1", "target_ref": "attack-pattern--6f7f4589-3abb-4aa8-ac80-1a6715d75a8b", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "Identify programs that may be used to acquire peripheral information and block them by using a software restriction policy or tools that restrict program execution by using a process allowlist.", "id": "course-of-action--a2404315-1d87-4e47-a8e4-c6b2cfe457d8", "modified": "2020-07-30T00:00:00.000Z", "name": "coa-529-1", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "course-of-action", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--a65abf1a-adf4-4c4d-9dbb-1ad3f3be601b", "modified": "2020-07-30T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--a2404315-1d87-4e47-a8e4-c6b2cfe457d8", "spec_version": "2.1", "target_ref": "attack-pattern--6f7f4589-3abb-4aa8-ac80-1a6715d75a8b", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "If a string is passed through a filter of some kind, then a terminal NULL may not be valid. Using alternate representation of NULL allows an adversary to embed the NULL mid-string while postfixing the proper data so that the filter is avoided. One example is a filter that looks for a trailing slash character. If a string insertion is possible, but the slash must exist, an alternate encoding of NULL in mid-string may be used.", "external_references": [ { "external_id": "CAPEC-53", "source_name": "capec", "url": "https://capec.mitre.org/data/definitions/53.html" }, { "external_id": "CWE-158", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/158.html" }, { "external_id": "CWE-172", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/172.html" }, { "external_id": "CWE-173", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/173.html" }, { "external_id": "CWE-74", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/74.html" }, { "external_id": "CWE-20", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/20.html" }, { "external_id": "CWE-697", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/697.html" }, { "external_id": "CWE-707", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/707.html" }, { "description": "G. Hoglund, G. McGraw, Exploiting Software: How to Break Code, 2004--02, Addison-Wesley", "external_id": "REF-1", "source_name": "reference_from_CAPEC" } ], "id": "attack-pattern--abcb5f5a-ead2-47e3-b3cf-1e493ca049e9", "modified": "2022-09-29T00:00:00.000Z", "name": "Postfix, Null Terminate, and Backslash", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "attack-pattern", "x_capec_abstraction": "Detailed", "x_capec_child_of_refs": [ "attack-pattern--a1af7c24-25cb-46e5-a27b-ed316e1f91ce" ], "x_capec_consequences": { "Access_Control": [ "Gain Privileges" ], "Authorization": [ "Gain Privileges" ], "Confidentiality": [ "Read Data", "Gain Privileges" ], "Integrity": [ "Modify Data" ] }, "x_capec_domains": [ "Software" ], "x_capec_example_instances": [ "\n A rather simple injection is possible in a URL:\n http://getAccessHostname/sekbin/helpwin.gas.bat?mode=&draw=x&file=x&module=&locale=[insert relative path here][%00][%5C]&chapter=\n This attack has appeared with regularity in the wild. There are many variations of this kind of attack. Spending a short amount of time injecting against Web applications will usually result in a new exploit being discovered.\n " ], "x_capec_execution_flow": "

Execution Flow

Explore

  1. Survey the application for user-controllable inputs: Using a browser, an automated tool or by inspecting the application, an adversary records all entry points to the application.

  2. Techniques
    Use a spidering tool to follow and record all links and analyze the web pages to find entry points. Make special note of any links that include parameters in the URL.
    Use a proxy tool to record all user input entry points visited during a manual traversal of the web application.
    Use a browser to manually explore the website and analyze how it is constructed. Many browsers' plugins are available to facilitate the analysis or automate the discovery.
    Manually inspect the application to find entry points.

Experiment

  1. Probe entry points to locate vulnerabilities: The adversary uses the entry points gathered in the \"Explore\" phase as a target list and injects postfix null byte(s) followed by a backslash to observe how the application handles them as input. The adversary is looking for areas where user input is placed in the middle of a string, and the null byte causes the application to stop processing the string at the end of the user input.

  2. Techniques
    Try different encodings for null such as \\0 or %00 followed by an encoding for the backslash character.

Exploit

  1. Remove data after null byte(s): After determined entry points that are vulnerable, the adversary places a null byte(s) followed by a backslash such that they bypass an input filter and remove data after the null byte(s) in a way that is beneficial to them.

  2. Techniques
    If the input is a directory as part of a longer file path, add a null byte(s) followed by a backslash at the end of the input to try to traverse to the given directory.
", "x_capec_likelihood_of_attack": "High", "x_capec_prerequisites": [ "Null terminators are not properly handled by the filter." ], "x_capec_skills_required": { "Medium": "An adversary needs to understand alternate encodings, what the filter looks for and the data format acceptable to the target API" }, "x_capec_status": "Draft", "x_capec_typical_severity": "High", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "Properly handle Null characters. Make sure canonicalization is properly applied. Do not pass Null characters to the underlying APIs.", "id": "course-of-action--49efb31f-83a6-4f63-9415-6e82bf0893c2", "modified": "2022-09-29T00:00:00.000Z", "name": "coa-53-0", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "course-of-action", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--4b7d2bed-d8be-4a5d-8206-5c90b09eb190", "modified": "2022-09-29T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--49efb31f-83a6-4f63-9415-6e82bf0893c2", "spec_version": "2.1", "target_ref": "attack-pattern--abcb5f5a-ead2-47e3-b3cf-1e493ca049e9", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--eebe9446-5ca8-4441-ae14-9baa42c6bf1a", "modified": "2022-09-29T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--523a56cb-eaa5-451a-8ba9-f85b37fad844", "spec_version": "2.1", "target_ref": "attack-pattern--abcb5f5a-ead2-47e3-b3cf-1e493ca049e9", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "An attacker provides a counterfeit component during the procurement process of a lower-tier component supplier to a sub-system developer or integrator, which is then built into the system being upgraded or repaired by the victim, allowing the attacker to cause disruption or additional compromise.", "external_references": [ { "external_id": "CAPEC-530", "source_name": "capec", "url": "https://capec.mitre.org/data/definitions/530.html" }, { "description": "John F. Miller, Supply Chain Attack Framework and Attack Patterns, 2013, The MITRE Corporation", "external_id": "REF-439", "source_name": "reference_from_CAPEC", "url": "http://www.mitre.org/sites/default/files/publications/supply-chain-attack-framework-14-0228.pdf" }, { "description": "Paul Wagner, Combating Counterfeit Components in the DoD Supply Chain, 2015, Defence Systems Information Analysis Center", "external_id": "REF-698", "source_name": "reference_from_CAPEC", "url": "https://dsiac.org/articles/combating-counterfeit-components-in-the-dod-supply-chain/" }, { "description": "Ujjwal Guin, Ke Huang, Daniel DiMase, John M. Carulli, Jr., Mohammad Tehranipoor, Yiorgos Makris, Counterfeit Integrated Circuits: A Rising Threat in the Global Semiconductor Supply Chain, Proceedings of the IEEE, 2014, IEEE", "external_id": "REF-703", "source_name": "reference_from_CAPEC", "url": "https://ieeexplore.ieee.org/stamp/stamp.jsp?tp=&arnumber=6856206" } ], "id": "attack-pattern--b217a941-e854-468d-921b-beeba3c73a98", "modified": "2022-02-22T00:00:00.000Z", "name": "Provide Counterfeit Component", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "attack-pattern", "x_capec_abstraction": "Detailed", "x_capec_child_of_refs": [ "attack-pattern--fda936c1-236d-4460-a5a9-4555d9583b2e" ], "x_capec_domains": [ "Supply Chain", "Physical Security", "Hardware" ], "x_capec_example_instances": [ "The attacker, aware that the victim has contracted with an integrator for system maintenance and that the integrator uses commercial-off-the-shelf network hubs, develops their own network hubs with a built-in malicious capability for remote access, the malicious network hubs appear to be a well-known brand of network hub but are not. The attacker then advertises to the sub-system integrator that they are a legit supplier of network hubs, and offers them at a reduced price to entice the integrator to purchase these network hubs. The integrator then installs the attacker's hubs at the victim's location, allowing the attacker to remotely compromise the victim's network." ], "x_capec_likelihood_of_attack": "Low", "x_capec_prerequisites": [ "Advanced knowledge about the target system and sub-components." ], "x_capec_skills_required": { "High": "Able to develop and manufacture malicious system components that resemble legitimate name-brand components." }, "x_capec_status": "Draft", "x_capec_typical_severity": "High", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "There are various methods to detect if the component is a counterfeit. See section II of [REF-703] for many techniques.", "id": "course-of-action--270e1858-94a7-4e31-b8dc-ffc71062097e", "modified": "2022-02-22T00:00:00.000Z", "name": "coa-530-0", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "course-of-action", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--cfca2257-0ba0-43bb-92c7-3d3cb69eae5a", "modified": "2022-02-22T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--270e1858-94a7-4e31-b8dc-ffc71062097e", "spec_version": "2.1", "target_ref": "attack-pattern--b217a941-e854-468d-921b-beeba3c73a98", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "An attacker substitutes out a tested and approved hardware component for a maliciously-altered hardware component. This type of attack is carried out directly on the system, enabling the attacker to then cause disruption or additional compromise.", "external_references": [ { "external_id": "CAPEC-531", "source_name": "capec", "url": "https://capec.mitre.org/data/definitions/531.html" }, { "description": "Supply Chain Compromise: Compromise Hardware Supply Chain", "external_id": "T1195.003", "source_name": "ATTACK", "url": "https://attack.mitre.org/wiki/Technique/T1195/003" } ], "id": "attack-pattern--fda936c1-236d-4460-a5a9-4555d9583b2e", "modified": "2022-09-29T00:00:00.000Z", "name": "Hardware Component Substitution", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "attack-pattern", "x_capec_abstraction": "Detailed", "x_capec_child_of_refs": [ "attack-pattern--a79f5cc6-781c-4e49-a00e-7aae93718f9e" ], "x_capec_domains": [ "Supply Chain", "Physical Security", "Hardware" ], "x_capec_example_instances": [ "An attacker has access to an organization's warehouse of card readers being included as a part of an overall security system. By replacing a critical hardware component in the card reader, the attacker is able to alter the function of the card reader to allow an attacker-supplied card to bypass a security checkpoint. The card reader is placed in the warehouse, and later used in the victim's security system. The attacker is then able to go to the victim and use their own card and bypass a physical security checkpoint and gain access to the victim's location for further malicious activity." ], "x_capec_likelihood_of_attack": "Low", "x_capec_parent_of_refs": [ "attack-pattern--b217a941-e854-468d-921b-beeba3c73a98", "attack-pattern--cd81f98a-aa72-4331-a7dd-5f9cd92332e2" ], "x_capec_prerequisites": [ "Physical access to the system or the integration facility where hardware components are kept." ], "x_capec_skills_required": { "High": "Able to develop and manufacture malicious system components that perform the same functions and processes as their non-malicious counterparts." }, "x_capec_status": "Draft", "x_capec_typical_severity": "High", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "An attacker with access to download and update system software sends a maliciously altered BIOS to the victim or victim supplier/integrator, which when installed allows for future exploitation.", "external_references": [ { "external_id": "CAPEC-532", "source_name": "capec", "url": "https://capec.mitre.org/data/definitions/532.html" }, { "description": "Firmware Corruption", "external_id": "T1495", "source_name": "ATTACK", "url": "https://attack.mitre.org/wiki/Technique/T1495" }, { "description": "Pre-OS Boot:System Firmware", "external_id": "T1542.001", "source_name": "ATTACK", "url": "https://attack.mitre.org/wiki/Technique/T1542/001" }, { "description": "John F. Miller, Supply Chain Attack Framework and Attack Patterns, 2013, The MITRE Corporation", "external_id": "REF-439", "source_name": "reference_from_CAPEC", "url": "http://www.mitre.org/sites/default/files/publications/supply-chain-attack-framework-14-0228.pdf" }, { "description": "Daniel Simpson, Dani Halfin, Andrews Mariano Gorzelany, Beth Woodbury, Supply chain attacks, 2021--10---28, Microsoft", "external_id": "REF-716", "source_name": "reference_from_CAPEC", "url": "https://docs.microsoft.com/en-us/windows/security/threat-protection/intelligence/supply-chain-malware" } ], "id": "attack-pattern--51d000d6-11a0-461b-98e7-8550beac027b", "modified": "2022-09-29T00:00:00.000Z", "name": "Altered Installed BIOS", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "attack-pattern", "x_capec_abstraction": "Detailed", "x_capec_child_of_refs": [ "attack-pattern--efb74200-657d-438c-aaff-bbd9644dd72d" ], "x_capec_domains": [ "Supply Chain", "Software" ], "x_capec_example_instances": [ "An attacker compromises the download and update portion of a manufacturer's web presence, and develops a malicious BIOS that in addition to the normal functionality will also at a specific time of day disable the remote access subsystem's security checks. The malicious BIOS is put in place on the manufacturer's website, the victim location is sent an official-looking email informing the victim of the availability of a new BIOS with bug fixes and enhanced performance capabilities to entice the victim to install the new BIOS quickly. The malicious BIOS is downloaded and installed on the victim's system, which allows for additional compromise by the attacker." ], "x_capec_likelihood_of_attack": "Low", "x_capec_prerequisites": [ "Advanced knowledge about the installed target system design.", "Advanced knowledge about the download and update installation processes.", "Access to the download and update system(s) used to deliver BIOS images." ], "x_capec_skills_required": { "High": "Able to develop a malicious BIOS image with the original functionality as a normal BIOS image, but with added functionality that allows for later compromise and/or disruption." }, "x_capec_status": "Stable", "x_capec_typical_severity": "High", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--6b8c6a8f-60bc-44b0-b941-655ac99f1ed2", "modified": "2022-09-29T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--5cd8f024-ef85-4ead-a600-9a8e45e14265", "spec_version": "2.1", "target_ref": "attack-pattern--51d000d6-11a0-461b-98e7-8550beac027b", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--4dba22e9-c6a9-41d4-90dc-e0f901ba07b7", "modified": "2022-09-29T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--4a4c56d3-bd9f-4a93-a13c-48bf19a739bd", "spec_version": "2.1", "target_ref": "attack-pattern--51d000d6-11a0-461b-98e7-8550beac027b", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--558fc16d-3a30-4de8-a6a3-715da1167d64", "modified": "2022-09-29T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--be1960df-7044-4eff-a0c2-b2bc18a0b4c2", "spec_version": "2.1", "target_ref": "attack-pattern--51d000d6-11a0-461b-98e7-8550beac027b", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--d87ea2ec-a2a8-4154-9e21-c6527e611602", "modified": "2022-09-29T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--f7bcda54-37c4-4cb2-867e-a93b16bf0b1c", "spec_version": "2.1", "target_ref": "attack-pattern--51d000d6-11a0-461b-98e7-8550beac027b", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "Sign update packages and BIOS patches.", "id": "course-of-action--01450422-3bac-46ec-874f-c608fdf422d5", "modified": "2022-09-29T00:00:00.000Z", "name": "coa-532-4", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "course-of-action", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--5dc5f9ce-0406-4e0d-a272-ff33e485b751", "modified": "2022-09-29T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--01450422-3bac-46ec-874f-c608fdf422d5", "spec_version": "2.1", "target_ref": "attack-pattern--51d000d6-11a0-461b-98e7-8550beac027b", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "Use hardware security modules/trusted platform modules to verify authenticity using hardware-based cryptography.", "id": "course-of-action--10ee6dd5-e2ac-41d7-92e2-37e1270f8598", "modified": "2022-09-29T00:00:00.000Z", "name": "coa-532-5", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "course-of-action", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--7aadd9ce-2c81-4af1-8711-9aec554535b9", "modified": "2022-09-29T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--10ee6dd5-e2ac-41d7-92e2-37e1270f8598", "spec_version": "2.1", "target_ref": "attack-pattern--51d000d6-11a0-461b-98e7-8550beac027b", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "An attacker introduces malicious code to the victim's system by altering the payload of a software update, allowing for additional compromise or site disruption at the victim location. These manual, or user-assisted attacks, vary from requiring the user to download and run an executable, to as streamlined as tricking the user to click a URL. Attacks which aim at penetrating a specific network infrastructure often rely upon secondary attack methods to achieve the desired impact. Spamming, for example, is a common method employed as an secondary attack vector. Thus the attacker has in their arsenal a choice of initial attack vectors ranging from traditional SMTP/POP/IMAP spamming and its varieties, to web-application mechanisms which commonly implement both chat and rich HTML messaging within the user interface.", "external_references": [ { "external_id": "CAPEC-533", "source_name": "capec", "url": "https://capec.mitre.org/data/definitions/533.html" }, { "external_id": "CWE-494", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/494.html" }, { "description": "Sean Endicott, Fake Microsoft update used in malicious email attack campaign, 2021--07, Microsoft News", "external_id": "REF-710", "source_name": "reference_from_CAPEC", "url": "https://www.msn.com/en-us/news/technology/fake-microsoft-update-used-in-malicious-email-attack-campaign/ar-AALTcVs" } ], "id": "attack-pattern--83c7d2ff-f74e-471b-bd10-28421e818719", "modified": "2022-02-22T00:00:00.000Z", "name": "Malicious Manual Software Update", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "attack-pattern", "x_capec_abstraction": "Detailed", "x_capec_child_of_refs": [ "attack-pattern--3c9e7b88-a1eb-4cfd-aa34-10df08b23317" ], "x_capec_domains": [ "Social Engineering", "Supply Chain", "Software" ], "x_capec_example_instances": [ "An email campaign was initiated, targetting victims of a ransomware attack. The email claimed to be a patch to address the ransomware attack, but was instead an attachment that caused the Cobalt Strike tools to be installed, which enabled further attacks." ], "x_capec_likelihood_of_attack": "Low", "x_capec_prerequisites": [ "Advanced knowledge about the download and update installation processes.", "Advanced knowledge about the deployed system and its various software subcomponents and processes." ], "x_capec_skills_required": { "High": "Able to develop malicious code that can be used on the victim's system while maintaining normal functionality." }, "x_capec_status": "Draft", "x_capec_typical_severity": "High", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "Only accept software updates from an official source.", "id": "course-of-action--14bd0b42-4bad-4eca-8a98-142fd83e149b", "modified": "2022-02-22T00:00:00.000Z", "name": "coa-533-0", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "course-of-action", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--2561ff45-4348-494c-9576-fa1268c134d8", "modified": "2022-02-22T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--14bd0b42-4bad-4eca-8a98-142fd83e149b", "spec_version": "2.1", "target_ref": "attack-pattern--83c7d2ff-f74e-471b-bd10-28421e818719", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "An adversary introduces malicious hardware during an update or replacement procedure, allowing for additional compromise or site disruption at the victim location. After deployment, it is not uncommon for upgrades and replacements to occur involving hardware and various replaceable parts. These upgrades and replacements are intended to correct defects, provide additional features, and to replace broken or worn-out parts. However, by forcing or tricking the replacement of a good component with a defective or corrupted component, an adversary can leverage known defects to obtain a desired malicious impact.", "external_references": [ { "external_id": "CAPEC-534", "source_name": "capec", "url": "https://capec.mitre.org/data/definitions/534.html" }, { "description": "John F. Miller, Supply Chain Attack Framework and Attack Patterns, 2013, The MITRE Corporation", "external_id": "REF-439", "source_name": "reference_from_CAPEC", "url": "http://www.mitre.org/sites/default/files/publications/supply-chain-attack-framework-14-0228.pdf" }, { "description": "Omer Shwartz, Amir Cohen, Asaf Shabtai, Yossi Oren, Shattered Trust: When Replacement Smartphone Components Attack, 11th USENIX Workshop on Offensive Technologies, 2017, USENIX", "external_id": "REF-711", "source_name": "reference_from_CAPEC", "url": "https://www.usenix.org/system/files/conference/woot17/woot17-paper-shwartz.pdf" } ], "id": "attack-pattern--a79f5cc6-781c-4e49-a00e-7aae93718f9e", "modified": "2022-02-22T00:00:00.000Z", "name": "Malicious Hardware Update", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "attack-pattern", "x_capec_abstraction": "Standard", "x_capec_child_of_refs": [ "attack-pattern--7fd3928c-accb-4a35-ba64-000339399ede" ], "x_capec_domains": [ "Supply Chain", "Physical Security", "Hardware" ], "x_capec_example_instances": [ "An adversary develops a malicious networking card that allows for normal function plus the addition of malicious functionality that is of benefit to the adversary. The adversary sends the victim an email stating that the existing networking card is faulty, and that the victim can order a replacement card free of charge. The victim orders the card, and the adversary sends the malicious networking card. The malicious networking card replaces the perfectly-functioning original networking card, and the adversary is able to take advantage of the additional malicious functionality to further compromise the victim's network." ], "x_capec_likelihood_of_attack": "Low", "x_capec_parent_of_refs": [ "attack-pattern--fda936c1-236d-4460-a5a9-4555d9583b2e", "attack-pattern--ea2e5cbd-8278-4f8a-b56b-3cfb955d2366" ], "x_capec_skills_required": { "High": "Able to develop and manufacture malicious hardware components that perform the same functions and processes as their non-malicious counterparts." }, "x_capec_status": "Stable", "x_capec_typical_severity": "High", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "An attacker maliciously alters hardware components that will be sold on the gray market, allowing for victim disruption and compromise when the victim needs replacement hardware components for systems where the parts are no longer in regular supply from original suppliers, or where the hardware components from the attacker seems to be a great benefit from a cost perspective.", "external_references": [ { "external_id": "CAPEC-535", "source_name": "capec", "url": "https://capec.mitre.org/data/definitions/535.html" }, { "description": "John F. Miller, Supply Chain Attack Framework and Attack Patterns, 2013, The MITRE Corporation", "external_id": "REF-439", "source_name": "reference_from_CAPEC", "url": "http://www.mitre.org/sites/default/files/publications/supply-chain-attack-framework-14-0228.pdf" } ], "id": "attack-pattern--cd81f98a-aa72-4331-a7dd-5f9cd92332e2", "modified": "2022-02-22T00:00:00.000Z", "name": "Malicious Gray Market Hardware", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "attack-pattern", "x_capec_abstraction": "Detailed", "x_capec_child_of_refs": [ "attack-pattern--fda936c1-236d-4460-a5a9-4555d9583b2e" ], "x_capec_domains": [ "Supply Chain", "Physical Security", "Hardware" ], "x_capec_example_instances": [ "An attacker develops co-processor boards with malicious capabilities that are technically the same as a manufacturer's expensive upgrade to their flagship system. The victim has installed the manufacturer's base system without the expensive upgrade. The attacker contacts the victim and states they have the co-processor boards at a drastically-reduced price, falsely stating they were acquired from a bankruptcy liquidation of a company that had purchased them from the manufacturer. The victim after hearing the drastically reduced price decides to take advantage of the situation and purchases the upgrades from the attacker, and installs them. This allows the attacker to further compromise the victim." ], "x_capec_likelihood_of_attack": "Low", "x_capec_prerequisites": [ "Physical access to a gray market reseller's hardware components supply, or the ability to appear as a gray market reseller to the victim's buyer." ], "x_capec_skills_required": { "High": "Able to develop and manufacture malicious hardware components that perform the same functions and processes as their non-malicious counterparts." }, "x_capec_status": "Draft", "x_capec_typical_severity": "High", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "Purchase only from authorized resellers.", "id": "course-of-action--274b7982-b465-45d9-b44b-d6c8f9b6d432", "modified": "2022-02-22T00:00:00.000Z", "name": "coa-535-0", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "course-of-action", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--d1f86bfc-be12-4ad3-92bf-99b0d177e3cc", "modified": "2022-02-22T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--274b7982-b465-45d9-b44b-d6c8f9b6d432", "spec_version": "2.1", "target_ref": "attack-pattern--cd81f98a-aa72-4331-a7dd-5f9cd92332e2", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "Validate serial numbers from multiple sources", "id": "course-of-action--9130946b-256a-4f1f-ac81-69e0a065710d", "modified": "2022-02-22T00:00:00.000Z", "name": "coa-535-1", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "course-of-action", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--41d1eae2-202b-4705-b213-36f908117a81", "modified": "2022-02-22T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--9130946b-256a-4f1f-ac81-69e0a065710d", "spec_version": "2.1", "target_ref": "attack-pattern--cd81f98a-aa72-4331-a7dd-5f9cd92332e2", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "An attacker with access to data files and processes on a victim's system injects malicious data into critical operational data during configuration or recalibration, causing the victim's system to perform in a suboptimal manner that benefits the adversary.", "external_references": [ { "external_id": "CAPEC-536", "source_name": "capec", "url": "https://capec.mitre.org/data/definitions/536.html" }, { "external_id": "CWE-284", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/284.html" }, { "description": "John F. Miller, Supply Chain Attack Framework and Attack Patterns, 2013, The MITRE Corporation", "external_id": "REF-439", "source_name": "reference_from_CAPEC", "url": "http://www.mitre.org/sites/default/files/publications/supply-chain-attack-framework-14-0228.pdf" } ], "id": "attack-pattern--be032a5f-7575-4e82-86d8-6c5cabb3d9dd", "modified": "2021-10-21T00:00:00.000Z", "name": "Data Injected During Configuration", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "attack-pattern", "x_capec_abstraction": "Standard", "x_capec_child_of_refs": [ "attack-pattern--f9f65fdd-5857-4a57-a725-066465397601" ], "x_capec_domains": [ "Supply Chain", "Software" ], "x_capec_example_instances": [ "An adversary wishes to bypass a security system to access an additional network segment where critical data is kept. The adversary knows that some configurations of the security system will allow for remote bypass under certain conditions, such as switching a specific parameter to a different value. The adversary knows the bypass will work but also will be detected within the logging data of the security system. The adversary waits until an upgrade is performed to the security system by the victim's system administrators, and the adversary has access to an external logging system. The adversary injects false log entries that cause the administrators to think there are two different error states within the security system - one involving the specific parameter and the other involving the logging entries. The specific parameter is adjusted to a different value, and the logging level is reduced to a lower level that will not cause an adversary bypass to be detected. The adversary stops injecting false log data, and the administrators of the security system believe the issues were caused by the upgrade and are now resolved. The adversary is then able to bypass the security system." ], "x_capec_execution_flow": "

Execution Flow

Explore

  1. Determine configuration process: The adversary, through a previously compromised system, either remotely or physically, determines what the configuration process is. They look at configuration files, data files, and running processes on the system to identify areas where they could inject malicious data.

  2. Determine when configuration occurs: The adversary needs to then determine when configuration or recalibration of a system occurs so they know when to inject malicious data.

  3. Techniques
    Look for a weekly update cycle or repeated update schedule.
    Insert a malicious process into the target system that notifies the adversary when configuration is occurring.

Experiment

  1. Determine malicious data to inject: By looking at the configuration process, the adversary needs to determine what malicious data they want to insert and where to insert it.

  2. Techniques
    Add false log data
    Change configuration files
    Change data files

Exploit

  1. Inject malicious data: Right before, or during system configuration, the adversary injects the malicious data. This leads to the system behaving in a way that is beneficial to the adversary and is often followed by other attacks.

", "x_capec_likelihood_of_attack": "Low", "x_capec_prerequisites": [ "The attacker must have previously compromised the victim's systems or have physical access to the victim's systems.", "Advanced knowledge of software and hardware capabilities of a manufacturer's product." ], "x_capec_skills_required": { "High": "Ability to generate and inject false data into operational data into a system with the intent of causing the victim to alter the configuration of the system." }, "x_capec_status": "Stable", "x_capec_typical_severity": "High", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "Ensure that proper access control is implemented on all systems to prevent unauthorized access to system files and processes.", "id": "course-of-action--5a991a71-810a-4fb9-ba49-7ad88b6ccca5", "modified": "2021-10-21T00:00:00.000Z", "name": "coa-536-0", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "course-of-action", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--bb32fca6-85ac-4fed-ab7a-d07e0bf5d9bb", "modified": "2021-10-21T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--5a991a71-810a-4fb9-ba49-7ad88b6ccca5", "spec_version": "2.1", "target_ref": "attack-pattern--be032a5f-7575-4e82-86d8-6c5cabb3d9dd", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "An adversary, leveraging the ability to manipulate components of primary support systems and tools within the development and production environments, inserts malicious software within the hardware and/or firmware development environment. The infiltration purpose is to alter developed hardware components in a system destined for deployment at the victim's organization, for the purpose of disruption or further compromise.", "external_references": [ { "external_id": "CAPEC-537", "source_name": "capec", "url": "https://capec.mitre.org/data/definitions/537.html" }, { "description": "Supply Chain Compromise: Compromise Hardware Supply Chain", "external_id": "T1195.003", "source_name": "ATTACK", "url": "https://attack.mitre.org/wiki/Technique/T1195/003" }, { "description": "John F. Miller, Supply Chain Attack Framework and Attack Patterns, 2013, The MITRE Corporation", "external_id": "REF-439", "source_name": "reference_from_CAPEC", "url": "http://www.mitre.org/sites/default/files/publications/supply-chain-attack-framework-14-0228.pdf" }, { "description": "Cristin Goodwin, Joram Borenstein, Guarding against supply chain attacks—Part 2: Hardware risks, 2020--02---03, Microsoft", "external_id": "REF-712", "source_name": "reference_from_CAPEC", "url": "https://www.microsoft.com/security/blog/2020/02/03/guarding-against-supply-chain-attacks-part-2-hardware-risks/" } ], "id": "attack-pattern--7fb3fea4-e993-49f7-8c36-d58dd5038ad8", "modified": "2022-09-29T00:00:00.000Z", "name": "Infiltration of Hardware Development Environment", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "attack-pattern", "x_capec_abstraction": "Detailed", "x_capec_child_of_refs": [ "attack-pattern--efb74200-657d-438c-aaff-bbd9644dd72d" ], "x_capec_domains": [ "Supply Chain", "Hardware" ], "x_capec_example_instances": [ "\n The adversary, knowing the manufacturer runs email on a system adjacent to the hardware development systems used for hardware and/or firmware design, sends a phishing email with a malicious attachment to the manufacturer. When viewed, the malicious attachment installs a backdoor that allows the adversary to remotely compromise the adjacent hardware development system from the manufacturer's workstation. The adversary is then able to exfiltrate and alter sensitive data on the hardware system, allowing for future compromise once the developed system is deployed at the victim location.\n " ], "x_capec_likelihood_of_attack": "Low", "x_capec_prerequisites": [ "The victim must use email or removable media from systems running the IDE (or systems adjacent to the IDE systems).", "The victim must have a system running exploitable applications and/or a vulnerable configuration to allow for initial infiltration.", "The adversary must have working knowledge of some if not all of the components involved in the IDE system as well as the infrastructure." ], "x_capec_skills_required": { "High": "Development skills to construct malicious attachments that can be used to exploit vulnerabilities in typical desktop applications or system configurations. The malicious attachments should be crafted well enough to bypass typical defensive systems (IDS, anti-virus, etc)", "Medium": "Intelligence about the manufacturer's operating environment and infrastructure." }, "x_capec_status": "Draft", "x_capec_typical_severity": "High", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "Verify software downloads and updates to ensure they have not been modified be adversaries", "id": "course-of-action--aba55887-195f-49b2-b2cf-5d26b34dd710", "modified": "2022-09-29T00:00:00.000Z", "name": "coa-537-0", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "course-of-action", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--7ffabfce-822a-4165-a38e-cb6682cc1b01", "modified": "2022-09-29T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--aba55887-195f-49b2-b2cf-5d26b34dd710", "spec_version": "2.1", "target_ref": "attack-pattern--7fb3fea4-e993-49f7-8c36-d58dd5038ad8", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "Leverage antivirus tools to detect known malware", "id": "course-of-action--ba680e4a-b82b-479e-9903-4a8807c52c60", "modified": "2022-09-29T00:00:00.000Z", "name": "coa-537-1", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "course-of-action", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--6363da74-7aae-401b-8cc9-8f0dc0419658", "modified": "2022-09-29T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--ba680e4a-b82b-479e-9903-4a8807c52c60", "spec_version": "2.1", "target_ref": "attack-pattern--7fb3fea4-e993-49f7-8c36-d58dd5038ad8", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "Do not download software from untrusted sources", "id": "course-of-action--557960a1-b40a-4a60-8750-d1649c2bbea2", "modified": "2022-09-29T00:00:00.000Z", "name": "coa-537-2", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "course-of-action", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--7c96fb42-fe4c-4ecc-a424-bf85159f9b92", "modified": "2022-09-29T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--557960a1-b40a-4a60-8750-d1649c2bbea2", "spec_version": "2.1", "target_ref": "attack-pattern--7fb3fea4-e993-49f7-8c36-d58dd5038ad8", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "Educate designers, developers, engineers, etc. on social engineering attacks to avoid downloading malicious software via attacks such as phishing attacks", "id": "course-of-action--0ba5f98c-6878-4132-908b-4b27bd6e56c3", "modified": "2022-09-29T00:00:00.000Z", "name": "coa-537-3", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "course-of-action", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--dc17b843-2585-4684-b2b8-386159db9f64", "modified": "2022-09-29T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--0ba5f98c-6878-4132-908b-4b27bd6e56c3", "spec_version": "2.1", "target_ref": "attack-pattern--7fb3fea4-e993-49f7-8c36-d58dd5038ad8", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "Adversaries implant malicious code in open source software (OSS) libraries to have it widely distributed, as OSS is commonly downloaded by developers and other users to incorporate into software development projects. The adversary can have a particular system in mind to target, or the implantation can be the first stage of follow-on attacks on many systems.", "external_references": [ { "external_id": "CAPEC-538", "source_name": "capec", "url": "https://capec.mitre.org/data/definitions/538.html" }, { "external_id": "CWE-494", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/494.html" }, { "external_id": "CWE-829", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/829.html" }, { "description": "Supply Chain Compromise: Software Dependencies and Development Tools", "external_id": "T1195.001", "source_name": "ATTACK", "url": "https://attack.mitre.org/wiki/Technique/T1195/001" }, { "description": "John F. Miller, Supply Chain Attack Framework and Attack Patterns, 2013, The MITRE Corporation", "external_id": "REF-439", "source_name": "reference_from_CAPEC", "url": "http://www.mitre.org/sites/default/files/publications/supply-chain-attack-framework-14-0228.pdf" } ], "id": "attack-pattern--ca626464-877a-4f42-83b7-7451cfe71a38", "modified": "2023-01-24T00:00:00.000Z", "name": "Open-Source Library Manipulation", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "attack-pattern", "x_capec_abstraction": "Detailed", "x_capec_child_of_refs": [ "attack-pattern--efb74200-657d-438c-aaff-bbd9644dd72d" ], "x_capec_domains": [ "Software" ], "x_capec_example_instances": [ "An adversary with access to an open source code project introduces a hard-to-find bug in the software that allows under very specific conditions for encryption to be disabled on data streams. The adversary commits the change to the code which is picked up by a manufacturer who develops VPN software. It is eventually deployed at the victim's location where the very specific conditions are met giving the adversary the ability to sniff plaintext traffic thought to be encrypted. This can provide to the adversary access to sensitive data of the victim." ], "x_capec_execution_flow": "

Execution Flow

Explore

  1. Determine the relevant open-source code project to target: The adversary will make the selection based on various criteria:

Experiment

  1. Develop a plan for malicious contribution: The adversary develops a plan to contribute malicious code, taking the following into consideration:

Exploit

  1. Execute the plan for malicious contribution: Write the code to be contributed based on the plan and then submit the contribution. Multiple commits, possibly using multiple identities, will help obscure the attack. Monitor the contribution site to try to determine if the code has been uploaded to the target system.

", "x_capec_likelihood_of_attack": "Low", "x_capec_prerequisites": [ "Access to the open source code base being used by the manufacturer in a system being developed or currently deployed at a victim location." ], "x_capec_skills_required": { "High": "Advanced knowledge about the inclusion and specific usage of an open source code project within system being targeted for infiltration." }, "x_capec_status": "Stable", "x_capec_typical_severity": "High", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "An attacker with access to the development environment process of an application-specific integrated circuit (ASIC) for a victim system being developed or maintained after initial deployment can insert malicious functionality into the system for the purpose of disruption or further compromise.", "external_references": [ { "external_id": "CAPEC-539", "source_name": "capec", "url": "https://capec.mitre.org/data/definitions/539.html" }, { "description": "Supply Chain Compromise: Compromise Hardware Supply Chain", "external_id": "T1195.003", "source_name": "ATTACK", "url": "https://attack.mitre.org/wiki/Technique/T1195/003" }, { "description": "John F. Miller, Supply Chain Attack Framework and Attack Patterns, 2013, The MITRE Corporation", "external_id": "REF-439", "source_name": "reference_from_CAPEC", "url": "http://www.mitre.org/sites/default/files/publications/supply-chain-attack-framework-14-0228.pdf" } ], "id": "attack-pattern--bfb711d6-f12d-496e-88b9-2c0184485976", "modified": "2022-09-29T00:00:00.000Z", "name": "ASIC With Malicious Functionality", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "attack-pattern", "x_capec_abstraction": "Detailed", "x_capec_child_of_refs": [ "attack-pattern--efb74200-657d-438c-aaff-bbd9644dd72d" ], "x_capec_domains": [ "Supply Chain", "Hardware" ], "x_capec_example_instances": [ "A hardware manufacturer periodically updates its ASIC with new features. The attacker, knowing the manufacturer runs email on a system adjacent to the hardware development systems used for ASIC design, sends a phishing email with a malicious attachment to the manufacturer. When viewed, the malicious attachment installs a backdoor that allows the attacker to remotely compromise the adjacent ASIC development system. The attacker is then able to exfiltrate and alter sensitive data on the ASIC system, allowing for future compromise once a new AISC is deployed at the victim location." ], "x_capec_likelihood_of_attack": "Low", "x_capec_prerequisites": [ "The attacker must have working knowledge of some if not all of the components involved in the target system as well as the infrastructure and development environment of the manufacturer.", "Advanced knowledge about the ASIC installed within the target system." ], "x_capec_skills_required": { "High": "Able to develop and manufacture malicious subroutines for an ASIC environment without degradation of existing functions and processes." }, "x_capec_status": "Draft", "x_capec_typical_severity": "High", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "An adversary, aware of an application's location (and possibly authorized to use the application), probes an application's structure and evaluates its robustness by submitting requests and examining responses. Often, this is accomplished by sending variants of expected queries in the hope that these modified queries might return information beyond what the expected set of queries would provide.", "external_references": [ { "external_id": "CAPEC-54", "source_name": "capec", "url": "https://capec.mitre.org/data/definitions/54.html" }, { "external_id": "CWE-209", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/209.html" } ], "id": "attack-pattern--49132d37-44e8-458c-a06e-0e5b9ac9bbd6", "modified": "2022-09-29T00:00:00.000Z", "name": "Query System for Information", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "attack-pattern", "x_capec_abstraction": "Standard", "x_capec_child_of_refs": [ "attack-pattern--913426fa-ea1f-43b0-8492-1d363ea109d6" ], "x_capec_consequences": { "Confidentiality": [ "Read Data" ] }, "x_capec_domains": [ "Software" ], "x_capec_example_instances": [ "Blind SQL injection is an example of this technique, applied to successful exploit. See also: CVE-2006-4705", "\n Attacker sends bad data at various servlets in a J2EE system, records returned exception stack traces, and maps application functionality.\n In addition, this technique allows attackers to correlate those servlets used with the underlying open source packages (and potentially version numbers) that provide them.\n " ], "x_capec_execution_flow": "

Execution Flow

Explore

  1. Determine parameters: Determine all user-controllable parameters of the application either by probing or by finding documentation

Experiment

  1. Cause error condition: Inject each parameter with content that causes an error condition to manifest

  2. Modify parameters: Modify the content of each parameter according to observed error conditions

Exploit

  1. Follow up attack: Once the above steps have been repeated with enough parameters, the application will be sufficiently mapped out. The adversary can then launch a desired attack (for example, Blind SQL Injection)

", "x_capec_likelihood_of_attack": "High", "x_capec_parent_of_refs": [ "attack-pattern--62c46d1c-f091-467e-a4b0-61927db31f38", "attack-pattern--b5618a54-4646-423d-8676-b2eb56dd4328", "attack-pattern--ce75149a-6882-4b07-8841-db9d6a9ec20d", "attack-pattern--5871f734-1898-4509-860c-f418cdf6b2ac", "attack-pattern--165b75a3-3e50-492c-8f1a-af979dc5af12" ], "x_capec_prerequisites": [ "This class of attacks does not strictly require authorized access to the application. As Attackers use this attack process to classify, map, and identify vulnerable aspects of an application, it simply requires hypotheses to be verified, interaction with the application, and time to conduct trial-and-error activities." ], "x_capec_resources_required": [ "\n The Attacker needs the ability to probe application functionality and provide it erroneous directives or data without triggering intrusion detection schemes or making enough of an impact on application logging that steps are taken against the adversary.\n The Attack does not need special hardware, software, skills, or access.\n " ], "x_capec_skills_required": { "Medium": "Although fuzzing parameters is not difficult, and often possible with automated fuzzers, interpreting the error conditions and modifying the parameters so as to move further in the process of mapping the application requires detailed knowledge of target platform, the languages and packages used as well as software design." }, "x_capec_status": "Draft", "x_capec_typical_severity": "Low", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "Application designers can construct a 'code book' for error messages. When using a code book, application error messages aren't generated in string or stack trace form, but are cataloged and replaced with a unique (often integer-based) value 'coding' for the error. Such a technique will require helpdesk and hosting personnel to use a 'code book' or similar mapping to decode application errors/logs in order to respond to them normally.", "id": "course-of-action--031e02fe-84e7-4908-b507-e836876da1ab", "modified": "2022-09-29T00:00:00.000Z", "name": "coa-54-0", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "course-of-action", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--04308827-581a-464a-8378-efed9a9a7476", "modified": "2022-09-29T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--031e02fe-84e7-4908-b507-e836876da1ab", "spec_version": "2.1", "target_ref": "attack-pattern--49132d37-44e8-458c-a06e-0e5b9ac9bbd6", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "Application designers can wrap application functionality (preferably through the underlying framework) in an output encoding scheme that obscures or cleanses error messages to prevent such attacks. Such a technique is often used in conjunction with the above 'code book' suggestion.", "id": "course-of-action--c001766e-e441-4291-8f06-f59957360fde", "modified": "2022-09-29T00:00:00.000Z", "name": "coa-54-1", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "course-of-action", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--60cbe06e-8a08-42af-a4ab-f81130b139ce", "modified": "2022-09-29T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--c001766e-e441-4291-8f06-f59957360fde", "spec_version": "2.1", "target_ref": "attack-pattern--49132d37-44e8-458c-a06e-0e5b9ac9bbd6", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "An adversary attacks a target by providing input that causes an application to read beyond the boundary of a defined buffer. This typically occurs when a value influencing where to start or stop reading is set to reflect positions outside of the valid memory location of the buffer. This type of attack may result in exposure of sensitive information, a system crash, or arbitrary code execution.", "external_references": [ { "external_id": "CAPEC-540", "source_name": "capec", "url": "https://capec.mitre.org/data/definitions/540.html" }, { "external_id": "CWE-125", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/125.html" } ], "id": "attack-pattern--40eddae8-4d7d-4fc3-b220-1c9706f01a96", "modified": "2021-10-21T00:00:00.000Z", "name": "Overread Buffers", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "attack-pattern", "x_capec_abstraction": "Standard", "x_capec_child_of_refs": [ "attack-pattern--476ca631-2695-43f8-82f6-83c06a07ae36" ], "x_capec_consequences": { "Availability": [ "Unreliable Execution (Depending on the use of the target buffer, an application or system crash can be achieved.)" ], "Confidentiality": [ "Read Data (By reading outside the boundary of the intended buffer, the adversary is potentially able to see any data that is stored on the disk. This could include secret keys, personal information, and sensitive files.)" ] }, "x_capec_domains": [ "Software" ], "x_capec_execution_flow": "

Execution Flow

Explore

  1. Identify target application: The adversary identifies a target application or program to perform the buffer overread on. Adversaries often look for applications that accept user input and that perform manual memory management.

Experiment

  1. Find attack vector: The adversary identifies an attack vector by looking for areas in the application where they can specify to read more data than is required.

Exploit

  1. Overread the buffer: The adversary provides input to the application that gets it to read past the bounds of a buffer, possibly revealing sensitive information that was not intended to be given to the adversary.

", "x_capec_likelihood_of_attack": "Low", "x_capec_prerequisites": [ "For this type of attack to be successful, a few prerequisites must be met. First, the targeted software must be written in a language that enables fine grained buffer control. (e.g., c, c++) Second, the targeted software must actually perform buffer operations and inadequately perform bounds-checking on those buffer operations. Finally, the adversary must have the capability to influence the input that guides these buffer operations." ], "x_capec_status": "Draft", "x_capec_typical_severity": "High", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "An adversary engages in fingerprinting activities to determine the type or version of an application installed on a remote target.", "external_references": [ { "external_id": "CAPEC-541", "source_name": "capec", "url": "https://capec.mitre.org/data/definitions/541.html" }, { "external_id": "CWE-204", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/204.html" }, { "external_id": "CWE-205", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/205.html" }, { "external_id": "CWE-208", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/208.html" }, { "description": "Gather Victim Host Information: Software", "external_id": "T1592.002", "source_name": "ATTACK", "url": "https://attack.mitre.org/wiki/Technique/T1592/002" } ], "id": "attack-pattern--e7eec058-4cd9-4fa0-8784-ed961d8d7290", "modified": "2023-01-24T00:00:00.000Z", "name": "Application Fingerprinting", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "attack-pattern", "x_capec_abstraction": "Standard", "x_capec_child_of_refs": [ "attack-pattern--76e6fe1e-34f2-40cd-8f12-f4d4f9c41808" ], "x_capec_domains": [ "Software" ], "x_capec_parent_of_refs": [ "attack-pattern--0cf857f6-afa4-4f0c-850f-58a4f11df157", "attack-pattern--8b7dfd02-8d21-4eed-a2a3-d9f73ed49a48", "attack-pattern--29e8786c-a791-44c6-b1de-950cf0604643" ], "x_capec_prerequisites": [ "None" ], "x_capec_status": "Draft", "x_capec_typical_severity": "Low", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "An adversary develops targeted malware that takes advantage of a known vulnerability in an organizational information technology environment. The malware crafted for these attacks is based specifically on information gathered about the technology environment. Successfully executing the malware enables an adversary to achieve a wide variety of negative technical impacts.", "external_references": [ { "external_id": "CAPEC-542", "source_name": "capec", "url": "https://capec.mitre.org/data/definitions/542.html" }, { "description": "Develop Capabilities: Malware", "external_id": "T1587.001", "source_name": "ATTACK", "url": "https://attack.mitre.org/wiki/Technique/T1587/001" }, { "description": "Obfuscated Files or Information", "external_id": "T1027", "source_name": "ATTACK", "url": "https://attack.mitre.org/wiki/Technique/T1027" } ], "id": "attack-pattern--482cb9fc-0122-49f0-b6df-6d2d42098b0a", "modified": "2023-01-24T00:00:00.000Z", "name": "Targeted Malware", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "attack-pattern", "x_capec_abstraction": "Standard", "x_capec_can_follow_refs": [ "attack-pattern--9250f041-d55b-4610-aff0-979b5800dc18" ], "x_capec_can_precede_refs": [ "attack-pattern--558870ad-9433-4e39-a0b0-d9b5c4691862" ], "x_capec_child_of_refs": [ "attack-pattern--2c74d7f3-ccb4-4aea-b7fc-8a4da900ec80" ], "x_capec_domains": [ "Software" ], "x_capec_parent_of_refs": [ "attack-pattern--aef8e9e0-4714-4890-9470-06276c61abfd", "attack-pattern--13e147c3-7baa-4ec4-aafd-9135d46545cc", "attack-pattern--79037ec7-444c-42cb-a64b-fb4b4f6bd156", "attack-pattern--ccb9c607-8bfe-4141-8843-356453179da7", "attack-pattern--d9069913-2a5f-4ad5-878e-73181f0b1067", "attack-pattern--b63b2869-11e6-4849-8ddf-ae2557bf554b", "attack-pattern--9927fda8-927b-4327-b3f8-bcbd0467c702", "attack-pattern--260a8cb6-a7df-4dc5-a057-8a00aa69de7e" ], "x_capec_status": "Draft", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "Adversary creates duplicates of legitimate websites. When users visit a counterfeit site, the site can gather information or upload malware.", "external_references": [ { "external_id": "CAPEC-543", "source_name": "capec", "url": "https://capec.mitre.org/data/definitions/543.html" }, { "description": "Masquerading: Match Legitimate Name or Location", "external_id": "T1036.005", "source_name": "ATTACK", "url": "https://attack.mitre.org/wiki/Technique/T1036/005" } ], "id": "attack-pattern--0d249bf9-13b3-4c13-9423-bcb1ea73c067", "modified": "2022-09-29T00:00:00.000Z", "name": "Counterfeit Websites", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "attack-pattern", "x_capec_abstraction": "Detailed", "x_capec_can_follow_refs": [ "attack-pattern--a69b641a-dff7-4dad-b9b1-e00f80b083a2", "attack-pattern--b6f0fd7e-6068-4557-976c-fd34914b11bf", "attack-pattern--a2cad567-3a04-4ef3-8b62-25924c93b53f", "attack-pattern--c4e18b3f-0445-49e8-9bf1-d47a23082501", "attack-pattern--a00c2cc2-bd4f-4594-9ec1-b021b62ac896" ], "x_capec_can_precede_refs": [ "attack-pattern--5dec633b-7b10-4bfe-9270-e68b98112285" ], "x_capec_child_of_refs": [ "attack-pattern--862d18f1-a87c-4f1b-acc2-882697d5d6e5" ], "x_capec_domains": [ "Social Engineering" ], "x_capec_prerequisites": [ "None" ], "x_capec_status": "Draft", "x_capec_typical_severity": "High", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "An adversary creates a false front organizations with the appearance of a legitimate supplier in the critical life cycle path that then injects corrupted/malicious information system components into the organizational supply chain.", "external_references": [ { "external_id": "CAPEC-544", "source_name": "capec", "url": "https://capec.mitre.org/data/definitions/544.html" } ], "id": "attack-pattern--996aa0f7-950e-4435-a60d-ae859e545101", "modified": "2022-09-29T00:00:00.000Z", "name": "Counterfeit Organizations", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "attack-pattern", "x_capec_abstraction": "Detailed", "x_capec_child_of_refs": [ "attack-pattern--862d18f1-a87c-4f1b-acc2-882697d5d6e5" ], "x_capec_domains": [ "Social Engineering" ], "x_capec_prerequisites": [ "None" ], "x_capec_status": "Draft", "x_capec_typical_severity": "High", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "An adversary who is authorized or has the ability to search known system resources, does so with the intention of gathering useful information. System resources include files, memory, and other aspects of the target system. In this pattern of attack, the adversary does not necessarily know what they are going to find when they start pulling data. This is different than CAPEC-150 where the adversary knows what they are looking for due to the common location.", "external_references": [ { "external_id": "CAPEC-545", "source_name": "capec", "url": "https://capec.mitre.org/data/definitions/545.html" }, { "external_id": "CWE-1239", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/1239.html" }, { "external_id": "CWE-1243", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/1243.html" }, { "external_id": "CWE-1258", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/1258.html" }, { "external_id": "CWE-1266", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/1266.html" }, { "external_id": "CWE-1272", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/1272.html" }, { "external_id": "CWE-1278", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/1278.html" }, { "external_id": "CWE-1323", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/1323.html" }, { "external_id": "CWE-1258", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/1258.html" }, { "external_id": "CWE-1330", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/1330.html" }, { "description": "Data from Local System", "external_id": "T1005", "source_name": "ATTACK", "url": "https://attack.mitre.org/wiki/Technique/T1005" }, { "description": "Credentials from Password Stores:Keychain", "external_id": "T1555.001", "source_name": "ATTACK", "url": "https://attack.mitre.org/wiki/Technique/T1555/001" } ], "id": "attack-pattern--191fbdab-d3b3-4ffd-8829-51331c20eaa7", "modified": "2023-01-24T00:00:00.000Z", "name": "Pull Data from System Resources", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "attack-pattern", "x_capec_abstraction": "Standard", "x_capec_can_follow_refs": [ "attack-pattern--f2654def-b86d-4ddb-888f-de6b50a103a2", "attack-pattern--9d08b257-08f6-42e3-ad7e-41aaf07789a1", "attack-pattern--056a463d-6303-438e-a43f-992cee52fb95" ], "x_capec_child_of_refs": [ "attack-pattern--913426fa-ea1f-43b0-8492-1d363ea109d6" ], "x_capec_domains": [ "Software", "Hardware" ], "x_capec_parent_of_refs": [ "attack-pattern--1b75b059-c9ee-4c4d-b016-bafb20cce96b", "attack-pattern--ed3de4d7-a053-42e4-9f3d-3a6293034e96", "attack-pattern--a7ed6b37-4ede-4c34-bbb2-c422fb844d74", "attack-pattern--9a7492fa-b46e-48bc-aae9-beb1d359171e" ], "x_capec_status": "Draft", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "An adversary obtains unauthorized information due to insecure or incomplete data deletion in a multi-tenant environment. If a cloud provider fails to completely delete storage and data from former cloud tenants' systems/resources, once these resources are allocated to new, potentially malicious tenants, the latter can probe the provided resources for sensitive information still there.", "external_references": [ { "external_id": "CAPEC-546", "source_name": "capec", "url": "https://capec.mitre.org/data/definitions/546.html" }, { "external_id": "CWE-284", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/284.html" }, { "external_id": "CWE-1266", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/1266.html" }, { "external_id": "CWE-1272", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/1272.html" }, { "description": "Kopo M. Ramokapane, Awais Rashid, Jose M. Such, Assured Deletion in the Cloud: Requirements, Challenges and Future Directions, Association for Computing Machinery (ACM), Proceedings of the 2016 ACM on Cloud Computing Security Workshop", "external_id": "REF-461", "source_name": "reference_from_CAPEC", "url": "https://nms.kcl.ac.uk/jose.such/pubs/Assured_deletion.pdf" } ], "id": "attack-pattern--ed3de4d7-a053-42e4-9f3d-3a6293034e96", "modified": "2021-10-21T00:00:00.000Z", "name": "Incomplete Data Deletion in a Multi-Tenant Environment", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "attack-pattern", "x_capec_abstraction": "Detailed", "x_capec_child_of_refs": [ "attack-pattern--191fbdab-d3b3-4ffd-8829-51331c20eaa7" ], "x_capec_consequences": { "Confidentiality": [ "Read Data (A successful attack that probes application memory will compromise the confidentiality of that data.)" ] }, "x_capec_domains": [ "Software", "Hardware" ], "x_capec_likelihood_of_attack": "Low", "x_capec_prerequisites": [ "The cloud provider must not assuredly delete part or all of the sensitive data for which they are responsible.The adversary must have the ability to interact with the system." ], "x_capec_skills_required": { "Low": "The adversary requires the ability to traverse directory structure." }, "x_capec_status": "Draft", "x_capec_typical_severity": "Medium", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "Cloud providers should completely delete data to render it irrecoverable and inaccessible from any layer and component of infrastructure resources.", "id": "course-of-action--65cd08b2-0269-4a7f-bdf4-e03d2d8374a3", "modified": "2021-10-21T00:00:00.000Z", "name": "coa-546-0", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "course-of-action", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--e1ffd89f-d766-48a7-b7d3-8d46fe11517b", "modified": "2021-10-21T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--65cd08b2-0269-4a7f-bdf4-e03d2d8374a3", "spec_version": "2.1", "target_ref": "attack-pattern--ed3de4d7-a053-42e4-9f3d-3a6293034e96", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "Deletion of data should be completed promptly when requested.", "id": "course-of-action--47ef1ed0-a199-4d71-86a7-db3c41ded30d", "modified": "2021-10-21T00:00:00.000Z", "name": "coa-546-1", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "course-of-action", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--fd548983-e701-4e46-9b7c-cfc9318fd925", "modified": "2021-10-21T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--47ef1ed0-a199-4d71-86a7-db3c41ded30d", "spec_version": "2.1", "target_ref": "attack-pattern--ed3de4d7-a053-42e4-9f3d-3a6293034e96", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "An adversary conducts a physical attack a device or component, destroying it such that it no longer functions as intended.", "external_references": [ { "external_id": "CAPEC-547", "source_name": "capec", "url": "https://capec.mitre.org/data/definitions/547.html" } ], "id": "attack-pattern--475af086-5223-4210-910a-5217445c0c23", "modified": "2019-09-30T00:00:00.000Z", "name": "Physical Destruction of Device or Component", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "attack-pattern", "x_capec_abstraction": "Standard", "x_capec_child_of_refs": [ "attack-pattern--576968ad-12ef-46d8-bb10-63f496bcaccb" ], "x_capec_domains": [ "Physical Security" ], "x_capec_status": "Draft", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "An adversary contaminates organizational information systems (including devices and networks) by causing them to handle information of a classification/sensitivity for which they have not been authorized. When this happens, the contaminated information system, device, or network must be brought offline to investigate and mitigate the data spill, which denies availability of the system until the investigation is complete.", "external_references": [ { "external_id": "CAPEC-548", "source_name": "capec", "url": "https://capec.mitre.org/data/definitions/548.html" }, { "description": "Florida Industrial Security Working Group (FISWG), Managing a “Data Spill”", "external_id": "REF-742", "source_name": "reference_from_CAPEC", "url": "https://fiswg.research.ucf.edu/Documents/PPT/Manage%20a%20Data%20Spill-Contamination%20September%202015.pptx" }, { "description": "data spillage", "external_id": "REF-743", "source_name": "reference_from_CAPEC", "url": "https://csrc.nist.gov/glossary/term/data_spillage" } ], "id": "attack-pattern--61546d1a-d720-4609-89ca-12039268d502", "modified": "2023-01-24T00:00:00.000Z", "name": "Contaminate Resource", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "attack-pattern", "x_capec_abstraction": "Meta", "x_capec_alternate_terms": [ "Data Spill" ], "x_capec_can_precede_refs": [ "attack-pattern--576968ad-12ef-46d8-bb10-63f496bcaccb" ], "x_capec_consequences": { "Availability": [ "Resource Consumption (Denial of Service)" ], "Confidentiality": [ "Read Data (Victims of the attack can be exposed to classified materials)" ] }, "x_capec_domains": [ "Software", "Hardware" ], "x_capec_example_instances": [ "\n An insider threat was able to obtain a classified document. They have knowledge that a backend server which provides access to a website also runs a mail server. The adversary creates a throwaway email address and sends the classified document to the mail server. When an administrator checks the mail server they notice that it has processed an email with a classified document and the server has to be taken offline while they investigate the contamination. In the meantime, the website has to be taken down as well and access to the website is denied until the backend can be migrated to another server or the investigation is complete.\n " ], "x_capec_extended_description": "Contamination through email is a very common attack vector. Systems with email servers or personal work systems using email are susceptible to this attack simply by receiving an email that contains a classified document or information. A fake classified document could even be used that is mistaken as true classified material. This would still cause the system to be taken offline until the validity of the classified material is confirmed.", "x_capec_likelihood_of_attack": "Low", "x_capec_prerequisites": [ "The adversary needs to have real or fake classified/sensitive information to place on a system" ], "x_capec_skills_required": { "High": "The ability to obtain a classified document or information", "Low": "The ability to fake a classified document" }, "x_capec_status": "Draft", "x_capec_typical_severity": "High", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "Properly safeguard classified/sensitive data. This includes training cleared individuals to ensure they are handling and disposing of this data properly, as well as ensuring systems only handle information of the classification level they are designed for.", "id": "course-of-action--0aa74751-a02e-4235-a93e-f1aa62ed6b84", "modified": "2023-01-24T00:00:00.000Z", "name": "coa-548-0", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "course-of-action", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--bdc4a136-d354-493f-8f25-63839ff4a8e4", "modified": "2023-01-24T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--0aa74751-a02e-4235-a93e-f1aa62ed6b84", "spec_version": "2.1", "target_ref": "attack-pattern--61546d1a-d720-4609-89ca-12039268d502", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "Design systems with redundancy in mind. This could mean creating backing servers that could be switched over to in the event that a server has to be taken down for investigation.", "id": "course-of-action--5b0aac03-449e-47df-ad66-ee4ec2e0a095", "modified": "2023-01-24T00:00:00.000Z", "name": "coa-548-1", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "course-of-action", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--817175b0-aa5c-4f89-97d8-45df37bc0eec", "modified": "2023-01-24T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--5b0aac03-449e-47df-ad66-ee4ec2e0a095", "spec_version": "2.1", "target_ref": "attack-pattern--61546d1a-d720-4609-89ca-12039268d502", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "Have a planned and efficient response plan to limit the amount of time a system is offline while the contamination is investigated.", "id": "course-of-action--e121b3bf-219b-44cd-8130-05d74a7f55f8", "modified": "2023-01-24T00:00:00.000Z", "name": "coa-548-2", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "course-of-action", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--a768119c-043b-4f7d-afb8-079be4beb9ae", "modified": "2023-01-24T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--e121b3bf-219b-44cd-8130-05d74a7f55f8", "spec_version": "2.1", "target_ref": "attack-pattern--61546d1a-d720-4609-89ca-12039268d502", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2015-11-09T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "An adversary installs and executes malicious code on the target system in an effort to achieve a negative technical impact. Examples include rootkits, ransomware, spyware, adware, and others.", "external_references": [ { "external_id": "CAPEC-549", "source_name": "capec", "url": "https://capec.mitre.org/data/definitions/549.html" }, { "external_id": "CWE-829", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/829.html" } ], "id": "attack-pattern--2c74d7f3-ccb4-4aea-b7fc-8a4da900ec80", "modified": "2021-06-24T00:00:00.000Z", "name": "Local Execution of Code", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "attack-pattern", "x_capec_abstraction": "Meta", "x_capec_can_follow_refs": [ "attack-pattern--f2654def-b86d-4ddb-888f-de6b50a103a2", "attack-pattern--056a463d-6303-438e-a43f-992cee52fb95" ], "x_capec_consequences": { "Availability": [ "Execute Unauthorized Commands (Run Arbitrary Code)", "Other (Depending on the type of code executed by the adversary, the consequences of this attack pattern can vary widely.)" ], "Confidentiality": [ "Execute Unauthorized Commands (Run Arbitrary Code)", "Other (Depending on the type of code executed by the adversary, the consequences of this attack pattern can vary widely.)" ], "Integrity": [ "Execute Unauthorized Commands (Run Arbitrary Code)", "Other (Depending on the type of code executed by the adversary, the consequences of this attack pattern can vary widely.)" ] }, "x_capec_domains": [ "Software" ], "x_capec_example_instances": [ "BlueBorne refers to a set of nine vulnerabilities on different platforms (Linux, Windows, Android, iOS) that offer an adversary the ability to install and execute malicious code on a system if they were close in proximity to a Bluetooth enabled device. One vulnerability affecting iOS versions 7 through 9 allowed an attacker to overflow the Low Energy Audio Protocol since commands sent over this protocol are improperly validated and gain the elevated permissions of the Bluetooth stack. These vulnerabilities were a result of poor validation and were patched shortly after their exposure in 2017, but many non-updated devices remain vulnerable." ], "x_capec_likelihood_of_attack": "Medium", "x_capec_parent_of_refs": [ "attack-pattern--482cb9fc-0122-49f0-b6df-6d2d42098b0a" ], "x_capec_prerequisites": [ "Knowledge of the target system's vulnerabilities that can be capitalized on with malicious code.The adversary must be able to place the malicious code on the target system." ], "x_capec_resources_required": [ "The means by which the adversary intends to place the malicious code on the system dictates the tools required. For example, suppose the adversary wishes to leverage social engineering and convince a legitimate user to open a malicious file attached to a seemingly legitimate email. In this case, the adversary might require a tool capable of wrapping malicious code into an innocuous filetype (e.g., PDF, .doc, etc.)" ], "x_capec_status": "Stable", "x_capec_typical_severity": "High", "x_capec_version": "3.9" }, { "created": "2015-11-09T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "Employ robust cybersecurity training for all employees.", "id": "course-of-action--48d83564-0b90-4cb8-8edc-629d4918b8d3", "modified": "2021-06-24T00:00:00.000Z", "name": "coa-549-0", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "course-of-action", "x_capec_version": "3.9" }, { "created": "2015-11-09T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--3ad56f58-fb37-408f-8a1b-2e3dfa28a602", "modified": "2021-06-24T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--48d83564-0b90-4cb8-8edc-629d4918b8d3", "spec_version": "2.1", "target_ref": "attack-pattern--2c74d7f3-ccb4-4aea-b7fc-8a4da900ec80", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2015-11-09T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "Implement system antivirus software that scans all attachments before opening them.", "id": "course-of-action--bf8bf5fa-93a1-46a0-8d7c-6889986d5167", "modified": "2021-06-24T00:00:00.000Z", "name": "coa-549-1", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "course-of-action", "x_capec_version": "3.9" }, { "created": "2015-11-09T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--3b1a3ebf-0fe8-4635-a763-7180f98545ce", "modified": "2021-06-24T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--bf8bf5fa-93a1-46a0-8d7c-6889986d5167", "spec_version": "2.1", "target_ref": "attack-pattern--2c74d7f3-ccb4-4aea-b7fc-8a4da900ec80", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2015-11-09T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "Regularly patch all software.", "id": "course-of-action--6637d129-28e5-4beb-9e50-e0127d76b7ec", "modified": "2021-06-24T00:00:00.000Z", "name": "coa-549-2", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "course-of-action", "x_capec_version": "3.9" }, { "created": "2015-11-09T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--281bf316-0912-4859-9ffe-bb8474a7bad4", "modified": "2021-06-24T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--6637d129-28e5-4beb-9e50-e0127d76b7ec", "spec_version": "2.1", "target_ref": "attack-pattern--2c74d7f3-ccb4-4aea-b7fc-8a4da900ec80", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2015-11-09T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "Execute all suspicious files in a sandbox environment.", "id": "course-of-action--d0e49c00-06b2-426e-a1dc-9aaeb4cafb97", "modified": "2021-06-24T00:00:00.000Z", "name": "coa-549-3", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "course-of-action", "x_capec_version": "3.9" }, { "created": "2015-11-09T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--05a27f3b-76b2-4510-9609-7f3d05b0d792", "modified": "2021-06-24T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--d0e49c00-06b2-426e-a1dc-9aaeb4cafb97", "spec_version": "2.1", "target_ref": "attack-pattern--2c74d7f3-ccb4-4aea-b7fc-8a4da900ec80", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "An attacker gets access to the database table where hashes of passwords are stored. They then use a rainbow table of pre-computed hash chains to attempt to look up the original password. Once the original password corresponding to the hash is obtained, the attacker uses the original password to gain access to the system.", "external_references": [ { "external_id": "CAPEC-55", "source_name": "capec", "url": "https://capec.mitre.org/data/definitions/55.html" }, { "external_id": "CWE-261", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/261.html" }, { "external_id": "CWE-521", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/521.html" }, { "external_id": "CWE-262", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/262.html" }, { "external_id": "CWE-263", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/263.html" }, { "external_id": "CWE-654", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/654.html" }, { "external_id": "CWE-916", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/916.html" }, { "external_id": "CWE-308", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/308.html" }, { "external_id": "CWE-309", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/309.html" }, { "description": "Brute Force:Password Cracking", "external_id": "T1110.002", "source_name": "ATTACK", "url": "https://attack.mitre.org/wiki/Technique/T1110/002" } ], "id": "attack-pattern--a390cb72-b4de-4750-ae05-be556c89f4be", "modified": "2022-02-22T00:00:00.000Z", "name": "Rainbow Table Password Cracking", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "attack-pattern", "x_capec_abstraction": "Detailed", "x_capec_can_precede_refs": [ "attack-pattern--03a731ef-751b-43de-9159-9667d4be4d1a", "attack-pattern--22802ed6-ddc6-4da7-b6be-60b10d26198b", "attack-pattern--886a7175-e28a-4e6d-bd22-3b1497e31dc7", "attack-pattern--f2654def-b86d-4ddb-888f-de6b50a103a2", "attack-pattern--2618d0a4-06d0-4bde-8271-2df61ed8297a" ], "x_capec_child_of_refs": [ "attack-pattern--8d88a81c-bde9-4fb3-acbe-901c783d6427" ], "x_capec_consequences": { "Access_Control": [ "Gain Privileges" ], "Authorization": [ "Gain Privileges" ], "Confidentiality": [ "Gain Privileges" ] }, "x_capec_domains": [ "Software" ], "x_capec_example_instances": [ "BusyBox 1.1.1 does not use a salt when generating passwords, which makes it easier for local users to guess passwords from a stolen password file using techniques such as rainbow tables. See also: CVE-2006-1058" ], "x_capec_execution_flow": "

Execution Flow

Explore

  1. Determine application's/system's password policy: Determine the password policies of the target application/system.

  2. Techniques
    Determine minimum and maximum allowed password lengths.
    Determine format of allowed passwords (whether they are required or allowed to contain numbers, special characters, etc.).
    Determine account lockout policy (a strict account lockout policy will prevent brute force attacks).
  3. Obtain password hashes: An attacker gets access to the database table storing hashes of passwords or potentially just discovers a hash of an individual password.

  4. Techniques
    Obtain copy of database table or flat file containing password hashes (by breaking access controls, using SQL Injection, etc.)
    Obtain password hashes from platform-specific storage locations (e.g. Windows registry)
    Sniff network packets containing password hashes.

Exploit

  1. Run rainbow table-based password cracking tool: An attacker finds or writes a password cracking tool that uses a previously computed rainbow table for the right hashing algorithm. It helps if the attacker knows what hashing algorithm was used by the password system.

  2. Techniques
    Run rainbow table-based password cracking tool such as Ophcrack or RainbowCrack. Reduction function must depend on application's/system's password policy.
", "x_capec_extended_description": "\n A password rainbow table stores hash chains for various passwords. A password chain is computed, starting from the original password, P, via a reduce(compression) function R and a hash function H. A recurrence relation exists where Xi+1 = R(H(Xi)), X0 = P. Then the hash chain of length n for the original password P can be formed: X1, X2, X3, ... , Xn-2, Xn-1, Xn, H(Xn). P and H(Xn) are then stored together in the rainbow table. Constructing the rainbow tables takes a very long time and is computationally expensive. A separate table needs to be constructed for the various hash algorithms (e.g. SHA1, MD5, etc.). However, once a rainbow table is computed, it can be very effective in cracking the passwords that have been hashed without the use of salt.\n ", "x_capec_likelihood_of_attack": "Medium", "x_capec_prerequisites": [ "Hash of the original password is available to the attacker. For a better chance of success, an attacker should have more than one hash of the original password, and ideally the whole table.", "Salt was not used to create the hash of the original password. Otherwise the rainbow tables have to be re-computed, which is very expensive and will make the attack effectively infeasible (especially if salt was added in iterations).", "The system uses one factor password based authentication." ], "x_capec_resources_required": [ "Rainbow table of password hash chains with the right algorithm used. A password cracking tool that leverages this rainbow table will also be required. Hash(es) of the password is required." ], "x_capec_skills_required": { "Low": "A variety of password cracking tools are available that can leverage a rainbow table. The more difficult part is to obtain the password hash(es) in the first place." }, "x_capec_status": "Draft", "x_capec_typical_severity": "Medium", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "Use salt when computing password hashes. That is, concatenate the salt (random bits) with the original password prior to hashing it.", "id": "course-of-action--54756aa7-5cd0-4c09-90b0-4bcb64715e00", "modified": "2022-02-22T00:00:00.000Z", "name": "coa-55-0", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "course-of-action", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--59fee1cf-5b04-404d-9ef4-ed4d63ce8317", "modified": "2022-02-22T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--54756aa7-5cd0-4c09-90b0-4bcb64715e00", "spec_version": "2.1", "target_ref": "attack-pattern--a390cb72-b4de-4750-ae05-be556c89f4be", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2015-11-09T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "When an operating system starts, it also starts programs called services or daemons. Adversaries may install a new service which will be executed at startup (on a Windows system, by modifying the registry). The service name may be disguised by using a name from a related operating system or benign software. Services are usually run with elevated privileges.", "external_references": [ { "external_id": "CAPEC-550", "source_name": "capec", "url": "https://capec.mitre.org/data/definitions/550.html" }, { "external_id": "CWE-284", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/284.html" }, { "description": "Create or Modify System Process", "external_id": "T1543", "source_name": "ATTACK", "url": "https://attack.mitre.org/wiki/Technique/T1543" } ], "id": "attack-pattern--aef8e9e0-4714-4890-9470-06276c61abfd", "modified": "2022-09-29T00:00:00.000Z", "name": "Install New Service", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "attack-pattern", "x_capec_abstraction": "Detailed", "x_capec_child_of_refs": [ "attack-pattern--482cb9fc-0122-49f0-b6df-6d2d42098b0a" ], "x_capec_domains": [ "Software" ], "x_capec_status": "Draft", "x_capec_version": "3.9" }, { "created": "2015-11-09T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "Limit privileges of user accounts so new service creation can only be performed by authorized administrators.", "id": "course-of-action--ed7ccb18-f2f9-4895-b561-75c72e739be9", "modified": "2022-09-29T00:00:00.000Z", "name": "coa-550-0", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "course-of-action", "x_capec_version": "3.9" }, { "created": "2015-11-09T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--f2eb507a-dfa5-4dd3-8046-bcd8964aa9ec", "modified": "2022-09-29T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--ed7ccb18-f2f9-4895-b561-75c72e739be9", "spec_version": "2.1", "target_ref": "attack-pattern--aef8e9e0-4714-4890-9470-06276c61abfd", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2015-11-09T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "When an operating system starts, it also starts programs called services or daemons. Modifying existing services may break existing services or may enable services that are disabled/not commonly used.", "external_references": [ { "external_id": "CAPEC-551", "source_name": "capec", "url": "https://capec.mitre.org/data/definitions/551.html" }, { "external_id": "CWE-284", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/284.html" }, { "external_id": "CWE-522", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/522.html" }, { "description": "Create or Modify System Process", "external_id": "T1543", "source_name": "ATTACK", "url": "https://attack.mitre.org/wiki/Technique/T1543" } ], "id": "attack-pattern--13e147c3-7baa-4ec4-aafd-9135d46545cc", "modified": "2022-09-29T00:00:00.000Z", "name": "Modify Existing Service", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "attack-pattern", "x_capec_abstraction": "Detailed", "x_capec_child_of_refs": [ "attack-pattern--482cb9fc-0122-49f0-b6df-6d2d42098b0a" ], "x_capec_domains": [ "Software" ], "x_capec_status": "Draft", "x_capec_version": "3.9" }, { "created": "2015-11-09T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "Limit privileges of user accounts so service changes can only be performed by authorized administrators. Also monitor any service changes that may occur inadvertently.", "id": "course-of-action--f3d72fe1-750b-47c0-9526-4728852a4e5b", "modified": "2022-09-29T00:00:00.000Z", "name": "coa-551-0", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "course-of-action", "x_capec_version": "3.9" }, { "created": "2015-11-09T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--f0245e1a-1d11-480f-a078-397f1133e3d3", "modified": "2022-09-29T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--f3d72fe1-750b-47c0-9526-4728852a4e5b", "spec_version": "2.1", "target_ref": "attack-pattern--13e147c3-7baa-4ec4-aafd-9135d46545cc", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2015-11-09T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "An adversary exploits a weakness in authentication to install malware that alters the functionality and information provide by targeted operating system API calls. Often referred to as rootkits, it is often used to hide the presence of programs, files, network connections, services, drivers, and other system components.", "external_references": [ { "external_id": "CAPEC-552", "source_name": "capec", "url": "https://capec.mitre.org/data/definitions/552.html" }, { "external_id": "CWE-284", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/284.html" }, { "description": "Rootkit", "external_id": "T1014", "source_name": "ATTACK", "url": "https://attack.mitre.org/wiki/Technique/T1014" }, { "description": "Pre-OS Boot:Bootkit", "external_id": "T1542.003", "source_name": "ATTACK", "url": "https://attack.mitre.org/wiki/Technique/T1542/003" }, { "description": "Boot or Logon Autostart Execution:Kernel Modules and Extensions", "external_id": "T1547.006", "source_name": "ATTACK", "url": "https://attack.mitre.org/wiki/Technique/T1547/006" } ], "id": "attack-pattern--79037ec7-444c-42cb-a64b-fb4b4f6bd156", "modified": "2020-07-30T00:00:00.000Z", "name": "Install Rootkit ", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "attack-pattern", "x_capec_abstraction": "Detailed", "x_capec_child_of_refs": [ "attack-pattern--482cb9fc-0122-49f0-b6df-6d2d42098b0a" ], "x_capec_domains": [ "Software" ], "x_capec_example_instances": [ "A rootkit may take the form of a hypervisor. A hypervisor is a software layer that sits between the operating system and the processor. It presents a virtual running environment to the operating system. An example of a common hypervisor is Xen. Because a hypervisor operates at a level below the operating system it can hide its existence from the operating system.", "Similar to a rootkit, a bootkit is a malware variant that modifies the boot sectors of a hard drive, including the Master Boot Record (MBR) and Volume Boot Record (VBR). Adversaries may use bootkits to persist on systems at a layer below the operating system, which may make it difficult to perform full remediation unless an organization suspects one was used and can act accordingly." ], "x_capec_likelihood_of_attack": "Medium", "x_capec_status": "Draft", "x_capec_typical_severity": "High", "x_capec_version": "3.9" }, { "created": "2015-11-09T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "Prevent adversary access to privileged accounts necessary to install rootkits.", "id": "course-of-action--7b0746b7-4370-4dbd-9a32-96187b4ac73f", "modified": "2020-07-30T00:00:00.000Z", "name": "coa-552-0", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "course-of-action", "x_capec_version": "3.9" }, { "created": "2015-11-09T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--4d2cd3db-aad4-4f8f-b45c-6841ffaeef34", "modified": "2020-07-30T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--7b0746b7-4370-4dbd-9a32-96187b4ac73f", "spec_version": "2.1", "target_ref": "attack-pattern--79037ec7-444c-42cb-a64b-fb4b4f6bd156", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2015-12-07T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "An adversary attacks a system by bypassing some or all functionality intended to protect it. Often, a system user will think that protection is in place, but the functionality behind those protections has been disabled by the adversary.", "external_references": [ { "external_id": "CAPEC-554", "source_name": "capec", "url": "https://capec.mitre.org/data/definitions/554.html" }, { "external_id": "CWE-424", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/424.html" }, { "external_id": "CWE-1299", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/1299.html" } ], "id": "attack-pattern--ec382da0-af49-489b-bca1-a555d48b7ce3", "modified": "2021-06-24T00:00:00.000Z", "name": "Functionality Bypass", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "attack-pattern", "x_capec_abstraction": "Meta", "x_capec_domains": [ "Software" ], "x_capec_likelihood_of_attack": "Medium", "x_capec_parent_of_refs": [ "attack-pattern--177d22be-7b76-4726-8085-61756f95c0ce", "attack-pattern--ed57f38c-2f0c-47ad-a6e2-16932fde978f", "attack-pattern--2b6e94c6-26d0-489c-989c-9f4307348c42" ], "x_capec_status": "Draft", "x_capec_typical_severity": "High", "x_capec_version": "3.9" }, { "created": "2015-11-09T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "This pattern of attack involves an adversary that uses stolen credentials to leverage remote services such as RDP, telnet, SSH, and VNC to log into a system. Once access is gained, any number of malicious activities could be performed.", "external_references": [ { "external_id": "CAPEC-555", "source_name": "capec", "url": "https://capec.mitre.org/data/definitions/555.html" }, { "external_id": "CWE-522", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/522.html" }, { "external_id": "CWE-308", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/308.html" }, { "external_id": "CWE-309", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/309.html" }, { "external_id": "CWE-294", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/294.html" }, { "external_id": "CWE-263", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/263.html" }, { "external_id": "CWE-262", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/262.html" }, { "external_id": "CWE-521", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/521.html" }, { "description": "Remote Services", "external_id": "T1021", "source_name": "ATTACK", "url": "https://attack.mitre.org/wiki/Technique/T1021" }, { "description": "Email Collection:Remote Email Collection", "external_id": "T1114.002", "source_name": "ATTACK", "url": "https://attack.mitre.org/wiki/Technique/T1114/002" }, { "description": "External Remote Services", "external_id": "T1133", "source_name": "ATTACK", "url": "https://attack.mitre.org/wiki/Technique/T1133" } ], "id": "attack-pattern--06e8782a-87af-4863-b6b1-99e09edda3be", "modified": "2022-09-29T00:00:00.000Z", "name": "Remote Services with Stolen Credentials", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "attack-pattern", "x_capec_abstraction": "Standard", "x_capec_can_precede_refs": [ "attack-pattern--22802ed6-ddc6-4da7-b6be-60b10d26198b" ], "x_capec_child_of_refs": [ "attack-pattern--886a7175-e28a-4e6d-bd22-3b1497e31dc7" ], "x_capec_domains": [ "Software" ], "x_capec_example_instances": [ "Remote desktop is a common feature in operating systems. It allows a user to log into an interactive session with a system desktop graphical user interface on a remote system. Microsoft refers to its implementation of the Remote Desktop Protocol (RDP) as Remote Desktop Services (RDS). There are other implementations and third-party tools that provide graphical access Remote Services similar to RDS. Adversaries may connect to a remote system over RDP/RDS to expand access if the service is enabled and allows access to accounts with known credentials.", "Windows Remote Management (WinRM) is the name of both a Windows service and a protocol that allows a user to interact with a remote system (e.g., run an executable, modify the Registry, modify services). It may be called with the winrm command or by any number of programs such as PowerShell." ], "x_capec_status": "Stable", "x_capec_typical_severity": "Very High", "x_capec_version": "3.9" }, { "created": "2015-11-09T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "Disable RDP, telnet, SSH and enable firewall rules to block such traffic. Limit users and accounts that have remote interactive login access. Remove the Local Administrators group from the list of groups allowed to login through RDP. Limit remote user permissions. Use remote desktop gateways and multifactor authentication for remote logins.", "id": "course-of-action--3c080d71-9309-4804-877c-86e391e4b059", "modified": "2022-09-29T00:00:00.000Z", "name": "coa-555-0", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "course-of-action", "x_capec_version": "3.9" }, { "created": "2015-11-09T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--02cc8969-deb0-4e79-ba08-2e68197ab5f6", "modified": "2022-09-29T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--3c080d71-9309-4804-877c-86e391e4b059", "spec_version": "2.1", "target_ref": "attack-pattern--06e8782a-87af-4863-b6b1-99e09edda3be", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2015-11-09T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "When a file is opened, its file handler is checked to determine which program opens the file. File handlers are configuration properties of many operating systems. Applications can modify the file handler for a given file extension to call an arbitrary program when a file with the given extension is opened.", "external_references": [ { "external_id": "CAPEC-556", "source_name": "capec", "url": "https://capec.mitre.org/data/definitions/556.html" }, { "external_id": "CWE-284", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/284.html" }, { "description": "Event Triggered Execution:Change Default File Association", "external_id": "T1546.001", "source_name": "ATTACK", "url": "https://attack.mitre.org/wiki/Technique/T1546/001" } ], "id": "attack-pattern--ccb9c607-8bfe-4141-8843-356453179da7", "modified": "2020-07-30T00:00:00.000Z", "name": "Replace File Extension Handlers", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "attack-pattern", "x_capec_abstraction": "Detailed", "x_capec_child_of_refs": [ "attack-pattern--482cb9fc-0122-49f0-b6df-6d2d42098b0a" ], "x_capec_domains": [ "Software" ], "x_capec_status": "Draft", "x_capec_version": "3.9" }, { "created": "2015-11-09T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "Inspect registry for changes. Limit privileges of user accounts so changes to default file handlers can only be performed by authorized administrators.", "id": "course-of-action--4709dd63-ad1f-4755-b03a-b1441d4a3f50", "modified": "2020-07-30T00:00:00.000Z", "name": "coa-556-0", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "course-of-action", "x_capec_version": "3.9" }, { "created": "2015-11-09T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--96425e94-0d20-4e81-a5f2-950f705d5102", "modified": "2020-07-30T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--4709dd63-ad1f-4755-b03a-b1441d4a3f50", "spec_version": "2.1", "target_ref": "attack-pattern--ccb9c607-8bfe-4141-8843-356453179da7", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2015-11-09T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "This CAPEC has been deprecated because it is not directly related to a weakness, social engineering, supply chains, or a physical-based attack.", "external_references": [ { "external_id": "CAPEC-557", "source_name": "capec", "url": "https://capec.mitre.org/data/definitions/557.html" } ], "id": "attack-pattern--ccf63cb4-ae14-4c51-a379-9dd09be8f078", "modified": "2020-07-30T00:00:00.000Z", "name": "DEPRECATED: Schedule Software To Run", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "attack-pattern", "x_capec_abstraction": "Detailed", "x_capec_status": "Deprecated", "x_capec_version": "3.9" }, { "created": "2015-11-09T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "An adversary exploits weaknesses in privilege management or access control to replace a trusted executable with a malicious version and enable the execution of malware when that trusted executable is called.", "external_references": [ { "external_id": "CAPEC-558", "source_name": "capec", "url": "https://capec.mitre.org/data/definitions/558.html" }, { "external_id": "CWE-284", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/284.html" }, { "description": "Server Software Component: Terminal Services DLL", "external_id": "T1505.005", "source_name": "ATTACK", "url": "https://attack.mitre.org/wiki/Technique/T1505/005" }, { "description": "Event Triggered Execution: Accessibility Features", "external_id": "T1546.008", "source_name": "ATTACK", "url": "https://attack.mitre.org/wiki/Technique/T1546/008" } ], "id": "attack-pattern--d9069913-2a5f-4ad5-878e-73181f0b1067", "modified": "2022-09-29T00:00:00.000Z", "name": "Replace Trusted Executable", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "attack-pattern", "x_capec_abstraction": "Detailed", "x_capec_child_of_refs": [ "attack-pattern--482cb9fc-0122-49f0-b6df-6d2d42098b0a" ], "x_capec_domains": [ "Software" ], "x_capec_example_instances": [ "Specific versions of Windows contain accessibility features that may be launched with a key combination before a user has logged in (for example when they are on the Windows Logon screen). On Windows XP and Windows Server 2003/R2, the program (e.g. \"C:\\Windows\\System32\\utilman.exe\") may be replaced with cmd.exe (or another program that provides backdoor access). Then pressing the appropriate key combination at the login screen while sitting at the keyboard or when connected over RDP will cause the replaced file to be executed with SYSTEM privileges." ], "x_capec_likelihood_of_attack": "Low", "x_capec_status": "Stable", "x_capec_typical_severity": "High", "x_capec_version": "3.9" }, { "created": "2017-01-12T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "In this attack pattern, the adversary sends disruptive signals at a target satellite using a rogue uplink station to disrupt the intended transmission. Those within the satellite's footprint are prevented from reaching the satellite's targeted or neighboring channels. The satellite's footprint size depends upon its position in the sky; higher orbital satellites cover multiple continents.", "external_references": [ { "external_id": "CAPEC-559", "source_name": "capec", "url": "https://capec.mitre.org/data/definitions/559.html" }, { "description": "Small Media, Satellite Jamming in Iran: A War over Airwaves, 2012--11", "external_id": "REF-462", "source_name": "reference_from_CAPEC" } ], "id": "attack-pattern--7a6e0e5c-f18e-4612-aaa6-68bdeb378b31", "modified": "2017-01-12T00:00:00.000Z", "name": "Orbital Jamming", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "attack-pattern", "x_capec_abstraction": "Detailed", "x_capec_child_of_refs": [ "attack-pattern--7534fc4c-f683-4918-8f62-005e0402d18a" ], "x_capec_consequences": { "Availability": [ "Other (A successful attack will deny the availability of the satellite communications for authorized users.)" ] }, "x_capec_domains": [ "Communications" ], "x_capec_likelihood_of_attack": "Low", "x_capec_prerequisites": [ "This attack requires the knowledge of the satellite's coordinates for targeting." ], "x_capec_resources_required": [ "A satellite uplink station." ], "x_capec_status": "Draft", "x_capec_typical_severity": "High", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "This attack pattern has been deprecated as it is a duplicate of CAPEC-207 : Removing Important Client Functionality. Please refer to this other pattern going forward.", "external_references": [ { "external_id": "CAPEC-56", "source_name": "capec", "url": "https://capec.mitre.org/data/definitions/56.html" } ], "id": "attack-pattern--86daf34c-5e2b-49d7-b579-cfde98c462ac", "modified": "2017-05-01T00:00:00.000Z", "name": "DEPRECATED: Removing/short-circuiting 'guard logic'", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "attack-pattern", "x_capec_abstraction": "Standard", "x_capec_status": "Deprecated", "x_capec_version": "3.9" }, { "created": "2015-11-09T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "\n An adversary guesses or obtains (i.e. steals or purchases) legitimate credentials (e.g. userID/password) to achieve authentication and to perform authorized actions under the guise of an authenticated user or service.\n ", "external_references": [ { "external_id": "CAPEC-560", "source_name": "capec", "url": "https://capec.mitre.org/data/definitions/560.html" }, { "external_id": "CWE-522", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/522.html" }, { "external_id": "CWE-307", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/307.html" }, { "external_id": "CWE-308", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/308.html" }, { "external_id": "CWE-309", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/309.html" }, { "external_id": "CWE-262", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/262.html" }, { "external_id": "CWE-263", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/263.html" }, { "external_id": "CWE-654", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/654.html" }, { "external_id": "CWE-1273", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/1273.html" }, { "description": "Valid Accounts", "external_id": "T1078", "source_name": "ATTACK", "url": "https://attack.mitre.org/wiki/Technique/T1078" }, { "description": "Attractive Accounts for Credential Theft, 2017--05---31, Microsoft Corporation", "external_id": "REF-570", "source_name": "reference_from_CAPEC", "url": "https://docs.microsoft.com/en-us/windows-server/identity/ad-ds/plan/security-best-practices/attractive-accounts-for-credential-theft?redirectedfrom=MSDN" }, { "description": "Feike Hacquebord, Two Years of Pawn Storm: Examining an Increasingly Relevant Threat, 2017--04---25, Trend Micro", "external_id": "REF-571", "source_name": "reference_from_CAPEC", "url": "https://documents.trendmicro.com/assets/wp/wp-two-years-of-pawn-storm.pdf" }, { "description": "Corporate IoT – a path to intrusion, 2019--10---05, Microsoft Security Response Center (MSRC)", "external_id": "REF-572", "source_name": "reference_from_CAPEC", "url": "https://msrc-blog.microsoft.com/2019/08/05/corporate-iot-a-path-to-intrusion" }, { "description": "Brendan McKeague, Van Ta, Ben Fedore, Geoff Ackerman, Alex Pennino, Andrew Thompson, Douglas Bienstock, Pick-Six: Intercepting a FIN6 Intrusion, an Actor Recently Tied to Ryuk and LockerGoga Ransomware, 2019--04---05, Microsoft Security Response Center (MSRC)", "external_id": "REF-573", "source_name": "reference_from_CAPEC", "url": "https://www.fireeye.com/blog/threat-research/2019/04/pick-six-intercepting-a-fin6-intrusion.html" } ], "id": "attack-pattern--886a7175-e28a-4e6d-bd22-3b1497e31dc7", "modified": "2022-09-29T00:00:00.000Z", "name": "Use of Known Domain Credentials", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "attack-pattern", "x_capec_abstraction": "Meta", "x_capec_can_follow_refs": [ "attack-pattern--a9dc4914-409a-4f71-80df-c5cc3923d112", "attack-pattern--c2a87533-3c81-40b3-b529-9560c644f70d", "attack-pattern--8d88a81c-bde9-4fb3-acbe-901c783d6427", "attack-pattern--addd93c9-9278-4185-b402-e505d632c815", "attack-pattern--a4986dd8-cb9c-45cb-bb53-b7549f2b8d62", "attack-pattern--a390cb72-b4de-4750-ae05-be556c89f4be", "attack-pattern--f724f0f3-20e6-450c-be4a-f373ea08834d", "attack-pattern--fab7fb48-4503-4e03-980f-9bc827be929f", "attack-pattern--8c7bab16-5ecd-4778-9b04-c185bceed170" ], "x_capec_can_precede_refs": [ "attack-pattern--22802ed6-ddc6-4da7-b6be-60b10d26198b" ], "x_capec_consequences": { "Access_Control": [ "Gain Privileges" ], "Authentication": [ "Gain Privileges" ], "Authorization": [ "Read Data" ], "Confidentiality": [ "Gain Privileges", "Read Data" ], "Integrity": [ "Modify Data" ] }, "x_capec_domains": [ "Software", "Hardware" ], "x_capec_example_instances": [ "Throughout 2015 and 2016, APT28 — also known as Pawn Storm, Sednit, Fancy Bear, Sofacy, and STRONTIUM — leveraged stolen credentials to infiltrate the Democratic National Committee (DNC), the United States Army, the World Anti-Doping Agency (WADA), the Court of Arbitration for Sport (TAS-CAS), and more. In most cases, the legitimate credentials were obtained via calculated spearphishing, tabnabbing, and DNS attacks targeted at corporate webmail systems. APT28 also executed several watering hole attacks, in addition to exploiting several zero-day vulnerabilities within Flash and Windows. The stolen credentials were then utilized to maintain authenticated access, laterally move within the local network, and exfiltrate sensitive information including DNC emails and personal medical records of numerous athletes. [REF-571]", "In early 2019, FIN6 exploited stolen credentials from an organization within the engineering industry to laterally move within an environment via the Windows’ Remote Desktop Protocol (RDP). Multiple servers were subsequently infected with malware to create malware distribution servers, which were used to distribute the LockerGoga ransomware. [REF-573]" ], "x_capec_execution_flow": "

Execution Flow

Explore

  1. Acquire known credentials: The adversary must obtain known credentials in order to access the target system, application, or service.

  2. Techniques
    An adversary purchases breached username/password combinations or leaked hashed passwords from the dark web.
    An adversary leverages a key logger or phishing attack to steal user credentials as they are provided.
    An adversary conducts a sniffing attack to steal credentials as they are transmitted.
    An adversary gains access to a database and exfiltrates password hashes.
    An adversary examines outward-facing configuration and properties files to discover hardcoded credentials.
  3. Determine target's password policy: Determine the password policies of the target system/application to determine if the known credentials fit within the specified criteria.

  4. Techniques
    Determine minimum and maximum allowed password lengths.
    Determine format of allowed passwords (whether they are required or allowed to contain numbers, special characters, etc., or whether they are allowed to contain words from the dictionary).
    Determine account lockout policy (a strict account lockout policy will prevent brute force attacks if multiple passwords are known for a single user account).

Experiment

  1. Attempt authentication: Try each credential until the target grants access.

  2. Techniques
    Manually or automatically enter each credential through the target's interface.

Exploit

  1. Impersonate: An adversary can use successful experiments or authentications to impersonate an authorized user or system, or to laterally move within a system or application

  2. Spoofing: Malicious data can be injected into the target system or into a victim user's system by an adversary. The adversary can also pose as a legitimate user to perform social engineering attacks.

  3. Data Exfiltration: The adversary can obtain sensitive data contained within the system or application.

", "x_capec_extended_description": "\n Attacks leveraging trusted credentials typically result in the adversary laterally moving within the local network, since users are often allowed to login to systems/applications within the network using the same password. This further allows the adversary to obtain sensitive data, download/install malware on the system, pose as a legitimate user for social engineering purposes, and more.\n Attacks on known passwords generally rely on the primary fact that users often reuse the same username/password combination for a variety of systems, applications, and services, coupled with poor password policies on the target system or application. Adversaries can also utilize known passwords to target Single Sign On (SSO) or cloud-based applications and services, which often don't verify the authenticity of the user's input. Known credentials are usually obtained by an adversary via a system/application breach and/or by purchasing dumps of credentials on the dark web. These credentials may be further gleaned via exposed configuration and properties files that contain system passwords, database connection strings, and other sensitive data.\n ", "x_capec_likelihood_of_attack": "High", "x_capec_parent_of_refs": [ "attack-pattern--06e8782a-87af-4863-b6b1-99e09edda3be", "attack-pattern--03a731ef-751b-43de-9159-9667d4be4d1a", "attack-pattern--755bb5ac-2eee-4e54-9864-92812666120c", "attack-pattern--2618d0a4-06d0-4bde-8271-2df61ed8297a" ], "x_capec_prerequisites": [ "The system/application uses one factor password based authentication, SSO, and/or cloud-based authentication.", "The system/application does not have a sound password policy that is being enforced.", "The system/application does not implement an effective password throttling mechanism.", "The adversary possesses a list of known user accounts and corresponding passwords that may exist on the target." ], "x_capec_resources_required": [ "A list of known credentials.", "A custom script that leverages the credential list to launch an attack." ], "x_capec_skills_required": { "Low": "Once an adversary obtains a known credential, leveraging it is trivial." }, "x_capec_status": "Stable", "x_capec_typical_severity": "High", "x_capec_version": "3.9" }, { "created": "2015-11-09T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "Leverage multi-factor authentication for all authentication services and prior to granting an entity access to the domain network.", "id": "course-of-action--b8f274c3-95ed-4968-afdc-6a8a87a6fb19", "modified": "2022-09-29T00:00:00.000Z", "name": "coa-560-0", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "course-of-action", "x_capec_version": "3.9" }, { "created": "2015-11-09T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--e3e578d6-8b57-4c74-a939-800e0cf7a45b", "modified": "2022-09-29T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--b8f274c3-95ed-4968-afdc-6a8a87a6fb19", "spec_version": "2.1", "target_ref": "attack-pattern--886a7175-e28a-4e6d-bd22-3b1497e31dc7", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2015-11-09T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--6395a05b-7097-429d-878c-c8c1f5d4beb4", "modified": "2022-09-29T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--93ed0e66-1693-44b2-b416-bee8db1ad4c2", "spec_version": "2.1", "target_ref": "attack-pattern--886a7175-e28a-4e6d-bd22-3b1497e31dc7", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2015-11-09T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "Ensure users are not reusing username/password combinations for multiple systems, applications, or services.", "id": "course-of-action--f17a2576-00f1-49a8-b554-5ec205ca54a2", "modified": "2022-09-29T00:00:00.000Z", "name": "coa-560-2", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "course-of-action", "x_capec_version": "3.9" }, { "created": "2015-11-09T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--00382075-fd38-4145-ac07-88fa46ab5e82", "modified": "2022-09-29T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--f17a2576-00f1-49a8-b554-5ec205ca54a2", "spec_version": "2.1", "target_ref": "attack-pattern--886a7175-e28a-4e6d-bd22-3b1497e31dc7", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2015-11-09T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "Do not reuse local administrator account credentials across systems.", "id": "course-of-action--7c813ade-2f68-46ad-b0ff-b3aa1d6f16d0", "modified": "2022-09-29T00:00:00.000Z", "name": "coa-560-3", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "course-of-action", "x_capec_version": "3.9" }, { "created": "2015-11-09T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--8e80f453-8c74-45c3-ad17-5cceded60e65", "modified": "2022-09-29T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--7c813ade-2f68-46ad-b0ff-b3aa1d6f16d0", "spec_version": "2.1", "target_ref": "attack-pattern--886a7175-e28a-4e6d-bd22-3b1497e31dc7", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2015-11-09T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "Deny remote use of local admin credentials to log into domain systems.", "id": "course-of-action--8e39cc3a-64c4-488e-84a3-e2613bdb1254", "modified": "2022-09-29T00:00:00.000Z", "name": "coa-560-4", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "course-of-action", "x_capec_version": "3.9" }, { "created": "2015-11-09T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--5d4dbec9-a56a-4a81-9a64-a9d70c3cdcac", "modified": "2022-09-29T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--8e39cc3a-64c4-488e-84a3-e2613bdb1254", "spec_version": "2.1", "target_ref": "attack-pattern--886a7175-e28a-4e6d-bd22-3b1497e31dc7", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2015-11-09T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "Do not allow accounts to be a local administrator on more than one system.", "id": "course-of-action--9d97f821-8b04-46bf-a725-33db09a739da", "modified": "2022-09-29T00:00:00.000Z", "name": "coa-560-5", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "course-of-action", "x_capec_version": "3.9" }, { "created": "2015-11-09T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--c44dcaf3-84a3-4fc1-a9c4-3c1c06dbeac1", "modified": "2022-09-29T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--9d97f821-8b04-46bf-a725-33db09a739da", "spec_version": "2.1", "target_ref": "attack-pattern--886a7175-e28a-4e6d-bd22-3b1497e31dc7", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2015-11-09T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--44f48a42-3c74-4fbb-885b-d16e52d1e21f", "modified": "2022-09-29T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--36387909-c46a-4d0f-8954-bbc4c954c9a9", "spec_version": "2.1", "target_ref": "attack-pattern--886a7175-e28a-4e6d-bd22-3b1497e31dc7", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2015-11-09T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "Monitor system and domain logs for abnormal credential access.", "id": "course-of-action--ab6c4df3-7bf9-4fdd-8c2a-9055c0aea441", "modified": "2022-09-29T00:00:00.000Z", "name": "coa-560-7", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "course-of-action", "x_capec_version": "3.9" }, { "created": "2015-11-09T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--6871bf92-f743-4558-b1fd-ca894de9bb78", "modified": "2022-09-29T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--ab6c4df3-7bf9-4fdd-8c2a-9055c0aea441", "spec_version": "2.1", "target_ref": "attack-pattern--886a7175-e28a-4e6d-bd22-3b1497e31dc7", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2015-11-09T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "An adversary guesses or obtains (i.e. steals or purchases) legitimate Windows administrator credentials (e.g. userID/password) to access Windows Admin Shares on a local machine or within a Windows domain.", "external_references": [ { "external_id": "CAPEC-561", "source_name": "capec", "url": "https://capec.mitre.org/data/definitions/561.html" }, { "external_id": "CWE-522", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/522.html" }, { "external_id": "CWE-308", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/308.html" }, { "external_id": "CWE-309", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/309.html" }, { "external_id": "CWE-294", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/294.html" }, { "external_id": "CWE-263", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/263.html" }, { "external_id": "CWE-262", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/262.html" }, { "external_id": "CWE-521", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/521.html" }, { "description": "Remote Services:SMB/Windows Admin Shares", "external_id": "T1021.002", "source_name": "ATTACK", "url": "https://attack.mitre.org/wiki/Technique/T1021/002" }, { "description": "Overview of problems that may occur when administrative shares are missing, 2017--03---13, Microsoft Corporation", "external_id": "REF-577", "source_name": "reference_from_CAPEC", "url": "https://support.microsoft.com/en-us/help/842715/overview-of-problems-that-may-occur-when-administrative-shares-are-mis" }, { "description": "Rob Smallridge, HAPT15 is alive and strong: An analysis of RoyalCli and RoyalDNS, 2018--03---10, NCC Group", "external_id": "REF-578", "source_name": "reference_from_CAPEC", "url": "https://www.nccgroup.trust/uk/about-us/newsroom-and-events/blogs/2018/march/apt15-is-alive-and-strong-an-analysis-of-royalcli-and-royaldns/" }, { "description": "Assaf Dahan, Operation Cobalt Kitty: Cybereason Labs Analysis, 2017, CyberReason", "external_id": "REF-579", "source_name": "reference_from_CAPEC", "url": "https://cdn2.hubspot.net/hubfs/3354902/Cybereason%20Labs%20Analysis%20Operation%20Cobalt%20Kitty.pdf" } ], "id": "attack-pattern--f2654def-b86d-4ddb-888f-de6b50a103a2", "modified": "2022-09-29T00:00:00.000Z", "name": "Windows Admin Shares with Stolen Credentials", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "attack-pattern", "x_capec_abstraction": "Detailed", "x_capec_can_follow_refs": [ "attack-pattern--a9dc4914-409a-4f71-80df-c5cc3923d112", "attack-pattern--8d88a81c-bde9-4fb3-acbe-901c783d6427", "attack-pattern--addd93c9-9278-4185-b402-e505d632c815", "attack-pattern--a390cb72-b4de-4750-ae05-be556c89f4be", "attack-pattern--f724f0f3-20e6-450c-be4a-f373ea08834d", "attack-pattern--fab7fb48-4503-4e03-980f-9bc827be929f", "attack-pattern--9d08b257-08f6-42e3-ad7e-41aaf07789a1", "attack-pattern--8c7bab16-5ecd-4778-9b04-c185bceed170" ], "x_capec_can_precede_refs": [ "attack-pattern--22802ed6-ddc6-4da7-b6be-60b10d26198b", "attack-pattern--f8533ce1-5f23-4660-8f70-1a05af2c70d3", "attack-pattern--2c74d7f3-ccb4-4aea-b7fc-8a4da900ec80", "attack-pattern--191fbdab-d3b3-4ffd-8829-51331c20eaa7" ], "x_capec_child_of_refs": [ "attack-pattern--2618d0a4-06d0-4bde-8271-2df61ed8297a" ], "x_capec_consequences": { "Access_Control": [ "Gain Privileges" ], "Authentication": [ "Gain Privileges" ], "Authorization": [ "Read Data" ], "Confidentiality": [ "Gain Privileges", "Read Data" ], "Integrity": [ "Modify Data" ] }, "x_capec_domains": [ "Software" ], "x_capec_example_instances": [ "APT32 has leveraged Windows' built-in Net utility to use Windows Administrative Shares to copy and execute remote malware. [REF-579]", "In May 2017, APT15 laterally moved within a Windows domain via Windows Administrative Shares to copy files to and from compromised host systems. This further allowed for the remote execution of malware. [REF-578]" ], "x_capec_execution_flow": "

Execution Flow

Explore

  1. Acquire known Windows administrator credentials: The adversary must obtain known Windows administrator credentials in order to access the administrative network shares.

  2. Techniques
    An adversary purchases breached Windows administrator credentials from the dark web.
    An adversary leverages a key logger or phishing attack to steal administrator credentials as they are provided.
    An adversary conducts a sniffing attack to steal Windows administrator credentials as they are transmitted.
    An adversary gains access to a Windows domain system/files and exfiltrates Windows administrator password hashes.
    An adversary examines outward-facing configuration and properties files to discover hardcoded Windows administrator credentials.

Experiment

  1. Attempt domain authentication: Try each Windows administrator credential against the hidden network shares until the target grants access.

  2. Techniques
    Manually or automatically enter each administrator credential through the target's interface.

Exploit

  1. Malware Execution: An adversary can remotely execute malware within the administrative network shares to infect other systems within the domain.

  2. Data Exfiltration: The adversary can remotely obtain sensitive data contained within the administrative network shares.

", "x_capec_extended_description": "\n Windows systems within the Windows NT family contain hidden network shares that are only accessible to system administrators. These shares allow administrators to remotely access all disk volumes on a network-connected system and further allow for files to be copied, written, and executed, along with other administrative actions. Example network shares include: C$, ADMIN$ and IPC$. If an adversary is able to obtain legitimate Windows credentials, the hidden shares can be accessed remotely, via server message block (SMB) or the Net utility, to transfer files and execute code. It is also possible for adversaries to utilize NTLM hashes to access administrator shares on systems with certain configuration and patch levels.\n ", "x_capec_prerequisites": [ "The system/application is connected to the Windows domain.", "The target administrative share allows remote use of local admin credentials to log into domain systems.", "The adversary possesses a list of known Windows administrator credentials that exist on the target domain." ], "x_capec_resources_required": [ "A list of known Windows administrator credentials for the targeted domain." ], "x_capec_skills_required": { "Low": "Once an adversary obtains a known Windows credential, leveraging it is trivial." }, "x_capec_status": "Draft", "x_capec_version": "3.9" }, { "created": "2015-11-09T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--eecc445b-fbb2-4188-870d-159485c94ef0", "modified": "2022-09-29T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--7c813ade-2f68-46ad-b0ff-b3aa1d6f16d0", "spec_version": "2.1", "target_ref": "attack-pattern--f2654def-b86d-4ddb-888f-de6b50a103a2", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2015-11-09T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--11eaef47-9b8a-4bb8-bf2f-63eb95d12037", "modified": "2022-09-29T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--8e39cc3a-64c4-488e-84a3-e2613bdb1254", "spec_version": "2.1", "target_ref": "attack-pattern--f2654def-b86d-4ddb-888f-de6b50a103a2", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2015-11-09T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--f482b089-26b2-468c-8161-bd9eea7cfe4b", "modified": "2022-09-29T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--9d97f821-8b04-46bf-a725-33db09a739da", "spec_version": "2.1", "target_ref": "attack-pattern--f2654def-b86d-4ddb-888f-de6b50a103a2", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2015-11-09T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "An adversary manipulates the files in a shared location by adding malicious programs, scripts, or exploit code to valid content. Once a user opens the shared content, the tainted content is executed.", "external_references": [ { "external_id": "CAPEC-562", "source_name": "capec", "url": "https://capec.mitre.org/data/definitions/562.html" }, { "external_id": "CWE-284", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/284.html" }, { "description": "Taint shared content", "external_id": "T1080", "source_name": "ATTACK", "url": "https://attack.mitre.org/wiki/Technique/T1080" } ], "id": "attack-pattern--9d076056-3719-4afc-94f4-5d16aaee50a3", "modified": "2019-04-04T00:00:00.000Z", "name": "Modify Shared File", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "attack-pattern", "x_capec_abstraction": "Detailed", "x_capec_child_of_refs": [ "attack-pattern--9ad2c2eb-9939-4590-9683-2e789692d262" ], "x_capec_domains": [ "Software" ], "x_capec_status": "Draft", "x_capec_version": "3.9" }, { "created": "2015-11-09T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "Disallow shared content. Protect shared folders by minimizing users that have write access. Use utilities that mitigate exploitation like the Microsoft Enhanced Mitigation Experience Toolkit (EMET) to prevent exploits from being run.", "id": "course-of-action--7c8c48ad-29e9-48a7-803e-dd6994eed5fd", "modified": "2019-04-04T00:00:00.000Z", "name": "coa-562-0", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "course-of-action", "x_capec_version": "3.9" }, { "created": "2015-11-09T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--48a3e4bb-b139-4cfd-ad9b-bcafd4087f57", "modified": "2019-04-04T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--7c8c48ad-29e9-48a7-803e-dd6994eed5fd", "spec_version": "2.1", "target_ref": "attack-pattern--9d076056-3719-4afc-94f4-5d16aaee50a3", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2015-11-09T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "An adversaries may add malicious content to a website through the open file share and then browse to that content with a web browser to cause the server to execute the content. The malicious content will typically run under the context and permissions of the web server process, often resulting in local system or administrative privileges depending on how the web server is configured.", "external_references": [ { "external_id": "CAPEC-563", "source_name": "capec", "url": "https://capec.mitre.org/data/definitions/563.html" }, { "external_id": "CWE-284", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/284.html" } ], "id": "attack-pattern--80604cc1-88b5-4e55-846e-01cfc67966b2", "modified": "2020-07-30T00:00:00.000Z", "name": "Add Malicious File to Shared Webroot", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "attack-pattern", "x_capec_abstraction": "Detailed", "x_capec_child_of_refs": [ "attack-pattern--9ad2c2eb-9939-4590-9683-2e789692d262" ], "x_capec_domains": [ "Software" ], "x_capec_status": "Draft", "x_capec_version": "3.9" }, { "created": "2015-11-09T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "Ensure proper permissions on directories that are accessible through a web server. Disallow remote access to the web root. Disable execution on directories within the web root. Ensure that permissions of the web server process are only what is required by not using built-in accounts and instead create specific accounts to limit unnecessary access or permissions overlap across multiple systems.", "id": "course-of-action--fa8958ed-8fb1-4412-9a43-882a8093afba", "modified": "2020-07-30T00:00:00.000Z", "name": "coa-563-0", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "course-of-action", "x_capec_version": "3.9" }, { "created": "2015-11-09T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--fac83968-b4fb-49f5-b904-487038f291fe", "modified": "2020-07-30T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--fa8958ed-8fb1-4412-9a43-882a8093afba", "spec_version": "2.1", "target_ref": "attack-pattern--80604cc1-88b5-4e55-846e-01cfc67966b2", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2015-11-09T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "Operating system allows logon scripts to be run whenever a specific user or users logon to a system. If adversaries can access these scripts, they may insert additional code into the logon script. This code can allow them to maintain persistence or move laterally within an enclave because it is executed every time the affected user or users logon to a computer. Modifying logon scripts can effectively bypass workstation and enclave firewalls. Depending on the access configuration of the logon scripts, either local credentials or a remote administrative account may be necessary.", "external_references": [ { "external_id": "CAPEC-564", "source_name": "capec", "url": "https://capec.mitre.org/data/definitions/564.html" }, { "external_id": "CWE-284", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/284.html" }, { "description": "Boot or Logon Initialization Scripts", "external_id": "T1037", "source_name": "ATTACK", "url": "https://attack.mitre.org/wiki/Technique/T1037" }, { "description": "Create or Modify System Process: Launch Agent", "external_id": "T1543.001", "source_name": "ATTACK", "url": "https://attack.mitre.org/wiki/Technique/T1543/001" }, { "description": "Create or Modify System Process: Launch Daemon", "external_id": "T1543.004", "source_name": "ATTACK", "url": "https://attack.mitre.org/wiki/Technique/T1543/004" }, { "description": "Boot or Logon Autostart Execution", "external_id": "T1547", "source_name": "ATTACK", "url": "https://attack.mitre.org/wiki/Technique/T1547" } ], "id": "attack-pattern--b63b2869-11e6-4849-8ddf-ae2557bf554b", "modified": "2022-09-29T00:00:00.000Z", "name": "Run Software at Logon", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "attack-pattern", "x_capec_abstraction": "Detailed", "x_capec_child_of_refs": [ "attack-pattern--482cb9fc-0122-49f0-b6df-6d2d42098b0a" ], "x_capec_domains": [ "Software" ], "x_capec_status": "Draft", "x_capec_version": "3.9" }, { "created": "2015-11-09T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "Restrict write access to logon scripts to necessary administrators.", "id": "course-of-action--ac6fb253-4318-4476-bd92-98025e9f081b", "modified": "2022-09-29T00:00:00.000Z", "name": "coa-564-0", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "course-of-action", "x_capec_version": "3.9" }, { "created": "2015-11-09T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--b0065118-5899-4093-ad4e-1d2e77d85ff5", "modified": "2022-09-29T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--ac6fb253-4318-4476-bd92-98025e9f081b", "spec_version": "2.1", "target_ref": "attack-pattern--b63b2869-11e6-4849-8ddf-ae2557bf554b", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2020-07-30T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "\n In a Password Spraying attack, an adversary tries a small list (e.g. 3-5) of common or expected passwords, often matching the target's complexity policy, against a known list of user accounts to gain valid credentials. The adversary tries a particular password for each user account, before moving onto the next password in the list. This approach assists the adversary in remaining undetected by avoiding rapid or frequent account lockouts. The adversary may then reattempt the process with additional passwords, once enough time has passed to prevent inducing a lockout.\n ", "external_references": [ { "external_id": "CAPEC-565", "source_name": "capec", "url": "https://capec.mitre.org/data/definitions/565.html" }, { "external_id": "CWE-521", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/521.html" }, { "external_id": "CWE-262", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/262.html" }, { "external_id": "CWE-263", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/263.html" }, { "external_id": "CWE-654", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/654.html" }, { "external_id": "CWE-307", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/307.html" }, { "external_id": "CWE-308", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/308.html" }, { "external_id": "CWE-309", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/309.html" }, { "description": "Brute Force:Password Spraying", "external_id": "T1110.003", "source_name": "ATTACK", "url": "https://attack.mitre.org/wiki/Technique/T1110/003" }, { "description": "ACSC Releases Advisory on Password Spraying Attacks, 2019--08---08, Cybersecurity and Infrastructure Security Agency (CISA)", "external_id": "REF-565", "source_name": "reference_from_CAPEC", "url": "https://www.us-cert.gov/ncas/current-activity/2019/08/08/acsc-releases-advisory-password-spraying-attacks" }, { "description": "Andy Greenberg, A notorious Iranian hacking crew is targeting industrial control systems, 2019--11---23, Ars Technica", "external_id": "REF-566", "source_name": "reference_from_CAPEC", "url": "https://arstechnica.com/information-technology/2019/11/a-notorious-iranian-hacking-crew-is-targeting-industrial-control-systems/" }, { "description": "Alert (TA18-086A): Brute Force Attacks Conducted by Cyber Actors, 2018--03---27, Cybersecurity and Infrastructure Security Agency (CISA)", "external_id": "REF-567", "source_name": "reference_from_CAPEC", "url": "https://www.us-cert.gov/ncas/alerts/TA18-086A" } ], "id": "attack-pattern--f724f0f3-20e6-450c-be4a-f373ea08834d", "modified": "2022-02-22T00:00:00.000Z", "name": "Password Spraying", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "attack-pattern", "x_capec_abstraction": "Detailed", "x_capec_can_precede_refs": [ "attack-pattern--03a731ef-751b-43de-9159-9667d4be4d1a", "attack-pattern--22802ed6-ddc6-4da7-b6be-60b10d26198b", "attack-pattern--886a7175-e28a-4e6d-bd22-3b1497e31dc7", "attack-pattern--f2654def-b86d-4ddb-888f-de6b50a103a2", "attack-pattern--2618d0a4-06d0-4bde-8271-2df61ed8297a" ], "x_capec_child_of_refs": [ "attack-pattern--8d88a81c-bde9-4fb3-acbe-901c783d6427" ], "x_capec_consequences": { "Access_Control": [ "Gain Privileges" ], "Authentication": [ "Gain Privileges" ], "Authorization": [ "Read Data" ], "Confidentiality": [ "Gain Privileges", "Read Data" ], "Integrity": [ "Modify Data" ] }, "x_capec_domains": [ "Software" ], "x_capec_example_instances": [ "A user selects the phrase \"Password123\" as their password, believing that it would be very difficult to guess. Password Spraying, leveraging a list of commonly used passwords, is used to crack this password and gain access to the account.", "The Iranian hacker group APT33 (AKA Holmium, Refined Kitten, or Elfin) carried out numerous Password Spraying attacks in 2019. On average, APT33 targeted 2,000 organizations per month, with upwards of 10 million authentication attempts each day. The majority of these attacks targeted manufacturers, suppliers, or maintainers of industrial control system equipment." ], "x_capec_execution_flow": "

Execution Flow

Explore

  1. Determine target's password policy: Determine the password policies of the target system/application.

  2. Techniques
    Determine minimum and maximum allowed password lengths.
    Determine format of allowed passwords (whether they are required or allowed to contain numbers, special characters, etc., or whether they are allowed to contain words from the dictionary).
    Determine account lockout policy (a strict account lockout policy will prevent brute force attacks).
  3. Select passwords: Pick the passwords to be used in the attack (e.g. commonly used passwords, passwords tailored to individual users, etc.)

  4. Techniques
    Select passwords based on common use or a particular user's additional details.
    Select passwords based on the target's password complexity policies.

Exploit

  1. Brute force password: Given the finite space of possible passwords dictated by information determined in the previous steps, try each password for all known user accounts until the target grants access.

  2. Techniques
    Manually or automatically enter the first password for each known user account through the target's interface. In most systems, start with the shortest and simplest possible passwords, because most users tend to select such passwords if allowed to do so.
    Iterate through the remaining passwords for each known user account.
", "x_capec_extended_description": "\n Password Spraying attacks often target management services over commonly used ports such as SSH, FTP, Telnet, LDAP, Kerberos, MySQL, and more. Additional targets include Single Sign-On (SSO) or cloud-based applications/services that utilize federated authentication protocols, and externally facing applications. Successful execution of Password Spraying attacks usually lead to lateral movement within the target, which allows the adversary to impersonate the victim or execute any action that the victim is authorized to perform. If the password chosen by the user is commonly used or easily guessed, this attack will be successful (in the absence of other mitigations). This is a specific instance of the password brute forcing attack pattern.\n Password Spraying Attacks are similar to Dictionary-based Password Attacks (CAPEC-16) in that they both leverage precompiled lists (i.e. dictionaries) of username/password combinations to try against a system/application. The primary difference is that Password Spraying Attacks leverage a known list of user accounts and only try one password for each account before moving onto the next password. In contrast, Dictionary-based Password Attacks leverage unknown username/password combinations and are often executed offline against files containing hashed credentials, where inducing an account lockout is not a concern.\n Password Spraying Attacks are also similar to Credential Stuffing attacks (CAPEC-600), since both utilize known user accounts and often attack the same targets. Credential Stuffing attacks, however, leverage known username/password combinations, whereas Password Spraying attacks have no insight into known username/password pairs. If a Password Spraying attack succeeds, it may additionally lead to Credential Stuffing attacks on different targets.\n ", "x_capec_likelihood_of_attack": "High", "x_capec_prerequisites": [ "The system/application uses one factor password based authentication.", "The system/application does not have a sound password policy that is being enforced.", "The system/application does not implement an effective password throttling mechanism.", "The adversary possesses a list of known user accounts on the target system/application." ], "x_capec_resources_required": [ "A machine with sufficient resources for the job (e.g. CPU, RAM, HD).", "Applicable password lists.", "A password cracking tool or a custom script that leverages the password list to launch the attack." ], "x_capec_skills_required": { "Low": "A Password Spraying attack is very straightforward. A variety of password cracking tools are widely available." }, "x_capec_status": "Draft", "x_capec_typical_severity": "High", "x_capec_version": "3.9" }, { "created": "2020-07-30T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--883bf7e0-d6d7-4599-a405-4cf773ba06f2", "modified": "2022-02-22T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--93ed0e66-1693-44b2-b416-bee8db1ad4c2", "spec_version": "2.1", "target_ref": "attack-pattern--f724f0f3-20e6-450c-be4a-f373ea08834d", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2020-07-30T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--63dc5428-39f8-4790-9341-12ee76d16b3c", "modified": "2022-02-22T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--36387909-c46a-4d0f-8954-bbc4c954c9a9", "spec_version": "2.1", "target_ref": "attack-pattern--f724f0f3-20e6-450c-be4a-f373ea08834d", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2020-07-30T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--39894d0f-45fc-4d1e-ac83-029554eb758f", "modified": "2022-02-22T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--b8f274c3-95ed-4968-afdc-6a8a87a6fb19", "spec_version": "2.1", "target_ref": "attack-pattern--f724f0f3-20e6-450c-be4a-f373ea08834d", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2015-11-09T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "This CAPEC has been deprecated because of is not directly related to a weakness, social engineering, supply chains, or a physical-based attack.", "external_references": [ { "external_id": "CAPEC-566", "source_name": "capec", "url": "https://capec.mitre.org/data/definitions/566.html" } ], "id": "attack-pattern--f1b2ac67-1040-4927-bad6-17eab5d8e17c", "modified": "2019-04-04T00:00:00.000Z", "name": "DEPRECATED: Dump Password Hashes", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "attack-pattern", "x_capec_abstraction": "Detailed", "x_capec_status": "Deprecated", "x_capec_version": "3.9" }, { "created": "2015-11-09T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "This CAPEC has been deprecated because it is not directly related to a weakness, social engineering, supply chains, or a physical-based attack.", "external_references": [ { "external_id": "CAPEC-567", "source_name": "capec", "url": "https://capec.mitre.org/data/definitions/567.html" } ], "id": "attack-pattern--e8f4c3d0-0aaf-4a96-b31c-9e6e8b5e15da", "modified": "2020-07-30T00:00:00.000Z", "name": "DEPRECATED: Obtain Data via Utilities", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "attack-pattern", "x_capec_abstraction": "Standard", "x_capec_status": "Deprecated", "x_capec_version": "3.9" }, { "created": "2015-11-09T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "An adversary deploys a keylogger in an effort to obtain credentials directly from a system's user. After capturing all the keystrokes made by a user, the adversary can analyze the data and determine which string are likely to be passwords or other credential related information.", "external_references": [ { "external_id": "CAPEC-568", "source_name": "capec", "url": "https://capec.mitre.org/data/definitions/568.html" }, { "description": "Input Capture:Keylogging", "external_id": "T1056.001", "source_name": "ATTACK", "url": "https://attack.mitre.org/wiki/Technique/T1056/001" } ], "id": "attack-pattern--fab7fb48-4503-4e03-980f-9bc827be929f", "modified": "2021-10-21T00:00:00.000Z", "name": "Capture Credentials via Keylogger", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "attack-pattern", "x_capec_abstraction": "Detailed", "x_capec_can_follow_refs": [ "attack-pattern--c8c9dfbe-7a40-4041-84ff-89942878a2f4" ], "x_capec_can_precede_refs": [ "attack-pattern--03a731ef-751b-43de-9159-9667d4be4d1a", "attack-pattern--22802ed6-ddc6-4da7-b6be-60b10d26198b", "attack-pattern--886a7175-e28a-4e6d-bd22-3b1497e31dc7", "attack-pattern--f2654def-b86d-4ddb-888f-de6b50a103a2", "attack-pattern--2618d0a4-06d0-4bde-8271-2df61ed8297a" ], "x_capec_child_of_refs": [ "attack-pattern--52103765-d380-42fc-aa4d-a8b24615548a" ], "x_capec_domains": [ "Software" ], "x_capec_execution_flow": "

Execution Flow

Explore

  1. Determine which user's credentials to capture: Since this is a more targeted attack, an adversary will first identify a particular user they wish the capture the credentials of.

Experiment

  1. Deploy keylogger: Once a user is identified, an adversary will deploy a keylogger to the user's system in one of many ways.

  2. Techniques
    Send a phishing email with a malicious attachment that installs a keylogger on a user's system
    Conceal a keylogger behind fake software and get the user to download the software
    Get a user to click on a malicious URL that directs them to a webpage that will install a keylogger without their knowledge
    Gain access to the user's system through a vulnerability and manually install a keylogger
  3. Record keystrokes: Once the keylogger is deployed on the user's system, the adversary will record keystrokes over a period of time.

  4. Analyze data and determine credentials: Using the captured keystrokes, the adversary will be able to determine the credentials of the user.

  5. Techniques
    Search for repeated sequences that are following by the enter key
    Search for repeated sequences that are not found in a dictionary
    Search for several backspaces in a row. This could indicate a mistyped password. The correct password can then be inferred using the whole key sequence

Exploit

  1. Use found credentials: After the adversary has found the credentials for the target user, they will then use them to gain access to a system in order to perform some follow-up attack

", "x_capec_prerequisites": [ "The ability to install the keylogger, either in person or remote." ], "x_capec_status": "Draft", "x_capec_typical_severity": "High", "x_capec_version": "3.9" }, { "created": "2015-11-09T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "Strong physical security can help reduce the ability of an adversary to install a keylogger.", "id": "course-of-action--ac31ad94-cdd7-4233-9c7b-3341818f95c1", "modified": "2021-10-21T00:00:00.000Z", "name": "coa-568-0", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "course-of-action", "x_capec_version": "3.9" }, { "created": "2015-11-09T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--76f04316-3bcf-4941-8aa8-df14017ac277", "modified": "2021-10-21T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--ac31ad94-cdd7-4233-9c7b-3341818f95c1", "spec_version": "2.1", "target_ref": "attack-pattern--fab7fb48-4503-4e03-980f-9bc827be929f", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2015-11-09T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "An attacker leverages a tool, device, or program to obtain specific information as provided by a user of the target system. This information is often needed by the attacker to launch a follow-on attack. This attack is different than Social Engineering as the adversary is not tricking or deceiving the user. Instead the adversary is putting a mechanism in place that captures the information that a user legitimately enters into a system. Deploying a keylogger, performing a UAC prompt, or wrapping the Windows default credential provider are all examples of such interactions.", "external_references": [ { "external_id": "CAPEC-569", "source_name": "capec", "url": "https://capec.mitre.org/data/definitions/569.html" }, { "description": "Input Capture", "external_id": "T1056", "source_name": "ATTACK", "url": "https://attack.mitre.org/wiki/Technique/T1056" } ], "id": "attack-pattern--52103765-d380-42fc-aa4d-a8b24615548a", "modified": "2021-06-24T00:00:00.000Z", "name": "Collect Data as Provided by Users", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "attack-pattern", "x_capec_abstraction": "Standard", "x_capec_child_of_refs": [ "attack-pattern--913426fa-ea1f-43b0-8492-1d363ea109d6" ], "x_capec_domains": [ "Software" ], "x_capec_parent_of_refs": [ "attack-pattern--fab7fb48-4503-4e03-980f-9bc827be929f" ], "x_capec_status": "Draft", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "This attack utilizes a REST(REpresentational State Transfer)-style applications' trust in the system resources and environment to obtain sensitive data once SSL is terminated.", "external_references": [ { "external_id": "CAPEC-57", "source_name": "capec", "url": "https://capec.mitre.org/data/definitions/57.html" }, { "external_id": "CWE-300", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/300.html" }, { "external_id": "CWE-287", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/287.html" }, { "external_id": "CWE-693", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/693.html" }, { "description": "Network Sniffing", "external_id": "T1040", "source_name": "ATTACK", "url": "https://attack.mitre.org/wiki/Technique/T1040" } ], "id": "attack-pattern--359d056e-6d5c-4d54-97d6-5a9f586bcccf", "modified": "2022-09-29T00:00:00.000Z", "name": "Utilizing REST's Trust in the System Resource to Obtain Sensitive Data", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "attack-pattern", "x_capec_abstraction": "Detailed", "x_capec_child_of_refs": [ "attack-pattern--bdcdc784-d891-4ca8-847b-38ddca37a6ec" ], "x_capec_consequences": { "Access_Control": [ "Gain Privileges" ], "Authorization": [ "Gain Privileges" ], "Confidentiality": [ "Gain Privileges" ] }, "x_capec_domains": [ "Communications", "Software" ], "x_capec_example_instances": [ "The Rest service provider uses SSL to protect the communications between the service requester (client) to the service provider. In the instance where SSL is terminated before the communications reach the web server, it is very common in enterprise data centers to terminate SSL at a router, firewall, load balancer, proxy or other device, then the adversary can insert a sniffer into the communication stream and gather all the authentication tokens (such as session credentials, username/passwords combinations, and so on). The Rest service requester and service provider do not have any way to detect this attack." ], "x_capec_execution_flow": "

Execution Flow

Explore

  1. Find a REST-style application that uses SSL: The adversary must first find a REST-style application that uses SSL to target. Because this attack is easier to carry out from inside of a server network, it is likely that an adversary could have inside knowledge of how services operate.

Experiment

  1. Insert a listener to sniff client-server communication: The adversary inserts a listener that must exist beyond the point where SSL is terminated. This can be placed on the client side if it is believed that sensitive information is being sent to the client as a response, although most often the listener will be placed on the server side to listen for client authentication information.

  2. Techniques
    Run wireshark or tcpdump on a device that is on the inside of a firewall, load balancer, or router of a network and capture traffic after SSL has been terminated

Exploit

  1. Gather information passed in the clear: If developers have not hashed or encrypted data sent in the sniffed request, the adversary will be able to read this data in the clear. Most commonly, they will now have a username or password that they can use to submit requests to the web service just as an authorized user

", "x_capec_extended_description": "\n Rest applications premise is that they leverage existing infrastructure to deliver web services functionality. An example of this is a Rest application that uses HTTP Get methods and receives a HTTP response with an XML document. These Rest style web services are deployed on existing infrastructure such as Apache and IIS web servers with no SOAP stack required.\n Unfortunately from a security standpoint, there frequently is no interoperable identity security mechanism deployed, so Rest developers often fall back to SSL to deliver security. In large data centers, SSL is typically terminated at the edge of the network - at the firewall, load balancer, or router. Once the SSL is terminated the HTTP request is in the clear (unless developers have hashed or encrypted the values, but this is rare). The adversary can utilize a sniffer such as Wireshark to snapshot the credentials, such as username and password that are passed in the clear once SSL is terminated. Once the adversary gathers these credentials, they can submit requests to the web service provider just as authorized user do. There is not typically an authentication on the client side, beyond what is passed in the request itself so once this is compromised, then this is generally sufficient to compromise the service's authentication scheme.\n ", "x_capec_likelihood_of_attack": "Medium", "x_capec_prerequisites": [ "Opportunity to intercept must exist beyond the point where SSL is terminated.", "The adversary must be able to insert a listener actively (proxying the communication) or passively (sniffing the communication) in the client-server communication path." ], "x_capec_skills_required": { "Low": "To insert a network sniffer or other listener into the communication stream" }, "x_capec_status": "Draft", "x_capec_typical_severity": "Very High", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "Implementation: Implement message level security such as HMAC in the HTTP communication", "id": "course-of-action--411ad2e6-57aa-4f31-be81-4e85c4618602", "modified": "2022-09-29T00:00:00.000Z", "name": "coa-57-0", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "course-of-action", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--d6d23a13-264b-4642-b6ca-c39f175c9d9e", "modified": "2022-09-29T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--411ad2e6-57aa-4f31-be81-4e85c4618602", "spec_version": "2.1", "target_ref": "attack-pattern--359d056e-6d5c-4d54-97d6-5a9f586bcccf", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "Design: Utilize defense in depth, do not rely on a single security mechanism like SSL", "id": "course-of-action--fab2d0ed-1d80-4531-a345-10e8bbb142d5", "modified": "2022-09-29T00:00:00.000Z", "name": "coa-57-1", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "course-of-action", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--d893b6fe-7c69-4a0a-a687-450db912f094", "modified": "2022-09-29T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--fab2d0ed-1d80-4531-a345-10e8bbb142d5", "spec_version": "2.1", "target_ref": "attack-pattern--359d056e-6d5c-4d54-97d6-5a9f586bcccf", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--e8ca2309-7035-4c1b-91a7-0c39f533a82b", "modified": "2022-09-29T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--a4112a44-a0f9-4bde-bebe-74ed96c4cd3f", "spec_version": "2.1", "target_ref": "attack-pattern--359d056e-6d5c-4d54-97d6-5a9f586bcccf", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2015-11-09T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "This CAPEC has been deprecated because it is not directly related to a weakness, social engineering, supply chains, or a physical-based attack.", "external_references": [ { "external_id": "CAPEC-570", "source_name": "capec", "url": "https://capec.mitre.org/data/definitions/570.html" } ], "id": "attack-pattern--80f16e35-c7c1-445d-8f12-a77bbbce6bcf", "modified": "2020-07-30T00:00:00.000Z", "name": "DEPRECATED: Signature-Based Avoidance", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "attack-pattern", "x_capec_abstraction": "Detailed", "x_capec_status": "Deprecated", "x_capec_version": "3.9" }, { "created": "2015-11-09T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "\n An adversary prevents host-generated logs being delivered to a central location in an attempt to hide indicators of compromise.\n ", "external_references": [ { "external_id": "CAPEC-571", "source_name": "capec", "url": "https://capec.mitre.org/data/definitions/571.html" }, { "description": "Impair Defenses: Disable Windows Event Logging", "external_id": "T1562.002", "source_name": "ATTACK", "url": "https://attack.mitre.org/wiki/Technique/T1562/002" }, { "description": "Impair Defenses: Impair Command History Logging", "external_id": "T1562.002", "source_name": "ATTACK", "url": "https://attack.mitre.org/wiki/Technique/T1562/002" }, { "description": "Impair Defenses: Indicator Blocking", "external_id": "T1562.006", "source_name": "ATTACK", "url": "https://attack.mitre.org/wiki/Technique/T1562/006" }, { "description": "Impair Defenses: Disable Cloud Logs", "external_id": "T1562.008", "source_name": "ATTACK", "url": "https://attack.mitre.org/wiki/Technique/T1562/008" } ], "id": "attack-pattern--8f91fa23-b5c4-48f1-be6c-99582524f8cc", "modified": "2022-09-29T00:00:00.000Z", "name": "Block Logging to Central Repository", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "attack-pattern", "x_capec_abstraction": "Standard", "x_capec_child_of_refs": [ "attack-pattern--2a6131f7-30af-4529-be4e-bc3b7bf22009" ], "x_capec_domains": [ "Communications", "Software" ], "x_capec_extended_description": "\n In the case of network based reporting of indicators, an adversary may block traffic associated with reporting to prevent central station analysis. This may be accomplished by many means such as stopping a local process to creating a host-based firewall rule to block traffic to a specific server.\n In the case of local based reporting of indicators, an adversary may block delivery of locally-generated log files themselves to the central repository.\n ", "x_capec_status": "Draft", "x_capec_typical_severity": "Low", "x_capec_version": "3.9" }, { "created": "2015-11-09T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "\n An adversary modifies file contents by adding data to files for several reasons. Many different attacks could “follow” this pattern resulting in numerous outcomes. Adding data to a file could also result in a Denial of Service condition for devices with limited storage capacity.\n ", "external_references": [ { "external_id": "CAPEC-572", "source_name": "capec", "url": "https://capec.mitre.org/data/definitions/572.html" }, { "description": "Obfuscated Files or Information:Binary Padding", "external_id": "T1027.001", "source_name": "ATTACK", "url": "https://attack.mitre.org/wiki/Technique/T1027/001" } ], "id": "attack-pattern--31b90554-68d8-4950-ac45-89c915a30716", "modified": "2021-06-24T00:00:00.000Z", "name": "Artificially Inflate File Sizes", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "attack-pattern", "x_capec_abstraction": "Standard", "x_capec_child_of_refs": [ "attack-pattern--f8533ce1-5f23-4660-8f70-1a05af2c70d3" ], "x_capec_consequences": { "Availability": [ "Resource Consumption (Denial of Service)" ], "Integrity": [ "Modify Data" ] }, "x_capec_domains": [ "Software" ], "x_capec_example_instances": [ "\n An adversary could potentially increase file sizes on devices containing limited storage resources, such as SCADA or IOT devices, resulting in denial of service conditions.\n " ], "x_capec_likelihood_of_attack": "High", "x_capec_parent_of_refs": [ "attack-pattern--cbe9fd1f-4b5d-4a3c-b20b-e49888457338" ], "x_capec_status": "Draft", "x_capec_typical_severity": "Medium", "x_capec_version": "3.9" }, { "created": "2015-11-09T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "An adversary exploits functionality meant to identify information about the currently running processes on the target system to an authorized user. By knowing what processes are running on the target system, the adversary can learn about the target environment as a means towards further malicious behavior.", "external_references": [ { "external_id": "CAPEC-573", "source_name": "capec", "url": "https://capec.mitre.org/data/definitions/573.html" }, { "external_id": "CWE-200", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/200.html" }, { "description": "Process Discovery", "external_id": "T1057", "source_name": "ATTACK", "url": "https://attack.mitre.org/wiki/Technique/T1057" } ], "id": "attack-pattern--b5b3a4ff-afa0-4a3a-9537-88ac953a41f7", "modified": "2020-07-30T00:00:00.000Z", "name": "Process Footprinting", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "attack-pattern", "x_capec_abstraction": "Standard", "x_capec_child_of_refs": [ "attack-pattern--87b0d2df-b246-4bf9-aee8-4912e2fa1a30" ], "x_capec_consequences": { "Access_Control": [ "Bypass Protection Mechanism", "Hide Activities" ], "Authorization": [ "Bypass Protection Mechanism", "Hide Activities" ], "Confidentiality": [ "Other", "Bypass Protection Mechanism", "Hide Activities" ] }, "x_capec_domains": [ "Software" ], "x_capec_example_instances": [ "On a Windows system, the command, \"tasklist,\" displays information about processes. The same function on a Mac OS system is done with the command, \"ps.\"", "In addition to manual discovery of running processes, an adversary can develop malware that carries out this attack pattern before subsequent malicious action." ], "x_capec_likelihood_of_attack": "Low", "x_capec_prerequisites": [ "The adversary must have gained access to the target system via physical or logical means in order to carry out this attack." ], "x_capec_status": "Stable", "x_capec_typical_severity": "Low", "x_capec_version": "3.9" }, { "created": "2015-11-09T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--d90ebca8-a2a7-44f1-afb0-5bf198b230a1", "modified": "2020-07-30T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--df51abec-081d-46dd-8f72-6ffd3d11d3dc", "spec_version": "2.1", "target_ref": "attack-pattern--b5b3a4ff-afa0-4a3a-9537-88ac953a41f7", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2015-11-09T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "An adversary exploits functionality meant to identify information about the services on the target system to an authorized user. By knowing what services are registered on the target system, the adversary can learn about the target environment as a means towards further malicious behavior. Depending on the operating system, commands that can obtain services information include \"sc\" and \"tasklist/svc\" using Tasklist, and \"net start\" using Net.", "external_references": [ { "external_id": "CAPEC-574", "source_name": "capec", "url": "https://capec.mitre.org/data/definitions/574.html" }, { "external_id": "CWE-200", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/200.html" }, { "description": "System Service Discovery", "external_id": "T1007", "source_name": "ATTACK", "url": "https://attack.mitre.org/wiki/Technique/T1007" } ], "id": "attack-pattern--6cfc4047-a0fb-42ac-bf94-226a21c40c80", "modified": "2020-07-30T00:00:00.000Z", "name": "Services Footprinting", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "attack-pattern", "x_capec_abstraction": "Standard", "x_capec_child_of_refs": [ "attack-pattern--87b0d2df-b246-4bf9-aee8-4912e2fa1a30" ], "x_capec_consequences": { "Access_Control": [ "Bypass Protection Mechanism", "Hide Activities" ], "Authorization": [ "Bypass Protection Mechanism", "Hide Activities" ], "Confidentiality": [ "Other", "Bypass Protection Mechanism", "Hide Activities" ] }, "x_capec_domains": [ "Software" ], "x_capec_likelihood_of_attack": "Low", "x_capec_prerequisites": [ "The adversary must have gained access to the target system via physical or logical means in order to carry out this attack." ], "x_capec_status": "Stable", "x_capec_typical_severity": "Low", "x_capec_version": "3.9" }, { "created": "2015-11-09T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "Identify programs that may be used to acquire service information and block them by using a software restriction policy or tools that restrict program execution by uaing a process allowlist.", "id": "course-of-action--93c5a458-1b46-4c3f-9f1f-763513e4e117", "modified": "2020-07-30T00:00:00.000Z", "name": "coa-574-0", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "course-of-action", "x_capec_version": "3.9" }, { "created": "2015-11-09T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--ae71c8b1-867e-4d0f-b856-1f1dc4334311", "modified": "2020-07-30T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--93c5a458-1b46-4c3f-9f1f-763513e4e117", "spec_version": "2.1", "target_ref": "attack-pattern--6cfc4047-a0fb-42ac-bf94-226a21c40c80", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2015-11-09T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "An adversary exploits functionality meant to identify information about the domain accounts and their permissions on the target system to an authorized user. By knowing what accounts are registered on the target system, the adversary can inform further and more targeted malicious behavior. Example Windows commands which can acquire this information are: \"net user\" and \"dsquery\".", "external_references": [ { "external_id": "CAPEC-575", "source_name": "capec", "url": "https://capec.mitre.org/data/definitions/575.html" }, { "external_id": "CWE-200", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/200.html" }, { "description": "Account Discovery", "external_id": "T1087", "source_name": "ATTACK", "url": "https://attack.mitre.org/wiki/Technique/T1087" } ], "id": "attack-pattern--6de257d8-e3b6-4654-85a7-a6fb37a94ccb", "modified": "2020-07-30T00:00:00.000Z", "name": "Account Footprinting", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "attack-pattern", "x_capec_abstraction": "Standard", "x_capec_child_of_refs": [ "attack-pattern--87b0d2df-b246-4bf9-aee8-4912e2fa1a30" ], "x_capec_consequences": { "Access_Control": [ "Bypass Protection Mechanism", "Hide Activities" ], "Authorization": [ "Bypass Protection Mechanism", "Hide Activities" ], "Confidentiality": [ "Other", "Bypass Protection Mechanism", "Hide Activities" ] }, "x_capec_domains": [ "Software" ], "x_capec_likelihood_of_attack": "Low", "x_capec_prerequisites": [ "The adversary must have gained access to the target system via physical or logical means in order to carry out this attack." ], "x_capec_status": "Stable", "x_capec_typical_severity": "Low", "x_capec_version": "3.9" }, { "created": "2015-11-09T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "Identify programs that may be used to acquire account information and block them by using a software restriction policy or tools that restrict program execution by uysing a process allowlist.", "id": "course-of-action--99081e9b-3b17-47c0-bbc3-23ef66bd5063", "modified": "2020-07-30T00:00:00.000Z", "name": "coa-575-0", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "course-of-action", "x_capec_version": "3.9" }, { "created": "2015-11-09T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--a83980a6-7bad-41f4-967c-54f888a25a11", "modified": "2020-07-30T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--99081e9b-3b17-47c0-bbc3-23ef66bd5063", "spec_version": "2.1", "target_ref": "attack-pattern--6de257d8-e3b6-4654-85a7-a6fb37a94ccb", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2015-11-09T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "An adversary exploits functionality meant to identify information about user groups and their permissions on the target system to an authorized user. By knowing what users/permissions are registered on the target system, the adversary can inform further and more targeted malicious behavior. An example Windows command which can list local groups is \"net localgroup\".", "external_references": [ { "external_id": "CAPEC-576", "source_name": "capec", "url": "https://capec.mitre.org/data/definitions/576.html" }, { "external_id": "CWE-200", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/200.html" }, { "description": "Permission Groups Discovery", "external_id": "T1069", "source_name": "ATTACK", "url": "https://attack.mitre.org/wiki/Technique/T1069" }, { "description": "Group Policy Discovery", "external_id": "T1615", "source_name": "ATTACK", "url": "https://attack.mitre.org/wiki/Technique/T1615" } ], "id": "attack-pattern--f95027a2-27e7-431f-b5c7-da9c46b05f71", "modified": "2022-09-29T00:00:00.000Z", "name": "Group Permission Footprinting", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "attack-pattern", "x_capec_abstraction": "Standard", "x_capec_child_of_refs": [ "attack-pattern--87b0d2df-b246-4bf9-aee8-4912e2fa1a30" ], "x_capec_consequences": { "Access_Control": [ "Bypass Protection Mechanism", "Hide Activities" ], "Authorization": [ "Bypass Protection Mechanism", "Hide Activities" ], "Confidentiality": [ "Other", "Bypass Protection Mechanism", "Hide Activities" ] }, "x_capec_domains": [ "Software" ], "x_capec_likelihood_of_attack": "Low", "x_capec_prerequisites": [ "The adversary must have gained access to the target system via physical or logical means in order to carry out this attack." ], "x_capec_status": "Stable", "x_capec_typical_severity": "Low", "x_capec_version": "3.9" }, { "created": "2015-11-09T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "Identify programs (such as \"net\") that may be used to enumerate local group permissions and block them by using a software restriction Policy or tools that restrict program execution by using a process allowlist.", "id": "course-of-action--2bb92dd6-4286-42f9-bb33-e90bf1a8a9d5", "modified": "2022-09-29T00:00:00.000Z", "name": "coa-576-0", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "course-of-action", "x_capec_version": "3.9" }, { "created": "2015-11-09T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--66551e96-dd41-445e-855d-1b22ca5c0267", "modified": "2022-09-29T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--2bb92dd6-4286-42f9-bb33-e90bf1a8a9d5", "spec_version": "2.1", "target_ref": "attack-pattern--f95027a2-27e7-431f-b5c7-da9c46b05f71", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2015-11-09T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "An adversary exploits functionality meant to identify information about the primary users on the target system to an authorized user. They may do this, for example, by reviewing logins or file modification times. By knowing what owners use the target system, the adversary can inform further and more targeted malicious behavior. An example Windows command that may accomplish this is \"dir /A ntuser.dat\". Which will display the last modified time of a user's ntuser.dat file when run within the root folder of a user. This time is synonymous with the last time that user was logged in.", "external_references": [ { "external_id": "CAPEC-577", "source_name": "capec", "url": "https://capec.mitre.org/data/definitions/577.html" }, { "external_id": "CWE-200", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/200.html" }, { "description": "System Owner/User Discovery", "external_id": "T1033", "source_name": "ATTACK", "url": "https://attack.mitre.org/wiki/Technique/T1033" } ], "id": "attack-pattern--3dfa08af-9677-4a4d-a3f0-a1c5042c9497", "modified": "2019-09-30T00:00:00.000Z", "name": "Owner Footprinting", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "attack-pattern", "x_capec_abstraction": "Standard", "x_capec_child_of_refs": [ "attack-pattern--87b0d2df-b246-4bf9-aee8-4912e2fa1a30" ], "x_capec_consequences": { "Access_Control": [ "Bypass Protection Mechanism", "Hide Activities" ], "Authorization": [ "Bypass Protection Mechanism", "Hide Activities" ], "Confidentiality": [ "Other", "Bypass Protection Mechanism", "Hide Activities" ] }, "x_capec_domains": [ "Software" ], "x_capec_likelihood_of_attack": "Low", "x_capec_prerequisites": [ "The adversary must have gained access to the target system via physical or logical means in order to carry out this attack.", "Administrator permissions are required to view the home folder of other users." ], "x_capec_status": "Draft", "x_capec_typical_severity": "Low", "x_capec_version": "3.9" }, { "created": "2015-11-09T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "Ensure that proper permissions on files and folders are enacted to limit accessibility.", "id": "course-of-action--583c7488-8859-4641-9143-4a55cfb23722", "modified": "2019-09-30T00:00:00.000Z", "name": "coa-577-0", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "course-of-action", "x_capec_version": "3.9" }, { "created": "2015-11-09T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--8d75f4c7-4ed6-4b8d-92af-9a3ef1ed2ea7", "modified": "2019-09-30T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--583c7488-8859-4641-9143-4a55cfb23722", "spec_version": "2.1", "target_ref": "attack-pattern--3dfa08af-9677-4a4d-a3f0-a1c5042c9497", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2015-11-09T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "An adversary exploits a weakness in access control to disable security tools so that detection does not occur. This can take the form of killing processes, deleting registry keys so that tools do not start at run time, deleting log files, or other methods.", "external_references": [ { "external_id": "CAPEC-578", "source_name": "capec", "url": "https://capec.mitre.org/data/definitions/578.html" }, { "external_id": "CWE-284", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/284.html" }, { "description": "Modify Authentication Process: Multi-Factor Authentication", "external_id": "T1556.006", "source_name": "ATTACK", "url": "https://attack.mitre.org/wiki/Technique/T1556/006" }, { "description": "Impair Defenses: Disable or Modify Tools", "external_id": "T1562.001", "source_name": "ATTACK", "url": "https://attack.mitre.org/wiki/Technique/T1562/001" }, { "description": "Impair Defenses: Disable Windows Event Logging", "external_id": "T1562.002", "source_name": "ATTACK", "url": "https://attack.mitre.org/wiki/Technique/T1562/002" }, { "description": "Impair Defenses: Disable or Modify System Firewall", "external_id": "T1562.004", "source_name": "ATTACK", "url": "https://attack.mitre.org/wiki/Technique/T1562/004" }, { "description": "Impair Defenses: Disable or Modify Cloud Firewall", "external_id": "T1562.007", "source_name": "ATTACK", "url": "https://attack.mitre.org/wiki/Technique/T1562/007" }, { "description": "Impair Defenses: Disable Cloud Logs", "external_id": "T1562.008", "source_name": "ATTACK", "url": "https://attack.mitre.org/wiki/Technique/T1562/008" }, { "description": "Impair Defenses: Safe Mode Boot", "external_id": "T1562.009", "source_name": "ATTACK", "url": "https://attack.mitre.org/wiki/Technique/T1562/009" } ], "id": "attack-pattern--a2f42e82-a184-4df7-a8bb-6fc34787d571", "modified": "2023-01-24T00:00:00.000Z", "name": "Disable Security Software", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "attack-pattern", "x_capec_abstraction": "Standard", "x_capec_child_of_refs": [ "attack-pattern--f9f65fdd-5857-4a57-a725-066465397601" ], "x_capec_consequences": { "Availability": [ "Hide Activities (By disabling certain security tools, the adversary can hide malicious activity and avoid detection.)" ] }, "x_capec_domains": [ "Software" ], "x_capec_likelihood_of_attack": "Medium", "x_capec_prerequisites": [ "The adversary must have the capability to interact with the configuration of the targeted system." ], "x_capec_resources_required": [ "None: No specialized resources are required to execute this type of attack." ], "x_capec_status": "Usable", "x_capec_typical_severity": "Medium", "x_capec_version": "3.9" }, { "created": "2015-11-09T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "Ensure proper permissions are in place to prevent adversaries from altering the execution status of security tools.", "id": "course-of-action--be1b899d-d3f2-4d8f-807f-c8a13d7c193c", "modified": "2023-01-24T00:00:00.000Z", "name": "coa-578-0", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "course-of-action", "x_capec_version": "3.9" }, { "created": "2015-11-09T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--99491706-558f-487d-aa01-04a8b8b5a6f5", "modified": "2023-01-24T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--be1b899d-d3f2-4d8f-807f-c8a13d7c193c", "spec_version": "2.1", "target_ref": "attack-pattern--a2f42e82-a184-4df7-a8bb-6fc34787d571", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2015-11-09T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "Winlogon is a part of Windows that performs logon actions. In Windows systems prior to Windows Vista, a registry key can be modified that causes Winlogon to load a DLL on startup. Adversaries may take advantage of this feature to load adversarial code at startup.", "external_references": [ { "external_id": "CAPEC-579", "source_name": "capec", "url": "https://capec.mitre.org/data/definitions/579.html" }, { "external_id": "CWE-15", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/15.html" }, { "description": "Boot or Logon Autostart Execution: Winlogon helper DLL", "external_id": "T1547.004", "source_name": "ATTACK", "url": "https://attack.mitre.org/wiki/Technique/T1547/004" } ], "id": "attack-pattern--9927fda8-927b-4327-b3f8-bcbd0467c702", "modified": "2023-01-24T00:00:00.000Z", "name": "Replace Winlogon Helper DLL", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "attack-pattern", "x_capec_abstraction": "Detailed", "x_capec_child_of_refs": [ "attack-pattern--482cb9fc-0122-49f0-b6df-6d2d42098b0a" ], "x_capec_domains": [ "Software" ], "x_capec_status": "Draft", "x_capec_version": "3.9" }, { "created": "2015-11-09T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "Changes to registry entries in \"HKLM\\Software\\Microsoft\\Windows NT\\Winlogon\\Notify\" that do not correlate with known software, patch cycles, etc are suspicious. New DLLs written to System32 which do not correlate with known good software or patching may be suspicious.", "id": "course-of-action--06e89ede-e243-47b4-9f02-1fd206dd5a5b", "modified": "2023-01-24T00:00:00.000Z", "name": "coa-579-0", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "course-of-action", "x_capec_version": "3.9" }, { "created": "2015-11-09T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--3c9851cf-e6d2-463b-a389-c4c108572a95", "modified": "2023-01-24T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--06e89ede-e243-47b4-9f02-1fd206dd5a5b", "spec_version": "2.1", "target_ref": "attack-pattern--9927fda8-927b-4327-b3f8-bcbd0467c702", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "An adversary identifies a Rest HTTP (Get, Put, Delete) style permission method allowing them to perform various malicious actions upon server data due to lack of access control mechanisms implemented within the application service accepting HTTP messages.", "external_references": [ { "external_id": "CAPEC-58", "source_name": "capec", "url": "https://capec.mitre.org/data/definitions/58.html" }, { "external_id": "CWE-267", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/267.html" }, { "external_id": "CWE-269", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/269.html" }, { "description": "Mark O'Neill, Security for REST Web Services, Vprde;", "external_id": "REF-463", "source_name": "reference_from_CAPEC", "url": "http://www.vordel.com/downloads/rsa_conf_2006.pdf" } ], "id": "attack-pattern--74bac7d9-693d-40d2-82bf-eb132f13bcaf", "modified": "2022-09-29T00:00:00.000Z", "name": "Restful Privilege Elevation", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "attack-pattern", "x_capec_abstraction": "Detailed", "x_capec_child_of_refs": [ "attack-pattern--92cdcd3d-d734-4442-afc3-4599f261498b", "attack-pattern--aac17300-6cdd-4f50-82c3-da5a01d225ac" ], "x_capec_consequences": { "Access_Control": [ "Gain Privileges" ], "Authorization": [ "Gain Privileges" ], "Confidentiality": [ "Gain Privileges" ], "Integrity": [ "Modify Data" ] }, "x_capec_domains": [ "Software", "Hardware", "Software" ], "x_capec_example_instances": [ "The HTTP Get method is designed to retrieve resources and not to alter the state of the application or resources on the server side. However, developers can easily code programs that accept a HTTP Get request that do in fact create, update or delete data on the server. Both Flickr (http://www.flickr.com/services/api/flickr.photosets.delete.html) and del.icio.us (http://del.icio.us/api/posts/delete) have implemented delete operations using standard HTTP Get requests. These HTTP Get methods do delete data on the server side, despite being called from Get which is not supposed to alter state." ], "x_capec_extended_description": "\n Rest uses standard HTTP (Get, Put, Delete) style permissions methods, but these are not necessarily correlated generally with back end programs. Strict interpretation of HTTP get methods means that these HTTP Get services should not be used to delete information on the server, but there is no access control mechanism to back up this logic. This means that unless the services are properly ACL'd and the application's service implementation are following these guidelines then an HTTP request can easily execute a delete or update on the server side. The attacker identifies a HTTP Get URL such as http://victimsite/updateOrder, which calls out to a program to update orders on a database or other resource. The URL is not idempotent so the request can be submitted multiple times by the attacker, additionally, the attacker may be able to exploit the URL published as a Get method that actually performs updates (instead of merely retrieving data). This may result in malicious or inadvertent altering of data on the server.\n ", "x_capec_likelihood_of_attack": "High", "x_capec_prerequisites": [ "The attacker needs to be able to identify HTTP Get URLs. The Get methods must be set to call applications that perform operations other than get such as update and delete." ], "x_capec_skills_required": { "Low": "It is relatively straightforward to identify an HTTP Get method that changes state on the server side and executes against an over-privileged system interface" }, "x_capec_status": "Draft", "x_capec_typical_severity": "High", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--b8f217ad-8701-4a9c-9a22-a4c6022c4f51", "modified": "2022-09-29T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--a4112a44-a0f9-4bde-bebe-74ed96c4cd3f", "spec_version": "2.1", "target_ref": "attack-pattern--74bac7d9-693d-40d2-82bf-eb132f13bcaf", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "Implementation: Ensure that HTTP Get methods only retrieve state and do not alter state on the server side", "id": "course-of-action--b77def1e-db69-4204-b59f-c9ba934af034", "modified": "2022-09-29T00:00:00.000Z", "name": "coa-58-1", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "course-of-action", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--09b1f116-7e91-47fc-8238-758d20861790", "modified": "2022-09-29T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--b77def1e-db69-4204-b59f-c9ba934af034", "spec_version": "2.1", "target_ref": "attack-pattern--74bac7d9-693d-40d2-82bf-eb132f13bcaf", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "Implementation: Ensure that HTTP methods have proper ACLs based on what the functionality they expose", "id": "course-of-action--4f4d6165-fc50-42ef-9249-e1052676d841", "modified": "2022-09-29T00:00:00.000Z", "name": "coa-58-2", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "course-of-action", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--4a8f4717-a1fc-4334-8819-fadd7bafdf0f", "modified": "2022-09-29T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--4f4d6165-fc50-42ef-9249-e1052676d841", "spec_version": "2.1", "target_ref": "attack-pattern--74bac7d9-693d-40d2-82bf-eb132f13bcaf", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2015-11-09T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "An adversary engages in active probing and exploration activities to determine security information about a remote target system. Often times adversaries will rely on remote applications that can be probed for system configurations.", "external_references": [ { "external_id": "CAPEC-580", "source_name": "capec", "url": "https://capec.mitre.org/data/definitions/580.html" }, { "external_id": "CWE-204", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/204.html" }, { "external_id": "CWE-205", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/205.html" }, { "external_id": "CWE-208", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/208.html" }, { "description": "System Information Discovery", "external_id": "T1082", "source_name": "ATTACK", "url": "https://attack.mitre.org/wiki/Technique/T1082" } ], "id": "attack-pattern--22a65c6a-9498-4e7f-a03a-030ab1c907dc", "modified": "2023-01-24T00:00:00.000Z", "name": "System Footprinting", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "attack-pattern", "x_capec_abstraction": "Standard", "x_capec_child_of_refs": [ "attack-pattern--87b0d2df-b246-4bf9-aee8-4912e2fa1a30" ], "x_capec_consequences": { "Confidentiality": [ "Read Data" ] }, "x_capec_domains": [ "Software" ], "x_capec_likelihood_of_attack": "Low", "x_capec_parent_of_refs": [ "attack-pattern--c95fac2f-4305-4235-9228-a0551ec75c70", "attack-pattern--94208f8a-f779-4be5-a97b-d9ab781a3f5e" ], "x_capec_prerequisites": [ "The adversary must have logical access to the target network and system." ], "x_capec_skills_required": { "Low": "The adversary needs to know basic linux commands." }, "x_capec_status": "Stable", "x_capec_typical_severity": "Low", "x_capec_version": "3.9" }, { "created": "2015-11-09T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--5ec163f5-ff75-4e9d-ac8d-0bd09b3e9121", "modified": "2023-01-24T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--a7d31992-837d-4b43-91fb-5fd7cffc161b", "spec_version": "2.1", "target_ref": "attack-pattern--22a65c6a-9498-4e7f-a03a-030ab1c907dc", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2015-11-09T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--8b970172-c7e3-45aa-a1de-1362a7f5756c", "modified": "2023-01-24T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--a2404315-1d87-4e47-a8e4-c6b2cfe457d8", "spec_version": "2.1", "target_ref": "attack-pattern--22a65c6a-9498-4e7f-a03a-030ab1c907dc", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2015-11-09T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "Adversaries may attempt to get a listing of security tools that are installed on the system and their configurations. This may include security related system features (such as a built-in firewall or anti-spyware) as well as third-party security software.", "external_references": [ { "external_id": "CAPEC-581", "source_name": "capec", "url": "https://capec.mitre.org/data/definitions/581.html" }, { "description": "Software Discovery:Security Software Discovery", "external_id": "T1518.001", "source_name": "ATTACK", "url": "https://attack.mitre.org/wiki/Technique/T1518/001" } ], "id": "attack-pattern--c95fac2f-4305-4235-9228-a0551ec75c70", "modified": "2020-07-30T00:00:00.000Z", "name": "Security Software Footprinting", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "attack-pattern", "x_capec_abstraction": "Detailed", "x_capec_child_of_refs": [ "attack-pattern--22a65c6a-9498-4e7f-a03a-030ab1c907dc" ], "x_capec_domains": [ "Software" ], "x_capec_status": "Draft", "x_capec_version": "3.9" }, { "created": "2015-11-09T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "Identify programs that may be used to acquire security tool information and block them by using a software restriction policy or tools that restrict program execution by using a process allowlist.", "id": "course-of-action--5e2e2530-ac1b-4b0a-8889-a7058a982190", "modified": "2020-07-30T00:00:00.000Z", "name": "coa-581-0", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "course-of-action", "x_capec_version": "3.9" }, { "created": "2015-11-09T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--679fbac3-8799-4a09-948f-0d9e83b3765f", "modified": "2020-07-30T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--5e2e2530-ac1b-4b0a-8889-a7058a982190", "spec_version": "2.1", "target_ref": "attack-pattern--c95fac2f-4305-4235-9228-a0551ec75c70", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2017-02-14T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "An adversary disables the network route between two targets. The goal is to completely sever the communications channel between two entities. This is often the result of a major error or the use of an \"Internet kill switch\" by those in control of critical infrastructure. This attack pattern differs from most other obstruction patterns by targeting the route itself, as opposed to the data passed over the route.", "external_references": [ { "external_id": "CAPEC-582", "source_name": "capec", "url": "https://capec.mitre.org/data/definitions/582.html" } ], "id": "attack-pattern--795c323b-cae6-4846-99f1-dad3fe0ab8e8", "modified": "2019-09-30T00:00:00.000Z", "name": "Route Disabling", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "attack-pattern", "x_capec_abstraction": "Standard", "x_capec_child_of_refs": [ "attack-pattern--576968ad-12ef-46d8-bb10-63f496bcaccb" ], "x_capec_consequences": { "Availability": [ "Other (Disabling a network route denies the availability of a service.)" ] }, "x_capec_domains": [ "Social Engineering", "Communications", "Software", "Hardware" ], "x_capec_likelihood_of_attack": "Low", "x_capec_parent_of_refs": [ "attack-pattern--0a765348-6b5a-4797-9724-44b4fc4f9c55", "attack-pattern--eb0ebb0b-d4e1-4480-87a8-043d6f93c972", "attack-pattern--3cedbb3a-e97f-4bc7-ac36-2c1f0c360d08" ], "x_capec_prerequisites": [ "The adversary requires knowledge of and access to network route." ], "x_capec_status": "Draft", "x_capec_typical_severity": "High", "x_capec_version": "3.9" }, { "created": "2017-01-12T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "In this attack pattern, an adversary physically disables networking hardware by powering it down or disconnecting critical equipment. Disabling or shutting off critical system resources prevents them from performing their service as intended, which can have direct and indirect consequences on other systems. This attack pattern is considerably less technical than the selective blocking used in most obstruction attacks.", "external_references": [ { "external_id": "CAPEC-583", "source_name": "capec", "url": "https://capec.mitre.org/data/definitions/583.html" }, { "description": "Analysis of Country-wide Internet Outages Caused by Censorship, 2011, Center for Applied Internet Data Analysis", "external_id": "REF-464", "source_name": "reference_from_CAPEC", "url": "http://www.caida.org/publications/papers/2011/outages_censorship/outages_censorship.pdf" } ], "id": "attack-pattern--0a765348-6b5a-4797-9724-44b4fc4f9c55", "modified": "2019-09-30T00:00:00.000Z", "name": "Disabling Network Hardware", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "attack-pattern", "x_capec_abstraction": "Detailed", "x_capec_child_of_refs": [ "attack-pattern--795c323b-cae6-4846-99f1-dad3fe0ab8e8" ], "x_capec_consequences": { "Availability": [ "Other (Denial of Service)" ] }, "x_capec_domains": [ "Hardware" ], "x_capec_prerequisites": [ "The adversary requires physical access to the targeted communications equipment (networking devices, cables, etc.), which may be spread over a wide area." ], "x_capec_status": "Draft", "x_capec_version": "3.9" }, { "created": "2017-01-12T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "Ensure rigorous physical defensive measures to keep the adversary from accessing critical systems..", "id": "course-of-action--f175c018-1dfe-4c0d-bec0-f5b9afb1d6a7", "modified": "2019-09-30T00:00:00.000Z", "name": "coa-583-0", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "course-of-action", "x_capec_version": "3.9" }, { "created": "2017-01-12T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--52c0fc53-41a5-4784-b605-f2404b5643c9", "modified": "2019-09-30T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--f175c018-1dfe-4c0d-bec0-f5b9afb1d6a7", "spec_version": "2.1", "target_ref": "attack-pattern--0a765348-6b5a-4797-9724-44b4fc4f9c55", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2017-01-12T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "An adversary suppresses the Border Gateway Protocol (BGP) advertisement for a route so as to render the underlying network inaccessible. The BGP protocol helps traffic move throughout the Internet by selecting the most efficient route between Autonomous Systems (AS), or routing domains. BGP is the basis for interdomain routing infrastructure, providing connections between these ASs. By suppressing the intended AS routing advertisements and/or forcing less effective routes for traffic to ASs, the adversary can deny availability for the target network.", "external_references": [ { "external_id": "CAPEC-584", "source_name": "capec", "url": "https://capec.mitre.org/data/definitions/584.html" }, { "description": "Why is it Taking so Long to Secure Internet Routing?, 2014, ACM", "external_id": "REF-465", "source_name": "reference_from_CAPEC", "url": "https://queue.acm.org/detail.cfm?id=2668966" }, { "description": "Beware of BGP Attacks, 2004, ACM SIGCOMM", "external_id": "REF-466", "source_name": "reference_from_CAPEC", "url": "http://www.cc.gatech.edu/~dovrolis/Papers/ccr-bgp.pdf" } ], "id": "attack-pattern--eb0ebb0b-d4e1-4480-87a8-043d6f93c972", "modified": "2020-12-17T00:00:00.000Z", "name": "BGP Route Disabling", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "attack-pattern", "x_capec_abstraction": "Detailed", "x_capec_child_of_refs": [ "attack-pattern--795c323b-cae6-4846-99f1-dad3fe0ab8e8" ], "x_capec_consequences": { "Availability": [ "Other (Disabling a network route at the routing infrastructure level denies availability of that route.)" ] }, "x_capec_domains": [ "Communications", "Software" ], "x_capec_example_instances": [ "Blackholing: The adversary intentionally references false routing advertisements in order to attract traffic to a particular router so it can be dropped." ], "x_capec_prerequisites": [ "The adversary must have control of a router that can modify, drop, or introduce spoofed BGP updates.The adversary can convince" ], "x_capec_resources_required": [ "BGP Router" ], "x_capec_status": "Draft", "x_capec_version": "3.9" }, { "created": "2017-01-12T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "Implement Ingress filters to check the validity of received routes. However, this relies on the accuracy of Internet Routing Registries (IRRs) databases which are often not well-maintained.", "id": "course-of-action--32e9cc12-1ed9-4725-9fd2-d09ced47db65", "modified": "2020-12-17T00:00:00.000Z", "name": "coa-584-0", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "course-of-action", "x_capec_version": "3.9" }, { "created": "2017-01-12T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--76b92e8e-8863-490a-a6e4-c241e602b86e", "modified": "2020-12-17T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--32e9cc12-1ed9-4725-9fd2-d09ced47db65", "spec_version": "2.1", "target_ref": "attack-pattern--eb0ebb0b-d4e1-4480-87a8-043d6f93c972", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2017-01-12T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "Implement Secure BGP (S-BGP protocol), which improves authorization and authentication capabilities based on public-key cryptography.", "id": "course-of-action--1c733d77-23ad-4455-b854-996ea0d64125", "modified": "2020-12-17T00:00:00.000Z", "name": "coa-584-1", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "course-of-action", "x_capec_version": "3.9" }, { "created": "2017-01-12T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--cbf5fc63-f216-4101-9b1b-a09e8272547c", "modified": "2020-12-17T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--1c733d77-23ad-4455-b854-996ea0d64125", "spec_version": "2.1", "target_ref": "attack-pattern--eb0ebb0b-d4e1-4480-87a8-043d6f93c972", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2017-01-12T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "In this attack pattern, an adversary influences a target's web-hosting company to disable a target domain. The goal is to prevent access to the targeted service provided by that domain. It usually occurs as the result of civil or criminal legal interventions.", "external_references": [ { "external_id": "CAPEC-585", "source_name": "capec", "url": "https://capec.mitre.org/data/definitions/585.html" }, { "description": "Dozens of Online 'Dark Markets' Seized Pursuant to Forfeiture Complaint Filed in Manhattan Federal Court in Conjunction with the Arrest of the Operator of Silk Road 2.0, 2014, FBI", "external_id": "REF-467", "source_name": "reference_from_CAPEC", "url": "https://www.fbi.gov/contact-us/field-offices/newyork/news/press-releases/dozens-of-online-dark-markets-seized-pursuant-to-forfeiture-complaint-filed-in-manhattan-federal-court-in-conjunction-with-the-arrest-of-the-operator-of-silk-road-2.0" } ], "id": "attack-pattern--3cedbb3a-e97f-4bc7-ac36-2c1f0c360d08", "modified": "2023-01-24T00:00:00.000Z", "name": "DNS Domain Seizure", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "attack-pattern", "x_capec_abstraction": "Detailed", "x_capec_child_of_refs": [ "attack-pattern--795c323b-cae6-4846-99f1-dad3fe0ab8e8" ], "x_capec_consequences": { "Availability": [ "Other (Disabling a target domain at the infrastructure level denies the availability of its service to the user.)" ] }, "x_capec_domains": [ "Social Engineering" ], "x_capec_example_instances": [ "The FBI's seizure of gambling websites, the US DOJ's seizure of child pornography websites, and Microsoft's seizure of all domains owned by the company No-IP in order to disrupt a cyberattack originating from a subset of those domains." ], "x_capec_prerequisites": [ "This attack pattern requires that the adversary has cooperation from the registrar of the target domain." ], "x_capec_status": "Draft", "x_capec_version": "3.9" }, { "created": "2017-02-06T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "An adversary attempts to exploit an application by injecting additional, malicious content during its processing of serialized objects. Developers leverage serialization in order to convert data or state into a static, binary format for saving to disk or transferring over a network. These objects are then deserialized when needed to recover the data/state. By injecting a malformed object into a vulnerable application, an adversary can potentially compromise the application by manipulating the deserialization process. This can result in a number of unwanted outcomes, including remote code execution.", "external_references": [ { "external_id": "CAPEC-586", "source_name": "capec", "url": "https://capec.mitre.org/data/definitions/586.html" }, { "external_id": "CWE-502", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/502.html" }, { "description": "Deserialization of Untrusted Data, 2017--01, OWASP", "external_id": "REF-468", "source_name": "reference_from_CAPEC" } ], "id": "attack-pattern--5e767629-8d94-46f3-a277-741d163bff95", "modified": "2020-12-17T00:00:00.000Z", "name": "Object Injection", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "attack-pattern", "x_capec_abstraction": "Meta", "x_capec_consequences": { "Authorization": [ "Execute Unauthorized Commands (Functions that assume information in the deserialized object is valid could be exploited.)" ], "Availability": [ "Resource Consumption (If a function is making an assumption on when to terminate, based on a sentry in a string, it could easily never terminate and exhaust available resources.)" ], "Integrity": [ "Modify Data (Attackers can modify objects or data that was assumed to be safe from modification.)" ] }, "x_capec_domains": [ "Software" ], "x_capec_likelihood_of_attack": "Medium", "x_capec_prerequisites": [ "The target application must unserialize data before validation." ], "x_capec_status": "Draft", "x_capec_typical_severity": "High", "x_capec_version": "3.9" }, { "created": "2017-02-06T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "\n Implementation: Validate object before deserialization process\n ", "id": "course-of-action--d3dc78e4-1172-4e81-87c5-6634276605ca", "modified": "2020-12-17T00:00:00.000Z", "name": "coa-586-0", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "course-of-action", "x_capec_version": "3.9" }, { "created": "2017-02-06T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--50611ddc-8881-4263-bab2-125e6dffc2dd", "modified": "2020-12-17T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--d3dc78e4-1172-4e81-87c5-6634276605ca", "spec_version": "2.1", "target_ref": "attack-pattern--5e767629-8d94-46f3-a277-741d163bff95", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2017-02-06T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "\n Design: Limit which types can be deserialized.\n ", "id": "course-of-action--e63f8da1-f215-492e-82d4-08bf836643b5", "modified": "2020-12-17T00:00:00.000Z", "name": "coa-586-1", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "course-of-action", "x_capec_version": "3.9" }, { "created": "2017-02-06T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--2c5e70b1-a550-4e28-b4d8-d9530d4fab32", "modified": "2020-12-17T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--e63f8da1-f215-492e-82d4-08bf836643b5", "spec_version": "2.1", "target_ref": "attack-pattern--5e767629-8d94-46f3-a277-741d163bff95", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2017-02-06T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "\n Implementation: Avoid having unnecessary types or gadgets available that can be leveraged for malicious ends. Use an allowlist of acceptable classes.\n ", "id": "course-of-action--fe359dd0-2a15-4f6c-8fcf-6a073cf2d158", "modified": "2020-12-17T00:00:00.000Z", "name": "coa-586-2", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "course-of-action", "x_capec_version": "3.9" }, { "created": "2017-02-06T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--be57abfe-85d5-4551-999f-0b9a7599d222", "modified": "2020-12-17T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--fe359dd0-2a15-4f6c-8fcf-6a073cf2d158", "spec_version": "2.1", "target_ref": "attack-pattern--5e767629-8d94-46f3-a277-741d163bff95", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2017-02-06T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "\n Implementation: Keep session state on the server, when possible.\n ", "id": "course-of-action--acbc51fe-6e63-467b-9f6c-4251ff581eee", "modified": "2020-12-17T00:00:00.000Z", "name": "coa-586-3", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "course-of-action", "x_capec_version": "3.9" }, { "created": "2017-02-06T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--e21732f4-8d62-489d-a0d9-028bc964377b", "modified": "2020-12-17T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--acbc51fe-6e63-467b-9f6c-4251ff581eee", "spec_version": "2.1", "target_ref": "attack-pattern--5e767629-8d94-46f3-a277-741d163bff95", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2017-02-01T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "This attack pattern combines malicious Javascript and a legitimate webpage loaded into a concealed iframe. The malicious Javascript is then able to interact with a legitimate webpage in a manner that is unknown to the user. This attack usually leverages some element of social engineering in that an attacker must convinces a user to visit a web page that the attacker controls.", "external_references": [ { "external_id": "CAPEC-587", "source_name": "capec", "url": "https://capec.mitre.org/data/definitions/587.html" }, { "external_id": "CWE-1021", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/1021.html" }, { "description": "Cross Frame Scripting", "source_name": "OWASP Attacks", "url": "https://owasp.org/www-community/attacks/Cross_Frame_Scripting" }, { "description": "Cross Frame Scripting, 2016, OWASP", "external_id": "REF-469", "source_name": "reference_from_CAPEC", "url": "https://www.owasp.org/index.php/Cross_Frame_Scripting" }, { "description": "Gustave Rydstedt, Elie Bursztein, Dan Boneh, and Collin Jackson, Busting Frame Busting: a Study of Clickjacking Vulnerabilities on Popular Sites, 2010--07---20", "external_id": "REF-470", "source_name": "reference_from_CAPEC", "url": "https://seclab.stanford.edu/websec/framebusting/framebust.pdf" } ], "id": "attack-pattern--0184fd4d-9134-42c0-b073-5e614773d408", "modified": "2023-01-24T00:00:00.000Z", "name": "Cross Frame Scripting (XFS)", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "attack-pattern", "x_capec_abstraction": "Detailed", "x_capec_child_of_refs": [ "attack-pattern--ec41b2b3-a3b6-4af0-be65-69e82907dfef" ], "x_capec_consequences": { "Confidentiality": [ "Read Data (Cross Frame Scripting allows an adversary to steal sensitive data from a legitimate site.)" ] }, "x_capec_domains": [ "Social Engineering", "Software" ], "x_capec_example_instances": [ "An adversary-controlled webpage contains malicious Javascript and a concealed iframe containing a legitimate website login (i.e., the concealed iframe would make it appear as though the actual legitimate website was loaded). When the user interacts with the legitimate website in the iframe, the malicious Javascript collects that sensitive information." ], "x_capec_prerequisites": [ "The user's browser must have vulnerabilities in its implementation of the same-origin policy. It allows certain data in a loaded page to originate from different servers/domains." ], "x_capec_status": "Draft", "x_capec_typical_severity": "High", "x_capec_version": "3.9" }, { "created": "2017-02-01T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "Avoid clicking on untrusted links.", "id": "course-of-action--56d38673-9752-418f-9de4-189f1a3b3e9e", "modified": "2023-01-24T00:00:00.000Z", "name": "coa-587-0", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "course-of-action", "x_capec_version": "3.9" }, { "created": "2017-02-01T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--d3562cf5-2484-4ed5-97e3-8da8f0bf5ea7", "modified": "2023-01-24T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--56d38673-9752-418f-9de4-189f1a3b3e9e", "spec_version": "2.1", "target_ref": "attack-pattern--0184fd4d-9134-42c0-b073-5e614773d408", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2017-02-01T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "Employ techniques such as frame busting, which is a method by which developers aim to prevent their site being loaded within a frame.", "id": "course-of-action--8ce90bd8-35f9-463c-80c0-9649c43ca63b", "modified": "2023-01-24T00:00:00.000Z", "name": "coa-587-1", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "course-of-action", "x_capec_version": "3.9" }, { "created": "2017-02-01T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--de5b8ee3-b664-4dc0-8e2e-e49c5c3df549", "modified": "2023-01-24T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--8ce90bd8-35f9-463c-80c0-9649c43ca63b", "spec_version": "2.1", "target_ref": "attack-pattern--0184fd4d-9134-42c0-b073-5e614773d408", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2017-04-15T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "This type of attack is a form of Cross-Site Scripting (XSS) where a malicious script is inserted into the client-side HTML being parsed by a web browser. Content served by a vulnerable web application includes script code used to manipulate the Document Object Model (DOM). This script code either does not properly validate input, or does not perform proper output encoding, thus creating an opportunity for an adversary to inject a malicious script launch a XSS attack. A key distinction between other XSS attacks and DOM-based attacks is that in other XSS attacks, the malicious script runs when the vulnerable web page is initially loaded, while a DOM-based attack executes sometime after the page loads. Another distinction of DOM-based attacks is that in some cases, the malicious script is never sent to the vulnerable web server at all. An attack like this is guaranteed to bypass any server-side filtering attempts to protect users.", "external_references": [ { "external_id": "CAPEC-588", "source_name": "capec", "url": "https://capec.mitre.org/data/definitions/588.html" }, { "external_id": "CWE-79", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/79.html" }, { "external_id": "CWE-20", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/20.html" }, { "external_id": "CWE-83", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/83.html" }, { "description": "Reflected DOM Injection", "source_name": "OWASP Attacks", "url": "https://owasp.org/www-community/attacks/Reflected_DOM_Injection" }, { "description": "Amit Klein, DOM Based Cross Site Scripting or XSS of the Third Kind", "external_id": "REF-471", "source_name": "reference_from_CAPEC", "url": "http://www.webappsec.org/projects/articles/071105.shtml" }, { "description": "Jakob Kallin, Irene Lobo Valbuena, A comprehensive tutorial on cross-site scripting", "external_id": "REF-472", "source_name": "reference_from_CAPEC", "url": "https://excess-xss.com/" }, { "description": "OWASP Web Security Testing Guide, The Open Web Application Security Project (OWASP)", "external_id": "REF-618", "source_name": "reference_from_CAPEC", "url": "https://owasp.org/www-project-web-security-testing-guide/latest/4-Web_Application_Security_Testing/11-Client-side_Testing/01-Testing_for_DOM-based_Cross_Site_Scripting.html" } ], "id": "attack-pattern--b1eef783-daae-494c-a418-cd9ada7cbe8b", "modified": "2022-09-29T00:00:00.000Z", "name": "DOM-Based XSS", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "attack-pattern", "x_capec_abstraction": "Detailed", "x_capec_child_of_refs": [ "attack-pattern--70b83583-ffe3-4e6d-b4a6-61a9b9efc346" ], "x_capec_consequences": { "Access_Control": [ "Gain Privileges (A successful DOM-based XSS attack can enable an adversary to elevate their privilege level and access functionality they should not otherwise be allowed to access.)" ], "Authorization": [ "Gain Privileges (A successful DOM-based XSS attack can enable an adversary to elevate their privilege level and access functionality they should not otherwise be allowed to access.)" ], "Availability": [ "Execute Unauthorized Commands (A successful DOM-based XSS attack can enable an adversary run arbitrary code of their choosing, thus enabling a complete compromise of the application.)" ], "Confidentiality": [ "Read Data (A successful DOM-based XSS attack can enable an adversary to exfiltrate sensitive information from the application.)", "Gain Privileges (A successful DOM-based XSS attack can enable an adversary to elevate their privilege level and access functionality they should not otherwise be allowed to access.)", "Execute Unauthorized Commands (A successful DOM-based XSS attack can enable an adversary run arbitrary code of their choosing, thus enabling a complete compromise of the application.)" ], "Integrity": [ "Execute Unauthorized Commands (A successful DOM-based XSS attack can enable an adversary run arbitrary code of their choosing, thus enabling a complete compromise of the application.)", "Modify Data (A successful DOM-based XSS attack can allow an adversary to tamper with application data.)" ] }, "x_capec_domains": [ "Software" ], "x_capec_example_instances": [ "\n Consider a web application that enables or disables some of the fields of a form on the page via the use of a mode parameter provided on the query string.\n http://my.site.com/aform.html?mode=full\n The application’s client-side code may want to print this mode value to the screen to give the users an understanding of what mode they are in. In this example, JavaScript is used to pull the value from the URL and update the HTML by dynamically manipulating the DOM via a document.write() call.\n \n Notice how the value provided on the URL is used directly with no input validation performed and no output encoding in place. A maliciously crafted URL can thus be formed such that if a victim clicked on the URL, a malicious script would then be executed by the victim’s browser:\n http://my.site.com/aform.html?mode=\n ", "\n In some DOM-based attacks, the malicious script never gets sent to the web server at all, thus bypassing any server-side protections that might be in place. Consider the previously used web application that displays the mode value. Since the HTML is being generated dynamically through DOM manipulations, a URL fragment (i.e., the part of a URL after the '#' character) can be used.\n http://my.site.com/aform.html#mode=\n In this variation of a DOM-based XSS attack, the malicious script will not be sent to the web server, but will instead be managed by the victim's browser and is still available to the client-side script code.\n " ], "x_capec_execution_flow": "

Execution Flow

Explore

  1. Survey the application for user-controllable inputs: Using a browser or an automated tool, an adversary follows all public links and actions on a web site. They record all the links, the forms, the resources accessed and all other potential entry-points for the web application.

  2. Techniques
    Use a spidering tool to follow and record all links and analyze the web pages to find entry points. Make special note of any links that include parameters in the URL.
    Use a proxy tool to record all links visited during a manual traversal of the web application.
    Use a browser to manually explore the website and analyze how it is constructed. Many browsers' plugins are available to facilitate the analysis or automate the discovery.

Experiment

  1. Probe identified potential entry points for DOM-based XSS vulnerability: The adversary uses the entry points gathered in the \"Explore\" phase as a target list and injects various common script payloads and special characters to determine if an entry point actually represents a vulnerability and to characterize the extent to which the vulnerability can be exploited. Specific to DOM-based XSS, the adversary is looking for areas where input is being used to directly change the DOM.

  2. Techniques
    Use a list of XSS probe strings to inject script in parameters of known URLs. If possible, the probe strings contain a unique identifier.
    Use a proxy tool to record results of manual input of XSS probes in known URLs.
    Use a list of HTML special characters to inject into parameters of known URLs and check if they were properly encoded, replaced, or filtered out.
  3. Craft malicious XSS URL: Once the adversary has determined which parameters are vulnerable to XSS, they will craft a malicious URL containing the XSS exploit. The adversary can have many goals, from stealing session IDs, cookies, credentials, and page content from the victim. In DOM-based XSS, the malicious script might not even be sent to the server, since the victim's browser will manipulate the DOM itself. This can help avoid serve-side detection mechanisms.

  4. Techniques
    Change a URL parameter to include a malicious script tag.
    Add a URL fragment to alter the value of the expected Document object URL.
    Send information gathered from the malicious script to a remote endpoint.

Exploit

  1. Get victim to click URL: In order for the attack to be successful, the victim needs to access the malicious URL.

  2. Techniques
    Send a phishing email to the victim containing the malicious URL. This can be hidden in a hyperlink as to not show the full URL, which might draw suspicion.
    Put the malicious URL on a public forum, where many victims might accidentally click the link.
", "x_capec_likelihood_of_attack": "High", "x_capec_parent_of_refs": [ "attack-pattern--89697649-1004-4130-a9dd-72182e4c6206", "attack-pattern--0e2bf24b-2931-45aa-a0e9-22eccfb310b2", "attack-pattern--b703f007-6e24-4365-b5f7-c5d249253b33", "attack-pattern--eade303a-1d70-4095-96da-5cf1d9f4333f", "attack-pattern--c77ec906-0371-482e-8b14-a4a41b6b5b74", "attack-pattern--66b042e0-f88f-4aa5-9d87-1e71a4b3dcd8", "attack-pattern--52b5f7dc-228b-44d5-865a-e4595b227ba2", "attack-pattern--28aff255-abc8-4392-872c-61f78d4fe55b", "attack-pattern--39322012-07ba-4bfc-bac7-10891614ee3e" ], "x_capec_prerequisites": [ "An application that leverages a client-side web browser with scripting enabled.", "An application that manipulates the DOM via client-side scripting.", "An application that failS to adequately sanitize or encode untrusted input." ], "x_capec_resources_required": [ "None: No specialized resources are required to execute this type of attack." ], "x_capec_skills_required": { "Medium": "Requires the ability to write scripts of some complexity and to inject it through user controlled fields in the system." }, "x_capec_status": "Stable", "x_capec_typical_severity": "Very High", "x_capec_version": "3.9" }, { "created": "2017-04-15T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "Use browser technologies that do not allow client-side scripting.", "id": "course-of-action--7dc1cd16-6e36-4b01-bee9-f089fc544d5a", "modified": "2022-09-29T00:00:00.000Z", "name": "coa-588-0", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "course-of-action", "x_capec_version": "3.9" }, { "created": "2017-04-15T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--279f0698-c251-4497-8cf6-8dd35638757e", "modified": "2022-09-29T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--7dc1cd16-6e36-4b01-bee9-f089fc544d5a", "spec_version": "2.1", "target_ref": "attack-pattern--b1eef783-daae-494c-a418-cd9ada7cbe8b", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2017-04-15T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "Utilize proper character encoding for all output produced within client-site scripts manipulating the DOM.", "id": "course-of-action--581c316a-7f9b-45f5-bb4d-b096f6162dab", "modified": "2022-09-29T00:00:00.000Z", "name": "coa-588-1", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "course-of-action", "x_capec_version": "3.9" }, { "created": "2017-04-15T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--c6f81714-a1aa-46d0-ad1e-fdbfa6e5814e", "modified": "2022-09-29T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--581c316a-7f9b-45f5-bb4d-b096f6162dab", "spec_version": "2.1", "target_ref": "attack-pattern--b1eef783-daae-494c-a418-cd9ada7cbe8b", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2017-04-15T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "Ensure that all user-supplied input is validated before use.", "id": "course-of-action--2e2e8032-4e25-4013-b914-eb89f14df01f", "modified": "2022-09-29T00:00:00.000Z", "name": "coa-588-2", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "course-of-action", "x_capec_version": "3.9" }, { "created": "2017-04-15T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--19dedc30-dbcc-4fd6-bad2-bade72cef5d9", "modified": "2022-09-29T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--2e2e8032-4e25-4013-b914-eb89f14df01f", "spec_version": "2.1", "target_ref": "attack-pattern--b1eef783-daae-494c-a418-cd9ada7cbe8b", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2017-01-12T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "An adversary intercepts traffic and intentionally drops DNS requests based on content in the request. In this way, the adversary can deny the availability of specific services or content to the user even if the IP address is changed.", "external_references": [ { "external_id": "CAPEC-589", "source_name": "capec", "url": "https://capec.mitre.org/data/definitions/589.html" }, { "external_id": "CWE-300", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/300.html" }, { "description": "Censorship in the Wild: Analyzing Internet Filtering in Syria, 2014, Sigcomm", "external_id": "REF-473", "source_name": "reference_from_CAPEC", "url": "http://conferences2.sigcomm.org/imc/2014/papers/p285.pdf" } ], "id": "attack-pattern--5a002211-15f2-487f-8a5d-b09150ac1138", "modified": "2020-12-17T00:00:00.000Z", "name": "DNS Blocking", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "attack-pattern", "x_capec_abstraction": "Detailed", "x_capec_child_of_refs": [ "attack-pattern--ec0de204-6b66-4c4f-a401-21afa72f3941" ], "x_capec_consequences": { "Availability": [ "Other (Preventing DNS from resolving a request denies the availability of a target site or service for the user.)" ] }, "x_capec_domains": [ "Communications", "Software" ], "x_capec_example_instances": [ "\n Full URL Based Filtering: Filtering based upon the requested URL.\n URL String-based Filtering: Filtering based upon the use of particular strings included in the requested URL.\n " ], "x_capec_prerequisites": [ "This attack requires the ability to conduct deep packet inspection with an In-Path device that can drop the targeted traffic and/or connection." ], "x_capec_status": "Draft", "x_capec_version": "3.9" }, { "created": "2017-01-12T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "Hard Coded Alternate DNS server in applications", "id": "course-of-action--fb9140e4-e1c4-4b8c-9b1b-f14f81b478f8", "modified": "2020-12-17T00:00:00.000Z", "name": "coa-589-0", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "course-of-action", "x_capec_version": "3.9" }, { "created": "2017-01-12T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--428bf1f5-901f-40d8-aeb9-ab5da829f74e", "modified": "2020-12-17T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--fb9140e4-e1c4-4b8c-9b1b-f14f81b478f8", "spec_version": "2.1", "target_ref": "attack-pattern--5a002211-15f2-487f-8a5d-b09150ac1138", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2017-01-12T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "Avoid dependence on DNS", "id": "course-of-action--7e0432d6-34d5-4694-a138-b9561cac5a25", "modified": "2020-12-17T00:00:00.000Z", "name": "coa-589-1", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "course-of-action", "x_capec_version": "3.9" }, { "created": "2017-01-12T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--2679eb47-74ab-4dab-8fa0-80041226d78e", "modified": "2020-12-17T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--7e0432d6-34d5-4694-a138-b9561cac5a25", "spec_version": "2.1", "target_ref": "attack-pattern--5a002211-15f2-487f-8a5d-b09150ac1138", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2017-01-12T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "Include \"hosts file\"/IP address in the application.", "id": "course-of-action--e4470b31-8c3a-47da-a2b2-1fdf946e88f1", "modified": "2020-12-17T00:00:00.000Z", "name": "coa-589-2", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "course-of-action", "x_capec_version": "3.9" }, { "created": "2017-01-12T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--0f64c49e-d265-4f33-afbc-5434b791104b", "modified": "2020-12-17T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--e4470b31-8c3a-47da-a2b2-1fdf946e88f1", "spec_version": "2.1", "target_ref": "attack-pattern--5a002211-15f2-487f-8a5d-b09150ac1138", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2017-01-12T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "Ensure best practices with respect to communications channel protections.", "id": "course-of-action--278ea0bd-2f3e-44e3-8398-566da0f8b0a1", "modified": "2020-12-17T00:00:00.000Z", "name": "coa-589-3", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "course-of-action", "x_capec_version": "3.9" }, { "created": "2017-01-12T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--59fe24de-1db9-45eb-8e29-7ca9bc4049d1", "modified": "2020-12-17T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--278ea0bd-2f3e-44e3-8398-566da0f8b0a1", "spec_version": "2.1", "target_ref": "attack-pattern--5a002211-15f2-487f-8a5d-b09150ac1138", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2017-01-12T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "Use a .onion domain with Tor support", "id": "course-of-action--8fb9876b-b0f0-4204-b8dc-c89ee967c2c8", "modified": "2020-12-17T00:00:00.000Z", "name": "coa-589-4", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "course-of-action", "x_capec_version": "3.9" }, { "created": "2017-01-12T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--43839acc-f71a-4622-9a26-8bf9926bbfc4", "modified": "2020-12-17T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--8fb9876b-b0f0-4204-b8dc-c89ee967c2c8", "spec_version": "2.1", "target_ref": "attack-pattern--5a002211-15f2-487f-8a5d-b09150ac1138", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "This attack targets predictable session ID in order to gain privileges. The attacker can predict the session ID used during a transaction to perform spoofing and session hijacking.", "external_references": [ { "external_id": "CAPEC-59", "source_name": "capec", "url": "https://capec.mitre.org/data/definitions/59.html" }, { "external_id": "CWE-290", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/290.html" }, { "external_id": "CWE-330", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/330.html" }, { "external_id": "CWE-331", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/331.html" }, { "external_id": "CWE-346", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/346.html" }, { "external_id": "CWE-488", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/488.html" }, { "external_id": "CWE-539", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/539.html" }, { "external_id": "CWE-200", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/200.html" }, { "external_id": "CWE-6", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/6.html" }, { "external_id": "CWE-285", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/285.html" }, { "external_id": "CWE-384", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/384.html" }, { "external_id": "CWE-693", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/693.html" }, { "description": "Credential/Session Prediction", "external_id": "18", "source_name": "WASC", "url": "http://projects.webappsec.org/Credential/Session-Prediction" }, { "description": "Session Prediction", "source_name": "OWASP Attacks", "url": "https://owasp.org/www-community/attacks/Session_Prediction" }, { "description": "G. Hoglund, G. McGraw, Exploiting Software: How to Break Code, 2004--02, Addison-Wesley", "external_id": "REF-1", "source_name": "reference_from_CAPEC" } ], "id": "attack-pattern--7ee89c1f-50a5-42e6-abdb-6d8ba0349810", "modified": "2021-06-24T00:00:00.000Z", "name": "Session Credential Falsification through Prediction", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "attack-pattern", "x_capec_abstraction": "Detailed", "x_capec_child_of_refs": [ "attack-pattern--414d0884-4f46-4a51-b4ea-72125c7f5f9e" ], "x_capec_consequences": { "Access_Control": [ "Gain Privileges" ], "Authorization": [ "Gain Privileges" ], "Confidentiality": [ "Gain Privileges" ] }, "x_capec_domains": [ "Software" ], "x_capec_example_instances": [ "Jetty before 4.2.27, 5.1 before 5.1.12, 6.0 before 6.0.2, and 6.1 before 6.1.0pre3 generates predictable session identifiers using java.util.random, which makes it easier for remote attackers to guess a session identifier through brute force attacks, bypass authentication requirements, and possibly conduct cross-site request forgery attacks. See also: CVE-2006-6969", "mod_usertrack in Apache 1.3.11 through 1.3.20 generates session ID's using predictable information including host IP address, system time and server process ID, which allows local users to obtain session ID's and bypass authentication when these session ID's are used for authentication. See also: CVE-2001-1534" ], "x_capec_execution_flow": "

Execution Flow

Explore

  1. Find Session IDs: The attacker interacts with the target host and finds that session IDs are used to authenticate users.

  2. Techniques
    An attacker makes many anonymous connections and records the session IDs assigned.
    An attacker makes authorized connections and records the session tokens or credentials issued.
  3. Characterize IDs: The attacker studies the characteristics of the session ID (size, format, etc.). As a results the attacker finds that legitimate session IDs are predictable.

  4. Techniques
    Cryptanalysis. The attacker uses cryptanalysis to determine if the session IDs contain any cryptographic protections.
    Pattern tests. The attacker looks for patterns (odd/even, repetition, multiples, or other arithmetic relationships) between IDs
    Comparison against time. The attacker plots or compares the issued IDs to the time they were issued to check for correlation.

Experiment

  1. Match issued IDs: The attacker brute forces different values of session ID and manages to predict a valid session ID.

  2. Techniques
    The attacker models the session ID algorithm enough to produce a compatible session IDs, or just one match.

Exploit

  1. Use matched Session ID: The attacker uses the falsified session ID to access the target system.

  2. Techniques
    The attacker loads the session ID into their web browser and browses to restricted data or functionality.
    The attacker loads the session ID into their network communications and impersonates a legitimate user to gain access to data or functionality.
", "x_capec_likelihood_of_attack": "High", "x_capec_prerequisites": [ "The target host uses session IDs to keep track of the users.", "Session IDs are used to control access to resources.", "The session IDs used by the target host are predictable. For example, the session IDs are generated using predictable information (e.g., time)." ], "x_capec_skills_required": { "Low": "There are tools to brute force session ID. Those tools require a low level of knowledge.", "Medium": "Predicting Session ID may require more computation work which uses advanced analysis such as statistical analysis." }, "x_capec_status": "Draft", "x_capec_typical_severity": "High", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "Use a strong source of randomness to generate a session ID.", "id": "course-of-action--331d7a82-5ec2-4222-9a34-3dd042df0332", "modified": "2021-06-24T00:00:00.000Z", "name": "coa-59-0", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "course-of-action", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--9653be54-5c63-4cb9-a759-0537fc56da14", "modified": "2021-06-24T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--331d7a82-5ec2-4222-9a34-3dd042df0332", "spec_version": "2.1", "target_ref": "attack-pattern--7ee89c1f-50a5-42e6-abdb-6d8ba0349810", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "Use adequate length session IDs", "id": "course-of-action--26815e36-facf-44a4-98fa-472dec102e01", "modified": "2021-06-24T00:00:00.000Z", "name": "coa-59-1", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "course-of-action", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--2b5dfcf0-d8fd-4206-b790-076311f94f3b", "modified": "2021-06-24T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--26815e36-facf-44a4-98fa-472dec102e01", "spec_version": "2.1", "target_ref": "attack-pattern--7ee89c1f-50a5-42e6-abdb-6d8ba0349810", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "Do not use information available to the user in order to generate session ID (e.g., time).", "id": "course-of-action--c4b1f9f3-b1f6-4741-8fa9-b3ba8e8189ec", "modified": "2021-06-24T00:00:00.000Z", "name": "coa-59-2", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "course-of-action", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--faa68fd6-54d2-4ba3-ad2b-1dd82865bae5", "modified": "2021-06-24T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--c4b1f9f3-b1f6-4741-8fa9-b3ba8e8189ec", "spec_version": "2.1", "target_ref": "attack-pattern--7ee89c1f-50a5-42e6-abdb-6d8ba0349810", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "Ideas for creating random numbers are offered by Eastlake [RFC1750]", "id": "course-of-action--6d597339-bf05-4276-b31f-4cda813cd170", "modified": "2021-06-24T00:00:00.000Z", "name": "coa-59-3", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "course-of-action", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--2c1ee684-47b3-455a-a377-97959a7a6492", "modified": "2021-06-24T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--6d597339-bf05-4276-b31f-4cda813cd170", "spec_version": "2.1", "target_ref": "attack-pattern--7ee89c1f-50a5-42e6-abdb-6d8ba0349810", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "Encrypt the session ID if you expose it to the user. For instance session ID can be stored in a cookie in encrypted format.", "id": "course-of-action--bd948cdf-d470-4ae5-a2fa-3183fe8eb425", "modified": "2021-06-24T00:00:00.000Z", "name": "coa-59-4", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "course-of-action", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--dafccdf5-4f55-4b8f-888e-9e37f2ccbbd5", "modified": "2021-06-24T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--bd948cdf-d470-4ae5-a2fa-3183fe8eb425", "spec_version": "2.1", "target_ref": "attack-pattern--7ee89c1f-50a5-42e6-abdb-6d8ba0349810", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2017-01-12T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "An adversary performing this type of attack drops packets destined for a target IP address. The aim is to prevent access to the service hosted at the target IP address.", "external_references": [ { "external_id": "CAPEC-590", "source_name": "capec", "url": "https://capec.mitre.org/data/definitions/590.html" }, { "external_id": "CWE-300", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/300.html" }, { "description": "Abdelberi Chaabane, Terence Chen, Mathieu Cunche, Emiliano De Cristofaro, Arik Friedman, Mohamed Ali Kaafar, Censorship in the Wild: Analyzing Internet Filtering in Syria, 2014--02, IMC 2014", "external_id": "REF-475", "source_name": "reference_from_CAPEC" } ], "id": "attack-pattern--5c216971-78b5-4ac1-9cbe-f46fe1c632d1", "modified": "2019-04-04T00:00:00.000Z", "name": "IP Address Blocking", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "attack-pattern", "x_capec_abstraction": "Detailed", "x_capec_child_of_refs": [ "attack-pattern--ec0de204-6b66-4c4f-a401-21afa72f3941" ], "x_capec_consequences": { "Availability": [ "Other (Blocking packets intended for a target IP address denies its availability to the user.)" ] }, "x_capec_domains": [ "Communications", "Software" ], "x_capec_example_instances": [ "Consider situations of information censorship for political purposes, where regimes that prevent access to specific web services." ], "x_capec_likelihood_of_attack": "Low", "x_capec_prerequisites": [ "This attack requires the ability to conduct deep packet inspection with an In-Path device that can drop the targeted traffic and/or connection." ], "x_capec_status": "Draft", "x_capec_typical_severity": "High", "x_capec_version": "3.9" }, { "created": "2017-01-12T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "Have a large pool of backup IPs built into the application and support proxy capability in the application.", "id": "course-of-action--5e20e7f2-3b85-4548-9a70-bceee0970a14", "modified": "2019-04-04T00:00:00.000Z", "name": "coa-590-0", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "course-of-action", "x_capec_version": "3.9" }, { "created": "2017-01-12T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--fba19fbc-d42f-448a-8713-882e084e8a75", "modified": "2019-04-04T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--5e20e7f2-3b85-4548-9a70-bceee0970a14", "spec_version": "2.1", "target_ref": "attack-pattern--5c216971-78b5-4ac1-9cbe-f46fe1c632d1", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2017-04-15T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "This type of attack is a form of Cross-Site Scripting (XSS) where a malicious script is \"reflected\" off a vulnerable web application and then executed by a victim's browser. The process starts with an adversary delivering a malicious script to a victim and convincing the victim to send the script to the vulnerable web application.", "external_references": [ { "external_id": "CAPEC-591", "source_name": "capec", "url": "https://capec.mitre.org/data/definitions/591.html" }, { "external_id": "CWE-79", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/79.html" }, { "description": "Watchfire Research, XSS vulnerabilities in Google.com, Full Disclosure mailing list archives", "external_id": "REF-476", "source_name": "reference_from_CAPEC", "url": "http://seclists.org/fulldisclosure/2005/Dec/1107" }, { "description": "OWASP Web Security Testing Guide, The Open Web Application Security Project (OWASP)", "external_id": "REF-604", "source_name": "reference_from_CAPEC", "url": "https://owasp.org/www-project-web-security-testing-guide/latest/4-Web_Application_Security_Testing/07-Input_Validation_Testing/01-Testing_for_Reflected_Cross_Site_Scripting.html" } ], "id": "attack-pattern--61b17787-fe92-427c-9e6a-6311997d7b2a", "modified": "2022-09-29T00:00:00.000Z", "name": "Reflected XSS", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "attack-pattern", "x_capec_abstraction": "Detailed", "x_capec_child_of_refs": [ "attack-pattern--70b83583-ffe3-4e6d-b4a6-61a9b9efc346" ], "x_capec_consequences": { "Access_Control": [ "Gain Privileges (A successful Reflected XSS attack can enable an adversary to elevate their privilege level and access functionality they should not otherwise be allowed to access.)" ], "Authorization": [ "Gain Privileges (A successful Reflected XSS attack can enable an adversary to elevate their privilege level and access functionality they should not otherwise be allowed to access.)" ], "Availability": [ "Execute Unauthorized Commands (A successful Reflected attack can enable an adversary run arbitrary code of their choosing, thus enabling a complete compromise of the application.)" ], "Confidentiality": [ "Read Data (A successful Reflected XSS attack can enable an adversary to exfiltrate sensitive information from the application.)", "Gain Privileges (A successful Reflected XSS attack can enable an adversary to elevate their privilege level and access functionality they should not otherwise be allowed to access.)", "Execute Unauthorized Commands (A successful Reflected attack can enable an adversary run arbitrary code of their choosing, thus enabling a complete compromise of the application.)" ], "Integrity": [ "Execute Unauthorized Commands (A successful Reflected attack can enable an adversary run arbitrary code of their choosing, thus enabling a complete compromise of the application.)", "Modify Data (A successful Reflected attack can allow an adversary to tamper with application data.)" ] }, "x_capec_domains": [ "Software" ], "x_capec_example_instances": [ "\n Consider a web application that enables or disables some of the fields of a form on the page via the use of a mode parameter provided on the query string.\n http://my.site.com/aform.html?mode=full\n The application’s server-side code may want to display this mode value in the HTML page being created to give the users an understanding of what mode they are in. In this example, PHP is used to pull the value from the URL and generate the desired HTML.\n \n Notice how the value provided on the URL is used directly with no input validation performed and no output encoding in place. A maliciously crafted URL can thus be formed such that if a victim clicked on the URL, a malicious script would then be executed by the victim’s browser:\n http://my.site.com/aform.html?mode=\n ", "\n Reflected XSS attacks can take advantage of HTTP headers to compromise a victim. For example, assume a vulnerable web application called ‘mysite’ dynamically generates a link using an HTTP header such as HTTP_REFERER. Code somewhere in the application could look like:\n Test URL\"?>\n The HTTP_REFERER header is populated with the URI that linked to the currently executing page. A web site can be created and hosted by an adversary that takes advantage of this by adding a reference to the vulnerable web application. By tricking a victim into clicking a link that executes the attacker’s web page, such as:\n \"http://attackerswebsite.com?\"\n The vulnerable web application ('mysite') is now called via the attacker's web site, initiated by the victim's web browser. The HTTP_REFERER header will contain a malicious script, which is embedded into the page by the vulnerable application and served to the victim. The victim’s web browser then executes the injected script, thus compromising the victim’s machine.\n " ], "x_capec_execution_flow": "

Execution Flow

Explore

  1. Survey the application for user-controllable inputs: Using a browser or an automated tool, an adversary follows all public links and actions on a web site. They record all the links, the forms, the resources accessed and all other potential entry-points for the web application.

  2. Techniques
    Use a spidering tool to follow and record all links and analyze the web pages to find entry points. Make special note of any links that include parameters in the URL.
    Use a proxy tool to record all links visited during a manual traversal of the web application.
    Use a browser to manually explore the website and analyze how it is constructed. Many browsers' plugins are available to facilitate the analysis or automate the discovery.

Experiment

  1. Probe identified potential entry points for reflected XSS vulnerability: The adversary uses the entry points gathered in the \"Explore\" phase as a target list and injects various common script payloads and special characters to determine if an entry point actually represents a vulnerability and to characterize the extent to which the vulnerability can be exploited.

  2. Techniques
    Use a list of XSS probe strings to inject script in parameters of known URLs. If possible, the probe strings contain a unique identifier.
    Use a proxy tool to record results of manual input of XSS probes in known URLs.
    Use a list of HTML special characters to inject into parameters of known URLs and check if they were properly encoded, replaced, or filtered out.
  3. Craft malicious XSS URL: Once the adversary has determined which parameters are vulnerable to XSS, they will craft a malicious URL containing the XSS exploit. The adversary can have many goals, from stealing session IDs, cookies, credentials, and page content from the victim.

  4. Techniques
    Change a URL parameter to include a malicious script tag.
    Send information gathered from the malicious script to a remote endpoint.

Exploit

  1. Get victim to click URL: In order for the attack to be successful, the victim needs to access the malicious URL.

  2. Techniques
    Send a phishing email to the victim containing the malicious URL. This can be hidden in a hyperlink as to not show the full URL, which might draw suspicion.
    Put the malicious URL on a public forum, where many victims might accidentally click the link.
", "x_capec_extended_description": "\n The most common method of this is through a phishing email where the adversary embeds the malicious script with a URL that the victim then clicks on. In processing the subsequent request, the vulnerable web application incorrectly considers the malicious script as valid input and uses it to creates a reposnse that is then sent back to the victim. To launch a successful Reflected XSS attack, an adversary looks for places where user-input is used directly in the generation of a response. This often involves elements that are not expected to host scripts such as image tags (), or the addition of event attibutes such as onload and onmouseover. These elements are often not subject to the same input validation, output encoding, and other content filtering and checking routines.\n ", "x_capec_likelihood_of_attack": "High", "x_capec_parent_of_refs": [ "attack-pattern--89697649-1004-4130-a9dd-72182e4c6206", "attack-pattern--0e2bf24b-2931-45aa-a0e9-22eccfb310b2", "attack-pattern--b703f007-6e24-4365-b5f7-c5d249253b33", "attack-pattern--eade303a-1d70-4095-96da-5cf1d9f4333f", "attack-pattern--c77ec906-0371-482e-8b14-a4a41b6b5b74", "attack-pattern--66b042e0-f88f-4aa5-9d87-1e71a4b3dcd8", "attack-pattern--52b5f7dc-228b-44d5-865a-e4595b227ba2", "attack-pattern--28aff255-abc8-4392-872c-61f78d4fe55b", "attack-pattern--39322012-07ba-4bfc-bac7-10891614ee3e" ], "x_capec_prerequisites": [ "An application that leverages a client-side web browser with scripting enabled.", "An application that fail to adequately sanitize or encode untrusted input." ], "x_capec_resources_required": [ "None: No specialized resources are required to execute this type of attack." ], "x_capec_skills_required": { "Medium": "Requires the ability to write malicious scripts and embed them into HTTP requests." }, "x_capec_status": "Stable", "x_capec_typical_severity": "Very High", "x_capec_version": "3.9" }, { "created": "2017-04-15T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--38865cc3-9b96-4cac-807c-bf7bad91ecd3", "modified": "2022-09-29T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--7dc1cd16-6e36-4b01-bee9-f089fc544d5a", "spec_version": "2.1", "target_ref": "attack-pattern--61b17787-fe92-427c-9e6a-6311997d7b2a", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2017-04-15T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--1d36c215-a1eb-43b0-891e-fa3bab2cf037", "modified": "2022-09-29T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--e2d6481d-fb04-45e8-9e24-706eeca3f87d", "spec_version": "2.1", "target_ref": "attack-pattern--61b17787-fe92-427c-9e6a-6311997d7b2a", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2017-04-15T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--34cccb39-8413-4427-800d-cb131ff13a29", "modified": "2022-09-29T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--2e2e8032-4e25-4013-b914-eb89f14df01f", "spec_version": "2.1", "target_ref": "attack-pattern--61b17787-fe92-427c-9e6a-6311997d7b2a", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2017-04-15T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "An adversary utilizes a form of Cross-site Scripting (XSS) where a malicious script is persistently \"stored\" within the data storage of a vulnerable web application as valid input.", "external_references": [ { "external_id": "CAPEC-592", "source_name": "capec", "url": "https://capec.mitre.org/data/definitions/592.html" }, { "external_id": "CWE-79", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/79.html" }, { "description": "OWASP Web Security Testing Guide, The Open Web Application Security Project (OWASP)", "external_id": "REF-605", "source_name": "reference_from_CAPEC", "url": "https://owasp.org/www-project-web-security-testing-guide/latest/4-Web_Application_Security_Testing/07-Input_Validation_Testing/02-Testing_for_Stored_Cross_Site_Scripting.html" } ], "id": "attack-pattern--800f8095-99b6-4bb9-8bc6-8b9727201a2f", "modified": "2022-09-29T00:00:00.000Z", "name": "Stored XSS", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "attack-pattern", "x_capec_abstraction": "Detailed", "x_capec_can_follow_refs": [ "attack-pattern--f156c3d0-eeb3-4e12-b075-8995c009de55", "attack-pattern--1dd1397d-816a-4093-86a6-cf28bb32e486" ], "x_capec_child_of_refs": [ "attack-pattern--70b83583-ffe3-4e6d-b4a6-61a9b9efc346" ], "x_capec_consequences": { "Access_Control": [ "Gain Privileges (A successful Stored XSS attack can enable an adversary to elevate their privilege level and access functionality they should not otherwise be allowed to access.)" ], "Authorization": [ "Gain Privileges (A successful Stored XSS attack can enable an adversary to elevate their privilege level and access functionality they should not otherwise be allowed to access.)" ], "Availability": [ "Execute Unauthorized Commands (A successful Stored XSS attack can enable an adversary run arbitrary code of their choosing, thus enabling a complete compromise of the application.)" ], "Confidentiality": [ "Read Data (A successful Stored XSS attack can enable an adversary to exfiltrate sensitive information from the application.)", "Gain Privileges (A successful Stored XSS attack can enable an adversary to elevate their privilege level and access functionality they should not otherwise be allowed to access.)", "Execute Unauthorized Commands (A successful Stored XSS attack can enable an adversary run arbitrary code of their choosing, thus enabling a complete compromise of the application.)" ], "Integrity": [ "Execute Unauthorized Commands (A successful Stored XSS attack can enable an adversary run arbitrary code of their choosing, thus enabling a complete compromise of the application.)", "Modify Data (A successful Stored XSS attack can allow an adversary to tamper with application data.)" ] }, "x_capec_domains": [ "Software" ], "x_capec_example_instances": [ "An adversary determines that a system uses a web based interface for administration. The adversary creates a new user record and supplies a malicious script in the user name field. The user name field is not validated by the system and a new log entry is created detailing the creation of the new user. Later, an administrator reviews the log in the administrative console. When the administrator comes across the new user entry, the browser sees a script and executes it, stealing the administrator's authentication cookie and forwarding it to the adversary. An adversary then uses the received authentication cookie to log in to the system as an administrator, provided that the administrator console can be accessed remotely.", "An online discussion forum allows its members to post HTML-enabled messages, which can also include image tags. An adversary embeds JavaScript in the image tags of their message. The adversary then sends the victim an email advertising free goods and provides a link to the form for how to collect. When the victim visits the forum and reads the message, the malicious script is executed within the victim's browser." ], "x_capec_execution_flow": "

Execution Flow

Explore

  1. Survey the application for stored user-controllable inputs: Using a browser or an automated tool, an adversary follows all public links and actions on a web site. They record all the links, the forms, the resources accessed and all other potential entry-points for the web application. The adversary is looking for areas where user input is stored, such as user profiles, shopping carts, file managers, forums, blogs, and logs.

  2. Techniques
    Use a spidering tool to follow and record all links and analyze the web pages to find entry points.
    Use a proxy tool to record all links visited during a manual traversal of the web application.
    Use a browser to manually explore the website and analyze how it is constructed. Many browsers' plugins are available to facilitate the analysis or automate the discovery.

Experiment

  1. Probe identified potential entry points for stored XSS vulnerability: The adversary uses the entry points gathered in the \"Explore\" phase as a target list and injects various common script payloads and special characters to determine if an entry point actually represents a vulnerability and to characterize the extent to which the vulnerability can be exploited.

  2. Techniques
    Use a list of XSS probe strings to submit script in input fields that could be stored by the web application. If possible, the probe strings contain a unique identifier so they can be queried for after submitting to see if they are stored.
    Use a list of HTML special characters to submit in input fields that could be stored by the web application and check if they were properly encoded, replaced, or filtered out.
  3. Store malicious XSS content: Once the adversary has determined which stored locations are vulnerable to XSS, they will interact with the web application to store the malicious content. The adversary can have many goals, from stealing session IDs, cookies, credentials, and page content from a victim.

  4. Techniques
    Store a malicious script on a page that will execute when viewed by the victim.
    Use a tool such as BeEF to store a hook into the web application. This will alert the adversary when the victim has accessed the content and will give the adversary control over the victim's browser, allowing them access to cookies, user screenshot, user clipboard, and more complex XSS attacks.

Exploit

  1. Get victim to view stored content: In order for the attack to be successful, the victim needs to view the stored malicious content on the webpage.

  2. Techniques
    Send a phishing email to the victim containing a URL that will direct them to the malicious stored content.
    Simply wait for a victim to view the content. This is viable in situations where content is posted to a popular public forum.
", "x_capec_extended_description": "\n Initially presented by an adversary to the vulnerable web application, the malicious script is incorrectly considered valid input and is not properly encoded by the web application. A victim is then convinced to use the web application in a way that creates a response that includes the malicious script. This response is subsequently sent to the victim and the malicious script is executed by the victim's browser. To launch a successful Stored XSS attack, an adversary looks for places where stored input data is used in the generation of a response. This often involves elements that are not expected to host scripts such as image tags (), or the addition of event attributes such as onload and onmouseover. These elements are often not subject to the same input validation, output encoding, and other content filtering and checking routines.\n ", "x_capec_likelihood_of_attack": "High", "x_capec_parent_of_refs": [ "attack-pattern--89697649-1004-4130-a9dd-72182e4c6206", "attack-pattern--0e2bf24b-2931-45aa-a0e9-22eccfb310b2", "attack-pattern--b703f007-6e24-4365-b5f7-c5d249253b33", "attack-pattern--b27e3b46-2838-4339-a570-006474c8c402", "attack-pattern--eade303a-1d70-4095-96da-5cf1d9f4333f", "attack-pattern--c77ec906-0371-482e-8b14-a4a41b6b5b74", "attack-pattern--66b042e0-f88f-4aa5-9d87-1e71a4b3dcd8", "attack-pattern--52b5f7dc-228b-44d5-865a-e4595b227ba2", "attack-pattern--28aff255-abc8-4392-872c-61f78d4fe55b", "attack-pattern--39322012-07ba-4bfc-bac7-10891614ee3e" ], "x_capec_prerequisites": [ "An application that leverages a client-side web browser with scripting enabled.", "An application that fails to adequately sanitize or encode untrusted input.", "An application that stores information provided by the user in data storage of some kind." ], "x_capec_resources_required": [ "None: No specialized resources are required to execute this type of attack." ], "x_capec_skills_required": { "Medium": "Requires the ability to write scripts of varying complexity and to inject them through user controlled fields within the application." }, "x_capec_status": "Stable", "x_capec_typical_severity": "Very High", "x_capec_version": "3.9" }, { "created": "2017-04-15T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--28c01d45-e477-41b8-b923-e1a759ec7c34", "modified": "2022-09-29T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--7dc1cd16-6e36-4b01-bee9-f089fc544d5a", "spec_version": "2.1", "target_ref": "attack-pattern--800f8095-99b6-4bb9-8bc6-8b9727201a2f", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2017-04-15T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--e027d6bd-c85f-4585-8bae-468b1e9f5507", "modified": "2022-09-29T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--e2d6481d-fb04-45e8-9e24-706eeca3f87d", "spec_version": "2.1", "target_ref": "attack-pattern--800f8095-99b6-4bb9-8bc6-8b9727201a2f", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2017-04-15T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "Ensure that all user-supplied input is validated before being stored.", "id": "course-of-action--00d95d33-0be2-4026-b367-d0b3ca061978", "modified": "2022-09-29T00:00:00.000Z", "name": "coa-592-2", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "course-of-action", "x_capec_version": "3.9" }, { "created": "2017-04-15T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--fc721152-28b2-4c41-8360-1075efd36665", "modified": "2022-09-29T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--00d95d33-0be2-4026-b367-d0b3ca061978", "spec_version": "2.1", "target_ref": "attack-pattern--800f8095-99b6-4bb9-8bc6-8b9727201a2f", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2017-04-15T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "This type of attack involves an adversary that exploits weaknesses in an application's use of sessions in performing authentication. The adversary is able to steal or manipulate an active session and use it to gain unathorized access to the application.", "external_references": [ { "external_id": "CAPEC-593", "source_name": "capec", "url": "https://capec.mitre.org/data/definitions/593.html" }, { "external_id": "CWE-287", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/287.html" }, { "description": "Browser Session Hijacking", "external_id": "T1185", "source_name": "ATTACK", "url": "https://attack.mitre.org/wiki/Technique/T1185" }, { "description": "Use Alternate Authentication Material:Application Access Token", "external_id": "T1550.001", "source_name": "ATTACK", "url": "https://attack.mitre.org/wiki/Technique/T1550/001" }, { "description": "Remote Service Session Hijacking", "external_id": "T1563", "source_name": "ATTACK", "url": "https://attack.mitre.org/wiki/Technique/T1563" }, { "description": "Session hijacking attack", "source_name": "OWASP Attacks", "url": "https://owasp.org/www-community/attacks/Session_hijacking_attack" }, { "description": "OWASP Web Security Testing Guide, The Open Web Application Security Project (OWASP)", "external_id": "REF-603", "source_name": "reference_from_CAPEC", "url": "https://owasp.org/www-project-web-security-testing-guide/latest/4-Web_Application_Security_Testing/06-Session_Management_Testing/09-Testing_for_Session_Hijacking.html" } ], "id": "attack-pattern--63f43efb-7a34-4302-b3dc-8245100fdea9", "modified": "2022-09-29T00:00:00.000Z", "name": "Session Hijacking", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "attack-pattern", "x_capec_abstraction": "Standard", "x_capec_can_follow_refs": [ "attack-pattern--b89511b6-f0fb-4c1d-a884-a0d5a0d82b4e", "attack-pattern--ae3f2c33-9018-442e-9cc3-24d65c7f4974", "attack-pattern--d845a25b-b140-438c-91d7-30b709bb6e18", "attack-pattern--ba694895-a0cf-494e-ace2-bf3488330b80" ], "x_capec_child_of_refs": [ "attack-pattern--2351ee64-dd85-4bc3-bb43-aaa2ca5c1228" ], "x_capec_consequences": { "Availability": [ "Gain Privileges (A successful attack can enable an adversary to gain unauthorized access to an application.)" ], "Confidentiality": [ "Gain Privileges (A successful attack can enable an adversary to gain unauthorized access to an application.)" ], "Integrity": [ "Gain Privileges (A successful attack can enable an adversary to gain unauthorized access to an application.)" ] }, "x_capec_domains": [ "Software" ], "x_capec_execution_flow": "

Execution Flow

Explore

  1. Discover Existing Session Token: Through varrying means, an adversary will discover and store an existing session token for some other authenticated user session.

Experiment

  1. Insert Found Session Token: The attacker attempts to insert a found session token into communication with the targeted application to confirm viability for exploitation.

Exploit

  1. Session Token Exploitation: The attacker leverages the captured session token to interact with the targeted application in a malicious fashion, impersonating the victim.

", "x_capec_likelihood_of_attack": "High", "x_capec_parent_of_refs": [ "attack-pattern--6a99b39b-b14a-4617-8aeb-bce85979f520", "attack-pattern--f14acee3-770c-4154-a9b2-9eda908c6a9f", "attack-pattern--a15ef978-f79c-4a64-8c63-8ab413d42b0f", "attack-pattern--c1e3e934-5b43-4af9-b92b-9a4837a90c14" ], "x_capec_prerequisites": [ "An application that leverages sessions to perform authentication." ], "x_capec_resources_required": [ "The adversary must have the ability to communicate with the application over the network." ], "x_capec_skills_required": { "Low": "Exploiting a poorly protected identity token is a well understood attack with many helpful resources available." }, "x_capec_status": "Stable", "x_capec_typical_severity": "Very High", "x_capec_version": "3.9" }, { "created": "2017-04-15T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "Properly encrypt and sign identity tokens in transit, and use industry standard session key generation mechanisms that utilize high amount of entropy to generate the session key. Many standard web and application servers will perform this task on your behalf. Utilize a session timeout for all sessions. If the user does not explicitly logout, terminate their session after this period of inactivity. If the user logs back in then a new session key should be generated.", "id": "course-of-action--c731b443-09c9-4d03-bdc2-a9053ce6ea90", "modified": "2022-09-29T00:00:00.000Z", "name": "coa-593-0", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "course-of-action", "x_capec_version": "3.9" }, { "created": "2017-04-15T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--b99d4053-f452-4a85-b020-ad0868cb52cf", "modified": "2022-09-29T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--c731b443-09c9-4d03-bdc2-a9053ce6ea90", "spec_version": "2.1", "target_ref": "attack-pattern--63f43efb-7a34-4302-b3dc-8245100fdea9", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2017-01-03T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "An adversary injects traffic into the target's network connection. The adversary is therefore able to degrade or disrupt the connection, and potentially modify the content. This is not a flooding attack, as the adversary is not focusing on exhausting resources. Instead, the adversary is crafting a specific input to affect the system in a particular way.", "external_references": [ { "external_id": "CAPEC-594", "source_name": "capec", "url": "https://capec.mitre.org/data/definitions/594.html" }, { "external_id": "CWE-940", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/940.html" } ], "id": "attack-pattern--6a7fbe0a-080e-4f8b-854d-1d959dbeab8e", "modified": "2021-06-24T00:00:00.000Z", "name": "Traffic Injection", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "attack-pattern", "x_capec_abstraction": "Meta", "x_capec_consequences": { "Availability": [ "Unreliable Execution (The injection of specific content into a connection can trigger a disruption in that communications channel, thereby denying availability of the service.)" ], "Integrity": [ "Other (An adversary's injection of additional content into a communication channel negatively impacts the integrity of that channel.)" ] }, "x_capec_domains": [ "Communications", "Software" ], "x_capec_parent_of_refs": [ "attack-pattern--e6f6d082-2186-4008-b52f-91f67abdba90" ], "x_capec_prerequisites": [ "The target application must leverage an open communications channel.", "The channel on which the target communicates must be vulnerable to interception (e.g., adversary in the middle attack - CAPEC-94)." ], "x_capec_resources_required": [ "A tool, such as a MITM Proxy, that is capable of generating and injecting custom inputs to be used in the attack." ], "x_capec_status": "Stable", "x_capec_version": "3.9" }, { "created": "2017-01-04T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "In this attack pattern, an adversary injects a connection reset packet to one or both ends of a target's connection. The attacker is therefore able to have the target and/or the destination server sever the connection without having to directly filter the traffic between them.", "external_references": [ { "external_id": "CAPEC-595", "source_name": "capec", "url": "https://capec.mitre.org/data/definitions/595.html" }, { "external_id": "CWE-940", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/940.html" } ], "id": "attack-pattern--e6f6d082-2186-4008-b52f-91f67abdba90", "modified": "2019-04-04T00:00:00.000Z", "name": "Connection Reset", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "attack-pattern", "x_capec_abstraction": "Standard", "x_capec_child_of_refs": [ "attack-pattern--6a7fbe0a-080e-4f8b-854d-1d959dbeab8e" ], "x_capec_domains": [ "Communications", "Software" ], "x_capec_parent_of_refs": [ "attack-pattern--dfd75d4a-689b-4cbd-9013-4ed32713dc64" ], "x_capec_prerequisites": [ "This attack requires the ability to monitor the target's network connection." ], "x_capec_status": "Draft", "x_capec_version": "3.9" }, { "created": "2017-01-03T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "An adversary injects one or more TCP RST packets to a target after the target has made a HTTP GET request. The goal of this attack is to have the target and/or destination web server terminate the TCP connection.", "external_references": [ { "external_id": "CAPEC-596", "source_name": "capec", "url": "https://capec.mitre.org/data/definitions/596.html" }, { "external_id": "CWE-940", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/940.html" }, { "description": "John-Paul Verkamp, Minaxi Gupta, Inferring Mechanics of Web Censorship Around the World, 2012, USENIX", "external_id": "REF-477", "source_name": "reference_from_CAPEC" } ], "id": "attack-pattern--dfd75d4a-689b-4cbd-9013-4ed32713dc64", "modified": "2019-04-04T00:00:00.000Z", "name": "TCP RST Injection", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "attack-pattern", "x_capec_abstraction": "Detailed", "x_capec_child_of_refs": [ "attack-pattern--e6f6d082-2186-4008-b52f-91f67abdba90" ], "x_capec_domains": [ "Communications", "Software" ], "x_capec_prerequisites": [ "An On/In Path Device" ], "x_capec_status": "Draft", "x_capec_version": "3.9" }, { "created": "2017-01-06T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "An adversary with access to file system resources, either directly or via application logic, will use various file absolute paths and navigation mechanisms such as \"..\" to extend their range of access to inappropriate areas of the file system. The goal of the adversary is to access directories and files that are intended to be restricted from their access.", "external_references": [ { "external_id": "CAPEC-597", "source_name": "capec", "url": "https://capec.mitre.org/data/definitions/597.html" }, { "external_id": "CWE-36", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/36.html" } ], "id": "attack-pattern--1a84fe86-379b-497e-ae66-290e797409f4", "modified": "2021-10-21T00:00:00.000Z", "name": "Absolute Path Traversal", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "attack-pattern", "x_capec_abstraction": "Detailed", "x_capec_child_of_refs": [ "attack-pattern--faf0ec21-da60-4efc-8c8e-7a6b63bea170" ], "x_capec_consequences": { "Availability": [ "Execute Unauthorized Commands (The attacker may be able to create or overwrite critical files that are used to execute code, such as programs or libraries.)", "Unreliable Execution (The attacker may be able to overwrite, delete, or corrupt unexpected critical files such as programs, libraries, or important data. This may prevent the software from working at all and in the case of a protection mechanisms such as authentication, it has the potential to lockout every user of the software.)" ], "Confidentiality": [ "Execute Unauthorized Commands (The attacker may be able to create or overwrite critical files that are used to execute code, such as programs or libraries.)", "Read Data (The attacker may be able read the contents of unexpected files and expose sensitive data. If the targeted file is used for a security mechanism, then the attacker may be able to bypass that mechanism. For example, by reading a password file, the attacker could conduct brute force password guessing attacks in order to break into an account on the system.)" ], "Integrity": [ "Execute Unauthorized Commands (The attacker may be able to create or overwrite critical files that are used to execute code, such as programs or libraries.)", "Modify Data (The attacker may be able to overwrite or create critical files, such as programs, libraries, or important data. If the targeted file is used for a security mechanism, then the attacker may be able to bypass that mechanism. For example, appending a new account at the end of a password file may allow an attacker to bypass authentication.)" ] }, "x_capec_domains": [ "Software" ], "x_capec_execution_flow": "

Execution Flow

Explore

  1. Fingerprinting of the operating system: In order to perform a valid path traversal, the adversary needs to know what the underlying OS is so that the proper file seperator is used.

  2. Techniques
    Port mapping. Identify ports that the system is listening on, and attempt to identify inputs and protocol types on those ports.
    TCP/IP Fingerprinting. The adversary uses various software to make connections or partial connections and observe idiosyncratic responses from the operating system. Using those responses, they attempt to guess the actual operating system.
    Induce errors to find informative error messages
  3. Survey application: Using manual or automated means, an adversary will survey the target application looking for all areas where user input is taken to specify a file name or path.

  4. Techniques
    Use a spidering tool to follow and record all links on a web page. Make special note of any links that include parameters in the URL.
    Use a proxy tool to record all links visited during a manual traversal of a web application. Make special note of any links that include parameters in the URL. Manual traversal of this type is frequently necessary to identify forms that are GET method forms rather than POST forms.
    Use a browser to manually explore a website and analyze how it is constructed. Many browser's plug-in are available to facilitate the analysis or automate the URL discovery.

Experiment

  1. Attempt variations on input parameters: Using manual or automated means, an adversary attempts varying absolute file paths on all found user input locations and observes the responses.

  2. Techniques
    Access common files in root directories such as \"/bin\", \"/boot\", \"/lib\", or \"/home\"
    Access a specific drive letter or windows volume letter by specifying \"C:dirname\" for example
    Access a known Windows UNC share by specifying \"\\\\UNC\\share\\name\" for example

Exploit

  1. Access, modify, or execute arbitrary files.: An adversary injects absolute path traversal syntax into identified vulnerable inputs to cause inappropriate reading, writing or execution of files. An adversary could be able to read directories or files which they are normally not allowed to read. The adversary could also access data outside the web document root, or include scripts, source code and other kinds of files from external websites. Once the adversary accesses arbitrary files, they could also modify files. In particular situations, the adversary could also execute arbitrary code or system commands.

  2. Techniques
    Manipulate file and its path by injecting absolute path sequences (e.g. \"/home/file.txt\").
    Download files, modify files, or try to execute shell commands (with binary files).
", "x_capec_prerequisites": [ "The target must leverage and access an underlying file system." ], "x_capec_resources_required": [ "The attacker must have access to an application interface or a direct shell that allows them to inject directory strings and monitor the results." ], "x_capec_skills_required": { "Low": "Simple command line attacks.", "Medium": "Programming attacks." }, "x_capec_status": "Draft", "x_capec_version": "3.9" }, { "created": "2017-01-06T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--cd5a0b68-7c46-4210-afeb-a383890ba931", "modified": "2021-10-21T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--49faa4e3-77fa-4b56-8186-be9d4302e09a", "spec_version": "2.1", "target_ref": "attack-pattern--1a84fe86-379b-497e-ae66-290e797409f4", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2017-01-06T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--3a5fb6c7-5605-48a4-b2ca-bcfff3e93226", "modified": "2021-10-21T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--10e0bdfb-cc84-4788-8d10-225b6e61f135", "spec_version": "2.1", "target_ref": "attack-pattern--1a84fe86-379b-497e-ae66-290e797409f4", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2017-01-06T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--01a4f9a4-8d52-4cd3-a2e0-11eee4192954", "modified": "2021-10-21T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--59bcc683-a1e5-4b88-9821-ddb734003114", "spec_version": "2.1", "target_ref": "attack-pattern--1a84fe86-379b-497e-ae66-290e797409f4", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2017-01-06T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--083f46f3-7384-4987-a5d7-3b3b3c58e717", "modified": "2021-10-21T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--6a928417-72f9-4429-951c-8dcaca5edc6d", "spec_version": "2.1", "target_ref": "attack-pattern--1a84fe86-379b-497e-ae66-290e797409f4", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2017-01-06T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--ea68faae-9ff5-4a52-a520-135a612e4458", "modified": "2021-10-21T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--da440d05-dc0e-4bfa-8490-7178ae419336", "spec_version": "2.1", "target_ref": "attack-pattern--1a84fe86-379b-497e-ae66-290e797409f4", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2017-01-06T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--70fb8b30-3f7c-41ef-a691-34c163c6e04b", "modified": "2021-10-21T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--16c78c78-dace-4fe3-ac4a-aaf188d14af5", "spec_version": "2.1", "target_ref": "attack-pattern--1a84fe86-379b-497e-ae66-290e797409f4", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2017-01-06T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--aa408ca1-01a2-404d-a24a-90d14b0fcdbe", "modified": "2021-10-21T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--3c433a52-7784-4abd-b404-41fc8a423886", "spec_version": "2.1", "target_ref": "attack-pattern--1a84fe86-379b-497e-ae66-290e797409f4", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2017-01-06T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--ce2dd07c-e915-4e7b-90b5-8af1442e1aae", "modified": "2021-10-21T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--b3379e8f-995d-4df7-be15-7861c104b55c", "spec_version": "2.1", "target_ref": "attack-pattern--1a84fe86-379b-497e-ae66-290e797409f4", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2017-01-06T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--ff83398b-e67f-4c7c-be17-3abbb20aa2d9", "modified": "2021-10-21T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--8fb32cf0-80fd-4e8b-91c6-0908041d5b6e", "spec_version": "2.1", "target_ref": "attack-pattern--1a84fe86-379b-497e-ae66-290e797409f4", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2017-01-06T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--8d22787d-6e79-4bd5-8fb5-a6b95e74fc40", "modified": "2021-10-21T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--f972cf8f-5c89-4e6c-87ad-8eb40c32883b", "spec_version": "2.1", "target_ref": "attack-pattern--1a84fe86-379b-497e-ae66-290e797409f4", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2017-01-06T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--571be573-775a-4c2e-b74d-01d1a1a56a8a", "modified": "2021-10-21T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--4dc38767-be73-424a-b909-90eb4773dfa3", "spec_version": "2.1", "target_ref": "attack-pattern--1a84fe86-379b-497e-ae66-290e797409f4", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2017-01-06T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "Implementation: Validate user input by only accepting known good. Ensure all content that is delivered to client is sanitized against an acceptable content specification using an allowlist approach.", "id": "course-of-action--b994128b-dfc1-41e0-97a5-e9ec2c1056ee", "modified": "2021-10-21T00:00:00.000Z", "name": "coa-597-11", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "course-of-action", "x_capec_version": "3.9" }, { "created": "2017-01-06T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--d4be0c7a-12b3-47bb-9012-e6800e680e58", "modified": "2021-10-21T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--b994128b-dfc1-41e0-97a5-e9ec2c1056ee", "spec_version": "2.1", "target_ref": "attack-pattern--1a84fe86-379b-497e-ae66-290e797409f4", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2017-01-04T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "An adversary sends a malicious (\"NXDOMAIN\" (\"No such domain\") code, or DNS A record) response to a target's route request before a legitimate resolver can. This technique requires an On-path or In-path device that can monitor and respond to the target's DNS requests. This attack differs from BGP Tampering in that it directly responds to requests made by the target instead of polluting the routing the target's infrastructure uses.", "external_references": [ { "external_id": "CAPEC-598", "source_name": "capec", "url": "https://capec.mitre.org/data/definitions/598.html" }, { "description": "John-Paul Verkamp, Minaxi Gupta, Inferring Mechanics of Web Censorship Around the World, 2012, USENIX", "external_id": "REF-477", "source_name": "reference_from_CAPEC" }, { "description": "Anonymous, Towards a Comprehensive Picture of the Great Firewall's DNS Censorship, 2014, USENIX", "external_id": "REF-479", "source_name": "reference_from_CAPEC" } ], "id": "attack-pattern--ed79989c-6824-4b9d-912d-8d1fffe93715", "modified": "2023-01-24T00:00:00.000Z", "name": "DNS Spoofing", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "attack-pattern", "x_capec_abstraction": "Detailed", "x_capec_child_of_refs": [ "attack-pattern--862d18f1-a87c-4f1b-acc2-882697d5d6e5" ], "x_capec_domains": [ "Software" ], "x_capec_example_instances": [ "Below-Recursive DNS Poisoning: When an On/In-path device between a recursive DNS server and a user sends a malicious (\"NXDOMAIN\" (\"No such domain\") code, or DNS A record ) response before a legitimate resolver can.", "Above-Recursive DNS Poisoning: When an On/In-path device between an authority server (e.g., government-managed) and a recursive DNS server sends a malicious (\"NXDOMAIN\" (\"No such domain\")code, or a DNS record) response before a legitimate resolver can." ], "x_capec_prerequisites": [ "On/In Path Device" ], "x_capec_skills_required": { "Low": "To distribute email" }, "x_capec_status": "Draft", "x_capec_version": "3.9" }, { "created": "2017-01-04T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "Design: Avoid dependence on DNS", "id": "course-of-action--818958f8-e5a6-4522-9a89-e48271100548", "modified": "2023-01-24T00:00:00.000Z", "name": "coa-598-0", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "course-of-action", "x_capec_version": "3.9" }, { "created": "2017-01-04T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--ae2e6105-d7fc-4e98-9dea-4493606440c6", "modified": "2023-01-24T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--818958f8-e5a6-4522-9a89-e48271100548", "spec_version": "2.1", "target_ref": "attack-pattern--ed79989c-6824-4b9d-912d-8d1fffe93715", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2017-01-04T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "Design: Include \"hosts file\"/IP address in the application", "id": "course-of-action--0a399b26-688b-4a78-8d74-4d815dbc37ad", "modified": "2023-01-24T00:00:00.000Z", "name": "coa-598-1", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "course-of-action", "x_capec_version": "3.9" }, { "created": "2017-01-04T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--5fbf3499-e8c7-452e-87c7-9bd2e4733100", "modified": "2023-01-24T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--0a399b26-688b-4a78-8d74-4d815dbc37ad", "spec_version": "2.1", "target_ref": "attack-pattern--ed79989c-6824-4b9d-912d-8d1fffe93715", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2017-01-04T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "Implementation: Utilize a .onion domain with Tor support", "id": "course-of-action--ec56aac0-0a2d-4aad-b6c5-8afa9f5806f2", "modified": "2023-01-24T00:00:00.000Z", "name": "coa-598-2", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "course-of-action", "x_capec_version": "3.9" }, { "created": "2017-01-04T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--3f5c44bc-4c83-4819-add3-4fc2f11b2fde", "modified": "2023-01-24T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--ec56aac0-0a2d-4aad-b6c5-8afa9f5806f2", "spec_version": "2.1", "target_ref": "attack-pattern--ed79989c-6824-4b9d-912d-8d1fffe93715", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2017-01-04T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "Implementation: DNSSEC", "id": "course-of-action--9c484afc-3584-4587-a260-116ead182709", "modified": "2023-01-24T00:00:00.000Z", "name": "coa-598-3", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "course-of-action", "x_capec_version": "3.9" }, { "created": "2017-01-04T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--6c28461d-523b-453f-99b1-a60849c2db18", "modified": "2023-01-24T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--9c484afc-3584-4587-a260-116ead182709", "spec_version": "2.1", "target_ref": "attack-pattern--ed79989c-6824-4b9d-912d-8d1fffe93715", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2017-01-04T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "Implementation: DNS-hold-open", "id": "course-of-action--38d9ad7c-d797-454b-a4b5-f9f3b392be10", "modified": "2023-01-24T00:00:00.000Z", "name": "coa-598-4", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "course-of-action", "x_capec_version": "3.9" }, { "created": "2017-01-04T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--13141463-336a-4b22-955f-de061f868998", "modified": "2023-01-24T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--38d9ad7c-d797-454b-a4b5-f9f3b392be10", "spec_version": "2.1", "target_ref": "attack-pattern--ed79989c-6824-4b9d-912d-8d1fffe93715", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2017-01-12T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "In this attack pattern, the adversary transmits disruptive signals in the direction of the target's consumer-level satellite dish (as opposed to the satellite itself). The transmission disruption occurs in a more targeted range. Portable terrestrial jammers have a range of 3-5 kilometers in urban areas and 20 kilometers in rural areas. This technique requires a terrestrial jammer that is more powerful than the frequencies sent from the satellite.", "external_references": [ { "external_id": "CAPEC-599", "source_name": "capec", "url": "https://capec.mitre.org/data/definitions/599.html" }, { "description": "Small Media, Satellite Jamming in Iran: A War over Airwaves, 2012--11", "external_id": "REF-462", "source_name": "reference_from_CAPEC" } ], "id": "attack-pattern--521fbe1c-28d6-4ca0-bc8b-6e2dbc91332e", "modified": "2023-01-24T00:00:00.000Z", "name": "Terrestrial Jamming", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "attack-pattern", "x_capec_abstraction": "Detailed", "x_capec_child_of_refs": [ "attack-pattern--8711eca6-b3ad-40b7-b7ac-08be37885119" ], "x_capec_consequences": { "Availability": [ "Other (A successful attack will deny, degrade, or disrupt availability of satellite communications for the target by overwhelming its resources to accurately receive authorized transmissions.)" ] }, "x_capec_domains": [ "Communications" ], "x_capec_example_instances": [ "An attempt to deceive a GPS receiver by broadcasting counterfeit GPS signals, structured to resemble a set of normal GPS signals. These jamming signals may be structured in such a way as to cause the receiver to estimate its position to be somewhere other than where it actually is, or to be located where it is but at a different time, as determined by the adversary." ], "x_capec_likelihood_of_attack": "Low", "x_capec_resources_required": [ "\n A terrestrial satellite jammer with a signal more powerful than that of the satellite attempting to communicate with the target.\n The adversary must know the location of the target satellite dish.\n " ], "x_capec_status": "Draft", "x_capec_typical_severity": "High", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "An attacker changes the behavior or state of a targeted application through injecting data or command syntax through the targets use of non-validated and non-filtered arguments of exposed services or methods.", "external_references": [ { "external_id": "CAPEC-6", "source_name": "capec", "url": "https://capec.mitre.org/data/definitions/6.html" }, { "external_id": "CWE-74", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/74.html" }, { "external_id": "CWE-146", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/146.html" }, { "external_id": "CWE-184", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/184.html" }, { "external_id": "CWE-78", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/78.html" }, { "external_id": "CWE-185", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/185.html" }, { "external_id": "CWE-697", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/697.html" }, { "description": "G. Hoglund, G. McGraw, Exploiting Software: How to Break Code, 2004--02, Addison-Wesley", "external_id": "REF-1", "source_name": "reference_from_CAPEC" }, { "description": "Jouko Pynnonen, Java Web Start argument injection vulnerability", "external_id": "REF-482", "source_name": "reference_from_CAPEC", "url": "http://www.securityfocus.com/archive/1/393696" } ], "id": "attack-pattern--b97b706c-8b6e-4681-a22b-89d5e53134b7", "modified": "2021-06-24T00:00:00.000Z", "name": "Argument Injection", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "attack-pattern", "x_capec_abstraction": "Standard", "x_capec_child_of_refs": [ "attack-pattern--cde07b71-23e6-418d-93e9-665f5f83b032" ], "x_capec_consequences": { "Access_Control": [ "Gain Privileges" ], "Authorization": [ "Gain Privileges" ], "Confidentiality": [ "Gain Privileges", "Read Data" ], "Integrity": [ "Modify Data" ] }, "x_capec_domains": [ "Software" ], "x_capec_example_instances": [ "A recent example instance of argument injection occurred against Java Web Start technology, which eases the client side deployment for Java programs. The JNLP files that are used to describe the properties for the program. The client side Java runtime used the arguments in the property setting to define execution parameters, but if the attacker appends commands to an otherwise legitimate property file, then these commands are sent to the client command shell. [REF-482]" ], "x_capec_execution_flow": "

Execution Flow

Explore

  1. Discovery of potential injection vectors: Using an automated tool or manual discovery, the attacker identifies services or methods with arguments that could potentially be used as injection vectors (OS, API, SQL procedures, etc.).

  2. Techniques
    Manually cover the application and record the possible places where arguments could be passed into external systems.
    Use a spider, for web applications, to create a list of URLs and associated inputs.

Experiment

  1. 1. Attempt variations on argument content: Possibly using an automated tool, the attacker will perform injection variations of the arguments.

  2. Techniques
    Use a very large list of probe strings in order to detect if there is a positive result, and, what type of system has been targeted (if obscure).
    Use a proxy tool to record results, error messages and/or log if accessible.

Exploit

  1. Abuse of the application: The attacker injects specific syntax into a particular argument in order to generate a specific malicious effect in the targeted application.

  2. Techniques
    Manually inject specific payload into targeted argument.
", "x_capec_likelihood_of_attack": "High", "x_capec_prerequisites": [ "Target software fails to strip all user-supplied input of any content that could cause the shell to perform unexpected actions.", "Software must allow for unvalidated or unfiltered input to be executed on operating system shell, and, optionally, the system configuration must allow for output to be sent back to client." ], "x_capec_resources_required": [ "Ability to communicate synchronously or asynchronously with server. Optionally, ability to capture output directly through synchronous communication or other method such as FTP." ], "x_capec_skills_required": { "Medium": "The attacker has to identify injection vector, identify the operating system-specific commands, and optionally collect the output." }, "x_capec_status": "Draft", "x_capec_typical_severity": "High", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "Design: Do not program input values directly on command shell, instead treat user input as guilty until proven innocent. Build a function that takes user input and converts it to applications specific types and values, stripping or filtering out all unauthorized commands and characters in the process.", "id": "course-of-action--0ff4be5f-0c27-443a-9c06-f1273aacf899", "modified": "2021-06-24T00:00:00.000Z", "name": "coa-6-0", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "course-of-action", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--196a8c07-3041-48df-97b8-d20a2bf800b7", "modified": "2021-06-24T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--0ff4be5f-0c27-443a-9c06-f1273aacf899", "spec_version": "2.1", "target_ref": "attack-pattern--b97b706c-8b6e-4681-a22b-89d5e53134b7", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "Design: Limit program privileges, so if metacharacters or other methods circumvent program input validation routines and shell access is attained then it is not running under a privileged account. chroot jails create a sandbox for the application to execute in, making it more difficult for an attacker to elevate privilege even in the case that a compromise has occurred.", "id": "course-of-action--320708f6-d5a8-4781-bcef-5d707ceeb0f0", "modified": "2021-06-24T00:00:00.000Z", "name": "coa-6-1", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "course-of-action", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--c3192605-c8b0-48c6-a253-ced90d7fe3e0", "modified": "2021-06-24T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--320708f6-d5a8-4781-bcef-5d707ceeb0f0", "spec_version": "2.1", "target_ref": "attack-pattern--b97b706c-8b6e-4681-a22b-89d5e53134b7", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "Implementation: Implement an audit log that is written to a separate host, in the event of a compromise the audit log may be able to provide evidence and details of the compromise.", "id": "course-of-action--9c1506e3-58e3-4856-866d-9ec6c8a8a9ad", "modified": "2021-06-24T00:00:00.000Z", "name": "coa-6-2", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "course-of-action", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--ba5cb3e3-2de4-49cd-a6c0-587480f23acd", "modified": "2021-06-24T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--9c1506e3-58e3-4856-866d-9ec6c8a8a9ad", "spec_version": "2.1", "target_ref": "attack-pattern--b97b706c-8b6e-4681-a22b-89d5e53134b7", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "This attack targets the reuse of valid session ID to spoof the target system in order to gain privileges. The attacker tries to reuse a stolen session ID used previously during a transaction to perform spoofing and session hijacking. Another name for this type of attack is Session Replay.", "external_references": [ { "external_id": "CAPEC-60", "source_name": "capec", "url": "https://capec.mitre.org/data/definitions/60.html" }, { "external_id": "CWE-294", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/294.html" }, { "external_id": "CWE-290", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/290.html" }, { "external_id": "CWE-346", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/346.html" }, { "external_id": "CWE-384", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/384.html" }, { "external_id": "CWE-488", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/488.html" }, { "external_id": "CWE-539", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/539.html" }, { "external_id": "CWE-200", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/200.html" }, { "external_id": "CWE-285", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/285.html" }, { "external_id": "CWE-664", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/664.html" }, { "external_id": "CWE-732", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/732.html" }, { "description": "Access Token Manipulation:Token Impersonation/Theft", "external_id": "T1134.001", "source_name": "ATTACK", "url": "https://attack.mitre.org/wiki/Technique/T1134/001" }, { "description": "Use Alternate Authentication Material:Web Session Cookie", "external_id": "T1550.004", "source_name": "ATTACK", "url": "https://attack.mitre.org/wiki/Technique/T1550/004" }, { "description": "G. Hoglund, G. McGraw, Exploiting Software: How to Break Code, 2004--02, Addison-Wesley", "external_id": "REF-1", "source_name": "reference_from_CAPEC" } ], "id": "attack-pattern--a15ef978-f79c-4a64-8c63-8ab413d42b0f", "modified": "2022-09-29T00:00:00.000Z", "name": "Reusing Session IDs (aka Session Replay)", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "attack-pattern", "x_capec_abstraction": "Detailed", "x_capec_child_of_refs": [ "attack-pattern--63f43efb-7a34-4302-b3dc-8245100fdea9" ], "x_capec_consequences": { "Access_Control": [ "Gain Privileges" ], "Authorization": [ "Gain Privileges" ], "Confidentiality": [ "Gain Privileges" ] }, "x_capec_domains": [ "Software" ], "x_capec_example_instances": [ "OpenSSL and SSLeay allow remote attackers to reuse SSL sessions and bypass access controls. See also: CVE-1999-0428", "Merak Mail IceWarp Web Mail uses a static identifier as a user session ID that does not change across sessions, which could allow remote attackers with access to the ID to gain privileges as that user, e.g. by extracting the ID from the user's answer or forward URLs. See also: CVE-2002-0258" ], "x_capec_execution_flow": "

Execution Flow

Explore

  1. The attacker interacts with the target host and finds that session IDs are used to authenticate users.

  2. The attacker steals a session ID from a valid user.

Exploit

  1. The attacker tries to use the stolen session ID to gain access to the system with the privileges of the session ID's original owner.

", "x_capec_likelihood_of_attack": "High", "x_capec_prerequisites": [ "The target host uses session IDs to keep track of the users.", "Session IDs are used to control access to resources.", "The session IDs used by the target host are not well protected from session theft." ], "x_capec_skills_required": { "Low": "If an attacker can steal a valid session ID, they can then try to be authenticated with that stolen session ID.", "Medium": "More sophisticated attack can be used to hijack a valid session from a user and spoof a legitimate user by reusing their valid session ID." }, "x_capec_status": "Draft", "x_capec_typical_severity": "High", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "Always invalidate a session ID after the user logout.", "id": "course-of-action--e132b1ab-8471-4391-8be7-58657c09f46c", "modified": "2022-09-29T00:00:00.000Z", "name": "coa-60-0", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "course-of-action", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--908e8d74-13d5-49a7-ac4c-99df0daf47f0", "modified": "2022-09-29T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--e132b1ab-8471-4391-8be7-58657c09f46c", "spec_version": "2.1", "target_ref": "attack-pattern--a15ef978-f79c-4a64-8c63-8ab413d42b0f", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "Setup a session time out for the session IDs.", "id": "course-of-action--887085f5-8775-46fa-bca9-fa2fa8d395a3", "modified": "2022-09-29T00:00:00.000Z", "name": "coa-60-1", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "course-of-action", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--1f28d834-ffd7-4c6d-ad68-e70a69745dc9", "modified": "2022-09-29T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--887085f5-8775-46fa-bca9-fa2fa8d395a3", "spec_version": "2.1", "target_ref": "attack-pattern--a15ef978-f79c-4a64-8c63-8ab413d42b0f", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "Protect the communication between the client and server. For instance it is best practice to use SSL to mitigate adversary in the middle attacks (CAPEC-94).", "id": "course-of-action--4f370dea-3940-4d61-bccc-2945efaee2fc", "modified": "2022-09-29T00:00:00.000Z", "name": "coa-60-2", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "course-of-action", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--eb55e2e4-e6f7-45ee-9ae9-fd7631b85a05", "modified": "2022-09-29T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--4f370dea-3940-4d61-bccc-2945efaee2fc", "spec_version": "2.1", "target_ref": "attack-pattern--a15ef978-f79c-4a64-8c63-8ab413d42b0f", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "Do not code send session ID with GET method, otherwise the session ID will be copied to the URL. In general avoid writing session IDs in the URLs. URLs can get logged in log files, which are vulnerable to an attacker.", "id": "course-of-action--c2568b87-4ece-4f22-a1c1-5305dd455ab4", "modified": "2022-09-29T00:00:00.000Z", "name": "coa-60-3", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "course-of-action", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--71ab000c-de21-4717-95f9-4aae387d2d7c", "modified": "2022-09-29T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--c2568b87-4ece-4f22-a1c1-5305dd455ab4", "spec_version": "2.1", "target_ref": "attack-pattern--a15ef978-f79c-4a64-8c63-8ab413d42b0f", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "Encrypt the session data associated with the session ID.", "id": "course-of-action--bfd1036e-01fb-4b7d-a112-830c3c3a4b0e", "modified": "2022-09-29T00:00:00.000Z", "name": "coa-60-4", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "course-of-action", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--c5dc170d-4034-4559-acd3-ad3cfff69416", "modified": "2022-09-29T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--bfd1036e-01fb-4b7d-a112-830c3c3a4b0e", "spec_version": "2.1", "target_ref": "attack-pattern--a15ef978-f79c-4a64-8c63-8ab413d42b0f", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "Use multifactor authentication.", "id": "course-of-action--f8aa308d-e6bc-4de3-86be-da1213ff1371", "modified": "2022-09-29T00:00:00.000Z", "name": "coa-60-5", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "course-of-action", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--1f886c45-625d-4dd6-9659-8b92fdb432e3", "modified": "2022-09-29T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--f8aa308d-e6bc-4de3-86be-da1213ff1371", "spec_version": "2.1", "target_ref": "attack-pattern--a15ef978-f79c-4a64-8c63-8ab413d42b0f", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2020-07-30T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "\n An adversary tries known username/password combinations against different systems, applications, or services to gain additional authenticated access. Credential Stuffing attacks rely upon the fact that many users leverage the same username/password combination for multiple systems, applications, and services.\n ", "external_references": [ { "external_id": "CAPEC-600", "source_name": "capec", "url": "https://capec.mitre.org/data/definitions/600.html" }, { "external_id": "CWE-522", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/522.html" }, { "external_id": "CWE-307", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/307.html" }, { "external_id": "CWE-308", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/308.html" }, { "external_id": "CWE-309", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/309.html" }, { "external_id": "CWE-262", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/262.html" }, { "external_id": "CWE-263", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/263.html" }, { "external_id": "CWE-654", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/654.html" }, { "description": "Brute Force:Credential Stuffing", "external_id": "T1110.004", "source_name": "ATTACK", "url": "https://attack.mitre.org/wiki/Technique/T1110/004" }, { "description": "Credential stuffing", "source_name": "OWASP Attacks", "url": "https://owasp.org/www-community/attacks/Credential_stuffing" }, { "description": "Alert (TA18-086A): Brute Force Attacks Conducted by Cyber Actors, 2018--03---27, Cybersecurity and Infrastructure Security Agency (CISA)", "external_id": "REF-567", "source_name": "reference_from_CAPEC", "url": "https://www.us-cert.gov/ncas/alerts/TA18-086A" }, { "description": "Credential stuffing, Open Web Application Security Project (OWASP)", "external_id": "REF-568", "source_name": "reference_from_CAPEC", "url": "https://owasp.org/www-community/attacks/Credential_stuffing" }, { "description": "Jessica Silver-Greenberg, Matthew Goldstein, Nicole Perlroth, JPMorgan Chase Hacking Affects 76 Million Households, 2014--10---02, The New York Times", "external_id": "REF-569", "source_name": "reference_from_CAPEC", "url": "https://dealbook.nytimes.com/2014/10/02/jpmorgan-discovers-further-cyber-security-issues/" } ], "id": "attack-pattern--03a731ef-751b-43de-9159-9667d4be4d1a", "modified": "2022-09-29T00:00:00.000Z", "name": "Credential Stuffing", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "attack-pattern", "x_capec_abstraction": "Standard", "x_capec_can_follow_refs": [ "attack-pattern--4e7abad3-5853-4e4b-a64e-7f23f10f8656", "attack-pattern--a9dc4914-409a-4f71-80df-c5cc3923d112", "attack-pattern--8d88a81c-bde9-4fb3-acbe-901c783d6427", "attack-pattern--addd93c9-9278-4185-b402-e505d632c815", "attack-pattern--a390cb72-b4de-4750-ae05-be556c89f4be", "attack-pattern--f724f0f3-20e6-450c-be4a-f373ea08834d", "attack-pattern--fab7fb48-4503-4e03-980f-9bc827be929f", "attack-pattern--8c7bab16-5ecd-4778-9b04-c185bceed170" ], "x_capec_can_precede_refs": [ "attack-pattern--22802ed6-ddc6-4da7-b6be-60b10d26198b", "attack-pattern--2618d0a4-06d0-4bde-8271-2df61ed8297a" ], "x_capec_child_of_refs": [ "attack-pattern--886a7175-e28a-4e6d-bd22-3b1497e31dc7" ], "x_capec_consequences": { "Access_Control": [ "Gain Privileges" ], "Authentication": [ "Gain Privileges" ], "Authorization": [ "Read Data" ], "Confidentiality": [ "Gain Privileges", "Read Data" ], "Integrity": [ "Modify Data" ] }, "x_capec_domains": [ "Software" ], "x_capec_example_instances": [ "A user leverages the password \"Password123\" for a handful of application logins. An adversary obtains a victim's username/password combination from a breach of a social media application and executes a Credential Stuffing attack against multiple banking and credit card applications. Since the user leverages the same credentials for their bank account login, the adversary successfully authenticates to the user's bank account and transfer money to an offshore account.", "In October 2014 J.P. Morgan's Corporate Challenge website was breached, resulting in adversaries obtaining multiple username/password pairs. A Credential Stuffing attack was then executed against J.P. Morgan Chase, which resulted in over 76 million households having their accounts compromised." ], "x_capec_execution_flow": "

Execution Flow

Explore

  1. Acquire known credentials: The adversary must obtain known credentials in order to access the target system, application, or service.

  2. Techniques
    An adversary purchases breached username/password combinations or leaked hashed passwords from the dark web.
    An adversary leverages a key logger or phishing attack to steal user credentials as they are provided.
    An adversary conducts a sniffing attack to steal credentials as they are transmitted.
    An adversary gains access to a database and exfiltrates password hashes.
    An adversary examines outward-facing configuration and properties files to discover hardcoded credentials.
  3. Determine target's password policy: Determine the password policies of the target system/application to determine if the known credentials fit within the specified criteria.

  4. Techniques
    Determine minimum and maximum allowed password lengths.
    Determine format of allowed passwords (whether they are required or allowed to contain numbers, special characters, etc., or whether they are allowed to contain words from the dictionary).
    Determine account lockout policy (a strict account lockout policy will prevent brute force attacks if multiple passwords are known for a single user account).

Experiment

  1. Attempt authentication: Try each username/password combination until the target grants access.

  2. Techniques
    Manually or automatically enter each username/password combination through the target's interface.

Exploit

  1. Impersonate: An adversary can use successful experiments or authentications to impersonate an authorized user or system or to laterally move within a system or application

  2. Spoofing: Malicious data can be injected into the target system or into a victim user's system by an adversary. The adversary can also pose as a legitimate user to perform social engineering attacks.

  3. Data Exfiltration: The adversary can obtain sensitive data contained within the system or application.

", "x_capec_extended_description": "\n Attacks of this kind often target management services over commonly used ports such as SSH, FTP, Telnet, LDAP, Kerberos, MySQL, and more. Additional targets include Single Sign-On (SSO) or cloud-based applications/services that utilize federated authentication protocols, and externally facing applications.\n The primary goal of Credential Stuffing is to achieve lateral movement and gain authenticated access to additional systems, applications, and/or services. A successfully executed Credential Stuffing attack could result in the adversary impersonating the victim or executing any action that the victim is authorized to perform.\n Although not technically a brute force attack, Credential Stuffing attacks can function as such if an adversary possess multiple known passwords for the same user account. This may occur in the event where an adversary obtains user credentials from multiple sources or if the adversary obtains a user's password history for an account.\n Credential Stuffing attacks are similar to Password Spraying attacks (CAPEC-565) regarding their targets and their overall goals. However, Password Spraying attacks do not have any insight into known username/password combinations and instead leverage common or expected passwords. This also means that Password Spraying attacks must avoid inducing account lockouts, which is generally not a worry of Credential Stuffing attacks. Password Spraying attacks may additionally lead to Credential Stuffing attacks, once a successful username/password combination is discovered.\n ", "x_capec_likelihood_of_attack": "High", "x_capec_prerequisites": [ "The system/application uses one factor password based authentication, SSO, and/or cloud-based authentication.", "The system/application does not have a sound password policy that is being enforced.", "The system/application does not implement an effective password throttling mechanism.", "The adversary possesses a list of known user accounts and corresponding passwords that may exist on the target." ], "x_capec_resources_required": [ "A machine with sufficient resources for the job (e.g. CPU, RAM, HD).", "A known list of username/password combinations.", "A custom script that leverages the credential list to launch the attack." ], "x_capec_skills_required": { "Low": "A Credential Stuffing attack is very straightforward." }, "x_capec_status": "Stable", "x_capec_typical_severity": "High", "x_capec_version": "3.9" }, { "created": "2020-07-30T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--c4ceb80d-d66e-40ed-8041-badec381e5b7", "modified": "2022-09-29T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--b8f274c3-95ed-4968-afdc-6a8a87a6fb19", "spec_version": "2.1", "target_ref": "attack-pattern--03a731ef-751b-43de-9159-9667d4be4d1a", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2020-07-30T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--5041416c-f169-4ccd-a849-d3df74a189c9", "modified": "2022-09-29T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--93ed0e66-1693-44b2-b416-bee8db1ad4c2", "spec_version": "2.1", "target_ref": "attack-pattern--03a731ef-751b-43de-9159-9667d4be4d1a", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2020-07-30T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--31e79d3e-c3fa-47e2-9e66-4fec40ce3d44", "modified": "2022-09-29T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--f17a2576-00f1-49a8-b554-5ec205ca54a2", "spec_version": "2.1", "target_ref": "attack-pattern--03a731ef-751b-43de-9159-9667d4be4d1a", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2020-07-30T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--46e1f0c5-b178-4459-96f1-6522f4e3e9ab", "modified": "2022-09-29T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--7c813ade-2f68-46ad-b0ff-b3aa1d6f16d0", "spec_version": "2.1", "target_ref": "attack-pattern--03a731ef-751b-43de-9159-9667d4be4d1a", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2020-07-30T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--c5bcb0cc-37a1-46f8-8b46-cd63f87de636", "modified": "2022-09-29T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--8e39cc3a-64c4-488e-84a3-e2613bdb1254", "spec_version": "2.1", "target_ref": "attack-pattern--03a731ef-751b-43de-9159-9667d4be4d1a", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2020-07-30T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--3123edea-0c54-4b71-be21-4d83cea9c940", "modified": "2022-09-29T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--9d97f821-8b04-46bf-a725-33db09a739da", "spec_version": "2.1", "target_ref": "attack-pattern--03a731ef-751b-43de-9159-9667d4be4d1a", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2020-07-30T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--5589acda-9084-4d60-a9f7-5bb13e6d9196", "modified": "2022-09-29T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--36387909-c46a-4d0f-8954-bbc4c954c9a9", "spec_version": "2.1", "target_ref": "attack-pattern--03a731ef-751b-43de-9159-9667d4be4d1a", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2020-07-30T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--ba6343af-b630-429a-b10a-f9e9ac7ff6a2", "modified": "2022-09-29T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--ab6c4df3-7bf9-4fdd-8c2a-9055c0aea441", "spec_version": "2.1", "target_ref": "attack-pattern--03a731ef-751b-43de-9159-9667d4be4d1a", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2015-11-09T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "An adversary uses radio noise or signals in an attempt to disrupt communications. By intentionally overwhelming system resources with illegitimate traffic, service is denied to the legitimate traffic of authorized users.", "external_references": [ { "external_id": "CAPEC-601", "source_name": "capec", "url": "https://capec.mitre.org/data/definitions/601.html" } ], "id": "attack-pattern--7534fc4c-f683-4918-8f62-005e0402d18a", "modified": "2019-09-30T00:00:00.000Z", "name": "Jamming", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "attack-pattern", "x_capec_abstraction": "Standard", "x_capec_child_of_refs": [ "attack-pattern--576968ad-12ef-46d8-bb10-63f496bcaccb" ], "x_capec_consequences": { "Availability": [ "Other (The jamming of equipment denies the availability of functioning communications services.)" ] }, "x_capec_domains": [ "Communications" ], "x_capec_likelihood_of_attack": "Medium", "x_capec_parent_of_refs": [ "attack-pattern--7a6e0e5c-f18e-4612-aaa6-68bdeb378b31", "attack-pattern--bac3d2d8-864c-4519-8e16-6d4e4fee6031", "attack-pattern--17593c9a-d8a0-4ef3-8da1-9d948426bbb8" ], "x_capec_status": "Draft", "x_capec_typical_severity": "High", "x_capec_version": "3.9" }, { "created": "2015-11-09T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "This attack pattern has been deprecated.", "external_references": [ { "external_id": "CAPEC-602", "source_name": "capec", "url": "https://capec.mitre.org/data/definitions/602.html" } ], "id": "attack-pattern--2fb09678-092a-490d-b2da-fff20a696219", "modified": "2017-05-01T00:00:00.000Z", "name": "DEPRECATED: Degradation", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "attack-pattern", "x_capec_abstraction": "Meta", "x_capec_status": "Deprecated", "x_capec_version": "3.9" }, { "created": "2015-11-09T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "An adversary blocks the delivery of an important system resource causing the system to fail or stop working.", "external_references": [ { "external_id": "CAPEC-603", "source_name": "capec", "url": "https://capec.mitre.org/data/definitions/603.html" } ], "id": "attack-pattern--ec0de204-6b66-4c4f-a401-21afa72f3941", "modified": "2019-09-30T00:00:00.000Z", "name": "Blockage", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "attack-pattern", "x_capec_abstraction": "Standard", "x_capec_child_of_refs": [ "attack-pattern--576968ad-12ef-46d8-bb10-63f496bcaccb" ], "x_capec_consequences": { "Availability": [ "Other (Blocking a resource from functional operation denies its availability to authorized users.)" ] }, "x_capec_domains": [ "Communications", "Software" ], "x_capec_likelihood_of_attack": "Medium", "x_capec_parent_of_refs": [ "attack-pattern--5a002211-15f2-487f-8a5d-b09150ac1138", "attack-pattern--5c216971-78b5-4ac1-9cbe-f46fe1c632d1", "attack-pattern--807e5b36-9da9-4be8-9f6e-5d8c7258cff5" ], "x_capec_prerequisites": [ "This attack pattern requires knowledge of where important system resources are logically located as well as how they operate." ], "x_capec_status": "Draft", "x_capec_typical_severity": "High", "x_capec_version": "3.9" }, { "created": "2015-11-09T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "In this attack scenario, the attacker actively transmits on the Wi-Fi channel to prevent users from transmitting or receiving data from the targeted Wi-Fi network. There are several known techniques to perform this attack – for example: the attacker may flood the Wi-Fi access point (e.g. the retransmission device) with deauthentication frames. Another method is to transmit high levels of noise on the RF band used by the Wi-Fi network.", "external_references": [ { "external_id": "CAPEC-604", "source_name": "capec", "url": "https://capec.mitre.org/data/definitions/604.html" } ], "id": "attack-pattern--bac3d2d8-864c-4519-8e16-6d4e4fee6031", "modified": "2018-07-31T00:00:00.000Z", "name": "Wi-Fi Jamming", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "attack-pattern", "x_capec_abstraction": "Detailed", "x_capec_child_of_refs": [ "attack-pattern--7534fc4c-f683-4918-8f62-005e0402d18a" ], "x_capec_consequences": { "Availability": [ "Other (A successful attack will deny the availability of the Wi-fi network to authorized users.)", "Resource Consumption (The attacker's goal is to prevent users from accessing the wireless network. Denying connectivity to the wireless network prevents the user from being able to transmit or receive any data, which also prevents VOIP calls, however this attack poses no threat to data confidentiality.)" ] }, "x_capec_domains": [ "Communications" ], "x_capec_likelihood_of_attack": "Medium", "x_capec_prerequisites": [ "Lack of anti-jam features in 802.11", "Lack of authentication on deauthentication/disassociation packets on 802.11-based networks" ], "x_capec_skills_required": { "Low": "This attack can be performed by low capability attackers with freely available tools. Commercial tools are also available that can target select networks or all WiFi networks within a range of several miles." }, "x_capec_status": "Draft", "x_capec_typical_severity": "High", "x_capec_version": "3.9" }, { "created": "2015-11-09T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "Countermeasures have been proposed for both disassociation flooding and RF jamming, however these countermeasures are not standardized and would need to be supported on both the retransmission device and the handset in order to be effective. Commercial products are not currently available that support jamming countermeasures for Wi-Fi.", "id": "course-of-action--60934a01-b877-4253-9984-be3bf3629ab7", "modified": "2018-07-31T00:00:00.000Z", "name": "coa-604-0", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "course-of-action", "x_capec_version": "3.9" }, { "created": "2015-11-09T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--52128fa2-afdb-4097-bdd6-8f3b3095fc56", "modified": "2018-07-31T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--60934a01-b877-4253-9984-be3bf3629ab7", "spec_version": "2.1", "target_ref": "attack-pattern--bac3d2d8-864c-4519-8e16-6d4e4fee6031", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2015-11-09T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "In this attack scenario, the attacker actively transmits signals to overpower and disrupt the communication between a cellular user device and a cell tower. Several existing techniques are known in the open literature for this attack for 2G, 3G, and 4G LTE cellular technology. For example, some attacks target cell towers by overwhelming them with false status messages, while others introduce high levels of noise on signaling channels.", "external_references": [ { "external_id": "CAPEC-605", "source_name": "capec", "url": "https://capec.mitre.org/data/definitions/605.html" } ], "id": "attack-pattern--17593c9a-d8a0-4ef3-8da1-9d948426bbb8", "modified": "2018-07-31T00:00:00.000Z", "name": "Cellular Jamming", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "attack-pattern", "x_capec_abstraction": "Detailed", "x_capec_child_of_refs": [ "attack-pattern--7534fc4c-f683-4918-8f62-005e0402d18a" ], "x_capec_consequences": { "Availability": [ "Resource Consumption (The attacker's goal is to prevent users from accessing the cellular network. Denying connectivity to the cellular network prevents the user from being able to transmit or receive any data, which also prevents VOIP calls, however this attack poses no threat to data confidentiality.)" ] }, "x_capec_domains": [ "Communications" ], "x_capec_prerequisites": [ "Lack of anti-jam features in cellular technology (2G, 3G, 4G, LTE)" ], "x_capec_skills_required": { "Low": "This attack can be performed by low capability attackers with commercially available tools." }, "x_capec_status": "Draft", "x_capec_typical_severity": "Low", "x_capec_version": "3.9" }, { "created": "2015-11-09T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "Mitigating this attack requires countermeasures employed on both the retransmission device as well as on the cell tower. Therefore, any system that relies on existing commercial cell towards will likely be vulnerable to this attack. By using a private cellular LTE network (i.e., a custom cell tower), jamming countermeasures could be developed and employed.", "id": "course-of-action--5afa1aa9-7585-4544-991c-9152f9024393", "modified": "2018-07-31T00:00:00.000Z", "name": "coa-605-0", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "course-of-action", "x_capec_version": "3.9" }, { "created": "2015-11-09T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--10c74aec-704c-47cf-ae7a-7f2c590c4166", "modified": "2018-07-31T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--5afa1aa9-7585-4544-991c-9152f9024393", "spec_version": "2.1", "target_ref": "attack-pattern--17593c9a-d8a0-4ef3-8da1-9d948426bbb8", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2015-11-09T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "An attacker, with control of a Cellular Rogue Base Station or through cooperation with a Malicious Mobile Network Operator can force the mobile device (e.g., the retransmission device) to use no encryption (A5/0 mode) or to use easily breakable encryption (A5/1 or A5/2 mode).", "external_references": [ { "external_id": "CAPEC-606", "source_name": "capec", "url": "https://capec.mitre.org/data/definitions/606.html" }, { "external_id": "CWE-757", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/757.html" } ], "id": "attack-pattern--4480b2e7-bdb7-45fe-896b-dd895fbe3680", "modified": "2018-07-31T00:00:00.000Z", "name": "Weakening of Cellular Encryption", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "attack-pattern", "x_capec_abstraction": "Detailed", "x_capec_child_of_refs": [ "attack-pattern--e680008c-a642-4feb-a1c4-a29b54eb284a" ], "x_capec_consequences": { "Confidentiality": [ "Other (Tracking, Network Reconnaissance)" ] }, "x_capec_domains": [ "Software" ], "x_capec_prerequisites": [ "Cellular devices that allow negotiating security modes to facilitate backwards compatibility and roaming on legacy networks." ], "x_capec_skills_required": { "Medium": "Adversaries can purchase and implement rogue BTS stations at a cost effective rate, and can push a mobile device to downgrade to a non-secure cellular protocol like 2G over GSM or CDMA." }, "x_capec_status": "Draft", "x_capec_typical_severity": "High", "x_capec_version": "3.9" }, { "created": "2015-11-09T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "Use of hardened baseband firmware on retransmission device to detect and prevent the use of weak cellular encryption.", "id": "course-of-action--a04126f1-f0a0-4aa1-99e0-711b2d3e96d7", "modified": "2018-07-31T00:00:00.000Z", "name": "coa-606-0", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "course-of-action", "x_capec_version": "3.9" }, { "created": "2015-11-09T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--9467c544-8557-428f-9ebe-8a1fcc52a7f9", "modified": "2018-07-31T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--a04126f1-f0a0-4aa1-99e0-711b2d3e96d7", "spec_version": "2.1", "target_ref": "attack-pattern--4480b2e7-bdb7-45fe-896b-dd895fbe3680", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2015-11-09T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "Monitor cellular RF interface to detect the usage of weaker-than-expected cellular encryption.", "id": "course-of-action--f0d5b9cf-bcc9-4462-a783-d4e7f17ceada", "modified": "2018-07-31T00:00:00.000Z", "name": "coa-606-1", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "course-of-action", "x_capec_version": "3.9" }, { "created": "2015-11-09T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--913cda1e-62b6-4e54-9557-3e3626768a59", "modified": "2018-07-31T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--f0d5b9cf-bcc9-4462-a783-d4e7f17ceada", "spec_version": "2.1", "target_ref": "attack-pattern--4480b2e7-bdb7-45fe-896b-dd895fbe3680", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2015-11-09T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "An attacker obstructs the interactions between system components. By interrupting or disabling these interactions, an adversary can often force the system into a degraded state or cause the system to stop working as intended. This can cause the system components to be unavailable until the obstruction mitigated.", "external_references": [ { "external_id": "CAPEC-607", "source_name": "capec", "url": "https://capec.mitre.org/data/definitions/607.html" } ], "id": "attack-pattern--576968ad-12ef-46d8-bb10-63f496bcaccb", "modified": "2023-01-24T00:00:00.000Z", "name": "Obstruction", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "attack-pattern", "x_capec_abstraction": "Meta", "x_capec_can_follow_refs": [ "attack-pattern--61546d1a-d720-4609-89ca-12039268d502" ], "x_capec_consequences": { "Availability": [ "Resource Consumption" ] }, "x_capec_domains": [ "Social Engineering", "Communications", "Software", "Physical Security", "Hardware" ], "x_capec_parent_of_refs": [ "attack-pattern--475af086-5223-4210-910a-5217445c0c23", "attack-pattern--795c323b-cae6-4846-99f1-dad3fe0ab8e8", "attack-pattern--7534fc4c-f683-4918-8f62-005e0402d18a", "attack-pattern--ec0de204-6b66-4c4f-a401-21afa72f3941" ], "x_capec_status": "Draft", "x_capec_version": "3.9" }, { "created": "2015-11-09T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "The use of cryptanalytic techniques to derive cryptographic keys or otherwise effectively defeat cellular encryption to reveal traffic content. Some cellular encryption algorithms such as A5/1 and A5/2 (specified for GSM use) are known to be vulnerable to such attacks and commercial tools are available to execute these attacks and decrypt mobile phone conversations in real-time. Newer encryption algorithms in use by UMTS and LTE are stronger and currently believed to be less vulnerable to these types of attacks. Note, however, that an attacker with a Cellular Rogue Base Station can force the use of weak cellular encryption even by newer mobile devices.", "external_references": [ { "external_id": "CAPEC-608", "source_name": "capec", "url": "https://capec.mitre.org/data/definitions/608.html" }, { "external_id": "CWE-327", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/327.html" } ], "id": "attack-pattern--9dded599-dd66-4a4c-8f17-6afb81c234f8", "modified": "2020-07-30T00:00:00.000Z", "name": "Cryptanalysis of Cellular Encryption", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "attack-pattern", "x_capec_abstraction": "Detailed", "x_capec_child_of_refs": [ "attack-pattern--f1336271-5f27-40de-a61b-aba6572d120f" ], "x_capec_consequences": { "Confidentiality": [ "Other (Reveals IMSI and IMEI for tracking of retransmission device and enables further follow-on attacks by revealing black network control messages. (e.g., revealing IP addresses of enterprise servers for VOIP connectivity))" ] }, "x_capec_domains": [ "Communications" ], "x_capec_prerequisites": [ "None" ], "x_capec_skills_required": { "Medium": "Adversaries can rent commercial supercomputer time globally to conduct cryptanalysis on encrypted data captured from mobile devices. Foreign governments have their own cryptanalysis technology and capabilities. Commercial cellular standards for encryption (GSM and CDMA) are also subject to adversary cryptanalysis." }, "x_capec_status": "Draft", "x_capec_typical_severity": "High", "x_capec_version": "3.9" }, { "created": "2015-11-09T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--75de4a67-623a-4c5a-a757-9f143a48b1d9", "modified": "2020-07-30T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--a04126f1-f0a0-4aa1-99e0-711b2d3e96d7", "spec_version": "2.1", "target_ref": "attack-pattern--9dded599-dd66-4a4c-8f17-6afb81c234f8", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2015-11-09T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--56a59dd2-1721-46b2-84d7-cdcd15e06ca7", "modified": "2020-07-30T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--f0d5b9cf-bcc9-4462-a783-d4e7f17ceada", "spec_version": "2.1", "target_ref": "attack-pattern--9dded599-dd66-4a4c-8f17-6afb81c234f8", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2015-11-09T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "Cellular traffic for voice and data from mobile devices and retransmission devices can be intercepted via numerous methods. Malicious actors can deploy their own cellular tower equipment and intercept cellular traffic surreptitiously. Additionally, government agencies of adversaries and malicious actors can intercept cellular traffic via the telecommunications backbone over which mobile traffic is transmitted.", "external_references": [ { "external_id": "CAPEC-609", "source_name": "capec", "url": "https://capec.mitre.org/data/definitions/609.html" }, { "external_id": "CWE-311", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/311.html" }, { "description": "Multi-Factor Authentication Interception", "external_id": "T1111", "source_name": "ATTACK", "url": "https://attack.mitre.org/wiki/Technique/T1111" } ], "id": "attack-pattern--c7f0c73b-fe94-49c9-89bb-a3ec4441e4ee", "modified": "2022-09-29T00:00:00.000Z", "name": "Cellular Traffic Intercept", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "attack-pattern", "x_capec_abstraction": "Detailed", "x_capec_child_of_refs": [ "attack-pattern--bdcdc784-d891-4ca8-847b-38ddca37a6ec" ], "x_capec_consequences": { "Confidentiality": [ "Read Data (Capture all cellular and RF traffic from mobile and retransmission devices. Move bulk traffic capture to storage area for cryptanalysis of encrypted traffic, and telemetry analysis of non-encrypted data. (packet headers, cellular power data, signal strength, etc.))" ] }, "x_capec_domains": [ "Communications" ], "x_capec_prerequisites": [ "None" ], "x_capec_skills_required": { "Medium": "Adversaries can purchase hardware and software solutions, or create their own solutions, to capture/intercept cellular radio traffic. The cost of a basic Base Transceiver Station (BTS) to broadcast to local mobile cellular radios in mobile devices has dropped to very affordable costs. The ability of commercial cellular providers to monitor for \"rogue\" BTS stations is poor in many areas and it is assumed that \"rogue\" BTS stations exist in urban areas." }, "x_capec_status": "Draft", "x_capec_typical_severity": "Low", "x_capec_version": "3.9" }, { "created": "2015-11-09T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "Encryption of all data packets emanating from the smartphone to a retransmission device via two encrypted tunnels with Suite B cryptography, all the way to the VPN gateway at the datacenter.", "id": "course-of-action--c7b42679-6d45-41dc-b732-6310e2569805", "modified": "2022-09-29T00:00:00.000Z", "name": "coa-609-0", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "course-of-action", "x_capec_version": "3.9" }, { "created": "2015-11-09T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--c4813a8a-b41c-4718-8323-0bdb7fabf19c", "modified": "2022-09-29T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--c7b42679-6d45-41dc-b732-6310e2569805", "spec_version": "2.1", "target_ref": "attack-pattern--c7f0c73b-fe94-49c9-89bb-a3ec4441e4ee", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "The attacker induces a client to establish a session with the target software using a session identifier provided by the attacker. Once the user successfully authenticates to the target software, the attacker uses the (now privileged) session identifier in their own transactions. This attack leverages the fact that the target software either relies on client-generated session identifiers or maintains the same session identifiers after privilege elevation.", "external_references": [ { "external_id": "CAPEC-61", "source_name": "capec", "url": "https://capec.mitre.org/data/definitions/61.html" }, { "external_id": "CWE-384", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/384.html" }, { "external_id": "CWE-664", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/664.html" }, { "external_id": "CWE-732", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/732.html" }, { "description": "Session Fixation", "external_id": "37", "source_name": "WASC", "url": "http://projects.webappsec.org/Session-Fixation" }, { "description": "Session fixation", "source_name": "OWASP Attacks", "url": "https://owasp.org/www-community/attacks/Session_fixation" }, { "description": "G. Hoglund, G. McGraw, Exploiting Software: How to Break Code, 2004--02, Addison-Wesley", "external_id": "REF-1", "source_name": "reference_from_CAPEC" }, { "description": "OWASP Web Security Testing Guide, The Open Web Application Security Project (OWASP)", "external_id": "REF-601", "source_name": "reference_from_CAPEC", "url": "https://owasp.org/www-project-web-security-testing-guide/latest/4-Web_Application_Security_Testing/06-Session_Management_Testing/03-Testing_for_Session_Fixation.html" } ], "id": "attack-pattern--c1e3e934-5b43-4af9-b92b-9a4837a90c14", "modified": "2021-06-24T00:00:00.000Z", "name": "Session Fixation", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "attack-pattern", "x_capec_abstraction": "Detailed", "x_capec_can_follow_refs": [ "attack-pattern--414d0884-4f46-4a51-b4ea-72125c7f5f9e" ], "x_capec_child_of_refs": [ "attack-pattern--63f43efb-7a34-4302-b3dc-8245100fdea9" ], "x_capec_consequences": { "Access_Control": [ "Gain Privileges" ], "Authorization": [ "Gain Privileges" ], "Confidentiality": [ "Gain Privileges" ] }, "x_capec_domains": [ "Software" ], "x_capec_example_instances": [ "Consider a banking application that issues a session identifier in the URL to a user before login, and uses the same identifier to identify the customer following successful authentication. An attacker can easily leverage session fixation to access a victim's account by having the victim click on a forged link that contains a valid session identifier from a trapped session setup by the attacker. Once the victim is authenticated, the attacker can take over the session and continue with the same levels of privilege as the victim.", "An attacker can hijack user sessions, bypass authentication controls and possibly gain administrative privilege by fixating the session of a user authenticating to the Management Console on certain versions of Macromedia JRun 4.0. This can be achieved by setting the session identifier in the user's browser and having the user authenticate to the Management Console. Session fixation is possible since the application server does not regenerate session identifiers when there is a change in the privilege levels. See also: CVE-2004-2182" ], "x_capec_execution_flow": "

Execution Flow

Explore

  1. Setup the Attack: Setup a session: The attacker has to setup a trap session that provides a valid session identifier, or select an arbitrary identifier, depending on the mechanism employed by the application. A trap session is a dummy session established with the application by the attacker and is used solely for the purpose of obtaining valid session identifiers. The attacker may also be required to periodically refresh the trap session in order to obtain valid session identifiers.

  2. Techniques
    The attacker chooses a predefined identifier that they know.
    The attacker creates a trap session for the victim.

Experiment

  1. Attract a Victim: Fixate the session: The attacker now needs to transfer the session identifier from the trap session to the victim by introducing the session identifier into the victim's browser. This is known as fixating the session. The session identifier can be introduced into the victim's browser by leveraging cross site scripting vulnerability, using META tags or setting HTTP response headers in a variety of ways.

  2. Techniques
    Attackers can put links on web sites (such as forums, blogs, or comment forms).
    Attackers can establish rogue proxy servers for network protocols that give out the session ID and then redirect the connection to the legitimate service.
    Attackers can email attack URLs to potential victims through spam and phishing techniques.

Exploit

  1. Abuse the Victim's Session: Takeover the fixated session: Once the victim has achieved a higher level of privilege, possibly by logging into the application, the attacker can now take over the session using the fixated session identifier.

  2. Techniques
    The attacker loads the predefined session ID into their browser and browses to protected data or functionality.
    The attacker loads the predefined session ID into their software and utilizes functionality with the rights of the victim.
", "x_capec_likelihood_of_attack": "Medium", "x_capec_prerequisites": [ "Session identifiers that remain unchanged when the privilege levels change.", "Permissive session management mechanism that accepts random user-generated session identifiers", "Predictable session identifiers" ], "x_capec_resources_required": [ "None: No specialized resources are required to execute this type of attack." ], "x_capec_skills_required": { "Low": "Only basic skills are required to determine and fixate session identifiers in a user's browser. Subsequent attacks may require greater skill levels depending on the attackers' motives." }, "x_capec_status": "Draft", "x_capec_typical_severity": "High", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "Use a strict session management mechanism that only accepts locally generated session identifiers: This prevents attackers from fixating session identifiers of their own choice.", "id": "course-of-action--b187831e-a53c-465d-b72f-49df78479e67", "modified": "2021-06-24T00:00:00.000Z", "name": "coa-61-0", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "course-of-action", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--0d553a19-deeb-45df-b70d-71110b119c7c", "modified": "2021-06-24T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--b187831e-a53c-465d-b72f-49df78479e67", "spec_version": "2.1", "target_ref": "attack-pattern--c1e3e934-5b43-4af9-b92b-9a4837a90c14", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "Regenerate and destroy session identifiers when there is a change in the level of privilege: This ensures that even though a potential victim may have followed a link with a fixated identifier, a new one is issued when the level of privilege changes.", "id": "course-of-action--606914b1-f22c-4598-a173-6f4546572979", "modified": "2021-06-24T00:00:00.000Z", "name": "coa-61-1", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "course-of-action", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--ad81b2e4-63b4-4d8e-9d96-4db93943afa2", "modified": "2021-06-24T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--606914b1-f22c-4598-a173-6f4546572979", "spec_version": "2.1", "target_ref": "attack-pattern--c1e3e934-5b43-4af9-b92b-9a4837a90c14", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "Use session identifiers that are difficult to guess or brute-force: One way for the attackers to obtain valid session identifiers is by brute-forcing or guessing them. By choosing session identifiers that are sufficiently random, brute-forcing or guessing becomes very difficult.", "id": "course-of-action--8fc9e23c-7780-4d34-8bd6-01ec3f063b9c", "modified": "2021-06-24T00:00:00.000Z", "name": "coa-61-2", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "course-of-action", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--c6ee9dff-2bc5-4eae-a4d6-b3f868cb8569", "modified": "2021-06-24T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--8fc9e23c-7780-4d34-8bd6-01ec3f063b9c", "spec_version": "2.1", "target_ref": "attack-pattern--c1e3e934-5b43-4af9-b92b-9a4837a90c14", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2015-11-09T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "Adversaries inject data into mobile technology traffic (data flows or signaling data) to disrupt communications or conduct additional surveillance operations.", "external_references": [ { "external_id": "CAPEC-610", "source_name": "capec", "url": "https://capec.mitre.org/data/definitions/610.html" } ], "id": "attack-pattern--b5cd5231-d7ef-4366-b713-a44d3f1134b4", "modified": "2019-09-30T00:00:00.000Z", "name": "Cellular Data Injection", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "attack-pattern", "x_capec_abstraction": "Standard", "x_capec_child_of_refs": [ "attack-pattern--12de9227-495b-49b2-859f-334a20197ba3" ], "x_capec_consequences": { "Availability": [ "Resource Consumption (Attackers can disrupt or deny mobile technology communications and operations.)", "Modify Data (Attackers can inject false data into data or signaling system data flows of communications and operations, or re-route data flows or signaling data for the purpose of further data intercept and capture.)" ] }, "x_capec_domains": [ "Communications", "Software" ], "x_capec_prerequisites": [ "None" ], "x_capec_skills_required": { "High": "Often achieved by nation states in conjunction with commercial cellular providers to conduct cellular traffic intercept and possible traffic injection." }, "x_capec_status": "Stable", "x_capec_typical_severity": "High", "x_capec_version": "3.9" }, { "created": "2015-11-09T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "Commercial defensive technology to detect and alert to any attempts to modify mobile technology data flows or to inject new data into existing data flows and signaling data.", "id": "course-of-action--24c2c0ad-9606-42ff-bdd0-8c0cb09d28a2", "modified": "2019-09-30T00:00:00.000Z", "name": "coa-610-0", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "course-of-action", "x_capec_version": "3.9" }, { "created": "2015-11-09T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--4bbed6d4-6c57-4da2-ad62-002452b7960c", "modified": "2019-09-30T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--24c2c0ad-9606-42ff-bdd0-8c0cb09d28a2", "spec_version": "2.1", "target_ref": "attack-pattern--b5cd5231-d7ef-4366-b713-a44d3f1134b4", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2015-11-09T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "An adversary registers a domain name one bit different than a trusted domain. A BitSquatting attack leverages random errors in memory to direct Internet traffic to adversary-controlled destinations. BitSquatting requires no exploitation or complicated reverse engineering, and is operating system and architecture agnostic. Experimental observations show that BitSquatting popular websites could redirect non-trivial amounts of Internet traffic to a malicious entity.", "external_references": [ { "external_id": "CAPEC-611", "source_name": "capec", "url": "https://capec.mitre.org/data/definitions/611.html" }, { "description": "Artem Dinaburg, Bitsquatting: DNS Hijacking without exploitation, Raytheon", "external_id": "REF-485", "source_name": "reference_from_CAPEC", "url": "http://media.blackhat.com/bh-us-11/Dinaburg/BH_US_11_Dinaburg_Bitsquatting_WP.pdf" } ], "id": "attack-pattern--a69b641a-dff7-4dad-b9b1-e00f80b083a2", "modified": "2022-09-29T00:00:00.000Z", "name": "BitSquatting", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "attack-pattern", "x_capec_abstraction": "Detailed", "x_capec_can_follow_refs": [ "attack-pattern--a00c2cc2-bd4f-4594-9ec1-b021b62ac896" ], "x_capec_can_precede_refs": [ "attack-pattern--5dec633b-7b10-4bfe-9270-e68b98112285", "attack-pattern--0d249bf9-13b3-4c13-9423-bcb1ea73c067" ], "x_capec_child_of_refs": [ "attack-pattern--e9d5d2e4-588f-43c1-bc98-73417abbb727" ], "x_capec_consequences": { "Other": [ "Other (Depending on the intention of the adversary, a successful BitSquatting attack can be leveraged to execute more complex attacks such as cross-site scripting or stealing account credentials.)" ] }, "x_capec_domains": [ "Social Engineering" ], "x_capec_execution_flow": "

Execution Flow

Explore

  1. Determine target website: The adversary first determines which website to impersonate, generally one that is trusted and receives a consistent amount of traffic.

  2. Techniques
    Research popular or high traffic websites.

Experiment

  1. Impersonate trusted domain: In order to impersonate the trusted domain, the adversary needs to register the BitSquatted URL.

  2. Techniques
    Register the BitSquatted domain.

Exploit

  1. Wait for a user to visit the domain: Finally, the adversary simply waits for a user to be unintentionally directed to the BitSquatted domain.

  2. Techniques
    Simply wait for an error in memory to occur, redirecting the user to the malicious domain.
", "x_capec_likelihood_of_attack": "Low", "x_capec_prerequisites": [ "An adversary requires knowledge of popular or high traffic domains, that could be used to deceive potential targets." ], "x_capec_skills_required": { "Low": "Adversaries must be able to register DNS hostnames/URL’s." }, "x_capec_status": "Draft", "x_capec_typical_severity": "Medium", "x_capec_version": "3.9" }, { "created": "2015-11-09T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "Authenticate all servers and perform redundant checks when using DNS hostnames.", "id": "course-of-action--ba0348be-410d-4fe9-bf0e-bb5e48d5af8b", "modified": "2022-09-29T00:00:00.000Z", "name": "coa-611-0", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "course-of-action", "x_capec_version": "3.9" }, { "created": "2015-11-09T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--0d8b1972-e844-4991-a884-ca3e967a6e8d", "modified": "2022-09-29T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--ba0348be-410d-4fe9-bf0e-bb5e48d5af8b", "spec_version": "2.1", "target_ref": "attack-pattern--a69b641a-dff7-4dad-b9b1-e00f80b083a2", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2015-11-09T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "When possible, use error-correcting (ECC) memory in local devices as non-ECC memory is significantly more vulnerable to faults.", "id": "course-of-action--cc9894cb-c83c-4f22-8ef6-9a2a3187b948", "modified": "2022-09-29T00:00:00.000Z", "name": "coa-611-1", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "course-of-action", "x_capec_version": "3.9" }, { "created": "2015-11-09T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--70115677-16f7-4e4f-9e75-85108f13258f", "modified": "2022-09-29T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--cc9894cb-c83c-4f22-8ef6-9a2a3187b948", "spec_version": "2.1", "target_ref": "attack-pattern--a69b641a-dff7-4dad-b9b1-e00f80b083a2", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2015-11-09T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "In this attack scenario, the attacker passively listens for WiFi messages and logs the associated Media Access Control (MAC) addresses. These addresses are intended to be unique to each wireless device (although they can be configured and changed by software). Once the attacker is able to associate a MAC address with a particular user or set of users (for example, when attending a public event), the attacker can then scan for that MAC address to track that user in the future.", "external_references": [ { "external_id": "CAPEC-612", "source_name": "capec", "url": "https://capec.mitre.org/data/definitions/612.html" }, { "external_id": "CWE-201", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/201.html" }, { "external_id": "CWE-300", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/300.html" } ], "id": "attack-pattern--d49fca9f-7eb0-4c1b-b2e6-c27119e5268e", "modified": "2019-04-04T00:00:00.000Z", "name": "WiFi MAC Address Tracking", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "attack-pattern", "x_capec_abstraction": "Detailed", "x_capec_child_of_refs": [ "attack-pattern--d780db94-413f-402d-a4d9-cf179b316c8c" ], "x_capec_domains": [ "Communications", "Software" ], "x_capec_prerequisites": [ "None" ], "x_capec_skills_required": { "Low": "Open source and commercial software tools are available and several commercial advertising companies routinely set up tools to collect and monitor MAC addresses." }, "x_capec_status": "Draft", "x_capec_typical_severity": "Low", "x_capec_version": "3.9" }, { "created": "2015-11-09T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "Automatic randomization of WiFi MAC addresses", "id": "course-of-action--1a9dbae9-4209-42ff-bcb4-52af76ceb770", "modified": "2019-04-04T00:00:00.000Z", "name": "coa-612-0", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "course-of-action", "x_capec_version": "3.9" }, { "created": "2015-11-09T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--ada034dd-bae1-45e0-992d-43931ede09d7", "modified": "2019-04-04T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--1a9dbae9-4209-42ff-bcb4-52af76ceb770", "spec_version": "2.1", "target_ref": "attack-pattern--d49fca9f-7eb0-4c1b-b2e6-c27119e5268e", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2015-11-09T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "Frequent changing of handset and retransmission device", "id": "course-of-action--520b5a77-564b-4186-aadd-6e795b0bb798", "modified": "2019-04-04T00:00:00.000Z", "name": "coa-612-1", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "course-of-action", "x_capec_version": "3.9" }, { "created": "2015-11-09T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--42428530-f329-4129-baf4-f136e130d080", "modified": "2019-04-04T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--520b5a77-564b-4186-aadd-6e795b0bb798", "spec_version": "2.1", "target_ref": "attack-pattern--d49fca9f-7eb0-4c1b-b2e6-c27119e5268e", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2015-11-09T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "In this attack scenario, the attacker passively listens for WiFi management frame messages containing the Service Set Identifier (SSID) for the WiFi network. These messages are frequently transmitted by WiFi access points (e.g., the retransmission device) as well as by clients that are accessing the network (e.g., the handset/mobile device). Once the attacker is able to associate an SSID with a particular user or set of users (for example, when attending a public event), the attacker can then scan for this SSID to track that user in the future.", "external_references": [ { "external_id": "CAPEC-613", "source_name": "capec", "url": "https://capec.mitre.org/data/definitions/613.html" }, { "external_id": "CWE-201", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/201.html" }, { "external_id": "CWE-300", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/300.html" } ], "id": "attack-pattern--11d7e0d6-5655-4fc7-aee8-e2e0fc6c5088", "modified": "2019-09-30T00:00:00.000Z", "name": "WiFi SSID Tracking", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "attack-pattern", "x_capec_abstraction": "Detailed", "x_capec_child_of_refs": [ "attack-pattern--d780db94-413f-402d-a4d9-cf179b316c8c" ], "x_capec_domains": [ "Communications", "Software" ], "x_capec_prerequisites": [ "None" ], "x_capec_skills_required": { "Low": "Open source and commercial software tools are available and open databases of known WiFi SSID addresses are available online." }, "x_capec_status": "Draft", "x_capec_typical_severity": "Low", "x_capec_version": "3.9" }, { "created": "2015-11-09T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "Do not enable the feature of \"Hidden SSIDs\" (also known as \"Network Cloaking\") – this option disables the usual broadcasting of the SSID by the access point, but forces the mobile handset to send requests on all supported radio channels which contains the SSID. The result is that tracking of the mobile device becomes easier since it is transmitting the SSID more frequently.", "id": "course-of-action--5f1ca11f-4c92-41c1-84e6-0f6af4787884", "modified": "2019-09-30T00:00:00.000Z", "name": "coa-613-0", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "course-of-action", "x_capec_version": "3.9" }, { "created": "2015-11-09T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--54e6bbee-8421-4ac9-ab72-d13af56bbbca", "modified": "2019-09-30T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--5f1ca11f-4c92-41c1-84e6-0f6af4787884", "spec_version": "2.1", "target_ref": "attack-pattern--11d7e0d6-5655-4fc7-aee8-e2e0fc6c5088", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2015-11-09T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "Frequently change the SSID to new and unrelated values", "id": "course-of-action--22c53c7d-593e-4ede-b12d-dad35f67f7e3", "modified": "2019-09-30T00:00:00.000Z", "name": "coa-613-1", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "course-of-action", "x_capec_version": "3.9" }, { "created": "2015-11-09T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--7cf4d3c7-8a07-460e-866b-2475c9ee85bb", "modified": "2019-09-30T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--22c53c7d-593e-4ede-b12d-dad35f67f7e3", "spec_version": "2.1", "target_ref": "attack-pattern--11d7e0d6-5655-4fc7-aee8-e2e0fc6c5088", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2015-11-09T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "SIM cards are the de facto trust anchor of mobile devices worldwide. The cards protect the mobile identity of subscribers, associate devices with phone numbers, and increasingly store payment credentials, for example in NFC-enabled phones with mobile wallets. This attack leverages over-the-air (OTA) updates deployed via cryptographically-secured SMS messages to deliver executable code to the SIM. By cracking the DES key, an attacker can send properly signed binary SMS messages to a device, which are treated as Java applets and are executed on the SIM. These applets are allowed to send SMS, change voicemail numbers, and query the phone location, among many other predefined functions. These capabilities alone provide plenty of potential for abuse.", "external_references": [ { "external_id": "CAPEC-614", "source_name": "capec", "url": "https://capec.mitre.org/data/definitions/614.html" }, { "external_id": "CWE-327", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/327.html" }, { "description": "Karsten Nohl, Rooting SIM Cards, Security Research Labs", "external_id": "REF-486", "source_name": "reference_from_CAPEC", "url": "https://srlabs.de/rooting-sim-cards/" } ], "id": "attack-pattern--b974175d-c76a-4168-af55-ea0cb0695286", "modified": "2022-09-29T00:00:00.000Z", "name": "Rooting SIM Cards", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "attack-pattern", "x_capec_abstraction": "Detailed", "x_capec_child_of_refs": [ "attack-pattern--3c9e7b88-a1eb-4cfd-aa34-10df08b23317" ], "x_capec_consequences": { "Confidentiality": [ "Execute Unauthorized Commands" ], "Integrity": [ "Execute Unauthorized Commands" ] }, "x_capec_domains": [ "Software" ], "x_capec_prerequisites": [ "A SIM card that relies on the DES cipher." ], "x_capec_skills_required": { "Medium": "This is a sophisticated attack, but detailed techniques are published in open literature." }, "x_capec_status": "Draft", "x_capec_typical_severity": "High", "x_capec_version": "3.9" }, { "created": "2015-11-09T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "Upgrade the SIM card to use the state-of-the-art AES or the somewhat outdated 3DES algorithm for OTA.", "id": "course-of-action--49c4d0f1-127a-4f39-943e-6ee56dcac7d2", "modified": "2022-09-29T00:00:00.000Z", "name": "coa-614-0", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "course-of-action", "x_capec_version": "3.9" }, { "created": "2015-11-09T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--73c5c39c-480b-411a-8be5-0ffe26aedee8", "modified": "2022-09-29T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--49c4d0f1-127a-4f39-943e-6ee56dcac7d2", "spec_version": "2.1", "target_ref": "attack-pattern--b974175d-c76a-4168-af55-ea0cb0695286", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2015-11-09T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "Adversaries install Wi-Fi equipment that acts as a legitimate Wi-Fi network access point. When a device connects to this access point, Wi-Fi data traffic is intercepted, captured, and analyzed. This also allows the adversary to use \"adversary-in-the-middle\" (CAPEC-94) for all communications.", "external_references": [ { "external_id": "CAPEC-615", "source_name": "capec", "url": "https://capec.mitre.org/data/definitions/615.html" }, { "external_id": "CWE-300", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/300.html" } ], "id": "attack-pattern--bc008240-e0e0-4b97-9dbd-ffaba4c519b5", "modified": "2022-09-29T00:00:00.000Z", "name": "Evil Twin Wi-Fi Attack", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "attack-pattern", "x_capec_abstraction": "Detailed", "x_capec_child_of_refs": [ "attack-pattern--e9d5d2e4-588f-43c1-bc98-73417abbb727" ], "x_capec_consequences": { "Confidentiality": [ "Read Data (Intercept and control Wi-Fi data communications to/from mobile device.)" ] }, "x_capec_domains": [ "Communications", "Software", "Hardware" ], "x_capec_prerequisites": [ "None" ], "x_capec_status": "Draft", "x_capec_typical_severity": "Low", "x_capec_version": "3.9" }, { "created": "2015-11-09T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "Commercial defensive technology that monitors for rogue Wi-Fi access points, adversary-in-the-middle attacks, and anomalous activity with the mobile device baseband radios.", "id": "course-of-action--3cd5d16f-646e-42e0-b22d-2a14d4bec7b1", "modified": "2022-09-29T00:00:00.000Z", "name": "coa-615-0", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "course-of-action", "x_capec_version": "3.9" }, { "created": "2015-11-09T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--6566c16f-35b1-476c-b9e5-0399cc905c82", "modified": "2022-09-29T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--3cd5d16f-646e-42e0-b22d-2a14d4bec7b1", "spec_version": "2.1", "target_ref": "attack-pattern--bc008240-e0e0-4b97-9dbd-ffaba4c519b5", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2015-11-09T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "An adversary provides a malicious version of a resource at a location that is similar to the expected location of a legitimate resource. After establishing the rogue location, the adversary waits for a victim to visit the location and access the malicious resource.", "external_references": [ { "external_id": "CAPEC-616", "source_name": "capec", "url": "https://capec.mitre.org/data/definitions/616.html" }, { "external_id": "CWE-200", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/200.html" }, { "description": "Masquerading: Match Legitimate Name or Location", "external_id": "T1036.005", "source_name": "ATTACK", "url": "https://attack.mitre.org/wiki/Technique/T1036/005" } ], "id": "attack-pattern--e9d5d2e4-588f-43c1-bc98-73417abbb727", "modified": "2022-09-29T00:00:00.000Z", "name": "Establish Rogue Location", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "attack-pattern", "x_capec_abstraction": "Standard", "x_capec_can_precede_refs": [ "attack-pattern--6ed35753-d365-4be2-a044-2fcc6e191b5a" ], "x_capec_child_of_refs": [ "attack-pattern--ce92f5b9-6228-4354-8a1b-72ad7ad3bb84" ], "x_capec_consequences": { "Confidentiality": [ "Other (Successful attacks of this nature can result in a wide variety of consequences and negatively impact confidentiality and integrity based on the adversary's subsequent actions.)" ], "Integrity": [ "Other (Successful attacks of this nature can result in a wide variety of consequences and negatively impact confidentiality and integrity based on the adversary's subsequent actions.)" ] }, "x_capec_domains": [ "Social Engineering", "Supply Chain", "Communications", "Software", "Hardware" ], "x_capec_likelihood_of_attack": "Medium", "x_capec_parent_of_refs": [ "attack-pattern--ef205569-ee34-491a-b773-5c023e2c1680", "attack-pattern--a69b641a-dff7-4dad-b9b1-e00f80b083a2", "attack-pattern--bc008240-e0e0-4b97-9dbd-ffaba4c519b5", "attack-pattern--fff5e678-9e98-4e12-b054-119ff429e214", "attack-pattern--b6f0fd7e-6068-4557-976c-fd34914b11bf", "attack-pattern--a2cad567-3a04-4ef3-8b62-25924c93b53f", "attack-pattern--c4e18b3f-0445-49e8-9bf1-d47a23082501", "attack-pattern--fcb77578-4d3d-4cb3-ae1d-91c9877a60c5", "attack-pattern--e3dd79e7-307b-42dd-9e22-d0345c0ec001" ], "x_capec_prerequisites": [ "A resource is expected to available to the user." ], "x_capec_skills_required": { "Low": "Adversaries can often purchase low-cost technology to implement rogue access points." }, "x_capec_status": "Stable", "x_capec_typical_severity": "Medium", "x_capec_version": "3.9" }, { "created": "2015-11-09T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "In this attack scenario, the attacker imitates a cellular base station with their own \"rogue\" base station equipment. Since cellular devices connect to whatever station has the strongest signal, the attacker can easily convince a targeted cellular device (e.g. the retransmission device) to talk to the rogue base station.", "external_references": [ { "external_id": "CAPEC-617", "source_name": "capec", "url": "https://capec.mitre.org/data/definitions/617.html" } ], "id": "attack-pattern--fff5e678-9e98-4e12-b054-119ff429e214", "modified": "2022-09-29T00:00:00.000Z", "name": "Cellular Rogue Base Station", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "attack-pattern", "x_capec_abstraction": "Detailed", "x_capec_child_of_refs": [ "attack-pattern--e9d5d2e4-588f-43c1-bc98-73417abbb727" ], "x_capec_consequences": { "Confidentiality": [ "Read Data (Intercept and control cellular data communications to/from mobile device.)" ] }, "x_capec_domains": [ "Communications", "Hardware" ], "x_capec_prerequisites": [ "None" ], "x_capec_skills_required": { "Low": "This technique has been demonstrated by amateur hackers and commercial tools and open source projects are available to automate the attack." }, "x_capec_status": "Draft", "x_capec_typical_severity": "Low", "x_capec_version": "3.9" }, { "created": "2015-11-09T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "Passively monitor cellular network connection for real-time threat detection and logging for manual review.", "id": "course-of-action--b183808c-b043-46e6-a10a-acb7644ea511", "modified": "2022-09-29T00:00:00.000Z", "name": "coa-617-0", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "course-of-action", "x_capec_version": "3.9" }, { "created": "2015-11-09T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--c58917b8-55ad-4997-bfa1-356553087aa1", "modified": "2022-09-29T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--b183808c-b043-46e6-a10a-acb7644ea511", "spec_version": "2.1", "target_ref": "attack-pattern--fff5e678-9e98-4e12-b054-119ff429e214", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2015-11-09T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "In this attack scenario, the attacker uses knowledge of the target’s mobile phone number (i.e., the number associated with the SIM used in the retransmission device) to cause the cellular network to send broadcast messages to alert the mobile device. Since the network knows which cell tower the target’s mobile device is attached to, the broadcast messages are only sent in the Location Area Code (LAC) where the target is currently located. By triggering the cellular broadcast message and then listening for the presence or absence of that message, an attacker could verify that the target is in (or not in) a given location.", "external_references": [ { "external_id": "CAPEC-618", "source_name": "capec", "url": "https://capec.mitre.org/data/definitions/618.html" }, { "external_id": "CWE-201", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/201.html" }, { "description": "Denis Foo Kune, John Koelndorfer, Nicholas Hopper, Yongdae Kim, Location Leaks on the GSM Air Interface, University of Minnesota", "external_id": "REF-487", "source_name": "reference_from_CAPEC", "url": "https://www-users.cs.umn.edu/~hoppernj/celluloc.pdf" } ], "id": "attack-pattern--3b775ca7-4c1d-4078-bc7b-29907b9596f7", "modified": "2018-07-31T00:00:00.000Z", "name": "Cellular Broadcast Message Request", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "attack-pattern", "x_capec_abstraction": "Detailed", "x_capec_child_of_refs": [ "attack-pattern--d780db94-413f-402d-a4d9-cf179b316c8c" ], "x_capec_consequences": { "Other": [ "Other (An attacker could verify that the target is in (or not in) a given location.)" ] }, "x_capec_domains": [ "Communications", "Software" ], "x_capec_prerequisites": [ "The attacker must have knowledge of the target’s mobile phone number." ], "x_capec_skills_required": { "Low": "Open source and commercial tools are available for this attack." }, "x_capec_status": "Draft", "x_capec_typical_severity": "Low", "x_capec_version": "3.9" }, { "created": "2015-11-09T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "Frequent changing of mobile number.", "id": "course-of-action--272a376e-ec84-4fcd-abb5-00cba0e3c7e0", "modified": "2018-07-31T00:00:00.000Z", "name": "coa-618-0", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "course-of-action", "x_capec_version": "3.9" }, { "created": "2015-11-09T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--79aff368-471d-46f4-803b-6584f3497601", "modified": "2018-07-31T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--272a376e-ec84-4fcd-abb5-00cba0e3c7e0", "spec_version": "2.1", "target_ref": "attack-pattern--3b775ca7-4c1d-4078-bc7b-29907b9596f7", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2015-11-09T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "In this attack scenario, the attacker passively monitors the signal strength of the target’s cellular RF signal or WiFi RF signal and uses the strength of the signal (with directional antennas and/or from multiple listening points at once) to identify the source location of the signal. Obtaining the signal of the target can be accomplished through multiple techniques such as through Cellular Broadcast Message Request or through the use of IMSI Tracking or WiFi MAC Address Tracking.", "external_references": [ { "external_id": "CAPEC-619", "source_name": "capec", "url": "https://capec.mitre.org/data/definitions/619.html" }, { "external_id": "CWE-201", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/201.html" } ], "id": "attack-pattern--d900a0ea-7dd6-4ed8-a1bf-ac498e68d9e5", "modified": "2018-07-31T00:00:00.000Z", "name": "Signal Strength Tracking", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "attack-pattern", "x_capec_abstraction": "Detailed", "x_capec_child_of_refs": [ "attack-pattern--d780db94-413f-402d-a4d9-cf179b316c8c" ], "x_capec_domains": [ "Communications", "Software" ], "x_capec_skills_required": { "Low": "Commercial tools are available." }, "x_capec_status": "Draft", "x_capec_typical_severity": "Low", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "An attacker crafts malicious web links and distributes them (via web pages, email, etc.), typically in a targeted manner, hoping to induce users to click on the link and execute the malicious action against some third-party application. If successful, the action embedded in the malicious link will be processed and accepted by the targeted application with the users' privilege level. This type of attack leverages the persistence and implicit trust placed in user session cookies by many web applications today. In such an architecture, once the user authenticates to an application and a session cookie is created on the user's system, all following transactions for that session are authenticated using that cookie including potential actions initiated by an attacker and simply \"riding\" the existing session cookie.", "external_references": [ { "external_id": "CAPEC-62", "source_name": "capec", "url": "https://capec.mitre.org/data/definitions/62.html" }, { "external_id": "CWE-352", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/352.html" }, { "external_id": "CWE-306", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/306.html" }, { "external_id": "CWE-664", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/664.html" }, { "external_id": "CWE-732", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/732.html" }, { "external_id": "CWE-1275", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/1275.html" }, { "description": "Cross-Site Request Forgery", "external_id": "09", "source_name": "WASC", "url": "http://projects.webappsec.org/Cross-Site-Request-Forgery" }, { "description": "Cross Site Request Forgery (CSRF)", "source_name": "OWASP Attacks", "url": "https://owasp.org/www-community/attacks/csrf" }, { "description": "Thomas Schreiber, Session Riding: A Widespread Vulnerability in Today's Web Applications, SecureNet GmbH", "external_id": "REF-62", "source_name": "reference_from_CAPEC", "url": "https://crypto.stanford.edu/cs155old/cs155-spring08/papers/Session_Riding.pdf" }, { "description": "OWASP Web Security Testing Guide, The Open Web Application Security Project (OWASP)", "external_id": "REF-602", "source_name": "reference_from_CAPEC", "url": "https://owasp.org/www-project-web-security-testing-guide/latest/4-Web_Application_Security_Testing/06-Session_Management_Testing/05-Testing_for_Cross_Site_Request_Forgery.html" } ], "id": "attack-pattern--0939f361-ea31-454b-ae3d-4af2411b756d", "modified": "2021-06-24T00:00:00.000Z", "name": "Cross Site Request Forgery", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "attack-pattern", "x_capec_abstraction": "Standard", "x_capec_alternate_terms": [ "Session Riding" ], "x_capec_child_of_refs": [ "attack-pattern--2351ee64-dd85-4bc3-bb43-aaa2ca5c1228" ], "x_capec_consequences": { "Access_Control": [ "Gain Privileges" ], "Authorization": [ "Gain Privileges" ], "Confidentiality": [ "Gain Privileges", "Read Data" ], "Integrity": [ "Modify Data" ] }, "x_capec_domains": [ "Software" ], "x_capec_example_instances": [ "\n While a user is logged into their bank account, an attacker can send an email with some potentially interesting content and require the user to click on a link in the email.\n The link points to or contains an attacker setup script, probably even within an iFrame, that mimics an actual user form submission to perform a malicious activity, such as transferring funds from the victim's account.\n The attacker can have the script embedded in, or targeted by, the link perform any arbitrary action as the authenticated user. When this script is executed, the targeted application authenticates and accepts the actions based on the victims existing session cookie.See also: Cross-site request forgery (CSRF) vulnerability in util.pl in @Mail WebMail 4.51 allows remote attackers to modify arbitrary settings and perform unauthorized actions as an arbitrary user, as demonstrated using a settings action in the SRC attribute of an IMG element in an HTML e-mail." ], "x_capec_execution_flow": "

Execution Flow

Explore

  1. Explore target website: The attacker first explores the target website to determine pieces of functionality that are of interest to them (e.g. money transfers). The attacker will need a legitimate user account on the target website. It would help to have two accounts.

  2. Techniques
    Use web application debugging tool such as WebScarab, Tamper Data or TamperIE to analyze the information exchanged between the client and the server
    Use network sniffing tool such as Wireshark to analyze the information exchanged between the client and the server
    View HTML source of web pages that contain links or buttons that perform actions of interest.

Experiment

  1. Create a link that when clicked on, will execute the interesting functionality.: The attacker needs to create a link that will execute some interesting functionality such as transfer money, change a password, etc.

  2. Techniques
    Create a GET request containing all required parameters (e.g. https://www.somebank.com/members/transfer.asp?to=012345678901&amt=10000)
    Create a form that will submit a POST request (e.g.

Exploit

  1. Convince user to click on link: Finally, the attacker needs to convince a user that is logged into the target website to click on a link to execute the CSRF attack.

  2. Techniques
    Execute a phishing attack and send the user an e-mail convincing them to click on a link.
    Execute a stored XSS attack on a website to permanently embed the malicious link into the website.
    Execute a stored XSS attack on a website where an XMLHTTPRequest object will automatically execute the attack as soon as a user visits the page. This removes the step of convincing a user to click on a link.
    Include the malicious link on the attackers' own website where the user may have to click on the link, or where an XMLHTTPRequest object may automatically execute the attack when a user visits the site.
", "x_capec_likelihood_of_attack": "High", "x_capec_parent_of_refs": [ "attack-pattern--c50d5a35-0010-422d-b6f7-d4b963c9bad4" ], "x_capec_resources_required": [ "All the attacker needs is the exact representation of requests to be made to the application and to be able to get the malicious link across to a victim." ], "x_capec_skills_required": { "Medium": "The attacker needs to figure out the exact invocation of the targeted malicious action and then craft a link that performs the said action. Having the user click on such a link is often accomplished by sending an email or posting such a link to a bulletin board or the likes." }, "x_capec_status": "Draft", "x_capec_typical_severity": "Very High", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "Use cryptographic tokens to associate a request with a specific action. The token can be regenerated at every request so that if a request with an invalid token is encountered, it can be reliably discarded. The token is considered invalid if it arrived with a request other than the action it was supposed to be associated with.", "id": "course-of-action--97c0cee2-43b4-4e35-a822-c2af1fda128d", "modified": "2021-06-24T00:00:00.000Z", "name": "coa-62-0", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "course-of-action", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--05c63f5d-bdef-4967-b173-43a3dc629b9d", "modified": "2021-06-24T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--97c0cee2-43b4-4e35-a822-c2af1fda128d", "spec_version": "2.1", "target_ref": "attack-pattern--0939f361-ea31-454b-ae3d-4af2411b756d", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "Although less reliable, the use of the optional HTTP Referrer header can also be used to determine whether an incoming request was actually one that the user is authorized for, in the current context.", "id": "course-of-action--f8e25c6a-17e6-4418-8da8-1a56576657f3", "modified": "2021-06-24T00:00:00.000Z", "name": "coa-62-1", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "course-of-action", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--3e4e7c46-5802-4623-bfb2-726d5643649a", "modified": "2021-06-24T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--f8e25c6a-17e6-4418-8da8-1a56576657f3", "spec_version": "2.1", "target_ref": "attack-pattern--0939f361-ea31-454b-ae3d-4af2411b756d", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "Additionally, the user can also be prompted to confirm an action every time an action concerning potentially sensitive data is invoked. This way, even if the attacker manages to get the user to click on a malicious link and request the desired action, the user has a chance to recover by denying confirmation. This solution is also implicitly tied to using a second factor of authentication before performing such actions.", "id": "course-of-action--d48ac0ea-9821-4d1d-b819-78cf36562e97", "modified": "2021-06-24T00:00:00.000Z", "name": "coa-62-2", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "course-of-action", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--5334f93e-090e-4dc7-9634-9cf8d617820f", "modified": "2021-06-24T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--d48ac0ea-9821-4d1d-b819-78cf36562e97", "spec_version": "2.1", "target_ref": "attack-pattern--0939f361-ea31-454b-ae3d-4af2411b756d", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "In general, every request must be checked for the appropriate authentication token as well as authorization in the current session context.", "id": "course-of-action--77756b2a-ad30-4992-acdb-13c8dae467d8", "modified": "2021-06-24T00:00:00.000Z", "name": "coa-62-3", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "course-of-action", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--e911413e-496d-4b6e-afff-88e8e3302abb", "modified": "2021-06-24T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--77756b2a-ad30-4992-acdb-13c8dae467d8", "spec_version": "2.1", "target_ref": "attack-pattern--0939f361-ea31-454b-ae3d-4af2411b756d", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2015-11-09T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "An attacker forces the encryption level to be lowered, thus enabling a successful attack against the encrypted data.", "external_references": [ { "external_id": "CAPEC-620", "source_name": "capec", "url": "https://capec.mitre.org/data/definitions/620.html" }, { "external_id": "CWE-757", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/757.html" }, { "description": "Weaken Encryption", "external_id": "T1600", "source_name": "ATTACK", "url": "https://attack.mitre.org/wiki/Technique/T1600" } ], "id": "attack-pattern--e680008c-a642-4feb-a1c4-a29b54eb284a", "modified": "2022-09-29T00:00:00.000Z", "name": "Drop Encryption Level", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "attack-pattern", "x_capec_abstraction": "Standard", "x_capec_child_of_refs": [ "attack-pattern--c727c058-2c9d-4021-a1ec-81dd030dea59" ], "x_capec_consequences": { "Access_Control": [ "Bypass Protection Mechanism" ] }, "x_capec_domains": [ "Software" ], "x_capec_parent_of_refs": [ "attack-pattern--4480b2e7-bdb7-45fe-896b-dd895fbe3680" ], "x_capec_status": "Draft", "x_capec_typical_severity": "High", "x_capec_version": "3.9" }, { "created": "2015-11-09T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "An attacker may intercept and log encrypted transmissions for the purpose of analyzing metadata such as packet timing and sizes. Although the actual data may be encrypted, this metadata may reveal valuable information to an attacker. Note that this attack is applicable to VOIP data as well as application data, especially for interactive apps that require precise timing and low-latency (e.g. thin-clients).", "external_references": [ { "external_id": "CAPEC-621", "source_name": "capec", "url": "https://capec.mitre.org/data/definitions/621.html" }, { "external_id": "CWE-201", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/201.html" } ], "id": "attack-pattern--1e333aaf-0029-41ab-b164-590851ff2e9a", "modified": "2018-07-31T00:00:00.000Z", "name": "Analysis of Packet Timing and Sizes", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "attack-pattern", "x_capec_abstraction": "Detailed", "x_capec_child_of_refs": [ "attack-pattern--4ba540ef-b8ad-4bf7-acac-d8855661c4a2" ], "x_capec_consequences": { "Confidentiality": [ "Read Data (Derive sensitive information about encrypted data.)" ] }, "x_capec_domains": [ "Software", "Physical Security", "Hardware" ], "x_capec_prerequisites": [ "Use of untrusted communication paths enables an attacker to intercept and log communications, including metadata such as packet timing and sizes." ], "x_capec_skills_required": { "High": "These attacks generally require sophisticated machine learning techniques and require traffic capture as a prerequisite." }, "x_capec_status": "Draft", "x_capec_typical_severity": "Low", "x_capec_version": "3.9" }, { "created": "2015-11-09T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "Distort packet sizes and timing at VPN layer by adding padding to normalize packet sizes and timing delays to reduce information leakage via timing.", "id": "course-of-action--3d82800d-a207-4cf5-8acb-34298fed624c", "modified": "2018-07-31T00:00:00.000Z", "name": "coa-621-0", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "course-of-action", "x_capec_version": "3.9" }, { "created": "2015-11-09T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--ce899b44-526f-4892-80d2-510f96e94715", "modified": "2018-07-31T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--3d82800d-a207-4cf5-8acb-34298fed624c", "spec_version": "2.1", "target_ref": "attack-pattern--1e333aaf-0029-41ab-b164-590851ff2e9a", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2015-11-09T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "In this attack scenario, the attacker passively monitors electromagnetic emanations that are produced by the targeted electronic device as an unintentional side-effect of its processing. From these emanations, the attacker derives information about the data that is being processed (e.g. the attacker can recover cryptographic keys by monitoring emanations associated with cryptographic processing). This style of attack requires proximal access to the device, however attacks have been demonstrated at public conferences that work at distances of up to 10-15 feet. There have not been any significant studies to determine the maximum practical distance for such attacks. Since the attack is passive, it is nearly impossible to detect and the targeted device will continue to operate as normal after a successful attack.", "external_references": [ { "external_id": "CAPEC-622", "source_name": "capec", "url": "https://capec.mitre.org/data/definitions/622.html" }, { "external_id": "CWE-201", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/201.html" } ], "id": "attack-pattern--8a2c6c50-26ad-4f1a-a938-25293372f75a", "modified": "2018-07-31T00:00:00.000Z", "name": "Electromagnetic Side-Channel Attack", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "attack-pattern", "x_capec_abstraction": "Detailed", "x_capec_child_of_refs": [ "attack-pattern--4ba540ef-b8ad-4bf7-acac-d8855661c4a2" ], "x_capec_consequences": { "Confidentiality": [ "Read Data (Derive sensitive information about encrypted data. For mobile devices, depending on which keys are compromised, the attacker may be able to decrypt VOIP communications, impersonate the targeted caller, or access the enterprise VPN server.)" ] }, "x_capec_domains": [ "Software", "Physical Security", "Hardware" ], "x_capec_prerequisites": [ "Proximal access to the device." ], "x_capec_skills_required": { "Medium": "Sophisticated attack, but detailed techniques published in the open literature." }, "x_capec_status": "Draft", "x_capec_typical_severity": "Low", "x_capec_version": "3.9" }, { "created": "2015-11-09T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "Utilize side-channel resistant implementations of all crypto algorithms.", "id": "course-of-action--2e9301ad-e907-414c-9bac-0be1517b0112", "modified": "2018-07-31T00:00:00.000Z", "name": "coa-622-0", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "course-of-action", "x_capec_version": "3.9" }, { "created": "2015-11-09T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--518cf128-c5dd-41bf-920c-c59464ae3e89", "modified": "2018-07-31T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--2e9301ad-e907-414c-9bac-0be1517b0112", "spec_version": "2.1", "target_ref": "attack-pattern--8a2c6c50-26ad-4f1a-a938-25293372f75a", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2015-11-09T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "Strong physical security of all devices that contain secret key information. (even when devices are not in use)", "id": "course-of-action--076b471c-60c6-41a5-9266-e34cc546bfcd", "modified": "2018-07-31T00:00:00.000Z", "name": "coa-622-1", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "course-of-action", "x_capec_version": "3.9" }, { "created": "2015-11-09T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--ef792ac3-e23f-463b-8456-e2cb9549a020", "modified": "2018-07-31T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--076b471c-60c6-41a5-9266-e34cc546bfcd", "spec_version": "2.1", "target_ref": "attack-pattern--8a2c6c50-26ad-4f1a-a938-25293372f75a", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2015-11-09T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "Compromising Emanations (CE) are defined as unintentional signals which an attacker may intercept and analyze to disclose the information processed by the targeted equipment. Commercial mobile devices and retransmission devices have displays, buttons, microchips, and radios that emit mechanical emissions in the form of sound or vibrations. Capturing these emissions can help an adversary understand what the device is doing.", "external_references": [ { "external_id": "CAPEC-623", "source_name": "capec", "url": "https://capec.mitre.org/data/definitions/623.html" }, { "external_id": "CWE-201", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/201.html" } ], "id": "attack-pattern--3d5bbdf7-b642-43b4-b4be-d9f35923380d", "modified": "2018-07-31T00:00:00.000Z", "name": "Compromising Emanations Attack", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "attack-pattern", "x_capec_abstraction": "Detailed", "x_capec_child_of_refs": [ "attack-pattern--4ba540ef-b8ad-4bf7-acac-d8855661c4a2" ], "x_capec_consequences": { "Confidentiality": [ "Read Data (Capture vibrations/emissions from the handset or retransmission device display screen to recreat display information from a distance.)" ] }, "x_capec_domains": [ "Software", "Physical Security", "Hardware" ], "x_capec_prerequisites": [ "Proximal access to the device." ], "x_capec_skills_required": { "High": "Sophisticated attack." }, "x_capec_status": "Draft", "x_capec_typical_severity": "Low", "x_capec_version": "3.9" }, { "created": "2015-11-09T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "None are known.", "id": "course-of-action--1f959357-f511-4f0e-9b12-51ee99284c2f", "modified": "2018-07-31T00:00:00.000Z", "name": "coa-623-0", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "course-of-action", "x_capec_version": "3.9" }, { "created": "2015-11-09T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--2ad7be7d-7b09-4472-bc30-41894c39f568", "modified": "2018-07-31T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--1f959357-f511-4f0e-9b12-51ee99284c2f", "spec_version": "2.1", "target_ref": "attack-pattern--3d5bbdf7-b642-43b4-b4be-d9f35923380d", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2015-11-09T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "The adversary uses disruptive signals or events, or alters the physical environment a device operates in, to cause faulty behavior in electronic devices. This can include electromagnetic pulses, laser pulses, clock glitches, ambient temperature extremes, and more. When performed in a controlled manner on devices performing cryptographic operations, this faulty behavior can be exploited to derive secret key information.", "external_references": [ { "external_id": "CAPEC-624", "source_name": "capec", "url": "https://capec.mitre.org/data/definitions/624.html" }, { "external_id": "CWE-1247", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/1247.html" }, { "external_id": "CWE-1248", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/1248.html" }, { "external_id": "CWE-1256", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/1256.html" }, { "external_id": "CWE-1319", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/1319.html" }, { "external_id": "CWE-1332", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/1332.html" }, { "external_id": "CWE-1334", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/1334.html" }, { "external_id": "CWE-1338", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/1338.html" }, { "external_id": "CWE-1351", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/1351.html" } ], "id": "attack-pattern--965d88fd-a632-4960-b4ba-7521878a0ba3", "modified": "2022-09-29T00:00:00.000Z", "name": "Hardware Fault Injection", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "attack-pattern", "x_capec_abstraction": "Meta", "x_capec_alternate_terms": [ "Side-Channel Attack" ], "x_capec_consequences": { "Confidentiality": [ "Read Data (An adversary capable of successfully collecting and analyzing sensitive, fault/side-channel information, has compromised the confidentiality of that application or information system data.)", "Bypass Protection Mechanism (An adversary capable of successfully collecting and analyzing sensitive, fault/side-channel information, has compromised the confidentiality of that application or information system data.)", "Hide Activities (An adversary capable of successfully collecting and analyzing sensitive, fault/side-channel information, has compromised the confidentiality of that application or information system data.)" ], "Integrity": [ "Execute Unauthorized Commands (If an adversary is able to inject data via a fault or side channel vulnerability towards malicious ends, the integrity of the application or information system will be compromised.)" ] }, "x_capec_domains": [ "Communications", "Hardware" ], "x_capec_likelihood_of_attack": "Low", "x_capec_parent_of_refs": [ "attack-pattern--48ba5f20-2888-4a0c-8cc6-28631533f255" ], "x_capec_prerequisites": [ "Physical access to the system", "The adversary must be cognizant of where fault injection vulnerabilities exist in the system in order to leverage them for exploitation." ], "x_capec_resources_required": [ "\n The relevant sensors and tools to detect and analyze fault/side-channel data from a system.\n A tool capable of injecting fault/side-channel data into a system or application.\n " ], "x_capec_skills_required": { "High": "Adversaries require non-trivial technical skills to create and implement fault injection attacks. Although this style of attack has become easier (commercial equipment and training classes are available to perform these attacks), they usual require significant setup and experimentation time during which physical access to the device is required." }, "x_capec_status": "Stable", "x_capec_typical_severity": "High", "x_capec_version": "3.9" }, { "created": "2015-11-09T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "Implement robust physical security countermeasures and monitoring.", "id": "course-of-action--f6d53020-4245-4f4d-848b-e5ddf8d7db8e", "modified": "2022-09-29T00:00:00.000Z", "name": "coa-624-0", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "course-of-action", "x_capec_version": "3.9" }, { "created": "2015-11-09T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--92d3b28d-cca3-4d44-82ca-d1fce4083918", "modified": "2022-09-29T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--f6d53020-4245-4f4d-848b-e5ddf8d7db8e", "spec_version": "2.1", "target_ref": "attack-pattern--965d88fd-a632-4960-b4ba-7521878a0ba3", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2015-11-09T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "Fault injection attacks against mobile devices use disruptive signals or events (e.g. electromagnetic pulses, laser pulses, clock glitches, etc.) to cause faulty behavior. When performed in a controlled manner on devices performing cryptographic operations, this faulty behavior can be exploited to derive secret key information. Although this attack usually requires physical control of the mobile device, it is non-destructive, and the device can be used after the attack without any indication that secret keys were compromised.", "external_references": [ { "external_id": "CAPEC-625", "source_name": "capec", "url": "https://capec.mitre.org/data/definitions/625.html" }, { "external_id": "CWE-1247", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/1247.html" }, { "external_id": "CWE-1248", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/1248.html" }, { "external_id": "CWE-1256", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/1256.html" }, { "external_id": "CWE-1319", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/1319.html" }, { "external_id": "CWE-1332", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/1332.html" }, { "external_id": "CWE-1334", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/1334.html" }, { "external_id": "CWE-1338", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/1338.html" }, { "external_id": "CWE-1351", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/1351.html" } ], "id": "attack-pattern--48ba5f20-2888-4a0c-8cc6-28631533f255", "modified": "2023-01-24T00:00:00.000Z", "name": "Mobile Device Fault Injection", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "attack-pattern", "x_capec_abstraction": "Standard", "x_capec_child_of_refs": [ "attack-pattern--965d88fd-a632-4960-b4ba-7521878a0ba3" ], "x_capec_consequences": { "Access_Control": [ "Read Data (Extract long-term secret keys (e.g. keys used for VPN or WiFi authentication and encryption) to enable decryption of intercepted VOIP traffic.)" ], "Confidentiality": [ "Read Data (Extract long-term secret keys (e.g. keys used for VPN or WiFi authentication and encryption) to enable decryption of intercepted VOIP traffic.)" ] }, "x_capec_domains": [ "Communications", "Hardware" ], "x_capec_skills_required": { "High": "Adversaries require non-trivial technical skills to create and implement fault injection attacks on mobile devices. Although this style of attack has become easier (commercial equipment and training classes are available to perform these attacks), they usual require significant setup and experimentation time during which physical access to the device is required. This prerequisite makes the attack challenging to perform (assuming that physical security countermeasures and monitoring are in place)." }, "x_capec_status": "Draft", "x_capec_version": "3.9" }, { "created": "2015-11-09T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--224113f1-e834-46f3-9de8-b99b4daabd5a", "modified": "2023-01-24T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--076b471c-60c6-41a5-9266-e34cc546bfcd", "spec_version": "2.1", "target_ref": "attack-pattern--48ba5f20-2888-4a0c-8cc6-28631533f255", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2015-11-09T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "Frequent changes to secret keys and certificates.", "id": "course-of-action--b219b8f8-c28d-470b-8031-48f247b21a37", "modified": "2023-01-24T00:00:00.000Z", "name": "coa-625-1", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "course-of-action", "x_capec_version": "3.9" }, { "created": "2015-11-09T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--11480983-629b-48d4-bb0d-9b7bede4d597", "modified": "2023-01-24T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--b219b8f8-c28d-470b-8031-48f247b21a37", "spec_version": "2.1", "target_ref": "attack-pattern--48ba5f20-2888-4a0c-8cc6-28631533f255", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2015-11-09T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "Attacks that reveal the password/passcode pattern on a touchscreen device by detecting oil smudges left behind by the user’s fingers.", "external_references": [ { "external_id": "CAPEC-626", "source_name": "capec", "url": "https://capec.mitre.org/data/definitions/626.html" } ], "id": "attack-pattern--0fda524b-2218-4aec-bf3e-6f345d13e459", "modified": "2019-09-30T00:00:00.000Z", "name": "Smudge Attack", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "attack-pattern", "x_capec_abstraction": "Detailed", "x_capec_child_of_refs": [ "attack-pattern--5e808864-44b1-478c-8cb0-75c55cd51e2b" ], "x_capec_consequences": { "Access_Control": [ "Bypass Protection Mechanism" ] }, "x_capec_domains": [ "Physical Security" ], "x_capec_prerequisites": [ "The attacker must have physical access to the device." ], "x_capec_skills_required": { "Medium": "The attacker must know how to make use of these smudges." }, "x_capec_status": "Draft", "x_capec_version": "3.9" }, { "created": "2015-11-09T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "Strong physical security of the device.", "id": "course-of-action--03c24d78-8f14-4663-b2ab-fdbbdac190bb", "modified": "2019-09-30T00:00:00.000Z", "name": "coa-626-0", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "course-of-action", "x_capec_version": "3.9" }, { "created": "2015-11-09T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--1f1608da-3175-4247-965b-9dee8d21b05f", "modified": "2019-09-30T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--03c24d78-8f14-4663-b2ab-fdbbdac190bb", "spec_version": "2.1", "target_ref": "attack-pattern--0fda524b-2218-4aec-bf3e-6f345d13e459", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2015-11-09T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "An adversary attempts to deceive a GPS receiver by broadcasting counterfeit GPS signals, structured to resemble a set of normal GPS signals. These spoofed signals may be structured in such a way as to cause the receiver to estimate its position to be somewhere other than where it actually is, or to be located where it is but at a different time, as determined by the adversary.", "external_references": [ { "external_id": "CAPEC-627", "source_name": "capec", "url": "https://capec.mitre.org/data/definitions/627.html" } ], "id": "attack-pattern--2e1be870-6442-4978-9a30-46d518aa1f74", "modified": "2019-04-04T00:00:00.000Z", "name": "Counterfeit GPS Signals", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "attack-pattern", "x_capec_abstraction": "Standard", "x_capec_child_of_refs": [ "attack-pattern--bd4f8f46-1bc7-40a9-b15a-e36b7671cf5b" ], "x_capec_consequences": { "Integrity": [ "Modify Data" ] }, "x_capec_domains": [ "Communications", "Hardware" ], "x_capec_likelihood_of_attack": "Low", "x_capec_parent_of_refs": [ "attack-pattern--3b7a108f-f42f-42c7-99be-a16ec15ca0ff" ], "x_capec_prerequisites": [ "The target must be relying on valid GPS signal to perform critical operations." ], "x_capec_resources_required": [ "Ability to create spoofed GPS signals." ], "x_capec_skills_required": { "High": "The ability to spoof GPS signals is not trival." }, "x_capec_status": "Draft", "x_capec_typical_severity": "High", "x_capec_version": "3.9" }, { "created": "2015-11-09T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "A common form of a GPS spoofing attack, commonly termed a carry-off attack begins with an adversary broadcasting signals synchronized with the genuine signals observed by the target receiver. The power of the counterfeit signals is then gradually increased and drawn away from the genuine signals. Over time, the adversary can carry the target away from their intended destination and toward a location chosen by the adversary.", "external_references": [ { "external_id": "CAPEC-628", "source_name": "capec", "url": "https://capec.mitre.org/data/definitions/628.html" }, { "description": "Wikipedia, The Wikimedia Foundation, Inc", "external_id": "REF-489", "source_name": "reference_from_CAPEC", "url": "https://en.wikipedia.org/wiki/Spoofing_attack#GPS_Spoofing" } ], "id": "attack-pattern--3b7a108f-f42f-42c7-99be-a16ec15ca0ff", "modified": "2019-04-04T00:00:00.000Z", "name": "Carry-Off GPS Attack", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "attack-pattern", "x_capec_abstraction": "Detailed", "x_capec_child_of_refs": [ "attack-pattern--2e1be870-6442-4978-9a30-46d518aa1f74" ], "x_capec_domains": [ "Communications" ], "x_capec_example_instances": [ "A \"proof-of-concept\" attack was successfully performed in June, 2013, when the luxury yacht \"White Rose\" was misdirected with spoofed GPS signals from Monaco to the island of Rhodes by a group of aerospace engineering students from the Cockrell School of Engineering at the University of Texas in Austin. The students were aboard the yacht, allowing their spoofing equipment to gradually overpower the signal strengths of the actual GPS constellation satellites, altering the course of the yacht." ], "x_capec_likelihood_of_attack": "Low", "x_capec_prerequisites": [ "The target must be relying on valid GPS signal to perform critical operations." ], "x_capec_skills_required": { "High": "This attack requires advanced knoweldge in GPS technology." }, "x_capec_status": "Draft", "x_capec_typical_severity": "High", "x_capec_version": "3.9" }, { "created": "2015-11-09T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "This attack pattern has been deprecated.", "external_references": [ { "external_id": "CAPEC-629", "source_name": "capec", "url": "https://capec.mitre.org/data/definitions/629.html" } ], "id": "attack-pattern--61baa525-b9a3-4474-98d9-7645906e4cc3", "modified": "2022-09-29T00:00:00.000Z", "name": "DEPRECATED: Unauthorized Use of Device Resources", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "attack-pattern", "x_capec_abstraction": "Standard", "x_capec_status": "Deprecated", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "An adversary embeds malicious scripts in content that will be served to web browsers. The goal of the attack is for the target software, the client-side browser, to execute the script with the users' privilege level. An attack of this type exploits a programs' vulnerabilities that are brought on by allowing remote hosts to execute code and scripts. Web browsers, for example, have some simple security controls in place, but if a remote attacker is allowed to execute scripts (through injecting them in to user-generated content like bulletin boards) then these controls may be bypassed. Further, these attacks are very difficult for an end user to detect.", "external_references": [ { "external_id": "CAPEC-63", "source_name": "capec", "url": "https://capec.mitre.org/data/definitions/63.html" }, { "external_id": "CWE-79", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/79.html" }, { "external_id": "CWE-20", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/20.html" }, { "description": "Cross-Site Scripting", "external_id": "08", "source_name": "WASC", "url": "http://projects.webappsec.org/Cross-Site-Scripting" }, { "description": "Cross Site Scripting (XSS)", "source_name": "OWASP Attacks", "url": "https://owasp.org/www-community/attacks/xss" }, { "description": "G. Hoglund, G. McGraw, Exploiting Software: How to Break Code, 2004--02, Addison-Wesley", "external_id": "REF-1", "source_name": "reference_from_CAPEC" } ], "id": "attack-pattern--70b83583-ffe3-4e6d-b4a6-61a9b9efc346", "modified": "2022-09-29T00:00:00.000Z", "name": "Cross-Site Scripting (XSS)", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "attack-pattern", "x_capec_abstraction": "Standard", "x_capec_can_follow_refs": [ "attack-pattern--b89511b6-f0fb-4c1d-a884-a0d5a0d82b4e", "attack-pattern--8bd0c718-f126-4397-9754-c5225da7b696", "attack-pattern--ae3f2c33-9018-442e-9cc3-24d65c7f4974", "attack-pattern--d845a25b-b140-438c-91d7-30b709bb6e18", "attack-pattern--ba694895-a0cf-494e-ace2-bf3488330b80", "attack-pattern--94208f8a-f779-4be5-a97b-d9ab781a3f5e" ], "x_capec_can_precede_refs": [ "attack-pattern--f14acee3-770c-4154-a9b2-9eda908c6a9f" ], "x_capec_child_of_refs": [ "attack-pattern--7f0f7de2-bf09-4f60-86bb-6933192b7128" ], "x_capec_consequences": { "Availability": [ "Execute Unauthorized Commands (Run Arbitrary Code)" ], "Confidentiality": [ "Execute Unauthorized Commands (Run Arbitrary Code)", "Read Data" ], "Integrity": [ "Execute Unauthorized Commands (Run Arbitrary Code)", "Modify Data" ] }, "x_capec_domains": [ "Software" ], "x_capec_example_instances": [ "\n Classic phishing attacks lure users to click on content that appears trustworthy, such as logos, and links that seem to go to their trusted financial institutions and online auction sites. But instead the attacker appends malicious scripts into the otherwise innocent appearing resources. The HTML source for a standard phishing attack looks like this:\n maliciousscript\">Trusted Site\n When the user clicks the link, the appended script also executes on the local user's machine.\n " ], "x_capec_execution_flow": "

Execution Flow

Explore

  1. Survey the application for user-controllable inputs: Using a browser or an automated tool, an attacker follows all public links and actions on a web site. They record all the links, the forms, the resources accessed and all other potential entry-points for the web application.

  2. Techniques
    Use a spidering tool to follow and record all links and analyze the web pages to find entry points. Make special note of any links that include parameters in the URL.
    Use a proxy tool to record all links visited during a manual traversal of the web application.
    Use a browser to manually explore the website and analyze how it is constructed. Many browsers' plugins are available to facilitate the analysis or automate the discovery.

Experiment

  1. Probe identified potential entry points for XSS vulnerability: The attacker uses the entry points gathered in the \"Explore\" phase as a target list and injects various common script payloads to determine if an entry point actually represents a vulnerability and to characterize the extent to which the vulnerability can be exploited.

  2. Techniques
    Use a list of XSS probe strings to inject script in parameters of known URLs. If possible, the probe strings contain a unique identifier.
    Use a proxy tool to record results of manual input of XSS probes in known URLs.
    Use a list of XSS probe strings to inject script into UI entry fields. If possible, the probe strings contain a unique identifier.
    Use a list of XSS probe strings to inject script into resources accessed by the application. If possible, the probe strings contain a unique identifier.

Exploit

  1. Steal session IDs, credentials, page content, etc.: As the attacker succeeds in exploiting the vulnerability, they can choose to steal user's credentials in order to reuse or to analyze them later on.

  2. Techniques
    Develop malicious JavaScript that is injected through vectors identified during the Experiment Phase and loaded by the victim's browser and sends document information to the attacker.
    Develop malicious JavaScript that injected through vectors identified during the Experiment Phase and takes commands from an attacker's server and then causes the browser to execute appropriately.
  3. Forceful browsing: When the attacker targets the current application or another one (through CSRF vulnerabilities), the user will then be the one who perform the attacks without being aware of it. These attacks are mostly targeting application logic flaws, but it can also be used to create a widespread attack against a particular website on the user's current network (Internet or not).

  4. Techniques
    Develop malicious JavaScript that is injected through vectors identified during the Experiment Phase and loaded by the victim's browser and performs actions on the same web site
    Develop malicious JavaScript that injected through vectors identified during the Experiment Phase and takes commands from an attacker's server and then causes the browser to execute request to other web sites (especially the web applications that have CSRF vulnerabilities).
  5. Content spoofing: By manipulating the content, the attacker targets the information that the user would like to get from the website.

  6. Techniques
    Develop malicious JavaScript that is injected through vectors identified during the Experiment Phase and loaded by the victim's browser and exposes attacker-modified invalid information to the user on the current web page.
", "x_capec_likelihood_of_attack": "High", "x_capec_parent_of_refs": [ "attack-pattern--b1eef783-daae-494c-a418-cd9ada7cbe8b", "attack-pattern--61b17787-fe92-427c-9e6a-6311997d7b2a", "attack-pattern--800f8095-99b6-4bb9-8bc6-8b9727201a2f" ], "x_capec_prerequisites": [ "Target client software must be a client that allows scripting communication from remote hosts, such as a JavaScript-enabled Web Browser." ], "x_capec_resources_required": [ "Ability to deploy a custom hostile service for access by targeted clients. Ability to communicate synchronously or asynchronously with client machine." ], "x_capec_skills_required": { "High": "Exploiting a client side vulnerability to inject malicious scripts into the browser's executable process.", "Low": "To achieve a redirection and use of less trusted source, an attacker can simply place a script in bulletin board, blog, wiki, or other user-generated content site that are echoed back to other client machines." }, "x_capec_status": "Draft", "x_capec_typical_severity": "Very High", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--5b2e5df5-9856-4289-90c4-ecaa908f4206", "modified": "2022-09-29T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--094a4c09-e49c-422b-b8ec-b51c19dba18c", "spec_version": "2.1", "target_ref": "attack-pattern--70b83583-ffe3-4e6d-b4a6-61a9b9efc346", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--9acc276d-8c69-42b8-af78-29193fa00cba", "modified": "2022-09-29T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--040cd51a-446a-4612-a9d0-4a90119d5191", "spec_version": "2.1", "target_ref": "attack-pattern--70b83583-ffe3-4e6d-b4a6-61a9b9efc346", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--2f74ac5d-bb0a-4f7e-9601-cfc8bac01201", "modified": "2022-09-29T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--97eb8eeb-5e17-4a04-803b-c4de40723fc9", "spec_version": "2.1", "target_ref": "attack-pattern--70b83583-ffe3-4e6d-b4a6-61a9b9efc346", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--dabf76e9-8f71-45cd-a775-c1d8040bd5a8", "modified": "2022-09-29T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--e9836d98-9116-4902-ba62-2c4fcc7e03c3", "spec_version": "2.1", "target_ref": "attack-pattern--70b83583-ffe3-4e6d-b4a6-61a9b9efc346", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--950d64aa-75ae-40ab-993f-9a539cc6ce36", "modified": "2022-09-29T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--8a996efc-52e0-4aaf-953a-21c3fe64c64b", "spec_version": "2.1", "target_ref": "attack-pattern--70b83583-ffe3-4e6d-b4a6-61a9b9efc346", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--e7f5d816-04cc-4ad5-823a-b420121bb86e", "modified": "2022-09-29T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--4f20a4a7-cb6a-477b-a12a-13c5e9d03353", "spec_version": "2.1", "target_ref": "attack-pattern--70b83583-ffe3-4e6d-b4a6-61a9b9efc346", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--c6e23539-a2eb-4b8f-a47e-aac60fb3f876", "modified": "2022-09-29T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--86dea14b-a9d1-461f-a1e0-ff289490c27e", "spec_version": "2.1", "target_ref": "attack-pattern--70b83583-ffe3-4e6d-b4a6-61a9b9efc346", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--f6b510bd-d7a8-4d02-aef8-cdfb98c31f65", "modified": "2022-09-29T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--fd1a110f-6520-479b-9f42-9c88acdbf90e", "spec_version": "2.1", "target_ref": "attack-pattern--70b83583-ffe3-4e6d-b4a6-61a9b9efc346", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2015-11-09T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "An adversary registers a domain name with at least one character different than a trusted domain. A TypoSquatting attack takes advantage of instances where a user mistypes a URL (e.g. www.goggle.com) or not does visually verify a URL before clicking on it (e.g. phishing attack). As a result, the user is directed to an adversary-controlled destination. TypoSquatting does not require an attack against the trusted domain or complicated reverse engineering.", "external_references": [ { "external_id": "CAPEC-630", "source_name": "capec", "url": "https://capec.mitre.org/data/definitions/630.html" }, { "description": "Nick Nikiforakis, Marco Balduzzi, Lieven Desmet, Frank Piessens, Wouter Joosen, Soundsquatting: Uncovering the Use of Homophones in Domain Squatting, Trend Micro", "external_id": "REF-491", "source_name": "reference_from_CAPEC", "url": "https://www.trendmicro.de/cloud-content/us/pdfs/security-intelligence/white-papers/wp-soundsquatting.pdf" } ], "id": "attack-pattern--b6f0fd7e-6068-4557-976c-fd34914b11bf", "modified": "2022-09-29T00:00:00.000Z", "name": "TypoSquatting", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "attack-pattern", "x_capec_abstraction": "Detailed", "x_capec_can_follow_refs": [ "attack-pattern--a00c2cc2-bd4f-4594-9ec1-b021b62ac896" ], "x_capec_can_precede_refs": [ "attack-pattern--5dec633b-7b10-4bfe-9270-e68b98112285", "attack-pattern--0d249bf9-13b3-4c13-9423-bcb1ea73c067" ], "x_capec_child_of_refs": [ "attack-pattern--e9d5d2e4-588f-43c1-bc98-73417abbb727" ], "x_capec_consequences": { "Other": [ "Other (Depending on the intention of the adversary, a successful TypoSquatting attack can be leveraged to execute more complex attacks such as cross-site scripting or stealing account credentials.)" ] }, "x_capec_domains": [ "Social Engineering" ], "x_capec_example_instances": [ "\n An adversary sends an email, impersonating paypal.com, to a user stating that they have just received a money transfer and to click the given link to obtain their money.\n However, the link the in email is paypa1.com instead of paypal.com, which the user clicks without fully reading the link.\n The user is directed to the adversary's website, which appears as if it is the legitimate paypal.com login page.\n The user thinks they are logging into their account, but have actually just given their paypal credentials to the adversary. The adversary can now use the user's legitimate paypal credentials to log into the user's account and steal any money which may be in the account.\n TypoSquatting vulnerability allows an adversary to impersonate a trusted domain and trick a user into visiting the malicious website to steal user credentials.\n " ], "x_capec_execution_flow": "

Execution Flow

Explore

  1. Determine target website: The adversary first determines which website to impersonate, generally one that is trusted and receives a consistent amount of traffic.

  2. Techniques
    Research popular or high traffic websites.

Experiment

  1. Impersonate trusted domain: In order to impersonate the trusted domain, the adversary needs to register the TypoSquatted URL.

  2. Techniques
    Register the TypoSquatted domain.

Exploit

  1. Deceive user into visiting domain: Finally, the adversary needs to deceive a user into visiting the TypoSquatted domain.

  2. Techniques
    Execute a phishing attack and send a user an e-mail convincing the user to click on a link leading the user to the TypoSquatted domain.
    Assume that a user will incorrectly type the legitimate URL, leading the user to the TypoSquatted domain.
", "x_capec_likelihood_of_attack": "Low", "x_capec_prerequisites": [ "An adversary requires knowledge of popular or high traffic domains, that could be used to deceive potential targets." ], "x_capec_skills_required": { "Low": "Adversaries must be able to register DNS hostnames/URL’s." }, "x_capec_status": "Draft", "x_capec_typical_severity": "Medium", "x_capec_version": "3.9" }, { "created": "2015-11-09T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--0098fae5-dbdf-44cd-a5c0-b5fc9efe3a56", "modified": "2022-09-29T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--ba0348be-410d-4fe9-bf0e-bb5e48d5af8b", "spec_version": "2.1", "target_ref": "attack-pattern--b6f0fd7e-6068-4557-976c-fd34914b11bf", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2015-11-09T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "Purchase potential TypoSquatted domains and forward to legitimate domain.", "id": "course-of-action--57146b6f-bca0-47d6-9268-5475bdf66db1", "modified": "2022-09-29T00:00:00.000Z", "name": "coa-630-1", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "course-of-action", "x_capec_version": "3.9" }, { "created": "2015-11-09T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--c2442a11-1be7-42c6-b9e8-d6e757681156", "modified": "2022-09-29T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--57146b6f-bca0-47d6-9268-5475bdf66db1", "spec_version": "2.1", "target_ref": "attack-pattern--b6f0fd7e-6068-4557-976c-fd34914b11bf", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2015-11-09T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "An adversary registers a domain name that sounds the same as a trusted domain, but has a different spelling. A SoundSquatting attack takes advantage of a user's confusion of the two words to direct Internet traffic to adversary-controlled destinations. SoundSquatting does not require an attack against the trusted domain or complicated reverse engineering.", "external_references": [ { "external_id": "CAPEC-631", "source_name": "capec", "url": "https://capec.mitre.org/data/definitions/631.html" }, { "description": "Nick Nikiforakis, Marco Balduzzi, Lieven Desmet, Frank Piessens, Wouter Joosen, Soundsquatting: Uncovering the Use of Homophones in Domain Squatting, Trend Micro", "external_id": "REF-491", "source_name": "reference_from_CAPEC", "url": "https://www.trendmicro.de/cloud-content/us/pdfs/security-intelligence/white-papers/wp-soundsquatting.pdf" } ], "id": "attack-pattern--a2cad567-3a04-4ef3-8b62-25924c93b53f", "modified": "2022-09-29T00:00:00.000Z", "name": "SoundSquatting", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "attack-pattern", "x_capec_abstraction": "Detailed", "x_capec_alternate_terms": [ "Homophone Attack" ], "x_capec_can_follow_refs": [ "attack-pattern--a00c2cc2-bd4f-4594-9ec1-b021b62ac896" ], "x_capec_can_precede_refs": [ "attack-pattern--5dec633b-7b10-4bfe-9270-e68b98112285", "attack-pattern--0d249bf9-13b3-4c13-9423-bcb1ea73c067" ], "x_capec_child_of_refs": [ "attack-pattern--e9d5d2e4-588f-43c1-bc98-73417abbb727" ], "x_capec_consequences": { "Other": [ "Other (Depending on the intention of the adversary, a successful SoundSquatting attack can be leveraged to execute more complex attacks such as cross-site scripting or stealing account credentials.)" ] }, "x_capec_domains": [ "Social Engineering" ], "x_capec_example_instances": [ "\n An adversary sends an email, impersonating the popular banking website guaranteebanking.com, to a user stating that they have just received a new deposit and to click the given link to confirm the deposit.\n However, the link the in email is guarantybanking.com instead of guaranteebanking.com, which the user clicks without fully reading the link.\n The user is directed to the adversary's website, which appears as if it is the legitimate guaranteebanking.com login page.\n The user thinks they are logging into their account, but have actually just given their guaranteebanking.com credentials to the adversary. The adversary can now use the user's legitimate guaranteebanking.com credentials to log into the user's account and steal any money which may be in the account.See also: SoundSquatting vulnerability allows an adversary to impersonate a trusted domain and leverages a user's confusion between the meaning of two words which are pronounced the same into visiting the malicious website to steal user credentials." ], "x_capec_execution_flow": "

Execution Flow

Explore

  1. Determine target website: The adversary first determines which website to impersonate, generally one that is trusted, receives a consistent amount of traffic, and is a homophone.

  2. Techniques
    Research popular or high traffic websites which are also homophones.

Experiment

  1. Impersonate trusted domain: In order to impersonate the trusted domain, the adversary needs to register the SoundSquatted URL.

  2. Techniques
    Register the SoundSquatted domain.

Exploit

  1. Deceive user into visiting domain: Finally, the adversary needs to deceive a user into visiting the SoundSquatted domain.

  2. Techniques
    Execute a phishing attack and send a user an e-mail convincing the user to click on a link leading the user to the SoundSquatted domain.
    Assume that a user will unintentionally use the homophone in the URL, leading the user to the SoundSquatted domain.
", "x_capec_likelihood_of_attack": "Low", "x_capec_prerequisites": [ "An adversary requires knowledge of popular or high traffic domains, that could be used to deceive potential targets." ], "x_capec_skills_required": { "Low": "Adversaries must be able to register DNS hostnames/URL’s." }, "x_capec_status": "Draft", "x_capec_typical_severity": "Medium", "x_capec_version": "3.9" }, { "created": "2015-11-09T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--73bbe3cf-9d46-458f-b272-44e8c8bdbfdd", "modified": "2022-09-29T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--ba0348be-410d-4fe9-bf0e-bb5e48d5af8b", "spec_version": "2.1", "target_ref": "attack-pattern--a2cad567-3a04-4ef3-8b62-25924c93b53f", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2015-11-09T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "Purchase potential SoundSquatted domains and forward to legitimate domain.", "id": "course-of-action--4e3cac99-a7ec-420d-935d-3db74d0bb10a", "modified": "2022-09-29T00:00:00.000Z", "name": "coa-631-1", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "course-of-action", "x_capec_version": "3.9" }, { "created": "2015-11-09T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--a91eb59a-9010-4d4f-baca-16b413704ed6", "modified": "2022-09-29T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--4e3cac99-a7ec-420d-935d-3db74d0bb10a", "spec_version": "2.1", "target_ref": "attack-pattern--a2cad567-3a04-4ef3-8b62-25924c93b53f", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2015-11-09T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "An adversary registers a domain name containing a homoglyph, leading the registered domain to appear the same as a trusted domain. A homograph attack leverages the fact that different characters among various character sets look the same to the user. Homograph attacks must generally be combined with other attacks, such as phishing attacks, in order to direct Internet traffic to the adversary-controlled destinations.", "external_references": [ { "external_id": "CAPEC-632", "source_name": "capec", "url": "https://capec.mitre.org/data/definitions/632.html" }, { "external_id": "CWE-1007", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/1007.html" } ], "id": "attack-pattern--c4e18b3f-0445-49e8-9bf1-d47a23082501", "modified": "2023-01-24T00:00:00.000Z", "name": "Homograph Attack via Homoglyphs", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "attack-pattern", "x_capec_abstraction": "Detailed", "x_capec_alternate_terms": [ "Homoglyph Attack" ], "x_capec_can_follow_refs": [ "attack-pattern--a00c2cc2-bd4f-4594-9ec1-b021b62ac896" ], "x_capec_can_precede_refs": [ "attack-pattern--5dec633b-7b10-4bfe-9270-e68b98112285", "attack-pattern--0d249bf9-13b3-4c13-9423-bcb1ea73c067" ], "x_capec_child_of_refs": [ "attack-pattern--e9d5d2e4-588f-43c1-bc98-73417abbb727" ], "x_capec_consequences": { "Other": [ "Other (Depending on the intention of the adversary, a successful Homograph attack can be leveraged to execute more complex attacks such as cross-site scripting or stealing account credentials.)" ] }, "x_capec_domains": [ "Social Engineering" ], "x_capec_example_instances": [ "\n An adversary sends an email, impersonating bankofamerica.com to a user stating that they have just received a new deposit and to click the given link to confirm the deposit.\n However, the link the in email is bankofamerica.com, where the 'a' and 'e' characters are Cyrillic and not ASCII, instead of bankofamerica.com (all ASCII), which the user clicks after carefully reading the URL, making sure that typosquatting and soundsquatting attacks are not being leveraged against them.\n The user is directed to the adversary's website, which appears as if it is the legitimate bankofamerica.com login page.\n The user thinks they are logging into their account, but have actually just given their bankofamerica.com credentials to the adversary. The adversary can now use the user's legitimate bankofamerica.com credentials to log into the user's account and steal any money which may be in the account.\n Homograph vulnerability allows an adversary to impersonate a trusted domain by leveraging homoglyphs and tricking a user into visiting the malicious website to steal user credentials.See also: CVE-2012-0584 CVE-2009-0652 CVE-2005-0233 CVE-2005-0234 CVE-2005-0235 CVE-2005-0236 CVE-2005-0237 CVE-2005-0238" ], "x_capec_execution_flow": "

Execution Flow

Explore

  1. Determine target website: The adversary first determines which website to impersonate, generally one that is trusted and receives a consistent amount of traffic.

  2. Techniques
    Research popular or high traffic websites.

Experiment

  1. Impersonate trusted domain: In order to impersonate the trusted domain, the adversary needs to register the URL containing the homoglpyh character(s).

  2. Techniques
    Register the Homograph domain.

Exploit

  1. Deceive user into visiting domain: Finally, the adversary needs to deceive a user into visiting the Homograph domain.

  2. Techniques
    Execute a phishing attack and send a user an e-mail convincing the to click on a link leading the user to the malicious domain.
", "x_capec_likelihood_of_attack": "Low", "x_capec_prerequisites": [ "An adversary requires knowledge of popular or high traffic domains, that could be used to deceive potential targets." ], "x_capec_skills_required": { "Low": "Adversaries must be able to register DNS hostnames/URL’s." }, "x_capec_status": "Draft", "x_capec_typical_severity": "Medium", "x_capec_version": "3.9" }, { "created": "2015-11-09T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--cc79c713-e3ec-414c-8426-5e3cdf4a0f13", "modified": "2023-01-24T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--ba0348be-410d-4fe9-bf0e-bb5e48d5af8b", "spec_version": "2.1", "target_ref": "attack-pattern--c4e18b3f-0445-49e8-9bf1-d47a23082501", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2015-11-09T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "Utilize browsers that can warn users if URLs contain characters from different character sets.", "id": "course-of-action--676ce84f-78c4-40f9-96e2-d65ddbfb6b69", "modified": "2023-01-24T00:00:00.000Z", "name": "coa-632-1", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "course-of-action", "x_capec_version": "3.9" }, { "created": "2015-11-09T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--ffcda0d4-63d6-4980-9ad1-5627a39ccb6e", "modified": "2023-01-24T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--676ce84f-78c4-40f9-96e2-d65ddbfb6b69", "spec_version": "2.1", "target_ref": "attack-pattern--c4e18b3f-0445-49e8-9bf1-d47a23082501", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2018-04-12T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "An adversary exploits a weakness in authentication to create an access token (or equivalent) that impersonates a different entity, and then associates a process/thread to that that impersonated token. This action causes a downstream user to make a decision or take action that is based on the assumed identity, and not the response that blocks the adversary.", "external_references": [ { "external_id": "CAPEC-633", "source_name": "capec", "url": "https://capec.mitre.org/data/definitions/633.html" }, { "external_id": "CWE-287", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/287.html" }, { "external_id": "CWE-1270", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/1270.html" }, { "description": "Access Token Manipulation", "external_id": "T1134", "source_name": "ATTACK", "url": "https://attack.mitre.org/wiki/Technique/T1134" } ], "id": "attack-pattern--bec2babe-f38d-49ed-a901-4c7dbbe87b1e", "modified": "2021-06-24T00:00:00.000Z", "name": "Token Impersonation", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "attack-pattern", "x_capec_abstraction": "Detailed", "x_capec_child_of_refs": [ "attack-pattern--862d18f1-a87c-4f1b-acc2-882697d5d6e5" ], "x_capec_consequences": { "Integrity": [ "Alter Execution Logic (By faking the source of data or services, an adversary can cause a target to make incorrect decisions about how to proceed.)", "Gain Privileges (By impersonating identities that have an increased level of access, an adversary gain privilege that they many not have otherwise had.)", "Hide Activities (Faking the source of data or services can be used to create a false trail in logs as the target will associated any actions with the impersonated identity instead of the adversary.)" ] }, "x_capec_domains": [ "Software", "Hardware" ], "x_capec_prerequisites": [ "This pattern of attack is only applicable when a downstream user leverages tokens to verify identity, and then takes action based on that identity." ], "x_capec_status": "Stable", "x_capec_typical_severity": "Medium", "x_capec_version": "3.9" }, { "created": "2018-07-31T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "The adversary exploits the target system's audio and video functionalities through malware or scheduled tasks. The goal is to capture sensitive information about the target for financial, personal, political, or other gains which is accomplished by collecting communication data between two parties via the use of peripheral devices (e.g. microphones and webcams) or applications with audio and video capabilities (e.g. Skype) on a system.", "external_references": [ { "external_id": "CAPEC-634", "source_name": "capec", "url": "https://capec.mitre.org/data/definitions/634.html" }, { "external_id": "CWE-267", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/267.html" }, { "description": "Audio Capture", "external_id": "T1123", "source_name": "ATTACK", "url": "https://attack.mitre.org/wiki/Technique/T1123" }, { "description": "Video Capture", "external_id": "T1125", "source_name": "ATTACK", "url": "https://attack.mitre.org/wiki/Technique/T1125" }, { "description": "Amrita Mitra, What is Car Whisperer?, 2017--03---08, The Security Buddy", "external_id": "REF-653", "source_name": "reference_from_CAPEC", "url": "https://www.thesecuritybuddy.com/bluetooth-security/what-is-car-whisperer/" }, { "description": "What is Bluesnarfing?, 2017--03---13, Finjan Mobile", "external_id": "REF-654", "source_name": "reference_from_CAPEC", "url": "https://www.finjanmobile.com/what-is-bluesnarfing/" } ], "id": "attack-pattern--a7ed6b37-4ede-4c34-bbb2-c422fb844d74", "modified": "2021-06-24T00:00:00.000Z", "name": "Probe Audio and Video Peripherals", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "attack-pattern", "x_capec_abstraction": "Detailed", "x_capec_child_of_refs": [ "attack-pattern--94e596d2-6844-4031-80c3-8522642aaff8", "attack-pattern--191fbdab-d3b3-4ffd-8829-51331c20eaa7" ], "x_capec_consequences": { "Confidentiality": [ "Read Data" ] }, "x_capec_domains": [ "Communications", "Software", "Software" ], "x_capec_example_instances": [ "An adversary can capture audio and video, and transmit the recordings to a C2 server or a similar capability.", "An adversary can capture and record from audio peripherals in a vehicle via a Car Whisperer attack. If an adversary is within close proximity to a vehicle with Bluetooth capabilities, they may attempt to connect to the hands-free system when it is in pairing mode. With successful authentication, if an authentication system is present at all, an adversary may be able to play music/voice recordings, as well begin a recording and capture conversations happening inside the vehicle. Successful authentication relies on the pairing security key being set to a default value, or by brute force (which may be less practical in an outside environment) Depending on the sensitivity of the information being discussed, this scenario can be extremely compromising.", "An adversary may also use a technique called Bluebugging, which is similar to Bluesnarfing but requires the adversary to be between 10-15 meters of the target device. Bluebugging creates a backdoor for an attacker to listen/record phone calls, forward calls, send SMS and retrieve the phonebook." ], "x_capec_likelihood_of_attack": "Low", "x_capec_prerequisites": [ "Knowledge of the target device's or application’s vulnerabilities that can be capitalized on with malicious code. The adversary must be able to place the malicious code on the target device." ], "x_capec_skills_required": { "High": "To deploy a hidden process or malware on the system to automatically collect audio and video data." }, "x_capec_status": "Stable", "x_capec_typical_severity": "High", "x_capec_version": "3.9" }, { "created": "2018-07-31T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "Prevent unknown code from executing on a system through the use of an allowlist policy.", "id": "course-of-action--d2376771-bf07-4a50-828d-05fdda76a87f", "modified": "2021-06-24T00:00:00.000Z", "name": "coa-634-0", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "course-of-action", "x_capec_version": "3.9" }, { "created": "2018-07-31T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--cbf046fa-0379-4600-9440-4e02b4dba1f4", "modified": "2021-06-24T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--d2376771-bf07-4a50-828d-05fdda76a87f", "spec_version": "2.1", "target_ref": "attack-pattern--a7ed6b37-4ede-4c34-bbb2-c422fb844d74", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2018-07-31T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "Patch installed applications as soon as new updates become available.", "id": "course-of-action--0dfabd41-428e-43f9-93f8-078e6987d31c", "modified": "2021-06-24T00:00:00.000Z", "name": "coa-634-1", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "course-of-action", "x_capec_version": "3.9" }, { "created": "2018-07-31T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--4780d621-4627-424b-903c-3f4d714d86a1", "modified": "2021-06-24T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--0dfabd41-428e-43f9-93f8-078e6987d31c", "spec_version": "2.1", "target_ref": "attack-pattern--a7ed6b37-4ede-4c34-bbb2-c422fb844d74", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2018-05-31T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "The extension of a file name is often used in various contexts to determine the application that is used to open and use it. If an attacker can cause an alternative application to be used, it may be able to execute malicious code, cause a denial of service or expose sensitive information.", "external_references": [ { "external_id": "CAPEC-635", "source_name": "capec", "url": "https://capec.mitre.org/data/definitions/635.html" }, { "external_id": "CWE-162", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/162.html" }, { "description": "Masquerading: Double File Extension", "external_id": "T1036.007", "source_name": "ATTACK", "url": "https://attack.mitre.org/wiki/Technique/T1036/007" } ], "id": "attack-pattern--95afb65f-ece7-4511-85a3-d7bfb9973022", "modified": "2022-09-29T00:00:00.000Z", "name": "Alternative Execution Due to Deceptive Filenames", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "attack-pattern", "x_capec_abstraction": "Standard", "x_capec_child_of_refs": [ "attack-pattern--f8533ce1-5f23-4660-8f70-1a05af2c70d3" ], "x_capec_domains": [ "Software" ], "x_capec_parent_of_refs": [ "attack-pattern--74a4fb36-83cb-4851-b09c-370f1a408523", "attack-pattern--f18ec51a-9ecd-49bf-9b91-5f5288306f70" ], "x_capec_prerequisites": [ "The use of the file must be controlled by the file extension." ], "x_capec_status": "Draft", "x_capec_typical_severity": "High", "x_capec_version": "3.9" }, { "created": "2018-05-31T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "Applications should insure that the content of the file is consistent with format it is expecting, and not depend solely on the file extension.", "id": "course-of-action--0ef2d26f-fc33-4b45-8b2f-ea08dd776b12", "modified": "2022-09-29T00:00:00.000Z", "name": "coa-635-0", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "course-of-action", "x_capec_version": "3.9" }, { "created": "2018-05-31T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--d2c9b192-26b4-46a5-a6c9-aca496c5e896", "modified": "2022-09-29T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--0ef2d26f-fc33-4b45-8b2f-ea08dd776b12", "spec_version": "2.1", "target_ref": "attack-pattern--95afb65f-ece7-4511-85a3-d7bfb9973022", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2018-05-31T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "Files on various operating systems can have a complex format which allows for the storage of other data, in addition to its contents. Often this is metadata about the file, such as a cached thumbnail for an image file. Unless utilities are invoked in a particular way, this data is not visible during the normal use of the file. It is possible for an attacker to store malicious data or code using these facilities, which would be difficult to discover.", "external_references": [ { "external_id": "CAPEC-636", "source_name": "capec", "url": "https://capec.mitre.org/data/definitions/636.html" }, { "external_id": "CWE-506", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/506.html" }, { "description": "Data Obfuscation: Steganography", "external_id": "T1001.002", "source_name": "ATTACK", "url": "https://attack.mitre.org/wiki/Technique/T1001/002" }, { "description": "Obfuscated Files or Information: Steganography", "external_id": "T1027.003", "source_name": "ATTACK", "url": "https://attack.mitre.org/wiki/Technique/T1027/003" }, { "description": "Obfuscated Files or Information: Compile After Delivery", "external_id": "T1027.004", "source_name": "ATTACK", "url": "https://attack.mitre.org/wiki/Technique/T1027/004" }, { "description": "Signed Binary Proxy Execution: Compiled HTML File", "external_id": "T1218.001", "source_name": "ATTACK", "url": "https://attack.mitre.org/wiki/Technique/T1218/001" }, { "description": "Template Injection", "external_id": "T1221", "source_name": "ATTACK", "url": "https://attack.mitre.org/wiki/Technique/T1221" }, { "description": "Means, Ryan L., Alternate Data Streams: Out of the Shadows and into the Light, SANS Institute", "external_id": "REF-493", "source_name": "reference_from_CAPEC", "url": "https://www.giac.org/paper/gcwn/230/alternate-data-streams-shadows-light/104234" } ], "id": "attack-pattern--7f2c0e10-0afe-4edf-bb23-43d6f29ec932", "modified": "2023-01-24T00:00:00.000Z", "name": "Hiding Malicious Data or Code within Files", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "attack-pattern", "x_capec_abstraction": "Standard", "x_capec_child_of_refs": [ "attack-pattern--f8533ce1-5f23-4660-8f70-1a05af2c70d3" ], "x_capec_domains": [ "Software" ], "x_capec_parent_of_refs": [ "attack-pattern--0d2d1e18-6e28-4c58-b442-c5450e6c1112", "attack-pattern--9a7c6cbc-e3f9-4925-992e-f07e1359de87" ], "x_capec_prerequisites": [ "The operating system must support a file system that allows for alternate data storage for a file." ], "x_capec_status": "Draft", "x_capec_typical_severity": "High", "x_capec_version": "3.9" }, { "created": "2018-05-31T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "Many tools are available to search for the hidden data. Scan regularly for such data using one of these tools.", "id": "course-of-action--9a689051-a57a-41f3-a56f-4caedb91d329", "modified": "2023-01-24T00:00:00.000Z", "name": "coa-636-0", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "course-of-action", "x_capec_version": "3.9" }, { "created": "2018-05-31T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--07ae02b7-e3da-4e3d-bf8f-ed031fdf8696", "modified": "2023-01-24T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--9a689051-a57a-41f3-a56f-4caedb91d329", "spec_version": "2.1", "target_ref": "attack-pattern--7f2c0e10-0afe-4edf-bb23-43d6f29ec932", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2018-07-31T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "The adversary exploits an application that allows for the copying of sensitive data or information by collecting information copied to the clipboard. Data copied to the clipboard can be accessed by other applications, such as malware built to exfiltrate or log clipboard contents on a periodic basis. In this way, the adversary aims to garner information to which they are unauthorized.", "external_references": [ { "external_id": "CAPEC-637", "source_name": "capec", "url": "https://capec.mitre.org/data/definitions/637.html" }, { "external_id": "CWE-267", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/267.html" }, { "description": "Clipboard Data", "external_id": "T1115", "source_name": "ATTACK", "url": "https://attack.mitre.org/wiki/Technique/T1115" } ], "id": "attack-pattern--60ceb889-a284-44bb-ae05-4b7e347e1597", "modified": "2021-10-21T00:00:00.000Z", "name": "Collect Data from Clipboard", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "attack-pattern", "x_capec_abstraction": "Detailed", "x_capec_child_of_refs": [ "attack-pattern--797f4b4e-371a-4d06-9e98-5cccb8a7ebc1" ], "x_capec_consequences": { "Confidentiality": [ "Read Data" ] }, "x_capec_domains": [ "Software" ], "x_capec_execution_flow": "

Execution Flow

Explore

  1. Find an application that allows copying sensititve data to clipboad: An adversary first needs to find an application that allows copying and pasting of sensitive information. This could be an application that prints out temporary passwords to the screen, private email addresses, or any other sensitive information or data

Experiment

  1. Target users of the application: An adversary will target users of the application in order to obtain the information in their clipboard on a periodic basic

  2. Techniques
    Install malware on a user's system designed to log clipboard contents periodically
    Get the user to click on a malicious link that will bring them to an application to log the contents of the clipboard

Exploit

  1. Follow-up attack: Use any sensitive information found to carry out a follow-up attack

", "x_capec_likelihood_of_attack": "Low", "x_capec_prerequisites": [ "The adversary must have a means (i.e., a pre-installed tool or background process) by which to collect data from the clipboard and store it. That is, when the target copies data to the clipboard (e.g., to paste into another application), the adversary needs some means of capturing that data in a third location." ], "x_capec_skills_required": { "High": "To deploy a hidden process or malware on the system to automatically collect clipboard data." }, "x_capec_status": "Stable", "x_capec_typical_severity": "Low", "x_capec_version": "3.9" }, { "created": "2018-07-31T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "While copying and pasting of data with the clipboard is a legitimate and practical function, certain situations and context may require the disabling of this feature. Just as certain applications disable screenshot capability, applications that handle highly sensitive information should consider disabling copy and paste functionality.", "id": "course-of-action--59dd4ce4-6777-41cd-ae1f-56718a9b85a1", "modified": "2021-10-21T00:00:00.000Z", "name": "coa-637-0", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "course-of-action", "x_capec_version": "3.9" }, { "created": "2018-07-31T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--ca571029-201a-4dbc-aaa9-e3179a745f60", "modified": "2021-10-21T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--59dd4ce4-6777-41cd-ae1f-56718a9b85a1", "spec_version": "2.1", "target_ref": "attack-pattern--60ceb889-a284-44bb-ae05-4b7e347e1597", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2018-07-31T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "Employ a robust identification and audit/blocking via using an allowlist of applications on your system. Malware may contain the functionality associated with this attack pattern.", "id": "course-of-action--2d0dcdc8-f803-406a-8cd3-f6e1207c9ed7", "modified": "2021-10-21T00:00:00.000Z", "name": "coa-637-1", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "course-of-action", "x_capec_version": "3.9" }, { "created": "2018-07-31T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--19f949ab-5e38-4bef-be5d-dcdcfbc6b2eb", "modified": "2021-10-21T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--2d0dcdc8-f803-406a-8cd3-f6e1207c9ed7", "spec_version": "2.1", "target_ref": "attack-pattern--60ceb889-a284-44bb-ae05-4b7e347e1597", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2018-07-31T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "An adversary exploits systems features and/or improperly protected firmware of hardware components, such as Hard Disk Drives (HDD), with the goal of executing malicious code from within the component's Master Boot Record (MBR). Conducting this type of attack entails the adversary infecting the target with firmware altering malware, using known tools, and a payload. Once this malware is executed, the MBR is modified to include instructions to execute the payload at desired intervals and when the system is booted up. A successful attack will obtain persistence within the victim system even if the operating system is reinstalled and/or if the component is formatted or has its data erased.", "external_references": [ { "external_id": "CAPEC-638", "source_name": "capec", "url": "https://capec.mitre.org/data/definitions/638.html" }, { "description": "Pre-OS Boot:Component Firmware", "external_id": "T1542.002", "source_name": "ATTACK", "url": "https://attack.mitre.org/wiki/Technique/T1542/002" }, { "description": "EQUATION GROUP: QUESTIONS AND ANSWERS (1.5), 2015--02, Kaspersky Lab HQ", "external_id": "REF-664", "source_name": "reference_from_CAPEC", "url": "https://media.kasperskycontenthub.com/wp-content/uploads/sites/43/2018/03/08064459/Equation_group_questions_and_answers.pdf" }, { "description": "Preston Hood, Hard Drive Firmware Implant IRATEMONK, 2014--10---26, PJHoodsCo Blog", "external_id": "REF-665", "source_name": "reference_from_CAPEC", "url": "https://blog.pjhoodsco.org/hard-drive-firmware-implant-iratemonk/" }, { "description": "Bruce Schneier, IRATEMONK: NSA Exploit of the Day, 2014--01---31, Schneier on Security", "external_id": "REF-666", "source_name": "reference_from_CAPEC", "url": "https://www.schneier.com/blog/archives/2014/01/iratemonk_nsa_e.html" } ], "id": "attack-pattern--92df4967-ec90-4dc6-a8da-739892e850a4", "modified": "2021-06-24T00:00:00.000Z", "name": "Altered Component Firmware", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "attack-pattern", "x_capec_abstraction": "Detailed", "x_capec_child_of_refs": [ "attack-pattern--4cfba0b3-4740-49ae-bbb4-2dad27886239" ], "x_capec_consequences": { "Access_Control": [ "Read Data", "Modify Data" ], "Authentication": [ "Gain Privileges", "Execute Unauthorized Commands", "Bypass Protection Mechanism", "Hide Activities" ], "Authorization": [ "Gain Privileges", "Execute Unauthorized Commands", "Bypass Protection Mechanism", "Hide Activities" ], "Confidentiality": [ "Read Data", "Modify Data" ] }, "x_capec_domains": [ "Software", "Hardware" ], "x_capec_example_instances": [ "In 2014, the Equation group was observed levering known malware tools to conduct component firmware alteration attacks against hard drives. In total, 12 HDD categories were shown to be vulnerable from manufacturers such as Western Digital, HGST, Samsung, and Seagate. Because of their complexity, only a few victims were targeted by these attacks. [REF-664]" ], "x_capec_execution_flow": "

Execution Flow

Explore

  1. Select Target: The adversary searches for a suitable target to attack, such as government and/or private industry organizations.

  2. Techniques
    Conduct reconnaissance to determine potential targets to exploit.
  3. Identify Components: After selecting a target, the adversary determines whether a vulnerable component, such as a specific make and model of a HDD, is contained within the target system.

  4. Techniques
    [Remote Access Vector] The adversary gains remote access to the target, typically via additional malware, and explores the system to determine hardware components that are being leveraged.
    [Physical Access Vector] The adversary intercepts components in transit and determines if the component is vulnerable to attack.

Experiment

  1. Optional: Create Payload: If not using an already existing payload, the adversary creates their own to be executed at defined intervals and upon system boot processes. This payload may then be tested on the target system or a test system to confirm its functionality.

Exploit

  1. Insert Firmware Altering Malware: Once a vulnerable component has been identified, the adversary leverages known malware tools to infect the component's firmware and drop the payload within the component's MBR. This allows the adversary to maintain persistence on the target and execute the payload without being detected.

  2. Techniques
    The adversary inserts the firmware altering malware on the target component, via the use of known malware tools.
    [Physical Access Vector] The adversary then sends the component to its original intended destination, where it will be installed onto a victim system.
", "x_capec_likelihood_of_attack": "Low", "x_capec_prerequisites": [ "Advanced knowledge about the target component's firmware", "Advanced knowledge about Master Boot Records (MBR)", "Advanced knowledge about tools used to insert firmware altering malware.", "Advanced knowledge about component shipments to the target organization." ], "x_capec_resources_required": [ "Manufacturer source code for hardware components.", "Malware tools used to insert malware and payload onto target component.", "Either remote or physical access to the target component." ], "x_capec_skills_required": { "High": "Ability to intercept components in transit.", "Low": "Ability to leverage known malware tools to infect target system and insert firmware altering malware/payload", "Medium": "Ability to create malicious payload to be executed from MBR." }, "x_capec_status": "Stable", "x_capec_typical_severity": "Very High", "x_capec_version": "3.9" }, { "created": "2018-07-31T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "Leverage hardware components known to not be susceptible to these types of attacks.", "id": "course-of-action--ee51f6de-33e8-47c5-8d8b-17a99bc76e1c", "modified": "2021-06-24T00:00:00.000Z", "name": "coa-638-0", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "course-of-action", "x_capec_version": "3.9" }, { "created": "2018-07-31T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--b6dea11a-edca-4ae2-903f-37ba52f94b7d", "modified": "2021-06-24T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--ee51f6de-33e8-47c5-8d8b-17a99bc76e1c", "spec_version": "2.1", "target_ref": "attack-pattern--92df4967-ec90-4dc6-a8da-739892e850a4", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2018-07-31T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "Implement hardware RAID infrastructure.", "id": "course-of-action--e992e312-e11f-4f4a-8e35-0f0e3178301e", "modified": "2021-06-24T00:00:00.000Z", "name": "coa-638-1", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "course-of-action", "x_capec_version": "3.9" }, { "created": "2018-07-31T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--48c6816a-fb7e-4d07-bd6d-26b9d0326f98", "modified": "2021-06-24T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--e992e312-e11f-4f4a-8e35-0f0e3178301e", "spec_version": "2.1", "target_ref": "attack-pattern--92df4967-ec90-4dc6-a8da-739892e850a4", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2018-05-04T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "An adversary obtains unauthorized information due to improperly protected files. If an application stores sensitive information in a file that is not protected by proper access control, then an adversary can access the file and search for sensitive information.", "external_references": [ { "external_id": "CAPEC-639", "source_name": "capec", "url": "https://capec.mitre.org/data/definitions/639.html" }, { "external_id": "CWE-552", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/552.html" }, { "description": "Data from Network Shared Drive", "external_id": "T1039", "source_name": "ATTACK", "url": "https://attack.mitre.org/wiki/Technique/T1039" }, { "description": "Unsecured Credentials: Credentials in Files", "external_id": "T1552.001", "source_name": "ATTACK", "url": "https://attack.mitre.org/wiki/Technique/T1552/001" }, { "description": "Unsecured Credentials: Bash History", "external_id": "T1552.003", "source_name": "ATTACK", "url": "https://attack.mitre.org/wiki/Technique/T1552/003" }, { "description": "Unsecured Credentials: Private Keys", "external_id": "T1552.004", "source_name": "ATTACK", "url": "https://attack.mitre.org/wiki/Technique/T1552/004" }, { "description": "Unsecured Credentials: Group Policy Preferences", "external_id": "T1552.006", "source_name": "ATTACK", "url": "https://attack.mitre.org/wiki/Technique/T1552/006" } ], "id": "attack-pattern--9a7492fa-b46e-48bc-aae9-beb1d359171e", "modified": "2022-09-29T00:00:00.000Z", "name": "Probe System Files", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "attack-pattern", "x_capec_abstraction": "Detailed", "x_capec_child_of_refs": [ "attack-pattern--191fbdab-d3b3-4ffd-8829-51331c20eaa7" ], "x_capec_consequences": { "Confidentiality": [ "Read Data" ] }, "x_capec_domains": [ "Software" ], "x_capec_example_instances": [ "Adversaries may search local file systems and remote file shares for files containing passwords. These can be files created by users to store their own credentials, shared credential stores for a group of individuals, configuration files containing passwords for a system or service, or source code/binary files containing embedded passwords.", "Adversaries may search network shares on computers they have compromised to find files of interest." ], "x_capec_prerequisites": [ "An adversary has access to the file system of a system." ], "x_capec_status": "Stable", "x_capec_typical_severity": "Medium", "x_capec_version": "3.9" }, { "created": "2018-05-04T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "Verify that files have proper access controls set, and reduce the storage of sensitive information to only what is necessary.", "id": "course-of-action--f7009ea8-ba2d-4cdb-86fe-352bd35ae5ff", "modified": "2022-09-29T00:00:00.000Z", "name": "coa-639-0", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "course-of-action", "x_capec_version": "3.9" }, { "created": "2018-05-04T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--89b16bf7-ab18-4a61-a200-04e7a496d723", "modified": "2022-09-29T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--f7009ea8-ba2d-4cdb-86fe-352bd35ae5ff", "spec_version": "2.1", "target_ref": "attack-pattern--9a7492fa-b46e-48bc-aae9-beb1d359171e", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "This attack targets the encoding of the URL combined with the encoding of the slash characters. An attacker can take advantage of the multiple ways of encoding a URL and abuse the interpretation of the URL. A URL may contain special character that need special syntax handling in order to be interpreted. Special characters are represented using a percentage character followed by two digits representing the octet code of the original character (%HEX-CODE). For instance US-ASCII space character would be represented with %20. This is often referred as escaped ending or percent-encoding. Since the server decodes the URL from the requests, it may restrict the access to some URL paths by validating and filtering out the URL requests it received. An attacker will try to craft an URL with a sequence of special characters which once interpreted by the server will be equivalent to a forbidden URL. It can be difficult to protect against this attack since the URL can contain other format of encoding such as UTF-8 encoding, Unicode-encoding, etc.", "external_references": [ { "external_id": "CAPEC-64", "source_name": "capec", "url": "https://capec.mitre.org/data/definitions/64.html" }, { "external_id": "CWE-177", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/177.html" }, { "external_id": "CWE-173", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/173.html" }, { "external_id": "CWE-172", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/172.html" }, { "external_id": "CWE-73", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/73.html" }, { "external_id": "CWE-22", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/22.html" }, { "external_id": "CWE-74", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/74.html" }, { "external_id": "CWE-20", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/20.html" }, { "external_id": "CWE-697", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/697.html" }, { "external_id": "CWE-707", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/707.html" }, { "description": "G. Hoglund, G. McGraw, Exploiting Software: How to Break Code, 2004--02, Addison-Wesley", "external_id": "REF-1", "source_name": "reference_from_CAPEC" }, { "description": "Gunter Ollmann, URL Encoded Attacks - Attacks using the common web browser, CGISecurity.com", "external_id": "REF-495", "source_name": "reference_from_CAPEC", "url": "http://www.cgisecurity.com/lib/URLEmbeddedAttacks.html" }, { "description": "T. Berners-Lee, R. Fielding, L. Masinter, RFC 3986 - Uniform Resource Identifier (URI): Generic Syntax, 2005--01", "external_id": "REF-496", "source_name": "reference_from_CAPEC", "url": "http://www.ietf.org/rfc/rfc3986.txt" }, { "description": "T. Berners-Lee, L. Masinter, M. McCahill, RFC 1738 - Uniform Resource Locators (URL), 1994--12", "external_id": "REF-497", "source_name": "reference_from_CAPEC", "url": "http://www.ietf.org/rfc/rfc1738.txt" }, { "description": "HTML URL Encoding Reference, W3Schools.com, Refsnes Data", "external_id": "REF-498", "source_name": "reference_from_CAPEC", "url": "http://www.w3schools.com/tags/ref_urlencode.asp" }, { "description": "The URLEncode and URLDecode Page, Albion Research Ltd", "external_id": "REF-499", "source_name": "reference_from_CAPEC", "url": "http://www.albionresearch.com/misc/urlencode.php" }, { "description": "David Wheeler, Secure Programming for Linux and Unix HOWTO", "external_id": "REF-500", "source_name": "reference_from_CAPEC", "url": "http://www.dwheeler.com/secure-programs/Secure-Programs-HOWTO/filter-html.html#VALIDATING-URIS" } ], "id": "attack-pattern--feed1b00-2f2b-490f-aee1-0de5b1fbf732", "modified": "2022-09-29T00:00:00.000Z", "name": "Using Slashes and URL Encoding Combined to Bypass Validation Logic", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "attack-pattern", "x_capec_abstraction": "Detailed", "x_capec_child_of_refs": [ "attack-pattern--a1af7c24-25cb-46e5-a27b-ed316e1f91ce" ], "x_capec_consequences": { "Access_Control": [ "Gain Privileges" ], "Authorization": [ "Gain Privileges" ], "Availability": [ "Resource Consumption (Denial of Service)", "Execute Unauthorized Commands (Run Arbitrary Code)" ], "Confidentiality": [ "Execute Unauthorized Commands (Run Arbitrary Code)", "Read Data", "Gain Privileges" ], "Integrity": [ "Execute Unauthorized Commands (Run Arbitrary Code)" ] }, "x_capec_domains": [ "Software" ], "x_capec_example_instances": [ "\n Attack Example: Combined Encodings CesarFTP\n Alexandre Cesari released a freeware FTP server for Windows that fails to provide proper filtering against multiple encoding. The FTP server, CesarFTP, included a Web server component that could be attacked with a combination of the triple-dot and URL encoding attacks.\n An attacker could provide a URL that included a string like\n /...%5C/\n This is an interesting exploit because it involves an aggregation of several tricks: the escape character, URL encoding, and the triple dot.See also: CVE-2001-1335" ], "x_capec_execution_flow": "

Execution Flow

Explore

  1. The attacker accesses the server using a specific URL.

Experiment

  1. The attacker tries to encode some special characters in the URL. The attacker find out that some characters are not filtered properly.

Exploit

  1. The attacker crafts a malicious URL string request and sends it to the server.

  2. The server decodes and interprets the URL string. Unfortunately since the input filtering is not done properly, the special characters have harmful consequences.

", "x_capec_likelihood_of_attack": "High", "x_capec_prerequisites": [ "The application accepts and decodes URL string request.", "The application performs insufficient filtering/canonicalization on the URLs." ], "x_capec_skills_required": { "Low": "An attacker can try special characters in the URL and bypass the URL validation.", "Medium": "The attacker may write a script to defeat the input filtering mechanism." }, "x_capec_status": "Draft", "x_capec_typical_severity": "High", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--e5df63e2-b26c-43a9-b8db-2987556afde6", "modified": "2022-09-29T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--001320df-5e57-4ed3-bcf8-7e79dfe846aa", "spec_version": "2.1", "target_ref": "attack-pattern--feed1b00-2f2b-490f-aee1-0de5b1fbf732", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--4d3b43e0-c4ff-4ab4-abd0-67d7f2037409", "modified": "2022-09-29T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--1b63d492-1270-4630-97ef-521ac9d05eec", "spec_version": "2.1", "target_ref": "attack-pattern--feed1b00-2f2b-490f-aee1-0de5b1fbf732", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--6dd37d7b-5f87-4f59-b359-666ea8c64721", "modified": "2022-09-29T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--95ef6587-c787-4051-b664-b5e8ca753c20", "spec_version": "2.1", "target_ref": "attack-pattern--feed1b00-2f2b-490f-aee1-0de5b1fbf732", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--b6ea81ef-0f17-4947-9257-d78e4c27418e", "modified": "2022-09-29T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--3833d761-4a54-4ed3-994b-c7c76c465ae0", "spec_version": "2.1", "target_ref": "attack-pattern--feed1b00-2f2b-490f-aee1-0de5b1fbf732", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--14d09444-d3f4-4b5d-bd9c-ba056327a444", "modified": "2022-09-29T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--1f048925-3094-483c-abf2-c5efe689193a", "spec_version": "2.1", "target_ref": "attack-pattern--feed1b00-2f2b-490f-aee1-0de5b1fbf732", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--78a37ef6-634a-4ba7-95e4-375cdbab4d64", "modified": "2022-09-29T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--1890182c-6989-4e34-bfb2-92b223bcae0c", "spec_version": "2.1", "target_ref": "attack-pattern--feed1b00-2f2b-490f-aee1-0de5b1fbf732", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--95070cd8-654a-4ca1-bbdb-e0d859a8c051", "modified": "2022-09-29T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--24852297-758a-489f-b2c9-a27cbfbb938e", "spec_version": "2.1", "target_ref": "attack-pattern--feed1b00-2f2b-490f-aee1-0de5b1fbf732", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2018-07-31T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "The adversary takes advantage of a bug in an application failing to verify the integrity of the running process to execute arbitrary code in the address space of a separate live process. The adversary could use running code in the context of another process to try to access process's memory, system/network resources, etc. The goal of this attack is to evade detection defenses and escalate privileges by masking the malicious code under an existing legitimate process. Examples of approaches include but not limited to: dynamic-link library (DLL) injection, portable executable injection, thread execution hijacking, ptrace system calls, VDSO hijacking, function hooking, reflective code loading, and more.", "external_references": [ { "external_id": "CAPEC-640", "source_name": "capec", "url": "https://capec.mitre.org/data/definitions/640.html" }, { "external_id": "CWE-114", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/114.html" }, { "external_id": "CWE-829", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/829.html" }, { "description": "Server Software Component: Terminal Services DLL", "external_id": "T1505.005", "source_name": "ATTACK", "url": "https://attack.mitre.org/wiki/Technique/T1505/005" }, { "description": "Hijack Execution Flow: Dynamic Linker Hijacking", "external_id": "T1574.006", "source_name": "ATTACK", "url": "https://attack.mitre.org/wiki/Technique/T1574/006" }, { "description": "Hijack Execution Flow: KernelCallbackTable", "external_id": "T1574.013", "source_name": "ATTACK", "url": "https://attack.mitre.org/wiki/Technique/T1574/013" }, { "description": "Reflective Code Loading", "external_id": "T1620", "source_name": "ATTACK", "url": "https://attack.mitre.org/wiki/Technique/T1620" } ], "id": "attack-pattern--8bb5fe8b-4746-4b90-9e89-b65c4daa21e4", "modified": "2023-01-24T00:00:00.000Z", "name": "Inclusion of Code in Existing Process", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "attack-pattern", "x_capec_abstraction": "Detailed", "x_capec_child_of_refs": [ "attack-pattern--283d665d-e109-4d5d-8993-6fb25e5923d6" ], "x_capec_consequences": { "Confidentiality": [ "Execute Unauthorized Commands", "Read Data" ], "Integrity": [ "Execute Unauthorized Commands", "Read Data" ] }, "x_capec_domains": [ "Software" ], "x_capec_execution_flow": "

Execution Flow

Explore

  1. Determine target process: The adversary determines a process with sufficient privileges that they wish to include code into.

  2. Techniques
    On Windows, use the process explorer's security tab to see if a process is running with administror privileges.
    On Linux, use the ps command to view running processes and pipe the output to a search for a particular user, or the root user.

Experiment

  1. Attempt to include simple code with known output: The adversary attempts to include very simple code into the existing process to determine if the code inclusion worked. The code will differ based on the approach used to include code into an existing process.

Exploit

  1. Include arbitrary code into existing process: Once an adversary has determined that including code into the existing process is possible, they will include code for a targeted purpose, such as accessing that process's memory.

", "x_capec_likelihood_of_attack": "Low", "x_capec_prerequisites": [ "The targeted application fails to verify the integrity of the running process that allows an adversary to execute arbitrary code." ], "x_capec_skills_required": { "High": "Knowledge of how to load malicious code into the memory space of a running process, as well as the ability to have the running process execute this code. For example, with DLL injection, the adversary must know how to load a DLL into the memory space of another running process, and cause this process to execute the code inside of the DLL." }, "x_capec_status": "Stable", "x_capec_typical_severity": "High", "x_capec_version": "3.9" }, { "created": "2018-07-31T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "Prevent unknown or malicious software from loading through using an allowlist policy.", "id": "course-of-action--9a551de1-20d0-49ee-b6f2-36ad8f61c8e5", "modified": "2023-01-24T00:00:00.000Z", "name": "coa-640-0", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "course-of-action", "x_capec_version": "3.9" }, { "created": "2018-07-31T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--65e58781-40ea-404e-93cf-151d351ad305", "modified": "2023-01-24T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--9a551de1-20d0-49ee-b6f2-36ad8f61c8e5", "spec_version": "2.1", "target_ref": "attack-pattern--8bb5fe8b-4746-4b90-9e89-b65c4daa21e4", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2018-07-31T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "Properly restrict the location of the software being used.", "id": "course-of-action--03fdd3ce-a674-49a6-9d85-fc475ab59474", "modified": "2023-01-24T00:00:00.000Z", "name": "coa-640-1", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "course-of-action", "x_capec_version": "3.9" }, { "created": "2018-07-31T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--85d27ab2-ecd4-456d-b89a-b7c4e35486df", "modified": "2023-01-24T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--03fdd3ce-a674-49a6-9d85-fc475ab59474", "spec_version": "2.1", "target_ref": "attack-pattern--8bb5fe8b-4746-4b90-9e89-b65c4daa21e4", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2018-07-31T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "Leverage security kernel modules providing advanced access control and process restrictions like SELinux.", "id": "course-of-action--fba11826-8062-4a5b-8894-29e9ad3c0d1c", "modified": "2023-01-24T00:00:00.000Z", "name": "coa-640-2", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "course-of-action", "x_capec_version": "3.9" }, { "created": "2018-07-31T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--4f55ef67-7b67-4bc1-970e-dd7c277df922", "modified": "2023-01-24T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--fba11826-8062-4a5b-8894-29e9ad3c0d1c", "spec_version": "2.1", "target_ref": "attack-pattern--8bb5fe8b-4746-4b90-9e89-b65c4daa21e4", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2018-07-31T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "Monitor API calls like CreateRemoteThread, SuspendThread/SetThreadContext/ResumeThread, QueueUserAPC, and similar for Windows.", "id": "course-of-action--850b6838-1e26-4f64-8405-94d6c0354c1a", "modified": "2023-01-24T00:00:00.000Z", "name": "coa-640-3", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "course-of-action", "x_capec_version": "3.9" }, { "created": "2018-07-31T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--4b00d13c-f642-4b89-8b0b-4f4bec45d3e4", "modified": "2023-01-24T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--850b6838-1e26-4f64-8405-94d6c0354c1a", "spec_version": "2.1", "target_ref": "attack-pattern--8bb5fe8b-4746-4b90-9e89-b65c4daa21e4", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2018-07-31T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "Monitor API calls like ptrace system call, use of LD_PRELOAD environment variable, dlfcn dynamic linking API calls, and similar for Linux.", "id": "course-of-action--59902713-d383-4d5a-9f7e-cfabd2804272", "modified": "2023-01-24T00:00:00.000Z", "name": "coa-640-4", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "course-of-action", "x_capec_version": "3.9" }, { "created": "2018-07-31T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--9fae2dbb-a5ef-4e93-a719-15d38a7d1a44", "modified": "2023-01-24T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--59902713-d383-4d5a-9f7e-cfabd2804272", "spec_version": "2.1", "target_ref": "attack-pattern--8bb5fe8b-4746-4b90-9e89-b65c4daa21e4", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2018-07-31T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "Monitor API calls like SetWindowsHookEx and SetWinEventHook which install hook procedures for Windows.", "id": "course-of-action--5c78933b-9c6a-4046-97df-7a1648deff60", "modified": "2023-01-24T00:00:00.000Z", "name": "coa-640-5", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "course-of-action", "x_capec_version": "3.9" }, { "created": "2018-07-31T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--61327995-a6d3-4961-9d09-10e051ae76d1", "modified": "2023-01-24T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--5c78933b-9c6a-4046-97df-7a1648deff60", "spec_version": "2.1", "target_ref": "attack-pattern--8bb5fe8b-4746-4b90-9e89-b65c4daa21e4", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2018-07-31T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "Monitor processes and command-line arguments for unknown behavior related to code injection.", "id": "course-of-action--07eaafc8-1ee9-4824-bb3e-ca53db5435ab", "modified": "2023-01-24T00:00:00.000Z", "name": "coa-640-6", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "course-of-action", "x_capec_version": "3.9" }, { "created": "2018-07-31T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--cc1ad6dd-6038-4e55-89dd-eade5373a2f3", "modified": "2023-01-24T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--07eaafc8-1ee9-4824-bb3e-ca53db5435ab", "spec_version": "2.1", "target_ref": "attack-pattern--8bb5fe8b-4746-4b90-9e89-b65c4daa21e4", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2018-07-31T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "An adversary places a malicious version of a Dynamic-Link Library (DLL) in the Windows Side-by-Side (WinSxS) directory to trick the operating system into loading this malicious DLL instead of a legitimate DLL. Programs specify the location of the DLLs to load via the use of WinSxS manifests or DLL redirection and if they aren't used then Windows searches in a predefined set of directories to locate the file. If the applications improperly specify a required DLL or WinSxS manifests aren't explicit about the characteristics of the DLL to be loaded, they can be vulnerable to side-loading.", "external_references": [ { "external_id": "CAPEC-641", "source_name": "capec", "url": "https://capec.mitre.org/data/definitions/641.html" }, { "external_id": "CWE-706", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/706.html" }, { "description": "Hijack Execution Flow:DLL Side-Loading", "external_id": "T1574.002", "source_name": "ATTACK", "url": "https://attack.mitre.org/wiki/Technique/T1574/002" }, { "description": "Stewart A., DLL SIDE-LOADING: A Thorn in the Side of the Anti-Virus Industry, FireEye", "external_id": "REF-501", "source_name": "reference_from_CAPEC", "url": "https://www.fireeye.com/content/dam/fireeye-www/global/en/current-threats/pdfs/rpt-dll-sideloading.pdf" } ], "id": "attack-pattern--bfb6492a-7a88-47c4-aff9-2c8190265328", "modified": "2020-07-30T00:00:00.000Z", "name": "DLL Side-Loading", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "attack-pattern", "x_capec_abstraction": "Detailed", "x_capec_child_of_refs": [ "attack-pattern--d16af13f-5e0f-4a6b-bc1f-23f733d2229b" ], "x_capec_consequences": { "Integrity": [ "Execute Unauthorized Commands", "Bypass Protection Mechanism" ] }, "x_capec_domains": [ "Software" ], "x_capec_likelihood_of_attack": "Low", "x_capec_prerequisites": [ "The target must fail to verify the integrity of the DLL before using them." ], "x_capec_skills_required": { "High": "Trick the operating system in loading a malicious DLL instead of a legitimate DLL." }, "x_capec_status": "Stable", "x_capec_typical_severity": "High", "x_capec_version": "3.9" }, { "created": "2018-07-31T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "Prevent unknown DLLs from loading through using an allowlist policy.", "id": "course-of-action--de1e1fe4-15df-4e37-9686-1b33e0ea2e10", "modified": "2020-07-30T00:00:00.000Z", "name": "coa-641-0", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "course-of-action", "x_capec_version": "3.9" }, { "created": "2018-07-31T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--81f3c1eb-7e57-4f55-a177-cadc6a8aeba8", "modified": "2020-07-30T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--de1e1fe4-15df-4e37-9686-1b33e0ea2e10", "spec_version": "2.1", "target_ref": "attack-pattern--bfb6492a-7a88-47c4-aff9-2c8190265328", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2018-07-31T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--c8fbd576-b3bb-43e0-b295-5483e8f56bdf", "modified": "2020-07-30T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--0dfabd41-428e-43f9-93f8-078e6987d31c", "spec_version": "2.1", "target_ref": "attack-pattern--bfb6492a-7a88-47c4-aff9-2c8190265328", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2018-07-31T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--2d42819b-82b4-4def-9360-d1f3e4d3ad65", "modified": "2020-07-30T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--03fdd3ce-a674-49a6-9d85-fc475ab59474", "spec_version": "2.1", "target_ref": "attack-pattern--bfb6492a-7a88-47c4-aff9-2c8190265328", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2018-07-31T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "Use of sxstrace.exe on Windows as well as manual inspection of the manifests.", "id": "course-of-action--21b6aeac-6ff3-477a-a051-f59ad76116f4", "modified": "2020-07-30T00:00:00.000Z", "name": "coa-641-3", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "course-of-action", "x_capec_version": "3.9" }, { "created": "2018-07-31T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--0606876e-24f7-4cdd-812b-44db26e0f72b", "modified": "2020-07-30T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--21b6aeac-6ff3-477a-a051-f59ad76116f4", "spec_version": "2.1", "target_ref": "attack-pattern--bfb6492a-7a88-47c4-aff9-2c8190265328", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2018-07-31T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "Require code signing and avoid using relative paths for resources.", "id": "course-of-action--bdc2b3ee-acf1-4c8b-a330-6fa318ec5f88", "modified": "2020-07-30T00:00:00.000Z", "name": "coa-641-4", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "course-of-action", "x_capec_version": "3.9" }, { "created": "2018-07-31T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--32d49392-d7f7-401f-91bc-541841219209", "modified": "2020-07-30T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--bdc2b3ee-acf1-4c8b-a330-6fa318ec5f88", "spec_version": "2.1", "target_ref": "attack-pattern--bfb6492a-7a88-47c4-aff9-2c8190265328", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2018-05-31T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "Adversaries know that certain binaries will be regularly executed as part of normal processing. If these binaries are not protected with the appropriate file system permissions, it could be possible to replace them with malware. This malware might be executed at higher system permission levels. A variation of this pattern is to discover self-extracting installation packages that unpack binaries to directories with weak file permissions which it does not clean up appropriately. These binaries can be replaced by malware, which can then be executed.", "external_references": [ { "external_id": "CAPEC-642", "source_name": "capec", "url": "https://capec.mitre.org/data/definitions/642.html" }, { "external_id": "CWE-732", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/732.html" }, { "description": "Server Software Component: Terminal Services DLL", "external_id": "T1505.005", "source_name": "ATTACK", "url": "https://attack.mitre.org/wiki/Technique/T1505/005" }, { "description": "Compromise Client Software Binary", "external_id": "T1554", "source_name": "ATTACK", "url": "https://attack.mitre.org/wiki/Technique/T1554" }, { "description": "Hijack Execution Flow:Executable Installer File Permissions Weakness", "external_id": "T1574.005", "source_name": "ATTACK", "url": "https://attack.mitre.org/wiki/Technique/T1574/005" }, { "description": "Binary planting", "source_name": "OWASP Attacks", "url": "https://owasp.org/www-community/attacks/Binary_planting" } ], "id": "attack-pattern--15e6b769-4cbd-4c39-b774-b45673fd55de", "modified": "2022-09-29T00:00:00.000Z", "name": "Replace Binaries", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "attack-pattern", "x_capec_abstraction": "Detailed", "x_capec_child_of_refs": [ "attack-pattern--9ad2c2eb-9939-4590-9683-2e789692d262" ], "x_capec_domains": [ "Software" ], "x_capec_example_instances": [ "The installer for a previous version of Firefox would use a DLL maliciously placed in the default download directory instead of the existing DLL located elsewhere, probably due to DLL hijacking. This DLL would be run with administrator privileges if the installer has those privileges.", "By default, the Windows screensaver application SCRNSAVE.exe leverages the scrnsave.scr Portable Executable (PE) file in C:\\Windows\\system32\\. This value is set in the registry at HKEY_CURRENT_USER\\Control Panel\\Desktop, which can be modified by an adversary to instead point to a malicious program. This program would then run any time the SCRNSAVE.exe program is activated and with administrator privileges. An adversary may additionally modify other registry values within the same location to set the SCRNSAVE.exe program to run more frequently." ], "x_capec_prerequisites": [ "The attacker must be able to place the malicious binary on the target machine." ], "x_capec_status": "Draft", "x_capec_typical_severity": "High", "x_capec_version": "3.9" }, { "created": "2018-05-31T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "Insure that binaries commonly used by the system have the correct file permissions. Set operating system policies that restrict privilege elevation of non-Administrators. Use auditing tools to observe changes to system services.", "id": "course-of-action--d9181e23-1afd-428e-a52a-e276bea7a05c", "modified": "2022-09-29T00:00:00.000Z", "name": "coa-642-0", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "course-of-action", "x_capec_version": "3.9" }, { "created": "2018-05-31T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--85cbecfa-a889-485b-8231-630bdae5ed86", "modified": "2022-09-29T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--d9181e23-1afd-428e-a52a-e276bea7a05c", "spec_version": "2.1", "target_ref": "attack-pattern--15e6b769-4cbd-4c39-b774-b45673fd55de", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2018-07-31T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "An adversary discovers connections between systems by exploiting the target system's standard practice of revealing them in searchable, common areas. Through the identification of shared folders/drives between systems, the adversary may further their goals of locating and collecting sensitive information/files, or map potential routes for lateral movement within the network.", "external_references": [ { "external_id": "CAPEC-643", "source_name": "capec", "url": "https://capec.mitre.org/data/definitions/643.html" }, { "external_id": "CWE-267", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/267.html" }, { "external_id": "CWE-200", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/200.html" }, { "description": "Network Share Discovery", "external_id": "T1135", "source_name": "ATTACK", "url": "https://attack.mitre.org/wiki/Technique/T1135" } ], "id": "attack-pattern--9d08b257-08f6-42e3-ad7e-41aaf07789a1", "modified": "2021-06-24T00:00:00.000Z", "name": "Identify Shared Files/Directories on System", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "attack-pattern", "x_capec_abstraction": "Detailed", "x_capec_can_precede_refs": [ "attack-pattern--f2654def-b86d-4ddb-888f-de6b50a103a2", "attack-pattern--191fbdab-d3b3-4ffd-8829-51331c20eaa7", "attack-pattern--f8533ce1-5f23-4660-8f70-1a05af2c70d3" ], "x_capec_child_of_refs": [ "attack-pattern--fd114e53-fdc0-4eef-8254-40ef0d4ea482" ], "x_capec_consequences": { "Confidentiality": [ "Read Data (The adversary is potentially able to identify the location of sensitive information or lateral pathways through the network.)" ] }, "x_capec_domains": [ "Software" ], "x_capec_likelihood_of_attack": "Medium", "x_capec_prerequisites": [ "The adversary must have obtained logical access to the system by some means (e.g., via obtained credentials or planting malware on the system)." ], "x_capec_resources_required": [ "None: No specialized resources are required to execute this type of attack." ], "x_capec_skills_required": { "Low": "Once the adversary has logical access (which can potentially require high knowledge and skill level), the adversary needs only the capability and facility to navigate the system through the OS graphical user interface or the command line. The adversary, or their malware, can simply employ a set of commands that search for shared drives on the system (e.g., net view \\\\remote system or net share)." }, "x_capec_status": "Draft", "x_capec_typical_severity": "Medium", "x_capec_version": "3.9" }, { "created": "2018-07-31T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "Identify unnecessary system utilities or potentially malicious software that may contain functionality to identify network share information, and audit and/or block them by using allowlist tools.", "id": "course-of-action--60e5229d-6c9b-4ea1-a862-7a6797b8c070", "modified": "2021-06-24T00:00:00.000Z", "name": "coa-643-0", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "course-of-action", "x_capec_version": "3.9" }, { "created": "2018-07-31T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--877214d8-d718-4bc4-9edf-9b6d4d5bad4a", "modified": "2021-06-24T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--60e5229d-6c9b-4ea1-a862-7a6797b8c070", "spec_version": "2.1", "target_ref": "attack-pattern--9d08b257-08f6-42e3-ad7e-41aaf07789a1", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2018-07-31T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "An adversary obtains (i.e. steals or purchases) legitimate Windows domain credential hash values to access systems within the domain that leverage the Lan Man (LM) and/or NT Lan Man (NTLM) authentication protocols.", "external_references": [ { "external_id": "CAPEC-644", "source_name": "capec", "url": "https://capec.mitre.org/data/definitions/644.html" }, { "external_id": "CWE-522", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/522.html" }, { "external_id": "CWE-836", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/836.html" }, { "external_id": "CWE-308", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/308.html" }, { "external_id": "CWE-294", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/294.html" }, { "external_id": "CWE-308", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/308.html" }, { "description": "Use Alternate Authentication Material:Pass The Hash", "external_id": "T1550.002", "source_name": "ATTACK", "url": "https://attack.mitre.org/wiki/Technique/T1550/002" }, { "description": "Dan Goodin, Attackers can use Zoom to steal users’ Windows credentials with no warning, 2020--04---01, Ars Technica", "external_id": "REF-575", "source_name": "reference_from_CAPEC", "url": "https://arstechnica.com/information-technology/2020/04/unpatched-zoom-bug-lets-attackers-steal-windows-credentials-with-no-warning/" }, { "description": "Mor Levi, Assaf Dahan, Amit Serper, Operation Soft Cell: A Worldwide Campaign Against Telecommunications Providers, 2019--06---25, CyberReason", "external_id": "REF-580", "source_name": "reference_from_CAPEC", "url": "https://www.cybereason.com/blog/operation-soft-cell-a-worldwide-campaign-against-telecommunications-providers" }, { "description": "Mitigating Pass-the-Hash and Other Credential Theft v2, Microsoft Corporation", "external_id": "REF-581", "source_name": "reference_from_CAPEC", "url": "https://docs.microsoft.com/en-us/previous-versions/dn785092(v=msdn.10)?redirectedfrom=MSDN" }, { "description": "How Pass-the-Hash works, Microsoft Corporation", "external_id": "REF-582", "source_name": "reference_from_CAPEC", "url": "https://docs.microsoft.com/en-us/previous-versions/dn785092(v=msdn.10)?redirectedfrom=MSDN" }, { "description": "Bashar Ewaida, Pass-the-hash attacks: Tools and Mitigation, 2010--02---23, The SANS Institute", "external_id": "REF-583", "source_name": "reference_from_CAPEC", "url": "https://www.sans.org/reading-room/whitepapers/testing/paper/33283" } ], "id": "attack-pattern--056a463d-6303-438e-a43f-992cee52fb95", "modified": "2022-09-29T00:00:00.000Z", "name": "Use of Captured Hashes (Pass The Hash)", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "attack-pattern", "x_capec_abstraction": "Detailed", "x_capec_can_precede_refs": [ "attack-pattern--22802ed6-ddc6-4da7-b6be-60b10d26198b", "attack-pattern--f8533ce1-5f23-4660-8f70-1a05af2c70d3", "attack-pattern--2c74d7f3-ccb4-4aea-b7fc-8a4da900ec80", "attack-pattern--191fbdab-d3b3-4ffd-8829-51331c20eaa7" ], "x_capec_child_of_refs": [ "attack-pattern--2618d0a4-06d0-4bde-8271-2df61ed8297a" ], "x_capec_consequences": { "Access_Control": [ "Gain Privileges" ], "Authentication": [ "Gain Privileges" ], "Authorization": [ "Read Data" ], "Confidentiality": [ "Gain Privileges", "Read Data" ], "Integrity": [ "Modify Data" ] }, "x_capec_domains": [ "Software" ], "x_capec_example_instances": [ "Adversaries exploited the Zoom video conferencing application during the 2020 COVID-19 pandemic to exfiltrate Windows domain credential hash value pairs from a target system. The attack entailed sending Universal Naming Convention (UNC) paths within the Zoom chat window of an unprotected Zoom call. If the victim clicked on the link, their Windows usernames and the corresponding Net-NTLM-v2 hashes were sent to the address contained in the link. The adversary was then able to infiltrate and laterally move within the Windows domain by passing the acquired credentials to shared network resources. This further provided adversaries with access to Outlook servers and network storage devices. [REF-575]", "Operation Soft Cell, which has been underway since at least 2012, leveraged a modified Mimikatz that dumped NTLM hashes. The acquired hashes were then used to authenticate to other systems within the network via Pass The Hash attacks. [REF-580]" ], "x_capec_execution_flow": "

Execution Flow

Explore

  1. Acquire known Windows credential hash value pairs: The adversary must obtain known Windows credential hash value pairs of accounts that exist on the domain.

  2. Techniques
    An adversary purchases breached Windows credential hash value pairs from the dark web.
    An adversary conducts a sniffing attack to steal Windows credential hash value pairs as they are transmitted.
    An adversary gains access to a Windows domain system/files and exfiltrates Windows credential hash value pairs.
    An adversary examines outward-facing configuration and properties files to discover hardcoded Windows credential hash value pairs.

Experiment

  1. Attempt domain authentication: Try each Windows credential hash value pair until the target grants access.

  2. Techniques
    Manually or automatically enter each Windows credential hash value pair through the target's interface.

Exploit

  1. Impersonate: An adversary can use successful experiments or authentications to impersonate an authorized user or system, or to laterally move within the domain

  2. Spoofing: Malicious data can be injected into the target system or into other systems on the domain. The adversary can also pose as a legitimate domain user to perform social engineering attacks.

  3. Data Exfiltration: The adversary can obtain sensitive data contained within domain systems or applications.

", "x_capec_extended_description": "\n When authenticating via LM or NTLM, an authenticating account's plaintext credentials are not required by the protocols for successful authentication. Instead, the hashed credentials are used to determine if an authentication attempt is valid. If an adversary can obtain an account's hashed credentials, the hash values can then be passed to a system or service to authenticate, without needing to brute-force the hashes to obtain their cleartext values. Successful Pass The Hash attacks result in the adversary fully authenticating as the targeted account, which can further allow the adversary to laterally move within the network, impersonate a legitimate user, and/or download/install malware to systems within the domain. This technique can be performed against any operating system that leverages the LM or NTLM protocols even if the operating system is not Windows-based, since these systems/accounts may still authenticate to a Windows domain.\n ", "x_capec_likelihood_of_attack": "Medium", "x_capec_prerequisites": [ "The system/application is connected to the Windows domain.", "The system/application leverages the Lan Man (LM) and/or NT Lan Man (NTLM) authentication protocols.", "The adversary possesses known Windows credential hash value pairs that exist on the target domain." ], "x_capec_resources_required": [ "A list of known Window credential hash value pairs for the targeted domain." ], "x_capec_skills_required": { "Low": "Once an adversary obtains a known Windows credential hash value pair, leveraging it is trivial." }, "x_capec_status": "Stable", "x_capec_typical_severity": "High", "x_capec_version": "3.9" }, { "created": "2018-07-31T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "Prevent the use of Lan Man and NT Lan Man authentication on severs and apply patch KB2871997 to Windows 7 and higher systems.", "id": "course-of-action--30748f93-76e1-4493-b028-a09a3ae0fe12", "modified": "2022-09-29T00:00:00.000Z", "name": "coa-644-0", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "course-of-action", "x_capec_version": "3.9" }, { "created": "2018-07-31T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--fbe2baa0-43b4-4f18-8464-37c77c73232d", "modified": "2022-09-29T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--30748f93-76e1-4493-b028-a09a3ae0fe12", "spec_version": "2.1", "target_ref": "attack-pattern--056a463d-6303-438e-a43f-992cee52fb95", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2018-07-31T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--ee496b22-cfdc-468f-9798-52b53cce0d3b", "modified": "2022-09-29T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--b8f274c3-95ed-4968-afdc-6a8a87a6fb19", "spec_version": "2.1", "target_ref": "attack-pattern--056a463d-6303-438e-a43f-992cee52fb95", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2018-07-31T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--885bfaa4-7ef5-4cd8-b4b3-eeaa867bc6d9", "modified": "2022-09-29T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--ab6c4df3-7bf9-4fdd-8c2a-9055c0aea441", "spec_version": "2.1", "target_ref": "attack-pattern--056a463d-6303-438e-a43f-992cee52fb95", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2018-07-31T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--5c5bf1ff-d38b-4163-b8d6-d921aed35652", "modified": "2022-09-29T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--93ed0e66-1693-44b2-b416-bee8db1ad4c2", "spec_version": "2.1", "target_ref": "attack-pattern--056a463d-6303-438e-a43f-992cee52fb95", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2018-07-31T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "Leverage system penetration testing and other defense in depth methods to determine vulnerable systems within a domain.", "id": "course-of-action--dd700183-d761-44fa-ac56-b6a20cc2cb3c", "modified": "2022-09-29T00:00:00.000Z", "name": "coa-644-4", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "course-of-action", "x_capec_version": "3.9" }, { "created": "2018-07-31T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--0df6edf6-1157-43d2-8e50-4b6184d75a60", "modified": "2022-09-29T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--dd700183-d761-44fa-ac56-b6a20cc2cb3c", "spec_version": "2.1", "target_ref": "attack-pattern--056a463d-6303-438e-a43f-992cee52fb95", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2018-07-31T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "An adversary uses stolen Kerberos tickets to access systems/resources that leverage the Kerberos authentication protocol. The Kerberos authentication protocol centers around a ticketing system which is used to request/grant access to services and to then access the requested services. An adversary can obtain any one of these tickets (e.g. Service Ticket, Ticket Granting Ticket, Silver Ticket, or Golden Ticket) to authenticate to a system/resource without needing the account's credentials. Depending on the ticket obtained, the adversary may be able to access a particular resource or generate TGTs for any account within an Active Directory Domain.", "external_references": [ { "external_id": "CAPEC-645", "source_name": "capec", "url": "https://capec.mitre.org/data/definitions/645.html" }, { "external_id": "CWE-522", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/522.html" }, { "external_id": "CWE-294", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/294.html" }, { "external_id": "CWE-308", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/308.html" }, { "description": "Use Alternate Authentication Material:Pass The Ticket", "external_id": "T1550.003", "source_name": "ATTACK", "url": "https://attack.mitre.org/wiki/Technique/T1550/003" }, { "description": "BRONZE BUTLER Targets Japanese Enterprises, 2017--10---12, Secureworks® Counter Threat Unit™ Threat Intelligence", "external_id": "REF-584", "source_name": "reference_from_CAPEC", "url": "https://www.secureworks.com/research/bronze-butler-targets-japanese-businesses" } ], "id": "attack-pattern--05740120-81ef-4224-9805-2f0b54d1111f", "modified": "2020-07-30T00:00:00.000Z", "name": "Use of Captured Tickets (Pass The Ticket)", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "attack-pattern", "x_capec_abstraction": "Detailed", "x_capec_can_precede_refs": [ "attack-pattern--22802ed6-ddc6-4da7-b6be-60b10d26198b" ], "x_capec_child_of_refs": [ "attack-pattern--755bb5ac-2eee-4e54-9864-92812666120c" ], "x_capec_consequences": { "Integrity": [ "Gain Privileges" ] }, "x_capec_domains": [ "Software" ], "x_capec_example_instances": [ "Bronze Butler (also known as Tick), has been shown to leverage forged Kerberos Ticket Granting Tickets (TGTs) and Ticket Granting Service (TGS) tickets to maintain administrative access on a number of systems. [REF-584]" ], "x_capec_likelihood_of_attack": "Low", "x_capec_prerequisites": [ "The adversary needs physical access to the victim system.", "The use of a third-party credential harvesting tool." ], "x_capec_skills_required": { "High": "The adversary uses a third-party tool to obtain the necessary tickets to execute the attack.", "Low": "Determine if Kerberos authentication is used on the server." }, "x_capec_status": "Stable", "x_capec_typical_severity": "High", "x_capec_version": "3.9" }, { "created": "2018-07-31T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "Reset the built-in KRBTGT account password twice to invalidate the existence of any current Golden Tickets and any tickets derived from them.", "id": "course-of-action--cc52780c-b04c-4940-a2d6-0498907ce5cf", "modified": "2020-07-30T00:00:00.000Z", "name": "coa-645-0", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "course-of-action", "x_capec_version": "3.9" }, { "created": "2018-07-31T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--5b6333f5-1f2a-4b5f-94e2-17a344115ffb", "modified": "2020-07-30T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--cc52780c-b04c-4940-a2d6-0498907ce5cf", "spec_version": "2.1", "target_ref": "attack-pattern--05740120-81ef-4224-9805-2f0b54d1111f", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2018-07-31T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--b8766158-fd84-4765-94da-1c65d865c83b", "modified": "2020-07-30T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--0257f904-bcb7-445e-9ef7-f9d294e49f67", "spec_version": "2.1", "target_ref": "attack-pattern--05740120-81ef-4224-9805-2f0b54d1111f", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2018-07-31T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "Adversaries may attempt to obtain information about attached peripheral devices and components connected to a computer system. Examples may include discovering the presence of iOS devices by searching for backups, analyzing the Windows registry to determine what USB devices have been connected, or infecting a victim system with malware to report when a USB device has been connected. This may allow the adversary to gain additional insight about the system or network environment, which may be useful in constructing further attacks.", "external_references": [ { "external_id": "CAPEC-646", "source_name": "capec", "url": "https://capec.mitre.org/data/definitions/646.html" }, { "external_id": "CWE-200", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/200.html" }, { "description": "Peripheral Device Discovery", "external_id": "T1120", "source_name": "ATTACK", "url": "https://attack.mitre.org/wiki/Technique/T1120" } ], "id": "attack-pattern--658d6220-f15c-44fb-8690-1d14088ed637", "modified": "2020-07-30T00:00:00.000Z", "name": "Peripheral Footprinting", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "attack-pattern", "x_capec_abstraction": "Standard", "x_capec_can_follow_refs": [ "attack-pattern--c8c9dfbe-7a40-4041-84ff-89942878a2f4" ], "x_capec_child_of_refs": [ "attack-pattern--87b0d2df-b246-4bf9-aee8-4912e2fa1a30" ], "x_capec_domains": [ "Software" ], "x_capec_likelihood_of_attack": "Low", "x_capec_prerequisites": [ "The adversary needs either physical or remote access to the victim system." ], "x_capec_skills_required": { "Medium": "If analyzing the Windows registry, the adversary must understand the registry structure to know where to look for devices." }, "x_capec_status": "Stable", "x_capec_typical_severity": "Medium", "x_capec_version": "3.9" }, { "created": "2018-07-31T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--d9f6ac50-d71a-415a-a9f3-6b159c887206", "modified": "2020-07-30T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--a2404315-1d87-4e47-a8e4-c6b2cfe457d8", "spec_version": "2.1", "target_ref": "attack-pattern--658d6220-f15c-44fb-8690-1d14088ed637", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2018-05-15T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "An adversary exploits a weakness in authorization to gather system-specific data and sensitive information within a registry (e.g., Windows Registry, Mac plist). These contain information about the system configuration, software, operating system, and security. The adversary can leverage information gathered in order to carry out further attacks.", "external_references": [ { "external_id": "CAPEC-647", "source_name": "capec", "url": "https://capec.mitre.org/data/definitions/647.html" }, { "external_id": "CWE-285", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/285.html" }, { "description": "Data from Local System", "external_id": "T1005", "source_name": "ATTACK", "url": "https://attack.mitre.org/wiki/Technique/T1005" }, { "description": "Query Registry", "external_id": "T1012", "source_name": "ATTACK", "url": "https://attack.mitre.org/wiki/Technique/T1012" }, { "description": "Unsecured Credentials: Credentials in Registry", "external_id": "T1552.002", "source_name": "ATTACK", "url": "https://attack.mitre.org/wiki/Technique/T1552/002" } ], "id": "attack-pattern--ad242ccf-3578-4787-937c-22eb0ede3fb6", "modified": "2022-09-29T00:00:00.000Z", "name": "Collect Data from Registries", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "attack-pattern", "x_capec_abstraction": "Detailed", "x_capec_child_of_refs": [ "attack-pattern--797f4b4e-371a-4d06-9e98-5cccb8a7ebc1" ], "x_capec_consequences": { "Confidentiality": [ "Read Data (The adversary is able to read sensitive information about the system in the registry.)" ] }, "x_capec_domains": [ "Software" ], "x_capec_execution_flow": "

Execution Flow

Explore

  1. Gain logical access to system: An adversary must first gain logical access to the system it wants to gather registry information from,

  2. Techniques
    Obtain user account credentials and access the system
    Plant malware on the system that will give remote logical access to the adversary

Experiment

  1. Determine if the permissions are correct: Once logical access is gained, an adversary will determine if they have the proper permissions, or are authorized, to view registry information. If they do not, they will need to escalate privileges on the system through other means

  2. Peruse registry for information: Once an adversary has access to a registry, they will gather all system-specific data and sensitive information that they deem useful.

Exploit

  1. Follow-up attack: Use any information or weaknesses found to carry out a follow-up attack

", "x_capec_likelihood_of_attack": "Medium", "x_capec_prerequisites": [ "The adversary must have obtained logical access to the system by some means (e.g., via obtained credentials or planting malware on the system).", "The adversary must have capability to navigate the operating system to peruse the registry." ], "x_capec_resources_required": [ "None: No specialized resources are required to execute this type of attack." ], "x_capec_skills_required": { "Low": "Once the adversary has logical access (which can potentially require high knowledge and skill level), the adversary needs only the capability and facility to navigate the system through the OS graphical user interface or the command line." }, "x_capec_status": "Draft", "x_capec_typical_severity": "Medium", "x_capec_version": "3.9" }, { "created": "2018-05-15T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--46c95866-35f0-4eb3-8236-3cf76d28c354", "modified": "2022-09-29T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--9c745fa6-97fd-4aa7-830c-2522e1df5ea6", "spec_version": "2.1", "target_ref": "attack-pattern--ad242ccf-3578-4787-937c-22eb0ede3fb6", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2018-05-15T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "Employ robust identification and audit/blocking via using an allowlist of applications on your system. Unnecessary applications, utilities, and configurations will have a presence in the system registry that can be leveraged by an adversary through this attack pattern.", "id": "course-of-action--b20b8831-79c4-401b-9767-4c506d59c2d9", "modified": "2022-09-29T00:00:00.000Z", "name": "coa-647-1", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "course-of-action", "x_capec_version": "3.9" }, { "created": "2018-05-15T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--df86fcb3-a484-4707-a8c7-d61b784214bb", "modified": "2022-09-29T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--b20b8831-79c4-401b-9767-4c506d59c2d9", "spec_version": "2.1", "target_ref": "attack-pattern--ad242ccf-3578-4787-937c-22eb0ede3fb6", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2018-07-31T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "An adversary gathers sensitive information by exploiting the system's screen capture functionality. Through screenshots, the adversary aims to see what happens on the screen over the course of an operation. The adversary can leverage information gathered in order to carry out further attacks.", "external_references": [ { "external_id": "CAPEC-648", "source_name": "capec", "url": "https://capec.mitre.org/data/definitions/648.html" }, { "external_id": "CWE-267", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/267.html" }, { "description": "Screen Capture", "external_id": "T1113", "source_name": "ATTACK", "url": "https://attack.mitre.org/wiki/Technique/T1113" }, { "description": "Screen Capture", "external_id": "T1513", "source_name": "ATTACK", "url": "https://attack.mitre.org/wiki/Technique/T1513" } ], "id": "attack-pattern--140142cc-28cb-4506-bce6-b44128b7b9a7", "modified": "2022-09-29T00:00:00.000Z", "name": "Collect Data from Screen Capture", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "attack-pattern", "x_capec_abstraction": "Detailed", "x_capec_child_of_refs": [ "attack-pattern--797f4b4e-371a-4d06-9e98-5cccb8a7ebc1" ], "x_capec_consequences": { "Confidentiality": [ "Read Data (The adversary is able to capture potentially sensitive information and processes as they appear on the screen.)" ] }, "x_capec_domains": [ "Software" ], "x_capec_likelihood_of_attack": "Medium", "x_capec_prerequisites": [ "The adversary must have obtained logical access to the system by some means (e.g., via obtained credentials or planting malware on the system)." ], "x_capec_resources_required": [ "None: No specialized resources are required to execute this type of attack." ], "x_capec_skills_required": { "Low": "Once the adversary has logical access (which can potentially require high knowledge and skill level), the adversary needs only to leverage the relevant command for screen capture." }, "x_capec_status": "Draft", "x_capec_typical_severity": "Medium", "x_capec_version": "3.9" }, { "created": "2018-07-31T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "Identify potentially malicious software that may have functionality to acquire screen captures, and audit and/or block it by using allowlist tools.", "id": "course-of-action--c4331607-533f-4210-910b-2ce3a63f070a", "modified": "2022-09-29T00:00:00.000Z", "name": "coa-648-0", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "course-of-action", "x_capec_version": "3.9" }, { "created": "2018-07-31T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--6e4ee62c-e443-4037-aa6a-3ddddcf93324", "modified": "2022-09-29T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--c4331607-533f-4210-910b-2ce3a63f070a", "spec_version": "2.1", "target_ref": "attack-pattern--140142cc-28cb-4506-bce6-b44128b7b9a7", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2018-07-31T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "While screen capture is a legitimate and practical function, certain situations and context may require the disabling of this feature.", "id": "course-of-action--ec0a0b82-9297-4d4b-8a03-975dc1cdd2e7", "modified": "2022-09-29T00:00:00.000Z", "name": "coa-648-1", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "course-of-action", "x_capec_version": "3.9" }, { "created": "2018-07-31T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--e559a56f-da83-4f00-bf13-dda7f216f4e3", "modified": "2022-09-29T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--ec0a0b82-9297-4d4b-8a03-975dc1cdd2e7", "spec_version": "2.1", "target_ref": "attack-pattern--140142cc-28cb-4506-bce6-b44128b7b9a7", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2018-05-31T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "An adversary adds a space character to the end of a file extension and takes advantage of an application that does not properly neutralize trailing special elements in file names. This extra space, which can be difficult for a user to notice, affects which default application is used to operate on the file and can be leveraged by the adversary to control execution.", "external_references": [ { "external_id": "CAPEC-649", "source_name": "capec", "url": "https://capec.mitre.org/data/definitions/649.html" }, { "external_id": "CWE-46", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/46.html" }, { "description": "Masquerading:Space after Filename", "external_id": "T1036.006", "source_name": "ATTACK", "url": "https://attack.mitre.org/wiki/Technique/T1036/006" } ], "id": "attack-pattern--f18ec51a-9ecd-49bf-9b91-5f5288306f70", "modified": "2020-07-30T00:00:00.000Z", "name": "Adding a Space to a File Extension", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "attack-pattern", "x_capec_abstraction": "Detailed", "x_capec_child_of_refs": [ "attack-pattern--95afb65f-ece7-4511-85a3-d7bfb9973022" ], "x_capec_consequences": { "Availability": [ "Execute Unauthorized Commands" ], "Confidentiality": [ "Execute Unauthorized Commands" ], "Integrity": [ "Execute Unauthorized Commands" ] }, "x_capec_domains": [ "Software" ], "x_capec_likelihood_of_attack": "Low", "x_capec_prerequisites": [ "The use of the file must be controlled by the file extension." ], "x_capec_status": "Draft", "x_capec_typical_severity": "Medium", "x_capec_version": "3.9" }, { "created": "2018-05-31T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "File extensions should be checked to see if non-visible characters are being included.", "id": "course-of-action--ca9bac26-36eb-4576-996b-53f3e979c3ed", "modified": "2020-07-30T00:00:00.000Z", "name": "coa-649-0", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "course-of-action", "x_capec_version": "3.9" }, { "created": "2018-05-31T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--06d27c54-f604-4253-9b67-9e78cfe16886", "modified": "2020-07-30T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--ca9bac26-36eb-4576-996b-53f3e979c3ed", "spec_version": "2.1", "target_ref": "attack-pattern--f18ec51a-9ecd-49bf-9b91-5f5288306f70", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "An adversary passively sniffs network communications and captures application code bound for an authorized client. Once obtained, they can use it as-is, or through reverse-engineering glean sensitive information or exploit the trust relationship between the client and server. Such code may belong to a dynamic update to the client, a patch being applied to a client component or any such interaction where the client is authorized to communicate with the server.", "external_references": [ { "external_id": "CAPEC-65", "source_name": "capec", "url": "https://capec.mitre.org/data/definitions/65.html" }, { "external_id": "CWE-319", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/319.html" }, { "external_id": "CWE-311", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/311.html" }, { "external_id": "CWE-318", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/318.html" }, { "external_id": "CWE-693", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/693.html" }, { "description": "Network Sniffing", "external_id": "T1040", "source_name": "ATTACK", "url": "https://attack.mitre.org/wiki/Technique/T1040" } ], "id": "attack-pattern--3147f1c9-3043-40ca-ad42-c1be938820a4", "modified": "2022-09-29T00:00:00.000Z", "name": "Sniff Application Code", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "attack-pattern", "x_capec_abstraction": "Detailed", "x_capec_can_precede_refs": [ "attack-pattern--55ce63d0-6143-4b95-b70c-87c5b60aafa8" ], "x_capec_child_of_refs": [ "attack-pattern--bdcdc784-d891-4ca8-847b-38ddca37a6ec" ], "x_capec_consequences": { "Access_Control": [ "Gain Privileges" ], "Authorization": [ "Gain Privileges" ], "Confidentiality": [ "Read Data", "Gain Privileges" ] }, "x_capec_domains": [ "Communications", "Software" ], "x_capec_example_instances": [ "Attacker receives notification that the computer/OS/application has an available update, loads a network sniffing tool, and extracts update data from subsequent communication. The attacker then proceeds to reverse engineer the captured stream to gain sensitive information, such as encryption keys, validation algorithms, applications patches, etc..", "Plain code, such as applets or JavaScript, is also part of the executing application. If such code is transmitted unprotected, the attacker can capture the code and possibly reverse engineer it to gain sensitive information, such as encryption keys, validation algorithms and such." ], "x_capec_execution_flow": "

Execution Flow

Explore

  1. Set up a sniffer: The adversary sets up a sniffer in the path between the server and the client and watches the traffic.

  2. Techniques
    The adversary sets up a sniffer in the path between the server and the client.

Exploit

  1. [Capturing Application Code Bound During Patching]adversary knows that the computer/OS/application can request new applications to install, or it periodically checks for an available update. The adversary loads the sniffer set up during Explore phase, and extracts the application code from subsequent communication. The adversary then proceeds to reverse engineer the captured code.

  2. Techniques
    adversary loads the sniffer to capture the application code bound during a dynamic update.
    The adversary proceeds to reverse engineer the captured code.
", "x_capec_likelihood_of_attack": "Low", "x_capec_prerequisites": [ "The attacker must have the ability to place themself in the communication path between the client and server.", "The targeted application must receive some application code from the server; for example, dynamic updates, patches, applets or scripts.", "The attacker must be able to employ a sniffer on the network without being detected." ], "x_capec_resources_required": [ "\n The Attacker needs the ability to capture communications between the client being updated and the server providing the update.\n In the case that encryption obscures client/server communication the attacker will either need to lift key material from the client.\n " ], "x_capec_skills_required": { "Medium": "The attacker needs to setup a sniffer for a sufficient period of time so as to capture meaningful quantities of code. The presence of the sniffer should not be detected on the network. Also if the attacker plans to employ an adversary-in-the-middle attack (CAPEC-94), the client or server must not realize this. Finally, the attacker needs to regenerate source code from binary code if the need be." }, "x_capec_status": "Draft", "x_capec_typical_severity": "High", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "Design: Encrypt all communication between the client and server.", "id": "course-of-action--c929e01c-c2b8-495f-bac3-4e6b80ae2d7b", "modified": "2022-09-29T00:00:00.000Z", "name": "coa-65-0", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "course-of-action", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--f11fbd0b-3fdd-4f8c-b521-a759509f3c72", "modified": "2022-09-29T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--c929e01c-c2b8-495f-bac3-4e6b80ae2d7b", "spec_version": "2.1", "target_ref": "attack-pattern--3147f1c9-3043-40ca-ad42-c1be938820a4", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "Implementation: Use SSL, SSH, SCP.", "id": "course-of-action--dd68f1a2-41e9-4d58-8759-18724265ed85", "modified": "2022-09-29T00:00:00.000Z", "name": "coa-65-1", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "course-of-action", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--f45fd050-a931-464c-985d-2ee73ad18461", "modified": "2022-09-29T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--dd68f1a2-41e9-4d58-8759-18724265ed85", "spec_version": "2.1", "target_ref": "attack-pattern--3147f1c9-3043-40ca-ad42-c1be938820a4", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "Operation: Use \"ifconfig/ipconfig\" or other tools to detect the sniffer installed in the network.", "id": "course-of-action--f3d9104c-7744-4b8d-a0ad-eda7ccd58f13", "modified": "2022-09-29T00:00:00.000Z", "name": "coa-65-2", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "course-of-action", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--817eac3b-7a9b-49f3-853d-f4f1190b3d05", "modified": "2022-09-29T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--f3d9104c-7744-4b8d-a0ad-eda7ccd58f13", "spec_version": "2.1", "target_ref": "attack-pattern--3147f1c9-3043-40ca-ad42-c1be938820a4", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2018-05-31T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "By exploiting insufficient permissions, it is possible to upload a web shell to a web server in such a way that it can be executed remotely. This shell can have various capabilities, thereby acting as a \"gateway\" to the underlying web server. The shell might execute at the higher permission level of the web server, providing the ability the execute malicious code at elevated levels.", "external_references": [ { "external_id": "CAPEC-650", "source_name": "capec", "url": "https://capec.mitre.org/data/definitions/650.html" }, { "external_id": "CWE-287", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/287.html" }, { "external_id": "CWE-553", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/553.html" }, { "description": "Server Software Component:Web Shell", "external_id": "T1505.003", "source_name": "ATTACK", "url": "https://attack.mitre.org/wiki/Technique/T1505/003" } ], "id": "attack-pattern--b9cddd44-a617-4a56-8560-0ca1cd9af42a", "modified": "2020-12-17T00:00:00.000Z", "name": "Upload a Web Shell to a Web Server", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "attack-pattern", "x_capec_abstraction": "Detailed", "x_capec_child_of_refs": [ "attack-pattern--9ad2c2eb-9939-4590-9683-2e789692d262" ], "x_capec_consequences": { "Access_Control": [ "Gain Privileges" ], "Authorization": [ "Gain Privileges" ], "Availability": [ "Execute Unauthorized Commands" ], "Confidentiality": [ "Read Data", "Gain Privileges", "Execute Unauthorized Commands" ], "Integrity": [ "Execute Unauthorized Commands" ] }, "x_capec_domains": [ "Software" ], "x_capec_prerequisites": [ "The web server is susceptible to one of the various web application exploits that allows for uploading a shell file." ], "x_capec_status": "Draft", "x_capec_typical_severity": "High", "x_capec_version": "3.9" }, { "created": "2018-05-31T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "Make sure your web server is up-to-date with all patches to protect against known vulnerabilities.", "id": "course-of-action--0bda0539-7bb3-4094-8f97-c0e908214b20", "modified": "2020-12-17T00:00:00.000Z", "name": "coa-650-0", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "course-of-action", "x_capec_version": "3.9" }, { "created": "2018-05-31T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--94978147-aaca-4748-8abc-5609dc8c0133", "modified": "2020-12-17T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--0bda0539-7bb3-4094-8f97-c0e908214b20", "spec_version": "2.1", "target_ref": "attack-pattern--b9cddd44-a617-4a56-8560-0ca1cd9af42a", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2018-05-31T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "Ensure that the file permissions in directories on the web server from which files can be execute is set to the \"least privilege\" settings, and that those directories contents is controlled by an allowlist.", "id": "course-of-action--3787e994-06dd-4cd3-a066-e53bd6493039", "modified": "2020-12-17T00:00:00.000Z", "name": "coa-650-1", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "course-of-action", "x_capec_version": "3.9" }, { "created": "2018-05-31T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--34439947-c6ff-46d0-a607-e7439be9d509", "modified": "2020-12-17T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--3787e994-06dd-4cd3-a066-e53bd6493039", "spec_version": "2.1", "target_ref": "attack-pattern--b9cddd44-a617-4a56-8560-0ca1cd9af42a", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "An adversary intercepts a form of communication (e.g. text, audio, video) by way of software (e.g., microphone and audio recording application), hardware (e.g., recording equipment), or physical means (e.g., physical proximity). The goal of eavesdropping is typically to gain unauthorized access to sensitive information about the target for financial, personal, political, or other gains. Eavesdropping is different from a sniffing attack as it does not take place on a network-based communication channel (e.g., IP traffic). Instead, it entails listening in on the raw audio source of a conversation between two or more parties.", "external_references": [ { "external_id": "CAPEC-651", "source_name": "capec", "url": "https://capec.mitre.org/data/definitions/651.html" }, { "external_id": "CWE-200", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/200.html" }, { "description": "Multi-Factor Authentication Interception", "external_id": "T1111", "source_name": "ATTACK", "url": "https://attack.mitre.org/wiki/Technique/T1111" } ], "id": "attack-pattern--94e596d2-6844-4031-80c3-8522642aaff8", "modified": "2022-09-29T00:00:00.000Z", "name": "Eavesdropping", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "attack-pattern", "x_capec_abstraction": "Standard", "x_capec_child_of_refs": [ "attack-pattern--bdc2219a-ebe0-4372-90b8-841dd7bd4c8e" ], "x_capec_consequences": { "Confidentiality": [ "Other (The adversary gains unauthorized access to information.)" ] }, "x_capec_domains": [ "Communications", "Software", "Physical Security" ], "x_capec_parent_of_refs": [ "attack-pattern--a4986dd8-cb9c-45cb-bb53-b7549f2b8d62", "attack-pattern--a7ed6b37-4ede-4c34-bbb2-c422fb844d74", "attack-pattern--28cce7ad-5437-4fae-86b0-a21ab3a0e135" ], "x_capec_prerequisites": [ "The adversary typically requires physical proximity to the target's environment, whether for physical eavesdropping or for placing recording equipment. This is not always the case for software-based eavesdropping, if the adversary has the capability to install malware on the target system that can activate a microphone and record audio digitally." ], "x_capec_resources_required": [ "For logical eavesdropping, some equipment may be necessary (e.g., microphone, tape recorder, etc.). For physical eavesdropping, only proximity is required." ], "x_capec_status": "Draft", "x_capec_typical_severity": "Medium", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "Be mindful of your surroundings when discussing sensitive information in public areas.", "id": "course-of-action--80199435-cd0f-4050-b9c4-faae49a620cd", "modified": "2022-09-29T00:00:00.000Z", "name": "coa-651-0", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "course-of-action", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--1641c1d2-3516-4cc2-9d1f-2358c9d3f117", "modified": "2022-09-29T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--80199435-cd0f-4050-b9c4-faae49a620cd", "spec_version": "2.1", "target_ref": "attack-pattern--94e596d2-6844-4031-80c3-8522642aaff8", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "Implement proper software restriction policies to only allow authorized software on your environment. Use of anti-virus and other security monitoring and detecting tools can aid in this too. Closely monitor installed software for unusual behavior or activity, and implement patches as soon as they become available.", "id": "course-of-action--99574627-4dd1-42b3-8b6b-775ff7f38e6a", "modified": "2022-09-29T00:00:00.000Z", "name": "coa-651-1", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "course-of-action", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--cba47b13-b50e-4cb8-8e76-8a25e15c68cc", "modified": "2022-09-29T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--99574627-4dd1-42b3-8b6b-775ff7f38e6a", "spec_version": "2.1", "target_ref": "attack-pattern--94e596d2-6844-4031-80c3-8522642aaff8", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "If possible, physically disable the microphone on your machine if it is not needed.", "id": "course-of-action--69dcf49f-4e67-4936-8ee7-6328a342fcf3", "modified": "2022-09-29T00:00:00.000Z", "name": "coa-651-2", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "course-of-action", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--9fead0ee-041f-4282-bc32-392a7b3aed13", "modified": "2022-09-29T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--69dcf49f-4e67-4936-8ee7-6328a342fcf3", "spec_version": "2.1", "target_ref": "attack-pattern--94e596d2-6844-4031-80c3-8522642aaff8", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2020-07-30T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "An adversary obtains (i.e. steals or purchases) legitimate Kerberos credentials (e.g. Kerberos service account userID/password or Kerberos Tickets) with the goal of achieving authenticated access to additional systems, applications, or services within the domain.", "external_references": [ { "external_id": "CAPEC-652", "source_name": "capec", "url": "https://capec.mitre.org/data/definitions/652.html" }, { "external_id": "CWE-522", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/522.html" }, { "external_id": "CWE-307", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/307.html" }, { "external_id": "CWE-308", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/308.html" }, { "external_id": "CWE-309", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/309.html" }, { "external_id": "CWE-262", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/262.html" }, { "external_id": "CWE-263", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/263.html" }, { "external_id": "CWE-654", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/654.html" }, { "external_id": "CWE-294", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/294.html" }, { "external_id": "CWE-836", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/836.html" }, { "description": "Steal or Forge Kerberos Tickets", "external_id": "T1558", "source_name": "ATTACK", "url": "https://attack.mitre.org/wiki/Technique/T1558" }, { "description": "BRONZE BUTLER Targets Japanese Enterprises, 2017--10---12, Secureworks® Counter Threat Unit™ Threat Intelligence", "external_id": "REF-584", "source_name": "reference_from_CAPEC", "url": "https://www.secureworks.com/research/bronze-butler-targets-japanese-businesses" }, { "description": "Kerberoasting Without Mimikatz, 2016--11---01", "external_id": "REF-585", "source_name": "reference_from_CAPEC", "url": "https://www.harmj0y.net/blog/powershell/kerberoasting-without-mimikatz/" }, { "description": "Invoke-Kerberoast", "external_id": "REF-586", "source_name": "reference_from_CAPEC", "url": "https://powersploit.readthedocs.io/en/latest/Recon/Invoke-Kerberoast/" } ], "id": "attack-pattern--755bb5ac-2eee-4e54-9864-92812666120c", "modified": "2022-09-29T00:00:00.000Z", "name": "Use of Known Kerberos Credentials", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "attack-pattern", "x_capec_abstraction": "Standard", "x_capec_can_follow_refs": [ "attack-pattern--bdcdc784-d891-4ca8-847b-38ddca37a6ec" ], "x_capec_can_precede_refs": [ "attack-pattern--22802ed6-ddc6-4da7-b6be-60b10d26198b" ], "x_capec_child_of_refs": [ "attack-pattern--886a7175-e28a-4e6d-bd22-3b1497e31dc7" ], "x_capec_consequences": { "Access_Control": [ "Gain Privileges" ], "Authentication": [ "Gain Privileges" ], "Authorization": [ "Read Data" ], "Confidentiality": [ "Gain Privileges", "Read Data" ], "Integrity": [ "Modify Data" ] }, "x_capec_domains": [ "Software" ], "x_capec_example_instances": [ "Bronze Butler (also known as Tick), has been shown to leverage forged Kerberos Ticket Granting Tickets (TGTs) and Ticket Granting Service (TGS) tickets to maintain administrative access on a number of systems. [REF-584]", "PowerSploit's Invoke-Kerberoast module can be leveraged to request Ticket Granting Service (TGS) tickets and return crackable ticket hashes. [REF-585] [REF-586]" ], "x_capec_execution_flow": "

Execution Flow

Explore

  1. Acquire known Kerberos credentials: The adversary must obtain known Kerberos credentials in order to access the target system, application, or service within the domain.

  2. Techniques
    An adversary purchases breached Kerberos service account username/password combinations or leaked hashed passwords from the dark web.
    An adversary guesses the credentials to a weak Kerberos service account.
    An adversary conducts a sniffing attack to steal Kerberos tickets as they are transmitted.
    An adversary conducts a Kerberoasting attack.

Experiment

  1. Attempt Kerberos authentication: Try each Kerberos credential against various resources within the domain until the target grants access.

  2. Techniques
    Manually or automatically enter each Kerberos service account credential through the target's interface.
    Attempt a Pass the Ticket attack.

Exploit

  1. Impersonate: An adversary can use successful experiments or authentications to impersonate an authorized user or system, or to laterally move within the domain

  2. Spoofing: Malicious data can be injected into the target system or into other systems on the domain. The adversary can also pose as a legitimate domain user to perform social engineering attacks.

  3. Data Exfiltration: The adversary can obtain sensitive data contained within domain systems or applications.

", "x_capec_extended_description": "\n Kerberos is the default authentication method for Windows domains and is also used across many operating systems. Attacks leveraging trusted Kerberos credentials can result in numerous consequences, depending on what Kerberos credential is stolen. For example, Kerberos service accounts are typically used to run services or scheduled tasks pertaining to authentication. However, these credentials are often weak and never expire, in addition to possessing local or domain administrator privileges. If an adversary is able to acquire these credentials, it could result in lateral movement within the domain or access to any resources the service account is privileged to access, among other things. Ultimately, successful spoofing and impersonation of trusted Kerberos credentials can lead to an adversary breaking authentication, authorization, and audit controls with the target system or application.\n ", "x_capec_likelihood_of_attack": "Medium", "x_capec_parent_of_refs": [ "attack-pattern--9197c7a2-6a03-40da-b2a6-df5f1d69e8fb", "attack-pattern--05740120-81ef-4224-9805-2f0b54d1111f" ], "x_capec_prerequisites": [ "The system/application leverages Kerberos authentication.", "The system/application uses one factor password-based authentication, SSO, and/or cloud-based authentication for Kerberos service accounts.", "The system/application does not have a sound password policy that is being enforced for Kerberos service accounts.", "The system/application does not implement an effective password throttling mechanism for authenticating to Kerberos service accounts.", "The targeted network allows for network sniffing attacks to succeed." ], "x_capec_resources_required": [ "A valid Kerberos ticket or a known Kerberos service account credential." ], "x_capec_skills_required": { "Low": "Once an adversary obtains a known Kerberos credential, leveraging it is trivial." }, "x_capec_status": "Draft", "x_capec_typical_severity": "High", "x_capec_version": "3.9" }, { "created": "2020-07-30T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "Create a strong password policy and ensure that your system enforces this policy for Kerberos service accounts.", "id": "course-of-action--2e1a5831-7cf6-44e4-93ce-a94cbf2d8eeb", "modified": "2022-09-29T00:00:00.000Z", "name": "coa-652-0", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "course-of-action", "x_capec_version": "3.9" }, { "created": "2020-07-30T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--2f1be939-d853-4d8a-95f3-0b617e01e652", "modified": "2022-09-29T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--2e1a5831-7cf6-44e4-93ce-a94cbf2d8eeb", "spec_version": "2.1", "target_ref": "attack-pattern--755bb5ac-2eee-4e54-9864-92812666120c", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2020-07-30T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "Ensure Kerberos service accounts are not reusing username/password combinations for multiple systems, applications, or services.", "id": "course-of-action--9ee558c8-a72f-4895-8174-1bade0ff03ec", "modified": "2022-09-29T00:00:00.000Z", "name": "coa-652-1", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "course-of-action", "x_capec_version": "3.9" }, { "created": "2020-07-30T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--a90ffcb8-0f80-4e85-8b26-10496f6bb52a", "modified": "2022-09-29T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--9ee558c8-a72f-4895-8174-1bade0ff03ec", "spec_version": "2.1", "target_ref": "attack-pattern--755bb5ac-2eee-4e54-9864-92812666120c", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2020-07-30T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "Do not reuse Kerberos service account credentials across systems.", "id": "course-of-action--03efb1bc-0846-4331-97bb-9065c35103aa", "modified": "2022-09-29T00:00:00.000Z", "name": "coa-652-2", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "course-of-action", "x_capec_version": "3.9" }, { "created": "2020-07-30T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--785c37de-0ec5-4060-874b-ee39ba235750", "modified": "2022-09-29T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--03efb1bc-0846-4331-97bb-9065c35103aa", "spec_version": "2.1", "target_ref": "attack-pattern--755bb5ac-2eee-4e54-9864-92812666120c", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2020-07-30T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "Deny remote use of Kerberos service account credentials to log into domain systems.", "id": "course-of-action--91219be7-37d8-46e3-935e-5f41a4522558", "modified": "2022-09-29T00:00:00.000Z", "name": "coa-652-3", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "course-of-action", "x_capec_version": "3.9" }, { "created": "2020-07-30T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--d34114ce-f6a3-4ab9-ba44-4d82771bf60f", "modified": "2022-09-29T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--91219be7-37d8-46e3-935e-5f41a4522558", "spec_version": "2.1", "target_ref": "attack-pattern--755bb5ac-2eee-4e54-9864-92812666120c", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2020-07-30T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "Do not allow Kerberos service accounts to be a local administrator on more than one system.", "id": "course-of-action--6c5c6b07-f048-4361-81c5-74776f2b1677", "modified": "2022-09-29T00:00:00.000Z", "name": "coa-652-4", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "course-of-action", "x_capec_version": "3.9" }, { "created": "2020-07-30T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--b4ad929d-f0f1-40d2-b370-48856e8046d9", "modified": "2022-09-29T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--6c5c6b07-f048-4361-81c5-74776f2b1677", "spec_version": "2.1", "target_ref": "attack-pattern--755bb5ac-2eee-4e54-9864-92812666120c", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2020-07-30T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "Enable at least AES Kerberos encryption for tickets.", "id": "course-of-action--dd7827a3-05d8-4f6b-a821-c18bae857754", "modified": "2022-09-29T00:00:00.000Z", "name": "coa-652-5", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "course-of-action", "x_capec_version": "3.9" }, { "created": "2020-07-30T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--e8864ef8-634a-4587-9b9f-7dffc85bb827", "modified": "2022-09-29T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--dd7827a3-05d8-4f6b-a821-c18bae857754", "spec_version": "2.1", "target_ref": "attack-pattern--755bb5ac-2eee-4e54-9864-92812666120c", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2020-07-30T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--c6950a75-d731-468c-a735-bd8659dd2c6c", "modified": "2022-09-29T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--ab6c4df3-7bf9-4fdd-8c2a-9055c0aea441", "spec_version": "2.1", "target_ref": "attack-pattern--755bb5ac-2eee-4e54-9864-92812666120c", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2020-07-30T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "An adversary guesses or obtains (i.e. steals or purchases) legitimate operating system credentials (e.g. userID/password) to achieve authentication and to perform authorized actions on the system, under the guise of an authenticated user or service. This applies to any Operating System.", "external_references": [ { "external_id": "CAPEC-653", "source_name": "capec", "url": "https://capec.mitre.org/data/definitions/653.html" }, { "external_id": "CWE-522", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/522.html" }, { "external_id": "CWE-307", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/307.html" }, { "external_id": "CWE-308", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/308.html" }, { "external_id": "CWE-309", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/309.html" }, { "external_id": "CWE-262", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/262.html" }, { "external_id": "CWE-263", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/263.html" }, { "external_id": "CWE-654", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/654.html" }, { "description": "Dan Goodin, Attackers can use Zoom to steal users’ Windows credentials with no warning, 2020--04---01, Ars Technica", "external_id": "REF-575", "source_name": "reference_from_CAPEC", "url": "https://arstechnica.com/information-technology/2020/04/unpatched-zoom-bug-lets-attackers-steal-windows-credentials-with-no-warning/" }, { "description": "Jeff Warren, How Attackers are Stealing Your Credentials with Mimikatz, 2017--07---11, STEALTHbits Technologies, Inc.", "external_id": "REF-576", "source_name": "reference_from_CAPEC", "url": "https://blog.stealthbits.com/how-attackers-are-stealing-your-credentials-with-mimikatz/" } ], "id": "attack-pattern--2618d0a4-06d0-4bde-8271-2df61ed8297a", "modified": "2022-09-29T00:00:00.000Z", "name": "Use of Known Operating System Credentials", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "attack-pattern", "x_capec_abstraction": "Standard", "x_capec_can_follow_refs": [ "attack-pattern--a9dc4914-409a-4f71-80df-c5cc3923d112", "attack-pattern--8d88a81c-bde9-4fb3-acbe-901c783d6427", "attack-pattern--addd93c9-9278-4185-b402-e505d632c815", "attack-pattern--a390cb72-b4de-4750-ae05-be556c89f4be", "attack-pattern--f724f0f3-20e6-450c-be4a-f373ea08834d", "attack-pattern--fab7fb48-4503-4e03-980f-9bc827be929f", "attack-pattern--03a731ef-751b-43de-9159-9667d4be4d1a", "attack-pattern--8c7bab16-5ecd-4778-9b04-c185bceed170" ], "x_capec_can_precede_refs": [ "attack-pattern--22802ed6-ddc6-4da7-b6be-60b10d26198b" ], "x_capec_child_of_refs": [ "attack-pattern--886a7175-e28a-4e6d-bd22-3b1497e31dc7" ], "x_capec_consequences": { "Access_Control": [ "Gain Privileges" ], "Authentication": [ "Gain Privileges" ], "Authorization": [ "Read Data" ], "Confidentiality": [ "Gain Privileges", "Read Data" ], "Integrity": [ "Modify Data" ] }, "x_capec_domains": [ "Software" ], "x_capec_example_instances": [ "Adversaries exploited the Zoom video conferencing application during the 2020 COVID-19 pandemic to exfiltrate Windows domain credentials from a target system. The attack entailed sending Universal Naming Convention (UNC) paths within the Zoom chat window of an unprotected Zoom call. If the victim clicked on the link, their Windows usernames and the corresponding Net-NTLM-v2 hashes were sent to the address contained in the link. The adversary was then able to infiltrate and laterally move within the Windows domain by passing the acquired credentials to shared network resources. This further provided adversaries with access to Outlook servers and network storage devices. [REF-575]", "Mimikatz, a post-exploitation Windows credential harvester, can be used to gather and exploit Windows credentials. This malware has been used in several known cyberattacks, such as the Petya Ransomeware attacks. [REF-576]" ], "x_capec_execution_flow": "

Execution Flow

Explore

  1. Acquire known operating system credentials: The adversary must obtain known operating system credentials in order to access the target system, application, or service within the domain.

  2. Techniques
    An adversary purchases breached operating system username/password combinations or leaked hashed passwords from the dark web.
    An adversary leverages a key logger or phishing attack to steal user credentials as they are provided.
    An adversary conducts a sniffing attack to steal operating system credentials as they are transmitted.
    An adversary gains access to a system/files and exfiltrates password hashes.
    An adversary examines outward-facing configuration and properties files to discover hardcoded credentials.

Experiment

  1. Attempt authentication: Try each operating system credential against various systems, applications, and services within the domain until the target grants access.

  2. Techniques
    Manually or automatically enter each credential through the target's interface.

Exploit

  1. Impersonate: An adversary can use successful experiments or authentications to impersonate an authorized user or system, or to laterally move within the network

  2. Spoofing: Malicious data can be injected into the target system or into other systems on the network. The adversary can also pose as a legitimate user to perform social engineering attacks.

  3. Data Exfiltration: The adversary can obtain sensitive data contained within system files or application configuration.

", "x_capec_extended_description": "\n This attack can be extremely harmful when the operating system credentials used are for a root or admin user. Once an adversary gains access using credentials with elevated privileges, they are free to alter important system files which can effect other users who may use the system or other users on the system's network.\n ", "x_capec_likelihood_of_attack": "High", "x_capec_parent_of_refs": [ "attack-pattern--f2654def-b86d-4ddb-888f-de6b50a103a2", "attack-pattern--056a463d-6303-438e-a43f-992cee52fb95" ], "x_capec_prerequisites": [ "The system/application uses one factor password-based authentication, SSO, and/or cloud-based authentication.", "The system/application does not have a sound password policy that is being enforced.", "The system/application does not implement an effective password throttling mechanism.", "The adversary possesses a list of known user accounts and corresponding passwords that may exist on the target." ], "x_capec_resources_required": [ "A list of known credentials for the targeted domain.", "A custom script that leverages a credential list to launch an attack." ], "x_capec_skills_required": { "Low": "Once an adversary obtains a known credential, leveraging it is trivial." }, "x_capec_status": "Draft", "x_capec_typical_severity": "High", "x_capec_version": "3.9" }, { "created": "2020-07-30T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "Leverage multi-factor authentication for all authentication services and prior to granting an entity access to the network.", "id": "course-of-action--b1c371ce-f966-4db4-8193-eb03cd1d8190", "modified": "2022-09-29T00:00:00.000Z", "name": "coa-653-0", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "course-of-action", "x_capec_version": "3.9" }, { "created": "2020-07-30T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--6d717559-5a7c-4abe-994a-f5ed56626c2b", "modified": "2022-09-29T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--b1c371ce-f966-4db4-8193-eb03cd1d8190", "spec_version": "2.1", "target_ref": "attack-pattern--2618d0a4-06d0-4bde-8271-2df61ed8297a", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2020-07-30T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--0808991b-23f3-4e8e-84e2-910ad1d7c053", "modified": "2022-09-29T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--93ed0e66-1693-44b2-b416-bee8db1ad4c2", "spec_version": "2.1", "target_ref": "attack-pattern--2618d0a4-06d0-4bde-8271-2df61ed8297a", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2020-07-30T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--30fc8e66-ac77-4700-963e-64a29973924f", "modified": "2022-09-29T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--f17a2576-00f1-49a8-b554-5ec205ca54a2", "spec_version": "2.1", "target_ref": "attack-pattern--2618d0a4-06d0-4bde-8271-2df61ed8297a", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2020-07-30T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--a406676c-8452-46d2-a72c-11463c53b3cc", "modified": "2022-09-29T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--7c813ade-2f68-46ad-b0ff-b3aa1d6f16d0", "spec_version": "2.1", "target_ref": "attack-pattern--2618d0a4-06d0-4bde-8271-2df61ed8297a", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2020-07-30T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--32a275d9-4766-40b2-ae6b-7307d384bf7b", "modified": "2022-09-29T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--8e39cc3a-64c4-488e-84a3-e2613bdb1254", "spec_version": "2.1", "target_ref": "attack-pattern--2618d0a4-06d0-4bde-8271-2df61ed8297a", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2020-07-30T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--f52fb187-a070-476a-914d-5c9f061558d1", "modified": "2022-09-29T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--9d97f821-8b04-46bf-a725-33db09a739da", "spec_version": "2.1", "target_ref": "attack-pattern--2618d0a4-06d0-4bde-8271-2df61ed8297a", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2020-07-30T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--c81c0b14-89ac-4328-87fc-e5471e7edfc7", "modified": "2022-09-29T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--36387909-c46a-4d0f-8954-bbc4c954c9a9", "spec_version": "2.1", "target_ref": "attack-pattern--2618d0a4-06d0-4bde-8271-2df61ed8297a", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2020-07-30T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--37212961-3d05-427a-ada9-72ac4ca5adca", "modified": "2022-09-29T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--ab6c4df3-7bf9-4fdd-8c2a-9055c0aea441", "spec_version": "2.1", "target_ref": "attack-pattern--2618d0a4-06d0-4bde-8271-2df61ed8297a", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2020-07-30T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "An adversary, through a previously installed malicious application, impersonates a credential prompt in an attempt to steal a user's credentials.", "external_references": [ { "external_id": "CAPEC-654", "source_name": "capec", "url": "https://capec.mitre.org/data/definitions/654.html" }, { "external_id": "CWE-1021", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/1021.html" }, { "description": "Input Capture", "external_id": "T1056", "source_name": "ATTACK", "url": "https://attack.mitre.org/wiki/Technique/T1056" }, { "description": "Abuse Elevation Control Mechanism: Elevated Execution with Prompt", "external_id": "T1548.004", "source_name": "ATTACK", "url": "https://attack.mitre.org/wiki/Technique/T1548/004" } ], "id": "attack-pattern--f7a0e7bd-d24a-4390-b365-9e71f22e4e06", "modified": "2022-09-29T00:00:00.000Z", "name": "Credential Prompt Impersonation", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "attack-pattern", "x_capec_abstraction": "Detailed", "x_capec_child_of_refs": [ "attack-pattern--1995c522-a25d-46e4-b024-65172771a692" ], "x_capec_consequences": { "Access_Control": [ "Gain Privileges" ], "Authentication": [ "Gain Privileges" ] }, "x_capec_domains": [ "Software" ], "x_capec_example_instances": [ "An adversary monitors the system task list for Microsoft Outlook in an attempt to determine when the application may prompt the user to enter their credentials to view encrypted email. Once the task is executed, the adversary impersonates the credential prompt to obtain the user's Microsoft Outlook encryption credentials. These credentials can then be leveraged by the adversary to read a user's encrypted email.", "An adversary randomly prompts a user to enter their system credentials, tricking the user into believing that a background process requires the credentials to function. The adversary can then use these gleaned credentials to execute additional attacks or obtain data." ], "x_capec_execution_flow": "

Execution Flow

Explore

  1. Determine suitable tasks to exploit: Determine what tasks exist on the target system that may result in a user providing their credentials.

  2. Techniques
    Determine what tasks prompt a user for their credentials.

Exploit

  1. Impersonate Task: Impersonate a legitimate task, either expected or unexpected, in an attempt to gain user credentials.

  2. Techniques
    Prompt a user for their credentials, while making the user believe the credential request is legitimate.
", "x_capec_extended_description": "\n The adversary may monitor the task list maintained by the operating system and wait for a specific legitimate credential prompt to become active. Once the prompt is detected, the adversary launches a new credential prompt in the foreground that mimics the user interface of the legitimate credential prompt. At this point, the user thinks that they are interacting with the legitimate credential prompt, but instead they are interacting with the malicious credential prompt.\n A second approach involves the adversary impersonating an unexpected credential prompt, but one that may often be spawned by legitimate background processes. For example, an adversary may randomly impersonate a system credential prompt, implying that a background process or commonly used application (e.g., email reader) requires authentication for some purpose. The user, believing they are interacting with a legitimate credential prompt, enters their credentials which the adversary then leverages for nefarious purposes. The ultimate goal of this attack is to obtain sensitive information (e.g., credentials) from the user.\n ", "x_capec_likelihood_of_attack": "Medium", "x_capec_prerequisites": [ "The adversary must already have access to the target system via some means.", "A legitimate task must exist that an adversary can impersonate to glean credentials." ], "x_capec_resources_required": [ "Malware or some other means to initially comprise the target system.", "Additional malware to impersonate a legitimate credential prompt." ], "x_capec_skills_required": { "Low": "Once an adversary has gained access to the target system, impersonating a credential prompt is not difficult." }, "x_capec_status": "Stable", "x_capec_typical_severity": "High", "x_capec_version": "3.9" }, { "created": "2020-07-30T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--941eef6d-7520-4cb3-97db-3e53b6e58b9d", "modified": "2022-09-29T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--c40d7d86-ab26-4e1a-9b9b-e3496f0f36fc", "spec_version": "2.1", "target_ref": "attack-pattern--f7a0e7bd-d24a-4390-b365-9e71f22e4e06", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2020-07-30T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "\n An adversary adds data to a file to increase the file size beyond what security tools are capable of handling in an attempt to mask their actions.\n In addition to this, adding data to a file also changes the file's hash, frustrating security tools that look for known bad files by their hash.\n ", "external_references": [ { "external_id": "CAPEC-655", "source_name": "capec", "url": "https://capec.mitre.org/data/definitions/655.html" }, { "description": "Obfuscated Files or Information:Binary padding", "external_id": "T1027.001", "source_name": "ATTACK", "url": "https://attack.mitre.org/wiki/Technique/T1027/001" } ], "id": "attack-pattern--cbe9fd1f-4b5d-4a3c-b20b-e49888457338", "modified": "2021-06-24T00:00:00.000Z", "name": "Avoid Security Tool Identification by Adding Data", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "attack-pattern", "x_capec_abstraction": "Detailed", "x_capec_child_of_refs": [ "attack-pattern--31b90554-68d8-4950-ac45-89c915a30716" ], "x_capec_consequences": { "Accountability": [ "Hide Activities", "Bypass Protection Mechanism" ], "Integrity": [ "Modify Data" ] }, "x_capec_domains": [ "Software" ], "x_capec_example_instances": [ "\n Adding data to change the checksum of a file and can be used to avoid hash-based denylists and static anti-virus signatures.\n " ], "x_capec_likelihood_of_attack": "High", "x_capec_status": "Draft", "x_capec_typical_severity": "High", "x_capec_version": "3.9" }, { "created": "2020-12-17T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "An adversary targets users with a phishing attack for the purpose of soliciting account passwords or sensitive information from the user. Voice Phishing is a variation of the Phishing social engineering technique where the attack is initiated via a voice call, rather than email. The user is enticed to provide sensitive information by the adversary, who masquerades as a legitimate employee of the alleged organization. Voice Phishing attacks deviate from standard Phishing attacks, in that a user doesn't typically interact with a compromised website to provide sensitive information and instead provides this information verbally. Voice Phishing attacks can also be initiated by either the adversary in the form of a \"cold call\" or by the victim if calling an illegitimate telephone number.", "external_references": [ { "external_id": "CAPEC-656", "source_name": "capec", "url": "https://capec.mitre.org/data/definitions/656.html" }, { "description": "Jovi Umawing, Something else is phishy: How to detect phishing attempts on mobile phones , 2018--12---10, Malwarebytes", "external_id": "REF-592", "source_name": "reference_from_CAPEC", "url": "https://blog.malwarebytes.com/101/2018/12/something-else-phishy-detect-phishing-attempts-mobile/" }, { "description": "Jennifer van der Kleut, What is vishing? Tips for spotting and avoiding voice scams, NortonLifeLock Inc.", "external_id": "REF-594", "source_name": "reference_from_CAPEC", "url": "https://ieeexplore.ieee.org/document/6604058/authors#authors" }, { "description": "What Is Vishing?, AO Kaspersky Lab", "external_id": "REF-595", "source_name": "reference_from_CAPEC", "url": "https://www.kaspersky.com/resource-center/definitions/vishing" } ], "id": "attack-pattern--ec0a802f-1d0a-4360-a4d8-3fb9f48715d0", "modified": "2020-12-17T00:00:00.000Z", "name": "Voice Phishing", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "attack-pattern", "x_capec_abstraction": "Detailed", "x_capec_alternate_terms": [ "Vishing", "VoIP Phishing" ], "x_capec_child_of_refs": [ "attack-pattern--a00c2cc2-bd4f-4594-9ec1-b021b62ac896" ], "x_capec_consequences": { "Access_Control": [ "Gain Privileges" ], "Authorization": [ "Gain Privileges" ], "Confidentiality": [ "Gain Privileges", "Read Data" ], "Integrity": [ "Modify Data" ] }, "x_capec_domains": [ "Social Engineering" ], "x_capec_example_instances": [ "The target receives an email or text message stating that their Apple ID has been disabled due to suspicious activity and that the included link includes instructions on how to unlock their Apple account. The link in the text message looks legitimate and once the link is clicked, the user is redirected to a legitimate-looking webpage that prompts the user to call a specified number to initiate the unlock process. The target initiates the phone call and provides their credentials or other sensitive information to the individual they assume works for Apple. Now that the adversary possess this data, it can be used to log into the account to obtain other sensitive data, such as Apple Pay information.", "An adversary calls the target and claims to work for their bank. The adversary informs the target that their bank account has been frozen, due to potential fraudulent spending, and requires authentication in order to re-enable the account. The target, believing the caller is a legitimate bank employee, provides their bank account login credentials to confirm they are the authorized owner of the account. The adversary then confirms this authentication and claims that the account has been unlocked. Once the adversary has obtained these credentials, money can be transferred from the victim's account to an account controlled by the adversary." ], "x_capec_execution_flow": "

Execution Flow

Explore

  1. Obtain domain name and certificate to spoof legitimate site: This optional step can be used to help the adversary impersonate the legitimate organization more convincingly. The adversary can use homograph or similar attacks to convince users that they are using the legitimate website. If the adversary leverages cold-calling for this attack, this step is skipped.

  2. Techniques
    Optionally obtain a domain name that visually looks similar to the legitimate organization's domain name. An example is www.paypaI.com vs. www.paypal.com (the first one contains a capital i, instead of a lower case L)
    Optionally obtain a legitimate SSL certificate for the new domain name.
  3. Explore legitimate website and create duplicate: An adversary optionally creates a website (optionally at a URL that looks similar to the original URL) that closely resembles the organization's website that they are trying to impersonate. That website will contain a telephone number for the victim to call to assist them with their issue and initiate the attack. If the adversary leverages cold-calling for this attack, this step is skipped.

  4. Techniques
    Use spidering software to get copy of web pages on legitimate site.
    Manually save copies of required web pages from legitimate site.
    Create new web pages that have the legitimate site's look and feel, but contain completely new content.

Exploit

  1. Convince user to provide sensitive information to the adversary.: An adversary \"cold calls\" the victim or receives a call from the victim via the malicious site and provides a call-to-action, in order to persuade the user into providing sensitive details to the adversary (e.g. login credentials, bank account information, etc.). The key is to get the victim to believe that the individual they are talking to is from a legitimate entity with which the victim does business and that the call is occurring for legitimate reasons. A call-to-action will usually need to sound legitimate and urgent enough to prompt action from the user.

  2. Techniques
    Call the user a from a spoofed legitimate-looking telephone number.
  3. Use stolen information: Once the adversary obtains the sensitive information, this information can be leveraged to log into the victim's bank account and transfer money to an account of their choice, or to make fraudulent purchases with stolen credit card information.

  4. Techniques
    Login to the legitimate site using another the victim's supplied credentials
", "x_capec_likelihood_of_attack": "High", "x_capec_prerequisites": [ "An adversary needs phone numbers to initiate contact with the victim, in addition to a legitimate-looking telephone number to call the victim from.", "An adversary needs to correctly guess the entity with which the victim does business and impersonate it. Most of the time phishers just use the most popular banks/services and send out their \"hooks\" to many potential victims.", "An adversary needs to have a sufficiently compelling call to action to prompt the user to take action.", "If passively conducting this attack via a spoofed website, replicated website needs to look extremely similar to the original website and the URL used to get to that website needs to look like the real URL of the said business entity." ], "x_capec_resources_required": [ "Legitimate-looking telephone number(s) to initiate calls with victims" ], "x_capec_skills_required": { "Medium": "Basic knowledge about websites: obtaining them, designing and implementing them, etc." }, "x_capec_status": "Stable", "x_capec_typical_severity": "High", "x_capec_version": "3.9" }, { "created": "2020-12-17T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "Do not accept calls from unknown numbers or from numbers that may be flagged as spam. Also, do not call numbers that appear on-screen after being unexpectedly redirected to potentially malicious websites. In either case, do not provide sensitive information over voice calls that are not legitimately initiated. Instead, call your Bank, PayPal, eBay, etc., via the number on their public-facing website and inquire about the problem.", "id": "course-of-action--6e3af87a-42f6-4c03-85e4-aaa333a97b18", "modified": "2020-12-17T00:00:00.000Z", "name": "coa-656-0", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "course-of-action", "x_capec_version": "3.9" }, { "created": "2020-12-17T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--244a5166-f226-4066-b561-6df35600a91c", "modified": "2020-12-17T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--6e3af87a-42f6-4c03-85e4-aaa333a97b18", "spec_version": "2.1", "target_ref": "attack-pattern--ec0a802f-1d0a-4360-a4d8-3fb9f48715d0", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2020-12-17T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "An attackers uses identify or content spoofing to trick a client into performing an automated software update from a malicious source. A malicious automated software update that leverages spoofing can include content or identity spoofing as well as protocol spoofing. Content or identity spoofing attacks can trigger updates in software by embedding scripted mechanisms within a malicious web page, which masquerades as a legitimate update source. Scripting mechanisms communicate with software components and trigger updates from locations specified by the attackers' server. The result is the client believing there is a legitimate software update available but instead downloading a malicious update from the attacker.", "external_references": [ { "external_id": "CAPEC-657", "source_name": "capec", "url": "https://capec.mitre.org/data/definitions/657.html" }, { "external_id": "CWE-494", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/494.html" }, { "description": "Software Deployment Tools", "external_id": "T1072", "source_name": "ATTACK", "url": "https://attack.mitre.org/wiki/Technique/T1072" } ], "id": "attack-pattern--9b9760ba-c8de-42c7-9de0-3a5ee2d2abdb", "modified": "2022-09-29T00:00:00.000Z", "name": "Malicious Automated Software Update via Spoofing", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "attack-pattern", "x_capec_abstraction": "Detailed", "x_capec_can_follow_refs": [ "attack-pattern--862d18f1-a87c-4f1b-acc2-882697d5d6e5" ], "x_capec_child_of_refs": [ "attack-pattern--3c9e7b88-a1eb-4cfd-aa34-10df08b23317" ], "x_capec_consequences": { "Access_Control": [ "Execute Unauthorized Commands" ], "Availability": [ "Execute Unauthorized Commands" ], "Confidentiality": [ "Execute Unauthorized Commands" ] }, "x_capec_domains": [ "Supply Chain", "Software" ], "x_capec_example_instances": [ "An example of the spoofing strategy would be the eTrust Antivirus Webscan Automated Update Remote Code Execution vulnerability (CVE-2006-3976) and (CVE-2006-3977) whereby an ActiveX control could be remotely manipulated by an attacker controlled web page to download and execute the attackers' code without integrity checking." ], "x_capec_likelihood_of_attack": "High", "x_capec_status": "Draft", "x_capec_typical_severity": "High", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "This attack exploits target software that constructs SQL statements based on user input. An attacker crafts input strings so that when the target software constructs SQL statements based on the input, the resulting SQL statement performs actions other than those the application intended. SQL Injection results from failure of the application to appropriately validate input.", "external_references": [ { "external_id": "CAPEC-66", "source_name": "capec", "url": "https://capec.mitre.org/data/definitions/66.html" }, { "external_id": "CWE-89", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/89.html" }, { "external_id": "CWE-1286", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/1286.html" }, { "description": "SQL Injection", "external_id": "19", "source_name": "WASC", "url": "http://projects.webappsec.org/SQL-Injection" }, { "description": "SQL Injection", "source_name": "OWASP Attacks", "url": "https://owasp.org/www-community/attacks/SQL_Injection" }, { "description": "OWASP Web Security Testing Guide, The Open Web Application Security Project (OWASP)", "external_id": "REF-607", "source_name": "reference_from_CAPEC", "url": "https://owasp.org/www-project-web-security-testing-guide/latest/4-Web_Application_Security_Testing/07-Input_Validation_Testing/05-Testing_for_SQL_Injection.html" } ], "id": "attack-pattern--42acc604-a86c-46f7-bd03-6e532c02d85e", "modified": "2022-02-22T00:00:00.000Z", "name": "SQL Injection", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "attack-pattern", "x_capec_abstraction": "Standard", "x_capec_child_of_refs": [ "attack-pattern--2fb2b2b8-b7de-45a2-aadb-5849d12fda8f" ], "x_capec_consequences": { "Access_Control": [ "Gain Privileges" ], "Authorization": [ "Gain Privileges" ], "Availability": [ "Execute Unauthorized Commands (Run Arbitrary Code)" ], "Confidentiality": [ "Read Data", "Execute Unauthorized Commands (Run Arbitrary Code)", "Gain Privileges" ], "Integrity": [ "Modify Data", "Execute Unauthorized Commands (Run Arbitrary Code)" ] }, "x_capec_domains": [ "Software" ], "x_capec_example_instances": [ "With PHP-Nuke versions 7.9 and earlier, an attacker can successfully access and modify data, including sensitive contents such as usernames and password hashes, and compromise the application through SQL Injection. The protection mechanism against SQL Injection employs a denylist approach to input validation. However, because of an improper denylist, it is possible to inject content such as \"foo'/**/UNION\" or \"foo UNION/**/\" to bypass validation and glean sensitive information from the database. See also: CVE-2006-5525" ], "x_capec_execution_flow": "

Execution Flow

Explore

  1. Survey application: The attacker first takes an inventory of the functionality exposed by the application.

  2. Techniques
    Spider web sites for all available links
    Sniff network communications with application using a utility such as WireShark.

Experiment

  1. Determine user-controllable input susceptible to injection: Determine the user-controllable input susceptible to injection. For each user-controllable input that the attacker suspects is vulnerable to SQL injection, attempt to inject characters that have special meaning in SQL (such as a single quote character, a double quote character, two hyphens, a parenthesis, etc.). The goal is to create a SQL query with an invalid syntax.

  2. Techniques
    Use web browser to inject input through text fields or through HTTP GET parameters.
    Use a web application debugging tool such as Tamper Data, TamperIE, WebScarab,etc. to modify HTTP POST parameters, hidden fields, non-freeform fields, etc.
    Use network-level packet injection tools such as netcat to inject input
    Use modified client (modified by reverse engineering) to inject input.
  3. Experiment with SQL Injection vulnerabilities: After determining that a given input is vulnerable to SQL Injection, hypothesize what the underlying query looks like. Iteratively try to add logic to the query to extract information from the database, or to modify or delete information in the database.

  4. Techniques
    Use public resources such as \"SQL Injection Cheat Sheet\" at http://ferruh.mavituna.com/makale/sql-injection-cheatsheet/, and try different approaches for adding logic to SQL queries.
    Add logic to query, and use detailed error messages from the server to debug the query. For example, if adding a single quote to a query causes an error message, try : \"' OR 1=1; --\", or something else that would syntactically complete a hypothesized query. Iteratively refine the query.
    Use \"Blind SQL Injection\" techniques to extract information about the database schema.
    If a denial of service attack is the goal, try stacking queries. This does not work on all platforms (most notably, it does not work on Oracle or MySQL). Examples of inputs to try include: \"'; DROP TABLE SYSOBJECTS; --\" and \"'); DROP TABLE SYSOBJECTS; --\". These particular queries will likely not work because the SYSOBJECTS table is generally protected.

Exploit

  1. Exploit SQL Injection vulnerability: After refining and adding various logic to SQL queries, craft and execute the underlying SQL query that will be used to attack the target system. The goal is to reveal, modify, and/or delete database data, using the knowledge obtained in the previous step. This could entail crafting and executing multiple SQL queries if a denial of service attack is the intent.

  2. Techniques
    Craft and Execute underlying SQL query
", "x_capec_extended_description": "\n When specially crafted user-controlled input consisting of SQL syntax is used without proper validation as part of SQL queries, it is possible to glean information from the database in ways not envisaged during application design. Depending upon the database and the design of the application, it may also be possible to leverage injection to have the database execute system-related commands of the attackers' choice. SQL Injection enables an attacker to interact directly to the database, thus bypassing the application completely. Successful injection can cause information disclosure as well as ability to add or modify data in the database.\n ", "x_capec_likelihood_of_attack": "High", "x_capec_parent_of_refs": [ "attack-pattern--89acf77d-723b-43b4-b66d-6eaafed52369", "attack-pattern--f0e32d0e-9580-4b79-95e0-6e3b99bf6e45", "attack-pattern--7c90bef7-530c-427b-8fb7-f9d3eda9c26a", "attack-pattern--35bde6ec-0a19-462c-92b4-9c481dc4986e", "attack-pattern--9116da7f-a60e-4186-b42a-218f1b0eb269" ], "x_capec_prerequisites": [ "SQL queries used by the application to store, retrieve or modify data.", "User-controllable input that is not properly validated by the application as part of SQL queries." ], "x_capec_resources_required": [ "None: No specialized resources are required to execute this type of attack." ], "x_capec_skills_required": { "Low": "It is fairly simple for someone with basic SQL knowledge to perform SQL injection, in general. In certain instances, however, specific knowledge of the database employed may be required." }, "x_capec_status": "Draft", "x_capec_typical_severity": "High", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "Strong input validation - All user-controllable input must be validated and filtered for illegal characters as well as SQL content. Keywords such as UNION, SELECT or INSERT must be filtered in addition to characters such as a single-quote(') or SQL-comments (--) based on the context in which they appear.", "id": "course-of-action--07cbed26-8c96-41e6-a239-7be587a38673", "modified": "2022-02-22T00:00:00.000Z", "name": "coa-66-0", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "course-of-action", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--a93f8f1b-9607-4383-9b6f-7be3de09fc48", "modified": "2022-02-22T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--07cbed26-8c96-41e6-a239-7be587a38673", "spec_version": "2.1", "target_ref": "attack-pattern--42acc604-a86c-46f7-bd03-6e532c02d85e", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "Use of parameterized queries or stored procedures - Parameterization causes the input to be restricted to certain domains, such as strings or integers, and any input outside such domains is considered invalid and the query fails. Note that SQL Injection is possible even in the presence of stored procedures if the eventual query is constructed dynamically.", "id": "course-of-action--3b3ecd49-a48b-4908-b854-071ac6b15f1c", "modified": "2022-02-22T00:00:00.000Z", "name": "coa-66-1", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "course-of-action", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--5fc50ca5-d17c-4f39-96d4-795ef6ac0bb1", "modified": "2022-02-22T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--3b3ecd49-a48b-4908-b854-071ac6b15f1c", "spec_version": "2.1", "target_ref": "attack-pattern--42acc604-a86c-46f7-bd03-6e532c02d85e", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--df5e28f8-bb74-4412-960d-bef6cec27c9f", "modified": "2022-02-22T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--618c2d85-ca76-40a0-a019-0ac9ba1b0989", "spec_version": "2.1", "target_ref": "attack-pattern--42acc604-a86c-46f7-bd03-6e532c02d85e", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2020-12-17T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "An adversary forces a non-restricted mobile application to load arbitrary code or code files, via Hooking, with the goal of evading Root/Jailbreak detection. Mobile device users often Root/Jailbreak their devices in order to gain administrative control over the mobile operating system and/or to install third-party mobile applications that are not provided by authorized application stores (e.g. Google Play Store and Apple App Store). Adversaries may further leverage these capabilities to escalate privileges or bypass access control on legitimate applications. Although many mobile applications check if a mobile device is Rooted/Jailbroken prior to authorized use of the application, adversaries may be able to \"hook\" code in order to circumvent these checks. Successfully evading Root/Jailbreak detection allows an adversary to execute administrative commands, obtain confidential data, impersonate legitimate users of the application, and more.", "external_references": [ { "external_id": "CAPEC-660", "source_name": "capec", "url": "https://capec.mitre.org/data/definitions/660.html" }, { "external_id": "CWE-829", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/829.html" }, { "description": "Process Injection", "external_id": "T1055", "source_name": "ATTACK", "url": "https://attack.mitre.org/wiki/Technique/T1055" }, { "description": "Ansgar Kellner, Micha Horlboge, Konrad Rieck, Christian Wressnegger, False Sense of Security: A Study on the Effectivity of Jailbreak Detection in Banking Apps, 2019--06---17, Technische Universität Braunschweig", "external_id": "REF-624", "source_name": "reference_from_CAPEC", "url": "https://cybersecurity.att.com/blogs/security-essentials/mobile-phishing" }, { "description": "San-Tsai Sun, Andrea Cuadros, Konstantin Beznosov, Android Rooting: Methods, Detection, and Evasion, 2019--06---17, Technische Universität Braunschweig", "external_id": "REF-625", "source_name": "reference_from_CAPEC", "url": "http://lersse-dl.ece.ubc.ca/record/310/files/p3.pdf?subformat=pdfa" }, { "description": "Jose Lopes, Who owns your runtime?, 2015--10---12, Nettitude Labs", "external_id": "REF-626", "source_name": "reference_from_CAPEC", "url": "https://labs.nettitude.com/blog/ios-and-android-runtime-and-anti-debugging-protections/#hooking" }, { "description": "Suresh Khutale, Android Root Detection Bypass by Reverse Engineering APK, 2018--03---06, InfoSec Institute", "external_id": "REF-627", "source_name": "reference_from_CAPEC", "url": "https://resources.infosecinstitute.com/topic/android-root-detection-bypass-reverse-engineering-apk/" } ], "id": "attack-pattern--fa4feb09-657b-40a0-9edd-6187b55047e3", "modified": "2020-12-17T00:00:00.000Z", "name": "Root/Jailbreak Detection Evasion via Hooking", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "attack-pattern", "x_capec_abstraction": "Detailed", "x_capec_can_follow_refs": [ "attack-pattern--80649f3c-d2f3-4703-9e78-e096673a7517" ], "x_capec_child_of_refs": [ "attack-pattern--283d665d-e109-4d5d-8993-6fb25e5923d6" ], "x_capec_consequences": { "Access_Control": [ "Read Data (An adversary may leverage Root/Jailbreak Detection Evasion via Hooking in order to obtain sensitive information.)" ], "Authorization": [ "Execute Unauthorized Commands (Through Root/Jailbreak Detection Evasion via Hooking, the adversary compromises the integrity of the application.)", "Gain Privileges" ], "Confidentiality": [ "Gain Privileges", "Read Data (An adversary may leverage Root/Jailbreak Detection Evasion via Hooking in order to obtain sensitive information.)" ], "Integrity": [ "Execute Unauthorized Commands (Through Root/Jailbreak Detection Evasion via Hooking, the adversary compromises the integrity of the application.)" ] }, "x_capec_domains": [ "Software" ], "x_capec_example_instances": [ "An adversary targets a non-restricted iOS banking application in an attempt to compromise sensitive user data. The adversary creates Objective-C runtime code that always returns \"false\" when checking for the existence of the Cydia application. The malicious code is then dynamically loaded into the application via the DYLD_INSERT_LIBRARIES environment variable. When the banking applications checks for Cydia, the hooked code returns \"false\", so the application assumes the device is stock (i.e. not Jailbroken) and allows it to access the application. However, the adversary has just evaded Jailbreak detection and is now able to glean user credentials and/or transaction details.", "An adversary targets a mobile voting application on an Android device with the goal of committing voter fraud. Leveraging the Xposed framework, the adversary is able to create and hook Java code into the application that bypasses Root detection methods. When the voting application attempts to detect a Rooted device by checking for commonly known installed packages associated with Rooting, the hooked code removes the suspicious packages before returning to the application. As a result, the application believes the device is stock (i.e. not Rooted) when in actuality this is not the case. Having evading Root detection, the adversary is now able to cast votes for the candidate of their choosing as a variety of different users." ], "x_capec_execution_flow": "

Execution Flow

Explore

  1. Identify application with attack potential: The adversary searches for and identifies a mobile application that could be exploited for malicious purposes (e.g. banking, voting, or medical applications).

  2. Techniques
    Search application stores for mobile applications worth exploiting

Experiment

  1. Develop code to be hooked into chosen target application: The adversary develops code or leverages existing code that will be hooked into the target application in order to evade Root/Jailbreak detection methods.

  2. Techniques
    Develop code or leverage existing code to bypass Root/Jailbreak detection methods.
    Test the code to see if it works.
    Iteratively develop the code until Root/Jailbreak detection methods are evaded.

Exploit

  1. Execute code hooking to evade Root/Jailbreak detection methods: Once hooking code has been developed or obtained, execute the code against the target application to evade Root/Jailbreak detection methods.

  2. Techniques
    Hook code into the target application.
", "x_capec_likelihood_of_attack": "Medium", "x_capec_prerequisites": [ "The targeted application must be non-restricted to allow code hooking." ], "x_capec_resources_required": [ "The adversary must have a Rooted/Jailbroken mobile device.", "The adversary needs to have enough access to the target application to control the included code or file." ], "x_capec_skills_required": { "High": "Knowledge about Root/Jailbreak detection and evasion techniques.", "Medium": "Knowledge about code hooking." }, "x_capec_status": "Stable", "x_capec_typical_severity": "Very High", "x_capec_version": "3.9" }, { "created": "2020-12-17T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "Ensure mobile applications are signed appropriately to avoid code inclusion via hooking.", "id": "course-of-action--a26576b7-5508-45c7-b841-988783c129d3", "modified": "2020-12-17T00:00:00.000Z", "name": "coa-660-0", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "course-of-action", "x_capec_version": "3.9" }, { "created": "2020-12-17T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--3ed05e0f-72dd-495e-af10-e186067c014b", "modified": "2020-12-17T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--a26576b7-5508-45c7-b841-988783c129d3", "spec_version": "2.1", "target_ref": "attack-pattern--fa4feb09-657b-40a0-9edd-6187b55047e3", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2020-12-17T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "Inspect the application's memory for suspicious artifacts, such as shared objects/JARs or dylibs, after other Root/Jailbreak detection methods.", "id": "course-of-action--ab5ae276-92d5-4d92-8409-8a4400de6800", "modified": "2020-12-17T00:00:00.000Z", "name": "coa-660-1", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "course-of-action", "x_capec_version": "3.9" }, { "created": "2020-12-17T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--66be5c7d-d8d0-490b-93f7-33a6b9a2ee47", "modified": "2020-12-17T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--ab5ae276-92d5-4d92-8409-8a4400de6800", "spec_version": "2.1", "target_ref": "attack-pattern--fa4feb09-657b-40a0-9edd-6187b55047e3", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2020-12-17T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "Inspect the application's stack trace for suspicious method calls.", "id": "course-of-action--43850af6-9f1d-4bb9-a858-9d516bf243f7", "modified": "2020-12-17T00:00:00.000Z", "name": "coa-660-2", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "course-of-action", "x_capec_version": "3.9" }, { "created": "2020-12-17T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--625a5ed4-6a77-4589-80db-7eb242928389", "modified": "2020-12-17T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--43850af6-9f1d-4bb9-a858-9d516bf243f7", "spec_version": "2.1", "target_ref": "attack-pattern--fa4feb09-657b-40a0-9edd-6187b55047e3", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2020-12-17T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "Allow legitimate native methods, and check for non-allowed native methods during Root/Jailbreak detection methods.", "id": "course-of-action--d8677776-34d9-4dae-add9-a6e12cfc342e", "modified": "2020-12-17T00:00:00.000Z", "name": "coa-660-3", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "course-of-action", "x_capec_version": "3.9" }, { "created": "2020-12-17T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--6aaf6432-9f26-4d24-9622-96e8a784c382", "modified": "2020-12-17T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--d8677776-34d9-4dae-add9-a6e12cfc342e", "spec_version": "2.1", "target_ref": "attack-pattern--fa4feb09-657b-40a0-9edd-6187b55047e3", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2020-12-17T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "For iOS applications, ensure application methods do not originate from outside of Apple's SDK.", "id": "course-of-action--70e9b054-c49a-4250-8674-4d37b0ae027a", "modified": "2020-12-17T00:00:00.000Z", "name": "coa-660-4", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "course-of-action", "x_capec_version": "3.9" }, { "created": "2020-12-17T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--ad5e1d79-01e2-4822-81ba-6cd81c7049e7", "modified": "2020-12-17T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--70e9b054-c49a-4250-8674-4d37b0ae027a", "spec_version": "2.1", "target_ref": "attack-pattern--fa4feb09-657b-40a0-9edd-6187b55047e3", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2020-12-17T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "An adversary inserts a debugger into the program entry point of a mobile application to modify the application binary, with the goal of evading Root/Jailbreak detection. Mobile device users often Root/Jailbreak their devices in order to gain administrative control over the mobile operating system and/or to install third-party mobile applications that are not provided by authorized application stores (e.g. Google Play Store and Apple App Store). Rooting/Jailbreaking a mobile device also provides users with access to system debuggers and disassemblers, which can be leveraged to exploit applications by dumping the application's memory at runtime in order to remove or bypass signature verification methods. This further allows the adversary to evade Root/Jailbreak detection mechanisms, which can result in execution of administrative commands, obtaining confidential data, impersonating legitimate users of the application, and more.", "external_references": [ { "external_id": "CAPEC-661", "source_name": "capec", "url": "https://capec.mitre.org/data/definitions/661.html" }, { "external_id": "CWE-489", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/489.html" }, { "description": "San-Tsai Sun, Andrea Cuadros, Konstantin Beznosov, Android Rooting: Methods, Detection, and Evasion, 2019--06---17, Technische Universität Braunschweig", "external_id": "REF-625", "source_name": "reference_from_CAPEC", "url": "http://lersse-dl.ece.ubc.ca/record/310/files/p3.pdf?subformat=pdfa" }, { "description": "Jose Lopes, Who owns your runtime?, 2015--10---12, Nettitude Labs", "external_id": "REF-626", "source_name": "reference_from_CAPEC", "url": "https://labs.nettitude.com/blog/ios-and-android-runtime-and-anti-debugging-protections/#hooking" }, { "description": "Suresh Khutale, Android Root Detection Bypass by Reverse Engineering APK, 2018--03---06, InfoSec Institute", "external_id": "REF-627", "source_name": "reference_from_CAPEC", "url": "https://resources.infosecinstitute.com/topic/android-root-detection-bypass-reverse-engineering-apk/" }, { "description": "Manuel Egele, Christopher Kruegel, Engin Kirda, Giovanni Vigna, PiOS: Detecting Privacy Leaks in iOS Applications, 2011--02---09", "external_id": "REF-628", "source_name": "reference_from_CAPEC", "url": "https://www.ndss-symposium.org/wp-content/uploads/2017/09/egel.pdf" } ], "id": "attack-pattern--80649f3c-d2f3-4703-9e78-e096673a7517", "modified": "2020-12-17T00:00:00.000Z", "name": "Root/Jailbreak Detection Evasion via Debugging", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "attack-pattern", "x_capec_abstraction": "Detailed", "x_capec_can_precede_refs": [ "attack-pattern--2b8d7aaf-bd4b-424f-8df4-6d0f37b72f4b", "attack-pattern--fa4feb09-657b-40a0-9edd-6187b55047e3" ], "x_capec_child_of_refs": [ "attack-pattern--b289975f-c5e0-4d27-bf50-5937bfd02cfd" ], "x_capec_consequences": { "Access_Control": [ "Read Data (An adversary may leverage Root/Jailbreak Detection Evasion via Debugging in order to obtain sensitive information.)" ], "Authorization": [ "Execute Unauthorized Commands (Through Root/Jailbreak Detection Evasion via Debugging, the adversary compromises the integrity of the application.)", "Gain Privileges" ], "Confidentiality": [ "Gain Privileges", "Read Data (An adversary may leverage Root/Jailbreak Detection Evasion via Debugging in order to obtain sensitive information.)" ], "Integrity": [ "Execute Unauthorized Commands (Through Root/Jailbreak Detection Evasion via Debugging, the adversary compromises the integrity of the application.)" ] }, "x_capec_domains": [ "Software", "Hardware" ], "x_capec_example_instances": [ "An adversary targets an iOS banking application in an attempt to compromise sensitive user data. The adversary launches the application with the iOS debugger and sets a breakpoint at the program entry point, after the application's signature has been verified. Next, the adversary dumps the memory region that contains the decrypted code from the address space of the binary. The 'Restrict' flag is then stripped from the application and the adversary resigns the application with a self-signed certificate. The application is now executed without the 'Restrict' flag, while trusting the self-signed certificate to be legitimate. However, the adversary is now able to evaded Jailbreak detection via code hooking or other methods and can glean user credentials and/or transaction details." ], "x_capec_execution_flow": "

Execution Flow

Explore

  1. Identify application with attack potential: The adversary searches for and identifies a mobile application that could be exploited for malicious purposes (e.g. banking, voting, or medical applications).

  2. Techniques
    Search application stores for mobile applications worth exploiting

Experiment

  1. Debug the target application: The adversary inserts the debugger into the program entry point of the mobile application, after the application's signature has been identified, to dump its memory contents.

  2. Techniques
    Insert the debugger at the mobile application's program entry point, after the application's signature has been identified.
    Dump the memory region containing the now decrypted code from the address space of the binary.
  3. Remove application signature verification methods: Remove signature verification methods from the decrypted code and resign the application with a self-signed certificate.

Exploit

  1. Execute the application and evade Root/Jailbreak detection methods: The application executes with the self-signed certificate, while believing it contains a trusted certificate. This now allows the adversary to evade Root/Jailbreak detection via code hooking or other methods.

  2. Techniques
    Optional: Hook code into the target application.
", "x_capec_likelihood_of_attack": "Medium", "x_capec_prerequisites": [ "A debugger must be able to be inserted into the targeted application." ], "x_capec_resources_required": [ "The adversary must have a Rooted/Jailbroken mobile device with debugging capabilities." ], "x_capec_skills_required": { "High": "Knowledge about Root/Jailbreak detection and evasion techniques.", "Medium": "Knowledge about runtime debugging." }, "x_capec_status": "Stable", "x_capec_typical_severity": "Very High", "x_capec_version": "3.9" }, { "created": "2020-12-17T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "Instantiate checks within the application code that ensures debuggers are not attached.", "id": "course-of-action--218e7e1a-8c49-418c-9bf7-f465a1ee8d93", "modified": "2020-12-17T00:00:00.000Z", "name": "coa-661-0", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "course-of-action", "x_capec_version": "3.9" }, { "created": "2020-12-17T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--cfe13500-1996-47bc-b16c-88e763f8de3d", "modified": "2020-12-17T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--218e7e1a-8c49-418c-9bf7-f465a1ee8d93", "spec_version": "2.1", "target_ref": "attack-pattern--80649f3c-d2f3-4703-9e78-e096673a7517", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2021-06-24T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "\n An adversary exploits security vulnerabilities or inherent functionalities of a web browser, in order to manipulate traffic between two endpoints.\n ", "external_references": [ { "external_id": "CAPEC-662", "source_name": "capec", "url": "https://capec.mitre.org/data/definitions/662.html" }, { "external_id": "CWE-300", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/300.html" }, { "external_id": "CWE-494", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/494.html" }, { "description": "Man in the Browser", "external_id": "T1185", "source_name": "ATTACK", "url": "https://attack.mitre.org/wiki/Technique/T1185" }, { "description": "Man-in-the-browser attack", "source_name": "OWASP Attacks", "url": "https://owasp.org/www-community/attacks/Man-in-the-browser_attack" }, { "description": "Man-in-the-browser attack, Open Web Application Security Project (OWASP)", "external_id": "REF-629", "source_name": "reference_from_CAPEC", "url": "https://owasp.org/www-community/attacks/Man-in-the-browser_attack" }, { "description": "Liviu Arsene, Oil and Gas Spearphishing Campaigns Drop Agent Tesla Spyware in Advance of Historic OPEC+ Deal, 2020--04---21, Bitdefender Labs", "external_id": "REF-630", "source_name": "reference_from_CAPEC", "url": "https://labs.bitdefender.com/2020/04/oil-gas-spearphishing-campaigns-drop-agent-tesla-spyware-in-advance-of-historic-opec-deal/" }, { "description": "Amit Klein, Man-in-the-Mobile Attacks Single Out Android, 2012--07---10, SecurityIntelligence", "external_id": "REF-631", "source_name": "reference_from_CAPEC", "url": "https://securityintelligence.com/man-in-the-mobile-attacks-single-out-android/" }, { "description": "Kelly Jackson Higgins, New 'Boy In The Browser' Attacks On The Rise, 2011--02---14, Dark Reading, Informa PLC", "external_id": "REF-632", "source_name": "reference_from_CAPEC", "url": "https://www.darkreading.com/risk/new-boy-in-the-browser-attacks-on-the-rise/d/d-id/1135247" } ], "id": "attack-pattern--558870ad-9433-4e39-a0b0-d9b5c4691862", "modified": "2022-09-29T00:00:00.000Z", "name": "Adversary in the Browser (AiTB)", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "attack-pattern", "x_capec_abstraction": "Standard", "x_capec_alternate_terms": [ "Man in the Browser", "Boy in the Browser", "Man in the Mobile" ], "x_capec_can_follow_refs": [ "attack-pattern--0123fa83-2d47-4398-85f1-30ce114abb9a", "attack-pattern--482cb9fc-0122-49f0-b6df-6d2d42098b0a" ], "x_capec_child_of_refs": [ "attack-pattern--38964770-4f39-4191-89cf-73a625162b2b" ], "x_capec_consequences": { "Access_Control": [ "Gain Privileges" ], "Authorization": [ "Gain Privileges" ], "Confidentiality": [ "Gain Privileges", "Read Data" ], "Integrity": [ "Modify Data" ] }, "x_capec_domains": [ "Communications", "Software" ], "x_capec_example_instances": [ "\n An adversary conducts a phishing attack and tricks a victim into installing a malicious browser plugin. The adversary then positions themself between the victim and their banking institution. The victim begins by initiating a funds transfer from their personal savings to their personal checking account. Using injected JavaScript, the adversary captures this request and modifies it to transfer an increased amount of funds to an account that they controls, before sending it to the bank. The bank processes the transfer and sends the confirmation notice back to the victim, which is instead intercepted by the adversary. The adversary modifies the confirmation to reflect the original transaction details and sends this modified message back to the victim. Upon receiving the confirmation, the victim assumes the transfer was successful and is unaware that their money has just been transferred to the adversary.\n ", "\n In 2020, the Agent Tesla malware was leveraged to conduct AiTB attacks against organizations within the gas, oil, and other energy sectors. The malware was delivered via a spearphishing campaign and has the capability to form-grab, keylog, copy clipboard data, extract credentials, and capture screenshots. [REF-630]\n ", "\n Boy in the browser attacks are a subset of AiTB attacks. Similar to AiTB attacks, the adversary must first trick the victim into installing a Trojan, either via social engineering or drive-by-download attacks. The malware then modifies the victim's \"hosts\" file in order to reroute web traffic from an intended website to an adversary-controlled website that mimics the legitimate website. The adversary is now able to observe, intercept, and/or modify all traffic, as in a traditional Adversary in the Middle attack (CAPEC-94). BiTB attacks are low-cost, easy to execute, and more difficult to detect since the malware often removes itself once the attack has concluded. [REF-631]\n ", "\n Man in the Mobile attacks are a subset of AiTB attacks that target mobile device users. Like AiTB attacks, an adversary convinces a victim to install a Trojan mobile application on their mobile device, often under the guise of security. Once the victim has installed the application, the adversary can capture all SMS traffic to bypass SMS-based out-of-band authentication systems. [REF-632]\n " ], "x_capec_execution_flow": "

Execution Flow

Experiment

  1. The adversary tricks the victim into installing the Trojan Horse malware onto their system.

  2. Techniques
    Conduct phishing attacks, drive-by malware installations, or masquerade malicious browser extensions as being legitimate.
  3. The adversary inserts themself into the communication channel initially acting as a routing proxy between the two targeted components.

Exploit

  1. The adversary observes, filters, or alters passed data of their choosing to gain access to sensitive information or to manipulate the actions of the two target components for their own purposes.

", "x_capec_extended_description": "\n This attack first requires the adversary to trick the victim into installing a Trojan Horse application on their system, such as a malicious web browser plugin, which the adversary then leverages to mount the attack. The victim interacts with a web application, such as a banking website, in a normal manner and under the assumption that the connection is secure. However, the adversary can now alter and/or reroute traffic between the client application (e.g., web browser) and the coinciding endpoint, while simultaneously displaying intended transactions and data back to the user. The adversary may also be able to glean cookies, HTTP sessions, and SSL client certificates, which can be used to pivot into an authenticated intranet. Identifying AITB is often difficult because these attacks are successful even when security mechanisms such as SSL/PKI and multifactor authentication are present, since they still function as intended during the attack.\n ", "x_capec_likelihood_of_attack": "High", "x_capec_prerequisites": [ "The adversary must install or convince a user to install a Trojan.", "There are two components communicating with each other.", "An attacker is able to identify the nature and mechanism of communication between the two target components.", "Strong mutual authentication is not used between the two target components yielding opportunity for adversarial interposition.", "For browser pivoting, the SeDebugPrivilege and a high-integrity process must both exist to execute this attack." ], "x_capec_skills_required": { "Medium": "Tricking the victim into installing the Trojan is often the most difficult aspect of this attack. Afterwards, the remainder of this attack is fairly trivial." }, "x_capec_status": "Stable", "x_capec_typical_severity": "Very High", "x_capec_version": "3.9" }, { "created": "2021-06-24T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "Ensure software and applications are only downloaded from legitimate and reputable sources, in addition to conducting integrity checks on the downloaded component.", "id": "course-of-action--859f45e5-d798-477e-a3e4-381e7e492621", "modified": "2022-09-29T00:00:00.000Z", "name": "coa-662-0", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "course-of-action", "x_capec_version": "3.9" }, { "created": "2021-06-24T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--17c99f05-562d-4662-b800-5617b6dc75c6", "modified": "2022-09-29T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--859f45e5-d798-477e-a3e4-381e7e492621", "spec_version": "2.1", "target_ref": "attack-pattern--558870ad-9433-4e39-a0b0-d9b5c4691862", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2021-06-24T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "Leverage anti-malware tools, which can detect Trojan Horse malware.", "id": "course-of-action--4f258dff-bfd4-4ad4-adcf-d01b6127a826", "modified": "2022-09-29T00:00:00.000Z", "name": "coa-662-1", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "course-of-action", "x_capec_version": "3.9" }, { "created": "2021-06-24T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--8a77f1a6-7693-45ea-96fd-c6e1510943e8", "modified": "2022-09-29T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--4f258dff-bfd4-4ad4-adcf-d01b6127a826", "spec_version": "2.1", "target_ref": "attack-pattern--558870ad-9433-4e39-a0b0-d9b5c4691862", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2021-06-24T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "Use strong, out-of-band mutual authentication to always fully authenticate both ends of any communications channel.", "id": "course-of-action--2253f0de-f33b-47c7-9d12-daf69e74fca2", "modified": "2022-09-29T00:00:00.000Z", "name": "coa-662-2", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "course-of-action", "x_capec_version": "3.9" }, { "created": "2021-06-24T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--7656220c-0e2c-4110-8dbf-66fc149793c2", "modified": "2022-09-29T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--2253f0de-f33b-47c7-9d12-daf69e74fca2", "spec_version": "2.1", "target_ref": "attack-pattern--558870ad-9433-4e39-a0b0-d9b5c4691862", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2021-06-24T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "Limit user permissions to prevent browser pivoting.", "id": "course-of-action--d05b5efb-6c41-4e16-ae25-d9f1c265cde9", "modified": "2022-09-29T00:00:00.000Z", "name": "coa-662-3", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "course-of-action", "x_capec_version": "3.9" }, { "created": "2021-06-24T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--09188a1e-a0b1-4dd9-bd8f-743e97847140", "modified": "2022-09-29T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--d05b5efb-6c41-4e16-ae25-d9f1c265cde9", "spec_version": "2.1", "target_ref": "attack-pattern--558870ad-9433-4e39-a0b0-d9b5c4691862", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2021-06-24T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "Ensure browser sessions are regularly terminated and when their effective lifetime ends.", "id": "course-of-action--8735f337-fdd4-460a-a86f-cbd9b0069176", "modified": "2022-09-29T00:00:00.000Z", "name": "coa-662-4", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "course-of-action", "x_capec_version": "3.9" }, { "created": "2021-06-24T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--67a5c853-3f88-42c9-836f-4737587b3cb1", "modified": "2022-09-29T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--8735f337-fdd4-460a-a86f-cbd9b0069176", "spec_version": "2.1", "target_ref": "attack-pattern--558870ad-9433-4e39-a0b0-d9b5c4691862", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2021-06-24T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "An adversary exploits a hardware design flaw in a CPU implementation of transient instruction execution to expose sensitive data and bypass/subvert access control over restricted resources. Typically, the adversary conducts a covert channel attack to target non-discarded microarchitectural changes caused by transient executions such as speculative execution, branch prediction, instruction pipelining, and/or out-of-order execution. The transient execution results in a series of instructions (gadgets) which construct covert channel and access/transfer the secret data.", "external_references": [ { "external_id": "CAPEC-663", "source_name": "capec", "url": "https://capec.mitre.org/data/definitions/663.html" }, { "external_id": "CWE-1037", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/1037.html" }, { "external_id": "CWE-1303", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/1303.html" }, { "external_id": "CWE-1264", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/1264.html" }, { "description": "Paul Kocher, Jann Horn, Anders Fogh, Daniel Genkin, Daniel Gruss, Werner Haas, Mike Hamburg, Moritz Lipp, Stefan Mangard, Thomas Prescher, Michael Schwarz, Yuval Yarom, Spectre Attacks: Exploiting Speculative Execution, 2019, Graz University of Technology", "external_id": "REF-637", "source_name": "reference_from_CAPEC", "url": "https://spectreattack.com/spectre.pdf" }, { "description": "Moritz Lipp, Michael Schwarz, Daniel Gruss, Thomas Prescher, Werner Haas, Anders Fogh, Jann Horn, Stefan Mangard, Paul Kocher, Daniel Genkin, Yuval Yarom, Mike Hamburg, Meltdown: Reading Kernel Memory from User Space, 2018, Graz University of Technology", "external_id": "REF-638", "source_name": "reference_from_CAPEC", "url": "https://meltdownattack.com/meltdown.pdf" }, { "description": "Claudio Canella, Jo Van Bulck, Michael Schwarz, Moritz Lipp, Benjamin von Berg, Philipp Ortner, Frank Piessens, Dmitry Evtyushkin, Daniel Gruss, A Systematic Evaluation of Transient Execution Attacks and Defenses, 2019--05---15, Graz University of Technology", "external_id": "REF-639", "source_name": "reference_from_CAPEC", "url": "https://arxiv.org/abs/1811.05441" }, { "description": "Qian Ge, Yuval Yarom, Gernot Heiser, A Survey of Microarchitectural Timing Attacks and Countermeasures on Contemporary Hardware, 2016--12---26, Journal of Cryptographic Engineering", "external_id": "REF-640", "source_name": "reference_from_CAPEC", "url": "https://eprint.iacr.org/2016/613.pdf" }, { "description": "Nael Abu-Ghazaleh, Dmitry Ponomarev, Dmitry Evtyushkin, How the Spectre and Meltdown Hacks Really Worked, 2019--02---28, IEEE Spectrum", "external_id": "REF-641", "source_name": "reference_from_CAPEC", "url": "https://spectrum.ieee.org/computing/hardware/how-the-spectre-and-meltdown-hacks-really-worked" }, { "description": "James Sanders, Spectre and Meltdown explained: A comprehensive guide for professionals, 2019--05---15, TechRepublic", "external_id": "REF-642", "source_name": "reference_from_CAPEC", "url": "https://spectrum.ieee.org/computing/hardware/how-the-spectre-and-meltdown-hacks-really-worked" }, { "description": "Alert (TA18-004A) Meltdown and Spectre Side-Channel Vulnerability Guidance, 2018--01---04, CISA", "external_id": "REF-643", "source_name": "reference_from_CAPEC", "url": "https://us-cert.cisa.gov/ncas/alerts/TA18-004A" } ], "id": "attack-pattern--efbf3dcf-9f19-45de-9f49-caa87fd34681", "modified": "2022-02-22T00:00:00.000Z", "name": "Exploitation of Transient Instruction Execution", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "attack-pattern", "x_capec_abstraction": "Standard", "x_capec_can_precede_refs": [ "attack-pattern--e244a53a-8c69-462c-8ff2-900a839d48cb" ], "x_capec_child_of_refs": [ "attack-pattern--649abc91-f615-4c9e-91c9-9e66131e2d78", "attack-pattern--582f33d6-0aa7-4f34-a91e-d767a65adad1" ], "x_capec_consequences": { "Access_Control": [ "Bypass Protection Mechanism" ], "Authorization": [ "Execute Unauthorized Commands" ], "Confidentiality": [ "Read Data" ] }, "x_capec_domains": [ "Software", "Hardware", "Software" ], "x_capec_example_instances": [ "\n A web browser with user-privileges executes JavaScript code imbedded within a malicious website. The system does not disable shared buffers for the web browser and there is no restriction or check upon user-process execution of flush or evict instructions. The Javascript code executes vulnerable transient instructions upon system to cause microarchitectural changes that establish covert channel and transfer sensitive/secret data into shared cache from address space of either kernel, web browser or another executing process on the system.\n " ], "x_capec_execution_flow": "

Execution Flow

Explore

  1. Survey target application and relevant OS shared code libraries: Adversary identifies vulnerable transient instruction sets and the code/function calls to trigger them as well as instruction sets or code fragments (gadgets) to perform attack.

  2. Techniques
    Utilize Disassembler and Debugger tools to examine and trace instruction set execution of source code and shared code libraries on a system.
  3. Explore cache and identify impacts: Utilize tools to understand the impact of transient instruction execution upon address spaces and CPU operations.

  4. Techniques
    Run OS or application specific tools that examine the contents of cache.

Experiment

  1. Cause conditions for identified transient instruction set execution: Adversary ensures that specific code/instructions of the target process are executed by CPU, so desired transient instructions are executed.

  2. Cause specific secret data to be cached from restricted address space: Executed instruction sets (gadgets) in target address space, initially executed via adversary-chosen transient instructions sets, establish covert channel and transfer secret data across this channel to cache.

  3. Techniques
    Prediction-based - adversary trains CPU to incorrectly predict/speculate conditions for instruction execution to be true, hence executing adversary-chosen transient instructions. These prediction-based methods include: Pattern History Table (PHT)/Input Validation Bypass, Branch Target Buffer (BTB)/Branch Target Injection, Return Stack Buffer (RSB)/Return Address Injection, and Store To Load (STL)/Speculative Store Bypass.
    Exception/Fault-based - adversary has CPU execute transient instructions that raise an exception allowing inaccessible memory space to be accessed via out-of-order execution. These exception/fault-based methods include: Supervisor-only Bypass, Virtual Translation Bypass, System Register Bypass, FPU Register Bypass, Read-only Bypass, Protection Key Bypass, and Bounds Check Bypass.

Exploit

  1. Perform covert channel attack to obtain/access secret data: Adversary process code removes instructions/data from shared cache set, waits for target process to reinsert them back into cache, to identify location of secret data via a timing method. Adversary continuously repeat this process to identify and access entirety of targeted secret data.

  2. Techniques
    Flush+Reload - adversary frequently flushes targeted memory cache line using a dedicated machine flush instruction, and uses another process to measure time taken for CPU to load victim secret data.
    Evict+Time - adversary causes victim to load target set into cache and measures time for victim process to load this data, setting a baseline. Adversary evicts a specified cache line and causes victim process to execute again, and measures any change in execution time, to determine if cache line was accessed.
    Prime+Probe - adversary primes cache by filling cache line(s) or set(s) with data, after some time victim process evicts this adversary data to replace it with secret data. The adversary then probes/accesses all the previously accessed cache lines detecting cache misses, which determine that their attacker data has been evicted and replaced with secret data from victim process.
", "x_capec_likelihood_of_attack": "Low", "x_capec_parent_of_refs": [ "attack-pattern--faa02de4-0f9b-4881-a088-b2a4d64475fd" ], "x_capec_peer_of_refs": [ "attack-pattern--c727c058-2c9d-4021-a1ec-81dd030dea59", "attack-pattern--d5e0c12f-6086-491d-86e5-e10a14d1f947", "attack-pattern--aac17300-6cdd-4f50-82c3-da5a01d225ac" ], "x_capec_prerequisites": [ "The adversary needs at least user execution access to a system and a maliciously crafted program/application/process with unprivileged code to misuse transient instruction set execution of the CPU." ], "x_capec_resources_required": [ "C2C mechanism or direct access to victim system, capable of dropping malicious program and collecting covert channel attack data.", "Malicious program capable of triggering execution of transient instructions or vulnerable instruction sequences of victim program and performing a covert channel attack to gather data from victim process memory space. Ultimately, the speed with which an attacker discovers a secret is directly proportional to the computational resources of the victim machine." ], "x_capec_skills_required": { "High": "Detailed knowledge on compiled binaries and operating system shared libraries of instruction sequences, and layout of application and OS/Kernel address spaces for data leakage." }, "x_capec_status": "Stable", "x_capec_typical_severity": "Very High", "x_capec_version": "3.9" }, { "created": "2021-06-24T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "Implementation: DAWG (Dynamically Allocated Way Guard) - processor cache properly divided between different programs/processes that don't share resources", "id": "course-of-action--b9126a5e-0a53-42a6-9605-92e09bea13d2", "modified": "2022-02-22T00:00:00.000Z", "name": "coa-663-0", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "course-of-action", "x_capec_version": "3.9" }, { "created": "2021-06-24T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--8ff9f578-79d5-4352-a475-1b33b37b07a7", "modified": "2022-02-22T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--b9126a5e-0a53-42a6-9605-92e09bea13d2", "spec_version": "2.1", "target_ref": "attack-pattern--efbf3dcf-9f19-45de-9f49-caa87fd34681", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2021-06-24T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "Implementation: KPTI (Kernel Page-Table Isolation) to completely separate user-space and kernel space page tables", "id": "course-of-action--58b2d339-c160-4d96-b0fa-3e4dba290713", "modified": "2022-02-22T00:00:00.000Z", "name": "coa-663-1", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "course-of-action", "x_capec_version": "3.9" }, { "created": "2021-06-24T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--fbff3867-2c77-46ca-911a-4348a280a4bb", "modified": "2022-02-22T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--58b2d339-c160-4d96-b0fa-3e4dba290713", "spec_version": "2.1", "target_ref": "attack-pattern--efbf3dcf-9f19-45de-9f49-caa87fd34681", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2021-06-24T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "Configuration: Architectural Design of Microcode to limit abuse of speculative execution and out-of-order execution", "id": "course-of-action--3f5fcaf8-e704-4973-b9d1-748021eb261f", "modified": "2022-02-22T00:00:00.000Z", "name": "coa-663-2", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "course-of-action", "x_capec_version": "3.9" }, { "created": "2021-06-24T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--e424f3f2-c61b-4d4a-9e40-eef4438e644d", "modified": "2022-02-22T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--3f5fcaf8-e704-4973-b9d1-748021eb261f", "spec_version": "2.1", "target_ref": "attack-pattern--efbf3dcf-9f19-45de-9f49-caa87fd34681", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2021-06-24T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "Configuration: Disable SharedArrayBuffer for Web Browsers", "id": "course-of-action--cba702aa-e3c0-4659-b0a4-5884aa8b6ed5", "modified": "2022-02-22T00:00:00.000Z", "name": "coa-663-3", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "course-of-action", "x_capec_version": "3.9" }, { "created": "2021-06-24T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--183b50f2-3b70-46cf-94a6-bfa6c657652d", "modified": "2022-02-22T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--cba702aa-e3c0-4659-b0a4-5884aa8b6ed5", "spec_version": "2.1", "target_ref": "attack-pattern--efbf3dcf-9f19-45de-9f49-caa87fd34681", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2021-06-24T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "Configuration: Disable Copy-on-Write between Cloud VMs", "id": "course-of-action--d4954d97-b73a-4bed-952e-83b9a609fc81", "modified": "2022-02-22T00:00:00.000Z", "name": "coa-663-4", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "course-of-action", "x_capec_version": "3.9" }, { "created": "2021-06-24T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--e9cc3819-f8ef-4590-96ab-5d9ddb6a9bb6", "modified": "2022-02-22T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--d4954d97-b73a-4bed-952e-83b9a609fc81", "spec_version": "2.1", "target_ref": "attack-pattern--efbf3dcf-9f19-45de-9f49-caa87fd34681", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2021-06-24T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "Configuration: Privilege Checks on Cache Flush Instructions", "id": "course-of-action--a18a858a-e419-47d9-92aa-3db4c41c67fe", "modified": "2022-02-22T00:00:00.000Z", "name": "coa-663-5", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "course-of-action", "x_capec_version": "3.9" }, { "created": "2021-06-24T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--224b0c6b-54cf-408c-9215-be2bc2bb613b", "modified": "2022-02-22T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--a18a858a-e419-47d9-92aa-3db4c41c67fe", "spec_version": "2.1", "target_ref": "attack-pattern--efbf3dcf-9f19-45de-9f49-caa87fd34681", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2021-06-24T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "Implementation: Non-inclusive Cache Memories to prevent Flush+Reload Attacks", "id": "course-of-action--6acfbc2d-97e0-447f-a683-2eebc9157e84", "modified": "2022-02-22T00:00:00.000Z", "name": "coa-663-6", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "course-of-action", "x_capec_version": "3.9" }, { "created": "2021-06-24T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--0cbb16a5-1749-47ba-8527-a912d9298189", "modified": "2022-02-22T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--6acfbc2d-97e0-447f-a683-2eebc9157e84", "spec_version": "2.1", "target_ref": "attack-pattern--efbf3dcf-9f19-45de-9f49-caa87fd34681", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2021-06-24T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "\n An adversary exploits improper input validation by submitting maliciously crafted input to a target application running on a server, with the goal of forcing the server to make a request either to itself, to web services running in the server’s internal network, or to external third parties. If successful, the adversary’s request will be made with the server’s privilege level, bypassing its authentication controls. This ultimately allows the adversary to access sensitive data, execute commands on the server’s network, and make external requests with the stolen identity of the server. Server Side Request Forgery attacks differ from Cross Site Request Forgery attacks in that they target the server itself, whereas CSRF attacks exploit an insecure user authentication mechanism to perform unauthorized actions on the user's behalf.\n ", "external_references": [ { "external_id": "CAPEC-664", "source_name": "capec", "url": "https://capec.mitre.org/data/definitions/664.html" }, { "external_id": "CWE-918", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/918.html" }, { "external_id": "CWE-20", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/20.html" }, { "description": "OWASP SSRF Bible, 2017--01---26, OWASP", "external_id": "REF-644", "source_name": "reference_from_CAPEC", "url": "https://cheatsheetseries.owasp.org/assets/Server_Side_Request_Forgery_Prevention_Cheat_Sheet_SSRF_Bible.pdf" }, { "description": "Server Side Request Forgery, PortSwigger", "external_id": "REF-645", "source_name": "reference_from_CAPEC", "url": "https://portswigger.net/web-security/ssrf" }, { "description": "CallStranger Vulnerability, 2020--06---08, Yunus Cadirici", "external_id": "REF-646", "source_name": "reference_from_CAPEC", "url": "https://github.com/yunuscadirci/CallStranger" } ], "id": "attack-pattern--f231b993-ed39-40cf-adfb-9828ddcfc642", "modified": "2022-09-29T00:00:00.000Z", "name": "Server Side Request Forgery", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "attack-pattern", "x_capec_abstraction": "Standard", "x_capec_can_follow_refs": [ "attack-pattern--fd669b7d-0e79-473c-9808-a860dfb0c871", "attack-pattern--faf0ec21-da60-4efc-8c8e-7a6b63bea170", "attack-pattern--2a6131f7-30af-4529-be4e-bc3b7bf22009", "attack-pattern--5a33bee7-5ec9-4e75-9bf6-99fdaca8699c", "attack-pattern--fd114e53-fdc0-4eef-8254-40ef0d4ea482" ], "x_capec_child_of_refs": [ "attack-pattern--8f665166-dfd1-40cb-91e8-b78bee1ceb6a" ], "x_capec_consequences": { "Availability": [ "Modify Data", "Resource Consumption" ], "Confidentiality": [ "Modify Data", "Read Data" ], "Integrity": [ "Modify Data" ] }, "x_capec_domains": [ "Software" ], "x_capec_example_instances": [ "\n An e-commerce website allows a customer to filter results by specific categories. When the customer selects the category of choice, the web shop queries a back-end service to retrieve the requested products. The request may look something like:\n \n POST /product/category HTTP/1.0\n Content-Type: application/x-www-form-urlencoded\n Content-Length: 200\n vulnerableService=http://vulnerableshop.net:8080/product/category/check%3FcategoryName%3DsomeCategory\n \n A malicious user can modify the request URL to look like this instead:\n \n POST /product/category HTTP/1.0\n Content-Type: application/x-www-form-urlencoded\n Content-Length: 200\n vulnerableService=http://localhost/server-status\n \n or\n \n vulnerableService = file:///etc/passwd\n \n or\n \n vulnerableService=dict://localhost:12345/info\n \n If the exploit is successful, the server may return the data requested by the adversary\n \n root:!:0:0::/:/usr/bin/ksh\n daemon:!:1:1::/etc:\n bin:!:2:2::/bin:\n sys:!:3:3::/usr/sys:\n adm:!:4:4::/var/adm:\n uucp:!:5:5::/usr/lib/uucp:\n guest:!:100:100::/home/guest:\n nobody:!:4294967294:4294967294::/:\n lpd:!:9:4294967294::/:\n lp:*:11:11::/var/spool/lp:/bin/false\n invscout:*:200:1::/var/adm/invscout:/usr/bin/ksh\n nuucp:*:6:5:uucp login user:/var/spool/uucppublic:/usr/sbin/uucp/uucico\n paul:!:201:1::/home/paul:/usr/bin/ksh\n jdoe:*:202:1:My name:/home/myname:/usr/bin/ksh\n \n ", "\n The CallStranger attack is an observed example of SSRF. It specifically targets the UPnP (Universal Plug and Play) protocol used by various network devices and gaming consoles. To execute the attack, an adversary performs a scan of the LAN to discover UPnP enabled devices, and subsequently a list of UPnP services they use. Once the UPnP service endpoints are listed, a vulnerability in the UPnP protocol is used to send these endpoints as encrypted to a verification server via the UPnP Callback method. Because the encryption is done on the client side, the server returns an encrypted list of services which is decrypted on the client side. The adversary then has a list of services running the vulnerable UPnP protocol, which the adversary can leverage to make spoofed requests. [REF-646]\n " ], "x_capec_execution_flow": "

Execution Flow

Explore

  1. Find target application: Find target web application that accepts a user input and retrieves data from the server

Experiment

  1. Examine existing application requests: Examine HTTP/GET requests to view the URL query format. Adversaries test to see if this type of attack is possible through weaknesses in an application's protection to Server Side Request Forgery

  2. Techniques
    Attempt manipulating the URL to retrieve an error response/code from the server to determine if URL/request validation is done.
    Use a list of XSS probe strings to specify as parameters to known URLs. If possible, use probe strings with unique identifiers.
    Create a GET request with a common server file path such as /etc/passwd as a parameter and examine output.

Exploit

  1. Malicious request: Adversary crafts a malicious URL request that assumes the privilege level of the server to query internal or external network services and sends the request to the application

", "x_capec_likelihood_of_attack": "High", "x_capec_prerequisites": [ "Server must be running a web application that processes HTTP requests." ], "x_capec_resources_required": [ "[None] No specialized resources are required to execute this type of attack." ], "x_capec_skills_required": { "High": "The adversary will be required to access internal resources, extract information, or leverage the services running on the server to perform unauthorized actions such as traversing the local network or routing a reflected TCP DDoS through them.", "Medium": "The adversary will have to detect the vulnerability through an intermediary service or specify maliciously crafted URLs and analyze the server response." }, "x_capec_status": "Stable", "x_capec_typical_severity": "High", "x_capec_version": "3.9" }, { "created": "2021-06-24T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "Handling incoming requests securely is the first line of action to mitigate this vulnerability. This can be done through URL validation.", "id": "course-of-action--b5e3f94c-6f9c-4f58-b75f-fe7481005864", "modified": "2022-09-29T00:00:00.000Z", "name": "coa-664-0", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "course-of-action", "x_capec_version": "3.9" }, { "created": "2021-06-24T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--6377c3e9-f7ce-470a-935c-754995e66989", "modified": "2022-09-29T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--b5e3f94c-6f9c-4f58-b75f-fe7481005864", "spec_version": "2.1", "target_ref": "attack-pattern--f231b993-ed39-40cf-adfb-9828ddcfc642", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2021-06-24T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "Further down the process flow, examining the response and verifying that it is as expected before sending would be another way to secure the server.", "id": "course-of-action--16973fac-22ce-4b43-b7f4-e6167f990299", "modified": "2022-09-29T00:00:00.000Z", "name": "coa-664-1", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "course-of-action", "x_capec_version": "3.9" }, { "created": "2021-06-24T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--df4b3787-fb80-4016-b3ec-7b279539e710", "modified": "2022-09-29T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--16973fac-22ce-4b43-b7f4-e6167f990299", "spec_version": "2.1", "target_ref": "attack-pattern--f231b993-ed39-40cf-adfb-9828ddcfc642", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2021-06-24T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "Allowlist the DNS name or IP address of every service the web application is required to access is another effective security measure. This ensures the server cannot make external requests to arbitrary services.", "id": "course-of-action--ac64feac-f01a-4022-85b1-0b00aca231bc", "modified": "2022-09-29T00:00:00.000Z", "name": "coa-664-2", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "course-of-action", "x_capec_version": "3.9" }, { "created": "2021-06-24T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--814c7fba-41b2-4ab4-b0a9-1c73b58b395f", "modified": "2022-09-29T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--ac64feac-f01a-4022-85b1-0b00aca231bc", "spec_version": "2.1", "target_ref": "attack-pattern--f231b993-ed39-40cf-adfb-9828ddcfc642", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2021-06-24T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "Requiring authentication for local services adds another layer of security between the adversary and internal services running on the server. By enforcing local authentication, an adversary will not gain access to all internal services only with access to the server.", "id": "course-of-action--b33aeecf-33f4-456f-8711-f726e12e6fe1", "modified": "2022-09-29T00:00:00.000Z", "name": "coa-664-3", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "course-of-action", "x_capec_version": "3.9" }, { "created": "2021-06-24T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--fab9925e-dd41-45aa-bae8-f2d7f2595513", "modified": "2022-09-29T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--b33aeecf-33f4-456f-8711-f726e12e6fe1", "spec_version": "2.1", "target_ref": "attack-pattern--f231b993-ed39-40cf-adfb-9828ddcfc642", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2021-06-24T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "Enforce the usage of relevant URL schemas. By limiting requests be made only through HTTP or HTTPS, for example, attacks made through insecure schemas such as file://, ftp://, etc. can be prevented.", "id": "course-of-action--219ed2d5-238f-4286-a245-1c13e252cf24", "modified": "2022-09-29T00:00:00.000Z", "name": "coa-664-4", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "course-of-action", "x_capec_version": "3.9" }, { "created": "2021-06-24T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--06da039c-0cd5-4ee7-a6e3-2c773096bb9f", "modified": "2022-09-29T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--219ed2d5-238f-4286-a245-1c13e252cf24", "spec_version": "2.1", "target_ref": "attack-pattern--f231b993-ed39-40cf-adfb-9828ddcfc642", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2021-06-24T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "\n An adversary leverages a firmware weakness within the Thunderbolt protocol, on a computing device to manipulate Thunderbolt controller firmware in order to exploit vulnerabilities in the implementation of authorization and verification schemes within Thunderbolt protection mechanisms. Upon gaining physical access to a target device, the adversary conducts high-level firmware manipulation of the victim Thunderbolt controller SPI (Serial Peripheral Interface) flash, through the use of a SPI Programing device and an external Thunderbolt device, typically as the target device is booting up. If successful, this allows the adversary to modify memory, subvert authentication mechanisms, spoof identities and content, and extract data and memory from the target device. Currently 7 major vulnerabilities exist within Thunderbolt protocol with 9 attack vectors as noted in the Execution Flow.\n ", "external_references": [ { "external_id": "CAPEC-665", "source_name": "capec", "url": "https://capec.mitre.org/data/definitions/665.html" }, { "external_id": "CWE-345", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/345.html" }, { "external_id": "CWE-353", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/353.html" }, { "external_id": "CWE-288", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/288.html" }, { "external_id": "CWE-1188", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/1188.html" }, { "external_id": "CWE-862", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/862.html" }, { "description": "Exploitation for Defensive Evasion", "external_id": "T1211", "source_name": "ATTACK", "url": "https://attack.mitre.org/wiki/Technique/T1211" }, { "description": "Pre-OS Boot: Component Firmware", "external_id": "T1542.002", "source_name": "ATTACK", "url": "https://attack.mitre.org/wiki/Technique/T1542/002" }, { "description": "Modify Authentication Process", "external_id": "T1556", "source_name": "ATTACK", "url": "https://attack.mitre.org/wiki/Technique/T1556" }, { "description": "Björn Ruytenberg, Thunderspy When Lighting Strikes Thrice: Breaking Thunderbolt 3 Security, 2020, Eindhoven University of Technology", "external_id": "REF-647", "source_name": "reference_from_CAPEC", "url": "https://thunderspy.io/" }, { "description": "Björn Ruytenberg, Breaking Thunderbolt Protocol Security: Vulnerability Report, 2020--04---17, Eindhoven University of Technology", "external_id": "REF-648", "source_name": "reference_from_CAPEC", "url": "https://thunderspy.io/assets/reports/breaking-thunderbolt-security-bjorn-ruytenberg-20200417.pdf" }, { "description": "Liam Tung, Thunderbolt flaws affect millions of computers – even locking unattended devices won't help, 2020--05---11, ZDNet", "external_id": "REF-649", "source_name": "reference_from_CAPEC", "url": "https://www.zdnet.com/article/thunderbolt-flaws-affect-millions-of-computers-even-locking-unattended-devices-wont-help/" }, { "description": "Liam Tung, Microsoft: Worried about Thunderbolt attacks? Get a Windows 10 Secured-Core PC, 2020--05---14, ZDNet", "external_id": "REF-650", "source_name": "reference_from_CAPEC", "url": "https://www.zdnet.com/article/microsoft-worried-about-thunderbolt-attacks-get-a-windows-10-secured-core-pc/" }, { "description": "Jon Porter, Thunderbolt flaw allows access to a PC’s data in minutes, 2020--05---11, The Verge", "external_id": "REF-651", "source_name": "reference_from_CAPEC", "url": "https://www.theverge.com/2020/5/11/21254290/thunderbolt-security-vulnerability-thunderspy-encryption-access-intel-laptops" }, { "description": "Jerry Bryant, MORE INFORMATION ON THUNDERBOLT(TM) SECURITY, 2020--05---10, Intel Corporation", "external_id": "REF-652", "source_name": "reference_from_CAPEC", "url": "https://blogs.intel.com/technology/2020/05/more-information-on-thunderspy/#gs.0o6pmk" } ], "id": "attack-pattern--4317ab6c-93e4-4c5a-a814-0cd2752c61b9", "modified": "2022-09-29T00:00:00.000Z", "name": "Exploitation of Thunderbolt Protection Flaws", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "attack-pattern", "x_capec_abstraction": "Detailed", "x_capec_child_of_refs": [ "attack-pattern--a46718a5-0206-44da-a4f8-b1943f85188b" ], "x_capec_consequences": { "Access_Control": [ "Bypass Protection Mechanism" ], "Authorization": [ "Execute Unauthorized Commands" ], "Confidentiality": [ "Read Data" ], "Integrity": [ "Modify Data" ] }, "x_capec_domains": [ "Communications", "Software" ], "x_capec_example_instances": [ "\n An adversary steals a password protected laptop that contains a Thunderbolt 3 enabled port, from a work environment. The adversary uses a screw driver to remove the back panel of the laptop and connects a SPI Programming device to the Thunderbolt Host Controller SPI Flash of the stolen victim device to interface with it on the adversary's own Thunderbolt enabled device via Thunderbolt cables. The SPI Programming device is utilized to execute scripts/tools from the adversary's own system to copy, parse, and modify the victim's Thunderbolt firmware stored on SPI Flash. The device UUID value is obtained, by computing the appropriate offset based upon Thunderbolt firmware version and the OS of victim device, from the DROM section of victim Thunderbolt host controller firmware image. The firmware image is written to adversary Thunderbolt host controller SPI flash to clone and spoof victim device identity. The adversary reboots the victim device, with the victim device identifying the Thunderbolt connection of the adversary's Thunderbolt device as itself and enables PCIe tunneling. The adversary finally transfers the hard drive and memory contents of victim device across Thunderbolt connection.\n " ], "x_capec_execution_flow": "

Execution Flow

Explore

  1. Survey physical victim environment and potential Thunderbolt system targets: The adversary monitors the target's physical environment to identify systems with Thunderbolt interfaces, identify potential weaknesses in physical security in addition to periods of nonattendance by the victim over their Thunderbolt interface equipped devices, and when the devices are in locked or sleep state.

  2. Evaluate the target system and its Thunderbolt interface: The adversary determines the device's operating system, Thunderbolt interface version, and any implemented Thunderbolt protections to plan the attack.

Experiment

  1. Obtain and/or clone firmware image: The adversary physically manipulates Thunderbolt enabled devices to acquire the firmware image from the target and/or adversary Thunderbolt host controller's SPI (Serial Peripheral Interface) flash.

  2. Techniques
    Disassemble victim and/or adversary device enclosure with basic tools to gain access to Thunderbolt controller SPI flash by connecting adversary SPI programmer.
    Adversary connects SPI programmer to adversary-controlled Thunderbolt enabled device to obtain/clone victim thunderbolt controller firmware image through tools/scripts.
    Clone firmware image with SPI programmer and tools/scripts on adversary-controlled device.
  3. Parse and locate relevant firmware data structures and information based upon Thunderbolt controller model, firmware version, and other information: The acquired victim and/or adversary firmware image is parsed for specific data and other relevant identifiers required for exploitation, based upon the victim device information and firmware version.

  4. Techniques
    Utilize pre-crafted tools/scripts to parse and locate desired firmware data and modify it.
    Locate DROM (Device Read Only Memory) data structure section and calculate/determine appropriate offset to replicate victim device UUID.
    Locate ACL (Access Control List) data structure and calculate/determine appropriate offsets to identify victim device UUID.
    Locate data structure containing challenge-response key information between appropriate offsets.
  5. Disable Thunderbolt security and prevent future Thunderbolt security modifications (if necessary): The adversary overrides the target device's Thunderbolt Security Level to \"None\" (SL0) and/or enables block protections upon the SPI flash to prevent the ability for the victim to perform and/or recognize future Thunderbolt security modifications as well as update the Thunderbolt firmware.

  6. Techniques
    The adversary-controlled Thunderbolt device, connected to SPI programmer and victim device via Thunderbolt ports, is utilized to execute commands within tools/scripts to disable SPI flash protections, modify Thunderbolt Security Level, and enable malicious SPI flash protections.
  7. Modify/replace victim Thunderbolt firmware image: The modified victim and/or adversary thunderbolt firmware image is written to attacker SPI flash.

Exploit

  1. Connect adversary-controlled thunderbolt enabled device to victim device and verify successful execution of malicious actions: The adversary needs to determine if their exploitation of selected vulnerabilities had the intended effects upon victim device.

  2. Techniques
    Observe victim device identify adversary device as the victim device and enables PCIe tunneling.
    Resume victim device from sleep, connect adversary-controlled device and observe security is disabled and Thunderbolt connectivity is restored with PCIe tunneling being enabled.
    Observe that in UEFI or Thunderbolt Management Tool/UI that the Security Level does not match adversary modified Security Level of \"None\" (SL0)
    Observe after installation of Firmware update that within Thunderbolt Management UI the \"NVM version\" is unchanged/same prior to the prompt of successful Firmware update/installation.
  3. Exfiltration of desired data from victim device to adversary device: Utilize PCIe tunneling to transfer desired data and information from victim device across Thunderbolt connection.

", "x_capec_likelihood_of_attack": "Low", "x_capec_peer_of_refs": [ "attack-pattern--96c60498-fdd4-4f9f-a21f-c1a4ee84f0f3", "attack-pattern--bd4f8f46-1bc7-40a9-b15a-e36b7671cf5b", "attack-pattern--22802ed6-ddc6-4da7-b6be-60b10d26198b" ], "x_capec_prerequisites": [ "The adversary needs at least a few minutes of physical access to a system with an open Thunderbolt port, version 3 or lower, and an external thunderbolt device controlled by the adversary with maliciously crafted software and firmware, via an SPI Programming device, to exploit weaknesses in security protections." ], "x_capec_resources_required": [ "SPI Programming device capable of modifying/configuring or replacing the firmware of Thunderbolt device stored on SPI Flash of target Thunderbolt controller, as well as modification/spoofing of adversary-controlled Thunderbolt controller.", "Precrafted scripts/tools capable of implementing the modification and replacement of Thunderbolt Firmware.", "Thunderbolt-enabled computing device capable of interfacing with target Thunderbolt device and extracting/dumping data and memory contents of target device." ], "x_capec_skills_required": { "High": "Detailed knowledge on scripting and SPI programming in order to configure and modify Thunderbolt controller firmware and software configurations." }, "x_capec_status": "Stable", "x_capec_typical_severity": "Very High", "x_capec_version": "3.9" }, { "created": "2021-06-24T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "Implementation: Kernel Direct Memory Access Protection", "id": "course-of-action--b971f4a8-9aee-4df6-b6ad-5af2b957670b", "modified": "2022-09-29T00:00:00.000Z", "name": "coa-665-0", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "course-of-action", "x_capec_version": "3.9" }, { "created": "2021-06-24T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--a0e0f629-1901-46f1-84f7-14f999416101", "modified": "2022-09-29T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--b971f4a8-9aee-4df6-b6ad-5af2b957670b", "spec_version": "2.1", "target_ref": "attack-pattern--4317ab6c-93e4-4c5a-a814-0cd2752c61b9", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2021-06-24T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "Configuration: Enable UEFI option USB Passthrough mode - Thunderbolt 3 system port operates as USB 3.1 Type C interface", "id": "course-of-action--6664c7ff-319e-4b06-997e-26ec9df89dad", "modified": "2022-09-29T00:00:00.000Z", "name": "coa-665-1", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "course-of-action", "x_capec_version": "3.9" }, { "created": "2021-06-24T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--b8cd41ad-b8ed-421f-9327-7fd7d7f1bb72", "modified": "2022-09-29T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--6664c7ff-319e-4b06-997e-26ec9df89dad", "spec_version": "2.1", "target_ref": "attack-pattern--4317ab6c-93e4-4c5a-a814-0cd2752c61b9", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2021-06-24T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "Configuration: Enable UEFI option DisplayPort mode - Thunderbolt 3 system port operates as video-only DP interface", "id": "course-of-action--49c46069-9202-46e1-8dea-548befc52658", "modified": "2022-09-29T00:00:00.000Z", "name": "coa-665-2", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "course-of-action", "x_capec_version": "3.9" }, { "created": "2021-06-24T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--92fe9893-60f3-4669-b1b1-49ee6fe775e5", "modified": "2022-09-29T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--49c46069-9202-46e1-8dea-548befc52658", "spec_version": "2.1", "target_ref": "attack-pattern--4317ab6c-93e4-4c5a-a814-0cd2752c61b9", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2021-06-24T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "Configuration: Enable UEFI option Mixed USB/DisplayPort mode - Thunderbolt 3 system port operates as USB 3.1 Type C interface with support for DP mode", "id": "course-of-action--f2cc64b5-cdfa-4640-bb2f-f11ccbab73cc", "modified": "2022-09-29T00:00:00.000Z", "name": "coa-665-3", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "course-of-action", "x_capec_version": "3.9" }, { "created": "2021-06-24T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--5186383a-023d-4ef1-918a-0f11c9d14b4d", "modified": "2022-09-29T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--f2cc64b5-cdfa-4640-bb2f-f11ccbab73cc", "spec_version": "2.1", "target_ref": "attack-pattern--4317ab6c-93e4-4c5a-a814-0cd2752c61b9", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2021-06-24T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "Configuration: Set Security Level to SL3 for Thunderbolt 2 system port", "id": "course-of-action--b322aa23-69d1-474e-82a2-1f71903f29a4", "modified": "2022-09-29T00:00:00.000Z", "name": "coa-665-4", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "course-of-action", "x_capec_version": "3.9" }, { "created": "2021-06-24T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--25053510-6191-4eb9-928f-471d5618f597", "modified": "2022-09-29T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--b322aa23-69d1-474e-82a2-1f71903f29a4", "spec_version": "2.1", "target_ref": "attack-pattern--4317ab6c-93e4-4c5a-a814-0cd2752c61b9", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2021-06-24T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "Configuration: Disable PCIe tunneling to set Security Level to SL3", "id": "course-of-action--4dba3df8-f407-4d52-9881-92f01e7b5f77", "modified": "2022-09-29T00:00:00.000Z", "name": "coa-665-5", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "course-of-action", "x_capec_version": "3.9" }, { "created": "2021-06-24T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--ae02655e-7790-4816-8ebd-c5291df0de36", "modified": "2022-09-29T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--4dba3df8-f407-4d52-9881-92f01e7b5f77", "spec_version": "2.1", "target_ref": "attack-pattern--4317ab6c-93e4-4c5a-a814-0cd2752c61b9", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2021-06-24T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "Configuration: Disable Boot Camp upon MacOS systems", "id": "course-of-action--c0bb9f6d-50f7-44ad-a3f9-116580f0424d", "modified": "2022-09-29T00:00:00.000Z", "name": "coa-665-6", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "course-of-action", "x_capec_version": "3.9" }, { "created": "2021-06-24T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--fd286fbd-f1da-41de-9516-8d195eb182a9", "modified": "2022-09-29T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--c0bb9f6d-50f7-44ad-a3f9-116580f0424d", "spec_version": "2.1", "target_ref": "attack-pattern--4317ab6c-93e4-4c5a-a814-0cd2752c61b9", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2021-06-24T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "An adversary uses Bluetooth flooding to transfer large packets to Bluetooth enabled devices over the L2CAP protocol with the goal of creating a DoS. This attack must be carried out within close proximity to a Bluetooth enabled device.", "external_references": [ { "external_id": "CAPEC-666", "source_name": "capec", "url": "https://capec.mitre.org/data/definitions/666.html" }, { "external_id": "CWE-404", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/404.html" }, { "description": "Network Denial of Service: Direct Network Flood", "external_id": "T1498.001", "source_name": "ATTACK", "url": "https://attack.mitre.org/wiki/Technique/T1498/001" }, { "description": "Endpoint Denial of Service: OS Exhaustion Flood", "external_id": "T1499.001", "source_name": "ATTACK", "url": "https://attack.mitre.org/wiki/Technique/T1499/001" }, { "description": "Amrita Mitra, What is BlueSmack Attack?, 2017--03---08, The Security Buddy", "external_id": "REF-655", "source_name": "reference_from_CAPEC", "url": "https://www.thesecuritybuddy.com/bluetooth-security/what-is-bluesmack-attack/" } ], "id": "attack-pattern--c3ce7043-a2cc-4686-945c-cf3b605b7c90", "modified": "2022-09-29T00:00:00.000Z", "name": "BlueSmacking", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "attack-pattern", "x_capec_abstraction": "Standard", "x_capec_child_of_refs": [ "attack-pattern--6854fe89-0829-429f-a95c-89e77ab6c8ed" ], "x_capec_consequences": { "Availability": [ "Unreliable Execution", "Resource Consumption" ] }, "x_capec_domains": [ "Communications", "Software" ], "x_capec_execution_flow": "

Execution Flow

Explore

  1. Scan for Bluetooth Enabled Devices: Using BlueZ along with an antenna, an adversary searches for devices with Bluetooth on.

  2. Techniques
    Note the MAC address of the device you want to attack.

Experiment

  1. Change L2CAP Packet Length: The adversary must change the L2CAP packet length to create packets that will overwhelm a Bluetooth enabled device.

  2. Techniques
    An adversary downloads and installs BlueZ, the standard Bluetooth utility package for Linux.

Exploit

  1. Flood: An adversary sends the packets to the target device, and floods it until performance is degraded.

", "x_capec_likelihood_of_attack": "Medium", "x_capec_prerequisites": [ "The system/application has Bluetooth enabled." ], "x_capec_skills_required": { "Low": "An adversary only needs a Linux machine along with a Bluetooth adapter, which is extremely common." }, "x_capec_status": "Draft", "x_capec_typical_severity": "Medium", "x_capec_version": "3.9" }, { "created": "2021-06-24T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "Disable Bluetooth when not being used.", "id": "course-of-action--d5dcbac0-5e5f-43b5-bafd-3e3255fe84b2", "modified": "2022-09-29T00:00:00.000Z", "name": "coa-666-0", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "course-of-action", "x_capec_version": "3.9" }, { "created": "2021-06-24T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--5cf51b79-b6f1-4956-b6cc-c945dbe525c1", "modified": "2022-09-29T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--d5dcbac0-5e5f-43b5-bafd-3e3255fe84b2", "spec_version": "2.1", "target_ref": "attack-pattern--c3ce7043-a2cc-4686-945c-cf3b605b7c90", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2021-06-24T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "When using Bluetooth, set it to hidden or non-discoverable mode.", "id": "course-of-action--140ba36d-41b8-4ced-a9f0-2faddb5e366c", "modified": "2022-09-29T00:00:00.000Z", "name": "coa-666-1", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "course-of-action", "x_capec_version": "3.9" }, { "created": "2021-06-24T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--80201cde-dfb2-4b73-bfb8-7f01b83d2d4f", "modified": "2022-09-29T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--140ba36d-41b8-4ced-a9f0-2faddb5e366c", "spec_version": "2.1", "target_ref": "attack-pattern--c3ce7043-a2cc-4686-945c-cf3b605b7c90", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2021-06-24T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "An adversary disguises the MAC address of their Bluetooth enabled device to one for which there exists an active and trusted connection and authenticates successfully. The adversary can then perform malicious actions on the target Bluetooth device depending on the target’s capabilities.", "external_references": [ { "external_id": "CAPEC-667", "source_name": "capec", "url": "https://capec.mitre.org/data/definitions/667.html" }, { "external_id": "CWE-290", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/290.html" } ], "id": "attack-pattern--fcb77578-4d3d-4cb3-ae1d-91c9877a60c5", "modified": "2022-09-29T00:00:00.000Z", "name": "Bluetooth Impersonation AttackS (BIAS)", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "attack-pattern", "x_capec_abstraction": "Detailed", "x_capec_can_follow_refs": [ "attack-pattern--862d18f1-a87c-4f1b-acc2-882697d5d6e5" ], "x_capec_child_of_refs": [ "attack-pattern--e9d5d2e4-588f-43c1-bc98-73417abbb727" ], "x_capec_consequences": { "Confidentiality": [], "Integrity": [] }, "x_capec_domains": [ "Social Engineering" ], "x_capec_execution_flow": "

Execution Flow

Explore

  1. Find disguise and target: The adversary starts the Bluetooth service on the attacking device and searches for nearby listening devices.

  2. Techniques
    Knowledge of a trusted MAC address.
    Scanning for devices other than the target that may be trusted.

Experiment

  1. Disguise: Using the MAC address of the device the adversary wants to impersonate, they may use a tool such as spooftooth or macchanger to spoof their Bluetooth address and attempt to authenticate with the target.

Exploit

  1. Use device capabilities to accomplish goal: Finally, if authenticated successfully the adversary can perform tasks/information gathering dependent on the target's capabilities and connections.

", "x_capec_likelihood_of_attack": "Medium", "x_capec_prerequisites": [ "Knowledge of a target device's list of trusted connections." ], "x_capec_skills_required": { "Low": "Adversaries must be in close proximity to Bluetooth devices." }, "x_capec_status": "Draft", "x_capec_typical_severity": "High", "x_capec_version": "3.9" }, { "created": "2021-06-24T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "Disable Bluetooth in public places.", "id": "course-of-action--2d13642f-44e3-480c-b907-c2114df19379", "modified": "2022-09-29T00:00:00.000Z", "name": "coa-667-0", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "course-of-action", "x_capec_version": "3.9" }, { "created": "2021-06-24T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--b477928d-f597-4e68-8812-a8bc335d9bfb", "modified": "2022-09-29T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--2d13642f-44e3-480c-b907-c2114df19379", "spec_version": "2.1", "target_ref": "attack-pattern--fcb77578-4d3d-4cb3-ae1d-91c9877a60c5", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2021-06-24T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "Verify incoming Bluetooth connections; do not automatically trust.", "id": "course-of-action--c0001e8c-8758-4434-ba10-32c5b2334ce1", "modified": "2022-09-29T00:00:00.000Z", "name": "coa-667-1", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "course-of-action", "x_capec_version": "3.9" }, { "created": "2021-06-24T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--51b85277-07df-4319-8d21-1fef2587765e", "modified": "2022-09-29T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--c0001e8c-8758-4434-ba10-32c5b2334ce1", "spec_version": "2.1", "target_ref": "attack-pattern--fcb77578-4d3d-4cb3-ae1d-91c9877a60c5", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2021-06-24T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "Change default PIN passwords and always use one when connecting.", "id": "course-of-action--c56e3d38-c305-47a5-bdfa-bc5c1c578973", "modified": "2022-09-29T00:00:00.000Z", "name": "coa-667-2", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "course-of-action", "x_capec_version": "3.9" }, { "created": "2021-06-24T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--8e6624f4-6e7b-4594-8b02-e56c9aca7173", "modified": "2022-09-29T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--c56e3d38-c305-47a5-bdfa-bc5c1c578973", "spec_version": "2.1", "target_ref": "attack-pattern--fcb77578-4d3d-4cb3-ae1d-91c9877a60c5", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2021-06-24T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "An adversary can exploit a flaw in Bluetooth key negotiation allowing them to decrypt information sent between two devices communicating via Bluetooth. The adversary uses an Adversary in the Middle setup to modify packets sent between the two devices during the authentication process, specifically the entropy bits. Knowledge of the number of entropy bits will allow the attacker to easily decrypt information passing over the line of communication.", "external_references": [ { "external_id": "CAPEC-668", "source_name": "capec", "url": "https://capec.mitre.org/data/definitions/668.html" }, { "external_id": "CWE-425", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/425.html" }, { "external_id": "CWE-285", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/285.html" }, { "external_id": "CWE-693", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/693.html" }, { "description": "Data Manipulation: Transmitted Data Manipulation", "external_id": "T1565.002", "source_name": "ATTACK", "url": "https://attack.mitre.org/wiki/Technique/T1565/002" }, { "description": "Jovi Umawing, Bluetooth vulnerability can be exploited in Key Negotiation of Bluetooth (KNOB) attacks, 2019--08---21, MalwareBytes", "external_id": "REF-657", "source_name": "reference_from_CAPEC", "url": "https://blog.malwarebytes.com/awareness/2019/08/bluetooth-vulnerability-can-be-exploited-in-key-negotiation-of-bluetooth-knob-attacks/" } ], "id": "attack-pattern--8c806dfa-b8ca-45f9-9f97-09e4b5c1157b", "modified": "2022-09-29T00:00:00.000Z", "name": "Key Negotiation of Bluetooth Attack (KNOB)", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "attack-pattern", "x_capec_abstraction": "Standard", "x_capec_can_follow_refs": [ "attack-pattern--86a5e931-7f53-46fe-b6f0-c88498f6557f", "attack-pattern--38964770-4f39-4191-89cf-73a625162b2b" ], "x_capec_can_precede_refs": [ "attack-pattern--bd4f8f46-1bc7-40a9-b15a-e36b7671cf5b" ], "x_capec_child_of_refs": [ "attack-pattern--8f665166-dfd1-40cb-91e8-b78bee1ceb6a" ], "x_capec_consequences": { "Access_Control": [ "Bypass Protection Mechanism" ], "Authorization": [ "Bypass Protection Mechanism" ], "Confidentiality": [ "Read Data", "Bypass Protection Mechanism" ], "Integrity": [ "Modify Data" ] }, "x_capec_domains": [ "Software" ], "x_capec_example_instances": [ "Given users Alice, Bob and Charlie (Charlie being the attacker), Alice and Bob begin to agree on an encryption key when connecting. While Alice sends a message to Bob that an encryption key with 16 bytes of entropy should be used, Charlie changes this to 1 and forwards the request to Bob and continues forwarding these packets until authentication is successful." ], "x_capec_execution_flow": "

Execution Flow

Explore

  1. Discovery: Using an established Person in the Middle setup, search for Bluetooth devices beginning the authentication process.

  2. Techniques
    Use packet capture tools.

Experiment

  1. Change the entropy bits: Upon recieving the initial key negotiation packet from the master, the adversary modifies the entropy bits requested to 1 to allow for easy decryption before it is forwarded.

Exploit

  1. Capture and decrypt data: Once the entropy of encryption is known, the adversary can capture data and then decrypt on their device.

", "x_capec_likelihood_of_attack": "Low", "x_capec_prerequisites": [ "Person in the Middle network setup." ], "x_capec_resources_required": [ "Bluetooth adapter, packet capturing capabilities." ], "x_capec_skills_required": { "Medium": "Ability to modify packets." }, "x_capec_status": "Draft", "x_capec_typical_severity": "High", "x_capec_version": "3.9" }, { "created": "2021-06-24T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "Newer Bluetooth firmwares ensure that the KNOB is not negotaited in plaintext. Update your device.", "id": "course-of-action--c40ed234-cae5-4a4e-9080-d0b461edab63", "modified": "2022-09-29T00:00:00.000Z", "name": "coa-668-0", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "course-of-action", "x_capec_version": "3.9" }, { "created": "2021-06-24T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--a7a3fb48-d2a9-46e6-b2e1-3e971c6ab1d9", "modified": "2022-09-29T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--c40ed234-cae5-4a4e-9080-d0b461edab63", "spec_version": "2.1", "target_ref": "attack-pattern--8c806dfa-b8ca-45f9-9f97-09e4b5c1157b", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2021-06-24T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "\n An adversary with access to an organization’s software update infrastructure inserts malware into the content of an outgoing update to fielded systems where a wide range of malicious effects are possible. With the same level of access, the adversary can alter a software update to perform specific malicious acts including granting the adversary control over the software’s normal functionality.\n ", "external_references": [ { "external_id": "CAPEC-669", "source_name": "capec", "url": "https://capec.mitre.org/data/definitions/669.html" }, { "description": "Supply Chain Compromise: Compromise Software Supply Chain", "external_id": "T1195.002", "source_name": "ATTACK", "url": "https://attack.mitre.org/wiki/Technique/T1195/002" }, { "description": "Defending Against Software Supply Chain Attacks, 2021--04, Cybersecurity and Infrastructure Security Agency (CISA)", "external_id": "REF-658", "source_name": "reference_from_CAPEC", "url": "https://www.cisa.gov/sites/default/files/publications/defending_against_software_supply_chain_attacks_508_1.pdf" }, { "description": "Dr. Charles Clancy, Joe Ferraro, Robert A. Martin, Adam G. Pennington, Christopher L. Sledjeski, Dr. Craig J. Wiener, Deliver Uncompromised: Securing Critical Software Supply Chains, 2021--01, The MITRE Corporation", "external_id": "REF-659", "source_name": "reference_from_CAPEC", "url": "https://www.mitre.org/publications/technical-papers/deliver-uncompromised-securing-critical-software-supply-chains" }, { "description": "Melinda Reed, John F. Miller, Paul Popick, Supply Chain Attack Patterns: Framework and Catalog, 2014--08, Office of the Assistant Secretary of Defense for Research and Engineering", "external_id": "REF-660", "source_name": "reference_from_CAPEC", "url": "https://docplayer.net/13041016-Supply-chain-attack-patterns-framework-and-catalog.html" } ], "id": "attack-pattern--69b5d398-114d-437d-a8db-06f1382012b7", "modified": "2022-09-29T00:00:00.000Z", "name": "Alteration of a Software Update", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "attack-pattern", "x_capec_abstraction": "Standard", "x_capec_can_follow_refs": [ "attack-pattern--14ed805a-65a4-45c2-8e4e-626f22226465" ], "x_capec_can_precede_refs": [ "attack-pattern--a7061d3b-6f93-440d-8b0d-4078e80eef88" ], "x_capec_child_of_refs": [ "attack-pattern--582f33d6-0aa7-4f34-a91e-d767a65adad1" ], "x_capec_consequences": { "Access_Control": [ "Gain Privileges" ], "Authorization": [ "Execute Unauthorized Commands" ], "Confidentiality": [ "Read Data" ], "Integrity": [ "Modify Data" ] }, "x_capec_domains": [ "Social Engineering", "Supply Chain", "Software" ], "x_capec_example_instances": [ "\n A subcontractor to a software developer injects maliciously altered software updates into an automated update process that distributes to government and commercial customers software containing a hidden backdoor.\n " ], "x_capec_execution_flow": "

Execution Flow

Explore

  1. Identify software with frequent updates: The adversary must first identify a target software that has updates at least with some frequency, enough that there is am update infrastructure.

Experiment

  1. Gain access to udpate infrastructure: The adversary must then gain access to the organization's software update infrastructure. This can either be done by gaining remote access from outside the organization, or by having a malicious actor inside the organization gain access. It is often easier if someone within the organization gains access.

Exploit

  1. Alter the software update: Through access to the software update infrastructure, an adversary will alter the software update by injecting malware into the content of an outgoing update.

", "x_capec_likelihood_of_attack": "Medium", "x_capec_prerequisites": [ "An adversary would need to have penetrated an organization’s software update infrastructure including gaining access to components supporting the configuration management of software versions and updates related to the software maintenance of customer systems." ], "x_capec_skills_required": { "High": "Skills required include the ability to infiltrate the organization’s software update infrastructure either from the Internet or from within the organization, including subcontractors, and be able to change software being delivered to customer/user systems in an undetected manner." }, "x_capec_status": "Draft", "x_capec_typical_severity": "High", "x_capec_version": "3.9" }, { "created": "2021-06-24T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "Have a Software Assurance Plan that includes maintaining strict configuration management control of source code, object code and software development, build and distribution tools; manual code reviews and static code analysis for developmental software; and tracking of all storage and movement of code.", "id": "course-of-action--f7f5f2ab-7b9b-473b-9e09-91793b1951d8", "modified": "2022-09-29T00:00:00.000Z", "name": "coa-669-0", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "course-of-action", "x_capec_version": "3.9" }, { "created": "2021-06-24T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--b27d91b7-66f1-4a0d-a25b-c73cadad30b4", "modified": "2022-09-29T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--f7f5f2ab-7b9b-473b-9e09-91793b1951d8", "spec_version": "2.1", "target_ref": "attack-pattern--69b5d398-114d-437d-a8db-06f1382012b7", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2021-06-24T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "Require elevated privileges for distribution of software and software updates.", "id": "course-of-action--16492a56-a1ff-45ac-9d60-937a2b5faa49", "modified": "2022-09-29T00:00:00.000Z", "name": "coa-669-1", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "course-of-action", "x_capec_version": "3.9" }, { "created": "2021-06-24T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--b3576f50-4c2f-4c57-855a-1f4b066ac7ea", "modified": "2022-09-29T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--16492a56-a1ff-45ac-9d60-937a2b5faa49", "spec_version": "2.1", "target_ref": "attack-pattern--69b5d398-114d-437d-a8db-06f1382012b7", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "This attack targets applications and software that uses the syslog() function insecurely. If an application does not explicitely use a format string parameter in a call to syslog(), user input can be placed in the format string parameter leading to a format string injection attack. Adversaries can then inject malicious format string commands into the function call leading to a buffer overflow. There are many reported software vulnerabilities with the root cause being a misuse of the syslog() function.", "external_references": [ { "external_id": "CAPEC-67", "source_name": "capec", "url": "https://capec.mitre.org/data/definitions/67.html" }, { "external_id": "CWE-120", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/120.html" }, { "external_id": "CWE-134", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/134.html" }, { "external_id": "CWE-74", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/74.html" }, { "external_id": "CWE-20", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/20.html" }, { "external_id": "CWE-680", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/680.html" }, { "external_id": "CWE-697", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/697.html" }, { "description": "Format String", "external_id": "06", "source_name": "WASC", "url": "http://projects.webappsec.org/Format-String" }, { "description": "G. Hoglund, G. McGraw, Exploiting Software: How to Break Code, 2004--02, Addison-Wesley", "external_id": "REF-1", "source_name": "reference_from_CAPEC" }, { "description": "scut, team teso, Exploiting Format String Vulnerabilities", "external_id": "REF-503", "source_name": "reference_from_CAPEC", "url": "http://doc.bughunter.net/format-string/exploit-fs.html" }, { "description": "Halvar Flake, Auditing binaries for security vulnerabilities", "external_id": "REF-504", "source_name": "reference_from_CAPEC", "url": "http://www.blackhat.com/presentations/bh-europe-00/HalvarFlake/HalvarFlake.ppt" }, { "description": "Fortify Taxonomy of Vulnerabilities, Fortify Software", "external_id": "REF-505", "source_name": "reference_from_CAPEC", "url": "https://vulncat.hpefod.com/en" }, { "description": "Syslog man page", "external_id": "REF-506", "source_name": "reference_from_CAPEC", "url": "http://www.rt.com/man/syslog.3.html" } ], "id": "attack-pattern--4cd18074-15c1-4206-8391-115685669623", "modified": "2022-09-29T00:00:00.000Z", "name": "String Format Overflow in syslog()", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "attack-pattern", "x_capec_abstraction": "Detailed", "x_capec_can_follow_refs": [ "attack-pattern--ca989a50-b24e-4917-a234-ce4788fa21c7" ], "x_capec_child_of_refs": [ "attack-pattern--77e51461-7843-411c-a90e-852498957f76", "attack-pattern--cbabea0a-39ed-4a6f-b752-238fe8c730af" ], "x_capec_consequences": { "Access_Control": [ "Gain Privileges" ], "Authorization": [ "Gain Privileges" ], "Availability": [ "Execute Unauthorized Commands (Run Arbitrary Code)", "Unreliable Execution" ], "Confidentiality": [ "Execute Unauthorized Commands (Run Arbitrary Code)", "Gain Privileges" ], "Integrity": [ "Execute Unauthorized Commands (Run Arbitrary Code)", "Modify Data" ] }, "x_capec_domains": [ "Software", "Software" ], "x_capec_example_instances": [ "Format string vulnerability in TraceEvent function for ntop before 2.1 allows remote adversaries to execute arbitrary code by causing format strings to be injected into calls to the syslog function, via (1) an HTTP GET request, (2) a user name in HTTP authentication, or (3) a password in HTTP authentication. See also: CVE-2002-0412" ], "x_capec_execution_flow": "

Execution Flow

Explore

  1. Identify target application: The adversary identifies a target application or program to perform the buffer overflow on. In this attack, adversaries look for applications that use syslog() incorrectly.

Experiment

  1. Find injection vector: The adversary identifies an injection vector to deliver the excessive content to the targeted application's buffer. For each user-controllable input that the adversary suspects is vulnerable to format string injection, attempt to inject formatting characters such as %n, %s, etc.. The goal is to manipulate the string creation using these formatting characters.

  2. Techniques
    Inject probe payload which contains formatting characters (%s, %d, %n, etc.) through input parameters.
  3. Craft overflow content: The adversary crafts the content to be injected. If the intent is to simply cause the software to crash, the content need only consist of an excessive quantity of random data. If the intent is to leverage the overflow for execution of arbitrary code, the adversary will craft a set of content that not only overflows the targeted buffer but does so in such a way that the overwritten return address is replaced with one of the adversaries' choosing which points to code injected by the adversary.

  4. Techniques
    The formatting characters %s and %d are useful for observing memory and trying to print memory addresses. If an adversary has access to the log being written to they can observer this output and use it to help craft their attack.
    The formatting character %n is useful for adding extra data onto the buffer.

Exploit

  1. Overflow the buffer: Using the injection vector, the adversary supplies the program with the crafted format string injection, causing a buffer.

", "x_capec_likelihood_of_attack": "High", "x_capec_prerequisites": [ "The Syslog function is used without specifying a format string argument, allowing user input to be placed direct into the function call as a format string." ], "x_capec_status": "Draft", "x_capec_typical_severity": "Very High", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "\n The code should be reviewed for misuse of the Syslog function call. Manual or automated code review can be used. The reviewer needs to ensure that all format string functions are passed a static string which cannot be controlled by the user and that the proper number of arguments are always sent to that function as well. If at all possible, do not use the %n operator in format strings. The following code shows a correct usage of Syslog():\n syslog(LOG_ERR, \"%s\", cmdBuf);\n The following code shows a vulnerable usage of Syslog():\n syslog(LOG_ERR, cmdBuf);\n // the buffer cmdBuff is taking user supplied data.\n \n \n ", "id": "course-of-action--86561398-227b-435c-a522-9d43f3d2e16f", "modified": "2022-09-29T00:00:00.000Z", "name": "coa-67-0", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "course-of-action", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--72cfbe83-9260-4542-948f-17b8e7b1a1df", "modified": "2022-09-29T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--86561398-227b-435c-a522-9d43f3d2e16f", "spec_version": "2.1", "target_ref": "attack-pattern--4cd18074-15c1-4206-8391-115685669623", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2021-06-24T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "An adversary with the ability to alter tools used in a development environment causes software to be developed with maliciously modified tools. Such tools include requirements management and database tools, software design tools, configuration management tools, compilers, system build tools, and software performance testing and load testing tools. The adversary then carries out malicious acts once the software is deployed including malware infection of other systems to support further compromises.", "external_references": [ { "external_id": "CAPEC-670", "source_name": "capec", "url": "https://capec.mitre.org/data/definitions/670.html" }, { "description": "Trusted Developer Utilities Proxy Execution", "external_id": "T1127", "source_name": "ATTACK", "url": "https://attack.mitre.org/wiki/Technique/T1127" }, { "description": "Supply Chain Compromise: Compromise Software Dependencies and Development Tools", "external_id": "T1195.001", "source_name": "ATTACK", "url": "https://attack.mitre.org/wiki/Technique/T1195/001" }, { "description": "Melinda Reed, John F. Miller, Paul Popick, Supply Chain Attack Patterns: Framework and Catalog, 2014--08, Office of the Assistant Secretary of Defense for Research and Engineering", "external_id": "REF-660", "source_name": "reference_from_CAPEC", "url": "https://docplayer.net/13041016-Supply-chain-attack-patterns-framework-and-catalog.html" }, { "description": "John F. Miller, Supply Chain Attack Framework and Attack Patterns, 2013, The MITRE Corporation", "external_id": "REF-439", "source_name": "reference_from_CAPEC", "url": "http://www.mitre.org/sites/default/files/publications/supply-chain-attack-framework-14-0228.pdf" }, { "description": "Highly Evasive Attacker Leverages SolarWinds Supply Chain to Compromise Multiple Global Victims With SUNBURST Backdoor, 2020--12---13, Schneier on Security", "external_id": "REF-667", "source_name": "reference_from_CAPEC", "url": "https://www.fireeye.com/blog/threat-research/2020/12/evasive-attacker-leverages-solarwinds-supply-chain-compromises-with-sunburst-backdoor.html" } ], "id": "attack-pattern--14ed805a-65a4-45c2-8e4e-626f22226465", "modified": "2022-09-29T00:00:00.000Z", "name": "Software Development Tools Maliciously Altered", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "attack-pattern", "x_capec_abstraction": "Detailed", "x_capec_can_precede_refs": [ "attack-pattern--69b5d398-114d-437d-a8db-06f1382012b7" ], "x_capec_child_of_refs": [ "attack-pattern--efb74200-657d-438c-aaff-bbd9644dd72d" ], "x_capec_consequences": { "Access_Control": [ "Gain Privileges" ], "Confidentiality": [ "Modify Data", "Read Data" ], "Integrity": [ "Execute Unauthorized Commands" ] }, "x_capec_domains": [ "Supply Chain", "Software" ], "x_capec_example_instances": [ "An adversary with access to software build tools inside an Integrated Development Environment IDE alters a script used for downloading dependencies from a dependent code repository where the script has been changed to include malicious code implanted in the repository by the adversary." ], "x_capec_likelihood_of_attack": "Low", "x_capec_prerequisites": [ "An adversary would need to have access to a targeted developer’s development environment and in particular to tools used to design, create, test and manage software, where the adversary could ensure malicious code is included in software packages built through alteration or substitution of tools in the environment used in the development of software." ], "x_capec_skills_required": { "High": "Ability to leverage common delivery mechanisms (e.g., email attachments, removable media) to infiltrate a development environment to gain access to software development tools for the purpose of malware insertion into an existing tool or replacement of an existing tool with a maliciously altered copy." }, "x_capec_status": "Draft", "x_capec_typical_severity": "High", "x_capec_version": "3.9" }, { "created": "2021-06-24T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "Have a security concept of operations (CONOPS) for the development environment that includes: Maintaining strict security administration and configuration management of requirements management and database tools, software design tools, configuration management tools, compilers, system build tools, and software performance testing and load testing tools.", "id": "course-of-action--eac781ab-b6c7-461d-8b6b-bef86f30b33a", "modified": "2022-09-29T00:00:00.000Z", "name": "coa-670-0", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "course-of-action", "x_capec_version": "3.9" }, { "created": "2021-06-24T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--811480e0-f4e5-4e2a-8c32-b4c4872290a1", "modified": "2022-09-29T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--eac781ab-b6c7-461d-8b6b-bef86f30b33a", "spec_version": "2.1", "target_ref": "attack-pattern--14ed805a-65a4-45c2-8e4e-626f22226465", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2021-06-24T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "Avoid giving elevated privileges to developers.", "id": "course-of-action--b2679adf-476c-4be7-b2ea-c1cb155f9145", "modified": "2022-09-29T00:00:00.000Z", "name": "coa-670-1", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "course-of-action", "x_capec_version": "3.9" }, { "created": "2021-06-24T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--59b5ad85-0960-462a-b666-4bbdcb872db3", "modified": "2022-09-29T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--b2679adf-476c-4be7-b2ea-c1cb155f9145", "spec_version": "2.1", "target_ref": "attack-pattern--14ed805a-65a4-45c2-8e4e-626f22226465", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2021-06-24T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "An adversary with access to functional requirements for an application specific integrated circuit (ASIC), a chip designed/customized for a singular particular use, maliciously alters requirements derived from originating capability needs. In the chip manufacturing process, requirements drive the chip design which, when the chip is fully manufactured, could result in an ASIC which may not meet the user’s needs, contain malicious functionality, or exhibit other anomalous behaviors thereby affecting the intended use of the ASIC.", "external_references": [ { "external_id": "CAPEC-671", "source_name": "capec", "url": "https://capec.mitre.org/data/definitions/671.html" }, { "description": "Supply Chain Compromise: Compromise Hardware Supply Chain", "external_id": "T1195.003", "source_name": "ATTACK", "url": "https://attack.mitre.org/wiki/Technique/T1195/003" }, { "description": "John F. Miller, Supply Chain Attack Framework and Attack Patterns, 2013, The MITRE Corporation", "external_id": "REF-439", "source_name": "reference_from_CAPEC", "url": "http://www.mitre.org/sites/default/files/publications/supply-chain-attack-framework-14-0228.pdf" } ], "id": "attack-pattern--5af917a8-becc-41ec-9053-6976a9da5b28", "modified": "2022-09-29T00:00:00.000Z", "name": "Requirements for ASIC Functionality Maliciously Altered", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "attack-pattern", "x_capec_abstraction": "Detailed", "x_capec_child_of_refs": [ "attack-pattern--cf550376-63ac-4b46-87d1-0e324c1c1c46" ], "x_capec_consequences": { "Integrity": [ "Alter Execution Logic" ] }, "x_capec_domains": [ "Supply Chain", "Hardware" ], "x_capec_example_instances": [ "An adversary with access to ASIC functionality requirements for various customers, targets a particular customer’s ordered lot of ASICs by altering its functional requirements such that the ASIC design will result in a manufactured chip that does not meet the customer’s capability needs." ], "x_capec_likelihood_of_attack": "Low", "x_capec_prerequisites": [ "An adversary would need to have access to a foundry’s or chip maker’s requirements management system that stores customer requirements for ASICs, requirements upon which the design of the ASIC is based." ], "x_capec_skills_required": { "High": "An adversary would need experience in designing chips based on functional requirements in order to manipulate requirements in such a way that deviations would not be detected in subsequent stages of ASIC manufacture and where intended malicious functionality would be available to the adversary once integrated into a system and fielded." }, "x_capec_status": "Draft", "x_capec_typical_severity": "High", "x_capec_version": "3.9" }, { "created": "2021-06-24T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "Utilize DMEA’s (Defense Microelectronics Activity) Trusted Foundry Program members for acquisition of microelectronic components.", "id": "course-of-action--78bdd0d5-c5e0-4465-a8e8-2a5245673b43", "modified": "2022-09-29T00:00:00.000Z", "name": "coa-671-0", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "course-of-action", "x_capec_version": "3.9" }, { "created": "2021-06-24T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--0acfa1e9-0c32-4214-b7e0-8051b944e4f1", "modified": "2022-09-29T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--78bdd0d5-c5e0-4465-a8e8-2a5245673b43", "spec_version": "2.1", "target_ref": "attack-pattern--5af917a8-becc-41ec-9053-6976a9da5b28", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2021-06-24T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "Ensure that each supplier performing hardware development implements comprehensive, security-focused configuration management including for hardware requirements and design.", "id": "course-of-action--763090ea-507b-4958-869c-ecfd797d6d26", "modified": "2022-09-29T00:00:00.000Z", "name": "coa-671-1", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "course-of-action", "x_capec_version": "3.9" }, { "created": "2021-06-24T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--2b255e16-36f0-474d-bfe4-bd6900df7834", "modified": "2022-09-29T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--763090ea-507b-4958-869c-ecfd797d6d26", "spec_version": "2.1", "target_ref": "attack-pattern--5af917a8-becc-41ec-9053-6976a9da5b28", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2021-06-24T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "Require that provenance of COTS microelectronic components be known whenever procured.", "id": "course-of-action--bbe1a74c-b985-4607-a7aa-6a9cbf724b87", "modified": "2022-09-29T00:00:00.000Z", "name": "coa-671-2", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "course-of-action", "x_capec_version": "3.9" }, { "created": "2021-06-24T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--016cf7ce-9d06-49b6-9680-5f0585b9d9c8", "modified": "2022-09-29T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--bbe1a74c-b985-4607-a7aa-6a9cbf724b87", "spec_version": "2.1", "target_ref": "attack-pattern--5af917a8-becc-41ec-9053-6976a9da5b28", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2021-06-24T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "Conduct detailed vendor assessment before acquiring COTS hardware.", "id": "course-of-action--0b60f2ad-a597-4f6d-8433-af47d2743270", "modified": "2022-09-29T00:00:00.000Z", "name": "coa-671-3", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "course-of-action", "x_capec_version": "3.9" }, { "created": "2021-06-24T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--f207532a-5fc8-4c50-a7ee-cacc0092f6d7", "modified": "2022-09-29T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--0b60f2ad-a597-4f6d-8433-af47d2743270", "spec_version": "2.1", "target_ref": "attack-pattern--5af917a8-becc-41ec-9053-6976a9da5b28", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2021-06-24T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "\n During the programming step of chip manufacture, an adversary with access and necessary technical skills maliciously alters a chip’s intended program logic to produce an effect intended by the adversary when the fully manufactured chip is deployed and in operational use. Intended effects can include the ability of the adversary to remotely control a host system to carry out malicious acts.\n ", "external_references": [ { "external_id": "CAPEC-672", "source_name": "capec", "url": "https://capec.mitre.org/data/definitions/672.html" }, { "description": "Supply Chain Compromise: Compromise Hardware Supply Chain", "external_id": "T1195.003", "source_name": "ATTACK", "url": "https://attack.mitre.org/wiki/Technique/T1195/003" }, { "description": "Jeremy Muldavin, Assuring Microelectronics Innovation for National Security & Economic Competitiveness (MINSEC), 2017--11, Office of the Deputy Assistant Secretary of Defense for Systems Engineering", "external_id": "REF-662", "source_name": "reference_from_CAPEC" } ], "id": "attack-pattern--2150c989-e9a0-4aef-8019-8d60f6fcaeeb", "modified": "2022-09-29T00:00:00.000Z", "name": "Malicious Code Implanted During Chip Programming", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "attack-pattern", "x_capec_abstraction": "Detailed", "x_capec_child_of_refs": [ "attack-pattern--efb74200-657d-438c-aaff-bbd9644dd72d" ], "x_capec_consequences": { "Integrity": [ "Alter Execution Logic" ] }, "x_capec_domains": [ "Supply Chain", "Software", "Hardware" ], "x_capec_example_instances": [ "\n Following a chip’s production process steps of test and verification and validation of chip circuitry, an adversary involved in the generation of microcode defining the chip’s function(s) inserts a malicious instruction that will become part of the chip’s program. When integrated into a system, the chip will produce an effect intended by the adversary.\n " ], "x_capec_likelihood_of_attack": "Low", "x_capec_prerequisites": [ "An adversary would need to have access to a foundry’s or chip maker’s development/production environment where programs for specific chips are developed, managed and uploaded into targeted chips prior to distribution or sale." ], "x_capec_skills_required": { "Medium": "An adversary needs to be skilled in microprogramming, manipulation of configuration management systems, and in the operation of tools used for the uploading of programs into chips during manufacture. Uploading can be for individual chips or performed on a large scale basis." }, "x_capec_status": "Draft", "x_capec_typical_severity": "High", "x_capec_version": "3.9" }, { "created": "2021-06-24T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--28128c02-5503-416d-842c-89eb9c15bd31", "modified": "2022-09-29T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--78bdd0d5-c5e0-4465-a8e8-2a5245673b43", "spec_version": "2.1", "target_ref": "attack-pattern--2150c989-e9a0-4aef-8019-8d60f6fcaeeb", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2021-06-24T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "Ensure that each supplier performing hardware development implements comprehensive, security-focused configuration management of microcode and microcode generating tools and software.", "id": "course-of-action--1033b942-9114-4d36-9d75-7b3b3f7b9186", "modified": "2022-09-29T00:00:00.000Z", "name": "coa-672-1", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "course-of-action", "x_capec_version": "3.9" }, { "created": "2021-06-24T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--89691446-aa5b-4b3c-9328-d26c0db95284", "modified": "2022-09-29T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--1033b942-9114-4d36-9d75-7b3b3f7b9186", "spec_version": "2.1", "target_ref": "attack-pattern--2150c989-e9a0-4aef-8019-8d60f6fcaeeb", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2021-06-24T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--bfab0ef2-0fc0-4e7c-a0a5-2eed4b5e3aa0", "modified": "2022-09-29T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--bbe1a74c-b985-4607-a7aa-6a9cbf724b87", "spec_version": "2.1", "target_ref": "attack-pattern--2150c989-e9a0-4aef-8019-8d60f6fcaeeb", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2021-06-24T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--02819a54-8939-497c-b2eb-faaac80cabf0", "modified": "2022-09-29T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--0b60f2ad-a597-4f6d-8433-af47d2743270", "spec_version": "2.1", "target_ref": "attack-pattern--2150c989-e9a0-4aef-8019-8d60f6fcaeeb", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2021-06-24T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "\n Software produced by a reputable developer is clandestinely infected with malicious code and then digitally signed by the unsuspecting developer, where the software has been altered via a compromised software development or build process prior to being signed. The receiver or user of the software has no reason to believe that it is anything but legitimate and proceeds to deploy it to organizational systems.\n This attack differs from CAPEC-206, since the developer is inadvertently signing malicious code they believe to be legitimate and which they are unware of any malicious modifications.\n ", "external_references": [ { "external_id": "CAPEC-673", "source_name": "capec", "url": "https://capec.mitre.org/data/definitions/673.html" }, { "description": "Supply Chain Compromise: Compromise Software Supply Chain", "external_id": "T1195.002", "source_name": "ATTACK", "url": "https://attack.mitre.org/wiki/Technique/T1195/002" }, { "description": "Defending Against Software Supply Chain Attacks, 2021--04, Cybersecurity and Infrastructure Security Agency (CISA)", "external_id": "REF-658", "source_name": "reference_from_CAPEC", "url": "https://www.cisa.gov/sites/default/files/publications/defending_against_software_supply_chain_attacks_508_1.pdf" }, { "description": "Dr. Charles Clancy, Joe Ferraro, Robert A. Martin, Adam G. Pennington, Christopher L. Sledjeski, Dr. Craig J. Wiener, Deliver Uncompromised: Securing Critical Software Supply Chains, 2021--01, The MITRE Corporation", "external_id": "REF-659", "source_name": "reference_from_CAPEC", "url": "https://www.mitre.org/publications/technical-papers/deliver-uncompromised-securing-critical-software-supply-chains" } ], "id": "attack-pattern--a7061d3b-6f93-440d-8b0d-4078e80eef88", "modified": "2022-09-29T00:00:00.000Z", "name": "Developer Signing Maliciously Altered Software", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "attack-pattern", "x_capec_abstraction": "Detailed", "x_capec_can_follow_refs": [ "attack-pattern--69b5d398-114d-437d-a8db-06f1382012b7" ], "x_capec_child_of_refs": [ "attack-pattern--efb74200-657d-438c-aaff-bbd9644dd72d" ], "x_capec_consequences": { "Access_Control": [ "Gain Privileges", "Execute Unauthorized Commands" ], "Authorization": [ "Gain Privileges", "Execute Unauthorized Commands" ], "Confidentiality": [ "Read Data", "Modify Data" ], "Integrity": [ "Read Data", "Modify Data" ] }, "x_capec_domains": [ "Supply Chain", "Software" ], "x_capec_example_instances": [ "\n An adversary who has infiltrated an organization’s build environment maliciously alters code intended to be included in a product’s software build via software dependency inclusion, part of the software build process. When the software product has been built, the developer electronically signs the finished product using their signing key. The recipient of the software product, an end user/customer, believes the software to reflect the developer’s intent with respect to functionality unaware of the adversary’s malicious intent harbored within.\n " ], "x_capec_likelihood_of_attack": "Medium", "x_capec_prerequisites": [ "An adversary would need to have access to a targeted developer’s software development environment, including to their software build processes, where the adversary could ensure code maliciously tainted prior to a build process is included in software packages built." ], "x_capec_skills_required": { "High": "The adversary must have the skills to infiltrate a developer’s software development/build environment and to implant malicious code in developmental software code, a build server, or a software repository containing dependency code, which would be referenced to be included during the software build process." }, "x_capec_status": "Draft", "x_capec_typical_severity": "High", "x_capec_version": "3.9" }, { "created": "2021-06-24T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "Have a security concept of operations (CONOPS) for the IDE that includes: Protecting the IDE via logical isolation using firewall and DMZ technologies/architectures; Maintaining strict security administration and configuration management of configuration management tools, developmental software and dependency code repositories, compilers, and system build tools.", "id": "course-of-action--22c445d7-8a0c-4c4a-82be-e6a3a23980f6", "modified": "2022-09-29T00:00:00.000Z", "name": "coa-673-0", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "course-of-action", "x_capec_version": "3.9" }, { "created": "2021-06-24T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--8158f676-c4e7-47f8-94d3-fce6ae844da7", "modified": "2022-09-29T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--22c445d7-8a0c-4c4a-82be-e6a3a23980f6", "spec_version": "2.1", "target_ref": "attack-pattern--a7061d3b-6f93-440d-8b0d-4078e80eef88", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2021-06-24T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "Employ intrusion detection and malware detection capabilities on IDE systems where feasible.", "id": "course-of-action--a96e3d7b-96fe-4a3c-bc99-11721b0042f7", "modified": "2022-09-29T00:00:00.000Z", "name": "coa-673-1", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "course-of-action", "x_capec_version": "3.9" }, { "created": "2021-06-24T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--e27a3eac-c3d2-4400-b058-e2708bb41600", "modified": "2022-09-29T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--a96e3d7b-96fe-4a3c-bc99-11721b0042f7", "spec_version": "2.1", "target_ref": "attack-pattern--a7061d3b-6f93-440d-8b0d-4078e80eef88", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2021-06-24T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "\n An adversary alters the functionality of a field-programmable gate array (FPGA) by causing an FPGA configuration memory chip reload in order to introduce a malicious function that could result in the FPGA performing or enabling malicious functions on a host system. Prior to the memory chip reload, the adversary alters the program for the FPGA by adding a function to impact system operation.\n ", "external_references": [ { "external_id": "CAPEC-674", "source_name": "capec", "url": "https://capec.mitre.org/data/definitions/674.html" }, { "description": "Supply Chain Compromise: Compromise Hardware Supply Chain", "external_id": "T1195.003", "source_name": "ATTACK", "url": "https://attack.mitre.org/wiki/Technique/T1195/003" }, { "description": "Melinda Reed, John F. Miller, Paul Popick, Supply Chain Attack Patterns: Framework and Catalog, 2014--08, Office of the Assistant Secretary of Defense for Research and Engineering", "external_id": "REF-660", "source_name": "reference_from_CAPEC", "url": "https://docplayer.net/13041016-Supply-chain-attack-patterns-framework-and-catalog.html" }, { "description": "John F. Miller, Supply Chain Attack Framework and Attack Patterns, 2013, The MITRE Corporation", "external_id": "REF-439", "source_name": "reference_from_CAPEC", "url": "http://www.mitre.org/sites/default/files/publications/supply-chain-attack-framework-14-0228.pdf" }, { "description": "Jeremy Muldavin, Assuring Microelectronics Innovation for National Security & Economic Competitiveness (MINSEC), 2017--11, Office of the Deputy Assistant Secretary of Defense for Systems Engineering", "external_id": "REF-662", "source_name": "reference_from_CAPEC" } ], "id": "attack-pattern--fcd0d50b-dab4-435d-859e-19514b4e646e", "modified": "2022-09-29T00:00:00.000Z", "name": "Design for FPGA Maliciously Altered", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "attack-pattern", "x_capec_abstraction": "Detailed", "x_capec_child_of_refs": [ "attack-pattern--cf550376-63ac-4b46-87d1-0e324c1c1c46" ], "x_capec_consequences": { "Integrity": [ "Alter Execution Logic" ] }, "x_capec_domains": [ "Supply Chain", "Hardware" ], "x_capec_example_instances": [ "\n An adversary with access and the ability to alter the configuration/programming of FPGAs in organizational systems, introduces a trojan backdoor that can be used to alter the behavior of the original system resulting in, for example, compromise of confidentiality of data being processed.\n " ], "x_capec_likelihood_of_attack": "Low", "x_capec_prerequisites": [ "An adversary would need to have access to FPGA programming/configuration-related systems in a chip maker’s development environment where FPGAs can be initially configured prior to delivery to a customer or have access to such systems in a customer facility where end-user FPGA configuration/reconfiguration can be performed." ], "x_capec_skills_required": { "High": "An adversary would need to be skilled in FPGA programming in order to create/manipulate configurations in such a way that when loaded into an FPGA, the end user would be able to observe through testing all user-defined required functions but would be unaware of any additional functions the adversary may have introduced." }, "x_capec_status": "Stable", "x_capec_typical_severity": "High", "x_capec_version": "3.9" }, { "created": "2021-06-24T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--a4ab3ee8-bb69-4118-8ae0-48c15fa7c16d", "modified": "2022-09-29T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--78bdd0d5-c5e0-4465-a8e8-2a5245673b43", "spec_version": "2.1", "target_ref": "attack-pattern--fcd0d50b-dab4-435d-859e-19514b4e646e", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2021-06-24T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "Ensure that each supplier performing hardware development implements comprehensive, security-focused configuration management including for FPGA programming and program uploads to FPGA chips.", "id": "course-of-action--d9c23bac-b643-4817-b0e5-0b21f4c2dae6", "modified": "2022-09-29T00:00:00.000Z", "name": "coa-674-1", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "course-of-action", "x_capec_version": "3.9" }, { "created": "2021-06-24T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--df0ce1ec-3322-4b0a-9e1d-fa7dcddce433", "modified": "2022-09-29T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--d9c23bac-b643-4817-b0e5-0b21f4c2dae6", "spec_version": "2.1", "target_ref": "attack-pattern--fcd0d50b-dab4-435d-859e-19514b4e646e", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2021-06-24T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--228b9edf-0a87-42c6-b3df-817ef320b28f", "modified": "2022-09-29T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--bbe1a74c-b985-4607-a7aa-6a9cbf724b87", "spec_version": "2.1", "target_ref": "attack-pattern--fcd0d50b-dab4-435d-859e-19514b4e646e", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2021-06-24T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--e4f482f0-9628-4ce5-bf90-cc5a98776506", "modified": "2022-09-29T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--0b60f2ad-a597-4f6d-8433-af47d2743270", "spec_version": "2.1", "target_ref": "attack-pattern--fcd0d50b-dab4-435d-859e-19514b4e646e", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2021-06-24T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "\n An adversary obtains decommissioned, recycled, or discarded systems and devices that can include an organization’s intellectual property, employee data, and other types of controlled information. Systems and devices that have reached the end of their lifecycles may be subject to recycle or disposal where they can be exposed to adversarial attempts to retrieve information from internal memory chips and storage devices that are part of the system.\n ", "external_references": [ { "external_id": "CAPEC-675", "source_name": "capec", "url": "https://capec.mitre.org/data/definitions/675.html" }, { "external_id": "CWE-1266", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/1266.html" }, { "description": "Exfiltration Over Physical Medium", "external_id": "T1052", "source_name": "ATTACK", "url": "https://attack.mitre.org/wiki/Technique/T1052" }, { "description": "Richard Kissel, Andrew Regenscheid, Matthew Scholl, Kevin Stine, NIST Special Publication 800-88 Revision 1: Guidelines for Media Sanitization, 2014--12, National Institute of Standards and Technology", "external_id": "REF-663", "source_name": "reference_from_CAPEC", "url": "https://nvlpubs.nist.gov/nistpubs/SpecialPublications/NIST.SP.800-88r1.pdf" }, { "description": "Linda Pesante, Christopher King, George Silowash, Disposing of Devices Safely, 2012, CISA United States Computer Emergency Readiness Team (US-CERT)", "external_id": "REF-717", "source_name": "reference_from_CAPEC", "url": "https://www.cisa.gov/uscert/sites/default/files/publications/DisposeDevicesSafely.pdf" } ], "id": "attack-pattern--a8b4faf6-2e52-434f-95a4-df5f9bdc985a", "modified": "2023-01-24T00:00:00.000Z", "name": "Retrieve Data from Decommissioned Devices", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "attack-pattern", "x_capec_abstraction": "Standard", "x_capec_can_follow_refs": [ "attack-pattern--756a1a93-3734-426c-9e91-f9339de74a7a" ], "x_capec_can_precede_refs": [ "attack-pattern--55ce63d0-6143-4b95-b70c-87c5b60aafa8" ], "x_capec_child_of_refs": [ "attack-pattern--913426fa-ea1f-43b0-8492-1d363ea109d6" ], "x_capec_consequences": { "Accountability": [ "Bypass Protection Mechanism" ] }, "x_capec_domains": [ "Supply Chain", "Software", "Physical Security", "Hardware" ], "x_capec_example_instances": [ "\n A company is contracted by an organization to provide data destruction services for solid state and hard disk drives being discarded. Prior to destruction, an adversary within the contracted company copies data from select devices, violating the data confidentiality requirements of the submitting organization.\n " ], "x_capec_likelihood_of_attack": "Medium", "x_capec_prerequisites": [ "An adversary needs to have access to electronic data processing equipment being recycled or disposed of (e.g., laptops, servers) at a collection location and the ability to take control of it for the purpose of exploiting its content." ], "x_capec_skills_required": { "High": "An adversary may need the ability to mount printed circuit boards and target individual chips for exploitation.", "Medium": "An adversary needs the technical skills required to extract solid state drives, hard disk drives, and other storage media to host on a compatible system or harness to gain access to digital content." }, "x_capec_status": "Stable", "x_capec_typical_severity": "Medium", "x_capec_version": "3.9" }, { "created": "2021-06-24T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "Backup device data before erasure to retain intellectual property and inside knowledge.", "id": "course-of-action--768de10a-6dae-46e1-88e8-fac5a8033e51", "modified": "2023-01-24T00:00:00.000Z", "name": "coa-675-0", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "course-of-action", "x_capec_version": "3.9" }, { "created": "2021-06-24T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--03ca0e49-f51b-444a-bfae-ac04853513a4", "modified": "2023-01-24T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--768de10a-6dae-46e1-88e8-fac5a8033e51", "spec_version": "2.1", "target_ref": "attack-pattern--a8b4faf6-2e52-434f-95a4-df5f9bdc985a", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2021-06-24T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "Overwrite data on device rather than deleting. Deleted data can still be recovered, even if the device trash can is emptied. Rewriting data removes any trace of the old data. Performing multiple overwrites followed by a zeroing of the device (overwriting with all zeros) is good practice.", "id": "course-of-action--818359f4-4568-4bf9-ad3f-7eb90981e184", "modified": "2023-01-24T00:00:00.000Z", "name": "coa-675-1", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "course-of-action", "x_capec_version": "3.9" }, { "created": "2021-06-24T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--29b103ab-eae1-46f7-8c4c-18b3567ab7d7", "modified": "2023-01-24T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--818359f4-4568-4bf9-ad3f-7eb90981e184", "spec_version": "2.1", "target_ref": "attack-pattern--a8b4faf6-2e52-434f-95a4-df5f9bdc985a", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2021-06-24T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "Use a secure erase software.", "id": "course-of-action--bf22f1fa-b5cb-4733-a825-810c681f76aa", "modified": "2023-01-24T00:00:00.000Z", "name": "coa-675-2", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "course-of-action", "x_capec_version": "3.9" }, { "created": "2021-06-24T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--006acdf6-fa11-4dbc-b447-35cfd3577991", "modified": "2023-01-24T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--bf22f1fa-b5cb-4733-a825-810c681f76aa", "spec_version": "2.1", "target_ref": "attack-pattern--a8b4faf6-2e52-434f-95a4-df5f9bdc985a", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2021-06-24T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "Physically destroy the device if it is not intended to be reused. Using a specialized service to disintegrate, burn, melt or pulverize the device can be effective, but if those services are inaccessible, drilling nails or holes, or smashing the device with a hammer can be effective. Do not burn, microwave, or pour acid on a hard drive.", "id": "course-of-action--4b4bbf38-311c-44cf-b12d-6b86aa64c42f", "modified": "2023-01-24T00:00:00.000Z", "name": "coa-675-3", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "course-of-action", "x_capec_version": "3.9" }, { "created": "2021-06-24T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--ca3fdcd4-4c53-4c80-b0bc-99ed5fc92cf2", "modified": "2023-01-24T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--4b4bbf38-311c-44cf-b12d-6b86aa64c42f", "spec_version": "2.1", "target_ref": "attack-pattern--a8b4faf6-2e52-434f-95a4-df5f9bdc985a", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2021-06-24T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "Physically destroy memory and SIM cards for mobile devices not intended to be reused.", "id": "course-of-action--388e0698-f2f5-4a1e-9c92-8446aeb9bf7a", "modified": "2023-01-24T00:00:00.000Z", "name": "coa-675-4", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "course-of-action", "x_capec_version": "3.9" }, { "created": "2021-06-24T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--74fd4f17-afa6-4329-9ea8-ddc1e2e6d43b", "modified": "2023-01-24T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--388e0698-f2f5-4a1e-9c92-8446aeb9bf7a", "spec_version": "2.1", "target_ref": "attack-pattern--a8b4faf6-2e52-434f-95a4-df5f9bdc985a", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2021-06-24T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "Ensure that the user account has been terminated or switched to a new device before destroying.", "id": "course-of-action--c28595a5-c39f-414b-9c5d-1907e7202d7d", "modified": "2023-01-24T00:00:00.000Z", "name": "coa-675-5", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "course-of-action", "x_capec_version": "3.9" }, { "created": "2021-06-24T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--eb3df538-c4c4-4672-aef8-3908c2fce1fc", "modified": "2023-01-24T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--c28595a5-c39f-414b-9c5d-1907e7202d7d", "spec_version": "2.1", "target_ref": "attack-pattern--a8b4faf6-2e52-434f-95a4-df5f9bdc985a", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2021-10-21T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "\n An adversary targets software that constructs NoSQL statements based on user input or with parameters vulnerable to operator replacement in order to achieve a variety of technical impacts such as escalating privileges, bypassing authentication, and/or executing code.\n ", "external_references": [ { "external_id": "CAPEC-676", "source_name": "capec", "url": "https://capec.mitre.org/data/definitions/676.html" }, { "external_id": "CWE-943", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/943.html" }, { "external_id": "CWE-1286", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/1286.html" }, { "description": "Testing for NoSQL Injection, The OWASP Foundation", "external_id": "REF-668", "source_name": "reference_from_CAPEC", "url": "https://owasp.org/www-project-web-security-testing-guide/latest/4-Web_Application_Security_Testing/07-Input_Validation_Testing/05.6-Testing_for_NoSQL_Injection" }, { "description": "Charlie Belmer, NoSql Injection Cheatsheet, 2021--06---07, Null Sweep", "external_id": "REF-669", "source_name": "reference_from_CAPEC", "url": "https://nullsweep.com/nosql-injection-cheatsheet/" }, { "description": "Patrick Spiegel, NoSql Injection: Fun with Objects and Arrays, The OWASP Foundation", "external_id": "REF-670", "source_name": "reference_from_CAPEC", "url": "https://owasp.org/www-pdf-archive/GOD16-NOSQL.pdf" }, { "description": "NoSql Injection: Fun with Objects and ArraysNoSQL Injection Attacks and Prevention Techniques, 2019--06, WebOrion", "external_id": "REF-671", "source_name": "reference_from_CAPEC", "url": "https://www.theweborion.com/wp-content/uploads/2019/06/NoSQL-Injection-Attacks-and-Prevention-Techniques.pdf" } ], "id": "attack-pattern--9d435b55-e3ef-4a19-be67-c3350f20e44e", "modified": "2022-09-29T00:00:00.000Z", "name": "NoSQL Injection", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "attack-pattern", "x_capec_abstraction": "Standard", "x_capec_can_follow_refs": [ "attack-pattern--70c8a212-72da-4a98-a626-e5d38e5416e3" ], "x_capec_child_of_refs": [ "attack-pattern--2fb2b2b8-b7de-45a2-aadb-5849d12fda8f" ], "x_capec_consequences": { "Access_Control": [ "Gain Privileges" ], "Authorization": [ "Gain Privileges" ], "Availability": [ "Execute Unauthorized Commands (Run Arbitrary Code)" ], "Confidentiality": [ "Read Data", "Execute Unauthorized Commands (Run Arbitrary Code)", "Gain Privileges" ], "Integrity": [ "Modify Data", "Execute Unauthorized Commands (Run Arbitrary Code)" ] }, "x_capec_domains": [ "Software" ], "x_capec_example_instances": [ "\n The following examples primarily cite MongoDB, PHP, and NodeJS attacks due to their prominence and popularity. However, please note that these attacks are not exclusive to this NoSQL instance, programming language, or runtime framework.\n Within NodeJS, Login Bypass attacks are possible via MongoDB if user-input is not properly validated and sanitized [REF-670].\n //NodeJS with Express.jsdb.collection('users').find({\"user\": req.query.user,\"password\": req.query.password});\n \n \n The above code works fine if the user were to submit a query like the following:\n https://example.org/login?user=patrick&password=1234\n \n But an adversary could submit a malicious query such as the below, which would be interpreted by the code as follows:\n https://example.org/login?user=patrick&password[$ne]=\n //NodeJS with Express.jsdb.collection('users').find({\"user\": bob,\"password\": {\"&ne\": \"\"}});\n \n This will result in a Login Bypass attack, as the query will succeed for all values where Bob's password is not an empty string.\n ", "\n MongoDB instances are also vulnerable to JavaScript Injection Attacks when user input is not properly validated and sanitized.\n //PHP with MongoDBdb.collection.find({$where: function() {return (this.username == $username) } } );\n \n \n \n If the user properly specifies a username, then this code will execute as intended. However, an adversary can inject JavaScript into the \"$username\" variable to achieve a NoSQL Injection attack as follows:\n //PHP with MongoDBdb.collection.find({$where: function() {return (this.username == 'foo'; sleep(5000) ) } } );\n \n \n This will result in the server sleeping for 5 seconds if the attack was successful. An adversary could supply a larger value to deny service to the application.\n ", "\n If leveraging PHP with MongoDB, operator replacement attacks are possible if special query operators are not properly addressed. The below example from OWASP's \"Test for NoSQL Injection\" displays a simple case of how this could occur.[REF-668]\n db.myCollection.find({$where: function() {return obj.credits - obj.debits < 0; } } );\n \n \n Even though the above query does not depend on any user input, it is vulnerable to a NoSQL injection attack via operator replacement on the \"$where\" keyword. In this case, the adversary could exploit MongoDB in the following manner:\n $where: function() { //arbitrary JavaScript here }\n " ], "x_capec_execution_flow": "

Execution Flow

Explore

  1. Survey target application: Due to the number of NoSQL databases available and the numerous language/API combinations of each, the adversary must first survey the target application to learn what technologies are being leveraged and how they interact with user-driven data.

  2. Techniques
    Determine the technology stack leveraged by the target application, such as the application server, drivers, frameworks, APIs, and databases being utilized.
    Identify areas of the application that interact with user input and may be involved with NoSQL queries.

Experiment

  1. Identify user-controllable input susceptible to injection: After identifying the technology stack being used and where user-driven input is leveraged, determine the user-controllable input susceptible to injection such as authentication or search forms. For each user-controllable input that the adversary suspects is vulnerable to NoSQL injection, attempt to inject characters or keywords that have special meaning in the given NoSQL database or language (e.g., \"$ne\" for MongoDB or \"$exists\" for PHP/MongoDB), or JavaScript that can be executed within the application. The goal is to create a NoSQL query with an invalid syntax.

  2. Techniques
    Use web browser to inject input through text fields or through HTTP GET parameters.
    Use a web application debugging tool such as Tamper Data, TamperIE, WebScarab,etc. to modify HTTP POST parameters, hidden fields, non-freeform fields, etc.
    Use network-level packet injection tools such as netcat to inject input
    Use modified client (modified by reverse engineering) to inject input.
  3. Experiment with NoSQL Injection vulnerabilities: After determining that a given input is vulnerable to NoSQL Injection, hypothesize what the underlying query looks like. Iteratively try to add logic to the query to extract information from the database, modify/delete information in the database, or execute commands on the server.

  4. Techniques
    Use public resources such as OWASP's \"Testing for NoSQL Injection\" [REF-668] or Null Sweep's \"NoSQL Injection Cheatsheet\" [REF-669] and try different approaches for adding logic to NoSQL queries.
    Iteratively add logic to the NoSQL query and use detailed error messages from the server to debug the query.
    Attempt an HTTP Parameter Pollution attack to replace language-specific keywords, such as \"where\" within PHP [CAPEC-460].

Exploit

  1. Exploit NoSQL Injection vulnerability: After refining and adding various logic to NoSQL queries, craft and execute the underlying NoSQL query that will be used to attack the target system.

  2. Techniques
    Craft and Execute underlying NoSQL query
", "x_capec_extended_description": "\n NoSQL database calls are written in an application's programming language, via a custom API call, or formatted in a common convention (e.g., JSON, XML, etc.), any of which the adversary can exploit to achieve the aforementioned goals. NoSQL attacks usually result from improper sanitization and validation of data that originates from a user, either via special character or JavaScript injection. In both cases, the adversary crafts input strings so that when the target software constructs NoSQL statements based on the input, the resulting NoSQL statement performs actions other than those intended by the application. However, unlike traditional SQL Injection attacks, NoSQL injection attacks can also occur in instances where the application does not rely upon user input, as is the case in operator replacements. This entails the adversary overriding reserved NoSQL variable names with ones that have been modified with malicious functionality (e.g., $where in MongoDB). In all cases, depending on the NoSQL API and data model used, successful injection can cause information disclosure, data modification, and code execution at the application level.\n Note: NoSQL Injection attacks are executed within a procedural language (e.g., C, C++, Perl), as opposed to the declarative SQL language itself. As a result, NoSQL injection attacks can potentially result in greater impacts than traditional SQL Injection attacks [REF-668].\n ", "x_capec_likelihood_of_attack": "High", "x_capec_prerequisites": [ "Awareness of the technology stack being leveraged by the target application.", "NoSQL queries used by the application to store, retrieve, or modify data.", "User-controllable input that is not properly validated by the application as part of NoSQL queries.", "Target potentially susceptible to operator replacement attacks." ], "x_capec_resources_required": [ "None: No specialized resources are required to execute this type of attack." ], "x_capec_skills_required": { "Low": "For keyword and JavaScript injection attacks, it is fairly simple for someone with basic NoSQL knowledge to perform NoSQL injection, once the target's technology stack has been determined.", "Medium": "For operator replacement attacks, the adversary must also have knowledge of HTTP Parameter Pollution attacks and how to conduct them." }, "x_capec_status": "Stable", "x_capec_typical_severity": "High", "x_capec_version": "3.9" }, { "created": "2021-10-21T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "Strong input validation - All user-controllable input must be validated and filtered for illegal characters as well as relevant NoSQL and JavaScript content. NoSQL-specific keywords, such as $ne, $eq or $gt for MongoDB, must be filtered in addition to characters such as a single-quote(') or semicolons (;) based on the context in which they appear. Validation should also extend to expected types.", "id": "course-of-action--c3e9e3ff-9ab8-46b9-8bd2-7d63b43a2ef4", "modified": "2022-09-29T00:00:00.000Z", "name": "coa-676-0", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "course-of-action", "x_capec_version": "3.9" }, { "created": "2021-10-21T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--869ea0bd-ba58-497e-ba60-bb6b4e05a203", "modified": "2022-09-29T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--c3e9e3ff-9ab8-46b9-8bd2-7d63b43a2ef4", "spec_version": "2.1", "target_ref": "attack-pattern--9d435b55-e3ef-4a19-be67-c3350f20e44e", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2021-10-21T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "If possible, leverage safe APIs (e.g., PyMongo and Flask-PyMongo for Python and MongoDB) for queries as opposed to building queries from strings.", "id": "course-of-action--c36658ef-ec56-451f-9d0f-cc4e8364709e", "modified": "2022-09-29T00:00:00.000Z", "name": "coa-676-1", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "course-of-action", "x_capec_version": "3.9" }, { "created": "2021-10-21T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--d13883d0-b82e-40df-b760-850af2e151e9", "modified": "2022-09-29T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--c36658ef-ec56-451f-9d0f-cc4e8364709e", "spec_version": "2.1", "target_ref": "attack-pattern--9d435b55-e3ef-4a19-be67-c3350f20e44e", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2021-10-21T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "Ensure the most recent version of a NoSQL database and it's corresponding API are used by the application.", "id": "course-of-action--f535cf43-16c4-4702-82b4-f2ad54457382", "modified": "2022-09-29T00:00:00.000Z", "name": "coa-676-2", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "course-of-action", "x_capec_version": "3.9" }, { "created": "2021-10-21T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--ba86a192-07aa-4b27-be1a-28cd2e920662", "modified": "2022-09-29T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--f535cf43-16c4-4702-82b4-f2ad54457382", "spec_version": "2.1", "target_ref": "attack-pattern--9d435b55-e3ef-4a19-be67-c3350f20e44e", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2021-10-21T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "Use of custom error pages - Adversaries can glean information about the nature of queries from descriptive error messages. Input validation must be coupled with customized error pages that inform about an error without disclosing information about the database or application.", "id": "course-of-action--4c849df7-9814-41f1-b257-5be9d1636087", "modified": "2022-09-29T00:00:00.000Z", "name": "coa-676-3", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "course-of-action", "x_capec_version": "3.9" }, { "created": "2021-10-21T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--1126520b-05be-455e-9d4d-a4bcf7ce2218", "modified": "2022-09-29T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--4c849df7-9814-41f1-b257-5be9d1636087", "spec_version": "2.1", "target_ref": "attack-pattern--9d435b55-e3ef-4a19-be67-c3350f20e44e", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2021-10-21T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "Exercise the principle of Least Privilege with regards to application accounts to minimize damage if a NoSQL injection attack is successful.", "id": "course-of-action--7f433708-ce26-4500-81a0-5a94a7fe8032", "modified": "2022-09-29T00:00:00.000Z", "name": "coa-676-4", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "course-of-action", "x_capec_version": "3.9" }, { "created": "2021-10-21T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--ec6f7349-8700-4bcc-a21a-24391221b7c8", "modified": "2022-09-29T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--7f433708-ce26-4500-81a0-5a94a7fe8032", "spec_version": "2.1", "target_ref": "attack-pattern--9d435b55-e3ef-4a19-be67-c3350f20e44e", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2021-10-21T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "If using MongoDB, disable server-side JavaScript execution and leverage a sanitization module such as \"mongo-sanitize\".", "id": "course-of-action--3aa6e395-8929-42e8-96db-20d559ee7c77", "modified": "2022-09-29T00:00:00.000Z", "name": "coa-676-5", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "course-of-action", "x_capec_version": "3.9" }, { "created": "2021-10-21T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--5101e2fb-b215-4be6-857a-0e5c8aa7341c", "modified": "2022-09-29T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--3aa6e395-8929-42e8-96db-20d559ee7c77", "spec_version": "2.1", "target_ref": "attack-pattern--9d435b55-e3ef-4a19-be67-c3350f20e44e", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2021-10-21T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "If using PHP with MongoDB, ensure all special query operators (starting with $) use single quotes to prevent operator replacement attacks.", "id": "course-of-action--3753e389-6551-4beb-a945-aa3c36831232", "modified": "2022-09-29T00:00:00.000Z", "name": "coa-676-6", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "course-of-action", "x_capec_version": "3.9" }, { "created": "2021-10-21T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--ce0040af-39bd-44c9-b2a6-d529ca6a642d", "modified": "2022-09-29T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--3753e389-6551-4beb-a945-aa3c36831232", "spec_version": "2.1", "target_ref": "attack-pattern--9d435b55-e3ef-4a19-be67-c3350f20e44e", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2021-10-21T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "Additional mitigations will depend on the NoSQL database, API, and programming language leveraged by the application.", "id": "course-of-action--514cd9bd-12f1-4cf8-9093-4f575517aa3b", "modified": "2022-09-29T00:00:00.000Z", "name": "coa-676-7", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "course-of-action", "x_capec_version": "3.9" }, { "created": "2021-10-21T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--3626f089-3a82-4044-85fc-50f2f7def667", "modified": "2022-09-29T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--514cd9bd-12f1-4cf8-9093-4f575517aa3b", "spec_version": "2.1", "target_ref": "attack-pattern--9d435b55-e3ef-4a19-be67-c3350f20e44e", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2021-10-21T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "\n Malware is inserted in a server motherboard (e.g., in the flash memory) in order to alter server functionality from that intended. The development environment or hardware/software support activity environment is susceptible to an adversary inserting malicious software into hardware components during development or update.\n ", "external_references": [ { "external_id": "CAPEC-677", "source_name": "capec", "url": "https://capec.mitre.org/data/definitions/677.html" }, { "description": "Supply Chain Compromise: Compromise Hardware Supply Chain", "external_id": "T1195.003", "source_name": "ATTACK", "url": "https://attack.mitre.org/wiki/Technique/T1195/003" }, { "description": "John F. Miller, Supply Chain Attack Framework and Attack Patterns, 2013, The MITRE Corporation", "external_id": "REF-439", "source_name": "reference_from_CAPEC", "url": "http://www.mitre.org/sites/default/files/publications/supply-chain-attack-framework-14-0228.pdf" }, { "description": "Melinda Reed, John F. Miller, Paul Popick, Supply Chain Attack Patterns: Framework and Catalog, 2014--08, Office of the Assistant Secretary of Defense for Research and Engineering", "external_id": "REF-660", "source_name": "reference_from_CAPEC", "url": "https://docplayer.net/13041016-Supply-chain-attack-patterns-framework-and-catalog.html" }, { "description": " Kaspersky Finds Sophisticated UEFI Malware in the Wild , 2020--10---05, ExtremeTech ", "external_id": "REF-685", "source_name": "reference_from_CAPEC", "url": " https://www.extremetech.com/computing/315860-kaspersky-finds-sophisticated-uefi-malware-in-the-wild" } ], "id": "attack-pattern--ea2e5cbd-8278-4f8a-b56b-3cfb955d2366", "modified": "2023-01-24T00:00:00.000Z", "name": "Server Motherboard Compromise", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "attack-pattern", "x_capec_abstraction": "Detailed", "x_capec_child_of_refs": [ "attack-pattern--a79f5cc6-781c-4e49-a00e-7aae93718f9e" ], "x_capec_consequences": { "Integrity": [ "Execute Unauthorized Commands" ] }, "x_capec_domains": [ "Supply Chain", "Physical Security", "Hardware" ], "x_capec_example_instances": [ "\n Malware is inserted into the Unified Extensible Firmware Interface (UEFI) software that resides on a flash memory chip soldered to a computer’s motherboard. It is the first thing to turn on when a system is booted and is allowed access to almost every part of the operating system. Hence, the malware will have extensive control over operating system functions and persist after system reboots. [REF-685]\n " ], "x_capec_likelihood_of_attack": "Low", "x_capec_prerequisites": [ "An adversary with access to hardware/software processes and tools within the development or hardware/software support environment can insert malicious software into hardware components during development or update/maintenance." ], "x_capec_status": "Draft", "x_capec_typical_severity": "High", "x_capec_version": "3.9" }, { "created": "2021-10-21T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "Purchase IT systems, components and parts from government approved vendors whenever possible.", "id": "course-of-action--c1be3529-9fb7-40a8-a6eb-097c4e1a3933", "modified": "2023-01-24T00:00:00.000Z", "name": "coa-677-0", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "course-of-action", "x_capec_version": "3.9" }, { "created": "2021-10-21T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--cec1097b-0d23-4a54-9ae9-64654e393f3d", "modified": "2023-01-24T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--c1be3529-9fb7-40a8-a6eb-097c4e1a3933", "spec_version": "2.1", "target_ref": "attack-pattern--ea2e5cbd-8278-4f8a-b56b-3cfb955d2366", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2021-10-21T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "Establish diversity among suppliers.", "id": "course-of-action--9dd6990e-28bb-4e3f-9efd-11084ccef57d", "modified": "2023-01-24T00:00:00.000Z", "name": "coa-677-1", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "course-of-action", "x_capec_version": "3.9" }, { "created": "2021-10-21T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--864c9da9-4c92-4cea-9641-e0a25d17486e", "modified": "2023-01-24T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--9dd6990e-28bb-4e3f-9efd-11084ccef57d", "spec_version": "2.1", "target_ref": "attack-pattern--ea2e5cbd-8278-4f8a-b56b-3cfb955d2366", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2021-10-21T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "Conduct rigorous threat assessments of suppliers.", "id": "course-of-action--a3848e81-2458-40d9-b92b-21aed1a69465", "modified": "2023-01-24T00:00:00.000Z", "name": "coa-677-2", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "course-of-action", "x_capec_version": "3.9" }, { "created": "2021-10-21T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--956e89e4-8b30-4e89-aed9-b592c0de779b", "modified": "2023-01-24T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--a3848e81-2458-40d9-b92b-21aed1a69465", "spec_version": "2.1", "target_ref": "attack-pattern--ea2e5cbd-8278-4f8a-b56b-3cfb955d2366", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2021-10-21T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "Require that Bills of Material (BoM) for critical parts and components be certified.", "id": "course-of-action--19824486-f485-41ff-bdbf-70e7555d7a3b", "modified": "2023-01-24T00:00:00.000Z", "name": "coa-677-3", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "course-of-action", "x_capec_version": "3.9" }, { "created": "2021-10-21T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--4da5652f-279d-465c-876f-f61e2bd78e19", "modified": "2023-01-24T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--19824486-f485-41ff-bdbf-70e7555d7a3b", "spec_version": "2.1", "target_ref": "attack-pattern--ea2e5cbd-8278-4f8a-b56b-3cfb955d2366", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2021-10-21T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "Utilize contract language requiring contractors and subcontractors to flow down to subcontractors and suppliers SCRM and SCRA (Supply Chain Risk Assessment) requirements.", "id": "course-of-action--9e2b4607-57c1-423b-8b87-1ca72b6669b9", "modified": "2023-01-24T00:00:00.000Z", "name": "coa-677-4", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "course-of-action", "x_capec_version": "3.9" }, { "created": "2021-10-21T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--d6678ab4-13ee-4393-9302-f1f849c12afd", "modified": "2023-01-24T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--9e2b4607-57c1-423b-8b87-1ca72b6669b9", "spec_version": "2.1", "target_ref": "attack-pattern--ea2e5cbd-8278-4f8a-b56b-3cfb955d2366", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2021-10-21T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "Establish trusted supplier networks.", "id": "course-of-action--d8534e9f-4499-45e3-9ae1-85cf37f54f1c", "modified": "2023-01-24T00:00:00.000Z", "name": "coa-677-5", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "course-of-action", "x_capec_version": "3.9" }, { "created": "2021-10-21T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--9b49a971-d419-4828-b65f-13ac15c90fd6", "modified": "2023-01-24T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--d8534e9f-4499-45e3-9ae1-85cf37f54f1c", "spec_version": "2.1", "target_ref": "attack-pattern--ea2e5cbd-8278-4f8a-b56b-3cfb955d2366", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2021-10-21T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "\n During the system build process, the system is deliberately misconfigured by the alteration of the build data. Access to system configuration data files and build processes is susceptible to deliberate misconfiguration of the system.\n ", "external_references": [ { "external_id": "CAPEC-678", "source_name": "capec", "url": "https://capec.mitre.org/data/definitions/678.html" }, { "description": "Supply Chain Compromise: Compromise Software Supply Chain", "external_id": "T1195.002", "source_name": "ATTACK", "url": "https://attack.mitre.org/wiki/Technique/T1195/002" }, { "description": "John F. Miller, Supply Chain Attack Framework and Attack Patterns, 2013, The MITRE Corporation", "external_id": "REF-439", "source_name": "reference_from_CAPEC", "url": "http://www.mitre.org/sites/default/files/publications/supply-chain-attack-framework-14-0228.pdf" }, { "description": "Melinda Reed, John F. Miller, Paul Popick, Supply Chain Attack Patterns: Framework and Catalog, 2014--08, Office of the Assistant Secretary of Defense for Research and Engineering", "external_id": "REF-660", "source_name": "reference_from_CAPEC", "url": "https://docplayer.net/13041016-Supply-chain-attack-patterns-framework-and-catalog.html" } ], "id": "attack-pattern--d0a5a641-ba5e-4bd6-8a06-addfa4d03cfb", "modified": "2023-01-24T00:00:00.000Z", "name": "System Build Data Maliciously Altered", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "attack-pattern", "x_capec_abstraction": "Detailed", "x_capec_child_of_refs": [ "attack-pattern--efb74200-657d-438c-aaff-bbd9644dd72d" ], "x_capec_consequences": { "Access_Control": [ "Gain Privileges" ], "Confidentiality": [ "Modify Data", "Read Data" ], "Integrity": [ "Execute Unauthorized Commands" ] }, "x_capec_domains": [ "Supply Chain", "Software", "Hardware" ], "x_capec_example_instances": [ "\n ‘Make’ is a program used for building executable programs and libraries from source code by executing commands and following rules in a ‘makefile’. It can create a malicious executable if commands or dependency paths in the makefile are maliciously altered to execute an unwanted command or reference as a dependency maliciously altered code.\n " ], "x_capec_likelihood_of_attack": "Low", "x_capec_prerequisites": [ "An adversary has access to the data files and processes used for executing system configuration and performing the build." ], "x_capec_status": "Draft", "x_capec_typical_severity": "High", "x_capec_version": "3.9" }, { "created": "2021-10-21T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "Implement configuration management security practices that protect the integrity of software and associated data.", "id": "course-of-action--d984401e-2a31-4aab-af29-a41a5cbc9c1c", "modified": "2023-01-24T00:00:00.000Z", "name": "coa-678-0", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "course-of-action", "x_capec_version": "3.9" }, { "created": "2021-10-21T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--869d19dd-b471-4f89-b47b-0183ac8dc878", "modified": "2023-01-24T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--d984401e-2a31-4aab-af29-a41a5cbc9c1c", "spec_version": "2.1", "target_ref": "attack-pattern--d0a5a641-ba5e-4bd6-8a06-addfa4d03cfb", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2021-10-21T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "Monitor and control access to the configuration management system.", "id": "course-of-action--167812bc-7a9b-4800-ae3e-5bb696d54905", "modified": "2023-01-24T00:00:00.000Z", "name": "coa-678-1", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "course-of-action", "x_capec_version": "3.9" }, { "created": "2021-10-21T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--8a21325b-976e-41b0-b832-ff513fd781d8", "modified": "2023-01-24T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--167812bc-7a9b-4800-ae3e-5bb696d54905", "spec_version": "2.1", "target_ref": "attack-pattern--d0a5a641-ba5e-4bd6-8a06-addfa4d03cfb", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2021-10-21T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "Harden centralized repositories against attack.", "id": "course-of-action--d5f02498-2cb3-41af-9a58-79e54dfd1108", "modified": "2023-01-24T00:00:00.000Z", "name": "coa-678-2", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "course-of-action", "x_capec_version": "3.9" }, { "created": "2021-10-21T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--cb0dbc9b-c7a5-4f9d-982c-b0f25445ecca", "modified": "2023-01-24T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--d5f02498-2cb3-41af-9a58-79e54dfd1108", "spec_version": "2.1", "target_ref": "attack-pattern--d0a5a641-ba5e-4bd6-8a06-addfa4d03cfb", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2021-10-21T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "Establish acceptance criteria for configuration management check-in to assure integrity.", "id": "course-of-action--177c82cf-28a6-4bec-ad88-7f539639ef51", "modified": "2023-01-24T00:00:00.000Z", "name": "coa-678-3", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "course-of-action", "x_capec_version": "3.9" }, { "created": "2021-10-21T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--002a4543-59cc-405d-b6f7-835ee0f6b124", "modified": "2023-01-24T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--177c82cf-28a6-4bec-ad88-7f539639ef51", "spec_version": "2.1", "target_ref": "attack-pattern--d0a5a641-ba5e-4bd6-8a06-addfa4d03cfb", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2021-10-21T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "Plan for and audit the security of configuration management administration processes.", "id": "course-of-action--8933af3c-bb36-4306-b04a-c9d575f6ceae", "modified": "2023-01-24T00:00:00.000Z", "name": "coa-678-4", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "course-of-action", "x_capec_version": "3.9" }, { "created": "2021-10-21T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--0868754c-7cfa-484b-914c-804bad2eccd0", "modified": "2023-01-24T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--8933af3c-bb36-4306-b04a-c9d575f6ceae", "spec_version": "2.1", "target_ref": "attack-pattern--d0a5a641-ba5e-4bd6-8a06-addfa4d03cfb", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2021-10-21T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "Maintain configuration control over operational systems.", "id": "course-of-action--71fca30c-ceb8-451f-9299-3c9b1b83d9ae", "modified": "2023-01-24T00:00:00.000Z", "name": "coa-678-5", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "course-of-action", "x_capec_version": "3.9" }, { "created": "2021-10-21T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--950b2aca-4816-440a-b10e-52af4e8d7a6b", "modified": "2023-01-24T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--71fca30c-ceb8-451f-9299-3c9b1b83d9ae", "spec_version": "2.1", "target_ref": "attack-pattern--d0a5a641-ba5e-4bd6-8a06-addfa4d03cfb", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2021-10-21T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "\n An adversary takes advantage of missing or incorrectly configured access control within memory to read/write data or inject malicious code into said memory.\n ", "external_references": [ { "external_id": "CAPEC-679", "source_name": "capec", "url": "https://capec.mitre.org/data/definitions/679.html" }, { "external_id": "CWE-1222", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/1222.html" }, { "external_id": "CWE-1252", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/1252.html" }, { "external_id": "CWE-1257", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/1257.html" }, { "external_id": "CWE-1260", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/1260.html" }, { "external_id": "CWE-1274", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/1274.html" }, { "external_id": "CWE-1282", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/1282.html" }, { "external_id": "CWE-1312", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/1312.html" }, { "external_id": "CWE-1316", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/1316.html" }, { "external_id": "CWE-1326", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/1326.html" }, { "description": "Cortex-R4 Manual, ARM", "external_id": "REF-687", "source_name": "reference_from_CAPEC", "url": "https://developer.arm.com/ip-products/processors/cortex-m/cortex-m4" }, { "description": "Testing for NoSQL Injection, The OWASP Foundation", "external_id": "REF-668", "source_name": "reference_from_CAPEC", "url": "https://owasp.org/www-project-web-security-testing-guide/latest/4-Web_Application_Security_Testing/07-Input_Validation_Testing/05.6-Testing_for_NoSQL_Injection" }, { "description": "Memory Protection Unit (MPU), ARM", "external_id": "REF-689", "source_name": "reference_from_CAPEC", "url": "https://static.docs.arm.com/100699/0100/armv8m_architecture_memory_protection_unit_100699_0100_00_en.pdf" }, { "description": "Christopher Domas, The Memory Sinkhole, 2015--07---20", "external_id": "REF-690", "source_name": "reference_from_CAPEC", "url": "https://github.com/xoreaxeaxeax/sinkhole/blob/master/us-15-Domas-TheMemorySinkhole-wp.pdf" }, { "description": "Address Range Memory Mirroring, 2016--07---13, Taku Izumi, Fujitsu Limited", "external_id": "REF-691", "source_name": "reference_from_CAPEC", "url": "https://www.fujitsu.com/jp/documents/products/software/os/linux/catalog/LinuxConJapan2016-Izumi.pdf" }, { "description": "Yuriy Bulygin, Oleksandr Bazhaniuk, Andrew Furtak, John Loucaides, Mikhail Gorobets, BARing the System – New vulnerabilities in Coreboot & UEFI-based Systems, 2017", "external_id": "REF-692", "source_name": "reference_from_CAPEC", "url": "https://www.c7zero.info/stuff/REConBrussels2017_BARing_the_system.pdf" } ], "id": "attack-pattern--3ba20dcc-8fec-4d74-a472-eb9694fe8142", "modified": "2021-10-21T00:00:00.000Z", "name": "Exploitation of Improperly Configured or Implemented Memory Protections", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "attack-pattern", "x_capec_abstraction": "Detailed", "x_capec_child_of_refs": [ "attack-pattern--92cdcd3d-d734-4442-afc3-4599f261498b", "attack-pattern--aac17300-6cdd-4f50-82c3-da5a01d225ac" ], "x_capec_consequences": { "Access_Control": [ "Gain Privileges" ], "Authorization": [ "Gain Privileges" ], "Availability": [ "Execute Unauthorized Commands (Run Arbitrary Code)" ], "Confidentiality": [ "Read Data", "Execute Unauthorized Commands (Run Arbitrary Code)", "Gain Privileges" ], "Integrity": [ "Modify Data", "Execute Unauthorized Commands (Run Arbitrary Code)" ] }, "x_capec_domains": [ "Hardware", "Hardware" ], "x_capec_example_instances": [ "\n A hardware product contains non-volatile memory, which itself contains boot code that is insufficiently protected. An adversary then modifies this memory to either bypass the secure boot process or to execute their own code.\n ", "\n A hardware product leverages a CPU that does not possess a memory-protection unit (MPU) and a memory-management unit (MMU) nor a special bit to support write exclusivity, resulting in no write exclusivity. Because of this, an adversary is able to inject malicious code into the memory and later execute it to achieve the desired outcome.\n " ], "x_capec_extended_description": "\n Hardware product designs often need to implement memory protection features to prevent users from reading and modifying memory reserved for security operations such as secure booting, authenticating code, device attestation, and more. However, these protection features may be missing if not configured by developers. For example, this can occur if the developers assume these features are configured elsewhere. Additionally, developers often attempt to impose proper protection features, but may incorrectly configure these controls. One such example would be setting controls with insufficient granularity for protected address regions. If an adversary is able to discover improper access controls surrounding memory, it could result in the adversary obtaining sensitive data, executing code, circumventing security mechanisms, escalating privileges, or even denying service to higher privilege software.\n ", "x_capec_likelihood_of_attack": "Medium", "x_capec_prerequisites": [ "Access to the hardware being leveraged." ], "x_capec_skills_required": { "High": "Intricate knowledge of memory structures.", "Medium": "Ability to craft malicious code to inject into the memory region." }, "x_capec_status": "Draft", "x_capec_typical_severity": "Very High", "x_capec_version": "3.9" }, { "created": "2021-10-21T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "Ensure that protected and unprotected memory ranges are isolated and do not overlap.", "id": "course-of-action--d8644789-b5aa-430b-ba1a-8debdc9b27e0", "modified": "2021-10-21T00:00:00.000Z", "name": "coa-679-0", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "course-of-action", "x_capec_version": "3.9" }, { "created": "2021-10-21T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--93b182a2-5d09-46dc-a864-f76e8794dbc0", "modified": "2021-10-21T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--d8644789-b5aa-430b-ba1a-8debdc9b27e0", "spec_version": "2.1", "target_ref": "attack-pattern--3ba20dcc-8fec-4d74-a472-eb9694fe8142", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2021-10-21T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "If memory regions must overlap, leverage memory priority schemes if memory regions can overlap.", "id": "course-of-action--e00eb22c-824b-42c4-bbeb-869936a1019e", "modified": "2021-10-21T00:00:00.000Z", "name": "coa-679-1", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "course-of-action", "x_capec_version": "3.9" }, { "created": "2021-10-21T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--3c6a1cf7-f17e-41e5-a34a-c559ed3bab78", "modified": "2021-10-21T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--e00eb22c-824b-42c4-bbeb-869936a1019e", "spec_version": "2.1", "target_ref": "attack-pattern--3ba20dcc-8fec-4d74-a472-eb9694fe8142", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2021-10-21T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "Ensure that original and mirrored memory regions apply the same protections.", "id": "course-of-action--a95b7f45-adeb-4411-b4f1-92dec47a8028", "modified": "2021-10-21T00:00:00.000Z", "name": "coa-679-2", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "course-of-action", "x_capec_version": "3.9" }, { "created": "2021-10-21T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--40599fe1-c651-4840-8670-ea221031fd9b", "modified": "2021-10-21T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--a95b7f45-adeb-4411-b4f1-92dec47a8028", "spec_version": "2.1", "target_ref": "attack-pattern--3ba20dcc-8fec-4d74-a472-eb9694fe8142", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2021-10-21T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "Ensure immutable code or data is programmed into ROM or write-once memory.", "id": "course-of-action--861bcbd5-8263-435d-83cd-98b7a1297980", "modified": "2021-10-21T00:00:00.000Z", "name": "coa-679-3", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "course-of-action", "x_capec_version": "3.9" }, { "created": "2021-10-21T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--b1b7b572-66d6-497f-9534-70a94507d789", "modified": "2021-10-21T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--861bcbd5-8263-435d-83cd-98b7a1297980", "spec_version": "2.1", "target_ref": "attack-pattern--3ba20dcc-8fec-4d74-a472-eb9694fe8142", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "Many languages use code signing facilities to vouch for code's identity and to thus tie code to its assigned privileges within an environment. Subverting this mechanism can be instrumental in an attacker escalating privilege. Any means of subverting the way that a virtual machine enforces code signing classifies for this style of attack.", "external_references": [ { "external_id": "CAPEC-68", "source_name": "capec", "url": "https://capec.mitre.org/data/definitions/68.html" }, { "external_id": "CWE-325", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/325.html" }, { "external_id": "CWE-328", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/328.html" }, { "external_id": "CWE-1326", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/1326.html" }, { "description": "Subvert Trust Controls: Code Signing", "external_id": "T1553.002", "source_name": "ATTACK", "url": "https://attack.mitre.org/wiki/Technique/T1553/002" } ], "id": "attack-pattern--2b8d7aaf-bd4b-424f-8df4-6d0f37b72f4b", "modified": "2022-09-29T00:00:00.000Z", "name": "Subvert Code-signing Facilities", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "attack-pattern", "x_capec_abstraction": "Standard", "x_capec_can_follow_refs": [ "attack-pattern--80649f3c-d2f3-4703-9e78-e096673a7517" ], "x_capec_child_of_refs": [ "attack-pattern--c05fff04-b965-4a11-9c18-379dac31969f" ], "x_capec_consequences": { "Access_Control": [ "Gain Privileges" ], "Authorization": [ "Gain Privileges" ], "Confidentiality": [ "Gain Privileges" ] }, "x_capec_domains": [ "Software", "Hardware" ], "x_capec_example_instances": [ "In old versions (prior to 3.0b4) of the Netscape web browser Attackers able to foist a malicious Applet into a client's browser could execute the \"Magic Coat\" attack. In this attack, the offending Applet would implement its own getSigners() method. This implementation would use the containing VM's APIs to acquire other Applet's signatures (by calling _their_ getSigners() method) and if any running Applet had privileged-enough signature, the malicious Applet would have inherited that privilege just be (metaphorically) donning the others' coats.", "Some (older) web browsers allowed scripting languages, such as JavaScript, to call signed Java code. In these circumstances, the browser's VM implementation would choose not to conduct stack inspection across language boundaries (from called signed Java to calling JavaScript) and would short-circuit \"true\" at the language boundary. Doing so meant that the VM would allow any (unprivileged) script to call privileged functions within signed code with impunity, causing them to fall prey to luring attacks.", "The ability to load unsigned code into the kernel of earlier versions of Vista and bypass integrity checking is an example of such subversion. In the proof-of-concept, it is possible to bypass the signature-checking mechanism Vista uses to load device drivers." ], "x_capec_likelihood_of_attack": "Low", "x_capec_prerequisites": [ "A framework-based language that supports code signing (such as, and most commonly, Java or .NET)", "Deployed code that has been signed by its authoring vendor, or a partner.", "The attacker will, for most circumstances, also need to be able to place code in the victim container. This does not necessarily mean that they will have to subvert host-level security, except when explicitly indicated." ], "x_capec_resources_required": [ "The Attacker needs no special resources beyond the listed prerequisites in order to conduct this style of attack." ], "x_capec_skills_required": { "High": "Subverting code signing is not a trivial activity. Most code signing and verification schemes are based on use of cryptography and the attacker needs to have an understanding of these cryptographic operations in good detail. Additionally the attacker also needs to be aware of the way memory is assigned and accessed by the container since, often, the only way to subvert code signing would be to patch the code in memory. Finally, a knowledge of the platform specific mechanisms of signing and verifying code is a must." }, "x_capec_status": "Draft", "x_capec_typical_severity": "Very High", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "A given code signing scheme may be fallible due to improper use of cryptography. Developers must never roll out their own cryptography, nor should existing primitives be modified or ignored.", "id": "course-of-action--4f33facb-34c1-4eab-9b1f-e31ba84713d2", "modified": "2022-09-29T00:00:00.000Z", "name": "coa-68-0", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "course-of-action", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--1e2f360c-c268-4b41-a5b7-b73b41b6ad49", "modified": "2022-09-29T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--4f33facb-34c1-4eab-9b1f-e31ba84713d2", "spec_version": "2.1", "target_ref": "attack-pattern--2b8d7aaf-bd4b-424f-8df4-6d0f37b72f4b", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "If an attacker cannot attack the scheme directly, they might try to alter the environment that affects the signing and verification processes. A possible mitigation is to avoid reliance on flags or environment variables that are user-controllable.", "id": "course-of-action--211fb4c0-38c1-4bfe-bb8e-b32e9baaf81c", "modified": "2022-09-29T00:00:00.000Z", "name": "coa-68-1", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "course-of-action", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--08999418-b2b2-438c-aa9b-95bf0933923b", "modified": "2022-09-29T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--211fb4c0-38c1-4bfe-bb8e-b32e9baaf81c", "spec_version": "2.1", "target_ref": "attack-pattern--2b8d7aaf-bd4b-424f-8df4-6d0f37b72f4b", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2021-10-21T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "\n An adversary exploits missing or incorrectly configured access control within registers to read/write data that is not meant to be obtained or modified by a user.\n ", "external_references": [ { "external_id": "CAPEC-680", "source_name": "capec", "url": "https://capec.mitre.org/data/definitions/680.html" }, { "external_id": "CWE-1224", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/1224.html" }, { "external_id": "CWE-1231", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/1231.html" }, { "external_id": "CWE-1233", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/1233.html" }, { "external_id": "CWE-1262", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/1262.html" }, { "external_id": "CWE-1283", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/1283.html" }, { "description": "Brandon Hill, Huge Intel CPU Bug Allegedly Causes Kernel Memory Vulnerability With Up To 30% Performance Hit In Windows And Linux, 2018--01---02, David Altavilla and Hot Hardware, Inc", "external_id": "REF-693", "source_name": "reference_from_CAPEC", "url": "https://hothardware.com/news/intel-cpu-bug-kernel-memory-isolation-linux-windows-macos" } ], "id": "attack-pattern--1abd165a-57e9-4b78-9221-7b6fcdc57810", "modified": "2021-10-21T00:00:00.000Z", "name": "Exploitation of Improperly Controlled Registers", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "attack-pattern", "x_capec_abstraction": "Detailed", "x_capec_child_of_refs": [ "attack-pattern--92cdcd3d-d734-4442-afc3-4599f261498b", "attack-pattern--aac17300-6cdd-4f50-82c3-da5a01d225ac" ], "x_capec_consequences": { "Confidentiality": [ "Read Data" ], "Integrity": [ "Modify Data" ] }, "x_capec_domains": [ "Hardware", "Hardware" ], "x_capec_example_instances": [ "\n During a System-on-Chip's (SoC) secure boot process, the code to be authenticated is measured to determine the code's validity. This entails the one-way hash of the code binary being calculated and extended to the previous hash. The value obtained after completion of the boot flow is then stored in a register with the intent of later verifying this value to determine if the boot flow has been tampered with. However, the register being used does not prevent an adversary from modifying the register's contents, which can result in the adversary spoofing the measurement data used in the attestation process.\n " ], "x_capec_extended_description": "\n Hardware systems often utilize trusted lock bits to prevent a set of registers from being written to or to restrict a register to only being written to once. Registers are also frequently used to store sensitive data leveraged in additional security operations, such as secure booting, authenticating code, device attestation, and more. However, the access control mechanisms meant to protect these registers may be fully missing or ineffective due to misconfiguration. If an adversary is able to discover improper access controls surrounding registers, it could result in the adversary obtaining sensitive data and/or modifying data that is meant to be immutable. This can ultimately result in processes like secure boot being circumvented or in protected configurations being modified.\n ", "x_capec_likelihood_of_attack": "Medium", "x_capec_prerequisites": [ "Awareness of the hardware being leveraged.", "Access to the hardware being leveraged." ], "x_capec_skills_required": { "High": "Intricate knowledge of registers." }, "x_capec_status": "Draft", "x_capec_typical_severity": "High", "x_capec_version": "3.9" }, { "created": "2021-10-21T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "Design proper access control policies for hardware register access from software and ensure these policies are implemented in accordance with the specified design.", "id": "course-of-action--963ffcae-bcd8-4754-a147-b844f6e13273", "modified": "2021-10-21T00:00:00.000Z", "name": "coa-680-0", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "course-of-action", "x_capec_version": "3.9" }, { "created": "2021-10-21T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--32aef2ed-6339-425f-9acf-8117ffb0c421", "modified": "2021-10-21T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--963ffcae-bcd8-4754-a147-b844f6e13273", "spec_version": "2.1", "target_ref": "attack-pattern--1abd165a-57e9-4b78-9221-7b6fcdc57810", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2021-10-21T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "Ensure security lock bit protections are reviewed for design inconsistencies and common weaknesses.", "id": "course-of-action--6b798e4e-c828-4581-abb6-6e17c7dd80c8", "modified": "2021-10-21T00:00:00.000Z", "name": "coa-680-1", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "course-of-action", "x_capec_version": "3.9" }, { "created": "2021-10-21T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--3e7a22ee-e503-4bb5-842d-dccfa1314700", "modified": "2021-10-21T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--6b798e4e-c828-4581-abb6-6e17c7dd80c8", "spec_version": "2.1", "target_ref": "attack-pattern--1abd165a-57e9-4b78-9221-7b6fcdc57810", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2021-10-21T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "Test security lock programming flow in both pre-silicon and post-silicon environments.", "id": "course-of-action--46b5084e-a2c7-462c-8aac-2a3e6e32e12c", "modified": "2021-10-21T00:00:00.000Z", "name": "coa-680-2", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "course-of-action", "x_capec_version": "3.9" }, { "created": "2021-10-21T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--3ce0cc33-be72-46dc-91f1-c7e2891fb760", "modified": "2021-10-21T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--46b5084e-a2c7-462c-8aac-2a3e6e32e12c", "spec_version": "2.1", "target_ref": "attack-pattern--1abd165a-57e9-4b78-9221-7b6fcdc57810", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2021-10-21T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "Leverage automated tools to test that values are not reprogrammable and that write-once fields lock on writing zeros.", "id": "course-of-action--b579fa05-4d4e-46a5-8146-7c81316da234", "modified": "2021-10-21T00:00:00.000Z", "name": "coa-680-3", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "course-of-action", "x_capec_version": "3.9" }, { "created": "2021-10-21T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--739ffd20-3728-428b-b493-fba7c95d706c", "modified": "2021-10-21T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--b579fa05-4d4e-46a5-8146-7c81316da234", "spec_version": "2.1", "target_ref": "attack-pattern--1abd165a-57e9-4b78-9221-7b6fcdc57810", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2021-10-21T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "Ensure that measurement data is stored in registers that are read-only or otherwise have access controls that prevent modification by an untrusted agent.", "id": "course-of-action--ba08dc27-44eb-4fa4-b5f2-dfbfa85987e5", "modified": "2021-10-21T00:00:00.000Z", "name": "coa-680-4", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "course-of-action", "x_capec_version": "3.9" }, { "created": "2021-10-21T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--5af32ae4-547c-4e74-97a3-7ac9778fccd7", "modified": "2021-10-21T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--ba08dc27-44eb-4fa4-b5f2-dfbfa85987e5", "spec_version": "2.1", "target_ref": "attack-pattern--1abd165a-57e9-4b78-9221-7b6fcdc57810", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2021-10-21T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "\n An adversary takes advantage of missing or incorrectly configured security identifiers (e.g., tokens), which are used for access control within a System-on-Chip (SoC), to read/write data or execute a given action.\n ", "external_references": [ { "external_id": "CAPEC-681", "source_name": "capec", "url": "https://capec.mitre.org/data/definitions/681.html" }, { "external_id": "CWE-1259", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/1259.html" }, { "external_id": "CWE-1267", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/1267.html" }, { "external_id": "CWE-1270", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/1270.html" }, { "external_id": "CWE-1294", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/1294.html" }, { "external_id": "CWE-1302", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/1302.html" }, { "description": "PCIe Device Measurement Requirements, 2018--09, Intel Corporation", "external_id": "REF-694", "source_name": "reference_from_CAPEC", "url": "https://www.intel.com/content/dam/www/public/us/en/documents/reference-guides/pcie-device-security-enhancements.pdf" }, { "description": "John Butterworth, Cory Kallenberg, Xeno Kovah, BIOS Chronomancy: Fixing the Core Root of Trust for Measurement, 2013--07---31", "external_id": "REF-695", "source_name": "reference_from_CAPEC", "url": "https://media.blackhat.com/us-13/US-13-Butterworth-BIOS-Security-Slides.pdf" } ], "id": "attack-pattern--e8a8a8f5-3ad5-4d3f-a35b-48036147266b", "modified": "2021-10-21T00:00:00.000Z", "name": "Exploitation of Improperly Controlled Hardware Security Identifiers", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "attack-pattern", "x_capec_abstraction": "Detailed", "x_capec_child_of_refs": [ "attack-pattern--92cdcd3d-d734-4442-afc3-4599f261498b", "attack-pattern--aac17300-6cdd-4f50-82c3-da5a01d225ac" ], "x_capec_consequences": { "Access_Control": [ "Gain Privileges" ], "Authorization": [ "Gain Privileges" ], "Confidentiality": [ "Read Data", "Gain Privileges" ], "Integrity": [ "Modify Data" ] }, "x_capec_domains": [ "Hardware", "Hardware" ], "x_capec_example_instances": [ "\n A system contains a register (divided into four 32-bit registers) that is used to store a 128-bit AES key for encryption/decryption, in addition to an access-policy register. The access-policy register determines which agents may access the AES-key registers, based on a corresponding security identifier. It is assumed the system has two agents: a Main-controller and an Aux-controller, with respective security identifiers \"1\" and \"2\". The Main-controller (ID \"1\") is meant to have access to the AES-key registers, while the Aux-controller (ID \"2\") has access to the access-policy register. If a SoC incorrectly generates security identifier \"1\" for both agents, then both agents will have access to the AES-key registers. This could further result in a Denial-of-Service (DoS) or the execution of an action that in turn could result in privilege escalation or unintended access.\n " ], "x_capec_extended_description": "\n A System-on-Chip (SoC) often implements a security identifier mechanism to differentiate what actions are allowed or disallowed when a transaction originates from an entity. However, these mechanisms may be exploitable due to any number of the following:\n \n The security identifiers are missing\n The security identifiers are incorrectly implemented or generated\n The security identifiers are generated with an obsolete encoding\n The security identifiers are generated and implemented correctly, but are improperly protected\n \n If the security identifiers leveraged by the SoC are missing or misconfigured, an adversary may be able to take advantage of this shortcoming to circumvent the intended access controls. This could result in the adversary gaining unintended access, performing a Denial of Service (DoS), escalating privileges, or spoofing actions from a trusted agent.\n ", "x_capec_likelihood_of_attack": "Medium", "x_capec_prerequisites": [ "Awareness of the hardware being leveraged.", "Access to the hardware being leveraged." ], "x_capec_skills_required": { "High": "Intricate knowledge of the identifiers being utilized.", "Medium": "Ability to execute actions within the SoC." }, "x_capec_status": "Draft", "x_capec_typical_severity": "Very High", "x_capec_version": "3.9" }, { "created": "2021-10-21T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "Review generation of security identifiers for design inconsistencies and common weaknesses.", "id": "course-of-action--01ab67eb-d3f3-4853-bda1-c1ca06afc898", "modified": "2021-10-21T00:00:00.000Z", "name": "coa-681-0", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "course-of-action", "x_capec_version": "3.9" }, { "created": "2021-10-21T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--d0df491b-0667-4d31-9aa1-9a9f21ccbc1c", "modified": "2021-10-21T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--01ab67eb-d3f3-4853-bda1-c1ca06afc898", "spec_version": "2.1", "target_ref": "attack-pattern--e8a8a8f5-3ad5-4d3f-a35b-48036147266b", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2021-10-21T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "Review security identifier decoders for design inconsistencies and common weaknesses.", "id": "course-of-action--2290178c-f33c-4fb0-9b25-c553c2499dae", "modified": "2021-10-21T00:00:00.000Z", "name": "coa-681-1", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "course-of-action", "x_capec_version": "3.9" }, { "created": "2021-10-21T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--38e2a6ae-74e9-48d2-8118-bf5c8494a56c", "modified": "2021-10-21T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--2290178c-f33c-4fb0-9b25-c553c2499dae", "spec_version": "2.1", "target_ref": "attack-pattern--e8a8a8f5-3ad5-4d3f-a35b-48036147266b", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2021-10-21T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "Test security identifier definition, access, and programming flow in both pre-silicon and post-silicon environments.", "id": "course-of-action--cb529162-8335-438c-9301-27477c72f990", "modified": "2021-10-21T00:00:00.000Z", "name": "coa-681-2", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "course-of-action", "x_capec_version": "3.9" }, { "created": "2021-10-21T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--c1cc36ea-b168-4d92-b480-8c003969dc5a", "modified": "2021-10-21T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--cb529162-8335-438c-9301-27477c72f990", "spec_version": "2.1", "target_ref": "attack-pattern--e8a8a8f5-3ad5-4d3f-a35b-48036147266b", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2022-09-29T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "An adversary may exploit vulnerable code (i.e., firmware or ROM) that is unpatchable. Unpatchable devices exist due to manufacturers intentionally or inadvertently designing devices incapable of updating their software. Additionally, with updatable devices, the manufacturer may decide not to support the device and stop making updates to their software.", "external_references": [ { "external_id": "CAPEC-682", "source_name": "capec", "url": "https://capec.mitre.org/data/definitions/682.html" }, { "external_id": "CWE-1277", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/1277.html" }, { "external_id": "CWE-1310", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/1310.html" }, { "description": "Alex Scroxton, Alarm bells ring, the IoT is listening, 2019--12---13, TechTarget", "external_id": "REF-723", "source_name": "reference_from_CAPEC", "url": "https://www.computerweekly.com/news/252475324/Alarm-bells-ring-the-IoT-is-listening" }, { "description": "Matthew Hughes, Bad news: KeyWe Smart Lock is easily bypassed and can't be fixed, 2019--12---11, Situation Publishing", "external_id": "REF-724", "source_name": "reference_from_CAPEC", "url": "https://www.theregister.com/2019/12/11/f_secure_keywe/" }, { "description": "Brian Krebs, Zyxel Flaw Powers New Mirai IoT Botnet Strain, 2020--03---20, Krebs on Security", "external_id": "REF-725", "source_name": "reference_from_CAPEC", "url": "https://krebsonsecurity.com/2020/03/zxyel-flaw-powers-new-mirai-iot-botnet-strain/" }, { "description": "Colin Schulz, Stefan Raff, Sebastian Kortmann, Nikolaus Obwegeser, Digital Age Organizations: Uncovering Over-the-Air Updates in the Smart Product Realm, 2021--12, International Conference on Information Systems (ICIS) 2021", "external_id": "REF-726", "source_name": "reference_from_CAPEC", "url": "https://www.researchgate.net/publication/356065917_Digital_Age_Organizations_Uncovering_Over-the-Air_Updates_in_the_Smart_Product_Realm" } ], "id": "attack-pattern--0cd20b07-0159-46ed-bff1-cf0dfd0b5a37", "modified": "2022-09-29T00:00:00.000Z", "name": "Exploitation of Firmware or ROM Code with Unpatchable Vulnerabilities", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "attack-pattern", "x_capec_abstraction": "Standard", "x_capec_child_of_refs": [ "attack-pattern--c727c058-2c9d-4021-a1ec-81dd030dea59" ], "x_capec_consequences": { "Access_Control": [ "Gain Privileges" ], "Authorization": [ "Gain Privileges" ], "Confidentiality": [ "Read Data" ], "Integrity": [ "Modify Data" ] }, "x_capec_domains": [ "Software", "Hardware" ], "x_capec_example_instances": [ "\n An IoT company comes out with a line of smart products for home use such as home cameras, vacuums, and smart bulbs. The products become popular, and millions of consumers install these devices in their homes. All the devices use a custom module for encryption that is stored on a ROM chip, which is immutable memory and can't be changed. An adversary discovers that there is a vulnerability in the encryption module code that allows authentication bypass, gaining access to any device. The adversary then develops botnet code that is remotely downloaded onto the infected devices. This code scans the internet for nearby devices from the same product line and exploits the vulnerability, loading the botnet code onto these new devices. Over time, the adversary now has a botnet of devices that can carry out malicious activity such as a DDoS attacks. Once the vulnerability is found, it is impossible to remediate because the vulnerable code is unable to be updated.\n ", "\n Older smartphones can become out of date and manufacturers may stop putting out security updates as they focus on newer models. If an adversary discovers a vulnerability in an old smartphone there is a chance that a security update will not be made to mitigate it. This leaves anyone using the old smartphone vulnerable.\n " ], "x_capec_execution_flow": "

Execution Flow

Explore

  1. Determine vulnerable firmware or ROM code: An adversary will attempt to find device models that are known to have unpatchable firmware or ROM code, or are deemed “end-of-support” where a patch will not be made. The adversary looks for vulnerabilities in firmware or ROM code for the identified devices, or looks for devices which have known vulnerabilities

  2. Techniques
    Many botnets use wireless scanning to discover nearby devices that might have default credentials or commonly used passwords. Once these devices are infected, they can search for other nearby devices and so on.

Experiment

  1. Determine plan of attack: An adversary identifies a specific device/model that they wish to attack. They will also investigate similar devices to determine if the vulnerable firmware or ROM code is also present.

Exploit

  1. Carry out attack: An adversary exploits the vulnerable firmware or ROM code on the identified device(s) to achieve their desired goal.

  2. Techniques
    Install malware on a device to recruit it for a botnet.
    Install malware on the device and use it for a ransomware attack.
    Gain root access and steal information stored on the device.
    Manipulate the device to behave in unexpected ways which would benefit the adversary.
", "x_capec_extended_description": "When a vulnerability is found in a device that has no means of patching, the attack may be used against an entire class of devices. Devices from the same manufacturer often use similar or identical firmware, which could lead to widespread attacks. Devices of this nature are prime targets for botnet attacks. Consumer devices are frequently targeted for this attack due to the complexities of updating firmware once manufacturers no longer have physical access to a device. When exploiting a found vulnerability, adversaries often try to gain root access on a device. This allows them to use the device for any malicious purpose. Some example exploits are stealing device data, using the device for a ransomware attack, or recruiting the device for a botnet.", "x_capec_likelihood_of_attack": "Medium", "x_capec_prerequisites": [ "Awareness of the hardware being leveraged.", "Access to the hardware being leveraged, either physically or remotely." ], "x_capec_skills_required": { "High": "Ability to identify physical entry points such as debug interfaces if the device is not being accessed remotely", "Medium": "Knowledge of various wireless protocols to enable remote access to vulnerable devices" }, "x_capec_status": "Draft", "x_capec_typical_severity": "High", "x_capec_version": "3.9" }, { "created": "2022-09-29T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "Design systems and products with the ability to patch firmware or ROM code after deployment to fix vulnerabilities.", "id": "course-of-action--2ca1e82e-84ae-463a-adbf-1d60e3f3a72c", "modified": "2022-09-29T00:00:00.000Z", "name": "coa-682-0", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "course-of-action", "x_capec_version": "3.9" }, { "created": "2022-09-29T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--356d9eee-96bf-4426-b750-ee52f3559653", "modified": "2022-09-29T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--2ca1e82e-84ae-463a-adbf-1d60e3f3a72c", "spec_version": "2.1", "target_ref": "attack-pattern--0cd20b07-0159-46ed-bff1-cf0dfd0b5a37", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2022-09-29T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "Make use of OTA (Over-the-air) updates so that firmware can be patched remotely either through manual or automatic means", "id": "course-of-action--9f1f6ddb-9f30-4b10-870f-d65ecbef0d8c", "modified": "2022-09-29T00:00:00.000Z", "name": "coa-682-1", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "course-of-action", "x_capec_version": "3.9" }, { "created": "2022-09-29T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--d5d15986-f2d6-4124-8dae-11ab17a58bde", "modified": "2022-09-29T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--9f1f6ddb-9f30-4b10-870f-d65ecbef0d8c", "spec_version": "2.1", "target_ref": "attack-pattern--0cd20b07-0159-46ed-bff1-cf0dfd0b5a37", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "This attack targets programs running with elevated privileges. The adversary tries to leverage a vulnerability in the running program and get arbitrary code to execute with elevated privileges.", "external_references": [ { "external_id": "CAPEC-69", "source_name": "capec", "url": "https://capec.mitre.org/data/definitions/69.html" }, { "external_id": "CWE-250", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/250.html" }, { "external_id": "CWE-15", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/15.html" }, { "description": "G. Hoglund, G. McGraw, Exploiting Software: How to Break Code, 2004--02, Addison-Wesley", "external_id": "REF-1", "source_name": "reference_from_CAPEC" } ], "id": "attack-pattern--ca989a50-b24e-4917-a234-ce4788fa21c7", "modified": "2021-10-21T00:00:00.000Z", "name": "Target Programs with Elevated Privileges", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "attack-pattern", "x_capec_abstraction": "Standard", "x_capec_can_precede_refs": [ "attack-pattern--e62000f0-addd-4156-b9fd-469bbb211d45", "attack-pattern--b6a2983b-1d97-4698-b210-961ed0523f33", "attack-pattern--4a29d66d-8617-4382-b456-578ecdb1609e", "attack-pattern--4cd18074-15c1-4206-8391-115685669623" ], "x_capec_child_of_refs": [ "attack-pattern--c05fff04-b965-4a11-9c18-379dac31969f" ], "x_capec_consequences": { "Access_Control": [ "Gain Privileges" ], "Authorization": [ "Gain Privileges" ], "Availability": [ "Execute Unauthorized Commands (Run Arbitrary Code)", "Resource Consumption (Denial of Service)" ], "Confidentiality": [ "Execute Unauthorized Commands (Run Arbitrary Code)", "Gain Privileges" ], "Integrity": [ "Execute Unauthorized Commands (Run Arbitrary Code)" ] }, "x_capec_domains": [ "Software" ], "x_capec_execution_flow": "

Execution Flow

Explore

  1. Find programs with elevated priveleges: The adversary probes for programs running with elevated privileges.

  2. Techniques
    Look for programs that write to the system directories or registry keys (such as HKLM, which stores a number of critical Windows environment variables). These programs are typically running with elevated privileges and have usually not been designed with security in mind. Such programs are excellent exploit targets because they yield lots of power when they break.
  3. Find vulnerability in running program: The adversary looks for a vulnerability in the running program that would allow for arbitrary code execution with the privilege of the running program.

  4. Techniques
    Look for improper input validation
    Look for improper failure safety. For instance when a program fails it may authorize restricted access to anyone.
    Look for a buffer overflow which may be exploited if an adversary can inject unvalidated data.

Exploit

  1. Execute arbitrary code: The adversary exploits the vulnerability that they have found. For instance, they can try to inject and execute arbitrary code or write to OS resources.

", "x_capec_likelihood_of_attack": "High", "x_capec_prerequisites": [ "The targeted program runs with elevated OS privileges.", "The targeted program accepts input data from the user or from another program.", "The targeted program is giving away information about itself. Before performing such attack, an eventual attacker may need to gather information about the services running on the host target. The more the host target is verbose about the services that are running (version number of application, etc.) the more information can be gather by an attacker.", "This attack often requires communicating with the host target services directly. For instance Telnet may be enough to communicate with the host target." ], "x_capec_skills_required": { "Low": "An attacker can use a tool to scan and automatically launch an attack against known issues. A tool can also repeat a sequence of instructions and try to brute force the service on the host target, an example of that would be the flooding technique.", "Medium": "More advanced attack may require knowledge of the protocol spoken by the host service." }, "x_capec_status": "Draft", "x_capec_typical_severity": "Very High", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "Apply the principle of least privilege.", "id": "course-of-action--c87108ec-86d6-4db1-b9a6-9d165534dfbb", "modified": "2021-10-21T00:00:00.000Z", "name": "coa-69-0", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "course-of-action", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--4ac5e039-5b39-4762-baa6-db1436c0c113", "modified": "2021-10-21T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--c87108ec-86d6-4db1-b9a6-9d165534dfbb", "spec_version": "2.1", "target_ref": "attack-pattern--ca989a50-b24e-4917-a234-ce4788fa21c7", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "Validate all untrusted data.", "id": "course-of-action--ffbb9cca-91d0-42f4-8214-bd2ef9539388", "modified": "2021-10-21T00:00:00.000Z", "name": "coa-69-1", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "course-of-action", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--3b71f57d-057f-4ba8-90a3-b82441f7ad5f", "modified": "2021-10-21T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--ffbb9cca-91d0-42f4-8214-bd2ef9539388", "spec_version": "2.1", "target_ref": "attack-pattern--ca989a50-b24e-4917-a234-ce4788fa21c7", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "Apply the latest patches.", "id": "course-of-action--82e53757-6195-45a8-87d8-b8a3471be28d", "modified": "2021-10-21T00:00:00.000Z", "name": "coa-69-2", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "course-of-action", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--3c3677a7-f6ef-4f6a-98f2-23a940c9d065", "modified": "2021-10-21T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--82e53757-6195-45a8-87d8-b8a3471be28d", "spec_version": "2.1", "target_ref": "attack-pattern--ca989a50-b24e-4917-a234-ce4788fa21c7", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "Scan your services and disable the ones which are not needed and are exposed unnecessarily. Exposing programs increases the attack surface. Only expose the services which are needed and have security mechanisms such as authentication built around them.", "id": "course-of-action--7b2b2f5e-63ea-4e66-b1db-20c8cfb846bc", "modified": "2021-10-21T00:00:00.000Z", "name": "coa-69-3", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "course-of-action", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--3852cd85-fee0-458c-aa19-1ee065916045", "modified": "2021-10-21T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--7b2b2f5e-63ea-4e66-b1db-20c8cfb846bc", "spec_version": "2.1", "target_ref": "attack-pattern--ca989a50-b24e-4917-a234-ce4788fa21c7", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "Avoid revealing information about your system (e.g., version of the program) to anonymous users.", "id": "course-of-action--2e81b94f-576a-4a5d-8535-19447cf00938", "modified": "2021-10-21T00:00:00.000Z", "name": "coa-69-4", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "course-of-action", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--6f38ce3b-57b6-40fc-8b8c-08befcded00e", "modified": "2021-10-21T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--2e81b94f-576a-4a5d-8535-19447cf00938", "spec_version": "2.1", "target_ref": "attack-pattern--ca989a50-b24e-4917-a234-ce4788fa21c7", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "Make sure that your program or service fail safely. What happen if the communication protocol is interrupted suddenly? What happen if a parameter is missing? Does your system have resistance and resilience to attack? Fail safely when a resource exhaustion occurs.", "id": "course-of-action--c88ccddb-e8a1-4fd2-91df-be5dfb7cd1b3", "modified": "2021-10-21T00:00:00.000Z", "name": "coa-69-5", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "course-of-action", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--5b4e5f04-ebe0-4a77-b851-5826990a4dda", "modified": "2021-10-21T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--c88ccddb-e8a1-4fd2-91df-be5dfb7cd1b3", "spec_version": "2.1", "target_ref": "attack-pattern--ca989a50-b24e-4917-a234-ce4788fa21c7", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "If possible use a sandbox model which limits the actions that programs can take. A sandbox restricts a program to a set of privileges and commands that make it difficult or impossible for the program to cause any damage.", "id": "course-of-action--7031e154-89f3-4994-8c96-386138825551", "modified": "2021-10-21T00:00:00.000Z", "name": "coa-69-6", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "course-of-action", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--f29e28aa-4464-4272-a547-4585c2e99452", "modified": "2021-10-21T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--7031e154-89f3-4994-8c96-386138825551", "spec_version": "2.1", "target_ref": "attack-pattern--ca989a50-b24e-4917-a234-ce4788fa21c7", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "Check your program for buffer overflow and format String vulnerabilities which can lead to execution of malicious code.", "id": "course-of-action--d97a8953-bfba-4b9a-ab46-36c6b343b91a", "modified": "2021-10-21T00:00:00.000Z", "name": "coa-69-7", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "course-of-action", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--5813c2bd-b132-4bc7-ae4d-5c4b492c361e", "modified": "2021-10-21T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--d97a8953-bfba-4b9a-ab46-36c6b343b91a", "spec_version": "2.1", "target_ref": "attack-pattern--ca989a50-b24e-4917-a234-ce4788fa21c7", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "Monitor traffic and resource usage and pay attention if resource exhaustion occurs.", "id": "course-of-action--fe9d8853-a306-4443-b34e-d9d755890734", "modified": "2021-10-21T00:00:00.000Z", "name": "coa-69-8", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "course-of-action", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--d245d4d1-c52c-41ba-aae5-782470e499d9", "modified": "2021-10-21T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--fe9d8853-a306-4443-b34e-d9d755890734", "spec_version": "2.1", "target_ref": "attack-pattern--ca989a50-b24e-4917-a234-ce4788fa21c7", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "Protect your log file from unauthorized modification and log forging.", "id": "course-of-action--94ece0ea-fea4-4009-86a0-589e49a5a8aa", "modified": "2021-10-21T00:00:00.000Z", "name": "coa-69-9", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "course-of-action", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--66ca67c0-4eaa-438c-ba7f-8bbdd79867b4", "modified": "2021-10-21T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--94ece0ea-fea4-4009-86a0-589e49a5a8aa", "spec_version": "2.1", "target_ref": "attack-pattern--ca989a50-b24e-4917-a234-ce4788fa21c7", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2022-09-29T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "\n An adversary alters the metadata of a resource (e.g., file, directory, repository, etc.) to present a malicious resource as legitimate/credible.\n ", "external_references": [ { "external_id": "CAPEC-690", "source_name": "capec", "url": "https://capec.mitre.org/data/definitions/690.html" } ], "id": "attack-pattern--0e5c8f31-5099-41ae-a6b8-f6d0434970fe", "modified": "2022-09-29T00:00:00.000Z", "name": "Metadata Spoofing", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "attack-pattern", "x_capec_abstraction": "Meta", "x_capec_consequences": { "Access_Control": [ "Execute Unauthorized Commands" ], "Accountability": [ "Hide Activities" ], "Authorization": [ "Execute Unauthorized Commands" ], "Integrity": [ "Modify Data" ] }, "x_capec_domains": [ "Social Engineering", "Supply Chain", "Software" ], "x_capec_extended_description": "\n One approach to this attack entails the adversary altering a maliciously modified resource's metadata in order to hide their malicious activity. Another approach involves altering the metadata of an adversary-created resource to make the source appear more credible. Adversaries may spoof a variety of metadata across a number of resources, such as the following:\n \n Authors of Version Control System (VCS) repository commits\n Open source package statistics\n File attributes, such as when a file was last update\n \n The ultimate goal of a Metadata Spoofing attack is to trick victims into believing the malicious resource being provided originates from a reputable source. However, the victim instead leverages the malicious resource, which could result in a number of negative technical impacts.\n ", "x_capec_likelihood_of_attack": "Medium", "x_capec_parent_of_refs": [ "attack-pattern--6ed35753-d365-4be2-a044-2fcc6e191b5a" ], "x_capec_prerequisites": [ "Identification of a resource whose metadata is to be spoofed" ], "x_capec_skills_required": { "Medium": "Ability to spoof a variety of metadata to convince victims the source is trusted" }, "x_capec_status": "Stable", "x_capec_typical_severity": "High", "x_capec_version": "3.9" }, { "created": "2022-09-29T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "Validate metadata of resources such as authors, timestamps, and statistics.", "id": "course-of-action--bbb351b8-c841-43ed-a1b2-3c013423cbcb", "modified": "2022-09-29T00:00:00.000Z", "name": "coa-690-0", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "course-of-action", "x_capec_version": "3.9" }, { "created": "2022-09-29T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--f67d5c08-1228-4dda-ac82-d25218087376", "modified": "2022-09-29T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--bbb351b8-c841-43ed-a1b2-3c013423cbcb", "spec_version": "2.1", "target_ref": "attack-pattern--0e5c8f31-5099-41ae-a6b8-f6d0434970fe", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2022-09-29T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "Confirm the pedigree of open source packages and ensure the code being downloaded does not originate from another source.", "id": "course-of-action--2c911ba7-6886-495c-ad24-be76d469d0c4", "modified": "2022-09-29T00:00:00.000Z", "name": "coa-690-1", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "course-of-action", "x_capec_version": "3.9" }, { "created": "2022-09-29T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--f6aa6808-e8fd-4132-89a5-cfeb7dde7a23", "modified": "2022-09-29T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--2c911ba7-6886-495c-ad24-be76d469d0c4", "spec_version": "2.1", "target_ref": "attack-pattern--0e5c8f31-5099-41ae-a6b8-f6d0434970fe", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2022-09-29T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "Even if the metadata is properly checked and a user believes it to be legitimate, there may still be a chance that they've been duped. Therefore, leverage automated testing techniques to determine where malicious areas of the code may exist.", "id": "course-of-action--159fff7f-a612-4bd7-8053-34885f345613", "modified": "2022-09-29T00:00:00.000Z", "name": "coa-690-2", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "course-of-action", "x_capec_version": "3.9" }, { "created": "2022-09-29T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--4cffa7b9-c3ff-4c3b-8de3-0d69142f8f2d", "modified": "2022-09-29T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--159fff7f-a612-4bd7-8053-34885f345613", "spec_version": "2.1", "target_ref": "attack-pattern--0e5c8f31-5099-41ae-a6b8-f6d0434970fe", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2022-09-29T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "\n An adversary spoofs open-source software metadata in an attempt to masquerade malicious software as popular, maintained, and trusted.\n ", "external_references": [ { "external_id": "CAPEC-691", "source_name": "capec", "url": "https://capec.mitre.org/data/definitions/691.html" }, { "external_id": "CWE-494", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/494.html" }, { "description": "Supply Chain Compromise: Compromise Software Dependencies and Development Tools", "external_id": "T1195.001", "source_name": "ATTACK", "url": "https://attack.mitre.org/wiki/Technique/T1195/001" }, { "description": "Supply Chain Compromise: Compromise Software Supply Chain", "external_id": "T1195.002", "source_name": "ATTACK", "url": "https://attack.mitre.org/wiki/Technique/T1195/002" } ], "id": "attack-pattern--6ed35753-d365-4be2-a044-2fcc6e191b5a", "modified": "2022-09-29T00:00:00.000Z", "name": "Spoof Open-Source Software Metadata", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "attack-pattern", "x_capec_abstraction": "Standard", "x_capec_can_follow_refs": [ "attack-pattern--e9d5d2e4-588f-43c1-bc98-73417abbb727" ], "x_capec_can_precede_refs": [ "attack-pattern--582f33d6-0aa7-4f34-a91e-d767a65adad1", "attack-pattern--efb74200-657d-438c-aaff-bbd9644dd72d" ], "x_capec_child_of_refs": [ "attack-pattern--0e5c8f31-5099-41ae-a6b8-f6d0434970fe" ], "x_capec_consequences": { "Access_Control": [ "Execute Unauthorized Commands", "Alter Execution Logic", "Gain Privileges" ], "Accountability": [ "Hide Activities" ], "Authorization": [ "Execute Unauthorized Commands", "Alter Execution Logic", "Gain Privileges" ], "Integrity": [ "Modify Data" ] }, "x_capec_domains": [ "Social Engineering", "Supply Chain", "Software" ], "x_capec_example_instances": [ "An adversary provides a malicious open-source library, claiming to provide extended logging features and functionality, and spoofs the metadata with that of a widely used legitimate library. The adversary then tricks victims into including this library in their underlying application. Once the malicious software is incorporated into the application, the adversary is able to manipulate and exfiltrate log data." ], "x_capec_extended_description": "\n Due to open-source software's popularity, it serves as a desirable attack-vector for adversaries since a single malicious component may result in the exploitation of numerous systems/applications. Adversaries may, therefore, spoof the metadata pertaining to the open-source software in order to trick victims into downloading and using their malicious software. Examples of metadata that may be spoofed include:\n \n Owner of the software (e.g., repository or package owner)\n Author(s) of repository commits\n Frequency of repository commits\n Date/Time of repository commits\n Package or Repository \"stars\"\n \n Once the malicious software component has been integrated into an underlying application or executed on a system, the adversary is ultimately able to achieve numerous negative technical impacts within the system/application. This often occurs without any indication of compromise.\n ", "x_capec_likelihood_of_attack": "Medium", "x_capec_parent_of_refs": [ "attack-pattern--e6eccd63-6c72-4500-830e-22c937a2bd4b", "attack-pattern--1c976e18-0d56-40b0-9168-90402604c16d" ], "x_capec_peer_of_refs": [ "attack-pattern--b6f0fd7e-6068-4557-976c-fd34914b11bf" ], "x_capec_prerequisites": [ "Identification of a popular open-source component whose metadata is to be spoofed." ], "x_capec_skills_required": { "Medium": "Ability to spoof a variety of software metadata to convince victims the source is trusted." }, "x_capec_status": "Stable", "x_capec_typical_severity": "High", "x_capec_version": "3.9" }, { "created": "2022-09-29T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "Before downloading open-source software, perform precursory metadata checks to determine the author(s), frequency of updates, when the software was last updated, and if the software is widely leveraged.", "id": "course-of-action--5c736e80-28c8-4d55-b991-897bf3b192ba", "modified": "2022-09-29T00:00:00.000Z", "name": "coa-691-0", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "course-of-action", "x_capec_version": "3.9" }, { "created": "2022-09-29T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--8cb9302a-26a3-4414-a0ec-5beaa7877ac3", "modified": "2022-09-29T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--5c736e80-28c8-4d55-b991-897bf3b192ba", "spec_version": "2.1", "target_ref": "attack-pattern--6ed35753-d365-4be2-a044-2fcc6e191b5a", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2022-09-29T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "Within package managers, look for conflicting or non-unique repository references to determine if multiple packages share the same repository reference.", "id": "course-of-action--589123af-2f4a-4981-88a6-c053df0854f2", "modified": "2022-09-29T00:00:00.000Z", "name": "coa-691-1", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "course-of-action", "x_capec_version": "3.9" }, { "created": "2022-09-29T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--4ea5d12b-fcc4-4245-9eee-ca5832c2631e", "modified": "2022-09-29T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--589123af-2f4a-4981-88a6-c053df0854f2", "spec_version": "2.1", "target_ref": "attack-pattern--6ed35753-d365-4be2-a044-2fcc6e191b5a", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2022-09-29T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "Reference vulnerability databases to determine if the software contains known vulnerabilities.", "id": "course-of-action--a204dbb2-3715-4055-8ac3-8f999c400a40", "modified": "2022-09-29T00:00:00.000Z", "name": "coa-691-2", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "course-of-action", "x_capec_version": "3.9" }, { "created": "2022-09-29T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--02e2a97b-b5be-463c-a796-c06ed1b69855", "modified": "2022-09-29T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--a204dbb2-3715-4055-8ac3-8f999c400a40", "spec_version": "2.1", "target_ref": "attack-pattern--6ed35753-d365-4be2-a044-2fcc6e191b5a", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2022-09-29T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "Only download open-source software from reputable hosting sites or package managers.", "id": "course-of-action--c80df8f5-a98b-488d-8935-509df5316146", "modified": "2022-09-29T00:00:00.000Z", "name": "coa-691-3", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "course-of-action", "x_capec_version": "3.9" }, { "created": "2022-09-29T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--cf190319-afbe-49c3-8922-661ce1ebab46", "modified": "2022-09-29T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--c80df8f5-a98b-488d-8935-509df5316146", "spec_version": "2.1", "target_ref": "attack-pattern--6ed35753-d365-4be2-a044-2fcc6e191b5a", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2022-09-29T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "Only download open-source software that has been adequately signed by the developer(s). For repository commits/tags, look for the \"Verified\" status and for developers leveraging \"Vigilant Mode\" (GitHub) or similar modes.", "id": "course-of-action--6766b25b-c346-4b4b-8542-35002e050f31", "modified": "2022-09-29T00:00:00.000Z", "name": "coa-691-4", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "course-of-action", "x_capec_version": "3.9" }, { "created": "2022-09-29T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--ae0bcd4e-8042-4166-a1e4-99ebd23a97fa", "modified": "2022-09-29T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--6766b25b-c346-4b4b-8542-35002e050f31", "spec_version": "2.1", "target_ref": "attack-pattern--6ed35753-d365-4be2-a044-2fcc6e191b5a", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2022-09-29T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "After downloading open-source software, ensure integrity values have not changed.", "id": "course-of-action--760cd567-fe77-43b8-bd40-b612331562da", "modified": "2022-09-29T00:00:00.000Z", "name": "coa-691-5", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "course-of-action", "x_capec_version": "3.9" }, { "created": "2022-09-29T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--52eb880e-2ac1-4c33-9b9a-eac91f006aa8", "modified": "2022-09-29T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--760cd567-fe77-43b8-bd40-b612331562da", "spec_version": "2.1", "target_ref": "attack-pattern--6ed35753-d365-4be2-a044-2fcc6e191b5a", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2022-09-29T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "Before executing or incorporating the software, leverage automated testing techniques (e.g., static and dynamic analysis) to determine if the software behaves maliciously.", "id": "course-of-action--4c1ee87f-e7db-4b4b-a3ab-a9bf2ef24557", "modified": "2022-09-29T00:00:00.000Z", "name": "coa-691-6", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "course-of-action", "x_capec_version": "3.9" }, { "created": "2022-09-29T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--e9315979-36e7-483d-9185-50c390965b76", "modified": "2022-09-29T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--4c1ee87f-e7db-4b4b-a3ab-a9bf2ef24557", "spec_version": "2.1", "target_ref": "attack-pattern--6ed35753-d365-4be2-a044-2fcc6e191b5a", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2022-09-29T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "\n An adversary spoofs metadata pertaining to a Version Control System (VCS) (e.g., Git) repository's commits to deceive users into believing that the maliciously provided software is frequently maintained and originates from a trusted source.\n ", "external_references": [ { "external_id": "CAPEC-692", "source_name": "capec", "url": "https://capec.mitre.org/data/definitions/692.html" }, { "external_id": "CWE-494", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/494.html" }, { "description": "Aviad Gershon, Unverified Commits: Are You Unknowingly Trusting Attackers’ Code?, 2022--07---15, Checkmarx", "external_id": "REF-719", "source_name": "reference_from_CAPEC", "url": "https://checkmarx.com/blog/unverified-commits-are-you-unknowingly-trusting-attackers-code/" }, { "description": "Deeba Ahmed, Hackers can spoof commit metadata to create false GitHub repositories, 2022--07---17, HackRead", "external_id": "REF-720", "source_name": "reference_from_CAPEC", "url": "https://www.hackread.com/hackers-spoof-commit-metadata-false-github-repositories/" } ], "id": "attack-pattern--e6eccd63-6c72-4500-830e-22c937a2bd4b", "modified": "2022-09-29T00:00:00.000Z", "name": "Spoof Version Control System Commit Metadata", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "attack-pattern", "x_capec_abstraction": "Detailed", "x_capec_child_of_refs": [ "attack-pattern--6ed35753-d365-4be2-a044-2fcc6e191b5a" ], "x_capec_consequences": { "Access_Control": [ "Execute Unauthorized Commands", "Alter Execution Logic", "Gain Privileges" ], "Accountability": [ "Hide Activities" ], "Authorization": [ "Execute Unauthorized Commands", "Alter Execution Logic", "Gain Privileges" ], "Integrity": [ "Modify Data" ] }, "x_capec_domains": [ "Social Engineering", "Supply Chain", "Software" ], "x_capec_example_instances": [ "In July 2022, Checkmarx reported that GitHub commit metadata could be spoofed if unsigned commits were leveraged by the repository. Adversaries were able to spoof commit contributors, as well as the date/time of the commit. This resulted in commits appearing to originate from trusted developers and a GitHub activity graph that duped users into believing that the repository had been maintained for a significant period of time. The lack of commit metadata validation ultimately allowed adversaries to propagate malware to unsuspecting victims [REF-719] [REF-720]." ], "x_capec_execution_flow": "

Execution Flow

Explore

  1. Identify target: The adversary must first identify a target repository for them to spoof. Typically, this will be a popular and widely used repository, as to increase the amount of victims a successful attack will exploit.

Experiment

  1. Create malicious repository: The adversary must create a malicious repository that imitates the legitimate repository being spoofed. This may include creating a username that closely matches the legitimate repository owner; creating a repository name that closely matches the legitimate repository name; uploading the legitimate source code; and more.

  2. Spoof commit metadata: Once the malicious repository has been created, the adversary must then spoof the commit metadata to make the repository appear to be frequently maintained and originating from trusted sources.

  3. Techniques
    Git Commit Timestamps: The adversary generates numerous fake commits while setting the \"GIT_AUTHOR_DATE\" and \"GIT_COMMITTER_DATE\" environment variables to a date which is to be spoofed.
    Git Commit Contributors: The adversary obtains a legitimate and trusted user's email address and then sets this information via the \"git config\" command. The adversary can then commit changes leveraging this username.

Exploit

  1. Exploit victims: The adversary infiltrates software and/or system environments with the goal of conducting additional attacks.

  2. Techniques
    Active: The adversary attempts to trick victims into downloading the malicious software by means such as phishing and social engineering.
    Passive: The adversary waits for victims to download and leverage malicious software.
", "x_capec_extended_description": "\n Version Control Systems are widely used by developers to host, track, and manage source code files in an easy and synchronous manner. These systems are often leveraged to host open-source software that other developers can incorporate into their own applications or use as standalone applications. To prevent downloading vulnerable and/or malicious code, developers will often check the metadata of VCS repository commits to determine the repository's overall pedigree. This may include a variety of information, such as the following:\n \n Owner of the repository\n Author(s) of commits\n Frequency of commits\n Date/Time of commits\n Repository activity graphs\n \n These precursory checks can assist developers in determining whether a trusted individual/organization is providing the source code, how often the code is updated, and the relative popularity of the software. However, an adversary can spoof this metadata to make a repository containing malicious code appear as originating from a trusted source, being frequently maintained, and being commonly used by other developers. Without performing additional security activities, unassuming developers may be duped by this spoofed metadata and include the malicious code within their systems/applications. The adversary is then ultimately able to achieve numerous negative technical impacts, while the victim remains unaware of any malicious activity.\n ", "x_capec_likelihood_of_attack": "Medium", "x_capec_prerequisites": [ "Identification of a popular open-source repository whose metadata is to be spoofed." ], "x_capec_skills_required": { "Medium": "Ability to spoof a variety of repository metadata to convince victims the source is trusted." }, "x_capec_status": "Stable", "x_capec_typical_severity": "High", "x_capec_version": "3.9" }, { "created": "2022-09-29T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--a72b8ce4-be42-4668-a7c7-bf42c0c9a408", "modified": "2022-09-29T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--5c736e80-28c8-4d55-b991-897bf3b192ba", "spec_version": "2.1", "target_ref": "attack-pattern--e6eccd63-6c72-4500-830e-22c937a2bd4b", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2022-09-29T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--8f777fea-dec1-4d43-ad73-97e207a594cd", "modified": "2022-09-29T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--a204dbb2-3715-4055-8ac3-8f999c400a40", "spec_version": "2.1", "target_ref": "attack-pattern--e6eccd63-6c72-4500-830e-22c937a2bd4b", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2022-09-29T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--c6c36b44-edcc-444c-8c35-21a03d8ee380", "modified": "2022-09-29T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--c80df8f5-a98b-488d-8935-509df5316146", "spec_version": "2.1", "target_ref": "attack-pattern--e6eccd63-6c72-4500-830e-22c937a2bd4b", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2022-09-29T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--de99bf76-30c8-4404-93f4-f13f77c8c840", "modified": "2022-09-29T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--6766b25b-c346-4b4b-8542-35002e050f31", "spec_version": "2.1", "target_ref": "attack-pattern--e6eccd63-6c72-4500-830e-22c937a2bd4b", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2022-09-29T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--c4960b11-f2fc-4d00-8514-1091d252ab75", "modified": "2022-09-29T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--760cd567-fe77-43b8-bd40-b612331562da", "spec_version": "2.1", "target_ref": "attack-pattern--e6eccd63-6c72-4500-830e-22c937a2bd4b", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2022-09-29T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--35081dad-0306-4c1a-8b0f-a021e8e1c1f3", "modified": "2022-09-29T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--4c1ee87f-e7db-4b4b-a3ab-a9bf2ef24557", "spec_version": "2.1", "target_ref": "attack-pattern--e6eccd63-6c72-4500-830e-22c937a2bd4b", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2022-09-29T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "\n An adversary spoofs software popularity metadata to deceive users into believing that a maliciously provided package is widely used and originates from a trusted source.\n ", "external_references": [ { "external_id": "CAPEC-693", "source_name": "capec", "url": "https://capec.mitre.org/data/definitions/693.html" }, { "external_id": "CWE-494", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/494.html" }, { "description": "Tzachi Zornstein, StarJacking – Making Your New Open Source Package Popular in a Snap, 2022--04---19, Checkmarx", "external_id": "REF-721", "source_name": "reference_from_CAPEC", "url": "https://checkmarx.com/blog/starjacking-making-your-new-open-source-package-popular-in-a-snap/" } ], "id": "attack-pattern--1c976e18-0d56-40b0-9168-90402604c16d", "modified": "2022-09-29T00:00:00.000Z", "name": "StarJacking", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "attack-pattern", "x_capec_abstraction": "Detailed", "x_capec_child_of_refs": [ "attack-pattern--6ed35753-d365-4be2-a044-2fcc6e191b5a" ], "x_capec_consequences": { "Access_Control": [ "Execute Unauthorized Commands", "Alter Execution Logic", "Gain Privileges" ], "Accountability": [ "Hide Activities" ], "Authorization": [ "Execute Unauthorized Commands", "Alter Execution Logic", "Gain Privileges" ], "Integrity": [ "Modify Data" ] }, "x_capec_domains": [ "Social Engineering", "Supply Chain", "Software" ], "x_capec_example_instances": [ "In April 2022, Checkmarx reported that packages hosted on NPM, PyPi, and Yarn do not properly validate that the provided GitHub repository URL actually pertains to the package being provided. Combined with additional attacks such as TypoSquatting, this allows adversaries to spoof popularity metadata by associating popular GitHub repository URLs with the malicious package. This can further lead to developers unintentionally including the malicious package within their development environments [REF-721]." ], "x_capec_execution_flow": "

Execution Flow

Explore

  1. Identify target: The adversary must first identify a target package whose popularity statistics will be leveraged. This will be a popular and widely used package, as to increase the perceived pedigree of the malicious package.

Experiment

  1. Spoof package popularity: The adversary provides their malicious package to a package manager and uses the source code repository URL identified in Step 1 to spoof the popularity of the package. This malicious package may also closely resemble the legitimate package whose statistics are being utilized.

Exploit

  1. Exploit victims: The adversary infiltrates development environments with the goal of conducting additional attacks.

  2. Techniques
    Active: The adversary attempts to trick victims into downloading the malicious package by means such as phishing and social engineering.
    Passive: The adversary waits for victims to download and leverage the malicious package.
", "x_capec_extended_description": "\n Many open-source software packages are hosted via third-party package managers (e.g., Node Package Manager, PyPi, Yarn, etc.) that allow for easy integration of software components into existing development environments. A package manager will typically include various metadata about the software and often include a link to the package's source code repository, to assist developers in determining the trustworthiness of the software. One common statistic used in this decision-making process is the popularity of the package. This entails checking the amount of \"Stars\" the package has received, which the package manager displays based on the provided source code repository URL. However, many package managers do not validate the connection between the package and source code repository being provided. Adversaries can thus spoof the popularity statistic of a malicious package by associating a popular source code repository URL with the package. This can ultimately trick developers into unintentionally incorporating the malicious package into their development environment.\n ", "x_capec_likelihood_of_attack": "Medium", "x_capec_prerequisites": [ "Identification of a popular open-source package whose popularity metadata is to be used for the malicious package." ], "x_capec_skills_required": { "Low": "Ability to provide a package to a package manager and associate a popular package's source code repository URL." }, "x_capec_status": "Stable", "x_capec_typical_severity": "High", "x_capec_version": "3.9" }, { "created": "2022-09-29T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "Before downloading open-source packages, perform precursory metadata checks to determine the author(s), frequency of updates, when the software was last updated, and if the software is widely leveraged.", "id": "course-of-action--e7cd94ea-7540-46fe-9c3d-b733cc6c99a4", "modified": "2022-09-29T00:00:00.000Z", "name": "coa-693-0", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "course-of-action", "x_capec_version": "3.9" }, { "created": "2022-09-29T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--121521c5-1405-4f51-a48a-37cafa458320", "modified": "2022-09-29T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--e7cd94ea-7540-46fe-9c3d-b733cc6c99a4", "spec_version": "2.1", "target_ref": "attack-pattern--1c976e18-0d56-40b0-9168-90402604c16d", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2022-09-29T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "Look for conflicting or non-unique repository references to determine if multiple packages share the same repository reference.", "id": "course-of-action--7c548f97-7bf6-4c36-a45b-b398c4d12510", "modified": "2022-09-29T00:00:00.000Z", "name": "coa-693-1", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "course-of-action", "x_capec_version": "3.9" }, { "created": "2022-09-29T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--6156b485-fc27-474d-8a38-7cf7ec87b01f", "modified": "2022-09-29T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--7c548f97-7bf6-4c36-a45b-b398c4d12510", "spec_version": "2.1", "target_ref": "attack-pattern--1c976e18-0d56-40b0-9168-90402604c16d", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2022-09-29T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--39f9a1c9-9ce1-4bf9-83ef-c834b884842a", "modified": "2022-09-29T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--a204dbb2-3715-4055-8ac3-8f999c400a40", "spec_version": "2.1", "target_ref": "attack-pattern--1c976e18-0d56-40b0-9168-90402604c16d", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2022-09-29T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "Only download open-source packages from reputable package managers.", "id": "course-of-action--8a83580e-2107-4544-96a2-1fa66d034fd0", "modified": "2022-09-29T00:00:00.000Z", "name": "coa-693-3", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "course-of-action", "x_capec_version": "3.9" }, { "created": "2022-09-29T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--a535c2f9-17fa-48e9-8df4-4b1a11500540", "modified": "2022-09-29T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--8a83580e-2107-4544-96a2-1fa66d034fd0", "spec_version": "2.1", "target_ref": "attack-pattern--1c976e18-0d56-40b0-9168-90402604c16d", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2022-09-29T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "After downloading open-source packages, ensure integrity values have not changed.", "id": "course-of-action--7a44241f-74a4-48d1-ac7c-13697e53cdc7", "modified": "2022-09-29T00:00:00.000Z", "name": "coa-693-4", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "course-of-action", "x_capec_version": "3.9" }, { "created": "2022-09-29T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--7b24cf80-b39b-4468-b413-3d55da744848", "modified": "2022-09-29T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--7a44241f-74a4-48d1-ac7c-13697e53cdc7", "spec_version": "2.1", "target_ref": "attack-pattern--1c976e18-0d56-40b0-9168-90402604c16d", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2022-09-29T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "Before executing or incorporating the package, leverage automated testing techniques (e.g., static and dynamic analysis) to determine if the software behaves maliciously.", "id": "course-of-action--4b83b151-8ca4-439e-bd2a-a39d24160e2f", "modified": "2022-09-29T00:00:00.000Z", "name": "coa-693-5", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "course-of-action", "x_capec_version": "3.9" }, { "created": "2022-09-29T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--a81e3538-db6b-4c00-bdd2-de44d84670da", "modified": "2022-09-29T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--4b83b151-8ca4-439e-bd2a-a39d24160e2f", "spec_version": "2.1", "target_ref": "attack-pattern--1c976e18-0d56-40b0-9168-90402604c16d", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2022-09-29T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "\n An adversary collects information about the target system in an attempt to identify the system's geographical location.\n Information gathered could include keyboard layout, system language, and timezone. This information may benefit an adversary in confirming the desired target and/or tailoring further attacks.\n ", "external_references": [ { "external_id": "CAPEC-694", "source_name": "capec", "url": "https://capec.mitre.org/data/definitions/694.html" }, { "external_id": "CWE-497", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/497.html" }, { "description": "System Language Discovery", "external_id": "T1614", "source_name": "ATTACK", "url": "https://attack.mitre.org/wiki/Technique/T1614" }, { "description": "Language-Specific Registry Entries", "external_id": "REF-727", "source_name": "reference_from_CAPEC", "url": "https://learn.microsoft.com/en-us/previous-versions/windows/desktop/indexsrv/language-specific-registry-entries" }, { "description": "winnls.h header", "external_id": "REF-728", "source_name": "reference_from_CAPEC", "url": "https://learn.microsoft.com/en-us/windows/win32/api/winnls/" }, { "description": "local (1p) - Linux Man Pages", "external_id": "REF-729", "source_name": "reference_from_CAPEC", "url": "https://www.systutorials.com/docs/linux/man/1p-locale/" }, { "description": "vconsole.conf", "external_id": "REF-730", "source_name": "reference_from_CAPEC", "url": "https://www.freedesktop.org/software/systemd/man/vconsole.conf.html" }, { "description": "timedatectl", "external_id": "REF-731", "source_name": "reference_from_CAPEC", "url": "https://www.freedesktop.org/software/systemd/man/timedatectl.html" } ], "id": "attack-pattern--296d0305-8a72-4f50-b702-cc56e90a7749", "modified": "2022-09-29T00:00:00.000Z", "name": "System Location Discovery", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "attack-pattern", "x_capec_abstraction": "Standard", "x_capec_child_of_refs": [ "attack-pattern--87b0d2df-b246-4bf9-aee8-4912e2fa1a30" ], "x_capec_consequences": { "Confidentiality": [ "Read Data" ] }, "x_capec_domains": [ "Communications", "Software" ], "x_capec_execution_flow": "

Execution Flow

Explore

  1. System Locale Information Discovery: The adversary examines system information from various sources such as registry and native API functions and correlates the gathered information to infer the geographical location of the target system

  2. Techniques
    Registry Query: Query the registry key HKEY_LOCAL_MACHINE\\SYSTEM\\CurrentControlSet\\Control\\ContentIndex\\Language\\Language_Dialect on Windows to obtain system language, Computer\\HKEY_CURRENT_USER\\Keyboard Layout\\Preload to obtain the hexadecimal language IDs of the current user's preloaded keyboard layouts, and Computer\\HKEY_LOCAL_MACHINE\\SYSTEM\\CurrentControlSet\\Control\\TimeZoneInformation to obtain the system timezone configuration
    Native API Requests: Parse the outputs of Windows API functions GetTimeZoneInformation, GetUserDefaultUILanguage, GetSystemDefaultUILanguage, GetKeyboardLayoutList and GetUserDefaultLangID to obtain information about languages, keyboard layouts, and timezones installed on the system or on macOS or Linux systems, query locale to obtain the $LANG environment variable and view keyboard layout information or use timeanddatectl status to show the system clock settings.
    Read Configuration Files: For macOS and Linux-based systems, view the /etc/vconsole.conf file to get information about the keyboard mapping and console font.
", "x_capec_likelihood_of_attack": "High", "x_capec_prerequisites": [ "The adversary must have some level of access to the system and have a basic understanding of the operating system in order to query the appropriate sources for relevant information." ], "x_capec_resources_required": [ "The adversary requires access to the target's operating system tools to query relevant system information. On windows, registry queries can be conducted with powershell, wmi, or regedit. On Linux or macOS, queries can be performed with through a shell." ], "x_capec_skills_required": { "Low": "The adversary must know how to query various system sources of information respective of the system's operating system to obtain the relevant information." }, "x_capec_status": "Stable", "x_capec_typical_severity": "Very Low", "x_capec_version": "3.9" }, { "created": "2022-09-29T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "To reduce the amount of information gathered, one could disable various geolocation features of the operating system not required for system operation.", "id": "course-of-action--bd4e4c20-69fb-4a3a-bc82-a775ce196516", "modified": "2022-09-29T00:00:00.000Z", "name": "coa-694-0", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "course-of-action", "x_capec_version": "3.9" }, { "created": "2022-09-29T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--30d76a29-95d8-4907-ba95-9c42d2ec7b3f", "modified": "2022-09-29T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--bd4e4c20-69fb-4a3a-bc82-a775ce196516", "spec_version": "2.1", "target_ref": "attack-pattern--296d0305-8a72-4f50-b702-cc56e90a7749", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2022-09-29T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "\n An adversary takes advantage of the redirect property of directly linked Version Control System (VCS) repositories to trick users into incorporating malicious code into their applications.\n ", "external_references": [ { "external_id": "CAPEC-695", "source_name": "capec", "url": "https://capec.mitre.org/data/definitions/695.html" }, { "external_id": "CWE-494", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/494.html" }, { "external_id": "CWE-829", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/829.html" }, { "description": "Supply Chain Compromise: Compromise Software Dependencies and Development Tools", "external_id": "T1195.001", "source_name": "ATTACK", "url": "https://attack.mitre.org/wiki/Technique/T1195/001" }, { "description": "Indiana Moreau, Repo Jacking: Exploiting the Dependency Supply Chain, 2020--10---22, Security Innovation", "external_id": "REF-722", "source_name": "reference_from_CAPEC", "url": "https://www.concretecms.org/about/project-news/security/supply-chain-hack-phpass-repo-jacking" }, { "description": "Theo Burton, CyRC Vulnerability Analysis: Repo jacking in the software supply chain, 2022--08---02, Synopsys", "external_id": "REF-732", "source_name": "reference_from_CAPEC", "url": "https://www.synopsys.com/blogs/software-security/cyrc-vulnerability-analysis-repo-jacking/" }, { "description": "Jossef Harush, Attacker Caught Hijacking Packages Using Multiple Techniques to Steal AWS Credentials, 2022--05---25, Checkmarx", "external_id": "REF-733", "source_name": "reference_from_CAPEC", "url": "https://checkmarx.com/blog/attacker-caught-hijacking-packages-using-multiple-techniques-to-steal-aws-credentials/" }, { "description": "Jossef Harush, GitHub RepoJacking Weakness Exploited in the Wild by Attackers, 2022--05---27, Checkmarx", "external_id": "REF-734", "source_name": "reference_from_CAPEC", "url": "https://checkmarx.com/blog/github-repojacking-weakness-exploited-in-the-wild-by-attackers/" } ], "id": "attack-pattern--e3dd79e7-307b-42dd-9e22-d0345c0ec001", "modified": "2023-01-24T00:00:00.000Z", "name": "Repo Jacking", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "attack-pattern", "x_capec_abstraction": "Detailed", "x_capec_child_of_refs": [ "attack-pattern--e9d5d2e4-588f-43c1-bc98-73417abbb727" ], "x_capec_consequences": { "Access_Control": [ "Execute Unauthorized Commands", "Alter Execution Logic", "Gain Privileges" ], "Authorization": [ "Execute Unauthorized Commands", "Alter Execution Logic", "Gain Privileges" ], "Integrity": [ "Read Data", "Modify Data" ] }, "x_capec_domains": [ "Social Engineering", "Supply Chain", "Communications", "Software", "Hardware" ], "x_capec_example_instances": [ "\n In May 2022, the CTX Python package and PhPass PHP package were both exploited by the same adversary via Repo Jacking attacks. For the CTX package, the adversary performed an account takeover via a password reset, due to an expired domain-hosting email. The attack on PhPass entailed bypassing GitHub's authentication for retired repositories. In both cases, sensitive data in the form of API keys and passwords, each stored in the form of environment variables, were exfiltrated. [REF-732] [REF-733]\n ", "\n In October 2021, the popular JavaScript library UAParser.js was exploited via the takeover of the author's Node Package Manager (NPM) account. The adversary-provided malware downloaded and executed binaries from a remote server to conduct crypto-mining and to exfiltrate sensitive data on Windows systems. This was a wide-scale attack as the package receives 8 to 9 million downloads per week. [REF-732]\n " ], "x_capec_execution_flow": "

Execution Flow

Explore

  1. Identify target: The adversary must first identify a target repository that is commonly used and whose owner/maintainer has either changed/deleted their username or transferred ownership of the repository and then deleted their account. The target should typically be a popular and widely used package, as to increase the scope of the attack.

Experiment

  1. Recreate initial repository path: The adversary re-registers the account that was renamed/deleted by the target repository's owner/maintainer and recreates the target repository with malicious code intended to exploit an application. These steps may need to happen in reverse (i.e., recreate repository and then rename an existing account to the target account) if protections are in place to prevent repository reuse.

Exploit

  1. Exploit victims: The adversary's malicious code is incorporated into applications that directly reference the initial repository, which further allows the adversary to conduct additional attacks.

", "x_capec_extended_description": "\n Software developers may directly reference a VCS repository (i.e., via a hardcoded URL) within source code to integrate the repository as a dependency for the underlying application. If the repository owner/maintainer modifies the repository name, changes their VCS username, or transfers ownership of the repository, the VCS implements a redirect to the new repository location so that existing software referencing the repository will not break. However, if the original location of the repository is reestablished, the VCS will revert to resolving the hardcoded path. Adversaries may, therefore, re-register deleted or previously used usernames and recreate repositories with malicious code to infect applications referencing the repository. When an application then fetches the desired dependency, it will now reference the adversary's malicious repository since the hardcoded repository path is once again active. This ultimately allows the adversary to infect numerous applications, while achieving a variety of negative technical impacts.\n ", "x_capec_likelihood_of_attack": "Medium", "x_capec_prerequisites": [ "Identification of a popular repository that may be directly referenced in numerous software applications", "A repository owner/maintainer who has recently changed their username or deleted their account" ], "x_capec_skills_required": { "Low": "Ability to create malware that can exploit various software applications." }, "x_capec_status": "Stable", "x_capec_typical_severity": "High", "x_capec_version": "3.9" }, { "created": "2022-09-29T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "Leverage dedicated package managers instead of directly linking to VCS repositories.", "id": "course-of-action--2798a4f8-6cf8-4183-9aa4-0593c6240e67", "modified": "2023-01-24T00:00:00.000Z", "name": "coa-695-0", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "course-of-action", "x_capec_version": "3.9" }, { "created": "2022-09-29T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--f8521e30-5610-4802-b738-4fedb6a77770", "modified": "2023-01-24T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--2798a4f8-6cf8-4183-9aa4-0593c6240e67", "spec_version": "2.1", "target_ref": "attack-pattern--e3dd79e7-307b-42dd-9e22-d0345c0ec001", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2022-09-29T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "Utilize version pinning and lock files to prevent use of maliciously modified repositories.", "id": "course-of-action--ddf12a53-6061-49a0-acd2-8888eafd9817", "modified": "2023-01-24T00:00:00.000Z", "name": "coa-695-1", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "course-of-action", "x_capec_version": "3.9" }, { "created": "2022-09-29T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--97bcf4a9-cd9a-4fc7-803f-183d68cd9ca9", "modified": "2023-01-24T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--ddf12a53-6061-49a0-acd2-8888eafd9817", "spec_version": "2.1", "target_ref": "attack-pattern--e3dd79e7-307b-42dd-9e22-d0345c0ec001", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2022-09-29T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "Implement \"vendoring\" (i.e., including third-party dependencies locally) and leverage automated testing techniques (e.g., static analysis) to determine if the software behaves maliciously.", "id": "course-of-action--50beff7f-09d4-4623-a555-68ed2973d99d", "modified": "2023-01-24T00:00:00.000Z", "name": "coa-695-2", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "course-of-action", "x_capec_version": "3.9" }, { "created": "2022-09-29T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--38bf2a91-cb47-4c20-8845-30d7b0a991f3", "modified": "2023-01-24T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--50beff7f-09d4-4623-a555-68ed2973d99d", "spec_version": "2.1", "target_ref": "attack-pattern--e3dd79e7-307b-42dd-9e22-d0345c0ec001", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2022-09-29T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "Leverage automated tools, such as Checkmarx's \"ChainJacking\" tool, to determine susceptibility to Repo Jacking attacks.", "id": "course-of-action--14972566-8d51-44fb-adb1-2ba9e5872a5d", "modified": "2023-01-24T00:00:00.000Z", "name": "coa-695-3", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "course-of-action", "x_capec_version": "3.9" }, { "created": "2022-09-29T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--97750db1-2852-4168-be21-3c3d533a672b", "modified": "2023-01-24T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--14972566-8d51-44fb-adb1-2ba9e5872a5d", "spec_version": "2.1", "target_ref": "attack-pattern--e3dd79e7-307b-42dd-9e22-d0345c0ec001", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2022-09-29T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "An adversary exploits a hardware design flaw in a CPU implementation of transient instruction execution in which a faulting or assisted load instruction transiently forwards adversary-controlled data from microarchitectural buffers. By inducing a page fault or microcode assist during victim execution, an adversary can force legitimate victim execution to operate on the adversary-controlled data which is stored in the microarchitectural buffers. The adversary can then use existing code gadgets and side channel analysis to discover victim secrets that have not yet been flushed from microarchitectural state or hijack the system control flow.", "external_references": [ { "external_id": "CAPEC-696", "source_name": "capec", "url": "https://capec.mitre.org/data/definitions/696.html" }, { "external_id": "CWE-1342", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/1342.html" }, { "description": "Jo Van Bulck, Daniel Moghimi, Michael Schwarz, Moritz Lipp, Marina Minkin, Daniel Genkin, Yuval Yarom, Berk Sunar, Daniel Gruss, Frank Piessens, LVI - Hijacking Transient Execution with Load Value Injection", "external_id": "REF-735", "source_name": "reference_from_CAPEC", "url": "https://lviattack.eu/" }, { "description": "Load Value Injection, 2020--01---27, Intel", "external_id": "REF-736", "source_name": "reference_from_CAPEC", "url": "https://www.intel.com/content/www/us/en/developer/articles/technical/software-security-guidance/technical-documentation/load-value-injection.html" } ], "id": "attack-pattern--faa02de4-0f9b-4881-a088-b2a4d64475fd", "modified": "2022-09-29T00:00:00.000Z", "name": "Load Value Injection", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "attack-pattern", "x_capec_abstraction": "Detailed", "x_capec_child_of_refs": [ "attack-pattern--efbf3dcf-9f19-45de-9f49-caa87fd34681" ], "x_capec_consequences": { "Access_Control": [ "Bypass Protection Mechanism" ], "Authorization": [ "Execute Unauthorized Commands" ], "Confidentiality": [ "Read Data" ] }, "x_capec_domains": [ "Software", "Hardware", "Software" ], "x_capec_execution_flow": "

Execution Flow

Explore

  1. Survey target application and relevant OS shared code libraries: Adversary identifies vulnerable transient instruction sets and the code/function calls to trigger them as well as instruction sets or code fragments (gadgets) to perform attack. The adversary looks for code gadgets which will allow them to load an adversary-controlled value into trusted memory. They also look for code gadgets which might operate on this controlled value.

  2. Techniques
    Utilize Disassembler and Debugger tools to examine and trace instruction set execution of source code and shared code libraries on a system.

Experiment

  1. Fill microarchitectural buffer with controlled value: The adversary will utilize the found code gadget from the previous step to load a value into a microarchitectural buffer.

  2. Techniques
    The adversary may choose the controlled value to be memory address of sensitive information that they want the system to access
    The adversary may choose the controlled value to be the memory address of other code gadgets that they wish to execute by hijacking the control flow of the system
  3. Set up instruction to page fault or microcode assist: The adversary must manipulate the system such that a page fault or microcode assist occurs when a valid instruction is run. If the instruction that fails is near where the adversary-controlled value was loaded, the system may forward this value from the microarchitectural buffer incorrectly.

  4. Techniques
    When targeting Intel SGX enclaves, adversaries that have privileges can manipulate PTEs to provoke page-fault exceptions or microcode assists.
    When targeting Intel SGX enclaves, adversaries can indirectly revoke permissions for enclave code through the “mprotect” system call
    An adversary can evict selected virtual memory pages using legacy interfaces or by increasing physical memory utilization
    When attacking a Windows machine, wait until the OS clears the PTE accessed bit. When the page is next accessed, the CPU will always issue a microcode assist for re-setting this bit

Exploit

  1. Operate on adversary-controlled data: Once the attack has been set up and the page fault or microcode assist occurs, the system operates on the adversary-controlled data.

  2. Techniques
    Influence the system to load sensitive information into microarchitectural state which can be read by the adversary using a code gadget.
    Hijack execution by jumping to second stage gadgets found in the address space. By utilizing return-oriented programming, this can chain gadgets together and allow the adversary to execute a sequence of gadgets.
", "x_capec_extended_description": "This attack is a mix of techniques used in traditional Meltdown and Spectre attacks. It uses microarchitectural data leakage combined with code gadget abuse. Intel has identified that this attack is not applicable in scenarios where the OS and the VMM (Virtual Memory Manager) are both trusted. Because of this, Intel SGX is a prime target for this attack because it assumes that the OS or VMM may be malicious.", "x_capec_likelihood_of_attack": "Low", "x_capec_prerequisites": [ "The adversary needs at least user execution access to a system and a maliciously crafted program/application/process with unprivileged code to misuse transient instruction set execution of the CPU.", "The CPU incorrectly transiently forwards values from microarchitectural buffers after faulting or assisted loads", "The adversary needs the ability to induce page faults or microcode assists on the target system.", "Code gadgets exist that allow the adversary to hijack transient execution and encode secrets into the microarchitectural state." ], "x_capec_skills_required": { "High": "The ability to provoke faulting or assisted loads in legitimate execution." }, "x_capec_status": "Draft", "x_capec_typical_severity": "Very High", "x_capec_version": "3.9" }, { "created": "2022-09-29T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "Do not allow the forwarding of data resulting from a faulting or assisted instruction. Some current mitigations claim to zero out the forwarded data, but this mitigation still does not suffice.", "id": "course-of-action--f448a9da-f220-4155-8e2d-9731566e757b", "modified": "2022-09-29T00:00:00.000Z", "name": "coa-696-0", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "course-of-action", "x_capec_version": "3.9" }, { "created": "2022-09-29T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--533e10e1-fa6d-486b-b385-186ae97f08d4", "modified": "2022-09-29T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--f448a9da-f220-4155-8e2d-9731566e757b", "spec_version": "2.1", "target_ref": "attack-pattern--faa02de4-0f9b-4881-a088-b2a4d64475fd", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2022-09-29T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "Insert explicit “lfence” speculation barriers in software before potentially faulting or assisted loads. This halts transient execution until all previous instructions have been executed and ensures that the architecturally correct value is forwarded.", "id": "course-of-action--75932c7c-caa1-4a40-8d0a-cd67606f00cd", "modified": "2022-09-29T00:00:00.000Z", "name": "coa-696-1", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "course-of-action", "x_capec_version": "3.9" }, { "created": "2022-09-29T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--97595f95-a08b-4ef2-abf5-4cf5d4abc0f5", "modified": "2022-09-29T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--75932c7c-caa1-4a40-8d0a-cd67606f00cd", "spec_version": "2.1", "target_ref": "attack-pattern--faa02de4-0f9b-4881-a088-b2a4d64475fd", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2022-09-29T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "\n An adversary masquerades as a legitimate Dynamic Host Configuration Protocol (DHCP) server by spoofing DHCP traffic, with the goal of redirecting network traffic or denying service to DHCP.\n ", "external_references": [ { "external_id": "CAPEC-697", "source_name": "capec", "url": "https://capec.mitre.org/data/definitions/697.html" }, { "external_id": "CWE-923", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/923.html" }, { "description": "Adversary-in-the-Middle: DHCP Spoofing", "external_id": "T1557.003", "source_name": "ATTACK", "url": "https://attack.mitre.org/wiki/Technique/T1557/003" }, { "description": "Yuval Lazar, DHCP Spoofing 101, 2021--11---03, Pentera", "external_id": "REF-737", "source_name": "reference_from_CAPEC", "url": " https://pentera.io/blog/dhcp-spoofing-101" }, { "description": "T. Melsen, S. Blake, Ericsson, DHCP Spoofing 101, 2006--06, The Internet Society", "external_id": "REF-738", "source_name": "reference_from_CAPEC", "url": "https://www.rfc-editor.org/rfc/rfc4562.html" }, { "description": "Bosco Sebastian, DHCP Spoofing 101, 2019--08---02, McAfee", "external_id": "REF-739", "source_name": "reference_from_CAPEC", "url": "https://www.mcafee.com/blogs/other-blogs/mcafee-labs/dhcp-client-remote-code-execution-vulnerability-demystified/" } ], "id": "attack-pattern--c9b31907-c466-4325-af55-c418aea8b964", "modified": "2022-09-29T00:00:00.000Z", "name": "DHCP Spoofing", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "attack-pattern", "x_capec_abstraction": "Standard", "x_capec_can_precede_refs": [ "attack-pattern--897a5506-45bb-4f6f-96e7-55f4c0b9021a", "attack-pattern--38964770-4f39-4191-89cf-73a625162b2b" ], "x_capec_child_of_refs": [ "attack-pattern--862d18f1-a87c-4f1b-acc2-882697d5d6e5" ], "x_capec_consequences": { "Access_Control": [ "Modify Data", "Execute Unauthorized Commands" ], "Availability": [ "Resource Consumption" ], "Confidentiality": [ "Read Data" ], "Integrity": [ "Modify Data", "Execute Unauthorized Commands" ] }, "x_capec_domains": [ "Social Engineering", "Software", "Hardware" ], "x_capec_example_instances": [ "In early 2019, Microsoft patched a critical vulnerability (CVE-2019-0547) in the Windows DHCP client which allowed remote code execution via crafted DHCP OFFER packets. [REF-739]" ], "x_capec_execution_flow": "

Execution Flow

Explore

  1. Determine Exsisting DHCP lease: An adversary observes network traffic and waits for an existing DHCP lease to expire on a target machine in the LAN.

  2. Techniques
    Adversary observes LAN traffic for DHCP solicitations

Experiment

  1. Capture the DHCP DISCOVER message: The adversary captures \"DISCOVER\" messages and crafts \"OFFER\" responses for the identified target MAC address. The success of this attack centers on the capturing of and responding to these \"DISCOVER\" messages.

  2. Techniques
    Adversary captures and responds to DHCP \"DISCOVER\" messages tailored to the target subnet.

Exploit

  1. Compromise Network Access and Collect Network Activity: An adversary successfully acts as a rogue DHCP server by redirecting legitimate DHCP requests to itself.

  2. Techniques
    Adversary sends repeated DHCP \"REQUEST\" messages to quickly lease all the addresses within network's DHCP pool and forcing new DHCP requests to be handled by the rogue DHCP server.
", "x_capec_extended_description": "\n DHCP is broadcast to the entire Local Area Network (LAN) and does not have any form of authentication by default. Therefore, it is susceptible to spoofing.\n An adversary with access to the target LAN can receive DHCP messages; obtaining the topology information required to potentially manipulate other hosts' network configurations.\n To improve the likelihood of the DHCP request being serviced by the Rogue server, an adversary can first starve the DHCP pool.\n ", "x_capec_likelihood_of_attack": "Low", "x_capec_prerequisites": [ "The adversary must have access to a machine within the target LAN which can send DHCP offers to the target." ], "x_capec_resources_required": [ "The adversary requires access to a machine within the target LAN on a network which does not secure its DHCP traffic through MAC-Forced Forwarding, port security, etc." ], "x_capec_skills_required": { "Medium": "The adversary must identify potential targets for DHCP Spoofing and craft network configurations to obtain the desired results." }, "x_capec_status": "Stable", "x_capec_typical_severity": "High", "x_capec_version": "3.9" }, { "created": "2022-09-29T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "Design: MAC-Forced Forwarding", "id": "course-of-action--f8527ee0-b919-44c6-9624-b1882fcd5ea2", "modified": "2022-09-29T00:00:00.000Z", "name": "coa-697-0", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "course-of-action", "x_capec_version": "3.9" }, { "created": "2022-09-29T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--7f36d918-0b20-49cb-a263-39aaa5bd156e", "modified": "2022-09-29T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--f8527ee0-b919-44c6-9624-b1882fcd5ea2", "spec_version": "2.1", "target_ref": "attack-pattern--c9b31907-c466-4325-af55-c418aea8b964", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2022-09-29T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "Implementation: Port Security and DHCP snooping", "id": "course-of-action--3a6b926d-1185-43d9-b4cb-e5e0103147c2", "modified": "2022-09-29T00:00:00.000Z", "name": "coa-697-1", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "course-of-action", "x_capec_version": "3.9" }, { "created": "2022-09-29T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--ed2696d0-e825-42a5-9f7d-f9fa98137830", "modified": "2022-09-29T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--3a6b926d-1185-43d9-b4cb-e5e0103147c2", "spec_version": "2.1", "target_ref": "attack-pattern--c9b31907-c466-4325-af55-c418aea8b964", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2022-09-29T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "Implementation: Network-based Intrusion Detection Systems", "id": "course-of-action--671abff4-2c61-4e1e-9620-59ba9d4a9ce7", "modified": "2022-09-29T00:00:00.000Z", "name": "coa-697-2", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "course-of-action", "x_capec_version": "3.9" }, { "created": "2022-09-29T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--a28827fa-1c3a-40eb-a7aa-01960d117a6c", "modified": "2022-09-29T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--671abff4-2c61-4e1e-9620-59ba9d4a9ce7", "spec_version": "2.1", "target_ref": "attack-pattern--c9b31907-c466-4325-af55-c418aea8b964", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2022-09-29T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "\n An adversary directly installs or tricks a user into installing a malicious extension into existing trusted software, with the goal of achieving a variety of negative technical impacts.\n ", "external_references": [ { "external_id": "CAPEC-698", "source_name": "capec", "url": "https://capec.mitre.org/data/definitions/698.html" }, { "external_id": "CWE-507", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/507.html" }, { "external_id": "CWE-829", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/829.html" }, { "description": "Browser Extensions", "external_id": "T1176", "source_name": "ATTACK", "url": "https://attack.mitre.org/wiki/Technique/T1176" }, { "description": "Server Software Component: IIS Components", "external_id": "T1505.004", "source_name": "ATTACK", "url": "https://attack.mitre.org/wiki/Technique/T1505/004" }, { "description": "Robert Falcone, OilRig uses RGDoor IIS Backdoor on Targets in the Middle East, 2018--01---25, Palo Alto Networks", "external_id": "REF-740", "source_name": "reference_from_CAPEC", "url": "https://unit42.paloaltonetworks.com/unit42-oilrig-uses-rgdoor-iis-backdoor-targets-middle-east/" }, { "description": "ASERT Team, STOLEN PENCIL Campaign Targets Academia, 2018--12---05, NETSCOUT", "external_id": "REF-741", "source_name": "reference_from_CAPEC", "url": "https://www.netscout.com/blog/asert/stolen-pencil-campaign-targets-academia" } ], "id": "attack-pattern--260a8cb6-a7df-4dc5-a057-8a00aa69de7e", "modified": "2022-09-29T00:00:00.000Z", "name": "Install Malicious Extension", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "attack-pattern", "x_capec_abstraction": "Detailed", "x_capec_child_of_refs": [ "attack-pattern--482cb9fc-0122-49f0-b6df-6d2d42098b0a" ], "x_capec_consequences": { "Access_Control": [ "Execute Unauthorized Commands", "Alter Execution Logic", "Gain Privileges" ], "Authorization": [ "Execute Unauthorized Commands", "Alter Execution Logic", "Gain Privileges" ], "Confidentiality": [ "Read Data" ], "Integrity": [ "Modify Data" ] }, "x_capec_domains": [ "Software" ], "x_capec_example_instances": [ "\n In January 2018, Palo Alto's Unit 42 reported that a malicious Internet Information Services (IIS) extension they named RGDoor was used to create a backdoor into several Middle Eastern government organizations, as well as a financial institution and an educational institution. This malware was used in conjunction with the TwoFace webshell and allowed the adversaries to upload/download files and execute unauthorized commands. [REF-740]\n ", "\n In December 2018, it was reported that North Korea-based APT Kimusky (also known as Velvet Chollima) infected numerous legitimate academic organizations within the U.S., many specializing in biomedical engineering, with a malicious Google Chrome extension. Dubbed \"Operation STOLEN PENCIL\", the attack entailed conducting spear-phishing attacks to trick victims into installing a malicious PDF reader named \"Auto Font Manager\". Once installed, the malware allowed adversaries to steal cookies and site passwords, as well as forward emails from some compromised accounts. [REF-741]\n " ], "x_capec_execution_flow": "

Execution Flow

Explore

  1. Identify target(s): The adversary must first identify target software that allows for extensions/plugins and which they wish to exploit, such as a web browser or desktop application. To increase the attack space, this will often be popular software with a large user-base.

Experiment

  1. Create malicious extension: Having identified a suitable target, the adversary crafts a malicious extension/plugin that can be installed by the underlying target software. This malware may be targeted to execute on specific operating systems or be operating system agnostic.

Exploit

  1. Install malicious extension: The malicious extension/plugin is installed by the underlying target software and executes the adversary-created malware, resulting in a variety of negative technical impacts.

  2. Techniques
    Adversary-Installed: Having already compromised the target system, the adversary simply installs the malicious extension/plugin themself.
    User-Installed: The adversary tricks the user into installing the malicious extension/plugin, via means such as social engineering, or may upload the malware on a reputable extension/plugin hosting site and wait for unknowing victims to install the malicious component.
", "x_capec_extended_description": "\n Many software applications allow users to install third-party software extensions/plugins that provide additional features and functionality. Adversaries can take advantage of this behavior to install malware on a system with relative ease. This may require the adversary compromising a system and then installing the malicious extension themself. An alternate approach entails masquerading the malicious extension as a legitimate extension. The adversary then convinces users to install the malicious component, via means such as social engineering, or simply waits for victims to unknowingly install the malware on their systems. Once the malicious extension has been installed, the adversary can achieve a variety of negative technical impacts such as obtaining sensitive information, executing unauthorized commands, observing/modifying network traffic, and more.\n ", "x_capec_likelihood_of_attack": "Medium", "x_capec_prerequisites": [ "The adversary must craft malware based on the type of software and system(s) they intend to exploit.", "If the adversary intends to install the malicious extension themself, they must first compromise the target machine via some other means." ], "x_capec_skills_required": { "Medium": "Optional: Ability to exploit target system(s) via other means in order to gain entry." }, "x_capec_status": "Stable", "x_capec_typical_severity": "High", "x_capec_version": "3.9" }, { "created": "2022-09-29T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "Only install extensions/plugins from official/verifiable sources.", "id": "course-of-action--cc64512c-5bfe-4278-8b07-ce829e168728", "modified": "2022-09-29T00:00:00.000Z", "name": "coa-698-0", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "course-of-action", "x_capec_version": "3.9" }, { "created": "2022-09-29T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--2807bdb4-9794-4fc1-bdda-ab3dd9b934e9", "modified": "2022-09-29T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--cc64512c-5bfe-4278-8b07-ce829e168728", "spec_version": "2.1", "target_ref": "attack-pattern--260a8cb6-a7df-4dc5-a057-8a00aa69de7e", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2022-09-29T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "Confirm extensions/plugins are legitimate and not malware masquerading as a legitimate extension/plugin.", "id": "course-of-action--49e26aac-6fb0-47d0-ac5d-189c635bcdc9", "modified": "2022-09-29T00:00:00.000Z", "name": "coa-698-1", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "course-of-action", "x_capec_version": "3.9" }, { "created": "2022-09-29T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--6268fd8d-275a-45ec-b2d0-1847ab21681a", "modified": "2022-09-29T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--49e26aac-6fb0-47d0-ac5d-189c635bcdc9", "spec_version": "2.1", "target_ref": "attack-pattern--260a8cb6-a7df-4dc5-a057-8a00aa69de7e", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2022-09-29T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "Ensure the underlying software leveraging the extension/plugin (including operating systems) is up-to-date.", "id": "course-of-action--c3450828-c9cf-4d46-a741-9a54bc1a2ccb", "modified": "2022-09-29T00:00:00.000Z", "name": "coa-698-2", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "course-of-action", "x_capec_version": "3.9" }, { "created": "2022-09-29T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--71b550d1-dfe9-4f8e-8c1d-fb95610dc91e", "modified": "2022-09-29T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--c3450828-c9cf-4d46-a741-9a54bc1a2ccb", "spec_version": "2.1", "target_ref": "attack-pattern--260a8cb6-a7df-4dc5-a057-8a00aa69de7e", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2022-09-29T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "Implement an extension/plugin allow list, based on the given security policy.", "id": "course-of-action--61c1c9ea-6c17-4290-ab72-aadec28bff84", "modified": "2022-09-29T00:00:00.000Z", "name": "coa-698-3", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "course-of-action", "x_capec_version": "3.9" }, { "created": "2022-09-29T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--3b4cc5c1-0de0-4e6e-a975-3e437ac753f9", "modified": "2022-09-29T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--61c1c9ea-6c17-4290-ab72-aadec28bff84", "spec_version": "2.1", "target_ref": "attack-pattern--260a8cb6-a7df-4dc5-a057-8a00aa69de7e", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2022-09-29T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "If applicable, confirm extensions/plugins are properly signed by the official developers.", "id": "course-of-action--151dfa37-7bda-429b-b4cf-aeeba88b9b8c", "modified": "2022-09-29T00:00:00.000Z", "name": "coa-698-4", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "course-of-action", "x_capec_version": "3.9" }, { "created": "2022-09-29T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--641cc0bb-be70-4115-883e-a3f03bff4bbc", "modified": "2022-09-29T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--151dfa37-7bda-429b-b4cf-aeeba88b9b8c", "spec_version": "2.1", "target_ref": "attack-pattern--260a8cb6-a7df-4dc5-a057-8a00aa69de7e", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2022-09-29T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "For web browsers, close sessions when finished to prevent malicious extensions/plugins from executing the the background.", "id": "course-of-action--1084f0a9-9af8-4918-9e4a-e5e4f025bd78", "modified": "2022-09-29T00:00:00.000Z", "name": "coa-698-5", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "course-of-action", "x_capec_version": "3.9" }, { "created": "2022-09-29T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--5730515f-d9bc-4ea4-96f5-1c85449fe63a", "modified": "2022-09-29T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--1084f0a9-9af8-4918-9e4a-e5e4f025bd78", "spec_version": "2.1", "target_ref": "attack-pattern--260a8cb6-a7df-4dc5-a057-8a00aa69de7e", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2023-01-24T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "An Adversary can eavesdrop on the content of an external monitor through the air without modifying any cable or installing software, just capturing this signal emitted by the cable or video port, with this the attacker will be able to impact the confidentiality of the data without being detected by traditional security tools", "external_references": [ { "external_id": "CAPEC-699", "source_name": "capec", "url": "https://capec.mitre.org/data/definitions/699.html" }, { "external_id": "CWE-1300", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/1300.html" }, { "description": "TempestSDR: An SDR Tool For Eavesdropping on Computer Screens Via Unintentionally Radiated RF", "external_id": "REF-744", "source_name": "reference_from_CAPEC", "url": "https://www.rtl-sdr.com/tempestsdr-a-sdr-tool-for-eavesdropping-on-computer-screens-via-unintentionally-radiated-rf/" }, { "description": "Dan Maloney, Exposing Computer Monitor Side-Channel Vulnerabilities with TempestSDR", "external_id": "REF-745", "source_name": "reference_from_CAPEC", "url": "https://hackaday.com/2020/07/15/exposing-computer-monitor-side-channel-vulnerabilities-with-tempestsdr/" } ], "id": "attack-pattern--28cce7ad-5437-4fae-86b0-a21ab3a0e135", "modified": "2023-01-24T00:00:00.000Z", "name": "Eavesdropping on a Monitor", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "attack-pattern", "x_capec_abstraction": "Meta", "x_capec_child_of_refs": [ "attack-pattern--94e596d2-6844-4031-80c3-8522642aaff8" ], "x_capec_consequences": { "Confidentiality": [ "Read Data" ] }, "x_capec_execution_flow": "

Execution Flow

Explore

  1. Survey Target: The adversary surveys the target location, looking for exposed display cables and locations to hide an SDR. This also includes looking for display cables or monitors placed close to a wall, where the SDR can be in range while behind the wall. The adversary also attempts to discover the resolution and refresh rate of the targeted display.

Experiment

  1. Find target using SDR: The adversary sets up an SDR near the target display cable or monitor. They use the SDR software to locate the corresponding frequency of the display cable. This is done by looking for interference peaks that change depending on what the screen is showing. The adversary notes down the possible frequencies of unintentional emission.

  2. Techniques
    An adversary can make use of many different commercially available SDR devices which are easy to setup such as a HackRF, Ubertooth, RTL-SDR, and many others.

Exploit

  1. Visualize Monitor Image: Once the SDR software has been used to identify the target, the adversary will record the transmissions and visualize the monitor image using these transmissions, which allows them to eavesdrop on the information visible on the monitor.

  2. Techniques
    The TempestSDR software can be used in conjunction an SDR device to visualize the monitor image. The adversary will specify the known monitor resolution and refresh rate, or if those are not known they can use the provided auto-correlation graphs to help predict these values. The adversary will then try the different frequencies recorded from the experiment phase, looking for a viewing monitor display. Low pass filters and gain can be manipulated to make the display image clearer.
", "x_capec_extended_description": "\n This attack gives the adversary the ability to view an external monitor with an insignificant delay. There is also no indicator of compromise from the victim visible on the monitor.\n The eavesdrop is possible due to a signal leakage, that is produced at different points of the connection, including the source port, the connection between the cable and PC, the cable itself, and the connection between the cable and the monitor. That signal leakage can be captured near any of the leak points, but also in a near location, like the next room or a few meters away, using an SDR (Software-defined Radio) device and the correspondent software, that process and interpret the signal to show attackers what the monitor is displaying.\n From the victim’s point of view, this specified attack might cause a high risk, and from the other hand, from the attacker’s point of view, the attack is excellent, since the specified attack method can be used without investing too much effort or require too many skills, as long as the right attack tool is in right place, this allows attackers to completely compromise the confidentiality of the data; also giving the attacker the advantage of being undetectable by not only traditional security products but also from bug sweep because the SDR device is acting in passive mode.\n ", "x_capec_likelihood_of_attack": "Medium", "x_capec_prerequisites": [ "Victim should use an external monitor device", "Physical access to the target location and devices" ], "x_capec_resources_required": [ "SDR device set with the correspondent antenna", "Computer with SDR Software" ], "x_capec_skills_required": { "Low": "Understanding of computing hardware, to identify the video cable and video ports", "Medium": "Knowledge of how to use the SDR and related software: With this knowledge, the adversary will find the correct frequency where the signal is being leaked" }, "x_capec_status": "Draft", "x_capec_typical_severity": "High", "x_capec_version": "3.9" }, { "created": "2023-01-24T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "Enhance: Increase the number of electromagnetic shield layers in the display ports and cables to contain or reduce the intensity of the leaked signal.", "id": "course-of-action--6861ed58-d0bb-4b79-a234-6d3871f68301", "modified": "2023-01-24T00:00:00.000Z", "name": "coa-699-0", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "course-of-action", "x_capec_version": "3.9" }, { "created": "2023-01-24T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--f81ec05a-9f11-45a6-867c-62b54d1514de", "modified": "2023-01-24T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--6861ed58-d0bb-4b79-a234-6d3871f68301", "spec_version": "2.1", "target_ref": "attack-pattern--28cce7ad-5437-4fae-86b0-a21ab3a0e135", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2023-01-24T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "Implement: Use a protocol that encrypts the video signal; in case the signal is intercepted the signal is protected by the encryption.", "id": "course-of-action--afe1a16a-adf0-4319-8534-47f561dfe668", "modified": "2023-01-24T00:00:00.000Z", "name": "coa-699-1", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "course-of-action", "x_capec_version": "3.9" }, { "created": "2023-01-24T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--4096526b-50da-47c2-b008-add63b02b1e8", "modified": "2023-01-24T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--afe1a16a-adf0-4319-8534-47f561dfe668", "spec_version": "2.1", "target_ref": "attack-pattern--28cce7ad-5437-4fae-86b0-a21ab3a0e135", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2023-01-24T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "Design: Lock away the video cables, making it difficult for the attacker to access the cables and place the antenna near them (If the distance condition between the antenna and display port/cable is not satisfied, the attack will not be possible).", "id": "course-of-action--32e62a1f-c22b-463f-86b4-d5399aa93ac5", "modified": "2023-01-24T00:00:00.000Z", "name": "coa-699-2", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "course-of-action", "x_capec_version": "3.9" }, { "created": "2023-01-24T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--11be0074-5b6a-47ce-b412-6e814aaf3a56", "modified": "2023-01-24T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--32e62a1f-c22b-463f-86b4-d5399aa93ac5", "spec_version": "2.1", "target_ref": "attack-pattern--28cce7ad-5437-4fae-86b0-a21ab3a0e135", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2023-01-24T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "Implement: Use wireless technologies to connect to external display devices.", "id": "course-of-action--fd02f250-4a93-4e2e-8dc8-bd3e4abc9db8", "modified": "2023-01-24T00:00:00.000Z", "name": "coa-699-3", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "course-of-action", "x_capec_version": "3.9" }, { "created": "2023-01-24T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--5917544d-819a-4682-88b3-e6997f7efc51", "modified": "2023-01-24T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--fd02f250-4a93-4e2e-8dc8-bd3e4abc9db8", "spec_version": "2.1", "target_ref": "attack-pattern--28cce7ad-5437-4fae-86b0-a21ab3a0e135", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "Blind SQL Injection results from an insufficient mitigation for SQL Injection. Although suppressing database error messages are considered best practice, the suppression alone is not sufficient to prevent SQL Injection. Blind SQL Injection is a form of SQL Injection that overcomes the lack of error messages. Without the error messages that facilitate SQL Injection, the adversary constructs input strings that probe the target through simple Boolean SQL expressions. The adversary can determine if the syntax and structure of the injection was successful based on whether the query was executed or not. Applied iteratively, the adversary determines how and where the target is vulnerable to SQL Injection.", "external_references": [ { "external_id": "CAPEC-7", "source_name": "capec", "url": "https://capec.mitre.org/data/definitions/7.html" }, { "external_id": "CWE-89", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/89.html" }, { "external_id": "CWE-209", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/209.html" }, { "external_id": "CWE-74", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/74.html" }, { "external_id": "CWE-20", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/20.html" }, { "external_id": "CWE-697", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/697.html" }, { "external_id": "CWE-707", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/707.html" }, { "description": "Blind SQL Injection", "source_name": "OWASP Attacks", "url": "https://owasp.org/www-community/attacks/Blind_SQL_Injection" } ], "id": "attack-pattern--9116da7f-a60e-4186-b42a-218f1b0eb269", "modified": "2022-09-29T00:00:00.000Z", "name": "Blind SQL Injection", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "attack-pattern", "x_capec_abstraction": "Detailed", "x_capec_child_of_refs": [ "attack-pattern--42acc604-a86c-46f7-bd03-6e532c02d85e" ], "x_capec_consequences": { "Availability": [ "Execute Unauthorized Commands (Run Arbitrary Code)" ], "Confidentiality": [ "Read Data", "Execute Unauthorized Commands (Run Arbitrary Code)" ], "Integrity": [ "Modify Data", "Execute Unauthorized Commands (Run Arbitrary Code)" ] }, "x_capec_domains": [ "Software" ], "x_capec_example_instances": [ "\n An adversary may try entering something like \"username' AND 1=1; --\" in an input field. If the result is the same as when the adversary entered \"username\" in the field, then the adversary knows that the application is vulnerable to SQL Injection. The adversary can then ask yes/no questions from the database server to extract information from it. For example, the adversary can extract table names from a database using the following types of queries:\n \"username' AND ascii(lower(substring((SELECT TOP 1 name FROM sysobjects WHERE xtype='U'), 1, 1))) > 108\".\n If the above query executes properly, then the adversary knows that the first character in a table name in the database is a letter between m and z. If it doesn't, then the adversary knows that the character must be between a and l (assuming of course that table names only contain alphabetic characters). By performing a binary search on all character positions, the adversary can determine all table names in the database. Subsequently, the adversary may execute an actual attack and send something like:\n \"username'; DROP TABLE trades; --\n ", "In the PHP application TimeSheet 1.1, an adversary can successfully retrieve username and password hashes from the database using Blind SQL Injection. If the adversary is aware of the local path structure, the adversary can also remotely execute arbitrary code and write the output of the injected queries to the local path. Blind SQL Injection is possible since the application does not properly sanitize the $_POST['username'] variable in the login.php file. See also: CVE-2006-4705" ], "x_capec_execution_flow": "

Execution Flow

Explore

  1. [Hypothesize SQL queries in application]Generated hypotheses regarding the SQL queries in an application. For example, the adversary may hypothesize that their input is passed directly into a query that looks like:\n \"SELECT * FROM orders WHERE ordernum = _____\"or\"SELECT * FROM orders WHERE ordernum IN (_____)\"or\"SELECT * FROM orders WHERE ordernum in (_____) ORDER BY _____\"\n Of course, there are many other possibilities.\n

  2. Techniques
    Research types of SQL queries and determine which ones could be used at various places in an application.
  3. [Determine how to inject information into the queries]Determine how to inject information into the queries from the previous step such that the injection does not impact their logic. For example, the following are possible injections for those queries:\n \"5' OR 1=1; --\"and\"5) OR 1=1; --\"and\"ordernum DESC; --\"\n

  4. Techniques
    Add clauses to the SQL queries such that the query logic does not change.
    Add delays to the SQL queries in case server does not provide clear error messages (e.g. WAITFOR DELAY '0:0:10' in SQL Server or BENCHMARK(1000000000,MD5(1) in MySQL). If these can be injected into the queries, then the length of time that the server takes to respond reveals whether the query is injectable or not.

Experiment

  1. Determine user-controllable input susceptible to injection: Determine the user-controllable input susceptible to injection. For each user-controllable input that the adversary suspects is vulnerable to SQL injection, attempt to inject the values determined in the previous step. If an error does not occur, then the adversary knows that the SQL injection was successful.

  2. Techniques
    Use web browser to inject input through text fields or through HTTP GET parameters.
    Use a web application debugging tool such as Tamper Data, TamperIE, WebScarab,etc. to modify HTTP POST parameters, hidden fields, non-freeform fields, etc.
    Use network-level packet injection tools such as netcat to inject input
    Use modified client (modified by reverse engineering) to inject input.
  3. Determine database type: Determines the type of the database, such as MS SQL Server or Oracle or MySQL, using logical conditions as part of the injected queries

  4. Techniques
    Try injecting a string containing char(0x31)=char(0x31) (this evaluates to 1=1 in SQL Server only)
    Try injecting a string containing 0x313D31 (this evaluates to 1=1 in MySQL only)
    Inject other database-specific commands into input fields susceptible to SQL Injection. The adversary can determine the type of database that is running by checking whether the query executed successfully or not (i.e. whether the adversary received a normal response from the server or not).

Exploit

  1. Extract information about database schema: Extract information about database schema by getting the database to answer yes/no questions about the schema.

  2. Techniques
    Automatically extract database schema using a tool such as Absinthe.
    Manually perform the blind SQL Injection to extract desired information about the database schema.
  3. Exploit SQL Injection vulnerability: Use the information obtained in the previous steps to successfully inject the database in order to bypass checks or modify, add, retrieve or delete data from the database

  4. Techniques
    Use information about how to inject commands into SQL queries as well as information about the database schema to execute attacks such as dropping tables, inserting records, etc.
", "x_capec_likelihood_of_attack": "High", "x_capec_prerequisites": [ "SQL queries used by the application to store, retrieve or modify data.", "User-controllable input that is not properly validated by the application as part of SQL queries." ], "x_capec_resources_required": [ "None: No specialized resources are required to execute this type of attack." ], "x_capec_skills_required": { "Medium": "Determining the database type and version, as well as the right number and type of parameters to the query being injected in the absence of error messages requires greater skill than reverse-engineering database error messages." }, "x_capec_status": "Draft", "x_capec_typical_severity": "High", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "Security by Obscurity is not a solution to preventing SQL Injection. Rather than suppress error messages and exceptions, the application must handle them gracefully, returning either a custom error page or redirecting the user to a default page, without revealing any information about the database or the application internals.", "id": "course-of-action--b126246b-e773-4c81-af2f-40d1dcfb2160", "modified": "2022-09-29T00:00:00.000Z", "name": "coa-7-0", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "course-of-action", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--e8e7946c-f260-48f6-8601-b5bd6d149921", "modified": "2022-09-29T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--b126246b-e773-4c81-af2f-40d1dcfb2160", "spec_version": "2.1", "target_ref": "attack-pattern--9116da7f-a60e-4186-b42a-218f1b0eb269", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--a8e9617f-1737-408d-9e05-97402a6101c9", "modified": "2022-09-29T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--07cbed26-8c96-41e6-a239-7be587a38673", "spec_version": "2.1", "target_ref": "attack-pattern--9116da7f-a60e-4186-b42a-218f1b0eb269", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "An adversary may try certain common or default usernames and passwords to gain access into the system and perform unauthorized actions. An adversary may try an intelligent brute force using empty passwords, known vendor default credentials, as well as a dictionary of common usernames and passwords. Many vendor products come preconfigured with default (and thus well-known) usernames and passwords that should be deleted prior to usage in a production environment. It is a common mistake to forget to remove these default login credentials. Another problem is that users would pick very simple (common) passwords (e.g. \"secret\" or \"password\") that make it easier for the attacker to gain access to the system compared to using a brute force attack or even a dictionary attack using a full dictionary.", "external_references": [ { "external_id": "CAPEC-70", "source_name": "capec", "url": "https://capec.mitre.org/data/definitions/70.html" }, { "external_id": "CWE-521", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/521.html" }, { "external_id": "CWE-262", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/262.html" }, { "external_id": "CWE-263", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/263.html" }, { "external_id": "CWE-798", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/798.html" }, { "external_id": "CWE-654", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/654.html" }, { "external_id": "CWE-308", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/308.html" }, { "external_id": "CWE-309", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/309.html" }, { "description": "Valid Accounts:Default Accounts", "external_id": "T1078.001", "source_name": "ATTACK", "url": "https://attack.mitre.org/wiki/Technique/T1078/001" }, { "description": "Corporate IoT – a path to intrusion, 2019--10---05, Microsoft Security Response Center (MSRC)", "external_id": "REF-572", "source_name": "reference_from_CAPEC", "url": "https://msrc-blog.microsoft.com/2019/08/05/corporate-iot-a-path-to-intrusion" }, { "description": "Risks of Default Passwords on the Internet, 2016--10---07, Cybersecurity and Infrastructure Security Agency (CISA)", "external_id": "REF-574", "source_name": "reference_from_CAPEC", "url": "https://www.us-cert.gov/ncas/alerts/TA13-175A" }, { "description": "OWASP Web Security Testing Guide, The Open Web Application Security Project (OWASP)", "external_id": "REF-596", "source_name": "reference_from_CAPEC", "url": "https://owasp.org/www-project-web-security-testing-guide/latest/4-Web_Application_Security_Testing/03-Identity_Management_Testing/04-Testing_for_Account_Enumeration_and_Guessable_User_Account.html" }, { "description": "OWASP Web Security Testing Guide, The Open Web Application Security Project (OWASP)", "external_id": "REF-597", "source_name": "reference_from_CAPEC", "url": "https://owasp.org/www-project-web-security-testing-guide/latest/4-Web_Application_Security_Testing/04-Authentication_Testing/02-Testing_for_Default_Credentials.html" } ], "id": "attack-pattern--8c7bab16-5ecd-4778-9b04-c185bceed170", "modified": "2021-06-24T00:00:00.000Z", "name": "Try Common or Default Usernames and Passwords", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "attack-pattern", "x_capec_abstraction": "Detailed", "x_capec_can_precede_refs": [ "attack-pattern--03a731ef-751b-43de-9159-9667d4be4d1a", "attack-pattern--22802ed6-ddc6-4da7-b6be-60b10d26198b", "attack-pattern--886a7175-e28a-4e6d-bd22-3b1497e31dc7", "attack-pattern--f2654def-b86d-4ddb-888f-de6b50a103a2", "attack-pattern--2618d0a4-06d0-4bde-8271-2df61ed8297a" ], "x_capec_child_of_refs": [ "attack-pattern--8d88a81c-bde9-4fb3-acbe-901c783d6427" ], "x_capec_consequences": { "Access_Control": [ "Gain Privileges" ], "Authorization": [ "Gain Privileges" ], "Confidentiality": [ "Gain Privileges" ] }, "x_capec_domains": [ "Software" ], "x_capec_example_instances": [ "A user sets their password to \"123\" or intentionally leaves their password blank. If the system does not have password strength enforcement against a sound password policy, this password may be admitted. Passwords like these two examples are two simple and common passwords that are easily able to be guessed by the adversary.", "Cisco 2700 Series Wireless Location Appliances (version 2.1.34.0 and earlier) have a default administrator username \"root\" with a password \"password\". This allows remote attackers to easily obtain administrative privileges. See also: CVE-2006-5288", "In April 2019, adversaries attacked several popular IoT devices (a VOIP phone, an office printer, and a video decoder) across multiple customer locations. An investigation conducted by the Microsoft Security Resposne Center (MSRC) discovered that these devices were used to gain initial access to corporate networks. In two of the cases, the passwords for the devices were deployed without changing the default manufacturer’s passwords and in the third instance the latest security update had not been applied to the device. [REF-572]" ], "x_capec_likelihood_of_attack": "Medium", "x_capec_prerequisites": [ "The system uses one factor password based authentication.The adversary has the means to interact with the system." ], "x_capec_resources_required": [ "Technology or vendor specific list of default usernames and passwords." ], "x_capec_skills_required": { "Low": "An adversary just needs to gain access to common default usernames/passwords specific to the technologies used by the system. Additionally, a brute force attack leveraging common passwords can be easily realized if the user name is known." }, "x_capec_status": "Draft", "x_capec_typical_severity": "High", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "Delete all default account credentials that may be put in by the product vendor.", "id": "course-of-action--a5bb8adb-a8f3-466a-af09-898ca2b29b74", "modified": "2021-06-24T00:00:00.000Z", "name": "coa-70-0", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "course-of-action", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--5ae690da-8edd-49c2-92c4-8f09f6f23cd6", "modified": "2021-06-24T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--a5bb8adb-a8f3-466a-af09-898ca2b29b74", "spec_version": "2.1", "target_ref": "attack-pattern--8c7bab16-5ecd-4778-9b04-c185bceed170", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--ac1c094b-9c14-4717-9353-911a46460f08", "modified": "2021-06-24T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--1260aa3b-67cb-4194-9b7c-1edcd9cea382", "spec_version": "2.1", "target_ref": "attack-pattern--8c7bab16-5ecd-4778-9b04-c185bceed170", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--fcdf171c-f44d-4397-8365-c74fb76197ea", "modified": "2021-06-24T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--67382257-6794-48ac-82a0-f33260b6f0db", "spec_version": "2.1", "target_ref": "attack-pattern--8c7bab16-5ecd-4778-9b04-c185bceed170", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--3139771b-b483-4f77-b9ab-79ab1c9eafbe", "modified": "2021-06-24T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--bb36d937-986b-43eb-aa65-3e773af8ce32", "spec_version": "2.1", "target_ref": "attack-pattern--8c7bab16-5ecd-4778-9b04-c185bceed170", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2023-01-24T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "An adversary which has gained elevated access to network boundary devices may use these devices to create a channel to bridge trusted and untrusted networks. Boundary devices do not necessarily have to be on the network’s edge, but rather must serve to segment portions of the target network the adversary wishes to cross into.", "external_references": [ { "external_id": "CAPEC-700", "source_name": "capec", "url": "https://capec.mitre.org/data/definitions/700.html" }, { "description": "Network Boundary Bridging", "external_id": "T1599", "source_name": "ATTACK", "url": "https://attack.mitre.org/wiki/Technique/T1599" }, { "description": "CISA, Russian State-Sponsored Cyber Actors Targeting Network Infrastructure Devices, 2018--04---16", "external_id": "REF-746", "source_name": "reference_from_CAPEC", "url": "https://www.cisa.gov/uscert/ncas/alerts/TA18-106A" } ], "id": "attack-pattern--c93cedbb-0291-493a-bec9-9c9553697973", "modified": "2023-01-24T00:00:00.000Z", "name": "Network Boundary Bridging", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "attack-pattern", "x_capec_abstraction": "Standard", "x_capec_child_of_refs": [ "attack-pattern--2a6131f7-30af-4529-be4e-bc3b7bf22009" ], "x_capec_consequences": { "Access_Control": [ "Read Data", "Bypass Protection Mechanism" ], "Authorization": [ "Alter Execution Logic", "Hide Activities" ], "Confidentiality": [ "Read Data", "Bypass Protection Mechanism" ], "Integrity": [ "Alter Execution Logic", "Hide Activities" ] }, "x_capec_domains": [ "Communications", "Software", "Hardware" ], "x_capec_example_instances": [ "\n In November 2016, a Smart Install Exploitation Tool was released online which takes advantage of Cisco’s unauthenticated SMI management protocol to download a target’s current configuration files. Adversaries can use this tool to overwrite files to modify the device configurations, or upload maliciously modified OS or firmware to enable persistence. Once the adversary has access to the device’s configurations, they could modify it to redirect network traffic through other network infrastructure.\n " ], "x_capec_execution_flow": "

Execution Flow

Explore

  1. Identify potential targets: An adversary identifies network boundary devices that can be compromised.

  2. Techniques
    The adversary traces network traffic to identify which devices the traffic flows through. Additionally, the adversary can identify devices using fingerprinting methods or locating the management page to determine identifying information about the device.

Experiment

  1. Compromise targets: The adversary must compromise the identified targets in the previous step.

  2. Techniques
    Once the device is identified, the adversary can attempt to input known default credentials for the device to gain access to the management console.
    Adversaries with sufficient identifying knowledge about the target device can exploit known vulnerabilities in network devices to obtain administrative access.

Exploit

  1. Bridge Networks: The adversary changes the configuration of the compromised network device to connect the networks the device was segmenting. Depending on the type of network boundary device and its capabilities, bridging can be implemented using various methods.

  2. Techniques
    The adversary can abuse Network Address Translation (NAT) in firewalls and routers to manipulate traffic flow to their own design. With control of the network device, the adversary can manipulate NAT by either using existing configurations or creating their own to allow two previously unconnected networks to communicate.
    Some network devices can be configured to become a proxy server. Adversaries can set up or exploit an existing proxy server on compromised network devices to create a bridge between separate networks.
", "x_capec_extended_description": "\n Network boundary devices are network devices such as routers and firewalls which segment networks by restricting certain types of traffic from flowing through the device. Network boundary devices are often directly accessible through a portal page for management purposes. An adversary’s goal when conducting network boundary bridging is to connect networks which are being segmented by the device. To do so, the adversary must first compromise the network boundary device.\n ", "x_capec_likelihood_of_attack": "Medium", "x_capec_prerequisites": [ "The adversary must have control of a network boundary device." ], "x_capec_resources_required": [ "The adversary requires either high privileges or full control of a boundary device on a target network." ], "x_capec_skills_required": { "Medium": "The adversary must understand how to manage the target network device to create or edit policies which will bridge networks." }, "x_capec_status": "Draft", "x_capec_typical_severity": "High", "x_capec_version": "3.9" }, { "created": "2023-01-24T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "Design: Ensure network devices are storing credentials in encrypted stores", "id": "course-of-action--32725b6b-67e3-42a5-90c3-3df837752e22", "modified": "2023-01-24T00:00:00.000Z", "name": "coa-700-0", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "course-of-action", "x_capec_version": "3.9" }, { "created": "2023-01-24T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--93781594-95f7-4a98-8d8d-c63912350df5", "modified": "2023-01-24T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--32725b6b-67e3-42a5-90c3-3df837752e22", "spec_version": "2.1", "target_ref": "attack-pattern--c93cedbb-0291-493a-bec9-9c9553697973", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2023-01-24T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "Design: Follow the principle of least privilege and restrict administrative duties to as few accounts as possible. Ensure these privileged accounts are secured with strong credentials which do not overlap with other network devices.", "id": "course-of-action--038c3205-b918-4a35-84f2-e2293c5939db", "modified": "2023-01-24T00:00:00.000Z", "name": "coa-700-1", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "course-of-action", "x_capec_version": "3.9" }, { "created": "2023-01-24T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--cc655a9c-2a77-4423-9b9f-db489ac138b6", "modified": "2023-01-24T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--038c3205-b918-4a35-84f2-e2293c5939db", "spec_version": "2.1", "target_ref": "attack-pattern--c93cedbb-0291-493a-bec9-9c9553697973", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2023-01-24T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "Configuration: When possible, configure network boundary devices to use MFA.", "id": "course-of-action--6cc78d5e-6d76-4d60-bc22-2cf852698416", "modified": "2023-01-24T00:00:00.000Z", "name": "coa-700-2", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "course-of-action", "x_capec_version": "3.9" }, { "created": "2023-01-24T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--783c4799-804f-4421-8e13-a415b2f6ba48", "modified": "2023-01-24T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--6cc78d5e-6d76-4d60-bc22-2cf852698416", "spec_version": "2.1", "target_ref": "attack-pattern--c93cedbb-0291-493a-bec9-9c9553697973", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2023-01-24T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "Configuration: Change the default configuration for network devices to harden their security profiles. Default configurations are often enabled with insecure features to allow ease of installation and management. However, these configurations can be easily discovered and exploited by adversaries.", "id": "course-of-action--4b5892a7-8b4a-451f-ae7a-1b25ce5ece40", "modified": "2023-01-24T00:00:00.000Z", "name": "coa-700-3", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "course-of-action", "x_capec_version": "3.9" }, { "created": "2023-01-24T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--7780fd5c-50d4-4542-9e3f-50121cc5dbf5", "modified": "2023-01-24T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--4b5892a7-8b4a-451f-ae7a-1b25ce5ece40", "spec_version": "2.1", "target_ref": "attack-pattern--c93cedbb-0291-493a-bec9-9c9553697973", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2023-01-24T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "Implementation: Perform integrity checks on audit logs for network device management and review them to identify abnormalities in configurations.", "id": "course-of-action--dff06017-2189-4ee8-875b-d7c722ceb8fb", "modified": "2023-01-24T00:00:00.000Z", "name": "coa-700-4", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "course-of-action", "x_capec_version": "3.9" }, { "created": "2023-01-24T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--fe4286f2-275d-4a1f-b28e-f40a30bde64e", "modified": "2023-01-24T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--dff06017-2189-4ee8-875b-d7c722ceb8fb", "spec_version": "2.1", "target_ref": "attack-pattern--c93cedbb-0291-493a-bec9-9c9553697973", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2023-01-24T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "Implementation: Prevent network boundary devices from being physically accessed by unauthorized personnel to prevent tampering.", "id": "course-of-action--8395680e-e9c6-4c7b-a94f-e5d4bdd9e5c0", "modified": "2023-01-24T00:00:00.000Z", "name": "coa-700-5", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "course-of-action", "x_capec_version": "3.9" }, { "created": "2023-01-24T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--0b91c573-2031-4024-a179-a9a719c76d8a", "modified": "2023-01-24T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--8395680e-e9c6-4c7b-a94f-e5d4bdd9e5c0", "spec_version": "2.1", "target_ref": "attack-pattern--c93cedbb-0291-493a-bec9-9c9553697973", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2023-01-24T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "An adversary exploits the inherent functionalities of a web browser, in order to establish an unnoticed remote desktop connection in the victim's browser to the adversary's system. The adversary must deploy a web client with a remote desktop session that the victim can access.", "external_references": [ { "external_id": "CAPEC-701", "source_name": "capec", "url": "https://capec.mitre.org/data/definitions/701.html" }, { "external_id": "CWE-294", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/294.html" }, { "external_id": "CWE-345", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/345.html" }, { "description": "Tommasi F., Catalano, C., Taurino I., Browser-in-the-Middle (BitM) attack, 2021--04---17", "external_id": "REF-747", "source_name": "reference_from_CAPEC", "url": "https://link.springer.com/article/10.1007/s10207-021-00548-5#citeas" } ], "id": "attack-pattern--3491dd54-d586-4f3d-80c1-9576ee48236b", "modified": "2023-01-24T00:00:00.000Z", "name": "Browser in the Middle (BiTM)", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "attack-pattern", "x_capec_abstraction": "Standard", "x_capec_can_precede_refs": [ "attack-pattern--22802ed6-ddc6-4da7-b6be-60b10d26198b", "attack-pattern--bd4f8f46-1bc7-40a9-b15a-e36b7671cf5b" ], "x_capec_child_of_refs": [ "attack-pattern--38964770-4f39-4191-89cf-73a625162b2b" ], "x_capec_consequences": { "Access_Control": [ "Gain Privileges" ], "Authentication": [ "Gain Privileges" ], "Authorization": [ "Read Data" ], "Confidentiality": [ "Gain Privileges", "Read Data" ], "Integrity": [ "Modify Data" ] }, "x_capec_domains": [ "Communications", "Software" ], "x_capec_execution_flow": "

Execution Flow

Explore

  1. Identify potential targets: The adversary identifies an application or service that the target is likely to use.

  2. Techniques
    The adversary stands up a server to host the transparent browser and entices victims to use it by using a domain name similar to the legitimate application. In addition to the transparent browser, the adversary could also install a web proxy, sniffer, keylogger, and other tools to assist in their goals.

Experiment

  1. Lure victims: The adversary crafts a phishing campaign to lure unsuspecting victims into using the transparent browser.

  2. Techniques
    An adversary can create a convincing email with a link to download the web client and interact with the transparent browser.

Exploit

  1. Monitor and Manipulate Data: When the victim establishes the connection to the transparent browser, the adversary can view victim activity and make alterations to what the victim sees when browsing the web.

  2. Techniques
    Once a victim has established a connection to the transparent browser, the adversary can use installed tools such as a web proxy, keylogger, or additional malicious browser extensions to gather and manipulate data or impersonate the victim.
", "x_capec_extended_description": "\n Unlike Adversary in the Browser, the victim does not need to install a malicious application. Browser in the Middle uses the inherent functionalities of a web browser to convince the victim they are browsing normally under the assumption that the connection is secure. All the actions performed by the victim in the open window are actually performed on the machine of the adversary. These victim-authenticated sessions are available to the adversary to use. All entered data such as passwords and usernames can be logged by the adversary and the content displayed to the victim can be altered arbitrarily. Varieties of multifactor authentication which rely solely on user input and do not use a form of hardware-based secret exchange are vulnerable to browser in the middle.\n ", "x_capec_likelihood_of_attack": "Medium", "x_capec_prerequisites": [ "The adversary must create a convincing web client to establish the connection. The victim then needs to be lured onto the adversary's webpage. In addition, the victim's machine must not use local authentication APIs, a hardware token, or a Trusted Platform Module (TPM) to authenticate." ], "x_capec_resources_required": [ "A web application with a client is needed to enable the victim's browser to establish a remote desktop connection to the system of the adversary." ], "x_capec_skills_required": { "Medium": "" }, "x_capec_status": "Draft", "x_capec_typical_severity": "High", "x_capec_version": "3.9" }, { "created": "2023-01-24T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "Implementation: Use strong, mutual authentication to fully authenticate with both ends of any communications channel", "id": "course-of-action--f44bc993-82a0-449a-9b98-04b0c109d981", "modified": "2023-01-24T00:00:00.000Z", "name": "coa-701-0", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "course-of-action", "x_capec_version": "3.9" }, { "created": "2023-01-24T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--2f66607a-0817-42cb-a00b-c67a8e30b827", "modified": "2023-01-24T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--f44bc993-82a0-449a-9b98-04b0c109d981", "spec_version": "2.1", "target_ref": "attack-pattern--3491dd54-d586-4f3d-80c1-9576ee48236b", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2023-01-24T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "\n An adversary exploits incorrect chaining or granularity of hardware debug components in order to gain unauthorized access to debug functionality on a chip. This happens when authorization is not checked on a per function basis and is assumed for a chain or group of debug functionality.\n ", "external_references": [ { "external_id": "CAPEC-702", "source_name": "capec", "url": "https://capec.mitre.org/data/definitions/702.html" }, { "external_id": "CWE-1296", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/1296.html" }, { "description": "Hewlett-Packard Journal, Overview of the Test Access Port, 1994--12", "external_id": "REF-748", "source_name": "reference_from_CAPEC", "url": "https://www.hpl.hp.com/hpjournal/94dec/dec94a7a.pdf" }, { "description": "Finding Faults with the Test Access Port (TAP), 2017--06---12", "external_id": "REF-749", "source_name": "reference_from_CAPEC", "url": "https://flynn.com/2017/06/12/finding-faults-with-the-test-access-port-tap/" }, { "description": "Technical Guide to JTAG", "external_id": "REF-750", "source_name": "reference_from_CAPEC", "url": "https://www.xjtag.com/about-jtag/jtag-a-technical-overview/" } ], "id": "attack-pattern--a8c03df8-2c83-493f-8e92-4c8afac0ed40", "modified": "2023-01-24T00:00:00.000Z", "name": "Exploiting Incorrect Chaining or Granularity of Hardware Debug Components", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "attack-pattern", "x_capec_abstraction": "Detailed", "x_capec_child_of_refs": [ "attack-pattern--aac17300-6cdd-4f50-82c3-da5a01d225ac" ], "x_capec_consequences": { "Access_Control": [ "Gain Privileges" ], "Authorization": [ "Gain Privileges" ], "Confidentiality": [ "Read Data" ], "Integrity": [ "Modify Data" ] }, "x_capec_domains": [ "Software", "Hardware" ], "x_capec_example_instances": [ "\n A System-on-Chip (SoC) might give regular users access to the SoC-level TAP, but does not want to give access to all of the internal TAPs (e.g., Core). If any of the internal TAPs were incorrectly chained to the SoC-level TAP, this would grant regular users access to the internal TAPs and allow them to execute commands there.\n ", "\n Suppose there is a hierarchy of TAPs (TAP_A is connected to TAP_B and TAP_C, then TAP_B is connected to TAP_D and TAP_E, then TAP_C is connected to TAP_F and TAP_G, etc.). Architecture mandates that the user have one set of credentials for just accessing TAP_A, another set of credentials for accessing TAP_B and TAP_C, etc. However, if, during implementation, the designer mistakenly implements a daisy-chained TAP where all the TAPs are connected in a single TAP chain without the hierarchical structure, the correct granularity of debug components is not implemented, and the attacker can gain unauthorized access.\n " ], "x_capec_execution_flow": "

Execution Flow

Explore

  1. Find and scan debug interface: The adversary must first find and scan a debug interface to determine what they are authorized to use and what devices are chained to that interface.

  2. Techniques
    Use a JTAGulator on a JTAG interface to determine the correct pin configuration, baud rate, and number of devices in the chain

Experiment

  1. Connect to debug interface: The adversary next connects a device to the JTAG interface using the properties found in the explore phase so that they can send commands. The adversary sends some test commands to make sure the connection is working.

  2. Techniques
    Connect a device such as a BusPirate or UM232H to the JTAG interface and connect using pin layout found from the JTAGulator

Exploit

  1. Move along debug chain: Once the adversary has connected to the main TAP, or JTAG interface, they will move along the TAP chain to see what debug interfaces might be available on that chain.

  2. Techniques
    Run a command such as “scan_chain” to see what TAPs are available in the chain.
", "x_capec_extended_description": "\n Chip designers often include design elements in a chip for debugging and troubleshooting such as:\n \n Various Test Access Ports (TAPs) which allow boundary scan commands to be executed.\n Scan cells that allow the chip to be used as a \"stimulus and response\" mechanism for scanning the internal components of a chip.\n Custom methods to observe the internal components of their chips by placing various tracing hubs within their chip and creating hierarchical or interconnected structures among those hubs.\n \n Because devices commonly have multiple chips and debug components, designers will connect debug components and expose them through a single external interface, which is referred to as “chaining”. Logic errors during design or synthesis could misconfigure the chaining of the debug components, which could allow unintended access. TAPs are also commonly referred to as JTAG interfaces.\n ", "x_capec_likelihood_of_attack": "Low", "x_capec_prerequisites": [ "Hardware device has an exposed debug interface" ], "x_capec_resources_required": [ "A device to scan a TAP or JTAG interface, such as a JTAGulator", "A device to communicate on a TAP or JTAG interface, such as a BusPirate" ], "x_capec_skills_required": { "Medium": "Ability to operate devices to scan and connect to an exposed debug interface" }, "x_capec_status": "Draft", "x_capec_typical_severity": "Medium", "x_capec_version": "3.9" }, { "created": "2023-01-24T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "Implement: Ensure that debug components are properly chained, and their granularity is maintained at different authorization levels", "id": "course-of-action--77da5dae-701a-472d-bf4f-06b848567b8c", "modified": "2023-01-24T00:00:00.000Z", "name": "coa-702-0", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "course-of-action", "x_capec_version": "3.9" }, { "created": "2023-01-24T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--49194375-4e3f-4111-a459-90634fe46e45", "modified": "2023-01-24T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--77da5dae-701a-472d-bf4f-06b848567b8c", "spec_version": "2.1", "target_ref": "attack-pattern--a8c03df8-2c83-493f-8e92-4c8afac0ed40", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2023-01-24T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "Perform Post-silicon validation tests at various authorization levels to ensure that debug components are only accessible to authorized users", "id": "course-of-action--b9d223ef-6328-4391-8c88-2d62f27c78ff", "modified": "2023-01-24T00:00:00.000Z", "name": "coa-702-1", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "course-of-action", "x_capec_version": "3.9" }, { "created": "2023-01-24T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--bc54e41d-0855-4da4-a127-65b1ceae9ba3", "modified": "2023-01-24T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--b9d223ef-6328-4391-8c88-2d62f27c78ff", "spec_version": "2.1", "target_ref": "attack-pattern--a8c03df8-2c83-493f-8e92-4c8afac0ed40", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "An attacker may provide a Unicode string to a system component that is not Unicode aware and use that to circumvent the filter or cause the classifying mechanism to fail to properly understanding the request. That may allow the attacker to slip malicious data past the content filter and/or possibly cause the application to route the request incorrectly.", "external_references": [ { "external_id": "CAPEC-71", "source_name": "capec", "url": "https://capec.mitre.org/data/definitions/71.html" }, { "external_id": "CWE-176", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/176.html" }, { "external_id": "CWE-179", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/179.html" }, { "external_id": "CWE-180", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/180.html" }, { "external_id": "CWE-173", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/173.html" }, { "external_id": "CWE-172", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/172.html" }, { "external_id": "CWE-184", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/184.html" }, { "external_id": "CWE-183", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/183.html" }, { "external_id": "CWE-74", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/74.html" }, { "external_id": "CWE-20", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/20.html" }, { "external_id": "CWE-697", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/697.html" }, { "external_id": "CWE-692", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/692.html" }, { "description": "Unicode Encoding", "source_name": "OWASP Attacks", "url": "https://owasp.org/www-community/attacks/Unicode_Encoding" }, { "description": "G. Hoglund, G. McGraw, Exploiting Software: How to Break Code, 2004--02, Addison-Wesley", "external_id": "REF-1", "source_name": "reference_from_CAPEC" } ], "id": "attack-pattern--663a1a48-1d23-4dd5-869a-02d5a6b05770", "modified": "2022-09-29T00:00:00.000Z", "name": "Using Unicode Encoding to Bypass Validation Logic", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "attack-pattern", "x_capec_abstraction": "Detailed", "x_capec_child_of_refs": [ "attack-pattern--a1af7c24-25cb-46e5-a27b-ed316e1f91ce" ], "x_capec_consequences": { "Access_Control": [ "Bypass Protection Mechanism" ], "Authorization": [ "Bypass Protection Mechanism" ], "Availability": [ "Execute Unauthorized Commands (Run Arbitrary Code)", "Unreliable Execution" ], "Confidentiality": [ "Bypass Protection Mechanism", "Execute Unauthorized Commands (Run Arbitrary Code)" ], "Integrity": [ "Execute Unauthorized Commands (Run Arbitrary Code)", "Modify Data" ] }, "x_capec_domains": [ "Software" ], "x_capec_example_instances": [ "\n A very common technique for a Unicode attack involves traversing directories looking for interesting files. An example of this idea applied to the Web is\n http://target.server/some_directory/../../../winnt\n In this case, the attacker is attempting to traverse to a directory that is not supposed to be part of standard Web services. The trick is fairly obvious, so many Web servers and scripts prevent it. However, using alternate encoding tricks, an attacker may be able to get around badly implemented request filters.\n In October 2000, an adversary publicly revealed that Microsoft's IIS server suffered from a variation of this problem. In the case of IIS, all the attacker had to do was provide alternate encodings for the dots and/or slashes found in a classic attack. The Unicode translations are\n . yields C0 AE/ yields C0 AF\\ yields C1 9C\n Using this conversion, the previously displayed URL can be encoded as\n http://target.server/some_directory/%C0AE/%C0AE/%C0AE%C0AE/%C0AE%C0AE/winntSee also: CVE-2000-0884" ], "x_capec_execution_flow": "

Execution Flow

Explore

  1. Survey the application for user-controllable inputs: Using a browser or an automated tool, an attacker follows all public links and actions on a web site. They record all the links, the forms, the resources accessed and all other potential entry-points for the web application.

  2. Techniques
    Use a spidering tool to follow and record all links and analyze the web pages to find entry points. Make special note of any links that include parameters in the URL.
    Use a proxy tool to record all user input entry points visited during a manual traversal of the web application.
    Use a browser to manually explore the website and analyze how it is constructed. Many browsers' plugins are available to facilitate the analysis or automate the discovery.

Experiment

  1. Probe entry points to locate vulnerabilities: The attacker uses the entry points gathered in the \"Explore\" phase as a target list and injects various Unicode encoded payloads to determine if an entry point actually represents a vulnerability with insufficient validation logic and to characterize the extent to which the vulnerability can be exploited.

  2. Techniques
    Try to use Unicode encoding of content in Scripts in order to bypass validation routines.
    Try to use Unicode encoding of content in HTML in order to bypass validation routines.
    Try to use Unicode encoding of content in CSS in order to bypass validation routines.
", "x_capec_likelihood_of_attack": "Medium", "x_capec_prerequisites": [ "Filtering is performed on data that has not be properly canonicalized." ], "x_capec_skills_required": { "Medium": "An attacker needs to understand Unicode encodings and have an idea (or be able to find out) what system components may not be Unicode aware." }, "x_capec_status": "Draft", "x_capec_typical_severity": "High", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "Ensure that the system is Unicode aware and can properly process Unicode data. Do not make an assumption that data will be in ASCII.", "id": "course-of-action--9a5363ad-5ca7-45b1-a710-9ee89914b20d", "modified": "2022-09-29T00:00:00.000Z", "name": "coa-71-0", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "course-of-action", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--7431af74-11f2-4cf7-aa2d-aa0b07ff9256", "modified": "2022-09-29T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--9a5363ad-5ca7-45b1-a710-9ee89914b20d", "spec_version": "2.1", "target_ref": "attack-pattern--663a1a48-1d23-4dd5-869a-02d5a6b05770", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "Ensure that filtering or input validation is applied to canonical data.", "id": "course-of-action--3b44d922-39ec-42cc-ae93-00b251aa514e", "modified": "2022-09-29T00:00:00.000Z", "name": "coa-71-1", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "course-of-action", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--caeb99db-8036-444d-a785-c9ac795a3cf9", "modified": "2022-09-29T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--3b44d922-39ec-42cc-ae93-00b251aa514e", "spec_version": "2.1", "target_ref": "attack-pattern--663a1a48-1d23-4dd5-869a-02d5a6b05770", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--25524460-3133-4541-a10d-84d3fd8a1db3", "modified": "2022-09-29T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--523a56cb-eaa5-451a-8ba9-f85b37fad844", "spec_version": "2.1", "target_ref": "attack-pattern--663a1a48-1d23-4dd5-869a-02d5a6b05770", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "This attack targets the encoding of the URL. An adversary can take advantage of the multiple way of encoding an URL and abuse the interpretation of the URL.", "external_references": [ { "external_id": "CAPEC-72", "source_name": "capec", "url": "https://capec.mitre.org/data/definitions/72.html" }, { "external_id": "CWE-173", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/173.html" }, { "external_id": "CWE-177", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/177.html" }, { "external_id": "CWE-172", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/172.html" }, { "external_id": "CWE-73", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/73.html" }, { "external_id": "CWE-74", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/74.html" }, { "external_id": "CWE-20", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/20.html" }, { "description": "G. Hoglund, G. McGraw, Exploiting Software: How to Break Code, 2004--02, Addison-Wesley", "external_id": "REF-1", "source_name": "reference_from_CAPEC" }, { "description": "Gunter Ollmann, URL Encoded Attacks - Attacks using the common web browser, CGISecurity.com", "external_id": "REF-495", "source_name": "reference_from_CAPEC", "url": "http://www.cgisecurity.com/lib/URLEmbeddedAttacks.html" }, { "description": "T. Berners-Lee, R. Fielding, L. Masinter, RFC 3986 - Uniform Resource Identifier (URI): Generic Syntax, 2005--01", "external_id": "REF-496", "source_name": "reference_from_CAPEC", "url": "http://www.ietf.org/rfc/rfc3986.txt" }, { "description": "T. Berners-Lee, L. Masinter, M. McCahill, RFC 1738 - Uniform Resource Locators (URL), 1994--12", "external_id": "REF-497", "source_name": "reference_from_CAPEC", "url": "http://www.ietf.org/rfc/rfc1738.txt" }, { "description": "HTML URL Encoding Reference, W3Schools.com, Refsnes Data", "external_id": "REF-498", "source_name": "reference_from_CAPEC", "url": "http://www.w3schools.com/tags/ref_urlencode.asp" }, { "description": "The URLEncode and URLDecode Page, Albion Research Ltd", "external_id": "REF-499", "source_name": "reference_from_CAPEC", "url": "http://www.albionresearch.com/misc/urlencode.php" }, { "description": "David Wheeler, Secure Programming for Linux and Unix HOWTO", "external_id": "REF-500", "source_name": "reference_from_CAPEC", "url": "http://www.dwheeler.com/secure-programs/Secure-Programs-HOWTO/filter-html.html#VALIDATING-URIS" } ], "id": "attack-pattern--d859e461-7ca6-46a6-842e-3f1750bc8415", "modified": "2022-09-29T00:00:00.000Z", "name": "URL Encoding", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "attack-pattern", "x_capec_abstraction": "Detailed", "x_capec_child_of_refs": [ "attack-pattern--a1af7c24-25cb-46e5-a27b-ed316e1f91ce" ], "x_capec_consequences": { "Access_Control": [ "Gain Privileges" ], "Authorization": [ "Gain Privileges" ], "Availability": [ "Resource Consumption (Denial of Service)", "Execute Unauthorized Commands (Run Arbitrary Code)" ], "Confidentiality": [ "Read Data", "Execute Unauthorized Commands (Run Arbitrary Code)", "Gain Privileges" ], "Integrity": [ "Execute Unauthorized Commands (Run Arbitrary Code)" ] }, "x_capec_domains": [ "Software" ], "x_capec_example_instances": [ "\n URL Encodings in IceCast MP3 Server.\n The following type of encoded string has been known traverse directories against the IceCast MP3 server9:\n http://[targethost]:8000/somefile/%2E%2E/target.mp3\n or using\n \"/%25%25/\" instead of \"/../\".\n The control character \"..\" can be used by an adversary to escape the document root.See also: CVE-2001-0784", "\n Cross-Site Scripting\n \n URL-Encoded attack:http://target/getdata.php?data=%3cscript%20src=%22http%3a%2f%2fwww.badplace.com%2fnasty.js%22%3e%3c%2fscript%3e\n \n HTML execution:\n [REF-495]\n ", "\n SQL Injection\n \n Original database query in the example file - \"login.asp\":SQLQuery = \"SELECT preferences FROM logintable WHERE userid='\" & Request.QueryString(\"userid\") & \"' AND password='\" & Request.QueryString(\"password\") & \"';\"\n \n URL-encoded attack:http://target/login.asp?userid=bob%27%3b%20update%20logintable%20set%20passwd%3d%270wn3d%27%3b--%00\n \n Executed database query:SELECT preferences FROM logintable WHERE userid='bob'; update logintable set password='0wn3d';\n From \"URL encoded attacks\", by Gunter Ollmann - http://www.cgisecurity.com/lib/URLEmbeddedAttacks.html\n ", "\n Combined Encodings CesarFTP\n Alexandre Cesari released a freeware FTP server for Windows that fails to provide proper filtering against multiple encoding. The FTP server, CesarFTP, included a Web server component that could be attacked with a combination of the triple-dot and URL encoding attacks.\n An adversary could provide a URL that included a string like\n /...%5C/\n This is an interesting exploit because it involves an aggregation of several tricks: the escape character, URL encoding, and the triple dot.See also: CVE-2001-1335" ], "x_capec_execution_flow": "

Execution Flow

Explore

  1. Survey web application for URLs with parameters: Using a browser, an automated tool or by inspecting the application, an adversary records all URLs that contain parameters.

  2. Techniques
    Use a spidering tool to follow and record all links and analyze the web pages to find entry points. Make special note of any links that include parameters in the URL.

Experiment

  1. Probe URLs to locate vulnerabilities: The adversary uses the URLs gathered in the \"Explore\" phase as a target list and tests parameters with different encodings of special characters to see how the web application will handle them.

  2. Techniques
    Use URL encodings of special characters such as semi-colons, backslashes, or question marks that might be filtered out normally.
    Combine the use of URL encodings with other encoding techniques such as the triple dot and escape slashes.

Exploit

  1. Inject special characters into URL parameters: Using the information gathered in the \"Experiment\" phase, the adversary injects special characters into the URL using URL encoding. This can lead to path traversal, cross-site scripting, SQL injection, etc.

", "x_capec_extended_description": "\n A URL may contain special character that need special syntax handling in order to be interpreted. Special characters are represented using a percentage character followed by two digits representing the octet code of the original character (%HEX-CODE).\n For instance US-ASCII space character would be represented with %20. This is often referred as escaped ending or percent-encoding. Since the server decodes the URL from the requests, it may restrict the access to some URL paths by validating and filtering out the URL requests it received. An adversary will try to craft an URL with a sequence of special characters which once interpreted by the server will be equivalent to a forbidden URL.\n It can be difficult to protect against this attack since the URL can contain other format of encoding such as UTF-8 encoding, Unicode-encoding, etc. The adversary could also subvert the meaning of the URL string request by encoding the data being sent to the server through a GET request. For instance an adversary may subvert the meaning of parameters used in a SQL request and sent through the URL string (See Example section).\n ", "x_capec_likelihood_of_attack": "High", "x_capec_prerequisites": [ "The application should accepts and decodes URL input.", "The application performs insufficient filtering/canonicalization on the URLs." ], "x_capec_skills_required": { "Low": "An adversary can try special characters in the URL and bypass the URL validation.", "Medium": "The adversary may write a script to defeat the input filtering mechanism." }, "x_capec_status": "Draft", "x_capec_typical_severity": "High", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--000e54be-d542-4ff3-9e55-2b5ce4b1023d", "modified": "2022-09-29T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--1f048925-3094-483c-abf2-c5efe689193a", "spec_version": "2.1", "target_ref": "attack-pattern--d859e461-7ca6-46a6-842e-3f1750bc8415", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--1e04db14-a140-40e0-aafe-1ec097c9a4d2", "modified": "2022-09-29T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--1890182c-6989-4e34-bfb2-92b223bcae0c", "spec_version": "2.1", "target_ref": "attack-pattern--d859e461-7ca6-46a6-842e-3f1750bc8415", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--a27b504b-7f3c-47fb-ad70-9a9042fe74bd", "modified": "2022-09-29T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--24852297-758a-489f-b2c9-a27cbfbb938e", "spec_version": "2.1", "target_ref": "attack-pattern--d859e461-7ca6-46a6-842e-3f1750bc8415", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--fece2ddc-b7fd-4f9e-a015-51a13642ef80", "modified": "2022-09-29T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--3833d761-4a54-4ed3-994b-c7c76c465ae0", "spec_version": "2.1", "target_ref": "attack-pattern--d859e461-7ca6-46a6-842e-3f1750bc8415", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--506ec38c-6161-4411-b56b-cf20c5960c3c", "modified": "2022-09-29T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--001320df-5e57-4ed3-bcf8-7e79dfe846aa", "spec_version": "2.1", "target_ref": "attack-pattern--d859e461-7ca6-46a6-842e-3f1750bc8415", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "Be aware of the threat of alternative method of data encoding and obfuscation technique such as IP address encoding. (See related guideline section)", "id": "course-of-action--11783efd-94f2-4741-93c8-e33b1de782b8", "modified": "2022-09-29T00:00:00.000Z", "name": "coa-72-5", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "course-of-action", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--2e586d60-d396-45aa-bfa2-afbd31a70dbb", "modified": "2022-09-29T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--11783efd-94f2-4741-93c8-e33b1de782b8", "spec_version": "2.1", "target_ref": "attack-pattern--d859e461-7ca6-46a6-842e-3f1750bc8415", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--32ed5b33-4ffc-4a9a-b6bf-f389799a677b", "modified": "2022-09-29T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--95ef6587-c787-4051-b664-b5e8ca753c20", "spec_version": "2.1", "target_ref": "attack-pattern--d859e461-7ca6-46a6-842e-3f1750bc8415", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "An attack of this type involves an adversary inserting malicious characters (such as a XSS redirection) into a filename, directly or indirectly that is then used by the target software to generate HTML text or other potentially executable content. Many websites rely on user-generated content and dynamically build resources like files, filenames, and URL links directly from user supplied data. In this attack pattern, the attacker uploads code that can execute in the client browser and/or redirect the client browser to a site that the attacker owns. All XSS attack payload variants can be used to pass and exploit these vulnerabilities.", "external_references": [ { "external_id": "CAPEC-73", "source_name": "capec", "url": "https://capec.mitre.org/data/definitions/73.html" }, { "external_id": "CWE-20", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/20.html" }, { "external_id": "CWE-184", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/184.html" }, { "external_id": "CWE-96", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/96.html" }, { "external_id": "CWE-348", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/348.html" }, { "external_id": "CWE-116", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/116.html" }, { "external_id": "CWE-350", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/350.html" }, { "external_id": "CWE-86", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/86.html" }, { "external_id": "CWE-697", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/697.html" }, { "description": "G. Hoglund, G. McGraw, Exploiting Software: How to Break Code, 2004--02, Addison-Wesley", "external_id": "REF-1", "source_name": "reference_from_CAPEC" } ], "id": "attack-pattern--f156c3d0-eeb3-4e12-b075-8995c009de55", "modified": "2017-05-01T00:00:00.000Z", "name": "User-Controlled Filename", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "attack-pattern", "x_capec_abstraction": "Standard", "x_capec_can_precede_refs": [ "attack-pattern--800f8095-99b6-4bb9-8bc6-8b9727201a2f" ], "x_capec_child_of_refs": [ "attack-pattern--f8533ce1-5f23-4660-8f70-1a05af2c70d3" ], "x_capec_consequences": { "Access_Control": [ "Gain Privileges" ], "Authorization": [ "Gain Privileges" ], "Availability": [ "Execute Unauthorized Commands (Run Arbitrary Code)", "Alter Execution Logic" ], "Confidentiality": [ "Gain Privileges", "Execute Unauthorized Commands (Run Arbitrary Code)", "Read Data" ], "Integrity": [ "Execute Unauthorized Commands (Run Arbitrary Code)" ] }, "x_capec_domains": [ "Software" ], "x_capec_example_instances": [ "Phishing attacks rely on a user clicking on links on that are supplied to them by attackers masquerading as a trusted resource such as a bank or online auction site. The end user's email client hosts the supplied resource name in this case via email. The resource name, however may either 1) direct the client browser to a malicious site to steal credentials and/or 2) execute code on the client machine to probe the victim's host system and network environment." ], "x_capec_likelihood_of_attack": "High", "x_capec_prerequisites": [ "The victim must trust the name and locale of user controlled filenames." ], "x_capec_skills_required": { "High": "Exploiting a client side vulnerability to inject malicious scripts into the browser's executable process.", "Low": "To achieve a redirection and use of less trusted source, an attacker can simply edit data that the host uses to build the filename", "Medium": "Deploying a malicious \"look-a-like\" site (such as a site masquerading as a bank or online auction site) that the user enters their authentication data into." }, "x_capec_status": "Draft", "x_capec_typical_severity": "High", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--5a1e9288-e1cd-4661-bafa-f7a7f61e4a8c", "modified": "2017-05-01T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--094a4c09-e49c-422b-b8ec-b51c19dba18c", "spec_version": "2.1", "target_ref": "attack-pattern--f156c3d0-eeb3-4e12-b075-8995c009de55", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--d5da4f75-8c61-4081-b026-75f19ec8f8a1", "modified": "2017-05-01T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--e9836d98-9116-4902-ba62-2c4fcc7e03c3", "spec_version": "2.1", "target_ref": "attack-pattern--f156c3d0-eeb3-4e12-b075-8995c009de55", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--15e190ea-a35c-4658-b69e-402f5cec7ad9", "modified": "2017-05-01T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--8a996efc-52e0-4aaf-953a-21c3fe64c64b", "spec_version": "2.1", "target_ref": "attack-pattern--f156c3d0-eeb3-4e12-b075-8995c009de55", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--bdccd87f-be5a-4567-acac-ded05ba22454", "modified": "2017-05-01T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--4f20a4a7-cb6a-477b-a12a-13c5e9d03353", "spec_version": "2.1", "target_ref": "attack-pattern--f156c3d0-eeb3-4e12-b075-8995c009de55", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--060fd8e7-cc86-47f8-b257-2e90a6935da9", "modified": "2017-05-01T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--f31f11cb-6403-4667-bf43-d77242ac7ae2", "spec_version": "2.1", "target_ref": "attack-pattern--f156c3d0-eeb3-4e12-b075-8995c009de55", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "Implementation: Scan dynamically generated content against validation specification", "id": "course-of-action--36312b31-f41b-4f9e-8a90-8f9bdabbaeec", "modified": "2017-05-01T00:00:00.000Z", "name": "coa-73-5", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "course-of-action", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--fbbc43fd-aa0e-44e4-98a4-ff409bf08afb", "modified": "2017-05-01T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--36312b31-f41b-4f9e-8a90-8f9bdabbaeec", "spec_version": "2.1", "target_ref": "attack-pattern--f156c3d0-eeb3-4e12-b075-8995c009de55", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "\n The adversary modifies state information maintained by the target software or causes a state transition in hardware. If successful, the target will use this tainted state and execute in an unintended manner.\n State management is an important function within a software application. User state maintained by the application can include usernames, payment information, browsing history as well as application-specific contents such as items in a shopping cart. Manipulating user state can be employed by an adversary to elevate privilege, conduct fraudulent transactions or otherwise modify the flow of the application to derive certain benefits.\n If there is a hardware logic error in a finite state machine, the adversary can use this to put the system in an undefined state which could cause a denial of service or exposure of secure data.\n ", "external_references": [ { "external_id": "CAPEC-74", "source_name": "capec", "url": "https://capec.mitre.org/data/definitions/74.html" }, { "external_id": "CWE-372", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/372.html" }, { "external_id": "CWE-315", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/315.html" }, { "external_id": "CWE-353", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/353.html" }, { "external_id": "CWE-693", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/693.html" }, { "external_id": "CWE-1245", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/1245.html" }, { "external_id": "CWE-1253", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/1253.html" }, { "external_id": "CWE-1265", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/1265.html" }, { "external_id": "CWE-1271", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/1271.html" } ], "id": "attack-pattern--649abc91-f615-4c9e-91c9-9e66131e2d78", "modified": "2021-06-24T00:00:00.000Z", "name": "Manipulating State", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "attack-pattern", "x_capec_abstraction": "Meta", "x_capec_consequences": { "Access_Control": [ "Gain Privileges" ], "Authorization": [ "Gain Privileges" ], "Availability": [ "Unreliable Execution" ], "Confidentiality": [ "Gain Privileges" ], "Integrity": [ "Modify Data" ] }, "x_capec_domains": [ "Software", "Hardware" ], "x_capec_example_instances": [ "\n During the authentication process, an application stores the authentication decision (auth=0/1) in unencrypted cookies. At every request, this cookie is checked to permit or deny a request.\n An adversary can easily violate this representation of user state and set auth=1 at every request in order to gain illegitimate access and elevated privilege in the application.\n " ], "x_capec_execution_flow": "

Execution Flow

Explore

  1. Adversary determines the nature of state management employed by the target. This includes determining the location (client-side, server-side or both applications) and possibly the items stored as part of user state.

Experiment

  1. The adversary now tries to modify the user state contents (possibly indiscriminately if the contents are encrypted or otherwise obfuscated) or cause a state transition and observe the effects of this change on the target.

Exploit

  1. Having determined how to manipulate the state, the adversary can perform illegitimate actions.

", "x_capec_likelihood_of_attack": "Medium", "x_capec_parent_of_refs": [ "attack-pattern--750dc5a2-e3c4-42d7-ad8a-25a7d1116f03", "attack-pattern--efbf3dcf-9f19-45de-9f49-caa87fd34681" ], "x_capec_prerequisites": [ "User state is maintained at least in some way in user-controllable locations, such as cookies or URL parameters.", "There is a faulty finite state machine in the hardware logic that can be exploited." ], "x_capec_resources_required": [ "The adversary needs a data tampering tool capable of generating and creating custom inputs to aid in the attack, like Fiddler, Wireshark, or a similar in-browser plugin (e.g., Tamper Data for Firefox)." ], "x_capec_skills_required": { "Medium": "The adversary needs to have knowledge of state management as employed by the target application, and also the ability to manipulate the state in a meaningful way." }, "x_capec_status": "Stable", "x_capec_typical_severity": "High", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "Do not rely solely on user-controllable locations, such as cookies or URL parameters, to maintain user state.", "id": "course-of-action--426e0345-2074-48c8-9a3d-b7f7550e3712", "modified": "2021-06-24T00:00:00.000Z", "name": "coa-74-0", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "course-of-action", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--002041eb-05e7-4cd3-ba28-e881bb148370", "modified": "2021-06-24T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--426e0345-2074-48c8-9a3d-b7f7550e3712", "spec_version": "2.1", "target_ref": "attack-pattern--649abc91-f615-4c9e-91c9-9e66131e2d78", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "Avoid sensitive information, such as usernames or authentication and authorization information, in user-controllable locations.", "id": "course-of-action--ea5c5ff6-e6bb-4b4a-8c73-9aa87a9f9974", "modified": "2021-06-24T00:00:00.000Z", "name": "coa-74-1", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "course-of-action", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--d901ded9-6bd3-4d45-b338-71715e666e92", "modified": "2021-06-24T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--ea5c5ff6-e6bb-4b4a-8c73-9aa87a9f9974", "spec_version": "2.1", "target_ref": "attack-pattern--649abc91-f615-4c9e-91c9-9e66131e2d78", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "Sensitive information that is part of the user state must be appropriately protected to ensure confidentiality and integrity at each request.", "id": "course-of-action--3d2a63b7-8651-46d9-9b31-187b55061c36", "modified": "2021-06-24T00:00:00.000Z", "name": "coa-74-2", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "course-of-action", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--2eab1469-094c-46e2-b78f-9a9d3108e08b", "modified": "2021-06-24T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--3d2a63b7-8651-46d9-9b31-187b55061c36", "spec_version": "2.1", "target_ref": "attack-pattern--649abc91-f615-4c9e-91c9-9e66131e2d78", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "All possible states must be handled by hardware finite state machines.", "id": "course-of-action--638372f7-a792-4269-acd6-cfb761391fd6", "modified": "2021-06-24T00:00:00.000Z", "name": "coa-74-3", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "course-of-action", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--0bde6497-61aa-43b6-b9ed-7a55f500f332", "modified": "2021-06-24T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--638372f7-a792-4269-acd6-cfb761391fd6", "spec_version": "2.1", "target_ref": "attack-pattern--649abc91-f615-4c9e-91c9-9e66131e2d78", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "Generally these are manually edited files that are not in the preview of the system administrators, any ability on the attackers' behalf to modify these files, for example in a CVS repository, gives unauthorized access directly to the application, the same as authorized users.", "external_references": [ { "external_id": "CAPEC-75", "source_name": "capec", "url": "https://capec.mitre.org/data/definitions/75.html" }, { "external_id": "CWE-349", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/349.html" }, { "external_id": "CWE-99", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/99.html" }, { "external_id": "CWE-77", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/77.html" }, { "external_id": "CWE-346", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/346.html" }, { "external_id": "CWE-353", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/353.html" }, { "external_id": "CWE-354", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/354.html" }, { "description": "G. Hoglund, G. McGraw, Exploiting Software: How to Break Code, 2004--02, Addison-Wesley", "external_id": "REF-1", "source_name": "reference_from_CAPEC" } ], "id": "attack-pattern--08c74bd3-c5ad-4d6c-a8bb-bb93d7503ddb", "modified": "2022-09-29T00:00:00.000Z", "name": "Manipulating Writeable Configuration Files", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "attack-pattern", "x_capec_abstraction": "Standard", "x_capec_child_of_refs": [ "attack-pattern--f9f65fdd-5857-4a57-a725-066465397601" ], "x_capec_consequences": { "Access_Control": [ "Gain Privileges" ], "Authorization": [ "Gain Privileges" ], "Confidentiality": [ "Gain Privileges" ] }, "x_capec_domains": [ "Software" ], "x_capec_example_instances": [ "\n The BEA Weblogic server uses a config.xml file to store configuration data. If this file is not properly protected by the system access control, an attacker can write configuration information to redirect server output through system logs, database connections, malicious URLs and so on. Access to the Weblogic server may be from a so-called Custom realm which manages authentication and authorization privileges on behalf of user principals. Given write access, the attacker can insert a pointer to a custom realm jar file in the config.xml\n < CustomRealmConfigurationData=\"java.util.Properties\"Name=\"CustomRealm\"RealmClassName=\"Maliciousrealm.jar\"/>\n \n The main issue with configuration files is that the attacker can leverage all the same functionality the server has, but for malicious means. Given the complexity of server configuration, these changes may be very hard for administrators to detect.\n " ], "x_capec_likelihood_of_attack": "High", "x_capec_prerequisites": [ "Configuration files must be modifiable by the attacker" ], "x_capec_skills_required": { "Medium": "To identify vulnerable configuration files, and understand how to manipulate servers and erase forensic evidence" }, "x_capec_status": "Draft", "x_capec_typical_severity": "Very High", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--390b777d-a7f5-499e-b105-e88b8b537dc7", "modified": "2022-09-29T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--a4112a44-a0f9-4bde-bebe-74ed96c4cd3f", "spec_version": "2.1", "target_ref": "attack-pattern--08c74bd3-c5ad-4d6c-a8bb-bb93d7503ddb", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "Design: Backup copies of all configuration files", "id": "course-of-action--5f72dfc6-fc40-4c50-b43a-fb3f8613c890", "modified": "2022-09-29T00:00:00.000Z", "name": "coa-75-1", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "course-of-action", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--1b2f0cb4-7979-41a9-b066-52623efd9be1", "modified": "2022-09-29T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--5f72dfc6-fc40-4c50-b43a-fb3f8613c890", "spec_version": "2.1", "target_ref": "attack-pattern--08c74bd3-c5ad-4d6c-a8bb-bb93d7503ddb", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "Implementation: Integrity monitoring for configuration files", "id": "course-of-action--aa2dbad2-1557-43ad-8ca5-6e87d044a038", "modified": "2022-09-29T00:00:00.000Z", "name": "coa-75-2", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "course-of-action", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--d3b76047-8e3c-4ad6-890e-ee9b51ab15c6", "modified": "2022-09-29T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--aa2dbad2-1557-43ad-8ca5-6e87d044a038", "spec_version": "2.1", "target_ref": "attack-pattern--08c74bd3-c5ad-4d6c-a8bb-bb93d7503ddb", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "Implementation: Enforce audit logging on code and configuration promotion procedures.", "id": "course-of-action--544a1da1-171a-4152-aaf8-cafc91c6ffcd", "modified": "2022-09-29T00:00:00.000Z", "name": "coa-75-3", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "course-of-action", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--0f6c14a3-09ae-4833-b73c-17e14fa0ab03", "modified": "2022-09-29T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--544a1da1-171a-4152-aaf8-cafc91c6ffcd", "spec_version": "2.1", "target_ref": "attack-pattern--08c74bd3-c5ad-4d6c-a8bb-bb93d7503ddb", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "Implementation: Load configuration from separate process and memory space, for example a separate physical device like a CD", "id": "course-of-action--47fcab1d-3b96-49c9-ba5c-28f7cc396ddc", "modified": "2022-09-29T00:00:00.000Z", "name": "coa-75-4", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "course-of-action", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--6f3ed3dd-3d16-41fa-9408-5e346f652fed", "modified": "2022-09-29T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--47fcab1d-3b96-49c9-ba5c-28f7cc396ddc", "spec_version": "2.1", "target_ref": "attack-pattern--08c74bd3-c5ad-4d6c-a8bb-bb93d7503ddb", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "An attacker manipulates inputs to the target software which the target software passes to file system calls in the OS. The goal is to gain access to, and perhaps modify, areas of the file system that the target software did not intend to be accessible.", "external_references": [ { "external_id": "CAPEC-76", "source_name": "capec", "url": "https://capec.mitre.org/data/definitions/76.html" }, { "external_id": "CWE-23", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/23.html" }, { "external_id": "CWE-22", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/22.html" }, { "external_id": "CWE-73", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/73.html" }, { "external_id": "CWE-77", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/77.html" }, { "external_id": "CWE-346", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/346.html" }, { "external_id": "CWE-348", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/348.html" }, { "external_id": "CWE-285", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/285.html" }, { "external_id": "CWE-272", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/272.html" }, { "external_id": "CWE-59", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/59.html" }, { "external_id": "CWE-74", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/74.html" }, { "external_id": "CWE-15", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/15.html" }, { "description": "G. Hoglund, G. McGraw, Exploiting Software: How to Break Code, 2004--02, Addison-Wesley", "external_id": "REF-1", "source_name": "reference_from_CAPEC" } ], "id": "attack-pattern--36fd3642-e601-4392-b25b-48df2fdecf62", "modified": "2022-09-29T00:00:00.000Z", "name": "Manipulating Web Input to File System Calls", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "attack-pattern", "x_capec_abstraction": "Detailed", "x_capec_child_of_refs": [ "attack-pattern--faf0ec21-da60-4efc-8c8e-7a6b63bea170" ], "x_capec_consequences": { "Access_Control": [ "Gain Privileges" ], "Authorization": [ "Gain Privileges" ], "Confidentiality": [ "Gain Privileges" ], "Integrity": [ "Modify Data" ] }, "x_capec_domains": [ "Software" ], "x_capec_example_instances": [ "\n The attacker uses relative path traversal to access files in the application. This is an example of accessing user's password file.\n http://www.example.com/getProfile.jsp?filename=../../../../etc/passwd\n However, the target application employs regular expressions to make sure no relative path sequences are being passed through the application to the web page. The application would replace all matches from this regex with the empty string.\n Then an attacker creates special payloads to bypass this filter:\n http://www.example.com/getProfile.jsp?filename=%2e%2e/%2e%2e/%2e%2e/%2e%2e /etc/passwd\n When the application gets this input string, it will be the desired vector by the attacker.\n " ], "x_capec_execution_flow": "

Execution Flow

Explore

  1. Fingerprinting of the operating system: In order to create a valid file injection, the attacker needs to know what the underlying OS is so that the proper file seperator is used.

  2. Techniques
    Port mapping. Identify ports that the system is listening on, and attempt to identify inputs and protocol types on those ports.
    TCP/IP Fingerprinting. The attacker uses various software to make connections or partial connections and observe idiosyncratic responses from the operating system. Using those responses, they attempt to guess the actual operating system.
    Induce errors to find informative error messages
  3. Survey the Application to Identify User-controllable Inputs: The attacker surveys the target application to identify all user-controllable inputs, possibly as a valid and authenticated user

  4. Techniques
    Spider web sites for all available links, entry points to the web site.
    Manually explore application and inventory all application inputs

Experiment

  1. Vary inputs, looking for malicious results: Depending on whether the application being exploited is a remote or local one, the attacker crafts the appropriate malicious input containing the path of the targeted file or other file system control syntax to be passed to the application

  2. Techniques
    Inject context-appropriate malicious file path using network packet injection tools (netcat, nemesis, etc.)
    Inject context-appropriate malicious file path using web test frameworks (proxies, TamperData, custom programs, etc.) or simple HTTP requests
    Inject context-appropriate malicious file system control syntax

Exploit

  1. Manipulate files accessible by the application: The attacker may steal information or directly manipulate files (delete, copy, flush, etc.)

  2. Techniques
    The attacker injects context-appropriate malicious file path to access the content of the targeted file.
    The attacker injects context-appropriate malicious file system control syntax to access the content of the targeted file.
    The attacker injects context-appropriate malicious file path to cause the application to create, delete a targeted file.
    The attacker injects context-appropriate malicious file system control syntax to cause the application to create, delete a targeted file.
    The attacker injects context-appropriate malicious file path in order to manipulate the meta-data of the targeted file.
    The attacker injects context-appropriate malicious file system control syntax in order to manipulate the meta-data of the targeted file.
", "x_capec_likelihood_of_attack": "High", "x_capec_prerequisites": [ "Program must allow for user controlled variables to be applied directly to the filesystem" ], "x_capec_skills_required": { "Low": "To identify file system entry point and execute against an over-privileged system interface" }, "x_capec_status": "Draft", "x_capec_typical_severity": "Very High", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--418adbc1-d3a0-4e06-b39d-4a47ced3edbb", "modified": "2022-09-29T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--10e0bdfb-cc84-4788-8d10-225b6e61f135", "spec_version": "2.1", "target_ref": "attack-pattern--36fd3642-e601-4392-b25b-48df2fdecf62", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "Design: Ensure all input is validated, and does not contain file system commands", "id": "course-of-action--5606d417-4865-4533-8deb-e39c901f209e", "modified": "2022-09-29T00:00:00.000Z", "name": "coa-76-1", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "course-of-action", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--33951a4d-6ab2-4bdb-854f-4f2794baa0aa", "modified": "2022-09-29T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--5606d417-4865-4533-8deb-e39c901f209e", "spec_version": "2.1", "target_ref": "attack-pattern--36fd3642-e601-4392-b25b-48df2fdecf62", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--7822e43d-f894-41ac-88d5-41b2c0b4ef6e", "modified": "2022-09-29T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--16c78c78-dace-4fe3-ac4a-aaf188d14af5", "spec_version": "2.1", "target_ref": "attack-pattern--36fd3642-e601-4392-b25b-48df2fdecf62", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "Design: For interactive user applications, consider if direct file system interface is necessary, instead consider having the application proxy communication.", "id": "course-of-action--3e8c9442-1e01-4fc2-9f90-b009bf6612fa", "modified": "2022-09-29T00:00:00.000Z", "name": "coa-76-3", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "course-of-action", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--80063d3f-3b3f-4552-bbbe-499aabc86961", "modified": "2022-09-29T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--3e8c9442-1e01-4fc2-9f90-b009bf6612fa", "spec_version": "2.1", "target_ref": "attack-pattern--36fd3642-e601-4392-b25b-48df2fdecf62", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--d2b1d3bb-89ce-4615-be0c-c35eed6ad012", "modified": "2022-09-29T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--8fb32cf0-80fd-4e8b-91c6-0908041d5b6e", "spec_version": "2.1", "target_ref": "attack-pattern--36fd3642-e601-4392-b25b-48df2fdecf62", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "This attack targets user controlled variables (DEBUG=1, PHP Globals, and So Forth). An adversary can override variables leveraging user-supplied, untrusted query variables directly used on the application server without any data sanitization. In extreme cases, the adversary can change variables controlling the business logic of the application. For instance, in languages like PHP, a number of poorly set default configurations may allow the user to override variables.", "external_references": [ { "external_id": "CAPEC-77", "source_name": "capec", "url": "https://capec.mitre.org/data/definitions/77.html" }, { "external_id": "CWE-15", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/15.html" }, { "external_id": "CWE-94", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/94.html" }, { "external_id": "CWE-96", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/96.html" }, { "external_id": "CWE-285", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/285.html" }, { "external_id": "CWE-302", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/302.html" }, { "external_id": "CWE-473", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/473.html" }, { "external_id": "CWE-1321", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/1321.html" }, { "description": "G. Hoglund, G. McGraw, Exploiting Software: How to Break Code, 2004--02, Addison-Wesley", "external_id": "REF-1", "source_name": "reference_from_CAPEC" }, { "description": "Artur Maj, Securing PHP: Step-by-Step, 2003--06---22, Security Focus", "external_id": "REF-520", "source_name": "reference_from_CAPEC", "url": "http://www.securityfocus.com/infocus/1706" }, { "description": "Clancy Malcolm, Ten Security Checks for PHP, Part 1, 2003--03---20", "external_id": "REF-521", "source_name": "reference_from_CAPEC" }, { "description": "PHP Manual, The PHP Group", "external_id": "REF-522", "source_name": "reference_from_CAPEC", "url": "http://www.php.net/manual/en/security.globals.php" } ], "id": "attack-pattern--5e4a268e-f89f-445a-aa42-395922f56bf0", "modified": "2022-09-29T00:00:00.000Z", "name": "Manipulating User-Controlled Variables", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "attack-pattern", "x_capec_abstraction": "Standard", "x_capec_child_of_refs": [ "attack-pattern--1fa1539d-4a13-4453-bf43-ad0987b2fbf5" ], "x_capec_consequences": { "Access_Control": [ "Gain Privileges" ], "Authorization": [ "Gain Privileges" ], "Availability": [ "Execute Unauthorized Commands (Run Arbitrary Code)" ], "Confidentiality": [ "Execute Unauthorized Commands (Run Arbitrary Code)", "Read Data", "Gain Privileges" ], "Integrity": [ "Modify Data", "Execute Unauthorized Commands (Run Arbitrary Code)" ] }, "x_capec_domains": [ "Software" ], "x_capec_example_instances": [ "\n PHP is a study in bad security. The main idea pervading PHP is \"ease of use,\" and the mantra \"don't make the developer go to any extra work to get stuff done\" applies in all cases. This is accomplished in PHP by removing formalism from the language, allowing declaration of variables on first use, initializing everything with preset values, and taking every meaningful variable from a transaction and making it available. In cases of collision with something more technical, the simple almost always dominates in PHP.\n One consequence of all this is that PHP allows users of a Web application to override environment variables with user-supplied, untrusted query variables. Thus, critical values such as the CWD and the search path can be overwritten and directly controlled by a remote anonymous user.\n Another similar consequence is that variables can be directly controlled and assigned from the user-controlled values supplied in GET and POST request fields. So seemingly normal code like this, does bizarre things:\n while($count < 10){// Do something$count++;}\n Normally, this loop will execute its body ten times. The first iteration will be an undefined zero, and further trips though the loop will result in an increment of the variable $count. The problem is that the coder does not initialize the variable to zero before entering the loop. This is fine because PHP initializes the variable on declaration. The result is code that seems to function, regardless of badness. The problem is that a user of the Web application can supply a request such as\n GET /login.php?count=9\n and cause $count to start out at the value 9, resulting in only one trip through the loop. Yerg.\n Depending on the configuration, PHP may accept user-supplied variables in place of environment variables. PHP initializes global variables for all process environment variables, such as $PATH and $HOSTNAME. These variables are of critical importance because they may be used in file or network operations. If an adversary can supply a new $PATH variable (such as PATH='/var'), the program may be exploitable.\n PHP may also take field tags supplied in GET/POST requests and transform them into global variables. This is the case with the $count variable we explored in our previous example.\n Consider another example of this problem in which a program defines a variable called $tempfile. An adversary can supply a new temp file such as $tempfile = \"/etc/passwd\". Then the temp file may get erased later via a call to unlink($tempfile);. Now the passwd file has been erased--a bad thing indeed on most OSs.\n Also consider that the use of include() and require() first search $PATH, and that using calls to the shell may execute crucial programs such as ls. In this way, ls may be \"Trojaned\" (the adversary can modify $PATH to cause a Trojan copy of ls to be loaded). This type of attack could also apply to loadable libraries if $LD_LIBRARY_PATH is modified.\n Finally, some versions of PHP may pass user data to syslog as a format string, thus exposing the application to a format string buffer overflow.See also: File upload allows arbitrary file read by setting hidden form variables to match internal variable names (CVE-2000-0860)" ], "x_capec_execution_flow": "

Execution Flow

Explore

  1. Probe target application: The adversary first probes the target application to determine important information about the target. This information could include types software used, software versions, what user input the application consumes, and so on.

Experiment

  1. Find user-controlled variables: Using the information found by probing the application, the adversary attempts to manipulate many user-controlled variables and observes the effects on the application. If the adversary notices any significant changes to the application, they will know that a certain variable is useful to the application.

  2. Techniques
    Adversaries will try to alter many common variable names such as \"count\", \"tempFile\", \"i\", etc. The hope is that they can alter the flow of the application without knowing the inner-workings.
    Adversaries will try to alter known environment variables.

Exploit

  1. Manipulate user-controlled variables: Once the adversary has found a user-controller variable(s) that is important to the application, they will manipulate it to change the normal behavior in a way that benefits the adversary.

", "x_capec_likelihood_of_attack": "High", "x_capec_parent_of_refs": [ "attack-pattern--f190e1b3-e8d6-4aef-817c-b3e7782e2aed", "attack-pattern--a506984b-0870-42d9-8bcd-0787f13b8c2e" ], "x_capec_prerequisites": [ "A variable consumed by the application server is exposed to the client.", "A variable consumed by the application server can be overwritten by the user.", "The application server trusts user supplied data to compute business logic.", "The application server does not perform proper input validation." ], "x_capec_skills_required": { "Low": "The malicious user can easily try some well-known global variables and find one which matches.", "Medium": "The adversary can use automated tools to probe for variables that they can control." }, "x_capec_status": "Draft", "x_capec_typical_severity": "Very High", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "\n Do not allow override of global variables and do Not Trust Global Variables.\n If the register_globals option is enabled, PHP will create global variables for each GET, POST, and cookie variable included in the HTTP request. This means that a malicious user may be able to set variables unexpectedly. For instance make sure that the server setting for PHP does not expose global variables.\n ", "id": "course-of-action--01f15bc6-e25d-4388-8a84-c6f82d7a7378", "modified": "2022-09-29T00:00:00.000Z", "name": "coa-77-0", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "course-of-action", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--593062e2-612e-46ce-8739-0d2b1b15f720", "modified": "2022-09-29T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--01f15bc6-e25d-4388-8a84-c6f82d7a7378", "spec_version": "2.1", "target_ref": "attack-pattern--5e4a268e-f89f-445a-aa42-395922f56bf0", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "A software system should be reluctant to trust variables that have been initialized outside of its trust boundary. Ensure adequate checking is performed when relying on input from outside a trust boundary.", "id": "course-of-action--35ecc67f-d191-49d1-b51d-512ab4874d6b", "modified": "2022-09-29T00:00:00.000Z", "name": "coa-77-1", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "course-of-action", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--6d6ce1ff-fa90-41cf-86a8-911f793e6838", "modified": "2022-09-29T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--35ecc67f-d191-49d1-b51d-512ab4874d6b", "spec_version": "2.1", "target_ref": "attack-pattern--5e4a268e-f89f-445a-aa42-395922f56bf0", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "Separate the presentation layer and the business logic layer. Variables at the business logic layer should not be exposed at the presentation layer. This is to prevent computation of business logic from user controlled input data.", "id": "course-of-action--fdbec66f-5081-4d39-9732-af19bf458d7d", "modified": "2022-09-29T00:00:00.000Z", "name": "coa-77-2", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "course-of-action", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--3c40eaa0-2cde-4309-b3c3-79aebcc2ada3", "modified": "2022-09-29T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--fdbec66f-5081-4d39-9732-af19bf458d7d", "spec_version": "2.1", "target_ref": "attack-pattern--5e4a268e-f89f-445a-aa42-395922f56bf0", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "Use encapsulation when declaring your variables. This is to lower the exposure of your variables.", "id": "course-of-action--9fa19f3a-821e-4faa-b728-a6d30e37b6c2", "modified": "2022-09-29T00:00:00.000Z", "name": "coa-77-3", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "course-of-action", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--a3e969df-fa7a-479d-ba25-c6b31da5cffa", "modified": "2022-09-29T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--9fa19f3a-821e-4faa-b728-a6d30e37b6c2", "spec_version": "2.1", "target_ref": "attack-pattern--5e4a268e-f89f-445a-aa42-395922f56bf0", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "Assume all input is malicious. Create an allowlist that defines all valid input to the software system based on the requirements specifications. Input that does not match against the allowlist should be rejected by the program.", "id": "course-of-action--3869586b-ef26-4f47-b6bf-e4aee5ac7dea", "modified": "2022-09-29T00:00:00.000Z", "name": "coa-77-4", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "course-of-action", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--5b6076ab-c2e1-428a-8d0f-b7f0642e9811", "modified": "2022-09-29T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--3869586b-ef26-4f47-b6bf-e4aee5ac7dea", "spec_version": "2.1", "target_ref": "attack-pattern--5e4a268e-f89f-445a-aa42-395922f56bf0", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "This attack targets the use of the backslash in alternate encoding. An adversary can provide a backslash as a leading character and causes a parser to believe that the next character is special. This is called an escape. By using that trick, the adversary tries to exploit alternate ways to encode the same character which leads to filter problems and opens avenues to attack.", "external_references": [ { "external_id": "CAPEC-78", "source_name": "capec", "url": "https://capec.mitre.org/data/definitions/78.html" }, { "external_id": "CWE-180", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/180.html" }, { "external_id": "CWE-181", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/181.html" }, { "external_id": "CWE-173", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/173.html" }, { "external_id": "CWE-172", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/172.html" }, { "external_id": "CWE-73", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/73.html" }, { "external_id": "CWE-22", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/22.html" }, { "external_id": "CWE-74", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/74.html" }, { "external_id": "CWE-20", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/20.html" }, { "external_id": "CWE-697", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/697.html" }, { "external_id": "CWE-707", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/707.html" }, { "description": "G. Hoglund, G. McGraw, Exploiting Software: How to Break Code, 2004--02, Addison-Wesley", "external_id": "REF-1", "source_name": "reference_from_CAPEC" } ], "id": "attack-pattern--07e5901d-0f6d-41a9-ac19-e00eecece95f", "modified": "2022-09-29T00:00:00.000Z", "name": "Using Escaped Slashes in Alternate Encoding", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "attack-pattern", "x_capec_abstraction": "Detailed", "x_capec_child_of_refs": [ "attack-pattern--a1af7c24-25cb-46e5-a27b-ed316e1f91ce" ], "x_capec_consequences": { "Access_Control": [ "Bypass Protection Mechanism" ], "Authorization": [ "Bypass Protection Mechanism" ], "Availability": [ "Resource Consumption (Denial of Service)", "Execute Unauthorized Commands (Run Arbitrary Code)" ], "Confidentiality": [ "Read Data", "Execute Unauthorized Commands (Run Arbitrary Code)", "Bypass Protection Mechanism" ], "Integrity": [ "Execute Unauthorized Commands (Run Arbitrary Code)" ] }, "x_capec_domains": [ "Software" ], "x_capec_example_instances": [ "\n For example, the byte pair \\0 might result in a single zero byte (a NULL) being sent. Another example is \\t, which is sometimes converted into a tab character. There is often an equivalent encoding between the back slash and the escaped back slash. This means that \\/ results in a single forward slash. A single forward slash also results in a single forward slash. The encoding looks like this:\n / yields /\\/ yields /\n ", "\n An attack leveraging escaped slashes in slternate encodings is very simple. If you believe the target may be filtering the slash, attempt to supply \\/ and see what happens. Example command strings to try out include\n CWD ..\\/..\\/..\\/..\\/winnt\n which converts in many cases to\n CWD ../../../../winnt\n To probe for this kind of problem, a small C program that uses string output routines can be very useful. File system calls make excellent testing fodder. The simple snippet\n int main(int argc, char* argv[]){puts(\"\\/ \\\\ \\? \\. \\| \");return 0;\n }\n produces the output\n / \\ ? . |\n Clearly, the back slash is ignored, and thus we have hit on a number of alternative encodings to experiment with. Given our previous example, we can extend the attack to include other possibilities:\n CWD ..\\?\\?\\?\\?\\/..\\/..\\/..\\/winntCWD \\.\\.\\/\\.\\.\\/\\.\\.\\/\\.\\.\\/winntCWD ..\\|\\|\\|\\|\\/..\\/..\\/..\\/winnt\n " ], "x_capec_execution_flow": "

Execution Flow

Explore

  1. Survey the application for user-controllable inputs: Using a browser, an automated tool or by inspecting the application, an adversary records all entry points to the application.

  2. Techniques
    Use a spidering tool to follow and record all links and analyze the web pages to find entry points. Make special note of any links that include parameters in the URL.
    Use a proxy tool to record all user input entry points visited during a manual traversal of the web application.
    Use a browser to manually explore the website and analyze how it is constructed. Many browsers' plugins are available to facilitate the analysis or automate the discovery.
    Manually inspect the application to find entry points.

Experiment

  1. Probe entry points to locate vulnerabilities: The adversary uses the entry points gathered in the \"Explore\" phase as a target list and attempts to escape multiple different special characters using a backslash.

  2. Techniques
    Escape a special character with a backslash to bypass input validation.
    Try different encodings of both the backslash and the special character to see if this bypasses input validation

Exploit

  1. Manipulate input: Once the adversary determines how to bypass filters that filter out special characters using an escaped slash, they will manipulate the user input in a way that is not intended by the application.

", "x_capec_likelihood_of_attack": "High", "x_capec_prerequisites": [ "The application accepts the backlash character as escape character.", "The application server does incomplete input data decoding, filtering and validation." ], "x_capec_skills_required": { "Low": "The adversary can naively try backslash character and discover that the target host uses it as escape character.", "Medium": "The adversary may need deep understanding of the host target in order to exploit the vulnerability. The adversary may also use automated tools to probe for this vulnerability." }, "x_capec_status": "Draft", "x_capec_typical_severity": "High", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "Verify that the user-supplied data does not use backslash character to escape malicious characters.", "id": "course-of-action--380b117a-6169-466d-a7a6-7d6f047e19a0", "modified": "2022-09-29T00:00:00.000Z", "name": "coa-78-0", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "course-of-action", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--9cb4ae43-cf9a-40ac-a774-6c54684220cf", "modified": "2022-09-29T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--380b117a-6169-466d-a7a6-7d6f047e19a0", "spec_version": "2.1", "target_ref": "attack-pattern--07e5901d-0f6d-41a9-ac19-e00eecece95f", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--18db8c39-5734-4976-995e-2b41058357e4", "modified": "2022-09-29T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--523a56cb-eaa5-451a-8ba9-f85b37fad844", "spec_version": "2.1", "target_ref": "attack-pattern--07e5901d-0f6d-41a9-ac19-e00eecece95f", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "Be aware of the threat of alternative method of data encoding.", "id": "course-of-action--5f0544cb-d0a9-41fd-805f-5990ffb5833a", "modified": "2022-09-29T00:00:00.000Z", "name": "coa-78-2", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "course-of-action", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--c87e3a8c-ff00-48c7-8fc7-287c0608ac1d", "modified": "2022-09-29T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--5f0544cb-d0a9-41fd-805f-5990ffb5833a", "spec_version": "2.1", "target_ref": "attack-pattern--07e5901d-0f6d-41a9-ac19-e00eecece95f", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "Regular expressions can be used to filter out backslash. Make sure you decode before filtering and validating the untrusted input data.", "id": "course-of-action--8535a537-b407-4f8c-939a-b5ac6340509b", "modified": "2022-09-29T00:00:00.000Z", "name": "coa-78-3", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "course-of-action", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--91ab6a50-36a5-4861-85ce-aac5a6c7af09", "modified": "2022-09-29T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--8535a537-b407-4f8c-939a-b5ac6340509b", "spec_version": "2.1", "target_ref": "attack-pattern--07e5901d-0f6d-41a9-ac19-e00eecece95f", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "In the case of path traversals, use the principle of least privilege when determining access rights to file systems. Do not allow users to access directories/files that they should not access.", "id": "course-of-action--c91ecbca-4b35-489b-a4c4-b298fd32b795", "modified": "2022-09-29T00:00:00.000Z", "name": "coa-78-4", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "course-of-action", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--12c4ce97-d297-42dc-a8bc-b477e5c4bffb", "modified": "2022-09-29T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--c91ecbca-4b35-489b-a4c4-b298fd32b795", "spec_version": "2.1", "target_ref": "attack-pattern--07e5901d-0f6d-41a9-ac19-e00eecece95f", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--3f3d2ae6-65d1-4164-a0e0-b2c4925961ba", "modified": "2022-09-29T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--3833d761-4a54-4ed3-994b-c7c76c465ae0", "spec_version": "2.1", "target_ref": "attack-pattern--07e5901d-0f6d-41a9-ac19-e00eecece95f", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "Avoid making decisions based on names of resources (e.g. files) if those resources can have alternate names.", "id": "course-of-action--d8d53c86-ce51-4374-9ba7-30c6af721c9b", "modified": "2022-09-29T00:00:00.000Z", "name": "coa-78-6", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "course-of-action", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--937e412f-6548-4f31-b652-45f3f5510579", "modified": "2022-09-29T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--d8d53c86-ce51-4374-9ba7-30c6af721c9b", "spec_version": "2.1", "target_ref": "attack-pattern--07e5901d-0f6d-41a9-ac19-e00eecece95f", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "This attack targets the encoding of the Slash characters. An adversary would try to exploit common filtering problems related to the use of the slashes characters to gain access to resources on the target host. Directory-driven systems, such as file systems and databases, typically use the slash character to indicate traversal between directories or other container components. For murky historical reasons, PCs (and, as a result, Microsoft OSs) choose to use a backslash, whereas the UNIX world typically makes use of the forward slash. The schizophrenic result is that many MS-based systems are required to understand both forms of the slash. This gives the adversary many opportunities to discover and abuse a number of common filtering problems. The goal of this pattern is to discover server software that only applies filters to one version, but not the other.", "external_references": [ { "external_id": "CAPEC-79", "source_name": "capec", "url": "https://capec.mitre.org/data/definitions/79.html" }, { "external_id": "CWE-173", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/173.html" }, { "external_id": "CWE-180", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/180.html" }, { "external_id": "CWE-181", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/181.html" }, { "external_id": "CWE-20", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/20.html" }, { "external_id": "CWE-74", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/74.html" }, { "external_id": "CWE-73", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/73.html" }, { "external_id": "CWE-22", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/22.html" }, { "external_id": "CWE-185", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/185.html" }, { "external_id": "CWE-200", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/200.html" }, { "external_id": "CWE-697", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/697.html" }, { "external_id": "CWE-707", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/707.html" }, { "description": "G. Hoglund, G. McGraw, Exploiting Software: How to Break Code, 2004--02, Addison-Wesley", "external_id": "REF-1", "source_name": "reference_from_CAPEC" }, { "description": "Markus Kuhn, UTF-8 and Unicode FAQ for Unix/Linux, 1999--06---04", "external_id": "REF-525", "source_name": "reference_from_CAPEC", "url": "http://www.cl.cam.ac.uk/~mgk25/unicode.html" }, { "description": "Gunter Ollmann, URL Encoded Attacks - Attacks using the common web browser, CGISecurity.com", "external_id": "REF-495", "source_name": "reference_from_CAPEC", "url": "http://www.cgisecurity.com/lib/URLEmbeddedAttacks.html" } ], "id": "attack-pattern--eba7bbc3-fb5e-46c4-8547-742d1d144fb3", "modified": "2022-09-29T00:00:00.000Z", "name": "Using Slashes in Alternate Encoding", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "attack-pattern", "x_capec_abstraction": "Detailed", "x_capec_child_of_refs": [ "attack-pattern--a1af7c24-25cb-46e5-a27b-ed316e1f91ce" ], "x_capec_consequences": { "Access_Control": [ "Gain Privileges" ], "Authorization": [ "Gain Privileges" ], "Availability": [ "Execute Unauthorized Commands (Run Arbitrary Code)" ], "Confidentiality": [ "Read Data", "Execute Unauthorized Commands (Run Arbitrary Code)", "Gain Privileges" ], "Integrity": [ "Execute Unauthorized Commands (Run Arbitrary Code)" ] }, "x_capec_domains": [ "Software" ], "x_capec_example_instances": [ "\n Attack Example: Slashes in Alternate Encodings\n The two following requests are equivalent on most Web servers:\n http://target server/some_directory\\..\\..\\..\\winnt\n is equivalent to\n http://target server/some_directory/../../../winnt\n Multiple encoding conversion problems can also be leveraged as various slashes are instantiated in URL-encoded, UTF-8, or Unicode. Consider the strings\n http://target server/some_directory\\..%5C..%5C..\\winnt\n where %5C is equivalent to the \\ character.\n " ], "x_capec_execution_flow": "

Execution Flow

Explore

  1. Survey the application for user-controllable inputs: Using a browser, an automated tool or by inspecting the application, an adversary records all entry points to the application.

  2. Techniques
    Use a spidering tool to follow and record all links and analyze the web pages to find entry points. Make special note of any links that include parameters in the URL.
    Use a proxy tool to record all user input entry points visited during a manual traversal of the web application.
    Use a browser to manually explore the website and analyze how it is constructed. Many browsers' plugins are available to facilitate the analysis or automate the discovery.
    Manually inspect the application to find entry points.

Experiment

  1. Probe entry points to locate vulnerabilities: The adversary uses the entry points gathered in the \"Explore\" phase as a target list and looks for areas where user input is used to access resources on the target host. The adversary attempts different encodings of slash characters to bypass input filters.

  2. Techniques
    Try both backslash and forward slash characters
    Try different encodings for slash characters such as %5C

Exploit

  1. Traverse application directories: Once the adversary determines how to bypass filters that filter out slash characters, they will manipulate the user input to include slashes in order to traverse directories and access resources that are not intended for the user.

", "x_capec_likelihood_of_attack": "High", "x_capec_prerequisites": [ "The application server accepts paths to locate resources.", "The application server does insufficient input data validation on the resource path requested by the user.", "The access right to resources are not set properly." ], "x_capec_skills_required": { "Low": "An adversary can try variation of the slashes characters.", "Medium": "An adversary can use more sophisticated tool or script to scan a website and find a path filtering problem." }, "x_capec_status": "Draft", "x_capec_typical_severity": "High", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "Any security checks should occur after the data has been decoded and validated as correct data format. Do not repeat decoding process, if bad character are left after decoding process, treat the data as suspicious, and fail the validation process. Refer to the RFCs to safely decode URL.", "id": "course-of-action--225305ca-bb17-4652-bce6-a3e088e3e753", "modified": "2022-09-29T00:00:00.000Z", "name": "coa-79-0", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "course-of-action", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--9a6ee85d-1fc3-4c89-a197-b17473b215bb", "modified": "2022-09-29T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--225305ca-bb17-4652-bce6-a3e088e3e753", "spec_version": "2.1", "target_ref": "attack-pattern--eba7bbc3-fb5e-46c4-8547-742d1d144fb3", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--04f00f04-9695-4b7c-9593-29b78e51dda7", "modified": "2022-09-29T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--95ef6587-c787-4051-b664-b5e8ca753c20", "spec_version": "2.1", "target_ref": "attack-pattern--eba7bbc3-fb5e-46c4-8547-742d1d144fb3", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "There are tools to scan HTTP requests to the server for valid URL such as URLScan from Microsoft (http://www.microsoft.com/technet/security/tools/urlscan.mspx)", "id": "course-of-action--cfb918e7-7635-4a23-aa5e-27a2f7619338", "modified": "2022-09-29T00:00:00.000Z", "name": "coa-79-2", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "course-of-action", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--70f70a7f-5a5f-479e-ba10-554afaad269a", "modified": "2022-09-29T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--cfb918e7-7635-4a23-aa5e-27a2f7619338", "spec_version": "2.1", "target_ref": "attack-pattern--eba7bbc3-fb5e-46c4-8547-742d1d144fb3", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--77731bb0-70b0-41b9-8671-78db70983fae", "modified": "2022-09-29T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--11783efd-94f2-4741-93c8-e33b1de782b8", "spec_version": "2.1", "target_ref": "attack-pattern--eba7bbc3-fb5e-46c4-8547-742d1d144fb3", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "Test your path decoding process against malicious input.", "id": "course-of-action--04ee0d8b-40e5-4e69-8703-8e5db18aa617", "modified": "2022-09-29T00:00:00.000Z", "name": "coa-79-4", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "course-of-action", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--a701d96e-611d-4d01-988e-216e7c28a1a3", "modified": "2022-09-29T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--04ee0d8b-40e5-4e69-8703-8e5db18aa617", "spec_version": "2.1", "target_ref": "attack-pattern--eba7bbc3-fb5e-46c4-8547-742d1d144fb3", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--83e41edb-f3d5-444b-b2a9-55f1329f2b68", "modified": "2022-09-29T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--c91ecbca-4b35-489b-a4c4-b298fd32b795", "spec_version": "2.1", "target_ref": "attack-pattern--eba7bbc3-fb5e-46c4-8547-742d1d144fb3", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "Assume all input is malicious. Create an allowlist that defines all valid input to the application based on the requirements specifications. Input that does not match against the allowlist should not be permitted to enter into the system.", "id": "course-of-action--832594fc-7b68-4057-b3f1-8bda4098d788", "modified": "2022-09-29T00:00:00.000Z", "name": "coa-79-6", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "course-of-action", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--d18cc586-8a23-43d4-b493-6352b03b104a", "modified": "2022-09-29T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--832594fc-7b68-4057-b3f1-8bda4098d788", "spec_version": "2.1", "target_ref": "attack-pattern--eba7bbc3-fb5e-46c4-8547-742d1d144fb3", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "This attack targets libraries or shared code modules which are vulnerable to buffer overflow attacks. An adversary who has knowledge of known vulnerable libraries or shared code can easily target software that makes use of these libraries. All clients that make use of the code library thus become vulnerable by association. This has a very broad effect on security across a system, usually affecting more than one software process.", "external_references": [ { "external_id": "CAPEC-8", "source_name": "capec", "url": "https://capec.mitre.org/data/definitions/8.html" }, { "external_id": "CWE-120", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/120.html" }, { "external_id": "CWE-119", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/119.html" }, { "external_id": "CWE-118", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/118.html" }, { "external_id": "CWE-74", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/74.html" }, { "external_id": "CWE-20", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/20.html" }, { "external_id": "CWE-680", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/680.html" }, { "external_id": "CWE-733", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/733.html" }, { "external_id": "CWE-697", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/697.html" }, { "description": "G. Hoglund, G. McGraw, Exploiting Software: How to Break Code, 2004--02, Addison-Wesley", "external_id": "REF-1", "source_name": "reference_from_CAPEC" } ], "id": "attack-pattern--e62000f0-addd-4156-b9fd-469bbb211d45", "modified": "2022-09-29T00:00:00.000Z", "name": "Buffer Overflow in an API Call", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "attack-pattern", "x_capec_abstraction": "Detailed", "x_capec_can_follow_refs": [ "attack-pattern--ca989a50-b24e-4917-a234-ce4788fa21c7" ], "x_capec_child_of_refs": [ "attack-pattern--77e51461-7843-411c-a90e-852498957f76" ], "x_capec_consequences": { "Availability": [ "Unreliable Execution", "Execute Unauthorized Commands (Run Arbitrary Code)" ], "Confidentiality": [ "Execute Unauthorized Commands (Run Arbitrary Code)", "Read Data" ], "Integrity": [ "Execute Unauthorized Commands (Run Arbitrary Code)", "Modify Data" ] }, "x_capec_domains": [ "Software" ], "x_capec_example_instances": [ "\n Attack Example: Libc in FreeBSD\n A buffer overflow in the FreeBSD utility setlocale (found in the libc module) puts many programs at risk all at once.\n ", "\n Xtlib\n A buffer overflow in the Xt library of the X windowing system allows local users to execute commands with root privileges.\n " ], "x_capec_execution_flow": "

Execution Flow

Explore

  1. Identify target application: The adversary, with knowledge of vulnerable libraries or shared code modules, identifies a target application or program that makes use of these.

Experiment

  1. Find injection vector: The adversary attempts to use the API, and if they can they send a large amount of data to see if the buffer overflow attack really does work.

  2. Techniques
    Provide large input to a program or application and observe the behavior. If there is a crash, this means that a buffer overflow attack is possible.
  3. Craft overflow content: The adversary crafts the content to be injected based on their knowledge of the vulnerability and their desired outcome. If the intent is to simply cause the software to crash, the content need only consist of an excessive quantity of random data. If the intent is to leverage the overflow for execution of arbitrary code, the adversary will craft a set of content that not only overflows the targeted buffer but does so in such a way that the overwritten return address is replaced with one of the adversaries' choosing which points to code injected by the adversary.

  4. Techniques
    Create malicious shellcode that will execute when the program execution is returned to it.
    Use a NOP-sled in the overflow content to more easily \"slide\" into the malicious code. This is done so that the exact return address need not be correct, only in the range of all of the NOPs

Exploit

  1. Overflow the buffer: Using the API as the injection vector, the adversary injects the crafted overflow content into the buffer.

", "x_capec_likelihood_of_attack": "High", "x_capec_prerequisites": [ "The target host exposes an API to the user.", "One or more API functions exposed by the target host has a buffer overflow vulnerability." ], "x_capec_skills_required": { "High": "Exploiting a buffer overflow to inject malicious code into the stack of a software system or even the heap can require a higher skill level.", "Low": "An adversary can simply overflow a buffer by inserting a long string into an adversary-modifiable injection vector. The result can be a DoS." }, "x_capec_status": "Draft", "x_capec_typical_severity": "High", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--1904d522-3156-4b2b-8861-ea295dd3490b", "modified": "2022-09-29T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--a253c485-f225-4dd3-b0ba-dbe4b29fa134", "spec_version": "2.1", "target_ref": "attack-pattern--e62000f0-addd-4156-b9fd-469bbb211d45", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--948df80a-6252-4723-93a8-9c5b1a9daa17", "modified": "2022-09-29T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--5549f741-7e5e-4f04-86bd-90dceb9c0de9", "spec_version": "2.1", "target_ref": "attack-pattern--e62000f0-addd-4156-b9fd-469bbb211d45", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--f52fdeab-0159-4aa3-aed5-3de1e3f31e4a", "modified": "2022-09-29T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--07b3e24d-8000-4c35-881d-2eaae3f2411e", "spec_version": "2.1", "target_ref": "attack-pattern--e62000f0-addd-4156-b9fd-469bbb211d45", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--23598190-f719-4176-baf5-1e00d32e9cec", "modified": "2022-09-29T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--115171ef-9f32-43b6-bb8a-49f0a78286e9", "spec_version": "2.1", "target_ref": "attack-pattern--e62000f0-addd-4156-b9fd-469bbb211d45", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--aa5f5375-154b-486b-a60c-7eadb33e0a4f", "modified": "2022-09-29T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--b8955156-d3d6-4db5-bc3b-595bda29964b", "spec_version": "2.1", "target_ref": "attack-pattern--e62000f0-addd-4156-b9fd-469bbb211d45", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "This attack is a specific variation on leveraging alternate encodings to bypass validation logic. This attack leverages the possibility to encode potentially harmful input in UTF-8 and submit it to applications not expecting or effective at validating this encoding standard making input filtering difficult. UTF-8 (8-bit UCS/Unicode Transformation Format) is a variable-length character encoding for Unicode. Legal UTF-8 characters are one to four bytes long. However, early version of the UTF-8 specification got some entries wrong (in some cases it permitted overlong characters). UTF-8 encoders are supposed to use the \"shortest possible\" encoding, but naive decoders may accept encodings that are longer than necessary. According to the RFC 3629, a particularly subtle form of this attack can be carried out against a parser which performs security-critical validity checks against the UTF-8 encoded form of its input, but interprets certain illegal octet sequences as characters.", "external_references": [ { "external_id": "CAPEC-80", "source_name": "capec", "url": "https://capec.mitre.org/data/definitions/80.html" }, { "external_id": "CWE-173", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/173.html" }, { "external_id": "CWE-172", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/172.html" }, { "external_id": "CWE-180", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/180.html" }, { "external_id": "CWE-181", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/181.html" }, { "external_id": "CWE-73", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/73.html" }, { "external_id": "CWE-74", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/74.html" }, { "external_id": "CWE-20", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/20.html" }, { "external_id": "CWE-697", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/697.html" }, { "external_id": "CWE-692", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/692.html" }, { "description": "G. Hoglund, G. McGraw, Exploiting Software: How to Break Code, 2004--02, Addison-Wesley", "external_id": "REF-1", "source_name": "reference_from_CAPEC" }, { "description": "David Wheeler, Secure Programming for Linux and Unix HOWTO", "external_id": "REF-112", "source_name": "reference_from_CAPEC", "url": "http://www.dwheeler.com/secure-programs/Secure-Programs-HOWTO/character-encoding.html" }, { "description": "Michael Howard, David LeBlanc, Writing Secure Code, Microsoft Press", "external_id": "REF-530", "source_name": "reference_from_CAPEC" }, { "description": "Bruce Schneier, Security Risks of Unicode, Crypto-Gram Newsletter, 2000--07---15", "external_id": "REF-531", "source_name": "reference_from_CAPEC", "url": "https://www.schneier.com/crypto-gram/archives/2000/0715.html" }, { "description": "Wikipedia, The Wikimedia Foundation, Inc", "external_id": "REF-532", "source_name": "reference_from_CAPEC", "url": "http://en.wikipedia.org/wiki/UTF-8" }, { "description": "F. Yergeau, RFC 3629 - UTF-8, a transformation format of ISO 10646, 2003--11", "external_id": "REF-533", "source_name": "reference_from_CAPEC", "url": "http://www.faqs.org/rfcs/rfc3629.html" }, { "description": "Eric Hacker, IDS Evasion with Unicode, 2001--01---03", "external_id": "REF-114", "source_name": "reference_from_CAPEC", "url": "http://www.securityfocus.com/infocus/1232" }, { "description": "Corrigendum #1: UTF-8 Shortest Form, The Unicode Standard, 2001--03, Unicode, Inc.", "external_id": "REF-535", "source_name": "reference_from_CAPEC", "url": "http://www.unicode.org/versions/corrigendum1.html" }, { "description": "Markus Kuhn, UTF-8 and Unicode FAQ for Unix/Linux, 1999--06---04", "external_id": "REF-525", "source_name": "reference_from_CAPEC", "url": "http://www.cl.cam.ac.uk/~mgk25/unicode.html" }, { "description": "Markus Kuhn, UTF-8 decoder capability and stress test, 2003--02---19", "external_id": "REF-537", "source_name": "reference_from_CAPEC", "url": "http://www.cl.cam.ac.uk/%7Emgk25/ucs/examples/UTF-8-test.txt" } ], "id": "attack-pattern--2f463f26-84b9-4ab2-9b98-63c817fb3497", "modified": "2022-09-29T00:00:00.000Z", "name": "Using UTF-8 Encoding to Bypass Validation Logic", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "attack-pattern", "x_capec_abstraction": "Detailed", "x_capec_child_of_refs": [ "attack-pattern--a1af7c24-25cb-46e5-a27b-ed316e1f91ce" ], "x_capec_consequences": { "Access_Control": [ "Bypass Protection Mechanism" ], "Authorization": [ "Bypass Protection Mechanism" ], "Availability": [ "Execute Unauthorized Commands (Run Arbitrary Code)", "Unreliable Execution" ], "Confidentiality": [ "Bypass Protection Mechanism", "Execute Unauthorized Commands (Run Arbitrary Code)" ], "Integrity": [ "Execute Unauthorized Commands (Run Arbitrary Code)", "Modify Data" ] }, "x_capec_domains": [ "Software" ], "x_capec_example_instances": [ "\n Perhaps the most famous UTF-8 attack was against unpatched Microsoft Internet Information Server (IIS) 4 and IIS 5 servers. If an attacker made a request that looked like this\n http://servername/scripts/..%c0%af../winnt/system32/ cmd.exe\n the server didn't correctly handle %c0%af in the URL. What do you think %c0%af means? It's 11000000 10101111 in binary; and if it's broken up using the UTF-8 mapping rules, we get this: 11000000 10101111. Therefore, the character is 00000101111, or 0x2F, the slash (/) character! The %c0%af is an invalid UTF-8 representation of the / character. Such an invalid UTF-8 escape is often referred to as an overlong sequence.\n So when the attacker requested the tainted URL, they accessed\n http://servername/scripts/../../winnt/system32/cmd.exe\n In other words, they walked out of the script's virtual directory, which is marked to allow program execution, up to the root and down into the system32 directory, where they could pass commands to the command shell, Cmd.exe.See also: CVE-2000-0884" ], "x_capec_execution_flow": "

Execution Flow

Explore

  1. Survey the application for user-controllable inputs: Using a browser or an automated tool, an attacker follows all public links and actions on a web site. They record all the links, the forms, the resources accessed and all other potential entry-points for the web application.

  2. Techniques
    Use a spidering tool to follow and record all links and analyze the web pages to find entry points. Make special note of any links that include parameters in the URL.
    Use a proxy tool to record all user input entry points visited during a manual traversal of the web application.
    Use a browser to manually explore the website and analyze how it is constructed. Many browsers' plugins are available to facilitate the analysis or automate the discovery.

Experiment

  1. Probe entry points to locate vulnerabilities: The attacker uses the entry points gathered in the \"Explore\" phase as a target list and injects various UTF-8 encoded payloads to determine if an entry point actually represents a vulnerability with insufficient validation logic and to characterize the extent to which the vulnerability can be exploited.

  2. Techniques
    Try to use UTF-8 encoding of content in Scripts in order to bypass validation routines.
    Try to use UTF-8 encoding of content in HTML in order to bypass validation routines.
    Try to use UTF-8 encoding of content in CSS in order to bypass validation routines.
", "x_capec_likelihood_of_attack": "High", "x_capec_peer_of_refs": [ "attack-pattern--feed1b00-2f2b-490f-aee1-0de5b1fbf732", "attack-pattern--663a1a48-1d23-4dd5-869a-02d5a6b05770" ], "x_capec_prerequisites": [ "The application's UTF-8 decoder accepts and interprets illegal UTF-8 characters or non-shortest format of UTF-8 encoding.", "Input filtering and validating is not done properly leaving the door open to harmful characters for the target host." ], "x_capec_skills_required": { "Low": "An attacker can inject different representation of a filtered character in UTF-8 format.", "Medium": "An attacker may craft subtle encoding of input data by using the knowledge that they have gathered about the target host." }, "x_capec_status": "Draft", "x_capec_typical_severity": "High", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "The Unicode Consortium recognized multiple representations to be a problem and has revised the Unicode Standard to make multiple representations of the same code point with UTF-8 illegal. The UTF-8 Corrigendum lists the newly restricted UTF-8 range (See references). Many current applications may not have been revised to follow this rule. Verify that your application conform to the latest UTF-8 encoding specification. Pay extra attention to the filtering of illegal characters.", "id": "course-of-action--fb143d8a-cf0a-4047-99fb-e6c8751f522b", "modified": "2022-09-29T00:00:00.000Z", "name": "coa-80-0", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "course-of-action", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--04696e3f-623a-46fd-bd0e-c253d001cba3", "modified": "2022-09-29T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--fb143d8a-cf0a-4047-99fb-e6c8751f522b", "spec_version": "2.1", "target_ref": "attack-pattern--2f463f26-84b9-4ab2-9b98-63c817fb3497", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "\n The exact response required from an UTF-8 decoder on invalid input is not uniformly defined by the standards. In general, there are several ways a UTF-8 decoder might behave in the event of an invalid byte sequence:\n \n 1. Insert a replacement character (e.g. '?', '').\n 2. Ignore the bytes.\n 3. Interpret the bytes according to a different character encoding (often the ISO-8859-1 character map).\n 4. Not notice and decode as if the bytes were some similar bit of UTF-8.\n 5. Stop decoding and report an error (possibly giving the caller the option to continue).\n \n It is possible for a decoder to behave in different ways for different types of invalid input.\n RFC 3629 only requires that UTF-8 decoders must not decode \"overlong sequences\" (where a character is encoded in more bytes than needed but still adheres to the forms above). The Unicode Standard requires a Unicode-compliant decoder to \"...treat any ill-formed code unit sequence as an error condition. This guarantees that it will neither interpret nor emit an ill-formed code unit sequence.\"\n Overlong forms are one of the most troublesome types of UTF-8 data. The current RFC says they must not be decoded but older specifications for UTF-8 only gave a warning and many simpler decoders will happily decode them. Overlong forms have been used to bypass security validations in high profile products including Microsoft's IIS web server. Therefore, great care must be taken to avoid security issues if validation is performed before conversion from UTF-8, and it is generally much simpler to handle overlong forms before any input validation is done.\n To maintain security in the case of invalid input, there are two options. The first is to decode the UTF-8 before doing any input validation checks. The second is to use a decoder that, in the event of invalid input, returns either an error or text that the application considers to be harmless. Another possibility is to avoid conversion out of UTF-8 altogether but this relies on any other software that the data is passed to safely handling the invalid data.\n Another consideration is error recovery. To guarantee correct recovery after corrupt or lost bytes, decoders must be able to recognize the difference between lead and trail bytes, rather than just assuming that bytes will be of the type allowed in their position.\n ", "id": "course-of-action--14fb4c87-4528-48c8-a104-1ffa4a22f6b4", "modified": "2022-09-29T00:00:00.000Z", "name": "coa-80-1", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "course-of-action", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--cdd3394b-f883-47bf-a85c-0a79d48872bf", "modified": "2022-09-29T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--14fb4c87-4528-48c8-a104-1ffa4a22f6b4", "spec_version": "2.1", "target_ref": "attack-pattern--2f463f26-84b9-4ab2-9b98-63c817fb3497", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "For security reasons, a UTF-8 decoder must not accept UTF-8 sequences that are longer than necessary to encode a character. If you use a parser to decode the UTF-8 encoding, make sure that parser filter the invalid UTF-8 characters (invalid forms or overlong forms).", "id": "course-of-action--2984b19d-0e72-4ebb-abaa-04953b80dbe3", "modified": "2022-09-29T00:00:00.000Z", "name": "coa-80-2", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "course-of-action", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--9116b922-43a0-4491-8306-52e2c12b1dbf", "modified": "2022-09-29T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--2984b19d-0e72-4ebb-abaa-04953b80dbe3", "spec_version": "2.1", "target_ref": "attack-pattern--2f463f26-84b9-4ab2-9b98-63c817fb3497", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "Look for overlong UTF-8 sequences starting with malicious pattern. You can also use a UTF-8 decoder stress test to test your UTF-8 parser (See Markus Kuhn's UTF-8 and Unicode FAQ in reference section)", "id": "course-of-action--d9b22e6b-a3b6-4d0c-9522-c3b147e28de5", "modified": "2022-09-29T00:00:00.000Z", "name": "coa-80-3", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "course-of-action", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--9ec596d0-6f5a-467d-b542-5bcad89fb1d4", "modified": "2022-09-29T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--d9b22e6b-a3b6-4d0c-9522-c3b147e28de5", "spec_version": "2.1", "target_ref": "attack-pattern--2f463f26-84b9-4ab2-9b98-63c817fb3497", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--ee809e72-9489-47d3-8a97-15d2e21d67a6", "modified": "2022-09-29T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--001320df-5e57-4ed3-bcf8-7e79dfe846aa", "spec_version": "2.1", "target_ref": "attack-pattern--2f463f26-84b9-4ab2-9b98-63c817fb3497", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "Web Logs Tampering attacks involve an attacker injecting, deleting or otherwise tampering with the contents of web logs typically for the purposes of masking other malicious behavior. Additionally, writing malicious data to log files may target jobs, filters, reports, and other agents that process the logs in an asynchronous attack pattern. This pattern of attack is similar to \"Log Injection-Tampering-Forging\" except that in this case, the attack is targeting the logs of the web server and not the application.", "external_references": [ { "external_id": "CAPEC-81", "source_name": "capec", "url": "https://capec.mitre.org/data/definitions/81.html" }, { "external_id": "CWE-117", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/117.html" }, { "external_id": "CWE-93", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/93.html" }, { "external_id": "CWE-75", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/75.html" }, { "external_id": "CWE-221", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/221.html" }, { "external_id": "CWE-96", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/96.html" }, { "external_id": "CWE-20", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/20.html" }, { "external_id": "CWE-150", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/150.html" }, { "external_id": "CWE-276", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/276.html" }, { "external_id": "CWE-279", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/279.html" }, { "external_id": "CWE-116", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/116.html" }, { "description": "G. Hoglund, G. McGraw, Exploiting Software: How to Break Code, 2004--02, Addison-Wesley", "external_id": "REF-1", "source_name": "reference_from_CAPEC" } ], "id": "attack-pattern--0b08a46d-d680-4f3d-91ad-f97e00878780", "modified": "2022-09-29T00:00:00.000Z", "name": "Web Server Logs Tampering", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "attack-pattern", "x_capec_abstraction": "Detailed", "x_capec_child_of_refs": [ "attack-pattern--b3eaa7aa-9601-406c-ae82-0a0e2ea16116" ], "x_capec_consequences": { "Integrity": [ "Modify Data" ] }, "x_capec_domains": [ "Software" ], "x_capec_example_instances": [ "Most web servers have a public interface, even if the majority of the site is password protected, there is usually at least a login site and brochureware that is publicly available. HTTP requests to the site are also generally logged to a Web log. From an attacker point of view, standard HTTP requests containing a malicious payload can be sent to the public website (with no other access required), when those requests appear in the log (such as http://victimsite/index.html?< malicious script> if they are followed by an administrator this may be sufficient to probe the administrator's host or local network." ], "x_capec_execution_flow": "

Execution Flow

Explore

  1. Determine Application Web Server Log File Format: The attacker observes the system and looks for indicators of which logging utility is being used by the web server.

  2. Techniques
    Determine logging utility being used by application web server (e.g. log4j), only possible if the application is known by the attacker or if the application returns error messages with logging utility information.

Experiment

  1. Determine Injectable Content: The attacker launches various logged actions with malicious data to determine what sort of log injection is possible.

  2. Techniques
    Attacker triggers logged actions with maliciously crafted data as inputs, parameters, arguments, etc.

Exploit

  1. Manipulate Log Files: The attacker alters the log contents either directly through manipulation or forging or indirectly through injection of specially crafted request that the web server will receive and write into the logs. This type of attack typically follows another attack and is used to try to cover the traces of the previous attack.

  2. Techniques
    \n Indirectly through injection, use carriage return and/or line feed characters to start a new line in the log file, and then, add a fake entry.\n For example: The HTTP request for \"/index.html%0A%0DIP_ADDRESS- - DATE_FORMAT] \"GET /forged-path HTTP/1.1\" 200 - \"-\" USER_AGENT\" may add the log line into Apache \"access_log\" (for example). Different applications may require different encodings of the carriage return and line feed characters.\n
    \n Directly through log file or database manipulation, use carriage return and/or line feed characters to start a new line in the log file, and then, add a fake entry.\n For example: The HTTP request for \"/index.html%0A%0DIP_ADDRESS- - DATE_FORMAT] \"GET /forged-path HTTP/1.1\" 200 - \"-\" USER_AGENT\" may add the log line into Apache \"access_log\" (for example). Different applications may require different encodings of the carriage return and line feed characters.\n
    Directly through log file or database manipulation, modify existing log entries.
", "x_capec_likelihood_of_attack": "Medium", "x_capec_prerequisites": [ "Target server software must be a HTTP server that performs web logging." ], "x_capec_resources_required": [ "Ability to send specially formatted HTTP request to web server" ], "x_capec_skills_required": { "Low": "To input faked entries into Web logs" }, "x_capec_status": "Draft", "x_capec_typical_severity": "High", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "Design: Use input validation before writing to web log", "id": "course-of-action--edac5c2c-7cfe-4047-b2f5-d1626f5c468b", "modified": "2022-09-29T00:00:00.000Z", "name": "coa-81-0", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "course-of-action", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--abbb4499-f5b6-4bd9-9b82-f6302c635ae9", "modified": "2022-09-29T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--edac5c2c-7cfe-4047-b2f5-d1626f5c468b", "spec_version": "2.1", "target_ref": "attack-pattern--0b08a46d-d680-4f3d-91ad-f97e00878780", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "Design: Validate all log data before it is output", "id": "course-of-action--bc74e6ff-c1ac-4157-97f0-a457258b1503", "modified": "2022-09-29T00:00:00.000Z", "name": "coa-81-1", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "course-of-action", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--5c13cda6-424c-4bee-a156-88983f9443e5", "modified": "2022-09-29T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--bc74e6ff-c1ac-4157-97f0-a457258b1503", "spec_version": "2.1", "target_ref": "attack-pattern--0b08a46d-d680-4f3d-91ad-f97e00878780", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "This attack pattern has been deprecated as it a generalization of CAPEC-230: XML Nested Payloads, CAPEC-231: XML Oversized Payloads, and CAPEC-147: XML Ping of Death. Please refer to these CAPECs going forward.", "external_references": [ { "external_id": "CAPEC-82", "source_name": "capec", "url": "https://capec.mitre.org/data/definitions/82.html" } ], "id": "attack-pattern--498a90d8-abbe-4fa9-8b19-549daa1c24ee", "modified": "2019-09-30T00:00:00.000Z", "name": "DEPRECATED: Violating Implicit Assumptions Regarding XML Content (aka XML Denial of Service (XDoS))", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "attack-pattern", "x_capec_abstraction": "Standard", "x_capec_status": "Deprecated", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "An attacker can craft special user-controllable input consisting of XPath expressions to inject the XML database and bypass authentication or glean information that they normally would not be able to. XPath Injection enables an attacker to talk directly to the XML database, thus bypassing the application completely. XPath Injection results from the failure of an application to properly sanitize input used as part of dynamic XPath expressions used to query an XML database.", "external_references": [ { "external_id": "CAPEC-83", "source_name": "capec", "url": "https://capec.mitre.org/data/definitions/83.html" }, { "external_id": "CWE-91", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/91.html" }, { "external_id": "CWE-74", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/74.html" }, { "external_id": "CWE-20", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/20.html" }, { "external_id": "CWE-707", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/707.html" }, { "description": "XPath Injection", "external_id": "39", "source_name": "WASC", "url": "http://projects.webappsec.org/XPath-Injection" }, { "description": "Blind XPath Injection", "source_name": "OWASP Attacks", "url": "https://owasp.org/www-community/attacks/Blind_XPath_Injection" }, { "description": "XPATH Injection", "source_name": "OWASP Attacks", "url": "https://owasp.org/www-community/attacks/XPATH_Injection" }, { "description": "OWASP Web Security Testing Guide, The Open Web Application Security Project (OWASP)", "external_id": "REF-611", "source_name": "reference_from_CAPEC", "url": "https://owasp.org/www-project-web-security-testing-guide/latest/4-Web_Application_Security_Testing/07-Input_Validation_Testing/09-Testing_for_XPath_Injection.html" } ], "id": "attack-pattern--f51fd46e-a327-4c2d-a047-12fe2be6eb0b", "modified": "2022-02-22T00:00:00.000Z", "name": "XPath Injection", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "attack-pattern", "x_capec_abstraction": "Detailed", "x_capec_child_of_refs": [ "attack-pattern--aa6a831a-8eae-4690-b4a2-ff3e4d43a716" ], "x_capec_consequences": { "Access_Control": [ "Gain Privileges" ], "Authorization": [ "Gain Privileges" ], "Confidentiality": [ "Gain Privileges", "Read Data" ] }, "x_capec_domains": [ "Software" ], "x_capec_example_instances": [ "Consider an application that uses an XML database to authenticate its users. The application retrieves the user name and password from a request and forms an XPath expression to query the database. An attacker can successfully bypass authentication and login without valid credentials through XPath Injection. This can be achieved by injecting the query to the XML database with XPath syntax that causes the authentication check to fail. Improper validation of user-controllable input and use of a non-parameterized XPath expression enable the attacker to inject an XPath expression that causes authentication bypass." ], "x_capec_execution_flow": "

Execution Flow

Explore

  1. Survey the target: Using a browser or an automated tool, an adversary records all instances of user-controllable input used to contruct XPath queries.

  2. Techniques
    Use an automated tool to record all instances of user-controllable input used to contruct XPath queries.
    Use a browser to manually explore the website and analyze how the application processes inputs.
  3. Determine the tructure of queries: Using manual or automated means, test inputs found for XPath weaknesses.

  4. Techniques
    Use an automated tool automatically probe the inputs for XPath weaknesses.
    Manually probe the inputs using characters such as single quote (') that can cause XPath-releated errors, thus indicating an XPath weakness.

Exploit

  1. Inject content into XPath query: Craft malicious content containing XPath expressions that is not validated by the application and is executed as part of the XPath queries.

  2. Techniques
    Use the crafted input to execute unexpected queries that can disclose sensitive database information to the attacker.
    Use a combination of single quote (') and boolean expressions such as \"or 1=1\" to manipulate XPath logic.
    Use XPath functions in the malicious content such as \"string-length\", \"substring\", or \"count\" to gain information about the XML document structure being used.
", "x_capec_likelihood_of_attack": "High", "x_capec_prerequisites": [ "XPath queries used to retrieve information stored in XML documents", "User-controllable input not properly sanitized before being used as part of XPath queries" ], "x_capec_resources_required": [ "None: No specialized resources are required to execute this type of attack." ], "x_capec_skills_required": { "Low": "XPath Injection shares the same basic premises with SQL Injection. An attacker must have knowledge of XPath syntax and constructs in order to successfully leverage XPath Injection" }, "x_capec_status": "Draft", "x_capec_typical_severity": "High", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "Strong input validation - All user-controllable input must be validated and filtered for illegal characters as well as content that can be interpreted in the context of an XPath expression. Characters such as a single-quote(') or operators such as or (|), and (&) and such should be filtered if the application does not expect them in the context in which they appear. If such content cannot be filtered, it must at least be properly escaped to avoid them being interpreted as part of XPath expressions.", "id": "course-of-action--cab581d6-2ed4-47e6-85b3-5d84bd943c50", "modified": "2022-02-22T00:00:00.000Z", "name": "coa-83-0", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "course-of-action", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--7d639463-ea08-4233-a922-f74423845236", "modified": "2022-02-22T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--cab581d6-2ed4-47e6-85b3-5d84bd943c50", "spec_version": "2.1", "target_ref": "attack-pattern--f51fd46e-a327-4c2d-a047-12fe2be6eb0b", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "Use of parameterized XPath queries - Parameterization causes the input to be restricted to certain domains, such as strings or integers, and any input outside such domains is considered invalid and the query fails.", "id": "course-of-action--9c926763-b5fb-45a5-91de-9aee1b9d874e", "modified": "2022-02-22T00:00:00.000Z", "name": "coa-83-1", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "course-of-action", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--edff9072-fa08-4afe-a489-21b0eafd515a", "modified": "2022-02-22T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--9c926763-b5fb-45a5-91de-9aee1b9d874e", "spec_version": "2.1", "target_ref": "attack-pattern--f51fd46e-a327-4c2d-a047-12fe2be6eb0b", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--221561aa-fdbc-4618-ad52-cff378722a38", "modified": "2022-02-22T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--618c2d85-ca76-40a0-a019-0ac9ba1b0989", "spec_version": "2.1", "target_ref": "attack-pattern--f51fd46e-a327-4c2d-a047-12fe2be6eb0b", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "This attack utilizes XQuery to probe and attack server systems; in a similar manner that SQL Injection allows an attacker to exploit SQL calls to RDBMS, XQuery Injection uses improperly validated data that is passed to XQuery commands to traverse and execute commands that the XQuery routines have access to. XQuery injection can be used to enumerate elements on the victim's environment, inject commands to the local host, or execute queries to remote files and data sources.", "external_references": [ { "external_id": "CAPEC-84", "source_name": "capec", "url": "https://capec.mitre.org/data/definitions/84.html" }, { "external_id": "CWE-74", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/74.html" }, { "external_id": "CWE-707", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/707.html" }, { "description": "XQuery Injection", "external_id": "46", "source_name": "WASC", "url": "http://projects.webappsec.org/XQuery-Injection" } ], "id": "attack-pattern--65c33cb5-cbae-4a8f-9895-2b7dc6a0f9f5", "modified": "2022-09-29T00:00:00.000Z", "name": "XQuery Injection", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "attack-pattern", "x_capec_abstraction": "Detailed", "x_capec_child_of_refs": [ "attack-pattern--aa6a831a-8eae-4690-b4a2-ff3e4d43a716" ], "x_capec_consequences": { "Access_Control": [ "Gain Privileges" ], "Authorization": [ "Gain Privileges" ], "Availability": [ "Execute Unauthorized Commands (Run Arbitrary Code)" ], "Confidentiality": [ "Read Data", "Gain Privileges", "Execute Unauthorized Commands (Run Arbitrary Code)" ], "Integrity": [ "Modify Data", "Execute Unauthorized Commands (Run Arbitrary Code)" ] }, "x_capec_domains": [ "Software" ], "x_capec_example_instances": [ "\n An attacker can pass XQuery expressions embedded in otherwise standard XML documents. Like SQL injection attacks, the attacker tunnels through the application entry point to target the resource access layer. The string below is an example of an attacker accessing the accounts.xml to request the service provider send all user names back.\n doc(accounts.xml)//user[Name='*']\n The attacks that are possible through XQuery are difficult to predict, if the data is not validated prior to executing the XQL.\n " ], "x_capec_execution_flow": "

Execution Flow

Explore

  1. Survey the application for user-controllable inputs: Using a browser or an automated tool, an attacker follows all public links and actions on a web site. They record all the links, the forms, the resources accessed and all other potential entry-points for the web application.

  2. Techniques
    Use a spidering tool to follow and record all links and analyze the web pages to find entry points. Make special note of any links that include parameters in the URL.
    Use a proxy tool to record all user input entry points visited during a manual traversal of the web application.
    Use a browser to manually explore the website and analyze how it is constructed. Many browsers' plugins are available to facilitate the analysis or automate the discovery.

Experiment

  1. Determine user-controllable input susceptible to injection: Determine the user-controllable input susceptible to injection. For each user-controllable input that the attacker suspects is vulnerable to XQL injection, attempt to inject characters that have special meaning in XQL. The goal is to create an XQL query with an invalid syntax.

  2. Techniques
    Use web browser to inject input through text fields or through HTTP GET parameters.
    Use a web application debugging tool such as Tamper Data, TamperIE, WebScarab,etc. to modify HTTP POST parameters, hidden fields, non-freeform fields, etc.
    Use XML files to inject input.
    Use network-level packet injection tools such as netcat to inject input
    Use modified client (modified by reverse engineering) to inject input.

Exploit

  1. Information Disclosure: The attacker crafts and injects an XQuery payload which is acted on by an XQL query leading to inappropriate disclosure of information.

  2. Techniques
    Leveraging one of the vulnerable inputs identified during the Experiment phase, inject malicious XQuery payload. The payload aims to get information on the structure of the underlying XML database and/or the content in it.
  3. Manipulate the data in the XML database: The attacker crafts and injects an XQuery payload which is acted on by an XQL query leading to modification of application data.

  4. Techniques
    Leveraging one of the vulnerable inputs identified during the Experiment phase, inject malicious XQuery payload.. The payload tries to insert or replace data in the XML database.
", "x_capec_likelihood_of_attack": "High", "x_capec_prerequisites": [ "The XQL must execute unvalidated data" ], "x_capec_skills_required": { "Low": "Basic understanding of XQuery" }, "x_capec_status": "Draft", "x_capec_typical_severity": "Very High", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "Design: Perform input allowlist validation on all XML input", "id": "course-of-action--3e0b4d8e-2893-4eea-8c84-541d3c43381a", "modified": "2022-09-29T00:00:00.000Z", "name": "coa-84-0", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "course-of-action", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--5034c53d-3c8c-4bfa-991c-3bdf02939873", "modified": "2022-09-29T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--3e0b4d8e-2893-4eea-8c84-541d3c43381a", "spec_version": "2.1", "target_ref": "attack-pattern--65c33cb5-cbae-4a8f-9895-2b7dc6a0f9f5", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "Implementation: Run xml parsing and query infrastructure with minimal privileges so that an attacker is limited in their ability to probe other system resources from XQL.", "id": "course-of-action--79594b88-5cce-45e3-8b14-2f323ef0790c", "modified": "2022-09-29T00:00:00.000Z", "name": "coa-84-1", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "course-of-action", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--2c10ee2c-94e2-4608-adae-9eedeae55591", "modified": "2022-09-29T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--79594b88-5cce-45e3-8b14-2f323ef0790c", "spec_version": "2.1", "target_ref": "attack-pattern--65c33cb5-cbae-4a8f-9895-2b7dc6a0f9f5", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "This attack utilizes the frequent client-server roundtrips in Ajax conversation to scan a system. While Ajax does not open up new vulnerabilities per se, it does optimize them from an attacker point of view. A common first step for an attacker is to footprint the target environment to understand what attacks will work. Since footprinting relies on enumeration, the conversational pattern of rapid, multiple requests and responses that are typical in Ajax applications enable an attacker to look for many vulnerabilities, well-known ports, network locations and so on. The knowledge gained through Ajax fingerprinting can be used to support other attacks, such as XSS.", "external_references": [ { "external_id": "CAPEC-85", "source_name": "capec", "url": "https://capec.mitre.org/data/definitions/85.html" }, { "external_id": "CWE-79", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/79.html" }, { "external_id": "CWE-113", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/113.html" }, { "external_id": "CWE-348", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/348.html" }, { "external_id": "CWE-96", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/96.html" }, { "external_id": "CWE-20", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/20.html" }, { "external_id": "CWE-116", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/116.html" }, { "external_id": "CWE-184", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/184.html" }, { "external_id": "CWE-86", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/86.html" }, { "external_id": "CWE-692", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/692.html" }, { "description": "Shreeraj Shah, Ajax fingerprinting for Web 2.0 Applications, Help Net Security", "external_id": "REF-539", "source_name": "reference_from_CAPEC", "url": "https://www.helpnetsecurity.com/dl/articles/Ajax_fingerprinting.pdf" } ], "id": "attack-pattern--94208f8a-f779-4be5-a97b-d9ab781a3f5e", "modified": "2022-02-22T00:00:00.000Z", "name": "AJAX Footprinting", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "attack-pattern", "x_capec_abstraction": "Detailed", "x_capec_can_precede_refs": [ "attack-pattern--70b83583-ffe3-4e6d-b4a6-61a9b9efc346" ], "x_capec_child_of_refs": [ "attack-pattern--22a65c6a-9498-4e7f-a03a-030ab1c907dc" ], "x_capec_consequences": { "Confidentiality": [ "Read Data" ] }, "x_capec_domains": [ "Software" ], "x_capec_example_instances": [ "Footprinting can be executed over almost any protocol including HTTP, TCP, UDP, and ICMP, with the general goal of gaining further information about a host environment to launch further attacks. The attacker can probe the system for banners, vulnerabilities, filenames, available services, and in short anything the host process has access to. The results of the probe are either used to execute javascript (for example, if the attackers' footprint script identifies a vulnerability in a firewall permission, then the client side script executes a javascript to change client firewall settings, or an attacker may simply echo the results of the scan back out to a remote host for targeting future attacks) or to inform other data gathering activities in order to craft atta." ], "x_capec_execution_flow": "

Execution Flow

Explore

  1. Send request to target webpage and analyze HTML: Using a browser or an automated tool, an adversary sends requests to a webpage and records the received HTML response. Adversaries then analyze the HTML to identify any known underlying JavaScript architectures. This can aid in mappiong publicly known vulnerabilities to the webpage and can also helpo the adversary guess application architecture and the inner workings of a system.

  2. Techniques
    Record all \"src\" values inside script tags. These JavaScript files are compared to lists of files for known architectures. If there is a large match between the \"src\" values and architecture files, then it can be assumed that particular architecture is being used.
", "x_capec_likelihood_of_attack": "High", "x_capec_prerequisites": [ "The user must allow JavaScript to execute in their browser" ], "x_capec_resources_required": [ "None: No specialized resources are required to execute this type of attack." ], "x_capec_skills_required": { "Medium": "To land and launch a script on victim's machine with appropriate footprinting logic for enumerating services and vulnerabilities in JavaScript" }, "x_capec_status": "Draft", "x_capec_typical_severity": "Low", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--3d1586e2-3d5c-4ee5-9af8-6c3990a12afe", "modified": "2022-02-22T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--094a4c09-e49c-422b-b8ec-b51c19dba18c", "spec_version": "2.1", "target_ref": "attack-pattern--94208f8a-f779-4be5-a97b-d9ab781a3f5e", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--01f7ae1b-aa22-4c92-8b71-0f105dcbec8a", "modified": "2022-02-22T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--8a996efc-52e0-4aaf-953a-21c3fe64c64b", "spec_version": "2.1", "target_ref": "attack-pattern--94208f8a-f779-4be5-a97b-d9ab781a3f5e", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "An adversary exploits web applications that generate web content, such as links in a HTML page, based on unvalidated or improperly validated data submitted by other actors. XSS in HTTP Headers attacks target the HTTP headers which are hidden from most users and may not be validated by web applications.", "external_references": [ { "external_id": "CAPEC-86", "source_name": "capec", "url": "https://capec.mitre.org/data/definitions/86.html" }, { "external_id": "CWE-80", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/80.html" }, { "description": "G. Hoglund, G. McGraw, Exploiting Software: How to Break Code, 2004--02, Addison-Wesley", "external_id": "REF-1", "source_name": "reference_from_CAPEC" }, { "description": "OWASP Cheatsheets, The Open Web Application Security Project (OWASP)", "external_id": "REF-69", "source_name": "reference_from_CAPEC", "url": "https://www.owasp.org/www-community/xss-filter-evasion-cheatsheet" }, { "description": "Watchfire Research, XSS vulnerabilities in Google.com, Full Disclosure mailing list archives", "external_id": "REF-476", "source_name": "reference_from_CAPEC", "url": "http://seclists.org/fulldisclosure/2005/Dec/1107" } ], "id": "attack-pattern--39322012-07ba-4bfc-bac7-10891614ee3e", "modified": "2022-09-29T00:00:00.000Z", "name": "XSS Through HTTP Headers", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "attack-pattern", "x_capec_abstraction": "Detailed", "x_capec_child_of_refs": [ "attack-pattern--61b17787-fe92-427c-9e6a-6311997d7b2a", "attack-pattern--b1eef783-daae-494c-a418-cd9ada7cbe8b", "attack-pattern--800f8095-99b6-4bb9-8bc6-8b9727201a2f" ], "x_capec_consequences": { "Access_Control": [ "Gain Privileges" ], "Authorization": [ "Gain Privileges" ], "Availability": [ "Execute Unauthorized Commands (Run Arbitrary Code)" ], "Confidentiality": [ "Execute Unauthorized Commands (Run Arbitrary Code)", "Read Data", "Gain Privileges" ], "Integrity": [ "Execute Unauthorized Commands (Run Arbitrary Code)" ] }, "x_capec_domains": [ "Software", "Software", "Software" ], "x_capec_example_instances": [ "\n Utilize a remote style sheet set in the HTTP header for XSS attack. When the adversary is able to point to a remote stylesheet, any of the variables set in that stylesheet are controllable on the client side by the remote adversary. Like most XSS attacks, results vary depending on browser that is used [REF-97].\n ; REL=stylesheet\">\n ", "\n Google's 404 redirection script was found vulnerable to this attack vector.\n Google's 404 file not found page read\n * Response headers: \"Content-Type: text/html; charset=[encoding]\".\n * Response body: \n If the response sends an unexpected encoding type such as UTF-7, then no enforcement is done on the payload and arbitrary XSS code will be transported along with the standard HTTP response. [REF-476]\n ", "XSS can be used in variety of ways, because it is scripted and executes in a distributed, asynchronous fashion it can create its own vector and openings. For example, the adversary can use XSS to mount a DDoS attack by having series of different computers unknowingly executing requests against a single host." ], "x_capec_execution_flow": "

Execution Flow

Explore

  1. Survey the application for public links: Using a browser or an automated tool, an adversary follows all public links on a web site. They record all the entry points (input) that becomes part of generated HTTP header (not only GET/POST/COOKIE, but also Content-Type, etc.)

  2. Techniques
    Use a spidering tool to follow and record all links and analyze the web pages to find entry points. Make special note of any links that include parameters used in the HTTP headers.
    Look for HTML meta tags that could be injectable
    Use a proxy tool to record all links visited during a manual traversal of the web application.
    Use a browser to manually explore the website and analyze how it is constructed. Many browsers' plugins are available to facilitate the analysis or automate the discovery.

Experiment

  1. [Probe identified potential entry points for XSS vulnerability]The adversary uses the entry points gathered in the \"Explore\" phase as a target list and injects various common script payloads to determine if an entry point actually represents a vulnerability and to characterize the extent to which the vulnerability can be exploited. They record all the responses from the server that include unmodified versions of their script.\n The adversary tries also to inject extra-parameter to the HTTP request to see if they are reflected back in the web page or in the HTTP response.\n

  2. Techniques
    Manually inject various script payloads into each identified entry point using a list of common script injection probes and observe system behavior to determine if script was executed.
    Use an automated injection attack tool to inject various script payloads into each identified entry point using a list of common script injection probes and observe system behavior to determine if script was executed.
    Use a proxy tool to record results of manual input of XSS probes in known URLs.
  3. Craft malicious XSS URL: Once the adversary has determined which parameters are vulnerable to XSS, they will craft a malicious URL containing the XSS exploit. The adversary can have many goals, from stealing session IDs, cookies, credentials, and page content from the victim.

  4. Techniques
    Change a URL parameter which is used in an HTTP header to include a malicious script tag. Because it is in the header it may bypass validation.
    Send information gathered from the malicious script to a remote endpoint.

Exploit

  1. Get victim to click URL: In order for the attack to be successful, the victim needs to access the malicious URL.

  2. Techniques
    Send a phishing email to the victim containing the malicious URL. This can be hidden in a hyperlink as to not show the full URL, which might draw suspicion.
    Put the malicious URL on a public forum, where many victims might accidentally click the link.
", "x_capec_likelihood_of_attack": "High", "x_capec_prerequisites": [ "Target software must be a client that allows scripting communication from remote hosts." ], "x_capec_resources_required": [ "The adversary must have the ability to deploy a custom hostile service for access by targeted clients and the abbility to communicate synchronously or asynchronously with client machine. The adversary must also control a remote site of some sort to redirect client and data to." ], "x_capec_skills_required": { "High": "Exploiting a client side vulnerability to inject malicious scripts into the browser's executable process.", "Low": "To achieve a redirection and use of less trusted source, an adversary can simply edit HTTP Headers that are sent to client machine." }, "x_capec_status": "Draft", "x_capec_typical_severity": "Very High", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--117080d2-a3f1-4d19-8903-672ec63ff81f", "modified": "2022-09-29T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--094a4c09-e49c-422b-b8ec-b51c19dba18c", "spec_version": "2.1", "target_ref": "attack-pattern--39322012-07ba-4bfc-bac7-10891614ee3e", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--df64b21f-91ca-4495-9718-794582fa0ab8", "modified": "2022-09-29T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--040cd51a-446a-4612-a9d0-4a90119d5191", "spec_version": "2.1", "target_ref": "attack-pattern--39322012-07ba-4bfc-bac7-10891614ee3e", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--43bfa851-97cf-48ba-8050-69a14ce4b820", "modified": "2022-09-29T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--97eb8eeb-5e17-4a04-803b-c4de40723fc9", "spec_version": "2.1", "target_ref": "attack-pattern--39322012-07ba-4bfc-bac7-10891614ee3e", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--6e5a1a01-0c47-4cc1-9ce2-6156b3d231b7", "modified": "2022-09-29T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--e9836d98-9116-4902-ba62-2c4fcc7e03c3", "spec_version": "2.1", "target_ref": "attack-pattern--39322012-07ba-4bfc-bac7-10891614ee3e", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--0b609b9c-0b10-497b-b953-c1d279689017", "modified": "2022-09-29T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--8a996efc-52e0-4aaf-953a-21c3fe64c64b", "spec_version": "2.1", "target_ref": "attack-pattern--39322012-07ba-4bfc-bac7-10891614ee3e", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--d72764d4-b17e-42fe-81ba-463f07deb30f", "modified": "2022-09-29T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--4f20a4a7-cb6a-477b-a12a-13c5e9d03353", "spec_version": "2.1", "target_ref": "attack-pattern--39322012-07ba-4bfc-bac7-10891614ee3e", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--4e7dfa2a-7e3f-483c-bd32-1110f0cbfb03", "modified": "2022-09-29T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--f31f11cb-6403-4667-bf43-d77242ac7ae2", "spec_version": "2.1", "target_ref": "attack-pattern--39322012-07ba-4bfc-bac7-10891614ee3e", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--c80de0f3-14b1-4da8-ab8f-01d6e8887f58", "modified": "2022-09-29T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--86dea14b-a9d1-461f-a1e0-ff289490c27e", "spec_version": "2.1", "target_ref": "attack-pattern--39322012-07ba-4bfc-bac7-10891614ee3e", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--77b4da2d-507c-490d-8270-6c9c321c6752", "modified": "2022-09-29T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--fd1a110f-6520-479b-9f42-9c88acdbf90e", "spec_version": "2.1", "target_ref": "attack-pattern--39322012-07ba-4bfc-bac7-10891614ee3e", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "An attacker employs forceful browsing (direct URL entry) to access portions of a website that are otherwise unreachable. Usually, a front controller or similar design pattern is employed to protect access to portions of a web application. Forceful browsing enables an attacker to access information, perform privileged operations and otherwise reach sections of the web application that have been improperly protected.", "external_references": [ { "external_id": "CAPEC-87", "source_name": "capec", "url": "https://capec.mitre.org/data/definitions/87.html" }, { "external_id": "CWE-425", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/425.html" }, { "external_id": "CWE-285", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/285.html" }, { "external_id": "CWE-693", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/693.html" }, { "description": "Predictable Resource Location", "external_id": "34", "source_name": "WASC", "url": "http://projects.webappsec.org/Predictable-Resource-Location" }, { "description": "Forced browsing", "source_name": "OWASP Attacks", "url": "https://owasp.org/www-community/attacks/Forced_browsing" } ], "id": "attack-pattern--00268a75-3243-477d-9166-8c78fddf6df6", "modified": "2020-12-17T00:00:00.000Z", "name": "Forceful Browsing", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "attack-pattern", "x_capec_abstraction": "Standard", "x_capec_child_of_refs": [ "attack-pattern--8f665166-dfd1-40cb-91e8-b78bee1ceb6a" ], "x_capec_consequences": { "Access_Control": [ "Bypass Protection Mechanism" ], "Authorization": [ "Bypass Protection Mechanism" ], "Confidentiality": [ "Read Data", "Bypass Protection Mechanism" ] }, "x_capec_domains": [ "Software" ], "x_capec_example_instances": [ "\n A bulletin board application provides an administrative interface at admin.aspx when the user logging in belongs to the administrators group.\n An attacker can access the admin.aspx interface by making a direct request to the page. Not having access to the interface appropriately protected allows the attacker to perform administrative functions without having to authenticate themself in that role.\n " ], "x_capec_execution_flow": "

Execution Flow

Explore

  1. Spider: Using an automated tool, an attacker follows all public links on a web site. They record all the links they find.

  2. Techniques
    Use a spidering tool to follow and record all links.
    Use a proxy tool to record all links visited during a manual traversal of the web application.

Experiment

  1. Attempt well-known or guessable resource locations: Using an automated tool, an attacker requests a variety of well-known URLs that correspond to administrative, debugging, or other useful internal actions. They record all the positive responses from the server.

  2. Techniques
    Use a spidering tool to follow and record attempts on well-known URLs.
    Use a proxy tool to record all links visited during a manual traversal of attempts on well-known URLs.

Exploit

  1. Use unauthorized resources: By visiting the unprotected resource, the attacker makes use of unauthorized functionality.

  2. Techniques
    Access unprotected functions and execute them.
  3. View unauthorized data: The attacker discovers and views unprotected sensitive data.

  4. Techniques
    Direct request of protected pages that directly access database back-ends. (e.g., list.jsp, accounts.jsp, status.jsp, etc.)
", "x_capec_likelihood_of_attack": "High", "x_capec_prerequisites": [ "The forcibly browseable pages or accessible resources must be discoverable and improperly protected." ], "x_capec_resources_required": [ "None: No specialized resources are required to execute this type of attack. A directory listing is helpful, but not a requirement." ], "x_capec_skills_required": { "Low": "Forcibly browseable pages can be discovered by using a number of automated tools. Doing the same manually is tedious but by no means difficult." }, "x_capec_status": "Draft", "x_capec_typical_severity": "High", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "Authenticate request to every resource. In addition, every page or resource must ensure that the request it is handling has been made in an authorized context.", "id": "course-of-action--8b71c095-ad74-4c7c-9670-929e14eb0110", "modified": "2020-12-17T00:00:00.000Z", "name": "coa-87-0", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "course-of-action", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--c3b65115-d4f0-4a7d-a9d8-7c012f7e3787", "modified": "2020-12-17T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--8b71c095-ad74-4c7c-9670-929e14eb0110", "spec_version": "2.1", "target_ref": "attack-pattern--00268a75-3243-477d-9166-8c78fddf6df6", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "Forceful browsing can also be made difficult to a large extent by not hard-coding names of application pages or resources. This way, the attacker cannot figure out, from the application alone, the resources available from the present context.", "id": "course-of-action--94eb039d-4dcb-40b2-bf6f-e98fe456747c", "modified": "2020-12-17T00:00:00.000Z", "name": "coa-87-1", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "course-of-action", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--6172678d-c4c1-4700-9518-deec24ab23cc", "modified": "2020-12-17T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--94eb039d-4dcb-40b2-bf6f-e98fe456747c", "spec_version": "2.1", "target_ref": "attack-pattern--00268a75-3243-477d-9166-8c78fddf6df6", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "In this type of an attack, an adversary injects operating system commands into existing application functions. An application that uses untrusted input to build command strings is vulnerable. An adversary can leverage OS command injection in an application to elevate privileges, execute arbitrary commands and compromise the underlying operating system.", "external_references": [ { "external_id": "CAPEC-88", "source_name": "capec", "url": "https://capec.mitre.org/data/definitions/88.html" }, { "external_id": "CWE-78", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/78.html" }, { "external_id": "CWE-88", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/88.html" }, { "external_id": "CWE-20", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/20.html" }, { "external_id": "CWE-697", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/697.html" }, { "description": "OS Commanding", "external_id": "31", "source_name": "WASC", "url": "http://projects.webappsec.org/OS-Commanding" }, { "description": "Secunia Advisory SA16869: Firefox Command Line URL Shell Command Injection, Secunia Advisories, 2005--09---20, Secunia", "external_id": "REF-543", "source_name": "reference_from_CAPEC", "url": "http://secunia.com/advisories/16869/" } ], "id": "attack-pattern--bfdeb5d3-c9da-44eb-bfd3-d3db719acfb3", "modified": "2021-06-24T00:00:00.000Z", "name": "OS Command Injection", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "attack-pattern", "x_capec_abstraction": "Standard", "x_capec_child_of_refs": [ "attack-pattern--2fb2b2b8-b7de-45a2-aadb-5849d12fda8f" ], "x_capec_consequences": { "Access_Control": [ "Gain Privileges", "Bypass Protection Mechanism" ], "Authorization": [ "Gain Privileges", "Bypass Protection Mechanism" ], "Availability": [ "Execute Unauthorized Commands (Run Arbitrary Code)" ], "Confidentiality": [ "Execute Unauthorized Commands (Run Arbitrary Code)", "Gain Privileges", "Bypass Protection Mechanism", "Read Data" ], "Integrity": [ "Execute Unauthorized Commands (Run Arbitrary Code)" ] }, "x_capec_domains": [ "Software" ], "x_capec_example_instances": [ "\n A transaction processing system relies on code written in a number of languages. To access this functionality, the system passes transaction information on the system command line.\n An attacker can gain access to the system command line and execute malicious commands by injecting these commands in the transaction data. If successful, the attacker can steal information, install backdoors and perform other nefarious activities that can compromise the system and its data.See also: A vulnerability in Mozilla Firefox 1.x browser allows an attacker to execute arbitrary commands on the UNIX/Linux operating system. The vulnerability is caused due to the shell script used to launch Firefox parsing shell commands that are enclosed within back-ticks in the URL provided via the command line. This can be exploited to execute arbitrary shell commands by tricking a user into following a malicious link in an external application which uses Firefox as the default browser (e.g. the mail client Evolution on Red Hat Enterprise Linux 4)." ], "x_capec_execution_flow": "

Execution Flow

Explore

  1. Identify inputs for OS commands: The attacker determines user controllable input that gets passed as part of a command to the underlying operating system.

  2. Techniques
    Port mapping. Identify ports that the system is listening on, and attempt to identify inputs and protocol types on those ports.
    TCP/IP Fingerprinting. The attacker uses various software to make connections or partial connections and observe idiosyncratic responses from the operating system. Using those responses, they attempt to guess the actual operating system.
    Induce errors to find informative error messages
  3. Survey the Application: The attacker surveys the target application, possibly as a valid and authenticated user

  4. Techniques
    Spidering web sites for all available links
    Inventory all application inputs

Experiment

  1. Vary inputs, looking for malicious results.: Depending on whether the application being exploited is a remote or local one the attacker crafts the appropriate malicious input, containing OS commands, to be passed to the application

  2. Techniques
    Inject command delimiters using network packet injection tools (netcat, nemesis, etc.)
    Inject command delimiters using web test frameworks (proxies, TamperData, custom programs, etc.)

Exploit

  1. Execute malicious commands: The attacker may steal information, install a back door access mechanism, elevate privileges or compromise the system in some other way.

  2. Techniques
    The attacker executes a command that stores sensitive information into a location where they can retrieve it later (perhaps using a different command injection).
", "x_capec_likelihood_of_attack": "High", "x_capec_prerequisites": [ "User controllable input used as part of commands to the underlying operating system." ], "x_capec_skills_required": { "High": "The attacker needs to have knowledge of not only the application to exploit but also the exact nature of commands that pertain to the target operating system. This may involve, though not always, knowledge of specific assembly commands for the platform." }, "x_capec_status": "Draft", "x_capec_typical_severity": "High", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "Use language APIs rather than relying on passing data to the operating system shell or command line. Doing so ensures that the available protection mechanisms in the language are intact and applicable.", "id": "course-of-action--ca12abfd-929e-4a4d-9bc0-c87d1daf98db", "modified": "2021-06-24T00:00:00.000Z", "name": "coa-88-0", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "course-of-action", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--9de3eaad-1ea7-4658-a9af-71b7e6a839d3", "modified": "2021-06-24T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--ca12abfd-929e-4a4d-9bc0-c87d1daf98db", "spec_version": "2.1", "target_ref": "attack-pattern--bfdeb5d3-c9da-44eb-bfd3-d3db719acfb3", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "Filter all incoming data to escape or remove characters or strings that can be potentially misinterpreted as operating system or shell commands", "id": "course-of-action--23d88ce3-abfc-4664-b193-3c5a020033f6", "modified": "2021-06-24T00:00:00.000Z", "name": "coa-88-1", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "course-of-action", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--318ffd75-623d-4e4e-82ef-fe62b9837bef", "modified": "2021-06-24T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--23d88ce3-abfc-4664-b193-3c5a020033f6", "spec_version": "2.1", "target_ref": "attack-pattern--bfdeb5d3-c9da-44eb-bfd3-d3db719acfb3", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "All application processes should be run with the minimal privileges required. Also, processes must shed privileges as soon as they no longer require them.", "id": "course-of-action--9edf924d-3f02-40cd-81ef-fd883a496feb", "modified": "2021-06-24T00:00:00.000Z", "name": "coa-88-2", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "course-of-action", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--22a2ec23-338d-4ecf-ac2b-3692d8dd907d", "modified": "2021-06-24T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--9edf924d-3f02-40cd-81ef-fd883a496feb", "spec_version": "2.1", "target_ref": "attack-pattern--bfdeb5d3-c9da-44eb-bfd3-d3db719acfb3", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "A pharming attack occurs when the victim is fooled into entering sensitive data into supposedly trusted locations, such as an online bank site or a trading platform. An attacker can impersonate these supposedly trusted sites and have the victim be directed to their site rather than the originally intended one. Pharming does not require script injection or clicking on malicious links for the attack to succeed.", "external_references": [ { "external_id": "CAPEC-89", "source_name": "capec", "url": "https://capec.mitre.org/data/definitions/89.html" }, { "external_id": "CWE-346", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/346.html" }, { "external_id": "CWE-350", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/350.html" } ], "id": "attack-pattern--5dec633b-7b10-4bfe-9270-e68b98112285", "modified": "2022-09-29T00:00:00.000Z", "name": "Pharming", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "attack-pattern", "x_capec_abstraction": "Standard", "x_capec_can_follow_refs": [ "attack-pattern--ee604341-eb03-4b00-8188-26d6e999d6dc", "attack-pattern--0d249bf9-13b3-4c13-9423-bcb1ea73c067", "attack-pattern--a69b641a-dff7-4dad-b9b1-e00f80b083a2", "attack-pattern--b6f0fd7e-6068-4557-976c-fd34914b11bf", "attack-pattern--a2cad567-3a04-4ef3-8b62-25924c93b53f", "attack-pattern--c4e18b3f-0445-49e8-9bf1-d47a23082501", "attack-pattern--a00c2cc2-bd4f-4594-9ec1-b021b62ac896" ], "x_capec_child_of_refs": [ "attack-pattern--22802ed6-ddc6-4da7-b6be-60b10d26198b" ], "x_capec_consequences": { "Confidentiality": [ "Read Data" ] }, "x_capec_domains": [ "Social Engineering" ], "x_capec_example_instances": [ "\n An online bank website requires users to provide their customer ID and password to log on, but does not use a secure connection.\n An attacker can setup a similar fake site and leverage pharming to collect this information from unknowing victims.\n " ], "x_capec_execution_flow": "

Execution Flow

Exploit

  1. Attacker sets up a system mocking the one trusted by the users. This is usually a website that requires or handles sensitive information.

  2. The attacker then poisons the resolver for the targeted site. This is achieved by poisoning the DNS server, or the local hosts file, that directs the user to the original website

  3. When the victim requests the URL for the site, the poisoned records direct the victim to the attackers' system rather than the original one.

  4. Because of the identical nature of the original site and the attacker controlled one, and the fact that the URL is still the original one, the victim trusts the website reached and the attacker can now \"farm\" sensitive information such as credentials or account numbers.

", "x_capec_likelihood_of_attack": "High", "x_capec_prerequisites": [ "Vulnerable DNS software or improperly protected hosts file or router that can be poisoned", "A website that handles sensitive information but does not use a secure connection and a certificate that is valid is also prone to pharming" ], "x_capec_resources_required": [ "None: No specialized resources are required to execute this type of attack. Having knowledge of the way the target site has been structured, in order to create a fake version, is required. Poisoning the resolver requires knowledge of a vulnerability that can be exploited." ], "x_capec_skills_required": { "Medium": "The attacker needs to be able to poison the resolver - DNS entries or local hosts file or router entry pointing to a trusted DNS server - in order to successfully carry out a pharming attack. Setting up a fake website, identical to the targeted one, does not require special skills." }, "x_capec_status": "Draft", "x_capec_typical_severity": "Very High", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "All sensitive information must be handled over a secure connection.", "id": "course-of-action--7c0264a9-3fa6-4dd3-bf66-e37487316673", "modified": "2022-09-29T00:00:00.000Z", "name": "coa-89-0", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "course-of-action", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--0a29576b-049b-4956-8b53-ce4e9053139a", "modified": "2022-09-29T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--7c0264a9-3fa6-4dd3-bf66-e37487316673", "spec_version": "2.1", "target_ref": "attack-pattern--5dec633b-7b10-4bfe-9270-e68b98112285", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "Known vulnerabilities in DNS or router software or in operating systems must be patched as soon as a fix has been released and tested.", "id": "course-of-action--ca76ad8b-bd0c-4eec-a930-535476f450af", "modified": "2022-09-29T00:00:00.000Z", "name": "coa-89-1", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "course-of-action", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--7002b548-99da-4471-becf-a12babe27aaa", "modified": "2022-09-29T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--ca76ad8b-bd0c-4eec-a930-535476f450af", "spec_version": "2.1", "target_ref": "attack-pattern--5dec633b-7b10-4bfe-9270-e68b98112285", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "End users must ensure that they provide sensitive information only to websites that they trust, over a secure connection with a valid certificate issued by a well-known certificate authority.", "id": "course-of-action--26275ac3-7197-403e-90e8-58d6459057cb", "modified": "2022-09-29T00:00:00.000Z", "name": "coa-89-2", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "course-of-action", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--847a5a83-ab42-40dc-b158-f71498aa91cd", "modified": "2022-09-29T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--26275ac3-7197-403e-90e8-58d6459057cb", "spec_version": "2.1", "target_ref": "attack-pattern--5dec633b-7b10-4bfe-9270-e68b98112285", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "This attack targets command-line utilities available in a number of shells. An adversary can leverage a vulnerability found in a command-line utility to escalate privilege to root.", "external_references": [ { "external_id": "CAPEC-9", "source_name": "capec", "url": "https://capec.mitre.org/data/definitions/9.html" }, { "external_id": "CWE-120", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/120.html" }, { "external_id": "CWE-118", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/118.html" }, { "external_id": "CWE-119", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/119.html" }, { "external_id": "CWE-74", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/74.html" }, { "external_id": "CWE-20", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/20.html" }, { "external_id": "CWE-680", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/680.html" }, { "external_id": "CWE-733", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/733.html" }, { "external_id": "CWE-697", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/697.html" }, { "description": "G. Hoglund, G. McGraw, Exploiting Software: How to Break Code, 2004--02, Addison-Wesley", "external_id": "REF-1", "source_name": "reference_from_CAPEC" } ], "id": "attack-pattern--b6a2983b-1d97-4698-b210-961ed0523f33", "modified": "2022-09-29T00:00:00.000Z", "name": "Buffer Overflow in Local Command-Line Utilities", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "attack-pattern", "x_capec_abstraction": "Detailed", "x_capec_can_follow_refs": [ "attack-pattern--ca989a50-b24e-4917-a234-ce4788fa21c7" ], "x_capec_child_of_refs": [ "attack-pattern--77e51461-7843-411c-a90e-852498957f76" ], "x_capec_consequences": { "Access_Control": [ "Gain Privileges" ], "Authorization": [ "Gain Privileges" ], "Availability": [ "Execute Unauthorized Commands (Run Arbitrary Code)", "Unreliable Execution" ], "Confidentiality": [ "Gain Privileges", "Execute Unauthorized Commands (Run Arbitrary Code)", "Read Data" ], "Integrity": [ "Execute Unauthorized Commands (Run Arbitrary Code)", "Modify Data" ] }, "x_capec_domains": [ "Software" ], "x_capec_example_instances": [ "\n \n Attack Example: HPUX passwd\n A buffer overflow in the HPUX passwd command allows local users to gain root privileges via a command-line option.\n \n \n Attack Example: Solaris getopt\n A buffer overflow in Solaris's getopt command (found in libc) allows local users to gain root privileges via a long argv[0].\n \n " ], "x_capec_execution_flow": "

Execution Flow

Explore

  1. Identify target system: The adversary first finds a target system that they want to gain elevated priveleges on. This could be a system they already have some level of access to or a system that they will gain unauthorized access at a lower privelege using some other means.

  2. Find injection vector: The adversary identifies command line utilities exposed by the target host that contain buffer overflow vulnerabilites. The adversary likely knows which utilities have these vulnerabilities and what the effected versions are, so they will also obtain version numbers for these utilities.

Experiment

  1. Craft overflow command: Once the adversary has found a vulnerable utility, they will use their knownledge of the vulnerabilty to create the command that will exploit the buffer overflow.

Exploit

  1. Overflow the buffer: Using the injection vector, the adversary executes the crafted command, gaining elevated priveleges on the machine.

", "x_capec_likelihood_of_attack": "High", "x_capec_prerequisites": [ "The target host exposes a command-line utility to the user.", "The command-line utility exposed by the target host has a buffer overflow vulnerability that can be exploited." ], "x_capec_skills_required": { "High": "Exploiting a buffer overflow to inject malicious code into the stack of a software system or even the heap can require a higher skill level.", "Low": "An adversary can simply overflow a buffer by inserting a long string into an adversary-modifiable injection vector. The result can be a DoS." }, "x_capec_status": "Draft", "x_capec_typical_severity": "High", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "Carefully review the service's implementation before making it available to user. For instance you can use manual or automated code review to uncover vulnerabilities such as buffer overflow.", "id": "course-of-action--eb3c859f-41ee-430e-8803-f17c655faf17", "modified": "2022-09-29T00:00:00.000Z", "name": "coa-9-0", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "course-of-action", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--13bbe611-6800-4010-ae1b-33b6e818ee74", "modified": "2022-09-29T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--eb3c859f-41ee-430e-8803-f17c655faf17", "spec_version": "2.1", "target_ref": "attack-pattern--b6a2983b-1d97-4698-b210-961ed0523f33", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--0353216d-6356-4c9b-b2ab-5bbc23ae082a", "modified": "2022-09-29T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--a253c485-f225-4dd3-b0ba-dbe4b29fa134", "spec_version": "2.1", "target_ref": "attack-pattern--b6a2983b-1d97-4698-b210-961ed0523f33", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--206efa47-ea89-4b09-8d45-dc1df1ea72bc", "modified": "2022-09-29T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--286c9aaa-2118-48dc-bce6-6e3f41adc043", "spec_version": "2.1", "target_ref": "attack-pattern--b6a2983b-1d97-4698-b210-961ed0523f33", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--b8ab5adf-0b4b-45fd-b053-fad9c99c3106", "modified": "2022-09-29T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--115171ef-9f32-43b6-bb8a-49f0a78286e9", "spec_version": "2.1", "target_ref": "attack-pattern--b6a2983b-1d97-4698-b210-961ed0523f33", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--bb0be5c1-63ea-4146-aec0-793d0f1c8c28", "modified": "2022-09-29T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--d9bfea83-be0c-47f2-99c5-56b5812d013b", "spec_version": "2.1", "target_ref": "attack-pattern--b6a2983b-1d97-4698-b210-961ed0523f33", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "Apply the latest patches to your user exposed services. This may not be a complete solution, especially against a zero day attack.", "id": "course-of-action--b576d060-1be3-4588-bdd8-a2b1a4f167ef", "modified": "2022-09-29T00:00:00.000Z", "name": "coa-9-5", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "course-of-action", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--2dd4206b-b25d-4696-8b9c-de2639f1bb97", "modified": "2022-09-29T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--b576d060-1be3-4588-bdd8-a2b1a4f167ef", "spec_version": "2.1", "target_ref": "attack-pattern--b6a2983b-1d97-4698-b210-961ed0523f33", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "Do not unnecessarily expose services.", "id": "course-of-action--a89aebb1-811d-46e0-b3da-a76bf0ebceda", "modified": "2022-09-29T00:00:00.000Z", "name": "coa-9-6", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "course-of-action", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--811c10ed-2d65-4f4d-87e7-31665c01f9bb", "modified": "2022-09-29T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--a89aebb1-811d-46e0-b3da-a76bf0ebceda", "spec_version": "2.1", "target_ref": "attack-pattern--b6a2983b-1d97-4698-b210-961ed0523f33", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "An adversary can abuse an authentication protocol susceptible to reflection attack in order to defeat it. Doing so allows the adversary illegitimate access to the target system, without possessing the requisite credentials. Reflection attacks are of great concern to authentication protocols that rely on a challenge-handshake or similar mechanism. An adversary can impersonate a legitimate user and can gain illegitimate access to the system by successfully mounting a reflection attack during authentication.", "external_references": [ { "external_id": "CAPEC-90", "source_name": "capec", "url": "https://capec.mitre.org/data/definitions/90.html" }, { "external_id": "CWE-301", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/301.html" }, { "external_id": "CWE-303", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/303.html" } ], "id": "attack-pattern--229804f0-b017-4a26-937b-159da866bf9a", "modified": "2021-10-21T00:00:00.000Z", "name": "Reflection Attack in Authentication Protocol", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "attack-pattern", "x_capec_abstraction": "Standard", "x_capec_child_of_refs": [ "attack-pattern--2166d3c5-baec-4f42-8284-c1b5b649ad34", "attack-pattern--2e2ed1f8-f736-4fc9-83bc-308595fc6e03" ], "x_capec_consequences": { "Access_Control": [ "Gain Privileges", "Bypass Protection Mechanism" ], "Authorization": [ "Gain Privileges", "Bypass Protection Mechanism" ], "Confidentiality": [ "Gain Privileges", "Bypass Protection Mechanism", "Read Data" ] }, "x_capec_domains": [ "Communications" ], "x_capec_example_instances": [ "\n A single sign-on solution for a network uses a fixed pre-shared key with its clients to initiate the sign-on process in order to avoid eavesdropping on the initial exchanges.\n An attacker can use a reflection attack to mimic a trusted client on the network to participate in the sign-on exchange.\n " ], "x_capec_execution_flow": "

Execution Flow

Explore

  1. Identify service with vulnerable handshake authentication: The adversary must first identify a vulnerable authentication protocol. The most common indication of an authentication protocol vulnerable to reflection attack is when the client initiates the handshake, rather than the server. This allows the client to get the server to encrypt targeted data using the server's pre-shared key.

Experiment

  1. Send challenge to target server: The adversary opens a connection to the target server and sends it a challenge. This challenge is arbitrary and is simply used as a placeholder for the protocol in order to get the server to respond.

  2. Receive server challenge: The server responds by returning the challenge sent encrypted with the server's pre-shared key, as well as its own challenge to the attacker sent in plaintext. We will call this challenge sent by the server \"C\". C is very important and is stored off by the adversary for the next step.

  3. Initiate second handshake: Since the adversary does not possess the pre-shared key, they cannot encrypt C from the previous step in order for the server to authenticate them. To get around this, the adversary initiates a second connection to the server while still keeping the first connection alive. In the second connection, the adversary sends C as the initial client challenge, which rather than being arbitary like the first connection, is very intentional.

  4. Receive encrypted challenge: The server treats the intial client challenge in connection two as an arbitrary client challenge and responds by encrypting C with the pre-shared key. The server also sends a new challenge. The adversary ignores the server challenge and stores the encrypted version of C. The second connection is either terminated or left to expire by the adversary as it is no longer needed.

Exploit

  1. The adversary now posseses the encrypted version of C that is obtained through connection two. The adversary continues the handshake in connection one by responding to the server with the encrypted version of C, verifying that they have access to the pre-shared key (when they actually do not). Because the server uses the same pre-shared key for all authentication it will decrypt C and authenticate the adversary for the first connection, giving the adversary illegitimate access to the target system.

", "x_capec_likelihood_of_attack": "High", "x_capec_prerequisites": [ "The attacker must have direct access to the target server in order to successfully mount a reflection attack. An intermediate entity, such as a router or proxy, that handles these exchanges on behalf of the attacker inhibits the attackers' ability to attack the authentication protocol." ], "x_capec_resources_required": [ "All that the attacker requires is a means to observe and understand the protocol exchanges in order to reflect the challenges appropriately." ], "x_capec_skills_required": { "Medium": "The attacker needs to have knowledge of observing the protocol exchange and managing the required connections in order to issue and respond to challenges" }, "x_capec_status": "Draft", "x_capec_typical_severity": "High", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "The server must initiate the handshake by issuing the challenge. This ensures that the client has to respond before the exchange can move any further", "id": "course-of-action--cf90a75d-b958-4546-b730-3f37189d661d", "modified": "2021-10-21T00:00:00.000Z", "name": "coa-90-0", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "course-of-action", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--4612e9dd-418b-4c42-9d4f-2534fdc5e72c", "modified": "2021-10-21T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--cf90a75d-b958-4546-b730-3f37189d661d", "spec_version": "2.1", "target_ref": "attack-pattern--229804f0-b017-4a26-937b-159da866bf9a", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "The use of HMAC to hash the response from the server can also be used to thwart reflection. The server responds by returning its own challenge as well as hashing the client's challenge, its own challenge and the pre-shared secret. Requiring the client to respond with the HMAC of the two challenges ensures that only the possessor of a valid pre-shared secret can successfully hash in the two values.", "id": "course-of-action--0c139321-7054-4d7b-92ff-f021b5ce6fc0", "modified": "2021-10-21T00:00:00.000Z", "name": "coa-90-1", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "course-of-action", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--f7753fcf-92fd-495a-8a64-8a0cb4a47728", "modified": "2021-10-21T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--0c139321-7054-4d7b-92ff-f021b5ce6fc0", "spec_version": "2.1", "target_ref": "attack-pattern--229804f0-b017-4a26-937b-159da866bf9a", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "Introducing a random nonce with each new connection ensures that the attacker cannot employ two connections to attack the authentication protocol", "id": "course-of-action--c7b237fe-4455-4bab-afe5-6c3559b98344", "modified": "2021-10-21T00:00:00.000Z", "name": "coa-90-2", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "course-of-action", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--c6663135-b6d0-4fb2-adb1-200f7f1e01a7", "modified": "2021-10-21T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--c7b237fe-4455-4bab-afe5-6c3559b98344", "spec_version": "2.1", "target_ref": "attack-pattern--229804f0-b017-4a26-937b-159da866bf9a", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "This attack pattern has been deprecated as it is contained in the existing attack pattern \"CAPEC-18 : XSS Targeting Non-Script Elements\". Please refer to this other CAPEC going forward.", "external_references": [ { "external_id": "CAPEC-91", "source_name": "capec", "url": "https://capec.mitre.org/data/definitions/91.html" } ], "id": "attack-pattern--78cd63b9-a303-4e6b-8460-0270b0e2510b", "modified": "2018-07-31T00:00:00.000Z", "name": "DEPRECATED: XSS in IMG Tags", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "attack-pattern", "x_capec_abstraction": "Detailed", "x_capec_status": "Deprecated", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "This attack forces an integer variable to go out of range. The integer variable is often used as an offset such as size of memory allocation or similarly. The attacker would typically control the value of such variable and try to get it out of range. For instance the integer in question is incremented past the maximum possible value, it may wrap to become a very small, or negative number, therefore providing a very incorrect value which can lead to unexpected behavior. At worst the attacker can execute arbitrary code.", "external_references": [ { "external_id": "CAPEC-92", "source_name": "capec", "url": "https://capec.mitre.org/data/definitions/92.html" }, { "external_id": "CWE-190", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/190.html" }, { "external_id": "CWE-128", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/128.html" }, { "external_id": "CWE-120", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/120.html" }, { "external_id": "CWE-122", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/122.html" }, { "external_id": "CWE-196", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/196.html" }, { "external_id": "CWE-680", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/680.html" }, { "external_id": "CWE-697", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/697.html" }, { "description": "Integer Overflows", "external_id": "03", "source_name": "WASC", "url": "http://projects.webappsec.org/Integer-Overflows" }, { "description": "J. Viega, G. McGraw, Building Secure Software, 2002, Addison-Wesley", "external_id": "REF-131", "source_name": "reference_from_CAPEC" }, { "description": "Robert C. Seacord, SAMATE - Software Assurance Metrics And Tool Evaluation, 2006--05---22, National Institute of Standards and Technology (NIST)", "external_id": "REF-547", "source_name": "reference_from_CAPEC", "url": "http://samate.nist.gov/SRD/view_testcase.php?tID=1511" }, { "description": "Robert C. Seacord, Secure Coding in C and C++", "external_id": "REF-548", "source_name": "reference_from_CAPEC" } ], "id": "attack-pattern--369d69a3-fb4a-49ac-8999-9b4ecfbf74c6", "modified": "2022-09-29T00:00:00.000Z", "name": "Forced Integer Overflow", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "attack-pattern", "x_capec_abstraction": "Detailed", "x_capec_child_of_refs": [ "attack-pattern--1f3b920a-a706-494c-9486-69531a514912" ], "x_capec_consequences": { "Access_Control": [ "Gain Privileges" ], "Authorization": [ "Gain Privileges" ], "Availability": [ "Execute Unauthorized Commands (Run Arbitrary Code)", "Unreliable Execution" ], "Confidentiality": [ "Gain Privileges", "Execute Unauthorized Commands (Run Arbitrary Code)", "Read Data" ], "Integrity": [ "Modify Data", "Execute Unauthorized Commands (Run Arbitrary Code)" ] }, "x_capec_domains": [ "Software" ], "x_capec_example_instances": [ "Integer overflow in the ProcAuWriteElement function in server/dia/audispatch.c in Network Audio System (NAS) before 1.8a SVN 237 allows remote attackers to cause a denial of service (crash) and possibly execute arbitrary code via a large max_samples value. See also: CVE-2007-1544", "\n The following code illustrates an integer overflow. The declaration of total integer as \"unsigned short int\" assumes that the length of the first and second arguments fits in such an integer [REF-547], [REF-548].\n include include include \n int main (int argc, char *const *argv){if (argc !=3){printf(\"Usage: prog_name \\n\");exit(-1);\n }unsigned short int total;total = strlen(argv[1])+strlen(argv[2])+1;char * buff = (char *)malloc(total);strcpy(buff, argv[1]);strcpy(buff, argv[2]);\n }\n " ], "x_capec_execution_flow": "

Execution Flow

Explore

  1. The first step is exploratory meaning the attacker looks for an integer variable that they can control.

Experiment

  1. The attacker finds an integer variable that they can write into or manipulate and try to get the value of the integer out of the possible range.

Exploit

  1. The integer variable is forced to have a value out of range which set its final value to an unexpected value.

  2. The target host acts on the data and unexpected behavior may happen.

", "x_capec_likelihood_of_attack": "High", "x_capec_prerequisites": [ "The attacker can manipulate the value of an integer variable utilized by the target host.", "The target host does not do proper range checking on the variable before utilizing it.", "When the integer variable is incremented or decremented to an out of range value, it gets a very different value (e.g. very small or negative number)" ], "x_capec_skills_required": { "High": "Exploiting a buffer overflow by injecting malicious code into the stack of a software system or even the heap can require a higher skill level.", "Low": "An attacker can simply overflow an integer by inserting an out of range value." }, "x_capec_status": "Draft", "x_capec_typical_severity": "High", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--a8ed81c8-ed80-43a6-b0a2-c7ead943f317", "modified": "2022-09-29T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--a253c485-f225-4dd3-b0ba-dbe4b29fa134", "spec_version": "2.1", "target_ref": "attack-pattern--369d69a3-fb4a-49ac-8999-9b4ecfbf74c6", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "Carefully review the service's implementation before making it available to user. For instance you can use manual or automated code review to uncover vulnerabilities such as integer overflow.", "id": "course-of-action--15bb56ee-cdaf-431b-8136-e8cf24a3ca11", "modified": "2022-09-29T00:00:00.000Z", "name": "coa-92-1", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "course-of-action", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--f3d51c21-4f4c-4136-b351-f5c1b935b7cc", "modified": "2022-09-29T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--15bb56ee-cdaf-431b-8136-e8cf24a3ca11", "spec_version": "2.1", "target_ref": "attack-pattern--369d69a3-fb4a-49ac-8999-9b4ecfbf74c6", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--d64dd927-79c3-45ef-948b-e86799536d9d", "modified": "2022-09-29T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--286c9aaa-2118-48dc-bce6-6e3f41adc043", "spec_version": "2.1", "target_ref": "attack-pattern--369d69a3-fb4a-49ac-8999-9b4ecfbf74c6", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "Always do bound checking before consuming user input data.", "id": "course-of-action--875120c6-9f3e-4fed-88f3-1683f497e905", "modified": "2022-09-29T00:00:00.000Z", "name": "coa-92-3", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "course-of-action", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--94ebd003-5a86-4654-a505-d70213867164", "modified": "2022-09-29T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--875120c6-9f3e-4fed-88f3-1683f497e905", "spec_version": "2.1", "target_ref": "attack-pattern--369d69a3-fb4a-49ac-8999-9b4ecfbf74c6", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "This attack targets the log files of the target host. The attacker injects, manipulates or forges malicious log entries in the log file, allowing them to mislead a log audit, cover traces of attack, or perform other malicious actions. The target host is not properly controlling log access. As a result tainted data is resulting in the log files leading to a failure in accountability, non-repudiation and incident forensics capability.", "external_references": [ { "external_id": "CAPEC-93", "source_name": "capec", "url": "https://capec.mitre.org/data/definitions/93.html" }, { "external_id": "CWE-117", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/117.html" }, { "external_id": "CWE-75", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/75.html" }, { "external_id": "CWE-150", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/150.html" }, { "description": "J. Viega, G. McGraw, Building Secure Software, 2002, Addison-Wesley", "external_id": "REF-131", "source_name": "reference_from_CAPEC" }, { "description": "A. Muffet, The night the log was forged", "external_id": "REF-550", "source_name": "reference_from_CAPEC", "url": "http://doc.novsu.ac.ru/oreilly/tcpip/puis/ch10_05.htm" }, { "description": "The OWASP Application Security Desk Reference, 2009, The Open Web Application Security Project (OWASP)", "external_id": "REF-551", "source_name": "reference_from_CAPEC", "url": "https://www.owasp.org/index.php/Log_Injection" }, { "description": "Fortify Software, SAMATE - Software Assurance Metrics And Tool Evaluation, 2006--06---22, National Institute of Standards and Technology (NIST)", "external_id": "REF-552", "source_name": "reference_from_CAPEC", "url": "https://samate.nist.gov/SRD/view_testcase.php?tID=1579" } ], "id": "attack-pattern--1dd1397d-816a-4093-86a6-cf28bb32e486", "modified": "2022-09-29T00:00:00.000Z", "name": "Log Injection-Tampering-Forging", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "attack-pattern", "x_capec_abstraction": "Detailed", "x_capec_can_precede_refs": [ "attack-pattern--800f8095-99b6-4bb9-8bc6-8b9727201a2f" ], "x_capec_child_of_refs": [ "attack-pattern--b3eaa7aa-9601-406c-ae82-0a0e2ea16116" ], "x_capec_consequences": { "Integrity": [ "Modify Data" ] }, "x_capec_domains": [ "Software" ], "x_capec_example_instances": [ "Dave Nielsen and Patrick Breitenbach PayPal Web Services (aka PHP Toolkit) 0.50, and possibly earlier versions, allows remote attackers to enter false payment entries into the log file via HTTP POST requests to ipn_success.php. See also: CVE-2006-0201", "\n If a user submits the string \"twenty-one\" for val, the following entry is logged:\n INFO: Failed to parse val=twenty-one\n However, if an attacker submits the string\n twenty-one%0a%0aINFO:+User+logged+out%3dbadguy\n the following entry is logged:\n INFO: Failed to parse val=twenty-oneINFO: User logged out=badguy\n Clearly, attackers can use this same mechanism to insert arbitrary log entries.\n " ], "x_capec_execution_flow": "

Execution Flow

Explore

  1. Determine Application's Log File Format: The first step is exploratory meaning the attacker observes the system. The attacker looks for action and data that are likely to be logged. The attacker may be familiar with the log format of the system.

  2. Techniques
    Determine logging utility being used by application (e.g. log4j)
    Gain access to application's source code to determine log file formats.
    Install or obtain access to instance of application and observe its log file format.

Exploit

  1. Manipulate Log Files: The attacker alters the log contents either directly through manipulation or forging or indirectly through injection of specially crafted input that the target software will write to the logs. This type of attack typically follows another attack and is used to try to cover the traces of the previous attack.

  2. Techniques
    \n Use carriage return and/or line feed characters to start a new line in the log file, and then, add a fake entry. For example:\n \"%0D%0A[Thu%20Nov%2012%2011:22]:Info:%20User%20admin%20logged%20in\"\n may add the following forged entry into a log file:\n \"[Thu Nov 12 12:11:22]:Info: User admin logged in\"\n Different applications may require different encodings of the carriage return and line feed characters.\n
    \n Insert a script into the log file such that if it is viewed using a web browser, the attacker will get a copy of the operator/administrator's cookie and will be able to gain access as that user. For example, a log file entry could contain\n \n The script itself will be invisible to anybody viewing the logs in a web browser (unless they view the source for the page).\n
", "x_capec_likelihood_of_attack": "High", "x_capec_prerequisites": [ "The target host is logging the action and data of the user.", "The target host insufficiently protects access to the logs or logging mechanisms." ], "x_capec_skills_required": { "Low": "This attack can be as simple as adding extra characters to the logged data (e.g. username). Adding entries is typically easier than removing entries.", "Medium": "A more sophisticated attack can try to defeat the input validation mechanism." }, "x_capec_status": "Draft", "x_capec_typical_severity": "High", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "Carefully control access to physical log files.", "id": "course-of-action--0f8223ee-d815-41b0-8f0f-a9b23de56d8b", "modified": "2022-09-29T00:00:00.000Z", "name": "coa-93-0", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "course-of-action", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--902d0a46-bb02-4c00-9c12-63139df6d6ca", "modified": "2022-09-29T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--0f8223ee-d815-41b0-8f0f-a9b23de56d8b", "spec_version": "2.1", "target_ref": "attack-pattern--1dd1397d-816a-4093-86a6-cf28bb32e486", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "Do not allow tainted data to be written in the log file without prior input validation. An allowlist may be used to properly validate the data.", "id": "course-of-action--89cb136b-4f28-4cf2-a399-ea0e5451cdd1", "modified": "2022-09-29T00:00:00.000Z", "name": "coa-93-1", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "course-of-action", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--87217e96-f97b-4c88-8e77-1ff3c6f211f9", "modified": "2022-09-29T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--89cb136b-4f28-4cf2-a399-ea0e5451cdd1", "spec_version": "2.1", "target_ref": "attack-pattern--1dd1397d-816a-4093-86a6-cf28bb32e486", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--d1004a1b-30e7-4057-b6bd-640ad3d2d21c", "modified": "2022-09-29T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--08e36a84-cc88-49b9-81f6-7dab06d12023", "spec_version": "2.1", "target_ref": "attack-pattern--1dd1397d-816a-4093-86a6-cf28bb32e486", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "Use static analysis tools to identify log forging vulnerabilities.", "id": "course-of-action--4e06b58a-2a51-45d2-84ef-bedcbb654515", "modified": "2022-09-29T00:00:00.000Z", "name": "coa-93-3", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "course-of-action", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--65f16c8f-4535-4431-928b-ab9c8d336a93", "modified": "2022-09-29T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--4e06b58a-2a51-45d2-84ef-bedcbb654515", "spec_version": "2.1", "target_ref": "attack-pattern--1dd1397d-816a-4093-86a6-cf28bb32e486", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "Avoid viewing logs with tools that may interpret control characters in the file, such as command-line shells.", "id": "course-of-action--7e6b79fb-dad6-48d5-8cf7-178e70577c8a", "modified": "2022-09-29T00:00:00.000Z", "name": "coa-93-4", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "course-of-action", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--eb05b9ba-1c0b-4cf6-a5cf-94af69a17b39", "modified": "2022-09-29T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--7e6b79fb-dad6-48d5-8cf7-178e70577c8a", "spec_version": "2.1", "target_ref": "attack-pattern--1dd1397d-816a-4093-86a6-cf28bb32e486", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "\n An adversary targets the communication between two components (typically client and server), in order to alter or obtain data from transactions. A general approach entails the adversary placing themself within the communication channel between the two components.\n ", "external_references": [ { "external_id": "CAPEC-94", "source_name": "capec", "url": "https://capec.mitre.org/data/definitions/94.html" }, { "external_id": "CWE-300", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/300.html" }, { "external_id": "CWE-290", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/290.html" }, { "external_id": "CWE-593", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/593.html" }, { "external_id": "CWE-287", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/287.html" }, { "external_id": "CWE-294", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/294.html" }, { "description": "Adversary-in-the-Middle", "external_id": "T1557", "source_name": "ATTACK", "url": "https://attack.mitre.org/wiki/Technique/T1557" }, { "description": "Man-in-the-middle attack", "source_name": "OWASP Attacks", "url": "https://owasp.org/www-community/attacks/Man-in-the-middle_attack" }, { "description": "M. Bishop, Computer Security: Art and Science, 2003, Addison-Wesley", "external_id": "REF-553", "source_name": "reference_from_CAPEC" }, { "description": "Man-in-the-middle attack, Open Web Application Security Project (OWASP)", "external_id": "REF-633", "source_name": "reference_from_CAPEC", "url": "https://owasp.org/www-community/attacks/Man-in-the-middle_attack" }, { "description": "Kyle Chivers, What is a man-in-the-middle attack?, 2020--03---26, NortonLifeLock Inc.", "external_id": "REF-634", "source_name": "reference_from_CAPEC", "url": "https://us.norton.com/internetsecurity-wifi-what-is-a-man-in-the-middle-attack.html" }, { "description": "Man in the middle (MITM) attack, Imperva", "external_id": "REF-635", "source_name": "reference_from_CAPEC", "url": "https://www.imperva.com/learn/application-security/man-in-the-middle-attack-mitm/" }, { "description": "Jerry Decime, Settling the score: taking down the Equifax mobile application, 2017--09---13", "external_id": "REF-636", "source_name": "reference_from_CAPEC", "url": "https://www.linkedin.com/pulse/settling-score-taking-down-equifax-mobile-application-jerry-decime/" } ], "id": "attack-pattern--38964770-4f39-4191-89cf-73a625162b2b", "modified": "2022-09-29T00:00:00.000Z", "name": "Adversary in the Middle (AiTM)", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "attack-pattern", "x_capec_abstraction": "Meta", "x_capec_alternate_terms": [ "Man-in-the-Middle / MITM", "Person-in-the-Middle / PiTM", "Monkey-in-the-Middle", "Monster-in-the-Middle", "On-path Attacker" ], "x_capec_can_follow_refs": [ "attack-pattern--861cfb48-ba7c-4568-86c9-43ac6985ac65", "attack-pattern--2a8a634e-cf1f-4b2e-9a71-1ab8e6bb16d0", "attack-pattern--c9b31907-c466-4325-af55-c418aea8b964" ], "x_capec_can_precede_refs": [ "attack-pattern--22802ed6-ddc6-4da7-b6be-60b10d26198b", "attack-pattern--8c806dfa-b8ca-45f9-9f97-09e4b5c1157b" ], "x_capec_consequences": { "Access_Control": [ "Gain Privileges" ], "Authorization": [ "Gain Privileges" ], "Confidentiality": [ "Gain Privileges", "Read Data" ], "Integrity": [ "Modify Data" ] }, "x_capec_domains": [ "Communications", "Software" ], "x_capec_example_instances": [ "\n In 2017, security researcher Jerry Decime discovered that Equifax mobile applications were not leveraging HTTPS in all areas. Although authentication was properly utilizing HTTPS, in addition to validating the root of trust of the server certificate, other areas of the application were using HTTP to communicate. Adversaries could then conduct MITM attacks on rogue WiFi or cellular networks and hijack the UX. This further allowed the adversaries to prompt users for sensitive data, which could then be obtained in the plaintext response. [REF-636]\n " ], "x_capec_execution_flow": "

Execution Flow

Explore

  1. Determine Communication Mechanism: The adversary determines the nature and mechanism of communication between two components, looking for opportunities to exploit.

  2. Techniques
    Perform a sniffing attack and observe communication to determine a communication protocol.
    Look for application documentation that might describe a communication mechanism used by a target.

Experiment

  1. Position In Between Targets: The adversary inserts themself into the communication channel initially acting as a routing proxy between the two targeted components.

  2. Techniques
    Install spyware on a client that will intercept outgoing packets and route them to their destination as well as route incoming packets back to the client.
    Exploit a weakness in an encrypted communication mechanism to gain access to traffic. Look for outdated mechanisms such as SSL.

Exploit

  1. Use Intercepted Data Maliciously: The adversary observes, filters, or alters passed data of its choosing to gain access to sensitive information or to manipulate the actions of the two target components for their own purposes.

  2. Techniques
    Prevent some messages from reaching their destination, causing a denial of service.
", "x_capec_extended_description": "\n Whenever one component attempts to communicate with the other (data flow, authentication challenges, etc.), the data first flows through the adversary, who has the opportunity to observe or alter it, before being passed on to the intended recipient as if it was never observed. This interposition is transparent leaving the two compromised components unaware of the potential corruption or leakage of their communications. The potential for these attacks yields an implicit lack of trust in communication or identify between two components.\n These attacks differ from Sniffing Attacks (CAPEC-157) since these attacks often modify the communications prior to delivering it to the intended recipient.\n ", "x_capec_likelihood_of_attack": "High", "x_capec_parent_of_refs": [ "attack-pattern--9b939586-fbef-4343-94f0-0046124e3e7f", "attack-pattern--ea07b1ea-c1b0-4923-8d25-a8fc39da040a", "attack-pattern--9df3addd-7bea-44e5-be63-4cc46d64fbea", "attack-pattern--797a5be6-23ff-41bb-be85-51a9976867dd", "attack-pattern--558870ad-9433-4e39-a0b0-d9b5c4691862", "attack-pattern--3491dd54-d586-4f3d-80c1-9576ee48236b" ], "x_capec_prerequisites": [ "There are two components communicating with each other.", "An attacker is able to identify the nature and mechanism of communication between the two target components.", "An attacker can eavesdrop on the communication between the target components.", "Strong mutual authentication is not used between the two target components yielding opportunity for attacker interposition.", "The communication occurs in clear (not encrypted) or with insufficient and spoofable encryption." ], "x_capec_skills_required": { "Medium": "This attack can get sophisticated since the attack may use cryptography." }, "x_capec_status": "Stable", "x_capec_typical_severity": "Very High", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "Ensure Public Keys are signed by a Certificate Authority", "id": "course-of-action--7e959f1b-27b5-47ae-a7b5-4c2d7706b8f4", "modified": "2022-09-29T00:00:00.000Z", "name": "coa-94-0", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "course-of-action", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--5264115d-5e8a-4dbd-95fe-60d77876319d", "modified": "2022-09-29T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--7e959f1b-27b5-47ae-a7b5-4c2d7706b8f4", "spec_version": "2.1", "target_ref": "attack-pattern--38964770-4f39-4191-89cf-73a625162b2b", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "Encrypt communications using cryptography (e.g., SSL/TLS)", "id": "course-of-action--6b5dd988-67a1-4705-bdfb-a93f761103d0", "modified": "2022-09-29T00:00:00.000Z", "name": "coa-94-1", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "course-of-action", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--6822ab84-ff48-490b-8bff-9eb89ae991ba", "modified": "2022-09-29T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--6b5dd988-67a1-4705-bdfb-a93f761103d0", "spec_version": "2.1", "target_ref": "attack-pattern--38964770-4f39-4191-89cf-73a625162b2b", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "Use Strong mutual authentication to always fully authenticate both ends of any communications channel.", "id": "course-of-action--667b8791-5eee-4dfc-86ae-fb68a7b5b8ca", "modified": "2022-09-29T00:00:00.000Z", "name": "coa-94-2", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "course-of-action", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--3043134e-bd5e-43ae-93a4-4f2f31bda6cb", "modified": "2022-09-29T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--667b8791-5eee-4dfc-86ae-fb68a7b5b8ca", "spec_version": "2.1", "target_ref": "attack-pattern--38964770-4f39-4191-89cf-73a625162b2b", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "Exchange public keys using a secure channel", "id": "course-of-action--45042a19-1cd7-40b5-a3bf-d96506a0cf28", "modified": "2022-09-29T00:00:00.000Z", "name": "coa-94-3", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "course-of-action", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--cbfe5c41-f0ba-4524-aeaa-5d46d305a1a7", "modified": "2022-09-29T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--45042a19-1cd7-40b5-a3bf-d96506a0cf28", "spec_version": "2.1", "target_ref": "attack-pattern--38964770-4f39-4191-89cf-73a625162b2b", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "This attack targets the WSDL interface made available by a web service. The attacker may scan the WSDL interface to reveal sensitive information about invocation patterns, underlying technology implementations and associated vulnerabilities. This type of probing is carried out to perform more serious attacks (e.g. parameter tampering, malicious content injection, command injection, etc.). WSDL files provide detailed information about the services ports and bindings available to consumers. For instance, the attacker can submit special characters or malicious content to the Web service and can cause a denial of service condition or illegal access to database records. In addition, the attacker may try to guess other private methods by using the information provided in the WSDL files.", "external_references": [ { "external_id": "CAPEC-95", "source_name": "capec", "url": "https://capec.mitre.org/data/definitions/95.html" }, { "external_id": "CWE-538", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/538.html" }, { "description": "Walid Negm, Anatomy of a Web Services Attack, 2004--03---01, ForumSystems", "external_id": "REF-554", "source_name": "reference_from_CAPEC", "url": "https://www.forumsys.com/wp-content/uploads/2014/01/Anatomy-of-a-Web-Services-Attack.pdf" }, { "description": "Frank Coyle, Seven Steps to XML Mastery, 2006--08---25", "external_id": "REF-555", "source_name": "reference_from_CAPEC", "url": "http://www.informit.com/articles/article.aspx?p=601349" } ], "id": "attack-pattern--165b75a3-3e50-492c-8f1a-af979dc5af12", "modified": "2021-10-21T00:00:00.000Z", "name": "WSDL Scanning", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "attack-pattern", "x_capec_abstraction": "Detailed", "x_capec_child_of_refs": [ "attack-pattern--49132d37-44e8-458c-a06e-0e5b9ac9bbd6" ], "x_capec_consequences": { "Confidentiality": [ "Read Data" ] }, "x_capec_domains": [ "Software" ], "x_capec_example_instances": [ "A WSDL interface may expose a function vulnerable to SQL Injection.", "\n The Web Services Description Language (WSDL) allows a web service to advertise its capabilities by describing operations and parameters needed to access the service. As discussed in step 5 of this series, WSDL is often generated automatically, using utilities such as Java2WSDL, which takes a class or interface and builds a WSDL file in which interface methods are exposed as web services.\n Because WSDL generation often is automated, enterprising adversaries can use WSDL to gain insight into the both public and private services. For example, an organization converting legacy application functionality to a web services framework may inadvertently pass interfaces not intended for public consumption to a WSDL generation tool. The result will be SOAP interfaces that give access to private methods.\n Another, more subtle WSDL attack occurs when an enterprising attacker uses naming conventions to guess the names of unpublished methods that may be available on the server. For example, a service that offers a stock quote and trading service may publish query methods such as requestStockQuote in its WSDL. However, similar unpublished methods may be available on the server but not listed in the WSDL, such as executeStockQuote. A persistent adversary with time and a library of words and phrases can cycle thru common naming conventions (get, set, update, modify, and so on) to discover unpublished application programming interfaces that open doors into private data and functionality.\n Source : \"Seven Steps to XML Mastery, Step 7: Ensure XML Security\", Frank Coyle. See reference section.\n " ], "x_capec_execution_flow": "

Execution Flow

Explore

  1. Scan for WSDL Documents: The adversary scans for WSDL documents. The WDSL document written in XML is like a handbook on how to communicate with the web services provided by the target host. It provides an open view of the application (function details, purpose, functional break down, entry points, message types, etc.). This is very useful information for the adversary.

Experiment

  1. Analyze WSDL files: An adversary will analyze the WSDL files and try to find potential weaknesses by sending messages matching the pattern described in the WSDL file. The adversary could run through all of the operations with different message request patterns until a breach is identified.

Exploit

  1. Craft malicious content: Once an adversary finds a potential weakness, they can craft malicious content to be sent to the system. For instance the adversary may try to submit special characters and observe how the system reacts to an invalid request. The message sent by the adversary may not be XML validated and cause unexpected behavior.

", "x_capec_likelihood_of_attack": "High", "x_capec_prerequisites": [ "A client program connecting to a web service can read the WSDL to determine what functions are available on the server.", "The target host exposes vulnerable functions within its WSDL interface." ], "x_capec_skills_required": { "Low": "This attack can be as simple as reading WSDL and starting sending invalid request.", "Medium": "This attack can be used to perform more sophisticated attacks (SQL injection, etc.)" }, "x_capec_status": "Draft", "x_capec_typical_severity": "High", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "It is important to protect WSDL file or provide limited access to it.", "id": "course-of-action--2cfb5b02-2dbe-4bbb-93b6-d0829c53a835", "modified": "2021-10-21T00:00:00.000Z", "name": "coa-95-0", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "course-of-action", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--eca4d328-57ff-446e-ad42-ccc2cef859ec", "modified": "2021-10-21T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--2cfb5b02-2dbe-4bbb-93b6-d0829c53a835", "spec_version": "2.1", "target_ref": "attack-pattern--165b75a3-3e50-492c-8f1a-af979dc5af12", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "Review the functions exposed by the WSDL interface (especially if you have used a tool to generate it). Make sure that none of them is vulnerable to injection.", "id": "course-of-action--59dfec85-61f1-4800-8246-6586b0f18405", "modified": "2021-10-21T00:00:00.000Z", "name": "coa-95-1", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "course-of-action", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--4c5539c8-19a6-45b2-bcb9-4fb404dc382b", "modified": "2021-10-21T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--59dfec85-61f1-4800-8246-6586b0f18405", "spec_version": "2.1", "target_ref": "attack-pattern--165b75a3-3e50-492c-8f1a-af979dc5af12", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "Ensure the WSDL does not expose functions and APIs that were not intended to be exposed.", "id": "course-of-action--60133447-62bd-43b7-a58c-27e99dacd061", "modified": "2021-10-21T00:00:00.000Z", "name": "coa-95-2", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "course-of-action", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--8b13c359-babb-4e00-bfc7-ea8f84451bfe", "modified": "2021-10-21T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--60133447-62bd-43b7-a58c-27e99dacd061", "spec_version": "2.1", "target_ref": "attack-pattern--165b75a3-3e50-492c-8f1a-af979dc5af12", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "Pay attention to the function naming convention (within the WSDL interface). Easy to guess function name may be an entry point for attack.", "id": "course-of-action--7744ac94-d428-48ef-9b81-ccac789d7e79", "modified": "2021-10-21T00:00:00.000Z", "name": "coa-95-3", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "course-of-action", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--7a99d577-7a8d-4c25-a919-00e88b344543", "modified": "2021-10-21T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--7744ac94-d428-48ef-9b81-ccac789d7e79", "spec_version": "2.1", "target_ref": "attack-pattern--165b75a3-3e50-492c-8f1a-af979dc5af12", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "Validate the received messages against the WSDL Schema. Incomplete solution.", "id": "course-of-action--36790523-1c9a-42c0-97ff-726d74a27ad4", "modified": "2021-10-21T00:00:00.000Z", "name": "coa-95-4", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "course-of-action", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--e8c83203-1d4b-4007-9bfc-d9e5e4cd1040", "modified": "2021-10-21T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--36790523-1c9a-42c0-97ff-726d74a27ad4", "spec_version": "2.1", "target_ref": "attack-pattern--165b75a3-3e50-492c-8f1a-af979dc5af12", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "An application typically makes calls to functions that are a part of libraries external to the application. These libraries may be part of the operating system or they may be third party libraries. It is possible that the application does not handle situations properly where access to these libraries has been blocked. Depending on the error handling within the application, blocked access to libraries may leave the system in an insecure state that could be leveraged by an attacker.", "external_references": [ { "external_id": "CAPEC-96", "source_name": "capec", "url": "https://capec.mitre.org/data/definitions/96.html" }, { "external_id": "CWE-589", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/589.html" } ], "id": "attack-pattern--807e5b36-9da9-4be8-9f6e-5d8c7258cff5", "modified": "2021-06-24T00:00:00.000Z", "name": "Block Access to Libraries", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "attack-pattern", "x_capec_abstraction": "Detailed", "x_capec_child_of_refs": [ "attack-pattern--ec0de204-6b66-4c4f-a401-21afa72f3941" ], "x_capec_consequences": { "Access_Control": [ "Bypass Protection Mechanism" ], "Authorization": [ "Bypass Protection Mechanism" ], "Availability": [ "Alter Execution Logic" ], "Confidentiality": [ "Other", "Bypass Protection Mechanism" ] }, "x_capec_domains": [ "Software" ], "x_capec_example_instances": [ "A web-based system uses a third party cryptographic random number generation library that derives entropy from machine's hardware. This library is used in generation of user session ids used by the application. If the library is inaccessible, the application instead uses a software based weak pseudo random number generation library. An attacker of the system blocks access of the application to the third party cryptographic random number generation library (by renaming it). The application in turn uses the weak pseudo random number generation library to generate session ids that are predictable. An attacker then leverages this weakness to guess a session id of another user to perform a horizontal elevation of privilege escalation and gain access to another user's account." ], "x_capec_execution_flow": "

Execution Flow

Explore

  1. Determine what external libraries the application accesses.

Experiment

  1. Block access to the external libraries accessed by the application.

  2. Monitor the behavior of the system to see if it goes into an insecure/inconsistent state.

  3. If the system does go into an insecure/inconsistent state, leverage that to obtain information about the system functionality or data, elevate access control, etc. The rest of this attack will depend on the context and the desired goal.

", "x_capec_likelihood_of_attack": "Medium", "x_capec_prerequisites": [ "An application requires access to external libraries.", "An attacker has the privileges to block application access to external libraries." ], "x_capec_skills_required": { "Low": "Knowledge of how to block access to libraries, as well as knowledge of how to leverage the resulting state of the application based on the failed call." }, "x_capec_status": "Draft", "x_capec_typical_severity": "Medium", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "Ensure that application handles situations where access to APIs in external libraries is not available securely. If the application cannot continue its execution safely it should fail in a consistent and secure fashion.", "id": "course-of-action--e537380d-e149-4eca-9d47-bb2f507a166b", "modified": "2021-06-24T00:00:00.000Z", "name": "coa-96-0", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "course-of-action", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--348327f8-a11a-4875-acca-449bc953ceb1", "modified": "2021-06-24T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--e537380d-e149-4eca-9d47-bb2f507a166b", "spec_version": "2.1", "target_ref": "attack-pattern--807e5b36-9da9-4be8-9f6e-5d8c7258cff5", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "Cryptanalysis is a process of finding weaknesses in cryptographic algorithms and using these weaknesses to decipher the ciphertext without knowing the secret key (instance deduction). Sometimes the weakness is not in the cryptographic algorithm itself, but rather in how it is applied that makes cryptanalysis successful. An attacker may have other goals as well, such as: Total Break (finding the secret key), Global Deduction (finding a functionally equivalent algorithm for encryption and decryption that does not require knowledge of the secret key), Information Deduction (gaining some information about plaintexts or ciphertexts that was not previously known) and Distinguishing Algorithm (the attacker has the ability to distinguish the output of the encryption (ciphertext) from a random permutation of bits).", "external_references": [ { "external_id": "CAPEC-97", "source_name": "capec", "url": "https://capec.mitre.org/data/definitions/97.html" }, { "external_id": "CWE-327", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/327.html" }, { "external_id": "CWE-1204", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/1204.html" }, { "external_id": "CWE-1240", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/1240.html" }, { "external_id": "CWE-1241", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/1241.html" }, { "external_id": "CWE-1279", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/1279.html" }, { "description": "Cryptanalysis", "source_name": "OWASP Attacks", "url": "https://owasp.org/www-community/attacks/Cryptanalysis" }, { "description": "Wikipedia, The Wikimedia Foundation, Inc", "external_id": "REF-556", "source_name": "reference_from_CAPEC", "url": "http://en.wikipedia.org/wiki/Cryptanalysis" } ], "id": "attack-pattern--f1336271-5f27-40de-a61b-aba6572d120f", "modified": "2022-09-29T00:00:00.000Z", "name": "Cryptanalysis", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "attack-pattern", "x_capec_abstraction": "Standard", "x_capec_can_precede_refs": [ "attack-pattern--86a5e931-7f53-46fe-b6f0-c88498f6557f" ], "x_capec_child_of_refs": [ "attack-pattern--30b081a0-bf20-432b-8211-a340bbd04731" ], "x_capec_consequences": { "Confidentiality": [ "Read Data (In most cases, if cryptanalysis is successful at all, an adversary will not be able to decrypt the entire message, but instead will only be able to deduce some information about the plaintext. However, that may be sufficient for an adversary, depending on the context of the attack.)" ] }, "x_capec_domains": [ "Communications", "Hardware" ], "x_capec_example_instances": [ "A very easy to understand example is a cryptanalysis technique called frequency analysis that can be successfully applied to the very basic classic encryption algorithms that performed mono-alphabetic substitution replacing each letter in the plaintext with its predetermined mapping letter from the same alphabet. This was considered an improvement over a more basic technique that would simply shift all of the letters of the plaintext by some constant number of positions and replace the original letters with the new letter with the resultant alphabet position. While mono-alphabetic substitution ciphers are resilient to blind brute force, they can be broken easily with nothing more than a pen and paper. Frequency analysis uses the fact that natural language is not random and mono-alphabetic substitution does not hide the statistical properties of the natural language. So if the letter \"E\" in an English language occurs with a certain known frequency (about 12.7%), whatever \"E\" was substituted with to get to the ciphertext, will occur with the similar frequency. Having this frequency information allows the cryptanalyst to quickly determine the substitutions and decipher the ciphertext. Frequency analysis techniques are not applicable to modern ciphers as they are all resilient to it (unless this is a very bad case of a homegrown encryption algorithm). This example is inapplicable to modern cryptographic ciphers but is here to illustrate a rudimentary example of cryptanalysis." ], "x_capec_execution_flow": "

Execution Flow

Explore

  1. An attacker discovers a weakness in the cryptographic algorithm or a weakness in how it was applied to a particular chunk of plaintext.

Exploit

  1. An attacker leverages the discovered weakness to decrypt, partially decrypt or infer some information about the contents of the encrypted message. All of that is done without knowing the secret key.

", "x_capec_likelihood_of_attack": "Low", "x_capec_parent_of_refs": [ "attack-pattern--63048cb5-6d42-4fa2-a0e1-eeff2ef2a34d", "attack-pattern--9dded599-dd66-4a4c-8f17-6afb81c234f8" ], "x_capec_prerequisites": [ "The target software utilizes some sort of cryptographic algorithm.", "An underlying weaknesses exists either in the cryptographic algorithm used or in the way that it was applied to a particular chunk of plaintext.", "The encryption algorithm is known to the attacker.", "An attacker has access to the ciphertext." ], "x_capec_resources_required": [ "Computing resource requirements will vary based on the complexity of a given cryptanalysis technique. Access to the encryption/decryption routines of the algorithm is also required." ], "x_capec_skills_required": { "High": "Cryptanalysis generally requires a very significant level of understanding of mathematics and computation." }, "x_capec_status": "Draft", "x_capec_typical_severity": "Very High", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "Use proven cryptographic algorithms with recommended key sizes.", "id": "course-of-action--722bfc5b-c0b1-457d-aa1b-4918cf8f3974", "modified": "2022-09-29T00:00:00.000Z", "name": "coa-97-0", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "course-of-action", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--abc4a679-2285-4f45-82cd-1109211ab070", "modified": "2022-09-29T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--722bfc5b-c0b1-457d-aa1b-4918cf8f3974", "spec_version": "2.1", "target_ref": "attack-pattern--f1336271-5f27-40de-a61b-aba6572d120f", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "\n Ensure that the algorithms are used properly. That means:\n \n 1. Not rolling out your own crypto; Use proven algorithms and implementations.\n 2. Choosing initialization vectors with sufficiently random numbers\n 3. Generating key material using good sources of randomness and avoiding known weak keys\n 4. Using proven protocols and their implementations.\n 5. Picking the most appropriate cryptographic algorithm for your usage context and data\n \n ", "id": "course-of-action--fa27b1a5-bd89-4f29-ba4b-288f3f7cd461", "modified": "2022-09-29T00:00:00.000Z", "name": "coa-97-1", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "course-of-action", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--56815f59-a73c-4405-9d0b-994baee3c08c", "modified": "2022-09-29T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--fa27b1a5-bd89-4f29-ba4b-288f3f7cd461", "spec_version": "2.1", "target_ref": "attack-pattern--f1336271-5f27-40de-a61b-aba6572d120f", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "Phishing is a social engineering technique where an attacker masquerades as a legitimate entity with which the victim might do business in order to prompt the user to reveal some confidential information (very frequently authentication credentials) that can later be used by an attacker. Phishing is essentially a form of information gathering or \"fishing\" for information.", "external_references": [ { "external_id": "CAPEC-98", "source_name": "capec", "url": "https://capec.mitre.org/data/definitions/98.html" }, { "external_id": "CWE-451", "source_name": "cwe", "url": "http://cwe.mitre.org/data/definitions/451.html" }, { "description": "Phishing", "external_id": "T1566", "source_name": "ATTACK", "url": "https://attack.mitre.org/wiki/Technique/T1566" }, { "description": "Phishing for Information", "external_id": "T1598", "source_name": "ATTACK", "url": "https://attack.mitre.org/wiki/Technique/T1598" }, { "description": "Wireless Security - Bluejack a Victim, TutorialsPoint", "external_id": "REF-656", "source_name": "reference_from_CAPEC", "url": "https://www.tutorialspoint.com/wireless_security/wireless_security_bluejack_a_victim.htm" } ], "id": "attack-pattern--a00c2cc2-bd4f-4594-9ec1-b021b62ac896", "modified": "2023-01-24T00:00:00.000Z", "name": "Phishing", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "attack-pattern", "x_capec_abstraction": "Standard", "x_capec_can_precede_refs": [ "attack-pattern--5dec633b-7b10-4bfe-9270-e68b98112285", "attack-pattern--0d249bf9-13b3-4c13-9423-bcb1ea73c067", "attack-pattern--a69b641a-dff7-4dad-b9b1-e00f80b083a2", "attack-pattern--b6f0fd7e-6068-4557-976c-fd34914b11bf", "attack-pattern--a2cad567-3a04-4ef3-8b62-25924c93b53f", "attack-pattern--c4e18b3f-0445-49e8-9bf1-d47a23082501" ], "x_capec_child_of_refs": [ "attack-pattern--22802ed6-ddc6-4da7-b6be-60b10d26198b" ], "x_capec_consequences": { "Access_Control": [ "Gain Privileges" ], "Authorization": [ "Gain Privileges" ], "Confidentiality": [ "Gain Privileges", "Read Data" ], "Integrity": [ "Modify Data" ] }, "x_capec_domains": [ "Social Engineering" ], "x_capec_example_instances": [ "The target gets an official looking e-mail from their bank stating that their account has been temporarily locked due to suspected unauthorized activity and that they need to click on the link included in the e-mail to log in to their bank account in order to unlock it. The link in the e-mail looks very similar to that of their bank and once the link is clicked, the log in page is the exact replica. The target supplies their login credentials after which they are notified that their account has now been unlocked and that everything is fine. An attacker has just collected the target's online banking information which can now be used by the attacker to log into the target's bank account and transfer money to a bank account of the attackers' choice.", "An adversary may use BlueJacking, or Bluetooth Phishing to send unsolicited contact cards, messages, or pictures to nearby devices that are listening via Bluetooth. These messages may contain phishing content." ], "x_capec_execution_flow": "

Execution Flow

Explore

  1. Obtain domain name and certificate to spoof legitimate site: This optional step can be used to help the attacker impersonate the legitimate site more convincingly. The attacker can use homograph attacks to convince users that they are using the legitimate website. Note that this step is not required for phishing attacks, and many phishing attacks simply supply URLs containing an IP address and no SSL certificate.

  2. Techniques
    Optionally obtain a domain name that visually looks similar to the legitimate site's domain name. An example is www.paypaI.com vs. www.paypal.com (the first one contains a capital i, instead of a lower case L)
    Optionally obtain a legitimate SSL certificate for the new domain name.
  3. Explore legitimate website and create duplicate: An attacker creates a website (optionally at a URL that looks similar to the original URL) that closely resembles the website that they are trying to impersonate. That website will typically have a login form for the victim to put in their authentication credentials. There can be different variations on a theme here.

  4. Techniques
    Use spidering software to get copy of web pages on legitimate site.
    Manually save copies of required web pages from legitimate site.
    Create new web pages that have the legitimate site's look and feel, but contain completely new content.

Exploit

  1. Convince user to enter sensitive information on attacker's site.: An attacker sends an e-mail to the victim that has some sort of a call to action to get the user to click on the link included in the e-mail (which takes the victim to attacker's website) and log in. The key is to get the victim to believe that the e-mail is coming from a legitimate entity with which the victim does business and that the website pointed to by the URL in the e-mail is the legitimate website. A call to action will usually need to sound legitimate and urgent enough to prompt action from the user.

  2. Techniques
    Send the user a message from a spoofed legitimate-looking e-mail address that asks the user to click on the included link.
    Place phishing link in post to online forum.
  3. Use stolen credentials to log into legitimate site: Once the attacker captures some sensitive information through phishing (login credentials, credit card information, etc.) the attacker can leverage this information. For instance, the attacker can use the victim's login credentials to log into their bank account and transfer money to an account of their choice.

  4. Techniques
    Log in to the legitimate site using another user's supplied credentials
", "x_capec_likelihood_of_attack": "High", "x_capec_parent_of_refs": [ "attack-pattern--ff3cf9fc-c308-4571-8a01-ecae629a49c1", "attack-pattern--614cd894-0aa6-4031-88e1-89bd7b6118bb", "attack-pattern--ec0a802f-1d0a-4360-a4d8-3fb9f48715d0" ], "x_capec_prerequisites": [ "An attacker needs to have a way to initiate contact with the victim. Typically that will happen through e-mail.", "An attacker needs to correctly guess the entity with which the victim does business and impersonate it. Most of the time phishers just use the most popular banks/services and send out their \"hooks\" to many potential victims.", "An attacker needs to have a sufficiently compelling call to action to prompt the user to take action.", "The replicated website needs to look extremely similar to the original website and the URL used to get to that website needs to look like the real URL of the said business entity." ], "x_capec_resources_required": [ "Some web development tools to put up a fake website." ], "x_capec_skills_required": { "Medium": "Basic knowledge about websites: obtaining them, designing and implementing them, etc." }, "x_capec_status": "Draft", "x_capec_typical_severity": "Very High", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "id": "relationship--0c786816-7b0c-4fe7-b657-7e339aea5498", "modified": "2023-01-24T00:00:00.000Z", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "relationship_type": "mitigates", "source_ref": "course-of-action--b8cee0cf-4567-40f0-a8d6-0b1d71c03c27", "spec_version": "2.1", "target_ref": "attack-pattern--a00c2cc2-bd4f-4594-9ec1-b021b62ac896", "type": "relationship", "x_capec_version": "3.9" }, { "created": "2014-06-23T00:00:00.000Z", "created_by_ref": "identity--e50ab59c-5c4f-4d40-bf6a-d58418d89bcd", "description": "This attack pattern has been deprecated as it a generalization of CAPEC-230: XML Nested Payloads and CAPEC-231: XML Oversized Payloads. Please refer to these CAPECs going forward.", "external_references": [ { "external_id": "CAPEC-99", "source_name": "capec", "url": "https://capec.mitre.org/data/definitions/99.html" } ], "id": "attack-pattern--28be41f9-7246-4484-869d-f0e2e82690ee", "modified": "2019-09-30T00:00:00.000Z", "name": "DEPRECATED: XML Parser Attack", "object_marking_refs": [ "marking-definition--17d82bb2-eeeb-4898-bda5-3ddbcd2b799d" ], "spec_version": "2.1", "type": "attack-pattern", "x_capec_abstraction": "Standard", "x_capec_status": "Deprecated", "x_capec_version": "3.9" } ], "type": "bundle" }