Exploit Public-Facing Application

From enterprise
Jump to: navigation, search
Exploit Public-Facing Application
Technique
ID T1190
Tactic Initial Access
Platform Linux, Windows, macOS
Data Sources Application logs, Packet capture, Web logs, Web application firewall logs

The use of software, data, or commands to take advantage of a weakness in an Internet-facing computer system or program in order to cause unintended or unanticipated behavior. The weakness in the system can be a bug, a glitch, or a design vulnerability. These applications are often websites, but can include databases (like SQL)1, standard services (like SMB2 or SSH), and any other applications with Internet accessible open sockets, such as web servers and related services.3 Depending on the flaw being exploited this may include Exploitation for Defense Evasion.

For websites and databases, the OWASP top 10 gives a good list of the top 10 most common web-based vulnerabilities.4

Examples

  • Axiom has been observed using SQL injection to gain access to systems.5
  • Havij is used to automate SQL injection.6
  • sqlmap can be used to automate exploitation of SQL injection vulnerabilities.7

Mitigation

Application Isolation and least privilege help lesson the impact of an exploit. Application isolation will limit what other processes and system features the exploited target can access, and least privilege for service accounts will limit what permissions the exploited process gets on the rest of the system. Web Application Firewalls may be used to limit exposure of applications.

Segment externally facing servers and services from the rest of the network with a DMZ or on separate hosting infrastructure.

Use secure coding best practices when designing custom software that is meant for deployment to externally facing systems. Avoid issues documented by OWASP, CWE, and other software weakness identification efforts.

Regularly scan externally facing systems for vulnerabilities and establish procedures to rapidly patch systems when critical vulnerabilities are discovered through scanning and through public disclosure.

Detection

Monitor application logs for abnormal behavior that may indicate attempted or successful exploitation. Use deep packet inspection to look for artifacts of common exploit traffic, such as SQL injection. Web Application Firewalls may detect improper inputs attempting exploitation.