{"id":1567,"date":"2026-06-22T18:37:13","date_gmt":"2026-06-22T18:37:13","guid":{"rendered":"https:\/\/blog.scilabs.mx\/en\/?p=1567"},"modified":"2026-06-22T18:39:04","modified_gmt":"2026-06-22T18:39:04","slug":"blue-gryphus-rat-new-remote-access-banking-trojan","status":"publish","type":"post","link":"https:\/\/blog.scilabs.mx\/en\/2026\/06\/22\/blue-gryphus-rat-new-remote-access-banking-trojan\/","title":{"rendered":"Blue Gryphus RAT: New Remote Access Banking Trojan"},"content":{"rendered":"\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"519\" height=\"509\" src=\"https:\/\/blog.scilabs.mx\/en\/wp-content\/uploads\/sites\/3\/2026\/06\/BGR-Logo.png\" alt=\"\" class=\"wp-image-1569\" srcset=\"https:\/\/blog.scilabs.mx\/en\/wp-content\/uploads\/sites\/3\/2026\/06\/BGR-Logo.png 519w, https:\/\/blog.scilabs.mx\/en\/wp-content\/uploads\/sites\/3\/2026\/06\/BGR-Logo-300x294.png 300w\" sizes=\"auto, (max-width: 519px) 100vw, 519px\" \/><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\">OVERVIEW<\/h2>\n\n\n\n<p>The purpose of this blog is to provide information about a new Remote Access Trojan (<a href=\"https:\/\/www.proofpoint.com\/es\/threat-reference\/remote-access-trojan\" data-type=\"link\" data-id=\"https:\/\/www.proofpoint.com\/es\/threat-reference\/remote-access-trojan\">RAT<\/a>), with banking Trojan capabilities, discovered by SCILabs and named <em>Blue Gryphus RAT<\/em>. This Trojan&#8217;s activity was identified during the first months of 2026, and it was distributed as end-user malware in a campaign by the <em>Red Akodon<\/em> threat group, primarily targeting users in Colombia.<\/p>\n\n\n\n<p>Continuous monitoring indicates that this threat remained active, at least until May, with an increasing number of active samples observed. This campaign has been distributed primarily via phishing emails using pretexts related to Windows updates or legal matters. &nbsp;<\/p>\n\n\n\n<p>We also have a high-confidence hypothesis that this threat is closely related to the operations of the <em>Red Akodon<\/em> threat group, in which other types of Trojans are distributed alongside the <em>Blue Gryphus RAT<\/em>; for example, <em><a href=\"https:\/\/www.mcafee.com\/blogs\/other-blogs\/mcafee-labs\/the-stealthy-stalker-remcos-rat\/\" data-type=\"link\" data-id=\"https:\/\/www.mcafee.com\/blogs\/other-blogs\/mcafee-labs\/the-stealthy-stalker-remcos-rat\/\">RemcosRAT<\/a><\/em>.<\/p>\n\n\n\n<p>This blog is intended to describe the functionality and capabilities of the Trojan identified by SCILabs.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">How might this threat affect an organization?<\/h3>\n\n\n\n<p><em>Blue Gryphus RAT<\/em> primarily functions as a Remote Access Trojan designed to remotely monitor and control the devices of infected users to steal sensitive information. Furthermore, its browser credential theft and banking Trojan capabilities allow <em>Blue Gryphus RAT<\/em> to steal sensitive information from all types of users, including employees of organizations. If an attack is successful within an organization, cybercriminals can leak or sell the stolen information on clandestine forums of the Dark Web or on the black market. This information can then be used to carry out more sophisticated and dangerous attacks such as ransomware, jeopardizing the integrity, confidentiality, and availability of the organization&#8217;s information, as well as causing financial and reputational losses.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">ANALYSIS<\/h2>\n\n\n\n<h3 class=\"wp-block-heading\">Threat context<\/h3>\n\n\n\n<p>During monitoring conducted by SCILabs, following the <em>Red Akodon<\/em> campaign distributing the <em>Blue Gryphus RAT<\/em> identified in March, we observed various artifacts associated with droppers distributing this remote access banking trojan. These were identified in different formats, including highly obfuscated JavaScript, VBS, and PowerShell scripts, employing techniques such as vague function and variable names, character swapping, and garbage code, among others, as well as the use of plaintext files encrypted with <a href=\"https:\/\/www.splashtop.com\/es\/blog\/aes-encryption\">AES<\/a>.<\/p>\n\n\n\n<p>Although we have not yet determined the delivery method, we have a moderate level of confidence that it is being delivered via phishing emails, given its connection to <em>Red Akodon<\/em>. These emails may use purported legal notifications and Windows updates as pretexts, with the dropper names containing strings such as &#8220;LEGAL NOTIFICATION LAWSUIT&#8221; or &#8220;Windows Update,&#8221; among others.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"594\" height=\"289\" src=\"https:\/\/blog.scilabs.mx\/en\/wp-content\/uploads\/sites\/3\/2026\/06\/BGR1.png\" alt=\"\" class=\"wp-image-1571\" srcset=\"https:\/\/blog.scilabs.mx\/en\/wp-content\/uploads\/sites\/3\/2026\/06\/BGR1.png 594w, https:\/\/blog.scilabs.mx\/en\/wp-content\/uploads\/sites\/3\/2026\/06\/BGR1-300x146.png 300w\" sizes=\"auto, (max-width: 594px) 100vw, 594px\" \/><figcaption class=\"wp-element-caption\">Figure 1. Content of a JavaScript file that functions as a <em>Blue Gryphus RAT<\/em> dropper<\/figcaption><\/figure>\n\n\n\n<p>The goal of these droppers is to download and execute the <em>Blue Gryphus RAT<\/em> trojan as a payload.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>Technical Summary<\/strong><\/h3>\n\n\n\n<p>The samples corresponding to this Trojan are developed with the .NET Framework, usually loaded by the droppers described above, but initially calling the <strong>Main()<\/strong> function of the Trojan executable, which performs different actions for the malware to work. To facilitate your understanding, we have structured them in the following 2 stages.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full is-resized\"><img loading=\"lazy\" decoding=\"async\" width=\"727\" height=\"262\" src=\"https:\/\/blog.scilabs.mx\/en\/wp-content\/uploads\/sites\/3\/2026\/06\/BGR2.png\" alt=\"\" class=\"wp-image-1573\" style=\"width:739px;height:auto\" srcset=\"https:\/\/blog.scilabs.mx\/en\/wp-content\/uploads\/sites\/3\/2026\/06\/BGR2.png 727w, https:\/\/blog.scilabs.mx\/en\/wp-content\/uploads\/sites\/3\/2026\/06\/BGR2-300x108.png 300w\" sizes=\"auto, (max-width: 727px) 100vw, 727px\" \/><figcaption class=\"wp-element-caption\">Figure 2. Segment of the \u201cMain()\u201d function<\/figcaption><\/figure>\n\n\n\n<h4 class=\"wp-block-heading\"><strong>First stage<\/strong><\/h4>\n\n\n\n<p>This stage focuses on preparing the device for infection. First, using the <strong>SetProcessDPIAware()<\/strong> and <strong>SetProcessDpiAwareness()<\/strong> functions, it establishes the malware&#8217;s ability to handle high <a href=\"https:\/\/www.adobe.com\/uk\/creativecloud\/photography\/discover\/dots-per-inch-dpi-resolution.html\" data-type=\"link\" data-id=\"https:\/\/www.adobe.com\/uk\/creativecloud\/photography\/discover\/dots-per-inch-dpi-resolution.html\">DPI<\/a> pixel density scales (this is done to maintain a controlled appearance in the interface while creating forms for data theft).<\/p>\n\n\n\n<p>It creates a MUTEX to prevent multiple samples from the same campaign from infecting the same device. The MUTEX uses a format whose string consists of \u201cNexusRAT_\u201d+[8 hexadecimal characters]+[connection port to the C2].<\/p>\n\n\n\n<p>It is important to mention that, despite the presence of the string \u201cNexusRAT\u201d in different samples, we have not yet identified a relationship between this threat and the <a href=\"https:\/\/www.feedzai.com\/resource\/malware-analysis-nexus\" data-type=\"link\" data-id=\"https:\/\/www.feedzai.com\/resource\/malware-analysis-nexus\">Android banking trojan of the same name<\/a>.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"834\" height=\"64\" src=\"https:\/\/blog.scilabs.mx\/en\/wp-content\/uploads\/sites\/3\/2026\/06\/BGR3.png\" alt=\"\" class=\"wp-image-1575\" srcset=\"https:\/\/blog.scilabs.mx\/en\/wp-content\/uploads\/sites\/3\/2026\/06\/BGR3.png 834w, https:\/\/blog.scilabs.mx\/en\/wp-content\/uploads\/sites\/3\/2026\/06\/BGR3-300x23.png 300w, https:\/\/blog.scilabs.mx\/en\/wp-content\/uploads\/sites\/3\/2026\/06\/BGR3-768x59.png 768w\" sizes=\"auto, (max-width: 834px) 100vw, 834px\" \/><figcaption class=\"wp-element-caption\">Figure 3. MUTEX name in different samples<\/figcaption><\/figure>\n\n\n\n<p>Next, it establishes the necessary values \u200b\u200bfor connecting to the C2 server, such as the HOST, port, and a TAG (possibly set by the operators to differentiate infected computers in their campaign). It&#8217;s worth noting that, both in the case of the TAGs and in the filenames of several samples found, we also identified the strings \u201cAMARRE,\u201d \u201cSostener,\u201d \u201cENV\u00cdO,\u201d \u201cnuevorat,\u201d \u201cmisarchivos,\u201d and \u201cDios,\u201d among others. This suggests that most of the operators of this Trojan are Spanish-speaking.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"430\" height=\"140\" src=\"https:\/\/blog.scilabs.mx\/en\/wp-content\/uploads\/sites\/3\/2026\/06\/BGR4.png\" alt=\"\" class=\"wp-image-1576\" srcset=\"https:\/\/blog.scilabs.mx\/en\/wp-content\/uploads\/sites\/3\/2026\/06\/BGR4.png 430w, https:\/\/blog.scilabs.mx\/en\/wp-content\/uploads\/sites\/3\/2026\/06\/BGR4-300x98.png 300w\" sizes=\"auto, (max-width: 430px) 100vw, 430px\" \/><figcaption class=\"wp-element-caption\">Figure 4. Some strings in Spanish were found in a sample<\/figcaption><\/figure>\n\n\n\n<p>Next, it creates a directory named \u201cWindowsUpdate\u201d within <em>%APPDATA%<\/em> or in the directory where the sample is running and saves a copy of itself named \u201cWindowsUpdate.exe\u201d. Finally, it establishes persistence using one of the following two methods:<\/p>\n\n\n\n<p>1. By scheduling a task to run the malicious \u201cWindowsUpdate.exe\u201d with the following command, which can overwrite any existing task named \u201cWindowsUpdate\u201d and runs every minute.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"816\" height=\"58\" src=\"https:\/\/blog.scilabs.mx\/en\/wp-content\/uploads\/sites\/3\/2026\/06\/BGRc1.png\" alt=\"\" class=\"wp-image-1578\" srcset=\"https:\/\/blog.scilabs.mx\/en\/wp-content\/uploads\/sites\/3\/2026\/06\/BGRc1.png 816w, https:\/\/blog.scilabs.mx\/en\/wp-content\/uploads\/sites\/3\/2026\/06\/BGRc1-300x21.png 300w, https:\/\/blog.scilabs.mx\/en\/wp-content\/uploads\/sites\/3\/2026\/06\/BGRc1-768x55.png 768w, https:\/\/blog.scilabs.mx\/en\/wp-content\/uploads\/sites\/3\/2026\/06\/BGRc1-800x58.png 800w\" sizes=\"auto, (max-width: 816px) 100vw, 816px\" \/><\/figure>\n\n\n\n<p>2. By creating a copy of the malicious executable named \u201cWindowsUpdate.exe\u201d in the <em>%STARTUP%<\/em> directory.<\/p>\n\n\n\n<p>It executes a function named <strong>AdminBypass()<\/strong> that has 2 objectives:<\/p>\n\n\n\n<p>1. Evades Windows Defender, adding the root directory <em>C:\\ <\/em>as an exclusion, through the creation of a PowerShell script that is saved in <em>%TEMP%<\/em> with the name \u201cex_[random 5-digit number].ps1\u201d and executed with the options \u201c-ExecutionPolicy Bypass\u201d, \u201c-WindowStyle Hidden\u201d, \u201c-NoProfile\u201d, \u201c-NonInteractive\u201d, and then immediately deleted.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"410\" height=\"118\" src=\"https:\/\/blog.scilabs.mx\/en\/wp-content\/uploads\/sites\/3\/2026\/06\/BGR5.png\" alt=\"\" class=\"wp-image-1579\" srcset=\"https:\/\/blog.scilabs.mx\/en\/wp-content\/uploads\/sites\/3\/2026\/06\/BGR5.png 410w, https:\/\/blog.scilabs.mx\/en\/wp-content\/uploads\/sites\/3\/2026\/06\/BGR5-300x86.png 300w\" sizes=\"auto, (max-width: 410px) 100vw, 410px\" \/><figcaption class=\"wp-element-caption\">Figure 5. PowerShell script embedded in the Trojan executable<\/figcaption><\/figure>\n\n\n\n<p>2. Performs UAC bypass by creating a PowerShell script that is saved in <em>%TEMP%<\/em> with the name \u201cuac_[5-digit random number].ps1\u201d. This serves to modify the <em>HKLM\\SOFTWARE\\ Microsoft\\Windows\\CurrentVersion\\Policies\\System<\/em> registry and is deleted immediately after being executed with the same PowerShell options as in the previous script.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"725\" height=\"123\" src=\"https:\/\/blog.scilabs.mx\/en\/wp-content\/uploads\/sites\/3\/2026\/06\/BGR6.png\" alt=\"\" class=\"wp-image-1580\" srcset=\"https:\/\/blog.scilabs.mx\/en\/wp-content\/uploads\/sites\/3\/2026\/06\/BGR6.png 725w, https:\/\/blog.scilabs.mx\/en\/wp-content\/uploads\/sites\/3\/2026\/06\/BGR6-300x51.png 300w\" sizes=\"auto, (max-width: 725px) 100vw, 725px\" \/><figcaption class=\"wp-element-caption\">Figure 6. PowerShell script to disable UAC<\/figcaption><\/figure>\n\n\n\n<p>Once these tasks are completed, the second stage begins.<\/p>\n\n\n\n<h4 class=\"wp-block-heading\">Second stage<\/h4>\n\n\n\n<p>This stage begins with the execution of a continuous \u201cwhile\u201d loop to run the <strong>Connect()<\/strong> function, waiting for a response from the server. The operation of <strong>Connect()<\/strong> is described below.<\/p>\n\n\n\n<p>1. It initiates a TCP connection to the HOST and port established in the first stage if it receives any response (other than a null one) and confirms the connection from C2. It is important to note that this connection is not made using the HTTP protocol or any known TCP protocol. Instead, this Trojan uses its own protocol, named in the code as <strong>NetProtocol48<\/strong>, which we will detail later in this document.<\/p>\n\n\n\n<p>2. Once the connection is established, the Trojan sends a string to register the machine using the <strong>Send()<\/strong> function of the <strong>NetProtocol48<\/strong> protocol. This string contains concatenated machine data, including: the operating system version, machine name, username, whether the current user is admin, the TAG (a string defined in the code to distinguish the campaign), and an identifier for the infected machine.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"667\" height=\"240\" src=\"https:\/\/blog.scilabs.mx\/en\/wp-content\/uploads\/sites\/3\/2026\/06\/BGR7.png\" alt=\"\" class=\"wp-image-1582\" srcset=\"https:\/\/blog.scilabs.mx\/en\/wp-content\/uploads\/sites\/3\/2026\/06\/BGR7.png 667w, https:\/\/blog.scilabs.mx\/en\/wp-content\/uploads\/sites\/3\/2026\/06\/BGR7-300x108.png 300w\" sizes=\"auto, (max-width: 667px) 100vw, 667px\" \/><figcaption class=\"wp-element-caption\">Figure 7. Segment of the Connect() function<\/figcaption><\/figure>\n\n\n\n<p>3. After the first transmission, the connection remains in a waiting state until a message is received from the C2 server, at which point the registration is completed; otherwise, an error message is displayed. In addition to the registration, a list of active antivirus programs on the computer is generated and, if at least one is present, this list is sent to the C2 server.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"884\" height=\"363\" src=\"https:\/\/blog.scilabs.mx\/en\/wp-content\/uploads\/sites\/3\/2026\/06\/BGR8.png\" alt=\"\" class=\"wp-image-1584\" srcset=\"https:\/\/blog.scilabs.mx\/en\/wp-content\/uploads\/sites\/3\/2026\/06\/BGR8.png 884w, https:\/\/blog.scilabs.mx\/en\/wp-content\/uploads\/sites\/3\/2026\/06\/BGR8-300x123.png 300w, https:\/\/blog.scilabs.mx\/en\/wp-content\/uploads\/sites\/3\/2026\/06\/BGR8-768x315.png 768w\" sizes=\"auto, (max-width: 884px) 100vw, 884px\" \/><figcaption class=\"wp-element-caption\">Figure 8. Function segment for antivirus detection<\/figcaption><\/figure>\n\n\n\n<p>Finally, the \u201cwhile\u201d loop continues, waiting for the C2 server to send a message until the <strong>Recv()<\/strong> function receives the data sent by the operators through this Trojan&#8217;s characteristic protocol, <strong>NetProtocol48<\/strong>, and executes the actions corresponding to the different commands. From this point on, the Trojan functions fully as a remote access tool to the infected computer.<\/p>\n\n\n\n<h4 class=\"wp-block-heading\"><strong>NetProtocol48<\/strong><\/h4>\n\n\n\n<p>As mentioned previously, <em>Blue Gryphus RAT<\/em> uses its own TCP communication protocol, with the following defined functions:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Send(): <\/strong>sends data using as arguments a \u201cstream\u201d \u2014to define the size of the message\u2014, a \u201ctype\u201d \u2014which is defined by the operators\u2014, a set of bytes called \u201cdata\u201d and \u201cwriteLock\u201d \u2014which works as a lock to prevent problems if several threads are active at the same time\u2014.<\/li>\n<\/ul>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"559\" height=\"286\" src=\"https:\/\/blog.scilabs.mx\/en\/wp-content\/uploads\/sites\/3\/2026\/06\/BGR9.png\" alt=\"\" class=\"wp-image-1583\" srcset=\"https:\/\/blog.scilabs.mx\/en\/wp-content\/uploads\/sites\/3\/2026\/06\/BGR9.png 559w, https:\/\/blog.scilabs.mx\/en\/wp-content\/uploads\/sites\/3\/2026\/06\/BGR9-300x153.png 300w\" sizes=\"auto, (max-width: 559px) 100vw, 559px\" \/><figcaption class=\"wp-element-caption\">Figure 9. Send() function<\/figcaption><\/figure>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>SendText():<\/strong> It receives the parameters \u201cstream\u201d, \u201ctype\u201d, \u201ctext\u201d, \u201cwriteLock\u201d, used in the call to the <strong>Send()<\/strong> function, only entering \u201ctext\u201d as a set of Bytes.<\/li>\n<\/ul>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"669\" height=\"65\" src=\"https:\/\/blog.scilabs.mx\/en\/wp-content\/uploads\/sites\/3\/2026\/06\/BGR10.png\" alt=\"\" class=\"wp-image-1585\" srcset=\"https:\/\/blog.scilabs.mx\/en\/wp-content\/uploads\/sites\/3\/2026\/06\/BGR10.png 669w, https:\/\/blog.scilabs.mx\/en\/wp-content\/uploads\/sites\/3\/2026\/06\/BGR10-300x29.png 300w\" sizes=\"auto, (max-width: 669px) 100vw, 669px\" \/><figcaption class=\"wp-element-caption\">Figure 11. SendText() function<\/figcaption><\/figure>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>SendFast(): <\/strong>It is similar to the <strong>Send()<\/strong> function, with the same parameters, only differing in the copy function to maximize the speed of sending data.<\/li>\n<\/ul>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"647\" height=\"306\" src=\"https:\/\/blog.scilabs.mx\/en\/wp-content\/uploads\/sites\/3\/2026\/06\/BGR11.png\" alt=\"\" class=\"wp-image-1586\" srcset=\"https:\/\/blog.scilabs.mx\/en\/wp-content\/uploads\/sites\/3\/2026\/06\/BGR11.png 647w, https:\/\/blog.scilabs.mx\/en\/wp-content\/uploads\/sites\/3\/2026\/06\/BGR11-300x142.png 300w\" sizes=\"auto, (max-width: 647px) 100vw, 647px\" \/><figcaption class=\"wp-element-caption\">Figure 11. SendFast() function<\/figcaption><\/figure>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>ReadExact():<\/strong> is a method that ensures it reads the exact byte number entered as an argument and, while it has not finished reading all the bytes, it will continue until it finishes or when it has the byte number \u201c0\u201d; at that moment, it closes the connection.<\/li>\n<\/ul>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"477\" height=\"207\" src=\"https:\/\/blog.scilabs.mx\/en\/wp-content\/uploads\/sites\/3\/2026\/06\/BGR12.png\" alt=\"\" class=\"wp-image-1587\" srcset=\"https:\/\/blog.scilabs.mx\/en\/wp-content\/uploads\/sites\/3\/2026\/06\/BGR12.png 477w, https:\/\/blog.scilabs.mx\/en\/wp-content\/uploads\/sites\/3\/2026\/06\/BGR12-300x130.png 300w\" sizes=\"auto, (max-width: 477px) 100vw, 477px\" \/><figcaption class=\"wp-element-caption\">Figure 12. ReadExact() function<\/figcaption><\/figure>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Read():<\/strong> It receives data using the arguments \u201cstream\u201d \u2014of indefinite size\u2014, a \u201ctype\u201d \u2014which is defined by the operators\u2014 and a set of bytes called \u201cdata\u201d. As an initial step, it reads the first 4 bytes of the stream with the <strong>ReadExact()<\/strong> function; this is to know the total size of the message (which must be in these bytes). Then, it reads the rest of the message also with the <strong>ReadExact()<\/strong> function.<\/li>\n<\/ul>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"722\" height=\"239\" src=\"https:\/\/blog.scilabs.mx\/en\/wp-content\/uploads\/sites\/3\/2026\/06\/BGR13.png\" alt=\"\" class=\"wp-image-1588\" srcset=\"https:\/\/blog.scilabs.mx\/en\/wp-content\/uploads\/sites\/3\/2026\/06\/BGR13.png 722w, https:\/\/blog.scilabs.mx\/en\/wp-content\/uploads\/sites\/3\/2026\/06\/BGR13-300x99.png 300w\" sizes=\"auto, (max-width: 722px) 100vw, 722px\" \/><figcaption class=\"wp-element-caption\">Figure 13. Read() function<\/figcaption><\/figure>\n\n\n\n<h4 class=\"wp-block-heading\"><strong>Commands<\/strong><\/h4>\n\n\n\n<p>The commands received by the RAT are handled by the <strong>Handle()<\/strong> function, which does not read a text string as commands, but integers, so the commands originally sent by the operators are integer values.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"562\" height=\"274\" src=\"https:\/\/blog.scilabs.mx\/en\/wp-content\/uploads\/sites\/3\/2026\/06\/BGR15.png\" alt=\"\" class=\"wp-image-1589\" srcset=\"https:\/\/blog.scilabs.mx\/en\/wp-content\/uploads\/sites\/3\/2026\/06\/BGR15.png 562w, https:\/\/blog.scilabs.mx\/en\/wp-content\/uploads\/sites\/3\/2026\/06\/BGR15-300x146.png 300w\" sizes=\"auto, (max-width: 562px) 100vw, 562px\" \/><figcaption class=\"wp-element-caption\">Figure 14. Segment of the Handle() function that sets the value of the commands and their function<\/figcaption><\/figure>\n\n\n\n<p>The translation of these values \u200b\u200bis observed in a class of the code called <strong>Nexus.Common<\/strong>, assigning the respective integer value to a variable of the command name.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"366\" height=\"313\" src=\"https:\/\/blog.scilabs.mx\/en\/wp-content\/uploads\/sites\/3\/2026\/06\/BGR16.png\" alt=\"\" class=\"wp-image-1590\" srcset=\"https:\/\/blog.scilabs.mx\/en\/wp-content\/uploads\/sites\/3\/2026\/06\/BGR16.png 366w, https:\/\/blog.scilabs.mx\/en\/wp-content\/uploads\/sites\/3\/2026\/06\/BGR16-300x257.png 300w\" sizes=\"auto, (max-width: 366px) 100vw, 366px\" \/><figcaption class=\"wp-element-caption\">Figure 15. Segment of the program where values \u200b\u200band commands are set<\/figcaption><\/figure>\n\n\n\n<p>Below is a table showing the integer value of each command, its name, and the action it performs. Commands labeled &#8220;*Not Implemented*&#8221; indicate that the function exists but is not yet received by the main function, possibly because these samples are still under development.<\/p>\n\n\n\n<figure class=\"wp-block-table\"><table class=\"has-fixed-layout\"><tbody><tr><td><strong>Value<\/strong><\/td><td><strong>Command<\/strong><\/td><td><strong>Functionality<\/strong><\/td><\/tr><tr><td>1<\/td><td>HELLO<\/td><td>Introduction for connecting the C2 server to the infected computer.<\/td><\/tr><tr><td>2<\/td><td>HELLO_OK<\/td><td>Response to the presentation for connecting to the C2 server<\/td><\/tr><tr><td>3<\/td><td>PING<\/td><td>Request to find out if the remote equipment is active.<\/td><\/tr><tr><td>4<\/td><td>PONG<\/td><td>Response that the current equipment is active.<\/td><\/tr><tr><td>5<\/td><td>ABE_REQUEST<\/td><td>Check the payload (executable) status to obtain browser information.<\/td><\/tr><tr><td>6<\/td><td>ABE_PAYLOAD<\/td><td>Run the payload (executable) to obtain browser information.<\/td><\/tr><tr><td>7<\/td><td>GET_CARDS<\/td><td>*Not implemented*<\/td><\/tr><tr><td>8<\/td><td>CARDS_DATA<\/td><td>*Not implemented*<\/td><\/tr><tr><td>9<\/td><td>GET_IBANS<\/td><td>*Not implemented*<\/td><\/tr><tr><td>10<\/td><td>IBANS_DATA<\/td><td>*Not implemented*<\/td><\/tr><tr><td>11<\/td><td>GET_TOKENS<\/td><td>*Not implemented*<\/td><\/tr><tr><td>12<\/td><td>TOKENS_DATA<\/td><td>*Not implemented*<\/td><\/tr><tr><td>13-15,25-29, 36 y 38<\/td><td>KL_[subcommand]<\/td><td>All of these allow the execution of commands from the corresponding Trojan&#8217;s KL module with the capture of banking data, for example, KL_BANK_IMAGES, which downloads bank images that will be used to impersonate the official website.<\/td><\/tr><tr><td>16-24<\/td><td>RDP_[subomando]<\/td><td>All of these perform RDP service functions on the infected computer, for example, RDP_START to start the service or RDP_MOUSE to access the mouse of the infected computer.<\/td><\/tr><tr><td>30, 31, 37 y 55-63<\/td><td>HVNC_[subcommand]<\/td><td>All of these allow the execution of commands from the Trojan&#8217;s HVNC module, for example, HVNC_CLIPBOARD_SET, which modifies the clipboard contents.<\/td><\/tr><tr><td>32-35<\/td><td>SHELL_[subcommand]<\/td><td>They are used to execute the subcommand on the infected computer, for example, SHELL_START, which starts a command line terminal.<\/td><\/tr><tr><td>39-46<\/td><td>BTC_[subcommand]<\/td><td>They all allow you to execute commands from the BTC module that performs Chromium-based browser tab manipulation, for example, to slow down, stop, or simulate data loss using the Chrome DevTools Protocol (CDP).<\/td><\/tr><tr><td>48<\/td><td>GET_PROCESSES<\/td><td>Returns the running processes on the infected computer.<\/td><\/tr><tr><td>49<\/td><td>PROCESS_LIST<\/td><td>*Not implemented*<\/td><\/tr><tr><td>50<\/td><td>KILL_PROCESS<\/td><td>Eliminates a process that is passed to it as an argument.<\/td><\/tr><tr><td>51<\/td><td>START_PROCESS<\/td><td>Initiates a process that is passed to it as an argument.<\/td><\/tr><tr><td>52<\/td><td>SUSPEND_PROCESS<\/td><td>Suspends a process that is presented to it as an argument.<\/td><\/tr><tr><td>53<\/td><td>RESUME_PROCESS<\/td><td>Restarts a process passed to it as an argument.<\/td><\/tr><tr><td>54<\/td><td>PROC_RESULT<\/td><td>*Not implemented*<\/td><\/tr><tr><td>64<\/td><td>GET_DRIVES<\/td><td>List the information of the identified units or devices connected to the infected computer.<\/td><\/tr><tr><td>65<\/td><td>DRIVES_LIST<\/td><td>*Not implemented*<\/td><\/tr><tr><td>66<\/td><td>GET_FILES<\/td><td>List the information of the identified units or devices connected to the infected computer.<\/td><\/tr><tr><td>67<\/td><td>FILE_LIST<\/td><td>*Not implemented*<\/td><\/tr><tr><td>68-79<\/td><td>FILE_[subcommand]<\/td><td>These commands perform file manipulation on the infected computer&#8217;s file system, as well as downloading more artifacts and moving them to new locations; for example, FILE_ADD_STARTUP places a file passed to it as a parameter in the startup directory.<\/td><\/tr><tr><td>80<\/td><td>GET_SYSINFO<\/td><td>Send the information about the infected computer to the C2 server.<\/td><\/tr><tr><td>81<\/td><td>SYSINFO_DATA<\/td><td>It obtains general information about the infected system, including hostname, IP address, operating system, active user, number of processors, RAM, and more.<\/td><\/tr><tr><td>82<\/td><td>FP_COLLECT<\/td><td>It obtains the most detailed information from the infected system, including data from the screen, CPU, GPU, RAM, free and occupied storage memory, time zone, and language, among others.<\/td><\/tr><tr><td>83<\/td><td>FP_DATA<\/td><td>*Not implemented*<\/td><\/tr><tr><td>90-95<\/td><td>NETMON_[subcommand]<\/td><td>These commands allow the NetworkMonitor tool to be used on the infected computer, utilizing its functions and manipulating the created process, primarily to prevent the monitoring and analysis of the malware.<\/td><\/tr><tr><td>96-98<\/td><td>KEYLOG_[subcommand]<\/td><td>These commands allow the use of the Trojan&#8217;s keylogger module, which sends data simultaneously, for example, KEYLOG_START, which starts capturing the keys.<\/td><\/tr><tr><td>99-104<\/td><td>OFFKL_[subcommand]<\/td><td>These commands allow the Trojan&#8217;s keylogger module to be used offline, which writes the data to a file, for example, OFFKL_, which starts capturing the keys.<\/td><\/tr><tr><td>112<\/td><td>GET_PASSWORDS<\/td><td>It generates a string with multiple credentials obtained from the infected computer concatenated, among the types of credentials are stored in browsers of the different user profiles, WiFi credentials stored on the computer, banking data such as cards, IBANs, and accounts, access tokens, among others.<\/td><\/tr><tr><td>113<\/td><td>PASSWORD_DATA<\/td><td>*Not implemented*<\/td><\/tr><tr><td>128-135<\/td><td>REG_[subcommand]<\/td><td>These commands allow the manipulation of records on the infected computer, for example, the REG_DELETE_KEY command, which deletes the registry key passed to it as a parameter.<\/td><\/tr><tr><td>144-147<\/td><td>STARTUP_[subcommand]<\/td><td>These commands allow the manipulation of the artifacts found in the infected computer&#8217;s home directory; for example, STARTUP_LIST lists the artifacts in this directory.<\/td><\/tr><tr><td>160<\/td><td>GET_CONNECTIONS<\/td><td>Send the connections found in the infected computer to the C2 server.<\/td><\/tr><tr><td>161<\/td><td>CONNECTIONS_LIST<\/td><td>*Not implemented*<\/td><\/tr><tr><td>162-174<\/td><td>EF_[subcommands]<\/td><td>These commands allow the manipulation of certain devices on the infected computer, such as the monitor, mouse, and some input devices, as well as the taskbar. An example is the command EF_MONITOR_ON, which turns on the computer&#8217;s monitor.<\/td><\/tr><tr><td>176<\/td><td>EXEC_PS<\/td><td>Execute the PowerShell command or script passed as an argument.<\/td><\/tr><tr><td>177<\/td><td>EXEC_CMD<\/td><td>Executes the command in the Windows command line that is passed to it as an argument.<\/td><\/tr><tr><td>178<\/td><td>EXEC_RESULT<\/td><td>*Not implemented*<\/td><\/tr><tr><td>179<\/td><td>SHOW_MSGBOX<\/td><td>Displays an alert window in the Windows interface with a message passed to it as an argument.<\/td><\/tr><tr><td>180<\/td><td>VISIT_WEBSITE<\/td><td>This command executes code passed to it as an argument; no further functionality is known.<\/td><\/tr><tr><td>181<\/td><td>GET_CLIPBOARD<\/td><td>Send the content of the clipboard to server C2.<\/td><\/tr><tr><td>182<\/td><td>CLIPBOARD_DATA<\/td><td>It retrieves the content found on the clipboard.<\/td><\/tr><tr><td>183<\/td><td>ACTIVE_WINDOW<\/td><td>It obtains the active window on the infected computer.<\/td><\/tr><tr><td>184<\/td><td>DO_SHUTDOWN<\/td><td>Turn off the infected computer.<\/td><\/tr><tr><td>185<\/td><td>DO_RESTART<\/td><td>*Not implemented*<\/td><\/tr><tr><td>186<\/td><td>DO_STANDBY<\/td><td>*Not implemented*<\/td><\/tr><tr><td>187<\/td><td>DO_LOGOFF<\/td><td>*Not implemented*<\/td><\/tr><tr><td>208-211<\/td><td>CLIENT_[subcommand]<\/td><td>These commands allow manipulation of the connection session between the infected computer and the C2 server, for example, the CLIENT_DISCONNECT command that disconnects the session.<\/td><\/tr><tr><td>212<\/td><td>REMOTE_EXEC_URL<\/td><td>Downloads and executes a file from a URL passed as an argument.<\/td><\/tr><tr><td>224<\/td><td>GET_SCREENSHOT<\/td><td>Send a screenshot of the infected computer to the C2 server.<\/td><\/tr><tr><td>225<\/td><td>SCREENSHOT_DATA<\/td><td>*Not implemented*<\/td><\/tr><tr><td>245-250<\/td><td>WM_[subcommands]<\/td><td>These commands allow the manipulation of windows on the infected computer, for example, the WM_GET_WINDOWS command that sends all active windows on the infected computer to the C2 server.<\/td><\/tr><tr><td>226-231<\/td><td>RPROXY_[subcommand]<\/td><td>These commands enable the operation of the RPOXY module, which corresponds to a reverse proxy, to allow the connection of another remote computer.<\/td><\/tr><tr><td>235<\/td><td>BOOTKILL_CUSTOM<\/td><td>It terminates all processes that have in their name the string passed to it as an argument.<\/td><\/tr><tr><td>236<\/td><td>EXCL_RUN<\/td><td>Executes code passed to it as an argument, adding the EXCL tag.<\/td><\/tr><tr><td>237<\/td><td>EXCL_RESULT<\/td><td>*Not implemented*<\/td><\/tr><tr><td>238<\/td><td>UAC_RUN<\/td><td>Executes code passed to it as a parameter, adding the UAC tag. Possibly related to UAC bypass capabilities.<\/td><\/tr><tr><td>239<\/td><td>UAC_RESULT<\/td><td>*Not implemented*<\/td><\/tr><tr><td>240-244<\/td><td>DL_[ subcommand]<\/td><td>These commands are related to the downloading and execution of artifacts sent from the C2 server.<\/td><\/tr><tr><td>251<\/td><td>AV_INFO<\/td><td>It retrieves the security or antivirus tools installed on the infected computer.<\/td><\/tr><tr><td>252<\/td><td>VBS_EXEC<\/td><td>It allows running a VBS script on the infected computer.<\/td><\/tr><tr><td>253<\/td><td>GET_COOKIES<\/td><td>Sends the information obtained from the cookies of the infected computer.<\/td><\/tr><tr><td>254<\/td><td>COOKIES_DATA<\/td><td>It obtains cookies from all browsers on the computer.<\/td><\/tr><\/tbody><\/table><figcaption class=\"wp-element-caption\">Table 1. Commands for the operation of <em>Blue Gryphus RAT<\/em><\/figcaption><\/figure>\n\n\n\n<h4 class=\"wp-block-heading\"><strong>Banking Trojan capabilities<\/strong><\/h4>\n\n\n\n<p>The Trojan has a module that, during constant monitoring of the infected machine, aims to monitor the titles of windows opened by users. It searches for strings related to banks, primarily from their website names or bank names, and sends this information to the operator. The operator also initiates the process by sending the command KL_BANK_IMAGES (value 13), which downloads and stores a ZIP file containing bank-related images in a folder named \u201cnxkl_[random characters]\u201d created in <em>%TEMP%.<\/em> These images will be used later.<\/p>\n\n\n\n<p>At this point, if the operator identifies a window title from one of its target banks (unknown during the analysis) as belonging to a specific bank, it initiates the following tasks, in no particular order:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>The operator can send the KL_START_WAIT command (14), which displays a fake &#8220;Loading, please wait&#8230;&#8221; screen using a specific image associated with a bank, taken from the folder generated in the previous step. It also blocks user interaction and hides the cursor. This option can be continuously activated while the user interacts with the banking website.<\/li>\n<\/ul>\n\n\n\n<ul class=\"wp-block-list\">\n<li>The operator can send the KL_SEND_CROP command (25), which displays a fake fullscreen overlay simulating part of the banking website with holes in specific areas of the screen to allow the victim to interact with real or simulated fields, such as entering their name, a password, and the transfer amount.<\/li>\n<\/ul>\n\n\n\n<ul class=\"wp-block-list\">\n<li>The operator can send the command that is the counterpart to the previous ones, responsible for removing the data capture openings, restoring a &#8220;Please Wait&#8221; screen, blocking user input interaction, and hiding their cursor.<\/li>\n<\/ul>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Upon completion of the bank data capture, at the operators&#8217; request, this data is sent to the C2 server along with all the information the user previously entered (credentials, accounts, transactions, and other banking details). After sending this capture, it removes any distracting overlay screens that may remain active and unlock the input fields.<\/li>\n<\/ul>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"528\" height=\"268\" src=\"https:\/\/blog.scilabs.mx\/en\/wp-content\/uploads\/sites\/3\/2026\/06\/BGR17.png\" alt=\"\" class=\"wp-image-1592\" srcset=\"https:\/\/blog.scilabs.mx\/en\/wp-content\/uploads\/sites\/3\/2026\/06\/BGR17.png 528w, https:\/\/blog.scilabs.mx\/en\/wp-content\/uploads\/sites\/3\/2026\/06\/BGR17-300x152.png 300w\" sizes=\"auto, (max-width: 528px) 100vw, 528px\" \/><figcaption class=\"wp-element-caption\">Figure 16. Segment of a function related to the banking trojan module<\/figcaption><\/figure>\n\n\n\n<p>It&#8217;s important to note that the banking module&#8217;s functionality could only be observed through static analysis, as it requires operator interaction to run. Therefore, at the time of writing this blog post, we don&#8217;t know which banks are targeted or what type of bank images are displayed.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">ATTACK FLOW SUMMARY<\/h2>\n\n\n\n<ul class=\"wp-block-list\">\n<li>We hypothesized, with a high level of confidence, that the distribution method is through phishing emails that use a supposed court notification or Windows update as a pretext.<\/li>\n<\/ul>\n\n\n\n<ul class=\"wp-block-list\">\n<li>The email contains a compressed file with JavaScript or VBS dropper and PowerShell scripts.<\/li>\n<\/ul>\n\n\n\n<ul class=\"wp-block-list\">\n<li>If the user decompresses the downloaded file and runs the dropper, it initiates the infection chain that results in the download and installation of <em>Blue Gryphus RAT<\/em>.<\/li>\n<\/ul>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Once executed, <em>Blue Gryphus RAT<\/em> starts from its <strong>Main()<\/strong> function in two stages:\n<ul class=\"wp-block-list\">\n<li>The first stage focuses on preparing the computer for infection, adapting its graphical parameters to those of the infected machine, configuring the command and control (C2) server, generating a mutex and infection directories, as well as establishing persistence, evading Windows Defender, and bypassing User Account Control (UAC).<\/li>\n\n\n\n<li>The second stage begins with a permanent cycle that keeps the Trojan process running with open connections so that operators can remotely access the infected computer and thus perform malicious actions and data theft.<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\">ATTACK FLOW DIAGRAM<\/h2>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"940\" height=\"526\" src=\"https:\/\/blog.scilabs.mx\/en\/wp-content\/uploads\/sites\/3\/2026\/06\/BGR18Eng.png\" alt=\"\" class=\"wp-image-1594\" srcset=\"https:\/\/blog.scilabs.mx\/en\/wp-content\/uploads\/sites\/3\/2026\/06\/BGR18Eng.png 940w, https:\/\/blog.scilabs.mx\/en\/wp-content\/uploads\/sites\/3\/2026\/06\/BGR18Eng-300x168.png 300w, https:\/\/blog.scilabs.mx\/en\/wp-content\/uploads\/sites\/3\/2026\/06\/BGR18Eng-768x430.png 768w\" sizes=\"auto, (max-width: 940px) 100vw, 940px\" \/><figcaption class=\"wp-element-caption\">Figure 17. Diagram of the attack flow for this campaign<\/figcaption><\/figure>\n\n\n\n<h3 class=\"wp-block-heading\">MITRE ATT&amp;CK\u00ae framework TTPs observed<\/h3>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"564\" src=\"https:\/\/blog.scilabs.mx\/en\/wp-content\/uploads\/sites\/3\/2026\/06\/BGR19-1024x564.png\" alt=\"\" class=\"wp-image-1595\" srcset=\"https:\/\/blog.scilabs.mx\/en\/wp-content\/uploads\/sites\/3\/2026\/06\/BGR19-1024x564.png 1024w, https:\/\/blog.scilabs.mx\/en\/wp-content\/uploads\/sites\/3\/2026\/06\/BGR19-300x165.png 300w, https:\/\/blog.scilabs.mx\/en\/wp-content\/uploads\/sites\/3\/2026\/06\/BGR19-768x423.png 768w, https:\/\/blog.scilabs.mx\/en\/wp-content\/uploads\/sites\/3\/2026\/06\/BGR19-1536x846.png 1536w, https:\/\/blog.scilabs.mx\/en\/wp-content\/uploads\/sites\/3\/2026\/06\/BGR19.png 1773w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><figcaption class=\"wp-element-caption\">Table 2. TTPs observed aligned to the MITRE ATT&amp;CK\u00ae framework<\/figcaption><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\">CONCLUSION<\/h2>\n\n\n\n<p>Banking Trojans continue to be one of the main threats in Latin America, affecting users of various financial institutions. This, coupled with browser data theft, credential theft, and remote access to infected computers, makes Blue Gryphus RAT a more sophisticated threat that should not be considered merely a stealer or a conventional banking Trojan, but rather a modular tool with post-exploitation functionalities that considerably expand the scope of its impact on users and organizations.<\/p>\n\n\n\n<p>One of its main characteristics is the acquisition of credentials, financial data, and sensitive information stored in Chromium-based browsers, using specialized mechanisms capable of extracting information protected by the browser&#8217;s own encryption systems; the implementation of a custom communication protocol (NetProtocol48) for exchanging information with the C2 server; and, additionally, the use of window overlay techniques on legitimate applications or websites.<\/p>\n\n\n\n<p>It is important to highlight that, although campaigns originating in Colombia have been discovered and multiple samples of this Trojan have been identified, containing Spanish words in both their content and infrastructure, the possibility of a more widespread operation cannot be ruled out. This is because, according to telemetry data from malware databases consulted in this investigation, several samples are being uploaded from countries such as the United States and Germany.<\/p>\n\n\n\n<p>Finally, it is worth mentioning that the versions found contain some incomplete code, suggesting that this Trojan may still be under development. Therefore, SCILabs considers it essential to maintain constant monitoring of Blue Gryphus RAT and its evolution. Furthermore, SCILabs recommends that organizations stay updated with the latest information, TTPs, changes in the attack flow, and new versions to strengthen their detection and response capabilities.<\/p>\n\n\n\n<p>Based on the investigation, SCILabs makes the following recommendations:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Block the Indicators of Compromise (IoCs) mentioned in this document.<\/li>\n\n\n\n<li>Conduct awareness campaigns about the techniques used by this threat actor to distribute its campaigns.<\/li>\n\n\n\n<li>For phishing emails, the following is recommended:<\/li>\n\n\n\n<li>Avoid opening emails from unknown senders.<\/li>\n\n\n\n<li>Avoid clicking on suspicious links.<\/li>\n\n\n\n<li>Avoid opening or downloading suspicious files.<\/li>\n\n\n\n<li>Keep the operating systems and software of all devices on your network up to date.<\/li>\n\n\n\n<li>Implement proper policies for creating and using passwords.<\/li>\n\n\n\n<li>Avoid storing credentials and other data in browsers; instead, use a password manager.<\/li>\n\n\n\n<li>Avoid storing bank card or payment method information in browsers.<\/li>\n\n\n\n<li>Enable multi-factor authentication (MFA) on critical services, especially email, online banking, VPNs, and corporate platforms.<\/li>\n\n\n\n<li>Investigate information leaks, including breaches of credentials and data related to your organization, using intelligence services.<\/li>\n\n\n\n<li>Ensure proper implementation of In-Depth Security across all of the organization&#8217;s systems.<\/li>\n\n\n\n<li>Perform threat hunting for suspicious shortcuts, primarily in the Windows Start Menu directory, typically located at C:\\Users[Username]\\AppData\\Roaming\\Microsoft\\Windows\\Start Menu\\Programs\\Startup.<\/li>\n\n\n\n<li>Perform threat hunting in the Windows Registry, searching for applications that run when the operating system starts, in the path Computer\\HKEY_CURRENT_USER\\SOFTWARE\\Microsoft\\Windows\\CurrentVersion.<\/li>\n\n\n\n<li>Perform threat hunting in Windows scheduled tasks, primarily looking for tasks with suspicious names such as &#8220;WindowsUpdate&#8221;.<\/li>\n\n\n\n<li>Perform threat hunting for suspicious files with names containing the strings \u201cWindowsUpdate\u201d, \u201cNOTIFICACION JUDICIAL\u201d, \u201cnxkl_\u201d, \u201cuac_\u201d, \u201cex_\u201d, \u201cAMARRE\u201d, \u201cSostener\u201d, \u201cENV\u00cdO\u201d, \u201cnuevorat\u201d, \u201cmisarchivos\u201d, \u201cDios\u201d, among others.<\/li>\n\n\n\n<li>Audit and monitor the PowerShell command execution history using \u201cAdd-MpPreference\u201d, \u201cSet-MpPreference\u201d, \u201cRemove-MpPreference\u201d and the options \u201c-ExclusionPath\u201d, \u201c-ExclusionProcess\u201d, and \u201c-ExclusionExtension\u201d, primarily related to Windows Defender.<\/li>\n\n\n\n<li>Perform threat hunting for potential infections from other types of malware such as infostealers, banking trojans, RATs, and others.<\/li>\n\n\n\n<li>Perform threat hunting for suspicious artifacts, primarily in the following paths:\n<ul class=\"wp-block-list\">\n<li>%LOCALAPPDATA%<\/li>\n\n\n\n<li>%APPDATA%<\/li>\n\n\n\n<li>%PROGRAMDATA%<\/li>\n\n\n\n<li>%TEMP%<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li>Pay attention to browsing delays and malfunctions of input devices (mouse, keyboard, screen, etc.), because these can indicate infection and that operators are accessing the device.<\/li>\n\n\n\n<li>Pay attention to suspicious alerts, update screens, or waiting periods on login sites requiring credentials, as well as pop-up windows, as these can indicate infection and data theft.<\/li>\n\n\n\n<li>If they are not essential for the organization\u2019s operations, block free DNS services such as no-ip[.]com, chickenkiller[.]com, linkpc[.]net, duckdns[.]org, and ddns[.]net, and assess the impact of doing so, as these services are commonly used by samples of this Trojan and in some Red Akodon campaigns as command-and-control servers.<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\">INDICATORS OF COMPROMISE<\/h2>\n\n\n\n<p><strong>Hashes SHA256<\/strong><strong><\/strong><\/p>\n\n\n\n<p>B6A29EE040D6DCBB9168C19299B4B1578A58DDA1E2CB329F24B65DD7A94E027D<\/p>\n\n\n\n<p>7BC08C502BF4EBB8C4DE8549D104453AE05611D0B718A8F10943A6D437366D56<\/p>\n\n\n\n<p>1D22B11BCB30BBCE65381B37FCF5F6981461E322AAF7564C988A638C0F245345<\/p>\n\n\n\n<p>BB376EC395F0FE93F9584C4AC64FF61EE2A9445BEF388DB33443DCFCED51C427<\/p>\n\n\n\n<p>3235CEF4287DC15B2594C0EED9A8B365CDA84B95B7B9F47D2088051201946781<\/p>\n\n\n\n<p>3B2ED138AF180F0DB7DF13F87B2C11B518E03443C5775A0ACD8CB136DB53B783<\/p>\n\n\n\n<p>F831B4A858DB6BDF617DF94B19B7C220D22C163AF205C54F7573B22DC50DC419<\/p>\n\n\n\n<p>8C62E07127517702418EC089AC499E0A5E40A8DF12353BBE6B3CD43B2C6AEE49<\/p>\n\n\n\n<p>5C4EB0008AC44373BC3C2B7815C162F6DAAF9A5A0664CA748B3D32A79DB83976<\/p>\n\n\n\n<p>E03214F834920E19DA0FE878F4407ACB24B4BA920FC968289CE4307C9E8C43AE<\/p>\n\n\n\n<p>0506B8A5AE38D6C81E5E31D7F6AD53F2F7DE3DE2C4FE2646650DD21E15623040<\/p>\n\n\n\n<p>00A3C25D970817FD42BE16B64D5970B64CE8C6B0784288823C2C080743D7F616<\/p>\n\n\n\n<p>D7CD9E7D257CA4180C1D33F3BCBF4D3DF4388E6AFE1618F09388641EC2F8ED9E<\/p>\n\n\n\n<p>0470B87CC37D1013FC30244FB6476192B804F93DB95D8F3A3ECE5BC1961A2475<\/p>\n\n\n\n<p>5BBEC5815AFF6B60E910363FE8A71F0DF9349BF9EB506B3722D0B87396CA467D<\/p>\n\n\n\n<p>0506B8A5AE38D6C81E5E31D7F6AD53F2F7DE3DE2C4FE2646650DD21E15623040<\/p>\n\n\n\n<p>8A45012566572F9CB7E9FD7F0C60B246D057222F5ADA1E5E194C3E5A01CA1045<\/p>\n\n\n\n<p><strong>C2<\/strong><\/p>\n\n\n\n<p>respaldonw8152[.]com<\/p>\n\n\n\n<p>amarre2026[.]com<\/p>\n\n\n\n<p><\/p>\n\n\n\n<p><\/p>\n","protected":false},"excerpt":{"rendered":"<p>OVERVIEW The purpose of this blog is to provide information about a new Remote Access Trojan (RAT), with banking Trojan<\/p>\n","protected":false},"author":3,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[2,35,4],"tags":[9,14,15],"class_list":["post-1567","post","type-post","status-publish","format-standard","hentry","category-campaign","category-discoveries","category-malware","tag-banking-trojan","tag-latam","tag-malware"],"_links":{"self":[{"href":"https:\/\/blog.scilabs.mx\/en\/wp-json\/wp\/v2\/posts\/1567","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/blog.scilabs.mx\/en\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/blog.scilabs.mx\/en\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/blog.scilabs.mx\/en\/wp-json\/wp\/v2\/users\/3"}],"replies":[{"embeddable":true,"href":"https:\/\/blog.scilabs.mx\/en\/wp-json\/wp\/v2\/comments?post=1567"}],"version-history":[{"count":13,"href":"https:\/\/blog.scilabs.mx\/en\/wp-json\/wp\/v2\/posts\/1567\/revisions"}],"predecessor-version":[{"id":1601,"href":"https:\/\/blog.scilabs.mx\/en\/wp-json\/wp\/v2\/posts\/1567\/revisions\/1601"}],"wp:attachment":[{"href":"https:\/\/blog.scilabs.mx\/en\/wp-json\/wp\/v2\/media?parent=1567"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blog.scilabs.mx\/en\/wp-json\/wp\/v2\/categories?post=1567"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blog.scilabs.mx\/en\/wp-json\/wp\/v2\/tags?post=1567"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}