research.checkpoint.com
Open in
urlscan Pro
141.193.213.21
Public Scan
URL:
https://research.checkpoint.com/2022/state-sponsored-attack-groups-capitalise-on-russia-ukraine-war-for-cyber-espionage/
Submission: On June 10 via api from US — Scanned from DE
Submission: On June 10 via api from US — Scanned from DE
Form analysis
0 forms found in the DOMText Content
* CheckPoint.com * * * * * * * Publications * Threat Research * CPRadio * Attack Reports * Tools * CPR Zero- Vulnerability Repository * Evasion techniques Encyclopedia * Anti-Debug Tricks * SandBlast File Analysis * How-To Guides * URL Categorization * Instant Security Assessment * Live Threat Map * About Us * Contact Us * Subscribe * MENU STATE-SPONSORED ATTACK GROUPS CAPITALISE ON RUSSIA-UKRAINE WAR FOR CYBER ESPIONAGE March 31, 2022 INTRODUCTION Geopolitical tensions often make headlines and present a golden opportunity for threat actors to exploit the situation, especially those targeting high-profile victims. In the past month while the Russian invasion of Ukraine was unfolding, Check Point Research (CPR) has observed advanced persistent threat (APT) groups around the world launching new campaigns, or quickly adapting ongoing ones to target victims with spear-phishing emails using the war as a lure. The attackers use decoys ranging from official-looking documents to news articles or even job postings, depending on the targets and region. Many of these lure documents utilize malicious macros or template injection to gain an initial foothold into the targeted organizations, and then launch malware attacks. The use of the conflict as a bait is not limited to a specific region or APT group, it goes from Latin America to the Middle East and to Asia. In this article, CPR will provide an overview of several campaigns by different APT groups using the ongoing Russia-Ukraine war to increase the efficiency of their campaigns. CPR will discuss the victimology of these campaigns; the tactics used, and provide technical analysis of the observed malicious payloads and malware. Below are the campaigns identified and profiled in this article: APT Name APT Origin Targeted Sector Targeted Countries El Machete Spanish-speaking Country Financial, Governmental Nicaragua, Venezuela Lyceum Iran Energy Israel, Saudi Arabia SideWinder Possibly India Unknown Pakistan LATIN AMERICA: EL MACHETE APT Targets: Financial and governmental sectors Kaspersky first publicly disclosed El Machete, a Spanish-speaking threat actor that focuses on Latin American’s targets, in 2014 with the group’s activity dating back to 2010. The group’s activities have persisted throughout the years, adopting the practice of using government-themed documents as decoys, as well as using lures related to the current political situation. In mid-March, El Machete was spotted sending spear-phishing emails to financial organizations in Nicaragua, with an attached Word document titled “Dark plans of the neo-Nazi regime in Ukraine.” The document contained an article written and published by Alexander Khokholikov, the Russian Ambassador to Nicaragua that discussed the Russo-Ukrainian conflict from the perspective of the Kremlin. Figure 1 – Lure document that contains an article about the Russia-Ukraine conflict, sent by El Machete APT to Nicaraguan financial institutions. INFECTION CHAIN The malicious macro inside the document drops a base64-encoded file named ~djXsfwEFYETE.txt, uses the built-in certutil.exe to decode it to ~djXsfwEFYETE.vbe, an encoded VBScript file. The macro then launches the wscript.exe to execute the .vbe file, whose primary objective is to execute msiexec.exe with a remotely hosted .msi file titled Adobe.msi, which masquerades itself as Adobe software. Figure 2 – Schema of the main components of the infection chain. The Adobe.msi installer initially installs malware-related files to a subfolder in the user’s TEMP directory. Later, the malware copies itself from the TEMP directory to a working directory C:\ProgramData\PD, which is set as hidden to make sure users do not see it when they open the ProgramData folder in File Explorer. The malware is primarily written in Python, and comes with two different Python interpreters that also masquerade as executables related to Adobe, AdobeReaderUpdate.exe and ReaderSetting.exe. The malware sets up persistence via a scheduled task that runs every 5 minutes, pretending to be an update task for Adobe Reader named UpdateAdobeReader. The task executes the AdobeReaderUpdate script, a customized version of the open-source Loki.Rat which has been used by the El Machete APT group in an ongoing campaign since 2020. C&C COMMUNICATION The malware does not have a hardcoded C&C server address. Instead, it relies on a file called license.dll, which contains a Base64-encoded URL to a BlogSpot webpage. This page seemingly contains security-related content and discuses asymmetric encryption. However, embedded inside the BlogSpot page is another base64 string that contains the encoded C&C URL that the malware will eventually use. To find the relevant URL, the malware knows to search between two hardcoded strings that are 6-7 characters long. They tend to follow the pattern of /AAAA/ and *AAAA/, where the AAAA represents a 4-5-letter string. Figure 3 – BlogSpot page used by Adobe.msi. The C&C server is encoded between /noul/ and *noul/. This method of retrieving the C&C servers has several advantages. Foremost, it easily allows the attacker to make the initial connection look innocuous by connecting to a subdomain of a known and seemingly benign server (blogspot.com). In addition, the attackers can switch C&C infrastructure very easily without having to redeploy new code to the victims’ machines. The data is submitted to the C&C server in a somewhat obfuscated but consistent JSON format: { "nu8": "<hostname-username>", "d4": "<tag>", "r88": "<module name/data type>", "m77": "<file path>.pgp", "ns32": "<payload>", "submit": "submit" } { "nu8": "<hostname-username>", "d4": "<tag>", "r88": "<module name/data type>", "m77": "<file path>.pgp", "ns32": "<payload>", "submit": "submit" } { "nu8": "<hostname-username>", "d4": "<tag>", "r88": "<module name/data type>", "m77": "<file path>.pgp", "ns32": "<payload>", "submit": "submit" } The tag in the d4 field used by the Adobe malware is Utopiya_Nyusha_Maksim, which El Machete has used since 2020. THE LOKI.RAT BACKDOOR Each of the Python script files is obfuscated using base64 encoding. However, once decoded from base64, the code is relatively straightforward, only with few minor variable name obfuscation. Figure 4 – Deobfuscated AdobeReaderUpdate script. Malware capabilities include: * Keylogging – The keylogger runs as a separate process and script: the ReaderSetting.exe Python interpreter is used to run a separate file called SearchAdobeReader. * Collect credentials stored in Chrome and Firefox browsers. * Upload and download files. * Collect information about the files on each drive – collect file names and file sizes for all the files with the extensions from the list: .doc, .docx, .pdf, .xlsx, .xls, .ppt, .pptx, .jpg, .jpeg, .rar, .zip, .odt, .ott, .odm, .ods, .ots, .odp. except excluded (system, temp) folders. * Take screenshots. * Collect clipboard data. * Execute commands. COMMANDS AND PAYLOADS The actors first send several commands to understand if the infected machine is interesting enough to proceed: these commands perform screenshots, keylogging, and listing files on the system. If deemed worthwhile, the actors execute a command to download and install another malware, JavaOracle.msi, via msiexec.exe. Similar to Adobe.msi, JavaOracle.msi installs a Python-based malware and uses scheduled tasks for persistence. However, the Python scripts are not based on the Loki.Rat backdoor, although they offer some similar functionality through the modules placed in the directory Libs\site-packages\Java. The malware was observed launching multiple Python interpreters in parallel, each one running a different module. The Python executables are disguised as JavaHosts.exe, JavaExt.exe and JavaAdd.exe, and the actors also use these Python “clones” to check if a certain script/module is running, based on the process name. The modules include the following capabilities: * Download a payload from the C&C server (GAME module) – The code implies that the payload is expected to be either a .exe or a .msi file. The payload is written to the directory C:\ProgramData\ControlD\, which it sets as a folder with system and hidden attributes. * Keylogger (TIME module) – This is similar to the one that came with the Adobe.msi payload, but it never writes to disk. Instead, it posts the keylogger data directly to the C&C server. * BOX module – This iterates over files in the system and uploads files of interest that are less than 5 MB, encoded as base64. The module first checks connectivity by opening a TCP socket to google.es. If the site is not accessible, the script exits. * Screenshot (LIST module) – The module saves screenshots to -shopt.png inside a directory masquerading as Microsoft, namely %APPDATA%\Microsoft\ControlDesktop\. It then uploads the screenshot to the C&C server and proceeds to delete all PNG files in this directory. Similar to BOX, it initially checks that it can open a TCP socket to google.ru. If it fails, the script exits. * Clipboard stealer (SCAN module) – Posts the data directly to the C&C server, without writing the data to disk. Before doing so, it checks that it can open a TCP connection to google.ru. The malware from the JavaOracle.msi file seems to be using a new hardcoded tag, Foo_Fighters_Everlong. The timing appears to be coincidental, as the payload was first seen a few days before the news that Foo Fighters drummer Taylor Hawkins died. Figure 5 – JavaOracle code steals the clipboard contents and posts the data to the C&C with a custom tag. TARGETS AND GOALS Although the specific email trap targeted a financial institution in Nicaragua, multiple artifacts suggest that this is part of a larger campaign, which is also targeting government entities in Venezuela. Judging by the activities that the actors perform in the infected networks, the purpose of the whole campaign is deemed a cyberespionage operation, consistent with the previously disclosed activity by the same attack group. This indicates that El Machete APT group continues to operate with slightly changing TTPs, even after researchers published technical descriptions and indicators of compromise for the malware used by the group. MIDDLE EAST: LYCEUM Targets: Energy sector Believed to be active since 2017, Lyceum is an Iranian APT group active in the Middle East and Africa, and is known to target sectors of strategic national importance to carry out cyber espionage. Mid March, an Israeli energy company received an email from the address inews-reporter@protonmail[.]com with the subject “Russian war crimes in Ukraine”. The email contained a few pictures taken from public media sources and contained a link to an article hosted on the news-spot[.]live domain: Figure 6 – Lure email utilizing the Russia-Ukraine conflict theme, sent by Lyceum group. The link in the email leads to a document that contains the article “Researchers gather evidence of possible Russian war crimes in Ukraine” published by The Guardian: Figure 7 – Lure document that contains The Guardian article on possible Russian war crimes in Ukraine. The same domain hosts a few more malicious documents related to the Russia and Russia-Ukraine conflict, such as a copy of an article by The Atlantic Council from 2020 on Russian nuclear weapons, and a job posting for the “Extraction / Protective Agent” agent in Ukraine: Figure 8 – Russia-Ukraine war-related decoy documents used by the Lyceum APT group. INFECTION CHAIN The malicious Office document executes a macro code when the document is closed. The macro deobfuscates an executable embedded in the document and saves it to the %APPDATA%\Microsoft\Windows\Start Menu\Programs\Startup\ directory. By using this method, the payload isn’t executed directly by the Office document, but it will run the next time the computer is restarted. As part of the wider Lyceum campaign, we also observed different executable droppers. These are executables bearing PDF icons, not documents: Figure 9 – Two variants of Lyceum infection chain: lures related to the RU-UA conflict (top) and to Iran (bottom). All the executables are written slightly differently but the main idea is the same: first, the dropper extracts a lure PDF file embedded as a resource and opens it, in the background and unnoticed by a victim, the dropper then downloads and executes the payload. We identified three categories of droppers: * .NET DNS dropper – Used to drop the .NET DNS backdoor (discussed later): Figure 10 – The .NET dropper opens the decoy PDF and downloads the payload. * .NET TCP Dropper – Drops the .NET HTTP backdoor variant, and adds a scheduled task to run it. * Golang Dropper – Drops the Golang backdoor to the Startup folder and the Public\Downloads folder. In addition, it drops a PDF file (a report about the Iranian cyber threat, similar to the other droppers) to the Public\Downloads folder and executes it. After the PDF report is opened, the dropper finally executes the Golang backdoor from Public\Downloads folder. Figure 11 – Code snippet of the Golang dropper, which drops a Golang backdoor and a PDF report titled “Iranian Cyber Threat”. The dropped files can be downloaded from the internet, or extracted from the dropper itself, depending on the sample. PAYLOADS Each dropper bring its own type of payload. We observed the following backdoors deployed: .NET DNS Backdoor The .NET DNS backdoor is a modified version of a tool called DnsDig, with code added to form frm1 that uses HeijdenDNS and DnsDig capabilities. Figure 12 – Original DnsDig tool (left) vs Modified DnsDig (added frm1). The backdoor uses DNS tunneling to communicate with its C&C server, and is able to download/upload files and execute commands. .NET TCP Backdoor The backdoor communicates with the C&C using raw TCP sockets, and it implements its own communication protocol on top of this. Each sample contains a configuration that defines how it should communicate with the C&C, including separator characters, TCP ports and mapping of command types to numbers: Figure 13 – Configuration snippet of the .NET TCP backdoor. Although the malware contains a configuration for the C&C communication, it still uses hardcoded values in the code itself, instead of the configuration constants. This indicates that the malware might still be under active development. The capabilities of this backdoor include: * Execute commands. * Take screenshots. * List files/directories. * List installed applications. * Upload/download/execute files. Golang HTTP Backdoor The execution of the HTTP backdoor, written in Golang, consists of 3 stages, that occur in a loop: Stage 1 – Connectivity check. The malware generates a unique ID for the victim, based on the MD5 hash of the username. It then sends an empty HTTP POST request to the URI /GO/1.php of the C&C server. If the server responds with OK, the backdoor continues to the next stage. Stage 2 – Victim registration. In this step, the malware sends basic details of the victim in a POST request to the URI /GO/2.php, to register the victim in the attacker’s C&C server. Stage 3 – Commands retrieval and execution. First, the malware sends HTTP POST requests to the URI /GO/3.php to get commands for execution. Like the other backdoors we described, the backdoor supports commands that allow it to download/upload files and execute shell commands. Figure 14 – Network traffic of the Golang HTTP backdoor, per execution stage ATTRIBUTION AND VICTIMOLOGY In addition to targets in the Israeli energy sector, when hunting for the files and infrastructure related to this attack, CPR observed some artifacts uploaded to VirusTotal (VT) from Saudi Arabia. Although these artifacts contain traps related to Iran, the other documents found on the relevant infrastructure suggest that the group might have used the baits related to the Russia-Ukraine war in Saudi Arabia as well, and probably in other countries in the region, which is the primary focus of the group’s activities. As well as the clear victimology, other indicators that suggest this activity is from the Lyceum APT group include: * Use of Heijden.DNS open-source library, which was used by Lyceum in their previous attacks. This time, the actors did not obfuscate the library name but modified a tool named DnsDig that uses Heijden.DNS. * DNS tunneling technique in the C&C communication widely used in previous Lyceum campaigns. * Overlaps in the infrastructure, such as known Lyceum C&C servers hosted on the same ASN in the same networks with C&C from this campaign, and use of the same domain registrars such as Namecheap. * Use of Protonmail email addresses to send the malicious email to their targets or to register the domains. Judging by the timestamps artifacts found and malicious domains registration, this specific campaign has been running for a few months. The adoption of more relevant lures and constant malware retooling suggests that the Lyceum group will continue to conduct and adjust their espionage operations in the Middle East, despite public disclosures. SOUTH ASIA: SIDEWINDER Targets: Entities in Pakistan SideWinder is a suspected Indian APT group that strongly focuses on Pakistan and China government organizations. SideWinder’s malicious document, which also exploit the Russia-Ukraine conflict, was uploaded to VT in the middle of March. Judging by its content, the intended targets are Pakistani entities; the bait document contains the document of National Institute of Maritime Affairs of Bahria University in Islamabad, and is titled “Focused talk on Russian Ukraine Conflict Impact on Pakistan.” Figure 15 – Decoy document related to Russia-Ukraine war, by Sidewinder APT. This malicious document uses remote template injection. When it’s opened, the document retrieves a remote template from an actor-controlled server. The external template that’s downloaded is an RTF file that exploits the CVE-2017-11882 (Equation Editor) vulnerability. When the vulnerability is exploited, it drops and executes 1.a package, that contains obfuscated JavaScript. The Sidewinder campaigns TTPs have not changed in the last few years, so we do not include exact technical details here, as they have been thoroughly described by multiple researchers. However, it is worth mentioning that a typical SideWinder APT payload is aaaaa .NET-based infostealer, originally called “SystemApp.dll”, and is capable of gathering system information, exfiltrating files from the infected machine and executing commands. The infostealer has been used with minor modifications in the group’s espionage campaigns since early 2019. CONCLUSION CPR shared a few examples of APT groups attempting to abuse the interest in the ongoing war between Russia and Ukraine. As some of these campaigns contain previously undisclosed technical details or updated malware, CPR researchers included Yara rules in the Appendix, which can assist with threat hunting for these APT campaigns and the tools they utilize. Although the attention of the public does not usually linger on a single issue for an extended period, the Russian-Ukrainian war is an obvious exception. This war affects multiple regions around the world and has potentially far-reaching ramifications. As a result, we can expect that APT threat actors will continue to use this crisis to conduct targeted phishing campaigns for espionage purposes. IOCS Lyceum APT: 13814a190f61b36aff24d6aa1de56fe2 f9fd9e32cb04c4fc93e65f48562ecad3 53542ec51daf61fba2d26fe91b7d701f d962dd55fde800d972a156f5c63a6243 1a5489147a888c4f5f32e97ffcb01733 9fcad8f97eeae10f7a222eca94cb9a5f f8c29040122cf892190bcf3665975d2f a5dbfd729b6fd64a6c4fd77a3e356989 8b01dec07856a67db0e0d849bc84fd9e 23d174e6a0905fd59b2613d5ac106261 a437f997d45bc14e76d0f2482f572a34 ce186cda677f0120cfdb308803b8e8d8 214011a0d57b1d8238532be4f6414f58 8d51fbb90ad5942cd1a5a6534bd9d1d7 6aeca48c9090b301b3fdf9da4382c882 c41ffcbd933039bb6981d05b4c4c673e e03c7e3e8957ede592de07d3dca247b7 f72768f352994ecce3b9e5109fe93eec 8199f14502e80581000bd5b3bda250ee d79687676d2d152aec4143c852bdbc4a 2bc2abefc1a721908bc805894b62227d 37a1514a7a5f9b2c6786096129a30721 1c444ebeba24dcba8628b7dfe5fec7c6 85ca334f87667bd7fa0c47ae6149353e 73bddd5f1a0847ae5f5d55e7d9c177f6 9fb86915db1b7c00f1a4587de4e052de 37fe608983d4b06a5549247f0e16bc11 5916e5189ef0050dfcc3cc19382d08d5 f3b395661cc663c1baad41b439622071 8044dc6078b003698d6e1cbbd22a9ea6 bcb465cc2257e5777bab431690ca5039 news-spot[.]live news-spot[.]xyz cyberclub[.]one science-news[.]live news-reporter[.]xyz 104.249.26[.]60 85.206.175[.]201 185.243.112[.]136 El Machete APT: 8e1360cc27e95fc47924d9ba3ef84cb8fa9e142cfd16e1503c5277d0c16ae241 e2c67e495166be1b97134e67b2326e1b800d3d4d8dba4bc61fd3f8eb3a92d612 e3718adaca6eafeba6ff171669210cb55a3b8babf3b78072cc513273b99a7639 ed09da9d48afe918f9c7f72fe4466167e2f127a28a7641ba80d6165e82f48431 b9bf3e9725696331916e32e5936111e1166867b1d2d3ab05e46b9fff8679cf8f c6c794348d17d40c544487154ca72e8e6199b670f804ee25d7bcd9ff884d67b1 7115580f8235a0bbce61e8af79c3ed5cbe46900912eb0765ccaee82213a9275e 907ccb541d0066d36701310e86e1d2b61448178d1d36f6748af0b3163ca273ac 7ea7cae7dd6353831359179f4834ac4c2e9022659e205ca8506f372aad63f629 bb4b04eff1b5154d23b2636fc55222e4f27c654777f348edee47c920e457835e ebbcc2075fcb0ba18d43475b8454c51b35bb65e1ed323b657ea7d9651e98074d da81697353fe3238920a8c2c4cbbf25a298b3e3414f988ece0cf7afb73e3e0a5 4c22116b68732f8fe9e2fb5e56e9ff798f30805f9008e4f7a4be1e1c830162b8 65e48c986d185d156999adc762d7bff84ddbf44851419d66c2985a2ccc2e072d caac5087528dde6839481133737de12af973080184b2aa0b2eb35af88875adbb a5f0af1124f7abf06e712a2bfb4f1104ee0df179343020577959339617db69b3 ca4182fbaf3f02d9b428f7e851d5a679d6dcfceafabb245cff155b48d9c09307 96b33df5720901b4f2fc6fb810b6eca994fb8b2ff0edc0aa456195a7c9115615 e27f75c4e4e74bff20270ec0f2bd41a4b54c121bcb811451a67c831dba1e4c03 a26751cde843d44506ccece87d6347ede5071703bfd63fb12f8982eae7aaf3dd e60ea877d008e61cb625b4f8b2d712ce9289892f7e799dbb1030301e2db4b0ac hxxps://correomindefensagobvemyspace[.]com/kolomenskoye/Adobe.msi hxxps://solutionconect[.]online/uu2/x3/JavaOracle.msi hxxps://great-jepsen.51-79-62-98[.]plesk[.]page/MKS/w3/Adobe.msi hxxps://asymmetricfile.blogspot[.]com hxxps://postinfomatico.blogspot[.]com hxxp://31.207.44[.]72:8080 hxxps://Intelligent-archimedes.51-79-62-98[.]plesk[.]page/x3/Uu-3.php Sidewinder APT: f765b0b6e4a34eb95c6f0ddf058bc88d5ef9ec2b11a5f3504d1673f4f69aceca maritimepakistan.kpt-pk[.]net kpt-pk[.]net APPENDIX – YARA RULES rule lyceum_dotnet_dns_backdoor { meta: author = "CPR" hash1 = "8199f14502e80581000bd5b3bda250ee" hash2 = "d79687676d2d152aec4143c852bdbc4a" hash3 = "bcb465cc2257e5777bab431690ca5039" hash4 = "2bc2abefc1a721908bc805894b62227d" hash5 = "37a1514a7a5f9b2c6786096129a30721" strings: $log1 = "MSG SIZE rcvd" wide $log2 = "Empty output" wide $log3 = "Big Output. lines: " wide $com1 = "Enddd" wide $com2 = "uploaddd" wide $com3 = "downloaddd" wide $dga = "trailers.apple.com" wide $replace1 = "BackSlashh" wide $replace2 = "QuotationMarkk" wide $re_pattern = "60\\s+IN\\s+TXT" wide $func1 = "comRun" $func2 = "PlaceDot" $func3 = "sendAns" $heijden1 = "Heijden.DNS" $heijden2 = "DnsHeijden" condition: uint16(0)==0x5a4d and (all of ($log*) or all of ($com*) or all of ($replace*) or all of ($func*) or (any of ($heijden*) and $re_pattern and $dga)) } rule lyceum_dotnet_http_backdoor { meta: author = "CPR" hash1 = "1c444ebeba24dcba8628b7dfe5fec7c6" hash2 = "85ca334f87667bd7fa0c47ae6149353e" hash3 = "73bddd5f1a0847ae5f5d55e7d9c177f6" hash4 = "9fb86915db1b7c00f1a4587de4e052de" hash5 = "37fe608983d4b06a5549247f0e16bc11" hash6 = "5916e5189ef0050dfcc3cc19382d08d5" strings: $class1 = "Funcss" $class2 = "Constantss" $class3 = "Reqss" $class4 = "Screenss" $class5 = "Shll" $class6 = "test_A1" $class7 = "Uploadss" $class8 = "WebDL" $cnc_uri1 = "/upload" wide $cnc_uri2 = "/screenshot" wide $cnc_pattern_hex1 = {43 6f 6e 74 65 6e 74 2d 44 69 73 70 6f 73 69 74 69 6f 6e 3a 20 66 6f 72 6d 2d 64 61 74 61 3b 20 6e 61 6d 65 3d 22 7b 30 7d 22 0d 0a 0d 0a} $cnc_pattern_hex2 = {6d 75 6c 74 69 70 61 72 74 2f 66 6f 72 6d 2d 64 61 74 61 3b 20 62 6f 75 6e 64 61 72 79 3d 7b 30 7d} $cnc_pattern_hex3 = {43 6f 6e 74 65 6e 74 2d 44 69 73 70 6f 73 69 74 69 6f 6e 3a 20 66 6f 72 6d 2d 64 61 74 61 3b 20 6e 61 6d 65 3d 22 7b 30 7d 22 3b 20 66 69 6c 65 6e 61 6d 65 3d 22 7b 31 7d 22 0d 0a 43 6f 6e 74 65 6e 74 2d 54 79 70 65 3a 20 7b 32 7d 0d 0a 0d 0a} $constant1 = "FILE_DIR_SEPARATOR" $constant2 = "APPS_PARAMS_SEPARATOR" $constant3 = "TYPE_SENDTOKEN" $constant4 = "TYPE_DATA1" $constant5 = "TYPE_SEND_RESPONSE_IN_SOCKET" $constant6 = "TYPE_FILES_LIST" $constant7 = "TYPE_FILES_DELETE" $constant8 = "TYPE_FILES_RUN" $constant9 = "TYPE_FILES_UPLOAD_TO_SERVER" $constant10 = "TYPE_FILES_DELETE_FOLDER" $constant11 = "TYPE_FILES_CREATE_FOLDER" $constant12 = "TYPE_FILES_DOWNLOAD_URL" $constant13 = "TYPE_OPEN_CMD" $constant14 = "TYPE_CMD_RES" $constant15 = "TYPE_CLOSE_CMD" $constant16 = "TYPE_CMD_REQ" $constant17 = "TYPE_INSTALLED_APPS" $constant18 = "TYPE_SCREENSHOT" $constant19 = "_RG_APP_NAME_" $constant20 = "_RG_APP_VERSION_" $constant21 = "_RG_APP_DATE_" $constant22 = "_RG_APP_PUB_" $constant23 = "_RG_APP_SEP_" $constant24 = "_SC_EXT_" condition: uint16(0)==0x5a4d and (4 of ($class*) or 4 of ($cnc_*) or 4 of ($constant*)) } rule lyceum_golang_backdoor { meta: author = "CPR" hash1 = "a437f997d45bc14e76d0f2482f572a34" hash2 = "23d174e6a0905fd59b2613d5ac106261" hash3 = "bcb465cc2257e5777bab431690ca5039" strings: $func1 = "main.Ase256" $func2 = "main.DecryptAse256" $func3 = "main.IsServerUp" $func4 = "main.register" $func5 = "main.commandforrun" $func6 = "main.UPLOAD" $func7 = "main.commandforanswer" $func8 = "main.GetMD5Hash" $func9 = "main.get_uid" $func10 = "main.commandrun" $func11 = "main.download" $func12 = "main.postFile" $func13 = "main.sendAns" $func14 = "main.comRun" $cnc_uri1 = "/GO/1.php" $cnc_uri2 = "/GO/2.php" $cnc_uri3 = "/GO/3.php" $auth_token = "auth_token=\"XXXXXXX\"" $log1 = "client registred" $log2 = "no command" $log3 = "can not create file" $log4 = "errorGettingUserName" $log5 = "New record created successfully" $log6 = "SERVER_IS_DOWN" $dga = "trailers.apple.com." condition: uint16(0)==0x5a4d and ((10 of ($func*) or any of ($cnc_uri*) or $auth_token or 3 of ($log*)) or ($dga and 4 of them)) } rule ElMachete_doc { meta: author = "CPR" hash1 = "8E1360CC27E95FC47924D9BA3EF84CB8FA9E142CFD16E1503C5277D0C16AE241" strings: $s1 = "You want to continue with the Document" ascii $s2 = "certutil -decode" ascii $s3 = /C:\\ProgramData\\.{1,20}\.txt/ $s4 = /C:\\ProgramData\\.{1,20}\.vbe/ condition: uint16be(0) == 0xD0CF and 2 of ($s*) } rule ElMachete_msi { meta: author = "CPR" hash1 = "ED09DA9D48AFE918F9C7F72FE4466167E2F127A28A7641BA80D6165E82F48431" strings: $s1 = "MSI Wrapper (8.0.26.0)" $s2 = "Windows Installer XML Toolset (3.11.0.1701)" $s3 = "\\Lib\\site-packages\\PIL\\" $s4 = "\\Lib\\site-packages\\pyHook\\" $s5 = "\\Lib\\site-packages\\requests\\" $s6 = "\\Lib\\site-packages\\win32com\\" $s7 = "\\Lib\\site-packages\\Crypto\\" condition: 4 of them } rule lyceum_dotnet_dns_backdoor { meta: author = "CPR" hash1 = "8199f14502e80581000bd5b3bda250ee" hash2 = "d79687676d2d152aec4143c852bdbc4a" hash3 = "bcb465cc2257e5777bab431690ca5039" hash4 = "2bc2abefc1a721908bc805894b62227d" hash5 = "37a1514a7a5f9b2c6786096129a30721" strings: $log1 = "MSG SIZE rcvd" wide $log2 = "Empty output" wide $log3 = "Big Output. lines: " wide $com1 = "Enddd" wide $com2 = "uploaddd" wide $com3 = "downloaddd" wide $dga = "trailers.apple.com" wide $replace1 = "BackSlashh" wide $replace2 = "QuotationMarkk" wide $re_pattern = "60\\s+IN\\s+TXT" wide $func1 = "comRun" $func2 = "PlaceDot" $func3 = "sendAns" $heijden1 = "Heijden.DNS" $heijden2 = "DnsHeijden" condition: uint16(0)==0x5a4d and (all of ($log*) or all of ($com*) or all of ($replace*) or all of ($func*) or (any of ($heijden*) and $re_pattern and $dga)) } rule lyceum_dotnet_http_backdoor { meta: author = "CPR" hash1 = "1c444ebeba24dcba8628b7dfe5fec7c6" hash2 = "85ca334f87667bd7fa0c47ae6149353e" hash3 = "73bddd5f1a0847ae5f5d55e7d9c177f6" hash4 = "9fb86915db1b7c00f1a4587de4e052de" hash5 = "37fe608983d4b06a5549247f0e16bc11" hash6 = "5916e5189ef0050dfcc3cc19382d08d5" strings: $class1 = "Funcss" $class2 = "Constantss" $class3 = "Reqss" $class4 = "Screenss" $class5 = "Shll" $class6 = "test_A1" $class7 = "Uploadss" $class8 = "WebDL" $cnc_uri1 = "/upload" wide $cnc_uri2 = "/screenshot" wide $cnc_pattern_hex1 = {43 6f 6e 74 65 6e 74 2d 44 69 73 70 6f 73 69 74 69 6f 6e 3a 20 66 6f 72 6d 2d 64 61 74 61 3b 20 6e 61 6d 65 3d 22 7b 30 7d 22 0d 0a 0d 0a} $cnc_pattern_hex2 = {6d 75 6c 74 69 70 61 72 74 2f 66 6f 72 6d 2d 64 61 74 61 3b 20 62 6f 75 6e 64 61 72 79 3d 7b 30 7d} $cnc_pattern_hex3 = {43 6f 6e 74 65 6e 74 2d 44 69 73 70 6f 73 69 74 69 6f 6e 3a 20 66 6f 72 6d 2d 64 61 74 61 3b 20 6e 61 6d 65 3d 22 7b 30 7d 22 3b 20 66 69 6c 65 6e 61 6d 65 3d 22 7b 31 7d 22 0d 0a 43 6f 6e 74 65 6e 74 2d 54 79 70 65 3a 20 7b 32 7d 0d 0a 0d 0a} $constant1 = "FILE_DIR_SEPARATOR" $constant2 = "APPS_PARAMS_SEPARATOR" $constant3 = "TYPE_SENDTOKEN" $constant4 = "TYPE_DATA1" $constant5 = "TYPE_SEND_RESPONSE_IN_SOCKET" $constant6 = "TYPE_FILES_LIST" $constant7 = "TYPE_FILES_DELETE" $constant8 = "TYPE_FILES_RUN" $constant9 = "TYPE_FILES_UPLOAD_TO_SERVER" $constant10 = "TYPE_FILES_DELETE_FOLDER" $constant11 = "TYPE_FILES_CREATE_FOLDER" $constant12 = "TYPE_FILES_DOWNLOAD_URL" $constant13 = "TYPE_OPEN_CMD" $constant14 = "TYPE_CMD_RES" $constant15 = "TYPE_CLOSE_CMD" $constant16 = "TYPE_CMD_REQ" $constant17 = "TYPE_INSTALLED_APPS" $constant18 = "TYPE_SCREENSHOT" $constant19 = "_RG_APP_NAME_" $constant20 = "_RG_APP_VERSION_" $constant21 = "_RG_APP_DATE_" $constant22 = "_RG_APP_PUB_" $constant23 = "_RG_APP_SEP_" $constant24 = "_SC_EXT_" condition: uint16(0)==0x5a4d and (4 of ($class*) or 4 of ($cnc_*) or 4 of ($constant*)) } rule lyceum_golang_backdoor { meta: author = "CPR" hash1 = "a437f997d45bc14e76d0f2482f572a34" hash2 = "23d174e6a0905fd59b2613d5ac106261" hash3 = "bcb465cc2257e5777bab431690ca5039" strings: $func1 = "main.Ase256" $func2 = "main.DecryptAse256" $func3 = "main.IsServerUp" $func4 = "main.register" $func5 = "main.commandforrun" $func6 = "main.UPLOAD" $func7 = "main.commandforanswer" $func8 = "main.GetMD5Hash" $func9 = "main.get_uid" $func10 = "main.commandrun" $func11 = "main.download" $func12 = "main.postFile" $func13 = "main.sendAns" $func14 = "main.comRun" $cnc_uri1 = "/GO/1.php" $cnc_uri2 = "/GO/2.php" $cnc_uri3 = "/GO/3.php" $auth_token = "auth_token=\"XXXXXXX\"" $log1 = "client registred" $log2 = "no command" $log3 = "can not create file" $log4 = "errorGettingUserName" $log5 = "New record created successfully" $log6 = "SERVER_IS_DOWN" $dga = "trailers.apple.com." condition: uint16(0)==0x5a4d and ((10 of ($func*) or any of ($cnc_uri*) or $auth_token or 3 of ($log*)) or ($dga and 4 of them)) } rule ElMachete_doc { meta: author = "CPR" hash1 = "8E1360CC27E95FC47924D9BA3EF84CB8FA9E142CFD16E1503C5277D0C16AE241" strings: $s1 = "You want to continue with the Document" ascii $s2 = "certutil -decode" ascii $s3 = /C:\\ProgramData\\.{1,20}\.txt/ $s4 = /C:\\ProgramData\\.{1,20}\.vbe/ condition: uint16be(0) == 0xD0CF and 2 of ($s*) } rule ElMachete_msi { meta: author = "CPR" hash1 = "ED09DA9D48AFE918F9C7F72FE4466167E2F127A28A7641BA80D6165E82F48431" strings: $s1 = "MSI Wrapper (8.0.26.0)" $s2 = "Windows Installer XML Toolset (3.11.0.1701)" $s3 = "\\Lib\\site-packages\\PIL\\" $s4 = "\\Lib\\site-packages\\pyHook\\" $s5 = "\\Lib\\site-packages\\requests\\" $s6 = "\\Lib\\site-packages\\win32com\\" $s7 = "\\Lib\\site-packages\\Crypto\\" condition: 4 of them } rule lyceum_dotnet_dns_backdoor { meta: author = "CPR" hash1 = "8199f14502e80581000bd5b3bda250ee" hash2 = "d79687676d2d152aec4143c852bdbc4a" hash3 = "bcb465cc2257e5777bab431690ca5039" hash4 = "2bc2abefc1a721908bc805894b62227d" hash5 = "37a1514a7a5f9b2c6786096129a30721" strings: $log1 = "MSG SIZE rcvd" wide $log2 = "Empty output" wide $log3 = "Big Output. lines: " wide $com1 = "Enddd" wide $com2 = "uploaddd" wide $com3 = "downloaddd" wide $dga = "trailers.apple.com" wide $replace1 = "BackSlashh" wide $replace2 = "QuotationMarkk" wide $re_pattern = "60\\s+IN\\s+TXT" wide $func1 = "comRun" $func2 = "PlaceDot" $func3 = "sendAns" $heijden1 = "Heijden.DNS" $heijden2 = "DnsHeijden" condition: uint16(0)==0x5a4d and (all of ($log*) or all of ($com*) or all of ($replace*) or all of ($func*) or (any of ($heijden*) and $re_pattern and $dga)) } rule lyceum_dotnet_http_backdoor { meta: author = "CPR" hash1 = "1c444ebeba24dcba8628b7dfe5fec7c6" hash2 = "85ca334f87667bd7fa0c47ae6149353e" hash3 = "73bddd5f1a0847ae5f5d55e7d9c177f6" hash4 = "9fb86915db1b7c00f1a4587de4e052de" hash5 = "37fe608983d4b06a5549247f0e16bc11" hash6 = "5916e5189ef0050dfcc3cc19382d08d5" strings: $class1 = "Funcss" $class2 = "Constantss" $class3 = "Reqss" $class4 = "Screenss" $class5 = "Shll" $class6 = "test_A1" $class7 = "Uploadss" $class8 = "WebDL" $cnc_uri1 = "/upload" wide $cnc_uri2 = "/screenshot" wide $cnc_pattern_hex1 = {43 6f 6e 74 65 6e 74 2d 44 69 73 70 6f 73 69 74 69 6f 6e 3a 20 66 6f 72 6d 2d 64 61 74 61 3b 20 6e 61 6d 65 3d 22 7b 30 7d 22 0d 0a 0d 0a} $cnc_pattern_hex2 = {6d 75 6c 74 69 70 61 72 74 2f 66 6f 72 6d 2d 64 61 74 61 3b 20 62 6f 75 6e 64 61 72 79 3d 7b 30 7d} $cnc_pattern_hex3 = {43 6f 6e 74 65 6e 74 2d 44 69 73 70 6f 73 69 74 69 6f 6e 3a 20 66 6f 72 6d 2d 64 61 74 61 3b 20 6e 61 6d 65 3d 22 7b 30 7d 22 3b 20 66 69 6c 65 6e 61 6d 65 3d 22 7b 31 7d 22 0d 0a 43 6f 6e 74 65 6e 74 2d 54 79 70 65 3a 20 7b 32 7d 0d 0a 0d 0a} $constant1 = "FILE_DIR_SEPARATOR" $constant2 = "APPS_PARAMS_SEPARATOR" $constant3 = "TYPE_SENDTOKEN" $constant4 = "TYPE_DATA1" $constant5 = "TYPE_SEND_RESPONSE_IN_SOCKET" $constant6 = "TYPE_FILES_LIST" $constant7 = "TYPE_FILES_DELETE" $constant8 = "TYPE_FILES_RUN" $constant9 = "TYPE_FILES_UPLOAD_TO_SERVER" $constant10 = "TYPE_FILES_DELETE_FOLDER" $constant11 = "TYPE_FILES_CREATE_FOLDER" $constant12 = "TYPE_FILES_DOWNLOAD_URL" $constant13 = "TYPE_OPEN_CMD" $constant14 = "TYPE_CMD_RES" $constant15 = "TYPE_CLOSE_CMD" $constant16 = "TYPE_CMD_REQ" $constant17 = "TYPE_INSTALLED_APPS" $constant18 = "TYPE_SCREENSHOT" $constant19 = "_RG_APP_NAME_" $constant20 = "_RG_APP_VERSION_" $constant21 = "_RG_APP_DATE_" $constant22 = "_RG_APP_PUB_" $constant23 = "_RG_APP_SEP_" $constant24 = "_SC_EXT_" condition: uint16(0)==0x5a4d and (4 of ($class*) or 4 of ($cnc_*) or 4 of ($constant*)) } rule lyceum_golang_backdoor { meta: author = "CPR" hash1 = "a437f997d45bc14e76d0f2482f572a34" hash2 = "23d174e6a0905fd59b2613d5ac106261" hash3 = "bcb465cc2257e5777bab431690ca5039" strings: $func1 = "main.Ase256" $func2 = "main.DecryptAse256" $func3 = "main.IsServerUp" $func4 = "main.register" $func5 = "main.commandforrun" $func6 = "main.UPLOAD" $func7 = "main.commandforanswer" $func8 = "main.GetMD5Hash" $func9 = "main.get_uid" $func10 = "main.commandrun" $func11 = "main.download" $func12 = "main.postFile" $func13 = "main.sendAns" $func14 = "main.comRun" $cnc_uri1 = "/GO/1.php" $cnc_uri2 = "/GO/2.php" $cnc_uri3 = "/GO/3.php" $auth_token = "auth_token=\"XXXXXXX\"" $log1 = "client registred" $log2 = "no command" $log3 = "can not create file" $log4 = "errorGettingUserName" $log5 = "New record created successfully" $log6 = "SERVER_IS_DOWN" $dga = "trailers.apple.com." condition: uint16(0)==0x5a4d and ((10 of ($func*) or any of ($cnc_uri*) or $auth_token or 3 of ($log*)) or ($dga and 4 of them)) } rule ElMachete_doc { meta: author = "CPR" hash1 = "8E1360CC27E95FC47924D9BA3EF84CB8FA9E142CFD16E1503C5277D0C16AE241" strings: $s1 = "You want to continue with the Document" ascii $s2 = "certutil -decode" ascii $s3 = /C:\\ProgramData\\.{1,20}\.txt/ $s4 = /C:\\ProgramData\\.{1,20}\.vbe/ condition: uint16be(0) == 0xD0CF and 2 of ($s*) } rule ElMachete_msi { meta: author = "CPR" hash1 = "ED09DA9D48AFE918F9C7F72FE4466167E2F127A28A7641BA80D6165E82F48431" strings: $s1 = "MSI Wrapper (8.0.26.0)" $s2 = "Windows Installer XML Toolset (3.11.0.1701)" $s3 = "\\Lib\\site-packages\\PIL\\" $s4 = "\\Lib\\site-packages\\pyHook\\" $s5 = "\\Lib\\site-packages\\requests\\" $s6 = "\\Lib\\site-packages\\win32com\\" $s7 = "\\Lib\\site-packages\\Crypto\\" condition: 4 of them } RELATED ARTICLES VULNERABILITY WITHIN THE UNISOC BASEBAND OPENS MOBILE PHONES COMMUNICATIONS TO REMOTE HACKER ATTACKS NEW MALWARE CAPABLE OF CONTROLLING SOCIAL MEDIA ACCOUNTS INFECTS 5,000+ MACHINES AND IS ACTIVELY BEING DISTRIBUTED VIA GAMING APPLICATIONS ON MICROSOFT’S OFFICIAL STORE NEW WORMABLE ANDROID MALWARE SPREADS BY CREATING AUTO-REPLIES TO MESSAGES IN WHATSAPP VULNERABILITY IN GOOGLE PLAY CORE LIBRARY REMAINS UNPATCHED IN GOOGLE PLAY APPLICATIONS GRAPHOLOGY OF AN EXPLOIT – HUNTING FOR EXPLOITS BY LOOKING FOR THE AUTHOR’S FINGERPRINTS KEEPING THE GATE LOCKED ON YOUR IOT DEVICES: VULNERABILITIES FOUND ON AMAZON’S ALEXA NEW JOKER VARIANT HITS GOOGLE PLAY WITH AN OLD TRICK WOULD YOU LIKE SOME RCE WITH YOUR GUACAMOLE? “THE TURKISH RAT” EVOLVED ADWIND IN A MASSIVE ONGOING PHISHING CAMPAIGN REMOTE CLOUD EXECUTION – CRITICAL VULNERABILITIES IN AZURE CLOUD INFRASTRUCTURE (PART I) CANADIAN BANKS TARGETED IN A MASSIVE PHISHING CAMPAIGN 6TH JUNE – THREAT INTELLIGENCE REPORT XLOADER BOTNET: FIND ME IF YOU CAN 30TH MAY – THREAT INTELLIGENCE REPORT 23RD MAY – THREAT INTELLIGENCE REPORT Publications * GLOBAL CYBER ATTACK REPORTS * RESEARCH PUBLICATIONS * IPS ADVISORIES * CHECK POINT BLOG * DEMOS Tools * SANDBLAST FILE ANALYSIS * URL CATEGORIZATION * INSTANT SECURITY ASSESSMENT * LIVE THREAT MAP About Us Contact Us Subscribe © 1994-2022 Check Point Software Technologies LTD. All rights reserved. Property of CheckPoint.com | Privacy Policy × Tweet Share Share Share Email Pin Share Share We'd like to show you notifications for the latest news and updates. AllowCancel