DoubleAgent: 0-day code injection unter Ausnutzung eines 15 Jahre alten undokumentierten Windows Features

Als Security Analyst kommt man nicht umhin, regelmäßig seine Quellen anzuzapfen, um auf dem laufenden zu bleiben, was neue Bedrohungen angeht. Diese hier hatte heute sofort meine ungeteilte Aufmerksamkeit, denn was sich hinter DoubleAgent verbirgt, ist eine knallharte Sicherheitslücke in jeder Windows-Version, die zumindest zum jetzigen Zeitpunkt auch nicht gepatcht werden kann. Ich fasse die wichtigsten Punkte zusammen, der Rest lässt sich im Blog-Beitrag des Sicherheitsforschers nachlesen, der diese Lücke entdeckt hat.

Was macht DoubleAgent als 0-day-Sicherheitslücke nun so gefährlich? An dieser Stelle möchte ich gerne zwei Videos verlinken, dann wird sofort klar, was ich meine:

Avira AntiVirus morphs into Ransomware…

 

Norton Antivirus morphs into Ransomware…

 

Das sind nur zwei Beispiele, laut dem originären Blogbeitrag sind noch deutlich mehr AV-Hersteller von diesem Problem betroffen:

 

Vulnerable Antiviruses
The list of vendors that have been tested and found to be vulnerable to DoubleAgent.
The tests were done on the latest version of the vendor on Windows 10 x64 using our POC code.

Avast (CVE-2017-5567)
AVG (CVE-2017-5566)
Avira (CVE-2017-6417)
Bitdefender (CVE-2017-6186)
Trend Micro (CVE-2017-5565)
Comodo
ESET
F-Secure
Kaspersky
Malwarebytes
McAfee
Panda
Quick Heal
Norton

Antivirus Attack Vectors
During a normal cyber attack, the attacker would invest a lot of effort hiding and running away from the antivirus. By using DoubleAgent, the attack can take full control over the antivirus and do as he wish without the fear of being caught or blocked. He could:

  1. Turn the Antivirus into a malware – Perform malicious operations on behalf of the attacker. Because the antivirus is considered a trusted entity, any malicious operation done by it would be considered legitimate, giving the attacker the ability to bypass all the security products in the organization.
  2. Modify the Antivirus internal behaviour – Changing the antivirus whitelists/blacklists, internal logic and even installing backdoors. The antivirus would still appear to work normally but would actually be completely useless, giving the attacker the ability to execute malware that would normally be blocked without any interference.
  3. Abusing the Antivirus trusted nature – The antivirus is considered one of the most trusted entities in an organization. The attacker can use the antivirus to perform operations that would normally raise “red flags” like exfiltrating data, C&C communication, lateral movement, stealing and decrypting sensitive data, etc. All of these operations would seem legit because they are done by the antivirus.
  4. Destroy the Machine – The antivirus has complete power over the machine, which can allow it to easily encrypt all your files or even format your hard drives.
  5. Denial of Service – An antivirus software is responsible for signing software to act maliciously based on a set of heuristic rules. This means that the attacker can sign a totally legit and critical software such as browser applications, document viewers, or even some key components that are deep within the operating system. Once the signature has spread across the organization, it would then cause a total denial of services for the entire company. Once an antivirus decides a file is malicious, it would create a signature for it and share it globally around the world. Because the attacker controls the antivirus, he may sign totally legit and critical applications such as browsers, document viewers, or even some key components that are deep within the operating system. Once the new signature has spread across the organization, all the other instances of the antivirus would remove/delete the critical application causing total denial of services for the entire organization.

Unter Ausnutzung dieser Sicherheitslücke ist es möglich, Code in laufende Prozesse zu injizieren, ohne dass ein Prozess sich davor schützen könnte. Die Technik, die hinter der code injection steht, ist so einzigartig, dass sie offensichtlich von keinem traditionellen AV-Programm erkannt wird:

DoubleAgent gives the attacker the ability to inject any DLL into any process. The code injection occurs extremely early during the victim’s process boot, giving the attacker full control over the process and no way for the process to protect itself. The code injection technique is so unique that it’s not detected or blocked by any antivirus.

Wie in den Videos auf drastische Art und Weise dargestellt wurde, kann sich auf diese Art und Weise eine eigentlich für die Abwehr von Bedrohungen gedachte Software – nämlich der Virenscanner – im Handumdrehen selbst in Malware bzw. Ransomware verwandeln. Ein AV-Programm läuft üblicherweise im SYSTEM-Kontext des Betriebssystems und hat damit alle Rechte und Möglichkeiten, die es benötigt, um Angriffe und Bedrohungen abzuwehren. Wenn man das ganze weiterspinnt, dann entstehen zumindest in der Theorie Schreckensszenarien, an die man als Verantwortlicher gar nicht denken möchte:

  • Breitflächige Verteilung in Firmennetzwerken, wenn der Proof-of-Concept-Programmcode weiterentwickelt, verbessert und mit anderen Infektionsvektoren gekoppelt wird
  • Aushebeln des Virenschutzes zum Einschleusen weiterer Malware oder Ransomware
  • Vollständige Übernahme von Endgeräten

Die Möglichkeiten werden meines Erachtens nur durch die Vorstellungskraft begrenzt, und davon besitzen Cyberkriminelle eine Menge. Ich wage jetzt schon zu behaupten, dass DoubleAgent als 0-day exploit in den nächsten Wochen und Monaten noch für viel Aufregung sorgen wird.