Hi all! A fairly new stealer was discovered today that leaves a note with an advertisement on the victim’s computer) This is very strange… I propose the following set of rules for detection:
alert http any any -> any any (msg: "ET MALWARE [ANY.RUN] ObserverStealer (Screenshot)";flow: established, to_server; http.method; content: "POST"; http.header; content: "X-Config: SCR|0d0a|"; content: "X-Session: "; pcre: "/^([0-9a-f]{8})-([0-9a-f]{4})-([0-9a-f]{4})-([0-9a-f]{4})-([0-9a-f]{12})/R";content: "X-ID: "; pcre: "/^([0-9a-f]{8})-([0-9a-f]{4})-([0-9a-f]{4})-([0-9a-f]{4})-([0-9a-f]{12})/R";http.header_names; content: "X-Session|0d 0a|X-Info|0d 0a|X-Config|0d 0a|X-ID"; classtype: credential-theft; reference:md5,c28cc92a7c78b96bec58fa3e5398074a; reference:url,app.any.run/tasks/5728c30e-00c1-4f87-9522-ff8b9e08fa32/; metadata:attack_target Client_Endpoint, deployment Perimeter, former_category MALWARE, signature_severity Major, malware_family ObserverStealer, created_at 2023_06_06; sid: 8000150; rev: 1;)
alert http any any -> any any (msg: "ET MALWARE [ANY.RUN] ObserverStealer (System Information)";flow: established, to_server; http.method; content: "POST"; http.header; content: "X-Config: SYS|0d0a|"; content: "X-Session: "; pcre: "/^([0-9a-f]{8})-([0-9a-f]{4})-([0-9a-f]{4})-([0-9a-f]{4})-([0-9a-f]{12})/R";content: "X-ID: "; pcre: "/^([0-9a-f]{8})-([0-9a-f]{4})-([0-9a-f]{4})-([0-9a-f]{4})-([0-9a-f]{12})/R";http.header_names; content: "X-Session|0d 0a|X-Info|0d 0a|X-Config|0d 0a|X-ID"; classtype: credential-theft; reference:md5,c28cc92a7c78b96bec58fa3e5398074a; reference:url,app.any.run/tasks/5728c30e-00c1-4f87-9522-ff8b9e08fa32/; metadata:attack_target Client_Endpoint, deployment Perimeter, former_category MALWARE, signature_severity Major, malware_family ObserverStealer, created_at 2023_06_06; sid: 8000151; rev: 1;)
alert http any any -> any any (msg: "ET MALWARE [ANY.RUN] ObserverStealer (Check-in)";flow: established, to_server; http.method; content: "POST"; http.header; content: "X-Config: HWID|0d0a|"; content: "X-Session: "; pcre: "/^([0-9a-f]{8})-([0-9a-f]{4})-([0-9a-f]{4})-([0-9a-f]{4})-([0-9a-f]{12})/R";content: "X-ID: "; pcre: "/^([0-9a-f]{8})-([0-9a-f]{4})-([0-9a-f]{4})-([0-9a-f]{4})-([0-9a-f]{12})/R";http.header_names; content: "X-Session|0d 0a|X-Info|0d 0a|X-Config|0d 0a|X-ID"; classtype: credential-theft; reference:md5,c28cc92a7c78b96bec58fa3e5398074a; reference:url,app.any.run/tasks/5728c30e-00c1-4f87-9522-ff8b9e08fa32/; metadata:attack_target Client_Endpoint, deployment Perimeter, former_category MALWARE, signature_severity Major, malware_family ObserverStealer, created_at 2023_06_06; sid: 8000152; rev: 1;)
alert http any any -> any any (msg: "ET MALWARE [ANY.RUN] ObserverStealer (Activity)";flow: established, to_server; http.method;content: "POST"; http.header;content: "X-Session: ";pcre: "/^([0-9a-f]{8})-([0-9a-f]{4})-([0-9a-f]{4})-([0-9a-f]{4})-([0-9a-f]{12})/R";content: "X-ID: ";content: !"|0d0a|"; within: 2; pcre: "/^([0-9a-f]{8})-([0-9a-f]{4})-([0-9a-f]{4})-([0-9a-f]{4})-([0-9a-f]{12})/R";http.header_names;content: "X-Session|0d 0a|X-Info|0d 0a|X-Config|0d 0a|X-ID";threshold: type limit, track by_src, seconds 300, count 1; classtype: credential-theft;reference:md5,c28cc92a7c78b96bec58fa3e5398074a;reference:url,app.any.run/tasks/5728c30e-00c1-4f87-9522-ff8b9e08fa32/;metadata:attack_target Client_Endpoint, deployment Perimeter, former_category MALWARE, signature_severity Major, malware_family ObserverStealer, created_at 2023_06_06;sid: 8000153; rev: 1;)
alert http any any -> any any (msg: "ET MALWARE [ANY.RUN] ObserverStealer (Loading)";flow: established, to_server; http.method; content: "GET"; http.uri; content: "/s?id="; pcre: "/^([0-9a-f]{8})-([0-9a-f]{4})-([0-9a-f]{4})-([0-9a-f]{4})-([0-9a-f]{12})$/R";http.host; pcre: "/^(?:(?:\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5])\.){3}(?:\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5])(:\d{2,5})?$/R";http.header; content: "Accept: */*"; depth: 11; content: "Accept-Encoding: gzip, deflate"; distance: 0; content: "Connection: Keep-Alive"; distance: 0; isdataat: !3, relative; http.user_agent;content: "Mozilla/4.0 (compatible|3b| MSIE 7.0|3b| Windows NT 6.3|3b| WOW64|3b| Trident/7.0|3b| .NET4.0C|3b| .NET4.0E|3b| .NET CLR 2.0.50727|3b| .NET CLR 3.0.30729|3b| .NET CLR 3.5.30729)";http.header_names; content: "Accept|0d 0a|Accept-Encoding|0d 0a|User-Agent|0d 0a|Host|0d 0a|Connection|0d 0a 0d 0a|"; endswith; content:!"Referer|0d 0a|"; reference:md5,c28cc92a7c78b96bec58fa3e5398074a; reference:url,app.any.run/tasks/5728c30e-00c1-4f87-9522-ff8b9e08fa32/; metadata:attack_target Client_Endpoint, deployment Perimeter, former_category MALWARE, signature_severity Major, malware_family ObserverStealer, created_at 2023_06_06; classtype: trojan-activity; sid: 8000154; rev: 1;)
The note is posted on github at:
I will be grateful for the like)
Have a nice day, regards Jane.