An attack of this type exploits a programs' vulnerabilities that allows an attacker's commands to be concatenated onto a legitimate command with the intent of targeting other resources such as the file system or database. The system that uses a filter or denylist input validation, as opposed to allowlist validation is vulnerable to an attacker who predicts delimiters (or combinations of delimiters) not present in the filter or denylist. As with other injection attacks, the attacker uses the command delimiter payload as an entry point to tunnel through the application and activate additional attacks through SQL queries, shell commands, network scanning, and so on.
Description
Attack Execution Flow
Step 1
Explore[Assess Target Runtime Environment] In situations where the runtime environment is not implicitly known, the attacker makes connections to the target system and tries to determine the system's runtime environment. Knowing the environment is vital to choosing the correct delimiters.
Port mapping using network connection-based software (e.g., nmap, nessus, etc.)
Port mapping by exploring the operating system (netstat, sockstat, etc.)
TCP/IP Fingerprinting
Induce errors to find informative error messages
[Valuta l'Ambiente di Runtime di Destinazione] In situazioni in cui l'ambiente di runtime non è implicitamente noto, l'attaccante stabilisce connessioni al sistema di destinazione e cerca di determinare l'ambiente di runtime del sistema. Conoscere l'ambiente è fondamentale per scegliere i delimitatori corretti.
Mappatura delle porte utilizzando software basato su connessioni di rete (ad esempio, nmap, nessus, ecc.)
Mappatura delle porte esplorando il sistema operativo (netstat, sockstat, ecc.)
Fingerprinting TCP/IP
Indurre errori per trovare messaggi di errore informativi
Attack Techniques
-
Port mapping by exploring the operating system (netstat, sockstat, etc.)
-
Induce errors to find informative error messagesIT: Mappatura delle porte attraverso l'esplorazione del sistema operativo (netstat, sockstat, ecc.)
-
Port mapping using network connection-based software (e.g., nmap, nessus, etc.)IT: Mappatura delle porte attraverso l'esplorazione del sistema operativo (netstat, sockstat, ecc.)
-
TCP/IP FingerprintingIT: Mappatura delle porte attraverso l'esplorazione del sistema operativo (netstat, sockstat, ecc.)
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[Attempt delimiters in inputs] The attacker systematically attempts variations of delimiters on known inputs, observing the application's response each time.
Inject command delimiters using network packet injection tools (netcat, nemesis, etc.)
Inject command delimiters using web test frameworks (proxies, TamperData, custom programs, etc.)
Enter command delimiters directly in input fields.
[Prova delimitatori negli input] L'attaccante tenta sistematicamente variazioni di delimitatori su input noti, osservando la risposta dell'applicazione ogni volta.
Inietta delimitatori di comando utilizzando strumenti di injection di pacchetti di rete (netcat, nemesis, ecc.)
Inietta delimitatori di comando utilizzando framework di test web (proxy, TamperData, programmi personalizzati, ecc.)
Inserisce delimitatori di comando direttamente nei campi di input.
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.)
-
Enter command delimiters directly in input fields.IT: Inietta delimitatori di comando utilizzando framework di test web (proxy, TamperData, programmi personalizzati, ecc.)
Step 4
Exploit[Use malicious command delimiters] The attacker uses combinations of payload and carefully placed command delimiters to attack the software.
[Usa delimitatori di comando dannosi] L'attaccante utilizza combinazioni di payload e delimitatori di comando posizionati strategicamente per attaccare il software.