Adversaries may use scripting languages to execute arbitrary code in the form of a pre-written script or in the form of user-supplied code to an interpreter. Scripting languages are programming languages that differ from compiled languages, in that scripting languages use an interpreter, instead of a compiler. These interpreters read and compile part of the source code just before it is executed, as opposed to compilers, which compile each and every line of code to an executable file. Scripting allows software developers to run their code on any system where the interpreter exists. This way, they can distribute one package, instead of precompiling executables for many different systems. Scripting languages, such as Python, have their interpreters shipped as a default with many Linux distributions. In addition to being a useful tool for developers and administrators, scripting language interpreters may be abused by the adversary to execute code in the target environment. Due to the nature of scripting languages, this allows for weaponized code to be deployed to a target easily, and leaves open the possibility of on-the-fly scripting to perform a task.

Linked Issues

Issuelinks
Linktyp Issue
is related to Techniques
is related to Data Gateway
is related to Jump Host
is related to Data Historian
is related to Firewall
is related to Application Server
is related to Workstation
is related to Control Server
is related to Human-Machine Interface (HMI)
is related to Switch
is blocked by Execution Prevention
is blocked by Application Isolation and Sandboxing
is blocked by Disable or Remove Feature or Program
is blocked by Detection of Scripting
Impressum Deutsch Englisch