Hi, yesterday @RussianPanda9xx wrote an article about the AsukaStealer: The Next Chapter in ObserverStealer's Story - ANY.RUN's Cybersecurity Blog. She describes the differences between the AsukaStealer and the original variant - ObserverStealer.
There is one noteworthy point: Asuka does not decrypt browser data as the Observer did previously. This reduces the visibility of loading additional modules; all decryption occurs on the server.
The raw data sent as a result has a different content type, previously it was text/plain is now multipart/form-data . And as a consequence of the need for decryption on the server side, another parameter was added - the key (Google_KEY|Firefox_KEY|Edge_KEY).
I made rules for the packets inspection because I couldnāt reach the required HTTP transaction with the Suricata HTTP parser (http.header).
But I had to cheat a little so as not to check the packets of all protocols and set a condition for the presence of HTTP in the connection (alert http) and look for the content in TCP packets.
Rules:
Exfiltrates SQLite Browsers Data
alert http any any -> any any (msg: "ET MALWARE [ANY.RUN] AsukaStealer Exfiltrates SQLite Browsers Data";
flow: established, to_server;
content: "POST";
startswith;
content: "Content-Type: multipart|2f|form-data|3b| boundary="; distance: 0;
content: "X-Session|3a| "; within: 350;
content: "X-Info|3a|"; within: 45;
content: "X-Config|3a| "; within: 350;
pcre: "/^(Google_COK|Firefox_COK|Edge_COK)\r/R";
content: "X-ID|3a| "; within: 22;
threshold:type limit, seconds 120, count 1, track by_src;classtype: credential-theft;
reference:md5,ae5537f1a506140ee101ffdf4605fdcc;
reference:url,app.any.run/tasks/7a36fb55-3738-4f40-b760-b443689c9edd;
reference:url,community.emergingthreats.net/t/asukastealer-observerstealer-gen;
metadata: malware_family asukastealer, created_at 2024_03_19;
sid: 1; rev: 1;)
Sends MasterKey to Decrypt Browsers Data
alert http any any -> any any (msg: "ET MALWARE [ANY.RUN] AsukaStealer Sends MasterKey to Decrypt Browsers Data";
flow: established, to_server;
content: "POST";
startswith;
content: "Content-Type: text|2f|plain"; distance: 0;
content: "X-Session|3a| "; within: 350;
content: "X-Info|3a|"; within: 45;
content: "X-Config|3a| "; within: 350;
pcre: "/^(Google_KEY|Firefox_KEY|Edge_KEY)\r/R";
content: "X-ID|3a| "; within: 22;
threshold:type limit, seconds 120, count 1, track by_src;classtype: credential-theft;
reference:md5,ae5537f1a506140ee101ffdf4605fdcc;
reference:url,app.any.run/tasks/7a36fb55-3738-4f40-b760-b443689c9edd;
reference:url,community.emergingthreats.net/t/asukastealer-observerstealer-gen;
metadata: malware_family asukastealer, created_at 2024_03_19;
sid: 2; rev: 1;)
Have a nice day!
š¤£š„§š”¼āā.ą³ąæ*:ļ½„.
Jane