In this type of an attack, an adversary injects operating system commands into existing application functions. An application that uses untrusted input to build command strings is vulnerable. An adversary can leverage OS command injection in an application to elevate privileges, execute arbitrary commands and compromise the underlying operating system.
Description
Attack Execution Flow
Step 1
Explore[Identify inputs for OS commands] The attacker determines user controllable input that gets passed as part of a command to the underlying operating system.
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
[Identifica gli input per i comandi OS] L'attaccante determina gli input controllabili dall'utente che vengono passati come parte di un comando al sistema operativo sottostante.
Mappatura delle porte. Identifica le porte su cui il sistema è in ascolto e cerca di individuare gli input e i tipi di protocollo su tali porte.
Fingerprinting TCP/IP. L'attaccante utilizza vari software per stabilire connessioni o connessioni parziali e osserva risposte idiosincratiche dal sistema operativo. Utilizzando queste risposte, tenta di indovinare il sistema operativo effettivo.
Induci errori per trovare messaggi di errore informativi
Attack Techniques
-
Induce errors to find informative error messages
-
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.IT: Indurre errori per individuare messaggi di errore informativi
-
Port mapping. Identify ports that the system is listening on, and attempt to identify inputs and protocol types on those ports.IT: Indurre errori per individuare messaggi di errore informativi
Step 2
Explore[Survey the Application] The attacker surveys the target application, possibly as a valid and authenticated user
Spidering web sites for all available links
Inventory all application inputs
[Esamina l'Applicazione] L'attaccante esamina l'applicazione target, possibilmente come utente autenticato e valido
Indicizzazione dei siti web per tutti i link disponibili
Inventario di tutti gli input dell'applicazione
Attack Techniques
-
Inventory all application inputs
-
Spidering web sites for all available linksIT: Inventario di tutti gli input delle applicazioni
Step 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 OS commands, to be passed to the application
Inject command delimiters using network packet injection tools (netcat, nemesis, etc.)
Inject command delimiters using web test frameworks (proxies, TamperData, custom programs, etc.)
Sperimentazione
[Variare gli input, alla ricerca di risultati dannosi.] A seconda che l'applicazione sfruttata sia remota o locale, l'attaccante crea l'input dannoso appropriato, contenente comandi OS, da passare all'applicazione
Iniettare delimitatori di comando utilizzando strumenti di injection di pacchetti di rete (netcat, nemesis, ecc.)
Iniettare delimitatori di comando utilizzando framework di test web (proxy, TamperData, programmi personalizzati, ecc.)
Attack Techniques
-
Inject command delimiters using web test frameworks (proxies, TamperData, custom programs, etc.)
-
Inject command delimiters using network packet injection tools (netcat, nemesis, etc.)IT: Inietta delimitatori di comando utilizzando framework di test web (proxy, TamperData, programmi personalizzati, ecc.)
Step 4
Exploit[Execute malicious commands] The attacker may steal information, install a back door access mechanism, elevate privileges or compromise the system in some other way.
The attacker executes a command that stores sensitive information into a location where they can retrieve it later (perhaps using a different command injection).
[Esecuzione di comandi dannosi] L'attaccante può rubare informazioni, installare un meccanismo di accesso tramite backdoor, elevare i privilegi o compromettere il sistema in altro modo.
L'attaccante esegue un comando che memorizza informazioni sensibili in una posizione da cui può recuperarle successivamente (forse utilizzando un'iniezione di comando diversa).
Attack Techniques
-
The attacker executes a command that stores sensitive information into a location where they can retrieve it later (perhaps using a different command injection).