Detect OpenPLC ScadaBR Cross-Site Scripting (XSS) Exploitation Detected in IBM QRadar
Detects exploitation attempts targeting CVE-2021-26829, a stored or reflected cross-site scripting vulnerability in OpenPLC ScadaBR. ScadaBR is a SCADA/HMI platform used in industrial control environments. Successful exploitation allows attackers to inject malicious scripts into the web interface, potentially enabling session hijacking, credential theft, or lateral movement within OT/ICS environments. This CVE is listed on CISA's Known Exploited Vulnerabilities catalog.
MITRE ATT&CK
QRadar Detection Query
SELECT
DATEFORMAT(starttime, 'YYYY-MM-dd HH:mm:ss') AS event_time,
sourceip,
destinationip,
destinationport,
URL,
username,
"HTTP Method" AS http_method,
"HTTP Response Code" AS response_code,
CATEGORYNAME(category) AS event_category,
'CVE-2021-26829' AS cve_id,
'high' AS severity
FROM events
WHERE
LOGSOURCETYPENAME(devicetype) IN ('Apache HTTP Server', 'Microsoft IIS', 'F5 BIG-IP LTM', 'Palo Alto Networks Firewall')
AND (
URL IMATCHES '.*[Ss]cada[Bb][Rr].*'
OR URL IMATCHES '.*/scada/.*'
OR DOMAINNAME(URL) IMATCHES '.*scadabr.*'
)
AND (
URL IMATCHES '.*<script.*'
OR URL IMATCHES '.*javascript:.*'
OR URL IMATCHES '.*onerror=.*'
OR URL IMATCHES '.*onload=.*'
OR URL IMATCHES '.*alert\(.*'
OR URL IMATCHES '.*document\.cookie.*'
OR "HTTP Referrer" IMATCHES '.*<script.*'
)
AND LOGSOURCETIME(starttime) > NOW() - 24 HOURS
ORDER BY starttime DESC
LAST 7 DAYS QRadar AQL query targeting HTTP log sources for requests to ScadaBR endpoints containing XSS payload signatures in the URL or HTTP Referrer header, covering the last 7 days.
Data Sources
Required Tables
False Positives & Tuning
- Legitimate security scanning tools with authorized credentials performing web application assessments
- QRadar offense tuning rules that generate test events against ScadaBR endpoints
- URL decoding inconsistencies causing benign encoded characters to match XSS patterns
- Load balancer health checks with unusual User-Agent or URI patterns
Other platforms for CVE-2021-26829
Testing Methodology
Validate this detection against 4 adversary techniques from Atomic Red Team. Each test below lists the behaviour to exercise and the telemetry you should expect to see. Executable commands and cleanup steps are available with Pro.
- Test 1Reflected XSS Probe via ScadaBR Search Parameter
Expected signal: Web server access log entry with URI containing '<script>alert(document.cookie)</script>' and HTTP response code (200 if reflected, 400/500 if filtered). WAF logs should show XSS rule match.
- Test 2Stored XSS via ScadaBR Watchlist Name Field
Expected signal: POST request in web access logs to ScadaBR watchList endpoint with body containing XSS payload. Subsequent GET requests loading the watchlist page will serve the stored payload to other authenticated users.
- Test 3Session Cookie Exfiltration Simulation via XSS
Expected signal: Outbound HTTP GET request from the ScadaBR operator's browser/host to the attacker's listener IP on port 8888 with the session cookie in the query parameter. Network flow logs should show the lateral connection from the OT network to the attacker IP.
- Test 4ScadaBR XSS via HTTP Referrer Header Injection
Expected signal: HTTP access log entry showing the malicious Referer header value. If ScadaBR reflects the Referer in error pages or breadcrumbs, the response body will contain the injected script tag.
Unlock Pro Content
Get the full detection package for CVE-2021-26829 including response playbook, investigation guide, and atomic red team tests.