{"id":19019,"date":"2024-01-29T15:28:04","date_gmt":"2024-01-29T14:28:04","guid":{"rendered":"https:\/\/www.nextron-systems.com\/?p=19019"},"modified":"2024-04-12T16:33:23","modified_gmt":"2024-04-12T14:33:23","slug":"analysis-of-falsefont-backdoor-used-by-peach-sandstorm-threat-actor","status":"publish","type":"post","link":"https:\/\/www.nextron-systems.com\/2024\/01\/29\/analysis-of-falsefont-backdoor-used-by-peach-sandstorm-threat-actor\/","title":{"rendered":"Analysis of FalseFont Backdoor used by Peach-Sandstorm Threat Actor"},"content":{"rendered":"<p>[et_pb_section fb_built=&#8221;1&#8243; _builder_version=&#8221;4.22.1&#8243; _module_preset=&#8221;default&#8221; background_enable_color=&#8221;off&#8221; da_disable_devices=&#8221;off|off|off&#8221; global_colors_info=&#8221;{}&#8221; da_is_popup=&#8221;off&#8221; da_exit_intent=&#8221;off&#8221; da_has_close=&#8221;on&#8221; da_alt_close=&#8221;off&#8221; da_dark_close=&#8221;off&#8221; da_not_modal=&#8221;on&#8221; da_is_singular=&#8221;off&#8221; da_with_loader=&#8221;off&#8221; da_has_shadow=&#8221;on&#8221;][et_pb_row make_equal=&#8221;on&#8221; _builder_version=&#8221;4.23&#8243; _module_preset=&#8221;default&#8221; global_colors_info=&#8221;{}&#8221;][et_pb_column type=&#8221;4_4&#8243; _builder_version=&#8221;4.22.1&#8243; _module_preset=&#8221;default&#8221; background_enable_color=&#8221;off&#8221; custom_padding=&#8221;0px||0px||false|false&#8221; global_colors_info=&#8221;{}&#8221;][et_pb_text _builder_version=&#8221;4.24.0&#8243; _module_preset=&#8221;default&#8221; global_colors_info=&#8221;{}&#8221;]<\/p>\n<p>In this article, we will explore the FalseFont Backdoor used by Peach Sandstorm APT to target defense contractors worldwide. The backdoor was initially identified and reported on by <a href=\"https:\/\/twitter.com\/MsftSecIntel\/status\/1737895717870440609\" target=\"_blank\" rel=\"noopener\">Microsoft<\/a>. The malware features data exfiltration and remote access capabilities. It poses as a legitimate application from US Defense and Intelligence Contractor Maxar Technologies, and provides the user with a realistic UI and behavior.<\/p>\n<p>[\/et_pb_text][et_pb_text _builder_version=&#8221;4.24.0&#8243; _module_preset=&#8221;default&#8221; global_colors_info=&#8221;{}&#8221;]<\/p>\n<h1>Triage<\/h1>\n<p>When starting the application we are met, with a login screen. The branding and style match the website of Maxar Technologies. The victim is prompted to login to their account or login as a guest. Logging in as a guest will prompt for some personal data for registration.<\/p>\n<p>[\/et_pb_text][et_pb_image src=&#8221;https:\/\/www.nextron-systems.com\/wp-content\/uploads\/2024\/01\/maxar_ui.png&#8221; title_text=&#8221;maxar_ui&#8221; show_in_lightbox=&#8221;on&#8221; _builder_version=&#8221;4.24.0&#8243; _module_preset=&#8221;default&#8221; global_colors_info=&#8221;{}&#8221;][\/et_pb_image][et_pb_text _builder_version=&#8221;4.24.0&#8243; _module_preset=&#8221;default&#8221; global_colors_info=&#8221;{}&#8221;]<\/p>\n<p>We attempted a login with randomly chosen credentials, which resulted in an infinite loading screen. However we did gather some information during the execution as we had our Aurora Agent running on the System. Aurora detected multiple suspicious activities.<\/p>\n<p>[\/et_pb_text][et_pb_image src=&#8221;https:\/\/www.nextron-systems.com\/wp-content\/uploads\/2024\/01\/auroa_overview.png&#8221; title_text=&#8221;auroa_overview&#8221; show_in_lightbox=&#8221;on&#8221; _builder_version=&#8221;4.24.0&#8243; _module_preset=&#8221;default&#8221; global_colors_info=&#8221;{}&#8221;][\/et_pb_image][et_pb_text _builder_version=&#8221;4.24.0&#8243; _module_preset=&#8221;default&#8221; global_colors_info=&#8221;{}&#8221;]<\/p>\n<p>The screenshot shows Aurora provided a number of events including multiple warning level events. These events are quite typical for malware establishing persistence. The major event to consider here are the files dropped in AppData and the modification of the autostart registry keys in quick succession. The warning events serve as an urgent indicator for a human analyst to take action. The notice events while often overlooked gave us some valuable information here. They actually revealed the first C2 which as we later found out is responsible for credential stealing.<\/p>\n<p>After gaining an initial understanding of the malware&#8217;s behavior, we proceeded with our in depth analysis reverse-engineering the payload.<\/p>\n<p>[\/et_pb_text][et_pb_text _builder_version=&#8221;4.24.0&#8243; _module_preset=&#8221;default&#8221; global_colors_info=&#8221;{}&#8221;]<\/p>\n<h1>Technical Analysis<\/h1>\n<p><span style=\"font-family: inherit; font-weight: normal;\">The sample is written in .NET and utilizes the self-contained single-file host feature, encapsulating the managed code within a native bootstrapping application. We&#8217;ll begin by, extracting the managed code from the native application bundle using the <a href=\"https:\/\/github.com\/icsharpcode\/ILSpy\">ILSpy<\/a> decompiler. In the decompiler we can see the individual components of the bundle, which contains a bunch of .NET system libraries and the payload <code>Maxar.dll<\/code> which we can identify using the <code>Maxar.deps.json<\/code> file.<\/span>[\/et_pb_text][et_pb_image src=&#8221;https:\/\/www.nextron-systems.com\/wp-content\/uploads\/2024\/01\/ilspy_bundle.png&#8221; title_text=&#8221;ilspy_bundle&#8221; show_in_lightbox=&#8221;on&#8221; _builder_version=&#8221;4.24.0&#8243; _module_preset=&#8221;default&#8221; global_colors_info=&#8221;{}&#8221;][\/et_pb_image][et_pb_text _builder_version=&#8221;4.24.0&#8243; _module_preset=&#8221;default&#8221; global_colors_info=&#8221;{}&#8221;]<\/p>\n<p>Further analysis of the managed payload will be conducted in <a href=\"https:\/\/github.com\/dnSpyEx\/dnSpy\/\">dnSpy<\/a>. On first glance we are not dealing with obfuscated or heavily packed code here. We can spot some WPF code which is responsible for the frontend provided by the malware to pose as a legitimate application.<\/p>\n<p>[\/et_pb_text][et_pb_text _builder_version=&#8221;4.24.0&#8243; _module_preset=&#8221;default&#8221; global_colors_info=&#8221;{}&#8221;]<\/p>\n<h1>The UI<\/h1>\n<p>The UI does more than we initially anticipated. We found that all logins are actually sent to a different host than the C2 handling the remote access features. The application offers two options a normal login and a guest login. The guest login will show a fake registration and tell the user to wait for feedback from the team at Maxar, or in this case likely the threat actor. When pressing the login button the agent checks if the email is valid and the password matches the requirements: one capital letter, one special character longer than eight characters. After those checks it contacts the following IP <code>hxxp:\/\/64[.]52[.]80[.]30:8080<\/code> which is hardcoded in the UI code. The entered credentials are transmitted. During the process the agent serves the user with a loading screen. If the credential server successfully received the credentials and responds with a success. The client will show the user a new form asking for personal details like full name, address, email etc. as well as employment history with Maxar Technologies.<\/p>\n<p>We suspect that the threat actor is collecting this information for espionage or identity theft. During the initialization of the app the actual backdoor is executed which installs persistence and establishes a connection with the actual C2 server for remote access.[\/et_pb_text][et_pb_text _builder_version=&#8221;4.24.0&#8243; _module_preset=&#8221;default&#8221; global_colors_info=&#8221;{}&#8221;]<\/p>\n<h1>\u00a0Command and Control<\/h1>\n<p>[\/et_pb_text][et_pb_image src=&#8221;https:\/\/www.nextron-systems.com\/wp-content\/uploads\/2024\/01\/dnspy_entrypoint.png&#8221; title_text=&#8221;dnspy_entrypoint&#8221; show_in_lightbox=&#8221;on&#8221; _builder_version=&#8221;4.24.0&#8243; _module_preset=&#8221;default&#8221; global_colors_info=&#8221;{}&#8221;][\/et_pb_image][et_pb_text _builder_version=&#8221;4.24.0&#8243; _module_preset=&#8221;default&#8221; global_colors_info=&#8221;{}&#8221;]After some initial analysis of the entry-point we found the actual core of this backdoor the <code>SignalRHub<\/code> class. This sparked our interest, SignalR is Microsoft&#8217;s real-time web API protocol. After further inspection we confirmed that the malware uses the SignalR protocol for its Command and Control (C2) communication. The code presented below unveils the response handlers implemented by the client, offering some insights into the capabilities of this malware.[\/et_pb_text][et_pb_image src=&#8221;https:\/\/www.nextron-systems.com\/wp-content\/uploads\/2024\/01\/dnspy_namespaces.png&#8221; title_text=&#8221;dnspy_namespaces&#8221; show_in_lightbox=&#8221;on&#8221; _builder_version=&#8221;4.24.0&#8243; _module_preset=&#8221;default&#8221; global_colors_info=&#8221;{}&#8221;][\/et_pb_image][et_pb_text _builder_version=&#8221;4.24.0&#8243; _module_preset=&#8221;default&#8221; global_colors_info=&#8221;{}&#8221;]All C2 communication is encrypted using AES CBC with a hardcoded key and IV. Encryption is implemented as a separate service in the <code>Core.Agent.Services.Implementationes<\/code> namespace. Communication and command handling are implemented in a modular way using interfaces and services following common C# app development practice. To further understand the capabilities of the client we will analyze the handlers individually.[\/et_pb_text][et_pb_text _builder_version=&#8221;4.24.0&#8243; _module_preset=&#8221;default&#8221; global_colors_info=&#8221;{}&#8221;]<\/p>\n<h1>The Command Handler<\/h1>\n<p>Starting with the Command handler, we need to find the implementation of the class as its implemented from an interface. In the implementation we can spot some strings indicating browser credential stealing as well as reverse shells in various forms. Interesting to note: The list of targeted browsers only includes major Chromium based browsers Edge, Chrome and Brave. As indicated by the target paths shown in the screenshot:<\/p>\n<pre>\\Google\\Chrome\\User Data\\<br \/>\\BraveSoftware\\Brave Browser\\User Data\\<br \/>\\Microsoft\\Edge\\User Data\\<\/pre>\n<p>[\/et_pb_text][et_pb_image src=&#8221;https:\/\/www.nextron-systems.com\/wp-content\/uploads\/2024\/01\/dnspy_command_handler.png&#8221; title_text=&#8221;dnspy_command_handler&#8221; show_in_lightbox=&#8221;on&#8221; _builder_version=&#8221;4.24.0&#8243; _module_preset=&#8221;default&#8221; global_colors_info=&#8221;{}&#8221;][\/et_pb_image][et_pb_text _builder_version=&#8221;4.24.0&#8243; _module_preset=&#8221;default&#8221; global_colors_info=&#8221;{}&#8221;]The Command handler implements a number of sub commands ranging from reverse shell to process termination and data exfiltration. The sub commands are implemented in additional services such as the <code>ProcessService<\/code> for reverse shell, process enumeration etc. and the <code>FileStorageService<\/code> for download, upload and file system inspection. Below you can find an overview of all available sub commands of the Command handler.[\/et_pb_text][et_pb_text _builder_version=&#8221;4.24.0&#8243; _module_preset=&#8221;default&#8221; global_colors_info=&#8221;{}&#8221;]<\/p>\n<table border=\"1\" style=\"width: 100%; border-collapse: collapse;\">\n<tbody>\n<tr>\n<td style=\"width: 50%;\">Command<\/td>\n<td style=\"width: 50%;\">Functionality<\/td>\n<\/tr>\n<tr>\n<td style=\"width: 50%;\">Exec<\/td>\n<td style=\"width: 50%;\">Execute attacker supplied command using Process.Start(). Optional run as Background Task*<\/td>\n<\/tr>\n<tr>\n<td style=\"width: 50%;\">ExecUseShell<\/td>\n<td style=\"width: 50%;\">Execute attacker supplied command using Process.Start() with ShellExecute, RedirectStandardError and RedirectStandardOutput. Optional run as Background Task*<\/td>\n<\/tr>\n<tr>\n<td style=\"width: 50%;\">ExecAndKeepAlive<\/td>\n<td style=\"width: 50%;\">Not implemented just returns &#8220;not work&#8221;<\/td>\n<\/tr>\n<tr>\n<td style=\"width: 50%;\">CMD<\/td>\n<td style=\"width: 50%;\">Run attacker supplied command trough cmd.exe, if parameters are &#8220;pass&#8221; run browser credential stealer. Optional run as Background Task*<\/td>\n<\/tr>\n<tr>\n<td style=\"width: 50%;\">PowerShell<\/td>\n<td style=\"width: 50%;\">Run attacker supplied Powershell query. Optional run as Background Task*<\/td>\n<\/tr>\n<tr>\n<td style=\"width: 50%;\">KillByName<\/td>\n<td style=\"width: 50%;\">Terminate process by name<\/td>\n<\/tr>\n<tr>\n<td style=\"width: 50%;\">KillById<\/td>\n<td style=\"width: 50%;\">Terminate process by ID<\/td>\n<\/tr>\n<tr>\n<td style=\"width: 50%;\">Download<\/td>\n<td style=\"width: 50%;\">Download and unpack zip file from C2<\/td>\n<\/tr>\n<tr>\n<td style=\"width: 50%;\">Upload<\/td>\n<td style=\"width: 50%;\">Exfiltrate data from victim system, can upload one or multiple files or entire directories<\/td>\n<\/tr>\n<tr>\n<td style=\"width: 50%;\">Delete<\/td>\n<td style=\"width: 50%;\">Delete file from victim system<\/td>\n<\/tr>\n<tr>\n<td style=\"width: 50%;\">GetDirectories<\/td>\n<td style=\"width: 50%;\">Check if attacker supplied directory exists and report contents<\/td>\n<\/tr>\n<tr>\n<td style=\"width: 50%;\">ChangeTime<\/td>\n<td style=\"width: 50%;\">Change timeout for next request<\/td>\n<\/tr>\n<tr>\n<td style=\"width: 50%;\">SendAllDirectory<\/td>\n<td style=\"width: 50%;\">Send all Disks and their directory structure<\/td>\n<\/tr>\n<tr>\n<td style=\"width: 50%;\">UpadateApplication<\/td>\n<td style=\"width: 50%;\">Download update and restart the new agent with a special argument to delete old copies and register new copies of the agent<\/td>\n<\/tr>\n<tr>\n<td style=\"width: 50%;\">Restart<\/td>\n<td style=\"width: 50%;\">Restart the agent with a special argument, check for persistence copies and restart them if found<\/td>\n<\/tr>\n<tr>\n<td style=\"width: 50%;\">GetProccess<\/td>\n<td style=\"width: 50%;\">Send list of all running processes including process name and ID<\/td>\n<\/tr>\n<tr>\n<td style=\"width: 50%;\">SendAllDirectoryWithStartPath<\/td>\n<td style=\"width: 50%;\">Send all sub directories contained in an attacker supplied starting directory<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p>* Background Task use CreateNoWindow and WindowStyle Hidden properties[\/et_pb_text][et_pb_text _builder_version=&#8221;4.24.0&#8243; _module_preset=&#8221;default&#8221; global_colors_info=&#8221;{}&#8221;]<\/p>\n<h1>The GetDir and GetHard Handlers<\/h1>\n<p>These two handlers are rather simple. The GetDir handler is quite similar to the GetDirectories sub command of the Command handler. It send a list of all files and directories including path, name and create date for an attacker requested directory. In case the attacker does not specify a directory it scans the current one.<\/p>\n<p>The GetHard handler sends a list of all logical drives to the C2. The list includes the following information: name, drive type, free space and total capacity.<\/p>\n<p>[\/et_pb_text][et_pb_text _builder_version=&#8221;4.24.0&#8243; _module_preset=&#8221;default&#8221; global_colors_info=&#8221;{}&#8221;]<\/p>\n<h1>The GetScreen and StopSendScreen Handlers<\/h1>\n<p>These handlers are on and off switches for the remote screen viewer feature of the backdoor. The GetScreen handler starts the screen viewer which uploads screenshots of the victim&#8217;s screen using attacker specified interval, duration, resolution and quality. The screen viewer is run as a new thread capturing the screen and encoding the images as JPEG data then converting it a Base64 string which is send to the C2 server.<\/p>\n<p>[\/et_pb_text][et_pb_image src=&#8221;https:\/\/www.nextron-systems.com\/wp-content\/uploads\/2024\/01\/dnspy_screensaver.png&#8221; title_text=&#8221;dnspy_screensaver&#8221; show_in_lightbox=&#8221;on&#8221; _builder_version=&#8221;4.24.0&#8243; _module_preset=&#8221;default&#8221; global_colors_info=&#8221;{}&#8221;][\/et_pb_image][et_pb_text _builder_version=&#8221;4.24.0&#8243; _module_preset=&#8221;default&#8221; global_colors_info=&#8221;{}&#8221;]<\/p>\n<p>The StopSendScreen will stop the screen viewer from if it is still running. We suspect that one reason the threat actor chose SignalR is due to its optimization for real-time data transmission, making it ideal for real-time screen monitoring.<\/p>\n<p>[\/et_pb_text][et_pb_text _builder_version=&#8221;4.24.0&#8243; _module_preset=&#8221;default&#8221; global_colors_info=&#8221;{}&#8221;]<\/p>\n<h1>Persistence<\/h1>\n<p>Another interesting part of this backdoor are it&#8217;s persistence mechanisms. The persistence functions are executed in the initialization of the main WPF GUI class. Finding were the actual malicious code started was quite a challenge due to the heavy use of abstraction. The persistence features are implemented tin the <code>Core.Agent.Utilities.Prerequisite<\/code> class. There are multiple components to the process. The CopyMyApp function is the core, it is run immediately on application start. The function first checks if the application has been updated which is indicated by a command line argument on application start. If an update was performed the function will delete the following three files:<\/p>\n<pre>%appdata%\\\\host.exe\n%localappdata%\\\\broker.exe\n%localappdata%\\\\Microsoft\\\\System.exe<\/pre>\n<p>This step is skipped if no update was performed. Next, the agent checks if the same files have a registry value entry under <code>SOFTWARE\\\\Microsoft\\\\Windows\\\\CurrentVersion\\\\Run<\/code>. If it doesn&#8217;t find an entry, it replicates itself in all the designated locations and creates new entries in the registry. Each entry uses the file name as the value and the file&#8217;s path as data. There also functions to remove the subkeys entirely and one to replace the file paths for the keys, however these functions are not used. We suspect that these have been implemented for future updates to the C2 commands.[\/et_pb_text][et_pb_text _builder_version=&#8221;4.24.0&#8243; _module_preset=&#8221;default&#8221; global_colors_info=&#8221;{}&#8221;]<\/p>\n<h1>Config<\/h1>\n<p>While reversing we encountered the <code>Core.Agent.Utilities.Constants<\/code> class which holds config values and encrypted strings. The encrypted strings are outlined into separate methods that call the decryption function and return the result. The strings are decrypted using AES CBC with the same hardcoded key and IV used for the C2 communication. To ease reversal we wrote a simple python script to statically decrypt and inline the strings. The script uses dnlib to parse the binary and decrypt all strings using the hardcoded AES parameters.[\/et_pb_text][et_pb_image src=&#8221;https:\/\/www.nextron-systems.com\/wp-content\/uploads\/2024\/01\/dnspy_config_decrypted.png&#8221; title_text=&#8221;dnspy_config_decrypted&#8221; _builder_version=&#8221;4.24.0&#8243; _module_preset=&#8221;default&#8221; global_colors_info=&#8221;{}&#8221;][\/et_pb_image][et_pb_text _builder_version=&#8221;4.24.0&#8243; _module_preset=&#8221;default&#8221; global_colors_info=&#8221;{}&#8221;]<\/p>\n<p>The screenshot provides a side-by-side comparison of the reverse shell runner before and after clean up. After decryption we can easily read the C2 domain and Mutex as well as filenames and commandline arguments used for update and reset. You can find the full decryption and clean up script on our <a href=\"https:\/\/github.com\/NextronSystems\/iocs\/blob\/master\/reports\/peach_sandstorm_false_font\/scripts\/falsefont-cleaner.py\" target=\"_blank\" rel=\"noopener\">GitHub<\/a>.<\/p>\n<p>[\/et_pb_text][et_pb_text _builder_version=&#8221;4.24.0&#8243; _module_preset=&#8221;default&#8221; global_colors_info=&#8221;{}&#8221;]<\/p>\n<h1>Conclusion<\/h1>\n<p>The FalseFont backdoor is a complex remote access and data exfiltration tool, with a focus of monitoring the user machine. Most of the features target user files and data structure, considering the lure of this malware the actors likely plan to extract US Defense \/ Intelligence related documents. The screen recording functionality is another vector of data exfiltration allowing the actors to obtain more potentially confidential information from data not stored on disk like E-Mails or chat messages. Along side the standard file exfiltration FalseFont also includes a browser credential stealer, which would potentially allow compromise of high value online accounts. While the malware is complex, the protection scheme seems to neglect strings and other potential malicious indicators. Allowing for rather simple detection of the binaries.<\/p>\n<p>[\/et_pb_text][et_pb_text _builder_version=&#8221;4.24.0&#8243; _module_preset=&#8221;default&#8221; global_colors_info=&#8221;{}&#8221;]<\/p>\n<h1>Detection<\/h1>\n<p>You can find all IOCs and links to the latest version of the detections rules (YARA, Sigma) in our new <a href=\"https:\/\/github.com\/NextronSystems\/iocs\/tree\/master\/reports\/peach_sandstorm_false_font\">Github repository<\/a>.<\/p>\n<h2>YARA<\/h2>\n<pre>rule APT_MAL_FalseFont_Backdoor_Jan24 {\n   meta:\n      description = \"Detects FalseFont backdoor, related to Peach Sandstorm APT\"\n      author = \"X__Junior, Jonathan Peters\"\n      date = \"2024-01-11\"\n      reference = \"https:\/\/twitter.com\/MsftSecIntel\/status\/1737895710169628824\"\n      hash = \"364275326bbfc4a3b89233dabdaf3230a3d149ab774678342a40644ad9f8d614\"\n      score = 80\n   strings:\n      $x1 = \"Agent.Core.WPF.App\" ascii\n      $x2 = \"3EzuNZ0RN3h3oV7rzILktSHSaHk+5rtcWOr0mlA1CUA=\" wide \/\/AesIV\n      $x3 = \"viOIZ9cX59qDDjMHYsz1Yw==\" wide \/\/ AesKey\n\n      $sa1 = \"StopSendScreen\" wide\n      $sa2 = \"Decryption failed :(\" wide\n\n      $sb1 = \"{0}     {1}     {2}     {3}\" wide\n      $sb2 = \"\\\\\\\\BraveSoftware\\\\\\\\Brave-Browser\\\\\\\\User Data\\\\\\\\\" wide\n      $sb3 = \"select * from logins\" wide\n      $sb4 = \"Loginvault.db\" wide\n      $sb5 = \"password_value\" wide\n   condition:\n      uint16(0) == 0x5a4d\n      and (\n         1 of ($x*)\n         or all of ($sa*)\n         or all of ($sb*)\n         or ( 1 of ($sa*) and 4 of ($sb*) )\n      )\n}<\/pre>\n<h2>Sigma<\/h2>\n<p><a href=\"https:\/\/github.com\/SigmaHQ\/sigma\/blob\/master\/rules-emerging-threats\/2023\/TA\/Peach-Sandstorm\/proc_creation_win_apt_peach_sandstorm_indicators.yml\" target=\"_blank\" rel=\"noopener\">Process Creation Peach Sandstorm<\/a><br \/><a href=\"https:\/\/github.com\/SigmaHQ\/sigma\/blob\/master\/rules-emerging-threats\/2023\/TA\/Peach-Sandstorm\/proxy_apt_peach_sandstorm_falsefont_backdoor_c2_coms.yml\" target=\"_blank\" rel=\"noopener\">Peach Sandstorm FalseFont Backdoor C2 Communication<\/a><\/p>\n<h2>IOCs<\/h2>\n<table border=\"1\" style=\"border-collapse: collapse; width: 100%;\">\n<tbody>\n<tr>\n<td style=\"width: 50%;\">Type<\/td>\n<td style=\"width: 50%;\">Indicator<\/td>\n<\/tr>\n<tr>\n<td style=\"width: 50%;\">SHA-256<\/td>\n<td style=\"width: 50%;\">364275326bbfc4a3b89233dabdaf3230a3d149ab774678342a40644ad9f8d614<\/td>\n<\/tr>\n<tr>\n<td style=\"width: 50%;\">SHA-1<\/td>\n<td style=\"width: 50%;\">ddd18e208aff7b00a46e06f8d9485f81ff4221ea<\/td>\n<\/tr>\n<tr>\n<td style=\"width: 50%;\">MD5<\/td>\n<td style=\"width: 50%;\">6fd5d31d607a212c6f7651c79e7655a3<\/td>\n<\/tr>\n<tr>\n<td style=\"width: 50%;\">Mutex<\/td>\n<td style=\"width: 50%;\">864H!NKLNB*x_H?5<\/td>\n<\/tr>\n<tr>\n<td style=\"width: 50%;\">Commandline<\/td>\n<td style=\"width: 50%;\">SQP&#8217;s*(58vaP!tF4<br \/>(argument used for Update and Restart)<\/td>\n<\/tr>\n<tr>\n<td style=\"width: 50%;\">Filename<\/td>\n<td style=\"width: 50%;\">Maxar.exe<\/td>\n<\/tr>\n<tr>\n<td style=\"width: 50%;\">Path<\/td>\n<td style=\"width: 50%;\">%localappdata%\\\\Temp\\\\Maxar.exe<\/td>\n<\/tr>\n<tr>\n<td style=\"width: 50%;\">Path<\/td>\n<td style=\"width: 50%;\">%localappdata%\\\\Microsoft\\\\System.exe<\/td>\n<\/tr>\n<tr>\n<td style=\"width: 50%;\">Path<\/td>\n<td style=\"width: 50%;\">%localappdata%\\\\broker.exe<\/td>\n<\/tr>\n<tr>\n<td style=\"width: 50%;\">Path<\/td>\n<td style=\"width: 50%;\">%appdata%\\\\host.exe<\/td>\n<\/tr>\n<tr>\n<td style=\"width: 50%;\">URL<\/td>\n<td style=\"width: 50%;\">hxxp:\/\/64[.]52[.]80[.]30:8080<\/td>\n<\/tr>\n<tr>\n<td style=\"width: 50%;\">Domain<\/td>\n<td style=\"width: 50%;\">hxxp:\/\/digitalcodecrafters[.]com<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<h2>Registry<\/h2>\n<pre>SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Run\n- `Value: host.exe Data: %appdata%\\host.exe\n- `Value: broker.exe Data: %localappdata%\\broker.exe\n- `Value: System.exe Data: %localappdata%\\Microsoft\\System.exe<\/pre>\n<p>[\/et_pb_text][et_pb_text _builder_version=&#8221;4.24.0&#8243; _module_preset=&#8221;default&#8221; global_colors_info=&#8221;{}&#8221;]<\/p>\n<p>Authors<\/p>\n<ul>\n<li><a href=\"https:\/\/twitter.com\/cod3nym\" target=\"_blank\" rel=\"noopener\">Jonathan Peters<\/a><\/li>\n<li><a href=\"https:\/\/twitter.com\/X__Junior\" target=\"_blank\" rel=\"noopener\">Mohamed Ashraf<\/a><\/li>\n<\/ul>\n<p>[\/et_pb_text][\/et_pb_column][\/et_pb_row][\/et_pb_section]<\/p>\n","protected":false},"excerpt":{"rendered":"<p>In this article, we will explore the FalseFont Backdoor used by Peach Sandstorm APT to target defense contractors worldwide. The backdoor was initially identified and reported on by Microsoft. The malware features data exfiltration and remote access capabilities. It poses as a legitimate application from US Defense and Intelligence Contractor Maxar Technologies, and provides the user with a realistic UI and behavior.Triage When starting the application we are met, with a login screen. The branding and style match the website of Maxar Technologies. The victim is prompted to login to their account or login as a guest. Logging in as a guest will prompt for some personal data for registration.We attempted a login with randomly chosen credentials, which resulted in an infinite loading screen. However we did gather some information during the execution as we had our Aurora Agent running on the System. Aurora detected multiple suspicious activities.The screenshot shows Aurora provided a number of events including multiple warning level events. These events are quite typical for malware establishing persistence. The major event to consider here are the files dropped in AppData and the modification of the autostart registry keys in quick succession. The warning events serve as an urgent [&hellip;]<\/p>\n","protected":false},"author":21,"featured_media":19020,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_et_pb_use_builder":"on","_et_pb_old_content":"","_et_gb_content_width":"","footnotes":""},"categories":[749,735],"tags":[],"class_list":["post-19019","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-homepage","category-research"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v24.9 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Analysis of FalseFont Backdoor used by Peach-Sandstorm Threat Actor - Nextron Systems<\/title>\n<meta name=\"description\" content=\"In this article, we will explore the FalseFont Backdoor used by Peach Sandstorm APT to target defense contractors worldwide.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.nextron-systems.com\/2024\/01\/29\/analysis-of-falsefont-backdoor-used-by-peach-sandstorm-threat-actor\/\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/www.nextron-systems.com\/2024\/01\/29\/analysis-of-falsefont-backdoor-used-by-peach-sandstorm-threat-actor\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/www.nextron-systems.com\/2024\/01\/29\/analysis-of-falsefont-backdoor-used-by-peach-sandstorm-threat-actor\/\"},\"author\":{\"name\":\"Nextron Threat Research Team\",\"@id\":\"https:\/\/www.nextron-systems.com\/#\/schema\/person\/c85023b02fb7500513bb7464c4d36a96\"},\"headline\":\"Analysis of FalseFont Backdoor used by Peach-Sandstorm Threat Actor\",\"datePublished\":\"2024-01-29T14:28:04+00:00\",\"dateModified\":\"2024-04-12T14:33:23+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/www.nextron-systems.com\/2024\/01\/29\/analysis-of-falsefont-backdoor-used-by-peach-sandstorm-threat-actor\/\"},\"wordCount\":2525,\"publisher\":{\"@id\":\"https:\/\/www.nextron-systems.com\/#organization\"},\"image\":{\"@id\":\"https:\/\/www.nextron-systems.com\/2024\/01\/29\/analysis-of-falsefont-backdoor-used-by-peach-sandstorm-threat-actor\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.nextron-systems.com\/wp-content\/uploads\/2024\/01\/cyb3rops_investigator_analyzing_big_letters_in_a_museum_c9b90555-7411-4c26-a39d-323cef80020b.png\",\"articleSection\":[\"Homepage\",\"Research\"],\"inLanguage\":\"en-US\"},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.nextron-systems.com\/2024\/01\/29\/analysis-of-falsefont-backdoor-used-by-peach-sandstorm-threat-actor\/\",\"url\":\"https:\/\/www.nextron-systems.com\/2024\/01\/29\/analysis-of-falsefont-backdoor-used-by-peach-sandstorm-threat-actor\/\",\"name\":\"Analysis of FalseFont Backdoor used by Peach-Sandstorm Threat Actor - Nextron Systems\",\"isPartOf\":{\"@id\":\"https:\/\/www.nextron-systems.com\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/www.nextron-systems.com\/2024\/01\/29\/analysis-of-falsefont-backdoor-used-by-peach-sandstorm-threat-actor\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/www.nextron-systems.com\/2024\/01\/29\/analysis-of-falsefont-backdoor-used-by-peach-sandstorm-threat-actor\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.nextron-systems.com\/wp-content\/uploads\/2024\/01\/cyb3rops_investigator_analyzing_big_letters_in_a_museum_c9b90555-7411-4c26-a39d-323cef80020b.png\",\"datePublished\":\"2024-01-29T14:28:04+00:00\",\"dateModified\":\"2024-04-12T14:33:23+00:00\",\"description\":\"In this article, we will explore the FalseFont Backdoor used by Peach Sandstorm APT to target defense contractors worldwide.\",\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.nextron-systems.com\/2024\/01\/29\/analysis-of-falsefont-backdoor-used-by-peach-sandstorm-threat-actor\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.nextron-systems.com\/2024\/01\/29\/analysis-of-falsefont-backdoor-used-by-peach-sandstorm-threat-actor\/#primaryimage\",\"url\":\"https:\/\/www.nextron-systems.com\/wp-content\/uploads\/2024\/01\/cyb3rops_investigator_analyzing_big_letters_in_a_museum_c9b90555-7411-4c26-a39d-323cef80020b.png\",\"contentUrl\":\"https:\/\/www.nextron-systems.com\/wp-content\/uploads\/2024\/01\/cyb3rops_investigator_analyzing_big_letters_in_a_museum_c9b90555-7411-4c26-a39d-323cef80020b.png\",\"width\":1536,\"height\":768},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/www.nextron-systems.com\/#website\",\"url\":\"https:\/\/www.nextron-systems.com\/\",\"name\":\"Nextron Systems\",\"description\":\"We Detect Hackers\",\"publisher\":{\"@id\":\"https:\/\/www.nextron-systems.com\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/www.nextron-systems.com\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/www.nextron-systems.com\/#organization\",\"name\":\"Nextron Systems GmbH\",\"url\":\"https:\/\/www.nextron-systems.com\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.nextron-systems.com\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/www.nextron-systems.com\/wp-content\/uploads\/2017\/11\/Nextron_0.2s_inv_symbol_only.png\",\"contentUrl\":\"https:\/\/www.nextron-systems.com\/wp-content\/uploads\/2017\/11\/Nextron_0.2s_inv_symbol_only.png\",\"width\":260,\"height\":260,\"caption\":\"Nextron Systems GmbH\"},\"image\":{\"@id\":\"https:\/\/www.nextron-systems.com\/#\/schema\/logo\/image\/\"}},{\"@type\":\"Person\",\"@id\":\"https:\/\/www.nextron-systems.com\/#\/schema\/person\/c85023b02fb7500513bb7464c4d36a96\",\"name\":\"Nextron Threat Research Team\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.nextron-systems.com\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/93ef820b74086420190263e5fff9169f?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/93ef820b74086420190263e5fff9169f?s=96&d=mm&r=g\",\"caption\":\"Nextron Threat Research Team\"},\"url\":\"https:\/\/www.nextron-systems.com\/author\/threat_research\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Analysis of FalseFont Backdoor used by Peach-Sandstorm Threat Actor - Nextron Systems","description":"In this article, we will explore the FalseFont Backdoor used by Peach Sandstorm APT to target defense contractors worldwide.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.nextron-systems.com\/2024\/01\/29\/analysis-of-falsefont-backdoor-used-by-peach-sandstorm-threat-actor\/","schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.nextron-systems.com\/2024\/01\/29\/analysis-of-falsefont-backdoor-used-by-peach-sandstorm-threat-actor\/#article","isPartOf":{"@id":"https:\/\/www.nextron-systems.com\/2024\/01\/29\/analysis-of-falsefont-backdoor-used-by-peach-sandstorm-threat-actor\/"},"author":{"name":"Nextron Threat Research Team","@id":"https:\/\/www.nextron-systems.com\/#\/schema\/person\/c85023b02fb7500513bb7464c4d36a96"},"headline":"Analysis of FalseFont Backdoor used by Peach-Sandstorm Threat Actor","datePublished":"2024-01-29T14:28:04+00:00","dateModified":"2024-04-12T14:33:23+00:00","mainEntityOfPage":{"@id":"https:\/\/www.nextron-systems.com\/2024\/01\/29\/analysis-of-falsefont-backdoor-used-by-peach-sandstorm-threat-actor\/"},"wordCount":2525,"publisher":{"@id":"https:\/\/www.nextron-systems.com\/#organization"},"image":{"@id":"https:\/\/www.nextron-systems.com\/2024\/01\/29\/analysis-of-falsefont-backdoor-used-by-peach-sandstorm-threat-actor\/#primaryimage"},"thumbnailUrl":"https:\/\/www.nextron-systems.com\/wp-content\/uploads\/2024\/01\/cyb3rops_investigator_analyzing_big_letters_in_a_museum_c9b90555-7411-4c26-a39d-323cef80020b.png","articleSection":["Homepage","Research"],"inLanguage":"en-US"},{"@type":"WebPage","@id":"https:\/\/www.nextron-systems.com\/2024\/01\/29\/analysis-of-falsefont-backdoor-used-by-peach-sandstorm-threat-actor\/","url":"https:\/\/www.nextron-systems.com\/2024\/01\/29\/analysis-of-falsefont-backdoor-used-by-peach-sandstorm-threat-actor\/","name":"Analysis of FalseFont Backdoor used by Peach-Sandstorm Threat Actor - Nextron Systems","isPartOf":{"@id":"https:\/\/www.nextron-systems.com\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.nextron-systems.com\/2024\/01\/29\/analysis-of-falsefont-backdoor-used-by-peach-sandstorm-threat-actor\/#primaryimage"},"image":{"@id":"https:\/\/www.nextron-systems.com\/2024\/01\/29\/analysis-of-falsefont-backdoor-used-by-peach-sandstorm-threat-actor\/#primaryimage"},"thumbnailUrl":"https:\/\/www.nextron-systems.com\/wp-content\/uploads\/2024\/01\/cyb3rops_investigator_analyzing_big_letters_in_a_museum_c9b90555-7411-4c26-a39d-323cef80020b.png","datePublished":"2024-01-29T14:28:04+00:00","dateModified":"2024-04-12T14:33:23+00:00","description":"In this article, we will explore the FalseFont Backdoor used by Peach Sandstorm APT to target defense contractors worldwide.","inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.nextron-systems.com\/2024\/01\/29\/analysis-of-falsefont-backdoor-used-by-peach-sandstorm-threat-actor\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.nextron-systems.com\/2024\/01\/29\/analysis-of-falsefont-backdoor-used-by-peach-sandstorm-threat-actor\/#primaryimage","url":"https:\/\/www.nextron-systems.com\/wp-content\/uploads\/2024\/01\/cyb3rops_investigator_analyzing_big_letters_in_a_museum_c9b90555-7411-4c26-a39d-323cef80020b.png","contentUrl":"https:\/\/www.nextron-systems.com\/wp-content\/uploads\/2024\/01\/cyb3rops_investigator_analyzing_big_letters_in_a_museum_c9b90555-7411-4c26-a39d-323cef80020b.png","width":1536,"height":768},{"@type":"WebSite","@id":"https:\/\/www.nextron-systems.com\/#website","url":"https:\/\/www.nextron-systems.com\/","name":"Nextron Systems","description":"We Detect Hackers","publisher":{"@id":"https:\/\/www.nextron-systems.com\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.nextron-systems.com\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/www.nextron-systems.com\/#organization","name":"Nextron Systems GmbH","url":"https:\/\/www.nextron-systems.com\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.nextron-systems.com\/#\/schema\/logo\/image\/","url":"https:\/\/www.nextron-systems.com\/wp-content\/uploads\/2017\/11\/Nextron_0.2s_inv_symbol_only.png","contentUrl":"https:\/\/www.nextron-systems.com\/wp-content\/uploads\/2017\/11\/Nextron_0.2s_inv_symbol_only.png","width":260,"height":260,"caption":"Nextron Systems GmbH"},"image":{"@id":"https:\/\/www.nextron-systems.com\/#\/schema\/logo\/image\/"}},{"@type":"Person","@id":"https:\/\/www.nextron-systems.com\/#\/schema\/person\/c85023b02fb7500513bb7464c4d36a96","name":"Nextron Threat Research Team","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.nextron-systems.com\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/93ef820b74086420190263e5fff9169f?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/93ef820b74086420190263e5fff9169f?s=96&d=mm&r=g","caption":"Nextron Threat Research Team"},"url":"https:\/\/www.nextron-systems.com\/author\/threat_research\/"}]}},"_links":{"self":[{"href":"https:\/\/www.nextron-systems.com\/wp-json\/wp\/v2\/posts\/19019","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.nextron-systems.com\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.nextron-systems.com\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.nextron-systems.com\/wp-json\/wp\/v2\/users\/21"}],"replies":[{"embeddable":true,"href":"https:\/\/www.nextron-systems.com\/wp-json\/wp\/v2\/comments?post=19019"}],"version-history":[{"count":16,"href":"https:\/\/www.nextron-systems.com\/wp-json\/wp\/v2\/posts\/19019\/revisions"}],"predecessor-version":[{"id":22045,"href":"https:\/\/www.nextron-systems.com\/wp-json\/wp\/v2\/posts\/19019\/revisions\/22045"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.nextron-systems.com\/wp-json\/wp\/v2\/media\/19020"}],"wp:attachment":[{"href":"https:\/\/www.nextron-systems.com\/wp-json\/wp\/v2\/media?parent=19019"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.nextron-systems.com\/wp-json\/wp\/v2\/categories?post=19019"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.nextron-systems.com\/wp-json\/wp\/v2\/tags?post=19019"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}