Persistence method using Facebook Messenger desktop app
Reason Labs researcher, Shai Alfasi, finds persistence method on the Facebook Messenger desktop app. The vulnerability was fixed on Facebook’s new desktop application version.
Persistence vector via Facebook Messenger desktop app on Microsoft store
Covid-19 has had far-reaching consequences not just for our health, but also for our social lives, our personal lives, and our work lives. It has necessitated physical and social distancing, working from home, and contact and communication mainly through chat applications. We find ourselves spending more of our lives online than ever before, resulting in a marked increase in the use of mobile and desktop chat applications, with some applications seeing a 40% increase since the start of the pandemic. Facebook alone reported a 70% increase in time spent on its apps since the crisis and a 50% increase in messaging.
Recently, Reason Labs researchers discovered a problem in the Facebook Messenger app for Windows, which is available on the Microsoft Store. The app executes code that shouldn’t be executed, resulting in a vulnerability that allows attackers to hijack a call for a resource within the Messenger code in order to run their malware. It is also a persistence threat that gives the attacker undetected access for an extended period of time. The vulnerability was previously unknown until it was discovered and identified by a Reason Labs security review. The version of the desktop Facebook Messenger app, Version 460.16, no longer has this problem and was replaced with Version 480.5. In this article, we dissect and analyze the vulnerability.
The operational usage of persistence
In the offensive cybersecurity kill chain, the usage of a persistence threat is one of the most important steps an attacker needs to take in order to make sure he will not lose a connection with the remote workstation. Most of the persistence methods used on Windows are pretty common and well known such as registry keys, scheduled tasks, auto-start services, and many more.
For a cybersecurity researcher or forensics investigator, it’s pretty easy to find a malicious actor using a persistence method since the common logic for all malware requires only three things:
- Malware needs to communicate.
- Malware needs to run.
- Malware needs to stay hidden.
1. The resource is optional and really doesn’t exist.
2. The program does not have the absolute path for the resource and needs to traverse the search order.
By testing the new “Messenger” desktop application, the Reason research team found a strange call to load the Powershell.exe from the Python27 directory. When we saw that, we knew we found something since the location of “Python27” is in the “c:\python27” directory, which is a low-integrity location. This means that every malicious program can access the path without any admin privileges.




via blog.reasonsecurity