CAPEC-215
Fuzzing for application mapping
An attacker sends random, malformed, or otherwise unexpected messages to a target application and observes the application's log or error messages returned. The attacker does not initially know how a target will respond to individual messages but by attempting a large number of message variants they may find a variant that trigger's desired behavior. In this attack, the purpose of the fuzzing is to observe the application's log and error messages, although fuzzing a target can also sometimes cause the target to enter an unstable state, causing a crash.
Soyutlama
Detailed
Tipik ciddiyet
Low
Saldırı ihtimali
High
Saldırıyı anla
Bu saldırı kalıbı nedir?
Genişletilmiş açıklama
Uygulama akışı
Saldırı adım adım nasıl ilerler?
Explore
Observe communication and inputs
Kullanılan teknikler
- Network sniffing. Using a network sniffer such as wireshark, the adversary observes communications into and out of the target system.
- Monitor API execution. Using a tool such as ktrace, strace, APISpy, or another debugging tool, the adversary observes the system calls and API calls that are made by the target system, and the nature of their parameters.
- Observe inputs using web inspection tools (OWASP's WebScarab, Paros, TamperData, TamperIE, etc.)
Experiment
Generate fuzzed inputs
Kullanılan teknikler
- Boundary cases. Generate fuzz inputs that attack boundary cases of protocol fields, inputs, or other communications limits. Examples include 0xff and 0x00 for single-byte inputs. In binary situations, approach each bit of an individual field with on and off (e.g., 0x80).
- Attempt arguments to system calls or APIs. The variations include payloads that, if they were successful, could lead to a compromise on the system.
Observe the outcome
Exploit
Craft exploit payloads
Kullanılan teknikler
- Modify the parameters in the fuzzing tool according to the observed error messages. Repeat with enough parameters until the application has been sufficiently mapped.
- If the application rejects the large amount of fuzzing messages from the same host machine, the adversary needs to hide the attacks by changing the IP addresses or other credentials.
Gereksinimler
Saldırının gerçekleşmesi için ne gerekir?
Ön koşullar
- The target application must fail to sanitize incoming messages adequately before processing.
Gerekli beceri
- Medium: Although fuzzing parameters is not difficult, and often possible with automated fuzzing tools, interpreting the error conditions and modifying the parameters so as to move further in the process of mapping the application requires detailed knowledge of target platform, the languages and packages used as well as software design.
Gerekli kaynak
- Fuzzing tools, which automatically generate and send message variants, are necessary for this attack. The attacker must have sufficient access to send messages to the target. The attacker must also have the ability to observe the target application's log and/or error messages in order to collect information about the target.
Etki
Başarılı saldırı neye yol açar?
Etkilenen alanlar: Confidentiality
Savunma
Nasıl önlenir ve etkisi azaltılır?
Gerçek dünya