38
Turning your managed Anti-Virus … into my Botnet J Jérôme NOKIN http://funoverip.net

StHack 2014 - Jerome "@funoverip" Nokin Turning your managed av into my botnet

  • Upload
    sthack

  • View
    318

  • Download
    2

Embed Size (px)

DESCRIPTION

Today centrally managed Anti-Virus (AV) solutions are used across all enterprises and are relied upon to provide central management, logging and enforcement. This talk presents the journey and the results of a reviewing the security posture of the core components of a few selected managed AV solutions, the central servers themselves. Critical security vulnerabilities will be presented, covering SQL Injection, Directory Path Traversal and Buffer Overflow. Particular focus will be given to the different steps required to fully compromise both central management servers and managed stations. Who does not want to transform a major managed AV into his private botnet within minutes? Jerome Nokin works as a Security Consultant for Verizon Enterprise where he is a senior member of the Vulnerability Management Team mainly focusing on Penetration Tests and Web Application Assessment. Prior to his role at Verizon he worked in the area of security covering both consultancy and ICT.

Citation preview

Page 1: StHack 2014 - Jerome "@funoverip" Nokin  Turning your managed av into my botnet

Turning your managed Anti-Virus… into my Botnet J

Jérôme NOKIN http://funoverip.net

Page 2: StHack 2014 - Jerome "@funoverip" Nokin  Turning your managed av into my botnet

About me

• Jérôme Nokin• http://funoverip.net• [email protected]• @funoverip

# id

• Penetration Tester• Verizon Enterprise Solutions # job

• OSCE• OSCP• CEH# sudo certs

Page 3: StHack 2014 - Jerome "@funoverip" Nokin  Turning your managed av into my botnet

Research

• Central server(s) of such software regularly communicate with the endpoints and perform privileged actions against them.

• From an attacker's perspective, vulnerabilities in such servers might have a very large impact against the whole set of managed stations.

Topic: Managed Antivirus

• This talk isn’t full of reversing/debugging/fuzzing screenshots. Paper will soon address such details.

• This talk is about how we used these vulnerabilities (impact).

Yes, we found vulnerabilities. However:

Page 4: StHack 2014 - Jerome "@funoverip" Nokin  Turning your managed av into my botnet

Approach

To focus on the non-clear-text traffic between the central server(s) and the managed stations.

To reverse engineer both the software and the communication protocol.

To develop dedicated Fuzzers able to impersonate end-point agents.

Page 5: StHack 2014 - Jerome "@funoverip" Nokin  Turning your managed av into my botnet

Selected Targets

McAfee ePolicy Orchestrator

Symantec Endpoint Protection

Page 6: StHack 2014 - Jerome "@funoverip" Nokin  Turning your managed av into my botnet

McAfee

ePolicy Orchestrator

Page 7: StHack 2014 - Jerome "@funoverip" Nokin  Turning your managed av into my botnet

Common deployment

Page 8: StHack 2014 - Jerome "@funoverip" Nokin  Turning your managed av into my botnet

Some notes & protocols

Agents must be registered

Agent GUID

DSA/RSA keys

Agents to server

Events, Info, Updates, …

HTTP(S)

Regular polling

Server to Agents

Wake-up calls (8082/

TCP)

Page 9: StHack 2014 - Jerome "@funoverip" Nokin  Turning your managed av into my botnet

HTTP request sample (client à server)

Page 10: StHack 2014 - Jerome "@funoverip" Nokin  Turning your managed av into my botnet

CVE-2013-0140 – SQL Injection• SQL Injection issues were discovered inside the XML “Full

Properties” message (data section)

Page 11: StHack 2014 - Jerome "@funoverip" Nokin  Turning your managed av into my botnet

CVE-2013-0141 – Directory Path Traversal• Below is an Event Request content (data section)• This request creates an XML file on the server, which contains

data about an event.

• BLUE à Destination filename• GREEN à Length of the filename• RED à Length of the data• BLACK à The “data”

Page 12: StHack 2014 - Jerome "@funoverip" Nokin  Turning your managed av into my botnet

CVE-2013-0141 – Directory Path TraversalWhat happens if we replace the filename from:20121210121340871913800000D60.xml

to:../../Software/00000000000000.jsp

Page 13: StHack 2014 - Jerome "@funoverip" Nokin  Turning your managed av into my botnet

Post-Authenticated vulnerabilities

So far, we can only trigger vulnerabilities by impersonating a

registered agent.

Prior to any communication between an agent and the ePo server, the agent

must be registered.

Page 14: StHack 2014 - Jerome "@funoverip" Nokin  Turning your managed av into my botnet

Registration request

Page 15: StHack 2014 - Jerome "@funoverip" Nokin  Turning your managed av into my botnet

Reqseckey – the published private key• How does ePo verify the signature if it doesn’t know the public

key yet ?

• The signature is actually not generated using the “agent” private key, but using a dedicated ePo key … which is published to everyone …

• That private key is called "reqseckey" and is embedded in the agent installation package.

• Additionally, that key is available for download from the ePo server:

https://epo/Software/Current/EPOAGENT3000/Install/0409/reqseckey.bin

Page 16: StHack 2014 - Jerome "@funoverip" Nokin  Turning your managed av into my botnet

Did you say 3DES ?• Part of the registration request is encrypted using 3DES

• The symmetric key is obfuscated inside the binaries and therefore is the same in all ePo environments (and versions) J

• At your office, the key is:

echo -n '<!@#$%^>' | sha1sum 3ef136b8b33befbc3426a7b54ec41a377cd3199b

Page 17: StHack 2014 - Jerome "@funoverip" Nokin  Turning your managed av into my botnet

Sign Up(It’s free and always will be)

Page 18: StHack 2014 - Jerome "@funoverip" Nokin  Turning your managed av into my botnet

Post-Authenticated vuln

(Kind of) Pre-Authenticated

Rogue Agent Registration:

Page 19: StHack 2014 - Jerome "@funoverip" Nokin  Turning your managed av into my botnet

Remote Command Execution

Page 20: StHack 2014 - Jerome "@funoverip" Nokin  Turning your managed av into my botnet

Remote command execution – Method 1E

xten

ded

stor

ed p

roce

dure Using SQLi and 'xp_cmdshell’

If available (dba privs ?)

MSSQL isn’t always running with SYSTEM privileges L

Enhancement: In recent ePo versions, admin is warned if ePo starts with DBA privs

Page 21: StHack 2014 - Jerome "@funoverip" Nokin  Turning your managed av into my botnet

Remote command execution – Method 2

• Reuse ePo features ! Registered Executable

• To be used as an Automatic Response with “Rogue Event requests”

• Always run with SYSTEM privileges J

Page 22: StHack 2014 - Jerome "@funoverip" Nokin  Turning your managed av into my botnet

So far, so good …• “Published” private key• Static encryption key (3DES)Registration

• SQL Injection (CVE-2013-0140)Database access

• Directory Path Traversal (CVE-2013-0141)Upload

• Registered Executable• Automatic Responses

Remote Command Execution

• After all, It’s a web server …• Just have to move files using RCEDownload

Page 23: StHack 2014 - Jerome "@funoverip" Nokin  Turning your managed av into my botnet

Remember this ?

Page 24: StHack 2014 - Jerome "@funoverip" Nokin  Turning your managed av into my botnet

Would that be possible ?

Page 25: StHack 2014 - Jerome "@funoverip" Nokin  Turning your managed av into my botnet
Page 26: StHack 2014 - Jerome "@funoverip" Nokin  Turning your managed av into my botnet

Creating Rogue McAfee packages

Page 27: StHack 2014 - Jerome "@funoverip" Nokin  Turning your managed av into my botnet

Creating rogue packages (1)• Updating catalog.z on the ePo server (available software list)

• XML file containing “the software catalog”• Compressed as a CAB file• Digitally signed using:

• DSA: C:\Program~1\McAfee\Epo\DB\Keystore\sm<hostname>.zip

• RSA: C:\Program~1\McAfee\Epo\DB\Keystore\sm2048<hostname>.zip

• Encrypted using 3DES• Same key as before. Seems to be an universal key in McAfee world ?

• Creating a McAfee package• Generating a PkgCatalog.z file (metadata information).

• Also XML à CAB à Signature à 3DES• Add evil files

Page 28: StHack 2014 - Jerome "@funoverip" Nokin  Turning your managed av into my botnet

Creating rogue packages (2)• Updating ePo repository files (using “Dir Path Traversal”)

• Kindly ask other ePo repositories to update their caches (using SQLi)

• Creating a Deployment Task (using SQLi)

• Abusing the “Wake Up” calls (using SQLi)

“… Dears agents, please download and install the following package. I have digitally signed the package so you can trust it…”

“… By the way, do you mind to obey now ? …”

Page 29: StHack 2014 - Jerome "@funoverip" Nokin  Turning your managed av into my botnet

ePolicy 0wner – Tiny Demo

(Get the full version here: http://funoverip.net/?p=1405)

Page 30: StHack 2014 - Jerome "@funoverip" Nokin  Turning your managed av into my botnet

Security patch & references• McAfee released a security patch in May 2013.

• All of these issues are resolved in ePO 5.0, 4.6.6, and 4.5.7• https://kc.mcafee.com/corporate/index?page=content&id=SB10042

• US-CERT advisory• http://www.kb.cert.org/vuls/id/209131

• CVE• http://web.nvd.nist.gov/view/vuln/detail?vulnId=CVE-2013-0140• http://web.nvd.nist.gov/view/vuln/detail?vulnId=CVE-2013-0141

Page 31: StHack 2014 - Jerome "@funoverip" Nokin  Turning your managed av into my botnet

Internet survey – Getting data

• Using ePo SSL server certificatesFingerprint

• SSL DB not ready yetShodan

• Internet wide scan using Zmap at 70Mbps (~13h) + SSL extract (~2 weeks)Zmap

• Thanks to Zmap team for your data!Crossing Results

Page 32: StHack 2014 - Jerome "@funoverip" Nokin  Turning your managed av into my botnet

Internet survey – 1701 servers found

862

699

140

Vulnerable versionsNon Vulnerable versionsUnknown versions

How many managed devices behind ?

(Scan date: Sep 1st 2013)

Page 33: StHack 2014 - Jerome "@funoverip" Nokin  Turning your managed av into my botnet

Internet survey – World map view

• Still a draft picture.. Sorry..

Page 34: StHack 2014 - Jerome "@funoverip" Nokin  Turning your managed av into my botnet

Conclusion

Page 35: StHack 2014 - Jerome "@funoverip" Nokin  Turning your managed av into my botnet

What did we learn ?

Security issues can be everywhere• In mature products, since years!• Hidden by complex protocols or structures• It’s only a matter of time and energy to find them

Chained issues• Do not under-estimate a single vulnerability• Impact is much more important if coupled with additional

weaknesses

Do not rely on CVSS score only• ePo SQL Injection – base score: 7.9• ePo Dir Path Traversal – base score : 4.3• However, impact for chained vulnerabilities: We 0wn the Matrix…

Page 36: StHack 2014 - Jerome "@funoverip" Nokin  Turning your managed av into my botnet

Give enough time to your testers…

Customer• I would like you to audit my web application. Security is important

for us !

Pentester• I’m your man! • I would need 6 days + 1 day for reporting.

Customer• Awesome! • You have 4 days, including reporting.

Pentester• …

Page 37: StHack 2014 - Jerome "@funoverip" Nokin  Turning your managed av into my botnet

Q&A

Page 38: StHack 2014 - Jerome "@funoverip" Nokin  Turning your managed av into my botnet

Btw, about SEP (Symantec)• CVE-2013-1612 Remote buffer Overflow