Name |
Try All Common Switches |
|
Likelyhood of attack |
Typical severity |
Low |
Medium |
|
Summary |
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. |
Prerequisites |
The attacker must be able to control the options or switches sent to the target. |
Execution Flow |
Step |
Phase |
Description |
Techniques |
1 |
Explore |
[Identify application] Discover an application of interest by exploring service registry listings or by connecting on a known port or some similar means. |
- 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
|
2 |
Explore |
[Authenticate to application] Authenticate to the application, if required, in order to explore it. |
- Use published credentials to access system.
- Find unpublished credentails to access service.
- Use other attack pattern or weakness to bypass authentication.
|
3 |
Experiment |
[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. |
- 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
|
4 |
Exploit |
[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 |
- Using application information, formulate an attack on the application
|
|
Solutions | Design: Minimize switch and option functionality to only that necessary for correct function of the command. Implementation: Remove all debug and testing options from production code. |
Related Weaknesses |
CWE ID
|
Description
|
CWE-912 |
Hidden Functionality |
|
Related CAPECS |
CAPEC ID
|
Description
|
CAPEC-113 |
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. |
|