CAPEC-76: Manipulating Web Input to File System Calls

Detailed Draft 严重程度: Very High 攻击可能性: High

CAPEC版本: 3.9

更新日期: 2023-01-24

攻击模式描述

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.

执行流程

步骤 1 Explore

[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.

技术:
  • 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
步骤 2 Explore

[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

技术:
  • Spider web sites for all available links, entry points to the web site.
  • Manually explore application and inventory all application inputs
步骤 3 Experiment

[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

技术:
  • 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
步骤 4 Exploit

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

技术:
  • 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.

前提条件

  • Program must allow for user controlled variables to be applied directly to the filesystem

所需技能

Low To identify file system entry point and execute against an over-privileged system interface

后果影响

影响范围: Confidentiality Access Control Authorization

技术影响: Gain Privileges

影响范围: Integrity

技术影响: Modify Data

缓解措施

Design: Enforce principle of least privilege.

Design: Ensure all input is validated, and does not contain file system commands

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.

Design: For interactive user applications, consider if direct file system interface is necessary, instead consider having the application proxy communication.

Implementation: Perform testing such as pen-testing and vulnerability scanning to identify directories, programs, and interfaces that grant direct access to executables.

关键信息

CAPEC ID: CAPEC-76

抽象级别: Detailed

状态: Draft

典型严重程度: Very High

攻击可能性: High

相关攻击模式