"Lab 19 — Web Application Attack Investigation"
Mission Information
Section titled “Mission Information”| Item | Details |
|---|---|
| Lab | 19 |
| Lab Name | Web Application Attack Investigation |
| Track | CompTIA CySA+ |
| Difficulty | Intermediate–Advanced |
| Estimated Time | 150–180 minutes |
| Primary Role | SOC Analyst / Cybersecurity Analyst |
| Environment | CySA+ Web Security Investigation Lab |
| Primary Systems | Web Server + SIEM + Analyst Workstation |
| Primary Data Sources | Web Access Logs, Application Logs, WAF Alerts, Zeek, Suricata, Authentication Logs, File Telemetry |
| Skills | Web Log Analysis, HTTP Investigation, Attack Detection, IOC Analysis, Server Investigation, Incident Scoping |
Mission Scenario
Section titled “Mission Scenario”You are working as a Cybersecurity Analyst at GHC Enterprise.
The SOC receives several security alerts involving a public-facing web application.
The activity begins with unusual requests from an external source.
Within minutes, the environment records:
Repeated HTTP Requests ↓Authentication Failures ↓Suspicious URL Parameters ↓Unexpected Server Errors ↓New File Activity ↓Outbound Network CommunicationA web administrator also reports that an unexpected file appeared inside the application’s web directory.
The security team suspects that someone may have attempted to exploit the application.
You must determine:
-
what source generated the activity
-
which URLs were targeted
-
which HTTP methods were used
-
whether authentication was attacked
-
whether injection patterns appeared
-
whether path traversal was attempted
-
whether malicious files were uploaded
-
whether a web shell or similar artifact exists
-
whether server-side execution occurred
-
whether the attacker established outbound communication
-
whether user accounts or application data were affected
-
whether the application must be isolated
Mission Objective: Investigate a simulated web application attack using web logs, security alerts, server telemetry, and network evidence to determine whether exploitation succeeded and what systems, users, and data may be affected.
Mission Objectives
Section titled “Mission Objectives”By completing this lab, you will be able to:
-
investigate HTTP access logs
-
interpret HTTP methods
-
analyze status codes
-
identify high-volume source activity
-
investigate web authentication attacks
-
identify suspicious parameters
-
recognize SQL injection indicators
-
recognize cross-site scripting indicators
-
recognize path traversal indicators
-
recognize command-injection indicators
-
identify suspicious file uploads
-
investigate potential web shells
-
correlate web and operating-system telemetry
-
review WAF and IDS alerts
-
investigate outbound network activity
-
enrich suspicious IPs and domains
-
construct a web attack timeline
-
determine whether exploitation succeeded
-
determine incident scope
-
recommend containment actions
1. Understand the Web Investigation Workflow
Section titled “1. Understand the Web Investigation Workflow”Use:
Web Alert ↓Identify Source ↓Analyze HTTP Requests ↓Identify Targeted Application ↓Review Authentication ↓Analyze Parameters ↓Identify Exploit Indicators ↓Review Server Activity ↓Investigate Files ↓Review Network Connections ↓Determine Impact ↓Scope Incident ↓Contain / EscalateThe most important question is:
Did the attacker only probe the application, or did exploitation actually succeed?
2. Start the Lab Environment
Section titled “2. Start the Lab Environment”Start:
CYSA-ANALYST10.10.10.10
CYSA-SIEM10.10.10.40
CYSA-WEB0110.10.10.50Use a safe lab web application or instructor-provided web logs.
Do not attack public systems.
3. Create the Investigation Workspace
Section titled “3. Create the Investigation Workspace”On CYSA-ANALYST:
mkdir -p ~/CySA-Lab/Investigations/LAB19/{WebLogs,ServerLogs,Network,IOCs,Screenshots,Findings,Reports}Create:
touch ~/CySA-Lab/Investigations/LAB19/investigation-notes.mdUse:
Incident ID:LAB19-WEB-0014. Record the Initial Alert
Section titled “4. Record the Initial Alert”Document:
Incident:LAB19-WEB-001
Asset:CYSA-WEB01
IP:10.10.10.50
Application:GHC Training Web Application
Alert Time:<timestamp>
Detection:Suspicious Web Request ActivityCapture:
Source IPDestinationRequested URIHTTP MethodSignatureSeverity5. Define the Investigation Window
Section titled “5. Define the Investigation Window”If the first alert occurs at:
14:30begin with:
14:15–15:00Then expand backward or forward based on evidence.
6. Identify Web Log Sources
Section titled “6. Identify Web Log Sources”Common sources include:
Apache access.logApache error.logNginx access.logNginx error.logApplication LogsReverse Proxy LogsWAF LogsDetermine which are available.
7. Understand Access Log Fields
Section titled “7. Understand Access Log Fields”A common access-log entry may contain:
Source IPTimestampHTTP MethodURIStatus CodeResponse SizeRefererUser-AgentExample:
203.0.113.25 - - [26/Aug/2026:14:30:02]"GET /login HTTP/1.1" 200 54218. Review Recent Web Requests
Section titled “8. Review Recent Web Requests”On the web server:
sudo tail -n 100 /var/log/apache2/access.logor for Nginx:
sudo tail -n 100 /var/log/nginx/access.logUse the path appropriate to your environment.
9. Filter by Source IP
Section titled “9. Filter by Source IP”Suppose the suspicious source is:
203.0.113.25Search:
grep "203.0.113.25" /var/log/apache2/access.logRecord:
First RequestLast RequestRequest CountTargeted URLsHTTP MethodsStatus CodesUser-Agent10. Count Requests from the Source
Section titled “10. Count Requests from the Source”Run:
grep "203.0.113.25" /var/log/apache2/access.log | wc -lHigh volume may indicate:
ScanningBrute ForceAutomationLoad TestingContext is required.
11. Identify Top Source IPs
Section titled “11. Identify Top Source IPs”Run:
awk '{print $1}' /var/log/apache2/access.log |sort |uniq -c |sort -nr |headThis helps identify unusually active systems.
12. Investigate HTTP Methods
Section titled “12. Investigate HTTP Methods”Common methods include:
GETPOSTHEADPUTDELETEOPTIONSPATCHCount methods used by the suspicious source.
For example:
grep "203.0.113.25" /var/log/apache2/access.log |awk -F'"' '{print $2}' |awk '{print $1}' |sort |uniq -c13. Understand Suspicious HTTP Methods
Section titled “13. Understand Suspicious HTTP Methods”An unexpected:
PUTDELETErequest may deserve investigation if the application does not normally use those methods.
Do not assume malicious intent purely from the method.
14. Analyze HTTP Status Codes
Section titled “14. Analyze HTTP Status Codes”Common codes:
| Code | Meaning |
|---|---|
| 200 | Success |
| 301 / 302 | Redirect |
| 400 | Bad Request |
| 401 | Unauthorized |
| 403 | Forbidden |
| 404 | Not Found |
| 500 | Internal Server Error |
Large sequences of:
404may suggest discovery/scanning.
Repeated:
401403may indicate unauthorized access attempts.
15. Count Status Codes
Section titled “15. Count Status Codes”Run:
grep "203.0.113.25" /var/log/apache2/access.log |awk '{print $9}' |sort |uniq -c |sort -nrLook for unusual patterns.
16. Identify Targeted Paths
Section titled “16. Identify Targeted Paths”Extract requested paths:
grep "203.0.113.25" /var/log/apache2/access.log |awk -F'"' '{print $2}' |awk '{print $2}'Look for:
/admin/login/api/upload/config/.env/backup/phpmyadmindepending on the application.
17. Identify Reconnaissance Behavior
Section titled “17. Identify Reconnaissance Behavior”Requests to many unrelated paths such as:
/phpmyadmin/wp-login.php/.git//.env/admin//backup.zipmay indicate automated web reconnaissance.
This does not mean exploitation succeeded.
18. Investigate Authentication Attacks
Section titled “18. Investigate Authentication Attacks”Search requests targeting:
/login/auth/signinLook for repeated POST requests.
Example pattern:
POST /loginPOST /loginPOST /loginPOST /loginfrom one source.
19. Correlate Authentication Logs
Section titled “19. Correlate Authentication Logs”If the application records authentication separately, search:
Failed LoginSuccessful LoginUsernameSource IPTimestampDetermine:
Did failures eventually become a success?20. Investigate Password Spraying Indicators
Section titled “20. Investigate Password Spraying Indicators”Web authentication activity such as:
Source A ↓user01 — failuser02 — failuser03 — failuser04 — failmay resemble password spraying.
Compare with Lab 10 concepts.
21. Investigate Brute-Force Indicators
Section titled “21. Investigate Brute-Force Indicators”Another pattern:
Source A ↓admin — failadmin — failadmin — failadmin — successmay resemble brute force.
22. Investigate Query Parameters
Section titled “22. Investigate Query Parameters”Web attacks often target user-controlled parameters.
Example:
/search?q=testor:
/product?id=10Review suspicious requests for unusual parameter values.
23. Recognize SQL Injection Indicators
Section titled “23. Recognize SQL Injection Indicators”Potential indicators can include strings resembling:
'"ORUNIONSELECT--For example:
/product?id=1'...Do not reproduce or test exploit payloads outside the safe lab.
The analyst’s goal is to identify evidence already present in logs.
24. Search Logs for SQL-Related Indicators
Section titled “24. Search Logs for SQL-Related Indicators”Use safe text searches against the stored logs.
For example:
grep -Ei "union|select|%27|%22" /var/log/apache2/access.logExpect false positives.
Validate manually.
25. Recognize Cross-Site Scripting Indicators
Section titled “25. Recognize Cross-Site Scripting Indicators”Potential XSS-related requests may contain HTML or script-like content.
Look for encoded or literal references resembling:
<scriptjavascript:onerror=Again, do not replay suspicious payloads.
26. Search for XSS Indicators
Section titled “26. Search for XSS Indicators”Example:
grep -Ei "script|javascript|onerror" /var/log/apache2/access.logInspect matches in context.
27. Recognize Path Traversal Indicators
Section titled “27. Recognize Path Traversal Indicators”Path traversal attempts may include sequences resembling:
../..\%2e%2eThe goal may be to access files outside the intended web directory.
28. Search for Traversal Indicators
Section titled “28. Search for Traversal Indicators”Run:
grep -Ei "\.\./|%2e%2e" /var/log/apache2/access.logReview:
Requested PathStatus CodeResponse SizeTimestampSource IP29. Recognize Command-Injection Indicators
Section titled “29. Recognize Command-Injection Indicators”Potential command-injection attempts may include shell-related syntax or commands.
Do not replay or execute any suspicious payload.
Instead, investigate:
RequestServer ResponseApplication ErrorSubsequent OS Process ActivitySuccessful exploitation should create corroborating server-side evidence.
30. Correlate HTTP Requests with Server Processes
Section titled “30. Correlate HTTP Requests with Server Processes”This is critical.
Suppose:
14:32:04Suspicious HTTP Requestand:
14:32:05Unexpected shell process spawned by web serviceTogether:
Web Request +Server Process =Potential Exploitation31. Identify the Web Server Process
Section titled “31. Identify the Web Server Process”Depending on the stack, the web process may include:
apache2httpdnginxphp-fpmnodejavapythonDetermine which account runs the service.
32. Investigate Child Processes of the Web Service
Section titled “32. Investigate Child Processes of the Web Service”Unexpected lineage such as:
apache2 ↓shell / script interpreteror:
php-fpm ↓unexpected OS processrequires investigation.
Record:
Parent ProcessChild ProcessUserCommand LineTimestamp33. Investigate Error Logs
Section titled “33. Investigate Error Logs”Review:
sudo tail -n 100 /var/log/apache2/error.logor:
sudo tail -n 100 /var/log/nginx/error.logLook for:
Application ExceptionsPermission ErrorsUnexpected File AccessScript ErrorsBackend Errors34. Investigate Application Logs
Section titled “34. Investigate Application Logs”If the application maintains logs, review:
AuthenticationDatabase ErrorsUpload ActivityAPI RequestsSession ActivityApplication ExceptionsApplication logs often provide context not visible in access logs.
35. Investigate Suspicious File Uploads
Section titled “35. Investigate Suspicious File Uploads”Look for requests targeting:
/upload/files/images/importIdentify:
FilenameExtensionSizeSource IPTimestampUserHTTP Response36. Review Web Directory File Activity
Section titled “36. Review Web Directory File Activity”Identify recently created files inside the web root.
Example on Linux:
sudo find /var/www -type f -mmin -60 -lsAdjust the path to your lab web root.
Do not execute suspicious files.
37. Investigate Unexpected Script Files
Section titled “37. Investigate Unexpected Script Files”Potentially interesting extensions include:
.php.jsp.aspx.py.shdepending on the technology stack.
An unexpected script inside an upload directory may require urgent investigation.
38. Preserve Suspicious Files
Section titled “38. Preserve Suspicious Files”Copy suspicious files safely into:
LAB19/Evidence/Do not open them through a browser.
Calculate:
sha256sum <suspicious-file>Record the hash.
39. Investigate Potential Web Shell Indicators
Section titled “39. Investigate Potential Web Shell Indicators”A web shell is a server-side artifact that can provide remote command functionality.
Potential indicators include:
Unexpected server-side scriptRecently created fileSmall obfuscated scriptRequests repeatedly targeting one unusual fileWeb process spawning OS commandsOutbound network connectionsDo not execute or interact with the suspected shell.
40. Search Access Logs for the Suspicious File
Section titled “40. Search Access Logs for the Suspicious File”If the file is:
support.phpsearch:
grep "support.php" /var/log/apache2/access.logDetermine:
Who accessed it?When?How often?Which HTTP methods?What status codes?41. Correlate File Access with Process Activity
Section titled “41. Correlate File Access with Process Activity”Example:
14:40GET /uploads/support.php
14:40Web service spawns unexpected processThis combination strongly increases concern.
42. Investigate Outbound Network Connections
Section titled “42. Investigate Outbound Network Connections”On the server:
sudo ss -antpReview:
Remote IPRemote PortProcessStateUnexpected outbound connections from the web service require investigation.
43. Correlate with Zeek
Section titled “43. Correlate with Zeek”Search:
10.10.10.50in network telemetry.
Review:
External destinationsPortsProtocolsDurationBytesDNSHTTP/TLS44. Correlate with Suricata
Section titled “44. Correlate with Suricata”Search for:
10.10.10.50and the attacker’s IP.
Review:
SignatureCategorySeverityTimestampSourceDestination45. Review WAF Alerts
Section titled “45. Review WAF Alerts”If a Web Application Firewall is present, inspect:
Rule IDAttack CategoryURIParameterSource IPActionTimestampPossible categories include:
SQL InjectionXSSTraversalProtocol ViolationSuspicious Upload46. Understand WAF Alert Limitations
Section titled “46. Understand WAF Alert Limitations”A WAF alert means:
Request matched security logicnot:
Server definitely compromisedYou must correlate with:
HTTP ResponseApplication LogsProcess ActivityFile ActivityNetwork Activity47. Determine Whether the Attack Was Blocked
Section titled “47. Determine Whether the Attack Was Blocked”Review:
WAF ActionHTTP StatusApplication ResponseExample:
WAF:Blocked
HTTP:403This suggests the request may not have reached the application.
But validate additional evidence.
48. Determine Whether Exploitation Succeeded
Section titled “48. Determine Whether Exploitation Succeeded”Evidence of successful exploitation may include:
HTTP Request Accepted +Unexpected Server Process +New Suspicious File +Network ConnectionThe stronger the correlation, the stronger the conclusion.
49. Investigate Database Activity
Section titled “49. Investigate Database Activity”If SQL injection is suspected, review database or application telemetry where available.
Look for:
Unexpected QueriesDatabase ErrorsUnusual Account ActivityLarge Data ResponsesSchema AccessDo not infer database compromise solely from an SQL-injection-looking HTTP request.
50. Investigate Data Access
Section titled “50. Investigate Data Access”Ask:
Was sensitive information requested?
Were administrative APIs accessed?
Were large responses returned?
Were unusual exports generated?This helps determine confidentiality impact.
51. Investigate Session and Account Activity
Section titled “51. Investigate Session and Account Activity”If the web application uses sessions, review:
User AccountSession IDLogin TimeSource IPPrivilegeAccount ChangesDetermine whether a legitimate user’s session may have been abused.
52. Investigate Privileged Application Accounts
Section titled “52. Investigate Privileged Application Accounts”Look for activity involving:
AdministratorSupportService AccountAPI AccountCompromise of privileged application identities can increase impact.
53. Enrich the Source IP
Section titled “53. Enrich the Source IP”Use the Lab 16 process.
Investigate:
ASNHosting ProviderReputationScanning HistoryMalware AssociationsRelated DomainsAssign:
Confidence:Low / Medium / High54. Enrich Suspicious Domains and Hashes
Section titled “54. Enrich Suspicious Domains and Hashes”If server-side activity references:
DomainIPHashenrich those indicators.
Then search your SIEM for internal matches.
55. Determine Whether Other Applications Were Targeted
Section titled “55. Determine Whether Other Applications Were Targeted”Search the source IP across all relevant web logs.
Ask:
Did the same source target additional applications?
Were the same payload patterns used?
Were multiple web servers involved?56. Search for the Suspicious File Hash Across Hosts
Section titled “56. Search for the Suspicious File Hash Across Hosts”If a suspicious server-side artifact has a SHA-256 value, search the SIEM or endpoint telemetry.
Determine:
One ServerorMultiple Systems57. Build an IOC Inventory
Section titled “57. Build an IOC Inventory”Create:
| Type | Indicator | Source | Confidence |
|---|---|---|---|
| IP | <source IP> |
Access Log | High |
| URL | <target URI> |
Access Log | Contextual |
| Hash | <SHA-256> |
Web Server | High |
| File | <filename> |
Web Root | High |
| Domain | <domain> |
Network | Medium/High |
| User-Agent | <value> |
HTTP | Contextual |
58. Identify Behavioral Indicators
Section titled “58. Identify Behavioral Indicators”Static IOCs may change.
Also document behaviors:
High-volume path enumeration
Repeated login failures
Suspicious parameter manipulation
Unexpected upload
Web service spawning OS process
Outbound connection from web serverThese can be valuable for detection engineering.
59. Map Observed Activity to MITRE ATT&CK
Section titled “59. Map Observed Activity to MITRE ATT&CK”Where supported by evidence, relevant context may include:
Exploit Public-Facing ApplicationValid AccountsWeb ShellCommand and Scripting InterpreterIngress Tool TransferApplication Layer ProtocolOnly map techniques supported by observed behavior.
60. Build the Attack Timeline
Section titled “60. Build the Attack Timeline”Example:
| Time | Source | Activity |
|---|---|---|
| 14:20 | Web | Path enumeration |
| 14:24 | Web | Login attempts |
| 14:30 | WAF | Injection alert |
| 14:33 | Web | Suspicious POST |
| 14:34 | Server | Unexpected file created |
| 14:35 | Web | New file accessed |
| 14:35 | Process | Web process spawned child |
| 14:36 | Network | External connection |
| 14:40 | SOC | Incident escalated |
Your timeline must use actual lab evidence.
61. Distinguish Reconnaissance, Attempted Exploitation, and Compromise
Section titled “61. Distinguish Reconnaissance, Attempted Exploitation, and Compromise”Use:
Reconnaissance
Attack attempts observed,no evidence of successful exploitationAttempted Exploitation
Exploit-like requests observed,success unconfirmedConfirmed Compromise
Server-side evidence confirms unauthorized execution or modification62. Determine Incident Scope
Section titled “62. Determine Incident Scope”Classify:
Affected ApplicationAffected ServerAffected UsersAffected DatabaseOther Internal SystemsExternal InfrastructureUse statuses:
Confirmed CompromisedSuspectedExposedUnaffectedUnknown63. Assess Confidentiality Impact
Section titled “63. Assess Confidentiality Impact”Ask:
Was sensitive application data accessed?
Were user records exposed?
Were credentials exposed?
Was database content retrieved?
Was data transmitted externally?64. Assess Integrity Impact
Section titled “64. Assess Integrity Impact”Ask:
Were files created?
Were application files changed?
Was database content modified?
Were accounts created or altered?65. Assess Availability Impact
Section titled “65. Assess Availability Impact”Ask:
Did the application become unavailable?
Were services stopped?
Did the attack cause errors or crashes?
Was a denial-of-service condition created?66. Determine Severity
Section titled “66. Determine Severity”Use factors such as:
Exploitation successAsset criticalityPrivileged accessData exposurePersistenceLateral movementBusiness disruptionClassify:
LowMediumHighCritical67. Determine Immediate Containment
Section titled “67. Determine Immediate Containment”Potential actions include:
Block confirmed malicious sourcePlace WAF ruleDisable compromised accountRemove affected application from serviceIsolate web serverRestrict outbound connectivityPreserve suspicious filesRotate exposed credentialsFollow organizational policy.
68. Preserve Evidence Before Remediation
Section titled “68. Preserve Evidence Before Remediation”Before:
Delete Suspicious FilePatch ServerRestart ApplicationRebuild Hostpreserve:
Web LogsApplication LogsProcess EvidenceFile HashesSuspicious FilesNetwork TelemetryAuthentication Logs69. Determine Root Cause
Section titled “69. Determine Root Cause”Possible conclusions:
Public Application Vulnerability
Credential Compromise
Unsafe File Upload
Application Misconfiguration
UnknownIf evidence does not support a conclusion:
Root Cause:Undetermined70. Create a Web Incident Summary
Section titled “70. Create a Web Incident Summary”Use:
Incident:LAB19-WEB-001
Asset:CYSA-WEB01
Source:<source IP>
Attack Type:<classification>
Initial Activity:<finding>
Successful Exploitation:Confirmed / Suspected / Not Confirmed
Suspicious File:<file>
Server-Side Execution:Confirmed / Not Confirmed
External Communication:<finding>
Data Exposure:Confirmed / Suspected / Not Observed / Unknown
Scope:<number of assets/users>
Severity:<severity>
Containment:<required action>71. Mission Challenge — Web Application Attack
Section titled “71. Mission Challenge — Web Application Attack”The SOC reports:
A public-facing application received suspicious web requests followed by unexpected server-side file and process activity. Determine whether the application was compromised.
Investigate:
-
What source IP generated the activity?
-
When did it begin?
-
How many requests were generated?
-
Which URLs were targeted?
-
Which HTTP methods were used?
-
Which status codes were returned?
-
Was reconnaissance observed?
-
Were login attempts observed?
-
Did authentication succeed?
-
Were SQL injection indicators present?
-
Were XSS indicators present?
-
Was path traversal observed?
-
Were command-injection indicators present?
-
Did the WAF generate alerts?
-
Were requests blocked?
-
Did application errors occur?
-
Was a suspicious file uploaded?
-
What is the file hash?
-
Was the suspicious file accessed?
-
Did the web service spawn unexpected processes?
-
Did the server initiate outbound connections?
-
What external infrastructure was contacted?
-
Did threat intelligence identify relevant indicators?
-
Was database activity suspicious?
-
Was sensitive data accessed?
-
Were privileged accounts affected?
-
Are other web servers affected?
-
Is exploitation confirmed?
-
What is the incident severity?
-
What containment actions are required?
72. Document Your Findings
Section titled “72. Document Your Findings”Update:
~/CySA-Lab/Investigations/LAB19/investigation-notes.mdUse:
# LAB19 Web Application Attack Investigation
## Incident ID
LAB19-WEB-001
## Application
- Host:- IP:- Application:- Investigation Window:
## Initial Alert
Document:- source- destination- signature- severity- timestamp
## HTTP Analysis
Document:- request count- methods- URIs- parameters- status codes- user agents
## Reconnaissance
Document path and resource enumeration.
## Authentication
Document:- attempts- accounts- failures- successes
## Exploit Indicators
### SQL Injection
Observed / Not Observed
### XSS
Observed / Not Observed
### Path Traversal
Observed / Not Observed
### Command Injection
Observed / Not Observed
## WAF Evidence
Document:- rule- action- source- request- timestamp
## Server Evidence
Document:- processes- parent-child relationships- command lines- application errors
## File Activity
Document:- filename- path- creation time- SHA-256- access history
## Network Activity
Document:- destination IPs- domains- ports- Zeek- Suricata
## Threat Intelligence
Document enrichment findings.
## Data Impact
Document:- data access- data modification- possible exfiltration
## Scope
Document:- applications- servers- users- databases- related systems
## Exploitation Status
Reconnaissance / Attempted Exploitation / Confirmed Compromise / Inconclusive
## Severity
Low / Medium / High / Critical
## Root Cause
Confirmed / Suspected / Undetermined
## Containment
Document immediate actions.
## Final Assessment
Summarize the investigation.73. Example Analyst Findings
Section titled “73. Example Analyst Findings”A simulated assessment might resemble:
Incident:LAB19-WEB-001
Asset:CYSA-WEB01
Initial Activity:High-volume reconnaissance and suspicious parameter manipulation were observed from one external source.
WAF:Multiple web-attack signatures were generated.
Application:Unexpected server errors were observed shortly after the suspicious requests.
File Activity:A previously unknown server-side script appeared within the web directory.
Process Activity:The web-service process subsequently spawned unexpected child activity.
Network Activity:The server established an outbound connection shortly afterward.
Assessment:The combined web, filesystem, process, and network evidence is consistent with successful exploitation in the simulated laboratory.
Classification:Confirmed Web Application Compromise
Scope:One web server currently confirmed affected. Additional infrastructure requires IOC hunting.
Severity:High
Containment:Isolate or remove the affected application from service, preserve evidence, block validated malicious indicators, restrict server outbound connectivity, rotate potentially exposed credentials, and investigate the application vulnerability that enabled compromise.74. Evidence to Capture
Section titled “74. Evidence to Capture”Capture:
01-initial-web-alert.png02-access-log.png03-source-ip-activity.png04-request-count.png05-http-methods.png06-status-codes.png07-targeted-paths.png08-authentication-attacks.png09-injection-indicators.png10-path-traversal.png11-waf-alert.png12-error-log.png13-suspicious-upload.png14-file-hash.png15-web-shell-access.png16-process-lineage.png17-network-connections.png18-zeek-correlation.png19-suricata-correlation.png20-threat-intelligence.png21-ioc-inventory.png22-attack-timeline.png23-incident-scope.png24-final-assessment.png75. Validation Checklist
Section titled “75. Validation Checklist”-
Initial web alert was preserved
-
Investigation window was established
-
Web log sources were identified
-
Suspicious source IP was investigated
-
Request volume was analyzed
-
HTTP methods were analyzed
-
Status codes were analyzed
-
Targeted URLs were identified
-
Reconnaissance behavior was investigated
-
Authentication activity was analyzed
-
Password attack patterns were considered
-
Request parameters were investigated
-
SQL injection indicators were reviewed
-
XSS indicators were reviewed
-
Path traversal indicators were reviewed
-
Command-injection indicators were reviewed
-
Server-side process telemetry was investigated
-
Error logs were reviewed
-
Application logs were reviewed
-
Suspicious file uploads were investigated
-
Recently created web files were reviewed
-
Suspicious files were preserved
-
SHA-256 was calculated
-
Potential web-shell activity was investigated
-
Suspicious file access was correlated with server activity
-
Outbound network connections were investigated
-
Zeek telemetry was correlated
-
Suricata telemetry was correlated
-
WAF alerts were analyzed
-
WAF block status was determined
-
Database activity was considered
-
User/session activity was investigated
-
Threat intelligence enrichment was performed
-
Related systems were searched
-
IOC inventory was created
-
Behavioral indicators were documented
-
ATT&CK mapping was performed where supported
-
Attack timeline was built
-
Reconnaissance was distinguished from compromise
-
Confidentiality impact was assessed
-
Integrity impact was assessed
-
Availability impact was assessed
-
Incident severity was assigned
-
Containment requirements were documented
-
Root cause was investigated
-
Evidence was captured
76. Mission Review
Section titled “76. Mission Review”In this mission, you learned that a web attack investigation cannot stop at:
Suspicious HTTP RequestYou must determine whether the activity progressed:
Reconnaissance ↓Authentication Attack ↓Exploit Attempt ↓Application Response ↓Server-Side Execution ↓File Modification ↓Network Activity ↓Potential Data ImpactThe critical lesson is:
An exploit-looking request is only one piece of evidence. Confirmed web compromise requires correlation between web activity and server-side impact.
A strong analyst combines:
Web Logs +WAF +Application Logs +Process Telemetry +File Evidence +Network Evidence +Threat Intelligence =Web Incident ContextSkills Developed
Section titled “Skills Developed”After completing this mission, you should be able to:
-
investigate web application security alerts
-
analyze web access logs
-
analyze HTTP methods and status codes
-
identify reconnaissance behavior
-
investigate web authentication attacks
-
recognize common injection indicators
-
identify path traversal patterns
-
investigate suspicious upload activity
-
identify potential web-shell evidence
-
correlate HTTP requests with server processes
-
investigate outbound server connections
-
analyze WAF alerts
-
correlate Zeek and Suricata evidence
-
enrich web-related IOCs
-
assess data impact
-
determine whether exploitation succeeded
-
scope a web application incident
-
recommend containment
-
document web compromise findings
What’s Next?
Section titled “What’s Next?”Lab 20 — SOC Analyst Capstone Investigation
Section titled “Lab 20 — SOC Analyst Capstone Investigation”You have now completed focused investigations across:
WindowsLinuxNetwork TrafficZeekSuricataSIEMAuthenticationPhishingMalwareVulnerability ManagementThreat IntelligenceIncident ResponseRansomwareWeb ApplicationsIn the final CySA+ lab, you will receive a multi-stage enterprise incident without being told exactly what happened.
You will need to determine:
-
initial access
-
affected identity
-
compromised endpoint
-
suspicious network activity
-
malicious file activity
-
persistence
-
privilege use
-
lateral movement
-
web or application activity
-
indicators of compromise
-
incident scope
-
attack timeline
-
MITRE ATT&CK mapping
-
severity
-
containment priorities
-
remediation
-
executive summary
-
technical incident report
The final workflow becomes:
Raw Alerts ↓Triage ↓Investigation ↓Correlation ↓Scope ↓Evidence ↓Attack Story ↓Containment ↓Reporting➡️ Next: Lab 20 — SOC Analyst Capstone Investigation