Iranian threat actors have been using a newly identified Windows kernel driver in attacks against Middle East targets since 2020, cybersecurity firm Fortinet reports.
Dubbed ‘Wintapix’, the driver uses the Donut, a position-independent code that enables in-memory loading of payloads through shellcode, using process hollowing or thread hijacking.
Wintapix appears to have been active since at least mid-2020, likely developed by an Iranian threat actor and primarily used in attacks against entities in Saudi Arabia, but also against targets in Jordan, Qatar, and the United Arab Emirates.
According to Fortinet, the driver was likely used in some major campaigns in August and September 2022 and in February and March 2023, albeit it remained under the radar to date. Observed samples have compilation dates of May 2020 and June 2021, but were seen in the wild much later.
“Since Iranian threat actors are known to exploit Exchange servers to deploy additional malware, it is also possible that this driver has been employed alongside Exchange attacks. To that point, the compilation time of the drivers is also aligned with times when Iranian threat actors were exploiting Exchange server vulnerabilities,” Fortinet notes.
The threat actors likely use a legitimate but vulnerable driver to load Wintapix in the kernel. Once loaded, it injects into a local system process an embedded shellcode that loads and executes an encrypted .NET payload.
Before injecting the shellcode, Wintapix first looks for a suitable process, which should run with Local System privileges, should be 32-bit, and should not be on a block list.
Wintapix also achieves persistence on the victim system, by creating specific registry keys and a service for the driver, which is also set to load in Safe Boot, or Safe Mode, as an additional layer of persistence.
The driver uses a Windows kernel-mode function to monitor the created registry keys, which allows it to reset persistence if it has been removed from registry, and monitors its file’s location, to rewrite itself to disk if erased.
The injected shellcode, which is hardcoded in the binary, was created using the Donut project. It is self-contained and requires no dependencies.
The .NET payload that the shellcode loads is a piece of malware specifically designed to target Microsoft Internet Information Services (IIS) servers, and which functions as a backdoor and as a proxy.
The malware creates a list of sites hosted by the IIS server and starts an HTTP listener on their URLs, looking for requests containing commands to execute. It can also download or upload files, if so instructed.
As a proxy, it can accept remote desktop protocol (RDP) configuration data, to open a connection to a target RDP server and proxy it to the attacker.
Related: Cybercrime Group Exploiting Old Windows Driver Vulnerability to Bypass Security Products
Related: BlackByte Ransomware Abuses Legitimate Driver to Disable Security Protections
Related: North Korean Hackers Exploit Dell Driver Vulnerability to Disable Windows Security