Security researchers have discovered a way to use the Microsoft Teams Updater to download malware, bypassing a patch released earlier this year and flying under security teams' radar.
This method would let an attacker use Microsoft Teams Update[.]exe as a living-off-the-land binary (LOLbin). Living off the land is an especially dangerous technique as it uses known, common tools to download and execute malware from a location of the attackers' choosing.
"You can use that binary to download any arbitrary binary that you want," says Karl Sigler, senior security research manager at Trustwave SpiderLabs. Teams is appealing software for living-off-the-land attacks because it's likely already installed on potential victims' systems. Furthermore, Teams traffic is usually so noisy that it's easy for malicious traffic to evade detection.
SpiderLabs' Reegun Jayapaul discovered a vulnerability enabling this attack vector last year. He found Teams could download via HTTP or HTTPS, meaning attackers could point to the web server where their payload was hosted and download directly from there. Microsoft issued a fix to prevent HTTP functionality so Teams could only download updates via local shares provided by the administrative team.
The problem, he recently found, was Microsoft's patch was not complete. Even though HTTP and HTTPS were eliminated as download options, an attacker could work around the fix by pointing to a remote Server Message Block (SMB) share. The attacker could set up a Samba server, which could be available via SMB, and point to the UNC share to download any arbitrary binary they want.
"It's a vulnerability in how Teams downloads updates that would allow an attacker to potentially download their own payload instead of a legitimate update from Teams," Sigler says. To exploit it, an attacker would first need to get the malicious file inside the network in an open shared folder, then access the payload from that share to the victim machine.
The first step in Jayapaul's research process was setting up a remote Samba server for remote, public access. Samba is open source software typically installed on a Linux system, Sigler notes, and it allows the system to provide a share to a Windows network. Attackers would need to post their payload to the Samba server.
"The payload needs to be constructed like a Windows Update, so the attacker would have to do a little bit of prep ahead of time in order to create the package properly, so it looks like an update for Teams," Sigler explains. If someone had access to a Teams package from Microsoft's website, they could open it up, remove the updater, add the payload, and recompress it.
With the Samba server set up and the package created, it's just a matter of finding a foothold, he continues. Intruders may get in via phishing attack, user interaction, or another exploit. From there, they would use Teams as a downloader to bring in the payload and expand their access.
"We have a legitimate binary on the system — Microsoft Teams — that we can use as that component," Sigler says. "It won't be flagged by any administrator because it's legitimate software for the network. … [You] don't need any sort of privilege escalation, don't need anything but access to that victim's account on the target system to download it."
Trustwave reached out to Microsoft as part of its responsible disclosure process. Microsoft said that this is a design issue and it does not plan to issue a patch because many of its customers distribute updates via UNC share.
The company does recommend other workarounds, says Sigler. Businesses can lock down their registry so attackers can't add the SMB server as an authenticated server to download updates from, which would be one of the steps an attacker would have to complete in order to successfully pull off this attack. There are also standard best practices, Sigler adds. These include limiting SMB in and out of your perimeter network. If your firewall is blocking SMB out of your network, then an attacker can't point to a remote share to download malware.
Sigler also advises monitoring networks for Teams update activity, which can flag if this sort of attack is occurring on the network.