CAPEC-36

Using Unpublished Interfaces or Functionality
2014-06-23
00h00 +00:00
中危
高危
Draft
2022-09-29
00h00 +00:00
指定 CAPEC 提醒
随时了解指定 CAPEC 的变更。
管理通知

CAPEC 描述

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.

CAPEC 信息

执行流程

1) Explore

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

技术手段
  • 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.
2) Explore

[Authenticate to service] Authenticate to the service, if required, in order to explore it.

技术手段
  • Use published credentials to access system.
  • Find unpublished credentials to access service.
  • Use other attack pattern or weakness to bypass authentication.
3) Explore

[Identify all interfaces] Determine the exposed interfaces by querying the registry as well as probably sniffing to expose interfaces that are not explicitly listed.

技术手段
  • 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.
4) Experiment

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

技术手段
  • 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.
5) Exploit

[Exploit unpublished functions] Using information determined via experimentation, exploit the unpublished features of the service.

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

前提条件

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.

所需技能

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.

所需资源

None: No specialized resources are required to execute this type of attack. Web service digging tools may be helpful.

缓解措施

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.

相关弱点

CWE-ID 弱点名称

CWE-306

Missing Authentication for Critical Functionality
The product does not perform any authentication for functionality that requires a provable user identity or consumes a significant amount of resources.

CWE-693

Protection Mechanism Failure
The product does not use or incorrectly uses a protection mechanism that provides sufficient defense against directed attacks against the product.

CWE-695

Use of Low-Level Functionality
The product uses low-level functionality that is explicitly prohibited by the framework or specification under which the product is supposed to operate.

CWE-1242

Inclusion of Undocumented Features or Chicken Bits
The device includes chicken bits or undocumented features that can create entry points for unauthorized actors.

提交记录

名称 组织 日期 发布日期
CAPEC Content Team The MITRE Corporation 2014-06-23 +00:00

修改记录

名称 组织 日期 备注
CAPEC Content Team The MITRE Corporation 2015-12-07 +00:00 Updated Attack_Phases, Attack_Prerequisites, Description Summary
CAPEC Content Team The MITRE Corporation 2017-08-04 +00:00 Updated Attack_Phases, Resources_Required
CAPEC Content Team The MITRE Corporation 2020-07-30 +00:00 Updated @Name, Description, Execution_Flow, Related_Attack_Patterns, Related_Weaknesses, Skills_Required
CAPEC Content Team The MITRE Corporation 2022-09-29 +00:00 Updated @Name, Description, Execution_Flow, Extended_Description, Related_Attack_Patterns