Handler on Duty: Jan Kopriva
Threat Level: green
Podcast Detail
SANS Stormcast Monday Mar 17th 2025: Analyzing GUID Encoded Shellcode; Node.js SAML Vuln; Tomcat RCE in the Wild; CSS e-mail obfuscation
If you are not able to play the podcast using the player below: Use this direct link to the audio file: https://traffic.libsyn.com/securitypodcast/9368.mp3

Analyzing GUID Encoded Shellcode; Node.js SAML Vuln; Tomcat RCE in the Wild; CSS e-mail obfuscation
00:00
My Next Class
Application Security: Securing Web Apps, APIs, and Microservices | Orlando | Apr 13th - Apr 18th 2025 |
Application Security: Securing Web Apps, APIs, and Microservices | San Diego | May 5th - May 10th 2025 |
Static Analysis of GUID Encoded Shellcode
Didier explains how to decode shell code embeded as GUIDs in malware, and how to feed the result to his tool 1768.py which will extract Cobal Strike configuration information from the code.
https://isc.sans.edu/diary/Static%20Analysis%20of%20GUID%20Encoded%20Shellcode/31774
SAMLStorm: Critical Authentication Bypass in xml-crypto and Node.js libraries
xml-crypto, a library use in Node.js applications to decode XML and support SAML, has found to parse comments incorrectly leading to several SAML vulnerabilities.
https://workos.com/blog/samlstorm
One PUT Request to Own Tomcat: CVE-2025-24813 RCE is in the Wild
A just made public deserialization vulnerablity in Tomcat is already being exploited. Contributing to the rapid exploit release is the similarity of this vulnerability to other Java deserializtion vulnerabilities.
https://lab.wallarm.com/one-put-request-to-own-tomcat-cve-2025-24813-rce-is-in-the-wild/ CVE-2025-24813
CSS Abuse for Evasion and Tracking
Attackers are using cascading stylesheets to evade detection and enable more stealthy tracking of users
https://blog.talosintelligence.com/css-abuse-for-evasion-and-tracking/
Application Security: Securing Web Apps, APIs, and Microservices | Orlando | Apr 13th - Apr 18th 2025 |
Application Security: Securing Web Apps, APIs, and Microservices | San Diego | May 5th - May 10th 2025 |
Network Monitoring and Threat Detection In-Depth | Baltimore | Jun 2nd - Jun 7th 2025 |
Application Security: Securing Web Apps, APIs, and Microservices | Washington | Jul 14th - Jul 19th 2025 |
Podcast Transcript
Hello and welcome to the Tuesday, March 18th, 2025 edition of the SANS Internet Storm Center's Stormcast. My name is Johannes Ullrich and today I'm recording from Jacksonville, Florida. And a week or so ago, Didier wrote about malware that he found that had the cobalt strike beacon encoded as UUIDs. Now, Didier also maintains a script 1768.py that helps you decode cobalt strike beacons and extract the serial number and such for the particular cobalt strike instance, which, of course, is useful for attributions and also to confirm that you're actually dealing with a cobalt strike. Well, in this case, Didier now added the ability to 1768.py to decode these UUIDs and then essentially just with a simple Python script, you now get everything you need from these UUIDs that are encoded in the malware. Interesting, nice addition to a script in case you wonder why the script is called 1768.py. Well, it turns out to be the melting point of cobalt in Kelvin, the only true temperature scale. Well, and yesterday I talked about a vulnerability in the Ruby implementation for SAML. Today, it's Node.js's turn. The problem here is the xml-crypto library. If you're using this to parse SAML messages, well, then you have a problem. The problem here actually looks a little bit familiar. A couple of years ago, Duo, I think, found a number of SAML implementations being vulnerable to how they are parsing comments in SAML messages. Comments are essentially supposed to be ignored. Well, if I would have implemented it, I would have just removed the comments and then parsed the message. But that's not what they did. And so they ended up with a bunch of sort of ambiguities around comments. This is yet another one. The root issue here is that the digest value. That's where you usually find the signature. Well, xml-crypto uses the first child element from the digest value. And that's typically your signature. But if the first child element is a comment, it will just interpret the content of the comment as the signature. And that's, again, how you can confuse XML and SAML as to what's the actual signature here for the particular message that you're presenting. This can lead to privilege escalation or outright authentication bypass. More details can be found in the blog post by Work OS. And then there is a new deserialization vulnerability in Apache Tomcat. The problem with this vulnerability is that it's pretty trivial to exploit. The only requirement is that Tomcat is using files for session IDs. The exploit itself is actually something that we have as an exercise in our SEC522 class. It uses yso serial, which is a common tool to create deserialization exploits. And then you just attach the Java object as a cookie. You send a put request with Apache Tomcat. And then later a get request using the same session ID, which will then lead to deserialization and code execution. Interesting sort of combination here of that put and get a game. But overall, like I said, easy to exploit. It's already exploit in the wild. Proof of concept has been published. Like I said, this existing exploit tool works to create an exploit for this vulnerability. So definitely patch, patch, patch, and make sure that whatever web application firewall or such you have does detect this particular exploit. And Omid Mirsay with the Cisco Talus research team did publish an interesting blog post summarizing some techniques being used by spammers these days in order to bypass filters. The core message here is how cascading style sheets are being used to essentially obfuscate the email by making it look very differently than what the text actually means to convey when the spam filter is parsing the email. This involves just, of course, hiding various parts of the email or moving them out of the field of view by using various positional arguments in your cascading style sheets. But then Omid also points out a number of tracking techniques being used. Now, in the past, I remember a couple of years ago or so, there were some blog posts discussing how, for example, remotely loaded style sheets can be used to either alter the email after it's being received or track users. This is not what's going on here. All the techniques being mentioned in this blog post are referring to inline cascading style sheets. So no additional files are being loaded here for the style sheet part. However, images can be loaded by the style sheet. And a lot of privacy software and such will block images being loaded via image tags in the email. But apparently they're not blocking images being loaded by cascading style sheets and or other assets. And that, of course, can then be used to track whether or not the email was viewed by looking at a unique URL being assigned to this user. Interesting tricks here. Not sure how to defend against them too well. Attackers will always come up with ways to bypass spam filters, bypass malware filters. But overall, probably something good for user awareness here to tell users, hey, you know, the email that you're seeing in your email client may actually look, first of all, different in different email clients, which can be a problem. And definitely may have content that you don't see that was just being added in order to confuse some of these filters. Well, and this is it for today. Thanks for listening. Thanks for recommending this podcast. Remember, we're available via YouTube, via Amazon, lots of different outlets where you can listen or watch this podcast. And talk to you again tomorrow. Bye. Bye. Bye.