CCleaner, a popular application used for performing routine maintenance on systems, was recently found to contain a malicious backdoor. This could allow a remote attacker to extract sensitive data from the host, or execute malicious code on the host.
Vulnerability details
A malicious modification of the 32-bit CCleaner.exe binary (CCleaner version 5.33.6162 and CCleaner Cloud version 1.07.3191) contains a two-stage backdoor that allows a remote attacker to execute code on an affected system. The code modification is hidden in CCleaner’s initialization code known as CRT (Common Runtime) that is usually inserted at compilation time. The modified code performs various tasks before the application’s code is executed, including unpacking and decrypting shellcode. The code then performs the following actions:
- Creates the Windows registry key HKLM\SOFTWARE\Piriform\Agomo to store data about the host, including the name of the computer, a list of installed software including Windows updates, a list of running processes, the MAC addresses of the first three network adapters and additional information such as whether the process is running with administrator privileges, whether it is a 64-bit system and more.
- Encrypts and encodes all the collected information using base64 with a custom alphabet.
- Sends the encoded information via an HTTPS POST request to the external IP address 216[.]126[.]225[.]148 with a hardcoded HTTP Host Header of “Host: speccy.piriform.com” to make the request look legitimate.
- Communicates with the remote IP to download a second stage payload.
- If the hardcoded IP address becomes unreachable, the malicious code uses a Domain Generation Algorithm (DGA) to redirect communication to a different location. These generated domains are not under the control of the attacker and do not pose any risk currently.
Tenable coverage
Tenable has released a set of plugins to help you determine if CCleaner is currently installed on your network and whether the installed versions have the backdoor:
Plugin ID | Name |
---|---|
103302 | Piriform CCleaner 5.33.6162 Backdoor |
103303 | Piriform CCleaner Cloud 1.07.3191 Backdoor |
103304 | Piriform CCleaner Cloud Installed |
103305 | Piriform CCleaner Installed |
To find your vulnerable systems, in theTenable.io Vulnerability Workbench, click on “Advanced” and do a search for Plugin Name contains “CCleaner”:
For any malware situation, you should always run a malware scan against your systems, using the predefined Malware Scan template. Plugins such as Plugin 59275, Malicious Process Detection, will report if any systems are infected. For more information on setting up scans, see the Tenable.io Scans Workflow documentation.
We also recommend that you check the output of Plugin 92371, Microsoft Windows DNS Cache, for the following domains to see if any machines have connected to these domains. Hosts that have connected to one or more of these domains have been compromised, meaning that they have the backdoored version of CCleaner installed and have connected back to the attacker.
- ab6d54340c1a[.]com
- aba9a949bc1d[.]com
- ab2da3d400c20[.]com
- ab3520430c23[.]com
- ab1c403220c27[.]com
- ab1abad1d0c2a[.]com
- ab8cee60c2d[.]com
- ab1145b758c30[.]com
- ab890e964c34[.]com
- ab3d685a0c37[.]com
- ab70a139cc3a[.]com
Some additional useful checks include:
- Check uninstalled programs using Plugin 20811, Microsoft Windows Installed Software Enumeration (credentialed check) for signs of CCleaner ever having been installed.
- In the output of Plugin 70329, Microsoft Windows Process Information, check for the CCleaner process and version information to see if the affected version of CCleaner is running on your network.
- Use Plugin 64582, Netstat Connection Information, and search the Netstat output for the known malicious IP address “216[.]126[.]225[.]148”
You can also use Tenable.io to check previous scans for signs that this backdoor vulnerability has been present on your network longer than you may have realized. If you select a previous scan in Tenable.io, you can search for signs of the DNS domains, processes, or other information mentioned above.
Nessus® Network Monitor (formerly PVS™) has also released a signature that detects if the remote host performs a DNS lookup to a list of known malicious domains.
What customers should do
Only users who have installed the 32-bit version of CCleaner for Microsoft Windows are affected by this backdoor vulnerability. Customers who installed CCleaner version 5.33.6162 should upgrade to version 5.34 or later. Customers using CCleaner Cloud version 1.07.3191 have already received an automatic update.
Thanks to Scott Caveza for his contributions to this blog.