Home > CAPEC List > CAPEC-40: Manipulating Writeable Terminal Devices (Version 2.9)  

CAPEC-40: Manipulating Writeable Terminal Devices

 
Manipulating Writeable Terminal Devices
Definition in a New Window Definition in a New Window
Attack Pattern ID: 40
Abstraction: Detailed
Status: Draft
Completeness: Complete
Presentation Filter:
+ Summary

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.

+ Attack 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.

+ Typical Severity

Very High

+ Typical Likelihood of Exploit

Likelihood: High

+ Methods of Attack
  • Injection
+ Examples-Instances

Description

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

"$echo -e "\033[30m\033\132" > /dev/ttyXX

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." [R.40.1][REF-2]

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.

+ Attacker Skills or Knowledge Required

Skill or Knowledge Level: Low

+ Resources Required

Access to a terminal on the target network

+ Solutions and Mitigations

Design: Ensure that terminals are only writeable by named owner user and/or administrator

Design: Enforce principle of least privilege

+ Attack Motivation-Consequences
ScopeTechnical ImpactNote
Confidentiality
Access_Control
Authorization
Gain privileges / assume identity
Confidentiality
Read application data
Confidentiality
Integrity
Availability
Execute unauthorized code or commands
Run Arbitrary Code
+ Injection Vector

Payload delivered through standard user terminal.

+ Payload

Command(s) executed directly on host, in other victim's terminal

+ Activation Zone

Multi-user host

+ Payload Activation Impact

Enables attacker to execute server side code with any commands that the program owner has privileges to.

+ Purposes
  • Exploitation
+ CIA Impact
Confidentiality Impact: HighIntegrity Impact: HighAvailability Impact: Low
+ Technical Context
Architectural Paradigms
Mainframe
Frameworks
Other
Platforms
UNIX-LINUX
Languages
All
+ References
[R.40.1] [REF-2] G. Hoglund and G. McGraw. "Exploiting Software: How to Break Code". Addison-Wesley. February 2004.
+ Content History
Submissions
SubmitterOrganizationDateSource
CAPEC Content TeamThe MITRE Corporation2014-06-23Internal_CAPEC_Team

More information is available — Please select a different filter.
Page Last Updated or Reviewed: December 07, 2015