ISO file downloads are advertised via QR codes on Twitter and on supposedly free gaming sites, but they don't contain what they promise.
The loader for the malicious Chrome extension was initially analysed by @x3ph1 who dubbed it ChromeLoader. To avoid misunderstandings with legitimate Chrome components we hereby refer to it as Choziosi loader. The analysis on the loader is detailed but x3ph1 does not describe the Chrome extension Choziosi, which got me intrigued.
Twitter user @th3_protoCOL found QR codes that circulate on Twitter and advertise pirated software to lure people into downloading an ISO. Reddit users also complain about malicious ISO files on websites that provide Steam games. This tweet by @StopMalvertisin says the ISOs are downloaded via malicious advertisments.
The ISO file has two main components. The _meta.txt contains a PowerShell script, which is encrypted with a substitution cipher. The downloader.exe is a .NET assembly. It has a big dictionary with the substitution alphabet to decrypt the PowerShell script in _meta.txt. It adds the PowerShell commands as scheduled task named ChromeTask which runs every ten minutes.
Other variants of the same malware use dictionaries to combine words into a task name. The downloader.exe also shows an error message to the user, claiming that the operating system is incompatible with the program.
The PowerShell script downloads the Chrome extension archive.zip from a malware server and installs it. Due to the scheduled task this continues to happen every ten minutes. This explains why some Reddit users complain that Chrome closes itself all the time. This is a mishap of the malware developer because the annoyance factor will make it more likely that affected users clean their system as soon as possible.
The Chrome extension itself has not been analysed yet. Possibly because of its hefty obfuscation. While trying to debug the extension within Chrome, I already noticed that the extension settings chrome://extensions are redirected to the general settings chrome://settings. This prevents users from uninstalling the extension within Chrome.
The extension consists of four files. The application icon is called properties.png and shows a gearwheel. The manifest.json is part of every Chrome extension and has some metadata, e.g., about the icon location, extension name and permissions. The config.js contains the name of the extension, version number, C2 server and some form of id named _dd which is always sent as parameter to the server.
The extension's main functionality is to serve advertisments and hijack search requests to Google, Yahoo and Bing. Every three hours analytics are sent to the C2. The extension requests advertisments from the C2 server every 30 minutes.
The following image shows the extension's request to the C2 server in the first line and the server response in the second. The server provided a direct download link for a legitimate software product.
When I started to work on this, I had admittedly other expectations on the malware's functionality. For now the only purpose is getting revenue via unsolicited advertisments and search engine hijacking. But loaders often do not stick to one payload in the long run and malware authors improve their projects over time. We will likely see more of this threat in the future.
All mentioned files, including the decoded and deobfuscated files, are available for download on MalwareBazaar.
| Chrome extension||6b1db4f891aa9033b615978a3fcfef02f1904f4eba984ba756ff5cd755d6f0b4|
| download.exe, .NET file||2d4454d610ae48bf9ffbb7bafcf80140a286898a7ffda39113da1820575a892f|
| Decrypted PowerShell script||2e958f481828ce7c59a3beab2ddac5561347e6f9bc25e6716c4524b845e83938|
| Deobfuscated background.js||1c0254f0f811aadd6f1dad1cc5926f6b32fa2fb0866c35bf6a9f3dfad25fd9ca|