Detection rules › Splunk

Plain HTTP POST Exfiltrated Data

Status
production
Severity
medium
Group by
bytes_in, bytes_out, dest_ip, http_method, http_user_agent, src_ip, uri_path, url
Author
Teoderick Contreras, Splunk
Source
github.com/splunk/security_content

The following analytic detects potential data exfiltration using plain HTTP POST requests. It leverages network traffic logs, specifically monitoring the stream_http data source for POST methods containing suspicious form data such as "wermgr.exe" or "svchost.exe". This activity is significant because it is commonly associated with malware like Trickbot, trojans, keyloggers, or APT adversaries, which use plain text HTTP POST requests to communicate with remote C2 servers. If confirmed malicious, this activity could lead to unauthorized data exfiltration, compromising sensitive information and potentially leading to further network infiltration.

Known false positives

  • No false positives have been identified at this time.

MITRE ATT&CK coverage

Rule body

name: Plain HTTP POST Exfiltrated Data
id: e2b36208-a364-11eb-8909-acde48001122
version: 13
creation_date: '2021-04-22'
modification_date: '2026-05-13'
author: Teoderick Contreras, Splunk
status: production
type: TTP
description: The following analytic detects potential data exfiltration using plain HTTP POST requests. It leverages network traffic logs, specifically monitoring the `stream_http` data source for POST methods containing suspicious form data such as "wermgr.exe" or "svchost.exe". This activity is significant because it is commonly associated with malware like Trickbot, trojans, keyloggers, or APT adversaries, which use plain text HTTP POST requests to communicate with remote C2 servers. If confirmed malicious, this activity could lead to unauthorized data exfiltration, compromising sensitive information and potentially leading to further network infiltration.
data_source:
    - Splunk Stream HTTP
search: |-
    `stream_http` http_method=POST form_data IN ("*wermgr.exe*","*svchost.exe*", "*name=\"proclist\"*","*ipconfig*", "*name=\"sysinfo\"*", "*net view*")
      | stats values(form_data) as http_request_body min(_time) as firstTime max(_time) as lastTime count
        BY src_ip dest_ip http_method
           http_user_agent uri_path url
           bytes_in bytes_out
      | `security_content_ctime(firstTime)`
      | `security_content_ctime(lastTime)`
      | `plain_http_post_exfiltrated_data_filter`
how_to_implement: To successfully implement this search, you need to be ingesting logs with the stream HTTP logs or network logs that catch network traffic. Make sure that the http-request-body, payload, or request field is enabled.
known_false_positives: No false positives have been identified at this time.
references:
    - https://blog.talosintelligence.com/2020/03/trickbot-primer.html
finding:
    title: A http post $http_method$ sending packet with plain text of information in uri path $uri_path$
    entity:
        field: src_ip
        type: system
        score: 50
analytic_story:
    - Data Exfiltration
    - Command And Control
    - APT37 Rustonotto and FadeStealer
asset_type: Endpoint
mitre_attack_id:
    - T1048.003
product:
    - Splunk Enterprise
    - Splunk Enterprise Security
    - Splunk Cloud
category: web
security_domain: network

Stages and Predicates

Stage 1: search

`stream_http` http_method=POST form_data IN ("*wermgr.exe*","*svchost.exe*", "*name=\"proclist\"*","*ipconfig*", "*name=\"sysinfo\"*", "*net view*")

Stage 2: stats

| stats values(form_data) as http_request_body min(_time) as firstTime max(_time) as lastTime count
    BY src_ip dest_ip http_method
       http_user_agent uri_path url
       bytes_in bytes_out

Stage 3: search

| `security_content_ctime(firstTime)`

Stage 4: search

| `security_content_ctime(lastTime)`

Stage 5: search

| `plain_http_post_exfiltrated_data_filter`

Indicators

These rows show field, operator, and value matches.

FieldKindValuesSearch
form_datain
  • "*ipconfig*"
  • "*name=\"proclist\"*"
  • "*name=\"sysinfo\"*"
  • "*net view*"
  • "*svchost.exe*"
  • "*wermgr.exe*"
field:"form_data" kind:in
http_methodeq
  • POST
field:"http_method" kind:eq value:"POST"
sourcetypeeq
  • stream:http
field:"sourcetype" kind:eq value:"stream:http"