Reading CERT-UA's UAC-0010 / Gamaredon update — what jumped out

A close re-read of the late-2024 CERT-UA bulletin on UAC-0010 / Gamaredon and what's worth turning into Suricata rules for a small-shop SOC.

I spent an evening this week going carefully through the latest CERT-UA bulletin on UAC-0010 (also known as Gamaredon, Primitive Bear, Trident Ursa). It’s part of my thesis-prep reading — I’m writing on behavioural anomaly detection in network traffic and Gamaredon is the most loudly-active APT in the public CERT-UA corpus, so it’s a natural case study.

A few things jumped out that are worth turning into actual detection content for someone running a small-shop SOC. None of these are novel research; they’re me reading carefully and trying to translate “the bulletin says X” into “here’s what you’d watch for”.

Pterodo file-naming schemas keep getting reused

Across the recent CERT-UA dispatches the HTML / VBS / SFX / RAR filenames have a bunch of recurring shapes:

These are CERT-UA’s published indicators; not me re-deriving from samples. But the regex shape is stable enough across bulletins that it’s worth a static-content rule. Suricata sketch (untested at scale — this is a thinking-out-loud rule, not a production-deploy one):

alert http any any -> $HOME_NET any (msg:"UAC-0010 Pterodo Scan_X_Y_Z filename pattern";
  flow:established,to_client; http.uri;
  pcre:"/Scan_\d+_\d+_\d+_\d{4}_\d{2}\.\d{2}\.20\d{2}\.html?/i";
  classtype:trojan-activity; sid:9001500; rev:1; reference:url,cert.gov.ua/article/...;)

The 2 in \d{2}\.\d{2}\.20 is a poor hack to anchor on 20XX years. Probably wants \.(202[4-9])\. instead. As written this rule will fire on benign legitimate file uploads named with similar conventions — it needs to_client flow direction, attachment-content-type checks, and some host-filter to be useful in production. Take it as a sketch.

Beacon URL pattern is the more useful tell

Per CERT-UA’s IOCs the recent waves carry beacon URLs like http://<bare-IP>/<verb><suffix>?-<DD>-<MM> where:

Five of those six verbs feature double-letter alliteration (vv, Ss, kk, pp, uu) — that lines up with Gamaredon’s well- documented alliterative-naming TTP, the same one that produces riontos.ru style apex names with a recurring first letter. Whoever designs the operator-side URL generator is consistent.

The detection-engineering useful bit isn’t the specific verb list (the operators rotate them), it’s the bare-IP plain-HTTP beacon to a double-letter URL path, which is a very high-signal shape for “something Pterodo-flavoured is calling home”. A Suricata sketch that matches the shape, not the specific verbs:

alert http any any -> any any (msg:"UAC-0010 plain-HTTP bare-IP beacon (alliterative path)";
  flow:established,to_server;
  http.host; pcre:"/^\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}$/";
  http.uri; pcre:"/^\/([A-Z][a-z]?)\1[A-Za-z]{1,4}-\d{2}-\d{2}/";
  classtype:trojan-activity; sid:9001501; rev:1;)

That regex matches paths starting with one capital + one lowercase + the same letter again (the alliteration), followed by 1-4 letters, then -DD-MM. Imperfect — won’t catch the Akk / Akad shapes because those don’t have lowercase before the doubled letter. Better shape probably involves an explicit verb-list of the form (Svvr|SSsr|Akad|Akk|Gpps|Mouuds) followed by suffix and date. Tune to your environment’s noise.

What I’m going to put in the thesis

Both shapes (the filename schema, and the beacon URL pattern) are candidate examples for the empirical chapter — they’re cumulative- behavioural signals where a single hit isn’t conclusive, but a combination (“workstation downloaded a Scan_X_Y_Z_NNNN_DD.MM.YYYY.htm attachment AND beaconed to a bare-IP URL with alliterative path within 60s”) is high-confidence.

CERT-UA’s bulletins are extraordinarily generous publications and the quality is high. If you’re a UA cybersec student or a junior SOC analyst, the CERT-UA bulletin archive is one of the highest-density learning resources I know of for practising “TTP description → detection rule” translation.

(I’ve published the Suricata-elk-lab Docker-Compose I used for the thesis empirical chapter at github.com/palianytsia-200/suricata-elk-lab. Not production-ready — student work. But useful as a reproducible bench.)