Lesson 14 - Analyze Indicators of Application Attacks Flashcards
arbitrary code execution
arbitrary code execution
allow the threat actor to run his or her own code on the system.
remote code execution
code is transmitted from one machine to another
Vertical privilege escalation (or elevation)
Vertical privilege escalation (or elevation)
user or application can access functionality or data that should not be available to them.
Horizontal privilege escalation
Horizontal privilege escalation
user accesses functionality or data that is intended for another user.
buffer
buffer
area of memory that the application reserves to store expected data.
To exploit a buffer overflow vulnerability, the attacker passes data that deliberately overfills the buffer.
integer overflow attack
integer overflow attack
An attack in which a computed result is too large to fit in its assigned storage space, which may lead to crashing or data corruption, and may trigger a buffer overflow
pointer dereferencing
when code attempts to read a memory location specified by a pointer, but the memory location is null.
Also known as dereferencing.
race condition
Race conditions occur when the outcome from an execution process is directly dependent on the order and timing of certain events, and those events fail to execute in the order and timing intended by the developer.
race condition is one means of engineering a null pointer dereference exception.
time of check to time of use (TOCTTOU) race condition
time of check to time of use (TOCTTOU) race condition
when there is a change between when an app checked a resource and when the app used the resource
Memory leaks
Memory leaks - serious in service/background applications.
they will continue to consume memory over an extended period
dynamic link library (DLL)
DLL - is a binary package that implements some sort of standard functionality, such as establishing a network connection or performing cryptography.
DLL injection
DLL injection is a vulnerability in the way the operating system allows one process to attach to another. This functionality can be abused by malware to force a legitimate process to load a malicious link library.
Refactoring
Refactoring - code performs the same function by using different methods
shim
Shim - code library that intercepts and redirects calls to enable legacy mode functionality
pass the hash (PtH)
pass the hash (PtH) - credential exploit technique for lateral movement.
Process of harvesting an account’s cached credentials when the user is logged into a single sign-on (SSO) system so the attacker can use the credentials on other systems.
HTTP
HTTP: The principal method is GET, used to retrieve a resource. Other methods include:
- POST—send data to the server for processing by the requested resource.
- PUT—create or replace the resource. DELETE can be used to remove the resource.
- HEAD—retrieve the headers for a resource only (not the body).
Percent encoding
Percent encoding allows a user-agent to submit any safe or unsafe character (or binary data) to the server within the URL.
Percent encoding can be misused to obfuscate the nature of a URL and submit malicious input.
Percent encoding can exploit weaknesses in the way the server application performs decoding.
replay attack
replay attack - sniffing or guessing the token value and then submitting it to re-establish the session illegitimately.
Session Hijacking (in a web application)
session hijacking - replaying a cookie in some way.
Attackers can sniff network traffic to obtain session cookies sent over an unsecured network, like a public Wi-Fi hotspot.
To counter cookie hijacking, you can encrypt cookies during transmission, delete cookies from the client’s browser cache when the client terminates the session
client-side or cross-site request forgery (CSRF or XSRF)
client-side or cross-site request forgery (CSRF or XSRF)
- exploit applications that use cookies to authenticate users and track sessions.
To work, the attacker must convince the victim to start a session with the target site. The attacker must then pass an HTTP request to the victim’s browser that spoofs an action on the target site, such as changing a password or an email address.
Clickjacking
Clickjacking
- an attack where what the user sees and trusts as a web application with some sort of login page or form.
Contains a malicious layer or invisible iFrame that allows an attacker to intercept or redirect user input.
Secure Sockets Layer (SSL) strip attack
Secure Sockets Layer (SSL) strip attack - launched against clients on a local network as they try to make connections to websites.
The threat actor must first perform a Man-in-the-Middle attack via ARP poisoning to masquerade as the default gateway.
cross-site scripting (XSS) attack
cross-site scripting (XSS) attack
- exploits the fact that the browser is likely to trust scripts that appear to come from a site the user has chosen to visit.
XSS inserts a malicious script that appears to be part of the trusted site.
Attacks such as session replay, CSRF, and DOM-based XSS are client-side attacks. This means that they execute arbitrary code on the browser
server-side attack
server-side attack causes the server to do some processing or run a script or query in a way that is not authorized by the application design.
SQL injection attack,
A web application is likely to use SQL to read and write information from a database
SQL injection attack, the threat actor modifies one or more of these four basic functions (SELECT, INSERT, DELETE, UPDATE) by adding code to some input accepted by the app, causing it to execute the attacker’s own set of SQL queries or parameters.
Extensible Markup Language (XML)
Extensible Markup Language (XML)
- used by apps for authentication and authorizations, and for other types of data exchange and uploading.
Data submitted via XML with no encryption or input validation is vulnerable to spoofing, request forgery, and injection of arbitrary data or code.