Forensics Book 4: Investigating Network Intrusions and Cybercrime Chapter 3: Investigating Web Attacks
Objectives • Recognize the indications of a Web attack • Understand the different types of Web attacks • Understand and use Web logs • Investigate Web attacks • Investigate FTP servers • Investigate IIS logs
Objectives (continued) • Investigate Web attacks in Windows-based servers • Recognize Web page defacement • Investigate DNS poisoning • Investigate static and dynamic IP addresses • Protect against Web attacks • Use tools for Web attack investigations
Introduction to Investigating Web Attacks • This chapter: • Discusses the various types of attacks on Web servers and applications • Covers how to recognize and investigate attacks, what tools attackers use, and how to proactively defend against attacks
Indications of a Web Attack • Indications include: • Customers being unable to access any online services (possibly due to a denial-of-service attack) • Correct URLs redirecting to incorrect sites • Unusually slow network performance • Frequent rebooting of the server • Anomalies in log files • Error messages such as 500 errors, “internal server error,” and “problem processing your request”
Types of Web Attacks • Attacks include: • Cross-site scripting (XSS) attack • Cross-site request forgery (CSRF) • SQL injection • Code injection • Command injection • Parameter tampering • Cookie poisoning • Buffer overflow • Cookie snooping • DMZ protocol attack • Zero-day attack
Cross-Site Scripting (XSS) • Cross-site scripting (XSS) • Application-layer hacking method used for hacking Web applications • Occurs when a dynamic Web page gets malicious data from the attacker and executes it on the user’s system • XSS attacks can be either stored or reflected • Investigating cross-site scripting (XSS) • There is a chance that an XSS attacker may use HTML formatting tags • Rather than using text for those tags, the attacker may use the hex equivalent to hide the code • Regular expressions can be used to detect attacks
Cross-Site Scripting (XSS) (continued) Table 3-1 These parts of the expression check for various characters and their hex equivalents Table 3-2 This regular expression is helpful in catching “<img src” attacks
Cross-Site Request Forgery (CSRF) • Attacker forces the victim to submit the attacker’s form data to the victim’s Web server • Attacker creates the host form, containing malicious information, and sends it to the authenticated user • User fills in the form and sends it to the server • Because the data is coming from a trusted user, the Web server accepts the data • Pen-testing CSRF validation fields • Before filing the form, it is necessary to confirm that the form is validated before reaching the server
SQL Injection Attacks • Occurs when an attacker passes malicious SQL code to a Web application • Data is placed into an SQL query without being validated for correct formatting or embedded escape strings • Example: • Set myRecordset = myConnection.execute(“SELECT * FROM myTable WHERE someText ‘” & blah or 11 -- & “‘”) • Statement always evaluates as true and returns the record set
SQL Injection Attacks (continued) • Investigating SQL injection attacks • Locations to look for evidence of SQL injection attacks: • IDS log files • Database server log files • Web server log files
Code Injection Attack • Similar to an SQL injection attack • When a user sends any application to the server, an attacker hacks the application and adds malicious code, such as shell commands or PHP scripts • Investigating code injection attacks • Intrusion detection systems (IDS) and a series of sandbox execution environments provided by the OS detect code injection attacks • IDS transfers the suspicious packets’ payload to the execution environment matching the packets’ destination • Packet payload is then executed in the corresponding monitored environment
Parameter Tampering Figure 3-1 An attacker can change the parameters in a URL to gain unauthorized access.
Cookie Poisoning • Attacker modifies the contents of a cookie to steal personal information about a user or defraud Web sites • Investigating cookie poisoning attacks • Intrusion prevention products must be used • Trace the cookie’s set command given by the Web server • Catch every HTTP request sent to the Web server and compares any cookie information sent with all stored cookies
Buffer Overflow • If a program stores more data in a buffer than it can handle • Buffer will overflow and spill data into a completely different buffer, overwriting or corrupting the data currently in that buffer • Detecting buffer overflows • Nebula (NEtwork-based BUffer overfLow Attack detection) detects buffer overflow attacks by monitoring the traffic of the packets into the buffer without making any changes to the end hosts
Types of Web Attacks (continued) • Cookie Snooping • Attacker steals a victim’s cookies, possibly using a local proxy, and uses them to log on as the victim • DMZ Protocol Attack • DMZ (demilitarized zone) • Semitrusted network zone that separates the untrusted Internet from the company’s trusted internal network • To enhance the security of the DMZ and reduce risk, most companies limit the protocols allowed to flow through their DMZ
Types of Web Attacks (continued) • Zero-Day Attack • Exploit previously unknown vulnerabilities • They are especially dangerous because preventative measures cannot be taken in advance • Log Tampering • Web applications maintain logs to track the usage patterns of an application • In order to cover their tracks, attackers will often delete logs, modify logs, change user information, and otherwise destroy evidence of the attack
Authentication Hijacking • To identify users, personalize content, and set access levels, many Web applications require users to authenticate • Authentication hijacking can lead to theft of services, session hijacking, user impersonation, disclosure of sensitive information, and privilege escalation • Investigating authentication hijacking • Check if the Web browser remembers the password • See if the user forgot to log off after using the application
Authentication Hijacking (continued) Figure 3-2 Authentication tells the Web application the user’s identity.
Authentication Hijacking (continued) Figure 3-3 Having applications remember passwords can lead to authentication hijacking.
Types of Web Attacks (continued) • Directory Traversal • Also known as a forceful browsing attack • Occurs when an attacker is able to browse for directories and files outside normal application access • Cryptographic Interception • Disclosure of private keys and certificates gives an attacker the ability to read, and modify, a hitherto private communication • Attacker able to intercept cryptographically secured messages can read and modify sensitive, encrypted data
Types of Web Attacks (continued) • URL Interpretation Attack • Attacker takes advantage of different methods of text encoding, abusing the interpretation of a URL • URLs used for this type of attack typically contain special characters that require special syntax handling for interpretation • Impersonation Attack • Attacker spoofs Web applications by pretending to be a legitimate user • Attacker enters the session through a common port as a normal user, so the firewall does not detect it
Overview of Web Logs • Source, nature, and time of attack can be determined by analyzing the log files of the compromised system • Log files have HTTP status codes that are specific to the types of incidents • Log security • Web servers that run on IIS or Apache run the risk of log file deletion by any attacker who has access to the Web server because the log files are stored on the Web server itself • Network logging is the preferred method for maintaining the logs securely
Overview of Web Logs (continued) Table 3-3 Status codes are three digit numbers divided into five categories
Overview of Web Logs (continued) • Log file information • When investigating log files, the information is stored in a simple format with the following fields: • Time/date • Source IP address • HTTP source code • Requested resource
Investigating a Web Attack • Steps: • Analyze the Web server, FTP server, and local system logs to confirm a Web attack • Check log file information • Identify the nature of the attack • Check if someone is trying to shut down the network • Localize the source • Use the firewall and IDS logs to identify the source of attack • Block the attack • Disconnect compromised systems from the network • Initiate an investigation from the IP address
Investigating a Web Attack (continued) • Example of FTP compromise • Before making an attempt to compromise FTP, an intruder performs port scanning • After doing port scanning, the attacker connects to FTP • Investigating FTP logs • IIS keeps track of hosts that access the FTP site • In Windows, the rule is to ensure continuity in the logs • Another rule is to ensure that logs are not modified in any way after they have been originally recorded
Investigating FTP Servers • FTP servers providing service to an internal network are not immune to attack • Administrators should consider establishing access controls including usernames, passwords, and SSL for authentication • Defensive measures include the following: • Protection of the server file system • Isolation of the FTP directories • Creation of authorization and access control rules • Regular review of logs • Regular review of directory content to detect unauthorized files and usage
Investigating IIS Logs • IIS logs all visits in log files, located in <%systemroot%>\logfiles • If proxies are not used, then the IP can be logged • The following URL lists the log files: • http://victim.com/scripts/..%c0%af../..%c0%af../..%c0%af../..%c0%af../..%c0%af../..%c0%af../..%c0%af../..%c0%af../winnt/system32/cmd.exe?/c+dir+C:\Winnt\system32\Logfiles\W3SVC1
Investigating Apache Logs • Apache server has two logs: the error log and the access log • Apache server saves diagnostic information and error messages that it encounters while processing requests in the error logs • Format of the error log is descriptive • Requests processed by the Apache server are contained in the access log • By default, access logs are stored in the common .log format
Investigating Web Attacks in Windows-Based Servers • Steps: • Run Event Viewer • Check for suspicious events • Look for a large number of failed logon attempts or locked-out accounts • Look at file shares • Look at which users have open sessions • Look at which sessions the machine has opened with other systems • Look at NetBIOS over TCP/IP activity • Look for unusual listening TCP and UDP ports
Investigating Web Attacks in Windows-Based Servers (continued) • Steps: (continued) • Look for unusual tasks on the local host • Look for new accounts in the administrator group • Look for unexpected processes by running the Task Manager • Look for unusual network services • Check file space usage to look for a sudden decrease in free space
Web Page Defacement • Unauthorized modification to a Web page leads to Web page defacement • Requires write-access privileges in the Web server root directory • Web page defacements are the result of the following: • Weak administrator password • Application misconfiguration • Server misconfiguration • Accidental permission assignment
Web Page Defacement (continued) Figure 3-4 An unsecure Web page can be defaced by hackers.
Defacement Using DNS Compromise • Attacker can compromise the authoritative domain name server for a Web server • By redirecting DNS requests for a Web site to the attacker’s defaced Web site • Investigating DNS poisoning (steps) • Start a packet sniffer, such as Wireshark • Capture DNS packets • Identify the IP being used to resolve the domain name • Start investigating the IP. Try to determine who owns it and where it is located • Do a WHOIS lookup of the IP
Intrusion Detection Figure 3-5 HIDS analyze individual systems’ behavior.
Intrusion Detection (continued) Figure 3-6 A NIDS thoroughly analyzes all network traffic.
Security Strategies for Web Applications • Strategies include: • Respond quickly to vulnerabilities • Earlier detected vulnerabilities should be solved and fixed • Pen-test the applications • Check for flaws in security through IDS and IPS tools • Improve awareness of good security
Investigating Static and Dynamic IP Addresses • DHCP log file stores information regarding the IP address allocated to a particular host at a particular time • Static IP address of a particular host can be found with the help of tools such as Nslookup, WHOIS, Traceroute, ARIN, and NeoTrace
Checklist for Web Security • Checklist items include: • Make sure user accounts do not have weak or missing passwords • Block unused open ports • Check for various Web attacks • Check whether IDS or IPS is deployed • Use a vulnerability scanner to look for possible intrusion areas • Test the Web site to check whether it can handle large loads and SSL (if it is an e-commerce Web site) • Document the list of techniques, devices, policies, and necessary steps for security
Statistics Figure 3-7 This table shows the reported instances of various types of Web attacks.
Statistics (continued) Figure 3-8 This table shows the number of reported defacements of several types of Web servers.
Statistics (continued) Figure 3-9 This table shows the total number of Web site defacements every year on both Linux and Windows.
Tools for Web Attack Investigations • Server Log Analysis • Analyzes server logs by changing IP addresses into domain names with the help of httpdanalyse.c • Mapper • Helps to map the files, file parameters, and values of any site
Analog Figure 3-10 Analog analyzes log files.
Deep Log Analyzer Figure 3-11 Deep Log Analyzer is designed specifically for small and medium-sized sites.
AWStats Figure 3-12 AWStats creates reports in HTML format.
WebLog Expert Figure 3-13 WebLog Expert also generates HTML reports.
AlterWind Log Analyzer Figure 3-14 AlterWind Log Analyzer comes in three different versions.
Webalizer Figure 3-15 Webalyzer is a fast and free Web log analyzer.