Microsoft Exchange 2013 and newer versions are vulnerable to a privilege escalation attack that gives anyone with a mailbox a way to gain domain administrator rights at potentially 90% of organizations running Active Directory and Exchange, according to a security researcher.
The attack is possible because of the extensive privileges available by default in Exchange and therefore cannot be patched against, security researcher Dirk-jan Mollema of Netherlands-based Fox-IT wrote in a blog post describing the new exploit. Mollema also released a proof-of-concept tool dubbed "PrivExchange" demonstrating how the attack works.
Organizations can protect against the attack by removing privileges that Exchange has on the Domain object, by disabling certain features on it, enabling strong authentication and other mitigations, Mollema wrote.
"This is something for people to be afraid of," says Will Dormann, senior vulnerability analyst at the CERT Division of the Software Engineering Institute at Carnegie Mellon University, which issued an advisory on the threat Monday.
"If you are a company that has 1,000 computers, all that the attacker needs to do is gain control of one that gives access to an Exchange mailbox," he says.
An attacker with a foothold on a Windows network can use the publicly availability exploit to gain domain administration rights, he warns. "The domain controller is the key to the whole kingdom," Dormann says. "Somebody that gains access to the domain controller owns the entire network."
The CERT advisory identified the problem as having to do with the failure of Microsoft Exchange 2013 and newer versions to set so-called signing and sealing flags on NTLM authentication traffic. This failure can allow a remote attacker to gain the privileges of the Exchange server, the advisory noted.
To pull off the attack, an adversary would take advantage of a function in the Exchange Web Services API called PushSubscriptionRequest in such a way as to cause the Exchange server to connect to an arbitrary attacker website over HTTP. "Connections made using the PushSubscriptionRequest function will attempt to negotiate with the arbitrary web server using NTLM authentication," the CERT advisory said.
But because the authentication attempt over HTTP is not signed, it is vulnerable to what are known as NTLM relay attacks. With NTLM relay attacks, an adversary sits in the middle of an authentication session between a client and server, hijacks the session, grabs the authentication credentials, and uses it to access a different service.
With Mollema's exploit, "what the attacker is doing basically is triggering the Exchange Server to authenticate with an attacker system and then relay that authentication back to the Domain Controller," Dormann says.
The vulnerability does not affect Exchange 2010 because that version used NTLM signing. So it isn't possible for an attacker to relay authentication credentials, as is possible with Exchange 2013 and later, he notes. "It appears, in my opinion, that this is a regression if you have an older version that is not affected by the attack but newer versions are."
In a blog post, Mollema described his attack as combining previously known vulnerabilities and known protocol weaknesses. The attack leverages the fact that Exchange Servers have high privileges by default; that NTLM is vulnerable to relay attacks; and that Exchange has a feature that can be exploited to make it authenticate to an attacker with the account of the Exchange server, Mollema noted.
The attack takes advantage of a method that Trend Micro's Zero Day Initiative (ZDI) described last December for getting Exchange to authenticate with an attacker system using NTLM over HTTP.
Brian Gorenc, director of vulnerability research at Trend Micro and lead of the Zero Day Initiative, says the December blog post described how the Exchange bug could be combined with an NTLM relay attack to escalate privileges.
"The exploitation process involved adding an inbound rule to the victim mailbox that forwards inbound mails to the attacker," he says. "Exchange Server has become a central component of our business life."
Microsoft has provided detailed instructions on how to mitigate the privilege escalation issue and organizations should follow them, Gorenc says.
Organizations should remove any privileges that Exchange has on the domain object, says Dormann. Or they can disable the PushSubscriptionRequest feature to mitigate the threat, he says.
Mollema listed several recommendations as well including enabling LDAP signing and blocking Exchange servers from making connections to workstations on arbitrary ports.