Exploit Public-Facing Application
|Exploit Public-Facing Application|
|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
- 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
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 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.
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.
- National Vulnerability Database. (2017, February 2). CVE-2016-6662 Detail. Retrieved April 3, 2018.
- CIS. (2017, May 15). Multiple Vulnerabilities in Microsoft Windows SMB Server Could Allow for Remote Code Execution. Retrieved April 3, 2018.
- National Vulnerability Database. (2017, September 24). CVE-2014-7169 Detail. Retrieved April 3, 2018.
- OWASP. (2018, February 23). OWASP Top Ten Project. Retrieved April 3, 2018.