SlideShare a Scribd company logo
1 of 52
Download to read offline
www.ernw.de
Playing with Fire
Attacking the FireEye® MPS
Felix Wilhelm
@_fel1x © Aphelleon/Shutterstock.com
THANKS for
having me!
Enno Rey
10.9.2015 22:18:11
www.ernw.de
Who Am I
¬ Security researcher at ERNW.
¬ Main Interests: Virtualization and
Application Security
10/09/15 #2
Felix Wilhelm
@_fel1x
www.ernw.de
Recent Research ¬ Microsoft Hyper-V
 MS13-092
¬ Xen
 Xen XSA-123
¬ IBM GPFS
 CVE-2015-019(7,8,9)
¬ Always very smooth disclosure
process.
10/09/15 #3
www.ernw.de
This Time It’s Different
Therefore we need a lengthy disclaimer here.
10/09/15 #4
www.ernw.de
Disclaimer
¬ Due to a recent injunction by the Landgericht Hamburg on
behalf of FireEye® Inc. some accompanying details to
understand the nature of the vulnerabilities cannot be
presented today. We fully adhere to that injunction in the
following.
 All technical details shown are based on a document which was mutually
agreed upon between FireEye® and ERNW.
¬ I am not able to discuss details about the removed content
or the ongoing legal procedures.
¬ We’ll just let the bugs speak.
All products, company names, brand names, trademarks and logos are the property of their respective owners.
www.ernw.de
Agenda
¬ Getting Access
¬ Architecture
¬ VXE
¬ MIP
10/09/15 #6
www.ernw.de
FireEye® MPS ¬ Malware Protection System
 Software running on FireEye® appliances.
 Differences in Sample collection:
 Network, Mail, Fileserver, Manual
¬ I’ll talk about webMPS 7.5.1
 Bugs exist in all the above variants.
¬ They have been patched in the interim.
 Security note link: bit.ly/fireNOTICE [1]
10/09/15 #7
[1] https://www.fireeye.com/content/dam/fireeye-www/support/pdfs/fireeye-ernw-vulnerability.pdf
Random dummy appliance: © design-creators.net
www.ernw.de
Establishing Access ¬ Initial Situation: Administrative access to
device
¬ Web Interface
 Reporting / Analysis
¬ CLI
 Reachable via SSH
 Restricted IOS-like shell
 Get OS access to find possible
vulnerabilities in analysis process.
10/09/15 #8
It turned out that there was this bug…
www.ernw.de
Establishing Access
¬ Web Interface allows configuration of used TLS
certs and CAs (post auth)
 Legally prohibited to show you a screenshot of the interface.
¬ Uploaded files are passed to openssl for
validation
¬ For a CA bundle every included cert is validated
individually:
 Split file on “END CERTIFICATE”
 Pipe single chunk to openssl and parse output:
echo ”$data" | openssl x509 -noout –text
10/09/15 #9
www.ernw.de
Command Injection
10/09/15 #10
© Best_photo_studio/
Shutterstock.com
www.ernw.de
Establishing Access
¬ openssl ignores everything
between BEGIN and END
certificate
¬ Validation of whole bundle
succeeds even when the payload is
added
 Trivial Command Injection
10/09/15 #11
www.ernw.de
Demo
Establishing Access
10/09/15 #12
www.ernw.de
Establishing Access ¬ Not interesting for real world attacks!
 Requires administrative access to web
interface
¬ But gives (unprivileged) OS access
 Requirement for finding more interesting
bugs
¬ Next step: Get persistent and
privileged access
10/09/15 #13
www.ernw.de
Establishing Access
¬ Privilege “Escalation”
 Local root password is identical to the configured admin pw  Just
use su
¬ Persistence
 Root filesystem is read only
 Remount it and overwrite one of the whitelisted CLI commands
- Easiest way: Replace telnet binary with symlink to bash
10/09/15 #14
www.ernw.de
What next?
¬ Goals of research on security
appliances
 Understanding of the attack surface
 Advantages and limitations
 Understanding of system
architecture is required
10/09/15 #15
www.ernw.de
Architecture
10/09/15 #16
www.ernw.de
… ¬ As you can imagine, there is some static
and some dynamic analysis involved.
¬ VXE:
 Virtual Execution Engine
 One of the main components involved in
dynamic analysis
¬ MIP:
 Malware Input Processor
 Orchestrates static analysis
10/09/15 #17
www.ernw.de
Attack Scenario ¬ Attack scenario for the next slides:
 A file of our choice is analyzed by the
appliance
¬ Trivial to trigger for real world
environments:
 Send mail with attachment to arbitrary
employee
 Trigger download from corporate system by
Social Engineering, MitM…
¬ File does not have to be opened by
anyone!
 Just transferring it is enough
10/09/15 #18
www.ernw.de
VXE – Virtual Execution Engine
¬ Virtualized environment to run malware on
 [ ]
 Several interfaces to the physical host system
¬ Most interesting one:
 libnetctrl_switch.so
10/09/15 #19
www.ernw.de
libnetctrl_switch.so ¬ Network packets generated by the virtual
machine are passed to this library
¬ Packets are parsed and passed to either
 DNS handler
 IP handler
¬ DNS handler
 Quite simple
 Logs requested hostname and returns faked
response
10/09/15 #20
www.ernw.de
libnetctrl_switch.so ¬ IP handler
 Handles everything besides DNS
 Includes mechanism for protocol detection
¬ Information about a host is stored in an
addr structure
 Fields for IP address, DNS entry, internal state
…
 Table of 10 port structs to store data unique to
a TCP port
 Pointers to next/prev address
10/09/15 #21
www.ernw.de
libnetctrl_switch.so ¬ Sending data to port initializes state
machine
¬ First 12 bytes of TCP payload are
converted to uppercase
 Check for hardcoded protocol indicator
 GET (HTTP), NICK (IRC) , PASV (FTP)
¬ When protocol is detected the state
machine responds in a semi-realistic way
 Simulate normal protocol communication
10/09/15 #22
www.ernw.de
libnetctrl_switch.so
¬ Bug 1: /NICK overflow
1. Sending “/NICK <name>” triggers a welcome msg from the
simulated IRC server.
2. Message includes your nick name
3. Message is generated using sprintf
4. .. using a stack buffer with size 1024 as destination
10/09/15 #23
www.ernw.de
/NICK overflow
¬ Write “malware”:
 tcp_send (“44con.com”, 1337, ”/NICK AAAAAAAAAAAAAAAA…");
¬ Trigger analysis
¬ Watch VXE crash:
Program received signal SIGSEGV, Segmentation fault.
0x4141414141414141 in ?? ()
10/09/15 #24
www.ernw.de
/NICK overflow
¬ Fixed size stack buffer
¬ No stack cookies
¬ VXE binary without PIE
¬ 64bit (VXE addresses require 0bytes)
¬ Return address points to
libnetctrl_switch.so
(which uses ASLR)
¬ NICK can not contain 0bytes
¬ Last bytes of buffer are not controlled
 Partial overwrite not possible
 Hard to exploit.
10/09/15 #25
www.ernw.de
port Structure ¬ port structure stores data send during
communication:
 {nick,join,user,mode,user_host}_info
 Inline 1024 byte buffers
¬ Buffers are filled using get_value
function after keyword is detected.
¬ get_value copies bytes till 0byte or line
break.
 Inserts 0byte at the end.
 No length restriction…
10/09/15 #26
www.ernw.de
Another Disclaimer
¬ The following diagrams are here for illustrative
purposes.
They do not describe any architectural design or
specifics of FireEye® products.
All products, company names, brand names, trademarks and logos are the property of their respective owners.
www.ernw.de
/JOIN Overflow ¬ More than 1024 bytes after
JOIN/NICK/USER .. triggers overflow
 Limited by MTU of simulated network card
(1500 - header)
¬ Only join_info is interesting.
 Rest overflows in neighboring buffer
¬ No interesting data to overwrite inside the
port structure…
¬ But…
10/09/15 #28
www.ernw.de
/JOIN Overflow ¬ port is stored inside addr
¬ Overflow in last port structure can
corrupt prev and next ptr of linked
address list.
¬ Trigger:
 Connect to 9 different TCP ports on same
host
 Connect to tenth port and send “/JOIN
AAAAAAAAAAAAAA….”
10/09/15 #29
www.ernw.de
Exploitation ¬ Similar problem to first bug: No
0bytes + 64bit + Heap ASLR
 But this time we can perform a partial
overwrite
¬ addr struct is 0x25A60 bytes long
 Used malloc implementation allocates
structures larger than 0x20000 using
mmap
 Chunk is always at page boundary 
Least significant byte of struct address is
0x10
10/09/15 #30
www.ernw.de
Exploitation
¬ next and prev point at offset after
portTable.
 Least significant byte of both always
equals 0x60
¬ Overwrite last byte of next ptr with
the 0byte generated by get_value
10/09/15 #31
www.ernw.de
Exploitation ¬ next and prev point at offset after
portTable.
 Least significant byte of both always
equals 0x60
¬ Overwrite last byte of next ptr with the
0byte generated by get_value
¬ next_ptr points into join_info buffer of
second structure
10/09/15 #32
addr struct
…..
…..
portTable
prev_ptr
next_ptr
addr struct
…..
…..
portTable
prev_ptr
next_ptr
Overwrite
www.ernw.de
Exploitation ¬ join_info is initialized with 0s
 We can create pointers with an arbitrary
number of leading 0s
¬ Point at address in VXE data section
around 2k bytes before an interesting
overwrite target
 No PIE for vxe binary
¬ Next connection that matches IP of faked
struct copies TCP payload into port buffer
 Write Primitive
10/09/15 #33
addr struct
…..
…..
portTable
prev_ptr
next_ptr
addr struct
…..
…..
portTable
prev_ptr
next_ptr
Overwrite
ptr to fake addr
struct
www.ernw.de
Exploitation
¬ Header of fake addr struct must be valid
 Offset 0x0 != 0x0
 Offset 0x8 == 0x0
 Offset 0x10 == 0x0
 Offset 0x18 == 2 or 3
¬ But we can corrupt a lot of data after this point
¬ 5 lines python == around 12 usable locations in VXE data
¬ Multiple function tables can be corrupted
 Use stack pivot to point RSP into controlled buffer
 ROP “chain” into system() call trivial.
10/09/15 #34
www.ernw.de10/09/15 #35
Source: FireEye® Vulnerability Summary, September 8, 2015:
https://www.fireeye.com/content/dam/fireeye-www/support/pdfs/fireeye-ernw-vulnerability.pdf
www.ernw.de
Demo
VXE Exploitation
10/09/15 #36
www.ernw.de
Exploitation ¬ Technique “bypasses” ASLR
 Quite stable and fast due to small amount of heap
massaging/spraying
¬ Several requirements for fake address object:
 Large data corruption
 Limits possible overwrite targets
 But target binary is large enough
¬ VXE version dependency
 Bug can potentially be used to create info leak, but
difficult to exploit without using raw sockets
 Not 100% reliable
10/09/15 #37
www.ernw.de
.. something else? MIP ¬ Remember: There is also static
analysis involved.
¬ Responsible component: MIP –
Malware Input Processor
 Running on the host system
¬ Supports a significant number of
different file types
 [ ]
 .. and ZIP
10/09/15 #38
www.ernw.de
MIP and p7zip ¬ Decompression of zip files is handled
by p7zip
 Inofficial fork of win32 7zip for POSIX
systems
 http://p7zip.sourceforge.net/
¬ extract_ar.py script performs the
following call:
 subprocess.call(['/usr/bin/7z',
'x', '-y', dest_arg, pass_arg,
archive_name])
10/09/15 #39
© Thvg
www.ernw.de
CVE-2015-1038
¬ Could be a potential fuzzing target.
 Maybe any open bug reports?
¬ CVE-2015-1038: Directory traversal through symlinks
 https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=774660
“7z (and 7zr) is susceptible to a directory traversal vulnerability.
While extracting an archive, it will extract symlinks and then follow
them if they are referenced in further entries. This can be exploited by
a rogue archive to write files outside the current directory.” –
Alexander Cherepanov cherepan@mccme.ru
10/09/15 #40
www.ernw.de
Exploiting MIP
¬ Create zip/7z file with symlink to
writable directory
¬ Trigger analysis (Mail..)
 MIP extracts archives and follows
symlink
¬ Arbitrary file creation in any directory
writable by MIP user
 Overwrites possible due to –y flag.
10/09/15 #41
www.ernw.de
MIP privileges ¬ Most important directories are not
writable for MIP user
¬ But /censored/xyz/ is!
¬ Includes static analysis scripts for
different file types
 For example rtf.py – called whenever analysis
of an rtf file is performed
¬ Files itself aren’t writable, but directory is
 Overwrite possible
10/09/15 #42
www.ernw.de
MIP – Directory Traversal to Code Exec [I]
10/09/15 #43
RFT document: © Jordan Michael / ZIP archive: © Thvg / Dummy appliance: © design-creators.net
1. Create malicious zip archive containing
¬ symlink to /censored/xyz/
¬ and backdoored rtf.py
2. Send mail to sales@ernw.de with zip attached.
3. Analysis extracts zip and overwrites
3. rtf.py with backdoored version.
www.ernw.de
MIP – Directory Traversal to Code Exec [II]
10/09/15 #44
RFT document: © Jordan Michael / ZIP archive: © Thvg / Dummy appliance: © design-creators.net
4. Send another mail to sales@ernw.de 4.
with arbitrary rtf attached.
5. Static analysis module executes rtf.py
6. Wait for shell to pop.
www.ernw.de
What does this mean? ¬ 100% reliable code execution against
vulnerable devices
 Remember: It’s been patched in the
interim.
¬ But code is only running as low
privileged user
¬ Still: Full compromise would require a
privilege escalation
10/09/15 #45
www.ernw.de
cms_agent.rb ¬ Ruby script running with root privileges
¬ Listening on local tcp port 9900.
¬ Centralized Management functionality
¬ Implements a dRuby server
 RPC mechanism to call ruby methods / exchange
objects over the network
¬ mdreq_exec method passes first argument
directly as first argument to command line
invocation
 Simple command injection again.
10/09/15 #46
www.ernw.de
Final Demo
100% reliable remote root with a zip archive
10/09/15 #47
www.ernw.de
Get Your Appliances Patched Right NOW.
If you would only take one thing away from this talk…
10/09/15 #48
www.ernw.de
Conclusions
¬ Possible Mitigations / Hardening measurements:
 Use compiler hardening (stack protector, PIE..)
 Run static analysis process in virtualized setting
 Hardening of local privileged processes
 Implementation of parsing code in memory safe languages
¬ Even with these Mitigations:
 The new capabilities gained by using virtual machine
technology to detect malicious behavior also mean there are
specific attack exposures that vendors must account for.
10/09/15 #49
www.ernw.de
Timeline [I]
¬ April 7th 2015: Initial (attempt of) contact via
security@fireeye.com, several tries
¬ April 27th 2015: Reaching out
via Twitter  response.
10/09/15 #50
https://twitter.com/_fel1x/status/592734994595995648
www.ernw.de
Timeline & Comments [II]
¬ May 7th: conference call.
¬ June 10th: conference call.
¬ July 17th: conference call.
¬ July 23rd: conference call.
¬ Aug 05th: face to face meeting in Las Vegas.
 Our impression was that a provisional agreement was reached here.
¬ Aug 06th: FireEye sends cease-and-desist letter.
¬ Aug 13th: district court of Hamburg issues injunction.
10/09/15 #51
www.ernw.de
Thanks for your attention!
Q&A
@_fel1x
fwilhelm@ernw.de
10/09/15 #52
Also visit our blog: https://insinuator.net

More Related Content

What's hot

Application Layer and Socket Programming
Application Layer and Socket ProgrammingApplication Layer and Socket Programming
Application Layer and Socket Programmingelliando dias
 
Nodejs 프로그래밍 ch.3
Nodejs 프로그래밍 ch.3Nodejs 프로그래밍 ch.3
Nodejs 프로그래밍 ch.3HyeonSeok Choi
 
Socket programming
Socket programmingSocket programming
Socket programmingUjjwal Kumar
 
Advanced Sockets Programming
Advanced Sockets ProgrammingAdvanced Sockets Programming
Advanced Sockets Programmingelliando dias
 
Socket programming in C
Socket programming in CSocket programming in C
Socket programming in CDeepak Swain
 
Raspberry pi Part 23
Raspberry pi Part 23Raspberry pi Part 23
Raspberry pi Part 23Techvilla
 
Network configuration
Network configurationNetwork configuration
Network configurationengshemachi
 
Socket programming
Socket programmingSocket programming
Socket programmingAnurag Tomar
 
Easy Steps to implement UDP Server and Client Sockets
Easy Steps to implement UDP Server and Client SocketsEasy Steps to implement UDP Server and Client Sockets
Easy Steps to implement UDP Server and Client Socketsbabak danyal
 
Symfony 4.0 + - Track Technique eZ Roadshow 2019 - PARIS
Symfony 4.0 + - Track Technique eZ Roadshow 2019 - PARISSymfony 4.0 + - Track Technique eZ Roadshow 2019 - PARIS
Symfony 4.0 + - Track Technique eZ Roadshow 2019 - PARISeZ Systems
 
us-17-Tsai-A-New-Era-Of-SSRF-Exploiting-URL-Parser-In-Trending-Programming-La...
us-17-Tsai-A-New-Era-Of-SSRF-Exploiting-URL-Parser-In-Trending-Programming-La...us-17-Tsai-A-New-Era-Of-SSRF-Exploiting-URL-Parser-In-Trending-Programming-La...
us-17-Tsai-A-New-Era-Of-SSRF-Exploiting-URL-Parser-In-Trending-Programming-La...sonjeku1
 

What's hot (20)

Socket Programming
Socket ProgrammingSocket Programming
Socket Programming
 
Application Layer and Socket Programming
Application Layer and Socket ProgrammingApplication Layer and Socket Programming
Application Layer and Socket Programming
 
Nodejs 프로그래밍 ch.3
Nodejs 프로그래밍 ch.3Nodejs 프로그래밍 ch.3
Nodejs 프로그래밍 ch.3
 
Socket programming
Socket programmingSocket programming
Socket programming
 
Advanced Sockets Programming
Advanced Sockets ProgrammingAdvanced Sockets Programming
Advanced Sockets Programming
 
Socket System Calls
Socket System CallsSocket System Calls
Socket System Calls
 
Socket programming in C
Socket programming in CSocket programming in C
Socket programming in C
 
Raspberry pi Part 23
Raspberry pi Part 23Raspberry pi Part 23
Raspberry pi Part 23
 
03 sockets
03 sockets03 sockets
03 sockets
 
Sockets
SocketsSockets
Sockets
 
Ppt of socket
Ppt of socketPpt of socket
Ppt of socket
 
Network configuration
Network configurationNetwork configuration
Network configuration
 
Socket programming
Socket programmingSocket programming
Socket programming
 
Easy Steps to implement UDP Server and Client Sockets
Easy Steps to implement UDP Server and Client SocketsEasy Steps to implement UDP Server and Client Sockets
Easy Steps to implement UDP Server and Client Sockets
 
Socket programming
Socket programmingSocket programming
Socket programming
 
Socket programming in c
Socket programming in cSocket programming in c
Socket programming in c
 
Symfony 4.0 + - Track Technique eZ Roadshow 2019 - PARIS
Symfony 4.0 + - Track Technique eZ Roadshow 2019 - PARISSymfony 4.0 + - Track Technique eZ Roadshow 2019 - PARIS
Symfony 4.0 + - Track Technique eZ Roadshow 2019 - PARIS
 
Socket programming
Socket programmingSocket programming
Socket programming
 
us-17-Tsai-A-New-Era-Of-SSRF-Exploiting-URL-Parser-In-Trending-Programming-La...
us-17-Tsai-A-New-Era-Of-SSRF-Exploiting-URL-Parser-In-Trending-Programming-La...us-17-Tsai-A-New-Era-Of-SSRF-Exploiting-URL-Parser-In-Trending-Programming-La...
us-17-Tsai-A-New-Era-Of-SSRF-Exploiting-URL-Parser-In-Trending-Programming-La...
 
Sockets
Sockets Sockets
Sockets
 

Viewers also liked

44CON @ IPexpo - You're fighting an APT with what exactly?
44CON @ IPexpo - You're fighting an APT with what exactly?44CON @ IPexpo - You're fighting an APT with what exactly?
44CON @ IPexpo - You're fighting an APT with what exactly?44CON
 
DDoS Mitigation on the Front Line with RedShield
DDoS Mitigation on the Front Line with RedShieldDDoS Mitigation on the Front Line with RedShield
DDoS Mitigation on the Front Line with RedShieldSam Pickles
 
44CON London 2015 - Hunting Asynchronous Vulnerabilities
44CON London 2015 - Hunting Asynchronous Vulnerabilities44CON London 2015 - Hunting Asynchronous Vulnerabilities
44CON London 2015 - Hunting Asynchronous Vulnerabilities44CON
 
44CON 2013 - .Net Havoc - Manipulating Properties of Dormant Server Side Web ...
44CON 2013 - .Net Havoc - Manipulating Properties of Dormant Server Side Web ...44CON 2013 - .Net Havoc - Manipulating Properties of Dormant Server Side Web ...
44CON 2013 - .Net Havoc - Manipulating Properties of Dormant Server Side Web ...44CON
 
44CON 2014 - Breaking AV Software
44CON 2014 - Breaking AV Software44CON 2014 - Breaking AV Software
44CON 2014 - Breaking AV Software44CON
 
44CON London 2015 - Jtagsploitation: 5 wires, 5 ways to root
44CON London 2015 - Jtagsploitation: 5 wires, 5 ways to root44CON London 2015 - Jtagsploitation: 5 wires, 5 ways to root
44CON London 2015 - Jtagsploitation: 5 wires, 5 ways to root44CON
 
44CON 2014 - Security Analytics Beyond Cyber, Phil Huggins
44CON 2014 - Security Analytics Beyond Cyber, Phil Huggins44CON 2014 - Security Analytics Beyond Cyber, Phil Huggins
44CON 2014 - Security Analytics Beyond Cyber, Phil Huggins44CON
 
44CON London 2015 - reverse reverse engineering
44CON London 2015 - reverse reverse engineering44CON London 2015 - reverse reverse engineering
44CON London 2015 - reverse reverse engineering44CON
 
44CON 2014 - Flushing Away Preconceptions of Risk, Thom Langford
44CON 2014 - Flushing Away Preconceptions of Risk, Thom Langford44CON 2014 - Flushing Away Preconceptions of Risk, Thom Langford
44CON 2014 - Flushing Away Preconceptions of Risk, Thom Langford44CON
 
44CON 2104 - Lessons Learned from Black Hat's Infrastructure, Conan Dooley
44CON 2104 - Lessons Learned from Black Hat's Infrastructure, Conan Dooley44CON 2104 - Lessons Learned from Black Hat's Infrastructure, Conan Dooley
44CON 2104 - Lessons Learned from Black Hat's Infrastructure, Conan Dooley44CON
 
44CON 2014 - Researching Android Device Security with the Help of a Droid Arm...
44CON 2014 - Researching Android Device Security with the Help of a Droid Arm...44CON 2014 - Researching Android Device Security with the Help of a Droid Arm...
44CON 2014 - Researching Android Device Security with the Help of a Droid Arm...44CON
 
44CON London 2015 - Reverse engineering and exploiting font rasterizers: the ...
44CON London 2015 - Reverse engineering and exploiting font rasterizers: the ...44CON London 2015 - Reverse engineering and exploiting font rasterizers: the ...
44CON London 2015 - Reverse engineering and exploiting font rasterizers: the ...44CON
 
44CON 2014 - Switches Get Stitches, Eireann Leverett & Matt Erasmus
44CON 2014 - Switches Get Stitches,  Eireann Leverett & Matt Erasmus44CON 2014 - Switches Get Stitches,  Eireann Leverett & Matt Erasmus
44CON 2014 - Switches Get Stitches, Eireann Leverett & Matt Erasmus44CON
 
44CON 2014 - Advanced Excel Hacking, Didier Stevens
44CON 2014 - Advanced Excel Hacking, Didier Stevens44CON 2014 - Advanced Excel Hacking, Didier Stevens
44CON 2014 - Advanced Excel Hacking, Didier Stevens44CON
 
44CON 2014 - I Hunt TR-069 Admins: Pwning ISPs Like a Boss, Shahar Tal
44CON 2014 - I Hunt TR-069 Admins: Pwning ISPs Like a Boss, Shahar Tal44CON 2014 - I Hunt TR-069 Admins: Pwning ISPs Like a Boss, Shahar Tal
44CON 2014 - I Hunt TR-069 Admins: Pwning ISPs Like a Boss, Shahar Tal44CON
 
44CON 2014 - I gave a talk about robots and hardware!, Josh Thomas
44CON 2014 - I gave a talk about robots and hardware!, Josh Thomas44CON 2014 - I gave a talk about robots and hardware!, Josh Thomas
44CON 2014 - I gave a talk about robots and hardware!, Josh Thomas44CON
 
44CON 2014 - Simple Hardware Sidechannel Attacks for 10 GBP or Less, Joe Fitz...
44CON 2014 - Simple Hardware Sidechannel Attacks for 10 GBP or Less, Joe Fitz...44CON 2014 - Simple Hardware Sidechannel Attacks for 10 GBP or Less, Joe Fitz...
44CON 2014 - Simple Hardware Sidechannel Attacks for 10 GBP or Less, Joe Fitz...44CON
 
Cloud Security with LibVMI
Cloud Security with LibVMICloud Security with LibVMI
Cloud Security with LibVMITamas K Lengyel
 
44CON London 2015 - Smart Muttering; a story and toolset for smart meter plat...
44CON London 2015 - Smart Muttering; a story and toolset for smart meter plat...44CON London 2015 - Smart Muttering; a story and toolset for smart meter plat...
44CON London 2015 - Smart Muttering; a story and toolset for smart meter plat...44CON
 
44CON 2014 - GreedyBTS: Hacking Adventures in GSM, Hacker Fantastic
44CON 2014 - GreedyBTS: Hacking Adventures in GSM, Hacker Fantastic44CON 2014 - GreedyBTS: Hacking Adventures in GSM, Hacker Fantastic
44CON 2014 - GreedyBTS: Hacking Adventures in GSM, Hacker Fantastic44CON
 

Viewers also liked (20)

44CON @ IPexpo - You're fighting an APT with what exactly?
44CON @ IPexpo - You're fighting an APT with what exactly?44CON @ IPexpo - You're fighting an APT with what exactly?
44CON @ IPexpo - You're fighting an APT with what exactly?
 
DDoS Mitigation on the Front Line with RedShield
DDoS Mitigation on the Front Line with RedShieldDDoS Mitigation on the Front Line with RedShield
DDoS Mitigation on the Front Line with RedShield
 
44CON London 2015 - Hunting Asynchronous Vulnerabilities
44CON London 2015 - Hunting Asynchronous Vulnerabilities44CON London 2015 - Hunting Asynchronous Vulnerabilities
44CON London 2015 - Hunting Asynchronous Vulnerabilities
 
44CON 2013 - .Net Havoc - Manipulating Properties of Dormant Server Side Web ...
44CON 2013 - .Net Havoc - Manipulating Properties of Dormant Server Side Web ...44CON 2013 - .Net Havoc - Manipulating Properties of Dormant Server Side Web ...
44CON 2013 - .Net Havoc - Manipulating Properties of Dormant Server Side Web ...
 
44CON 2014 - Breaking AV Software
44CON 2014 - Breaking AV Software44CON 2014 - Breaking AV Software
44CON 2014 - Breaking AV Software
 
44CON London 2015 - Jtagsploitation: 5 wires, 5 ways to root
44CON London 2015 - Jtagsploitation: 5 wires, 5 ways to root44CON London 2015 - Jtagsploitation: 5 wires, 5 ways to root
44CON London 2015 - Jtagsploitation: 5 wires, 5 ways to root
 
44CON 2014 - Security Analytics Beyond Cyber, Phil Huggins
44CON 2014 - Security Analytics Beyond Cyber, Phil Huggins44CON 2014 - Security Analytics Beyond Cyber, Phil Huggins
44CON 2014 - Security Analytics Beyond Cyber, Phil Huggins
 
44CON London 2015 - reverse reverse engineering
44CON London 2015 - reverse reverse engineering44CON London 2015 - reverse reverse engineering
44CON London 2015 - reverse reverse engineering
 
44CON 2014 - Flushing Away Preconceptions of Risk, Thom Langford
44CON 2014 - Flushing Away Preconceptions of Risk, Thom Langford44CON 2014 - Flushing Away Preconceptions of Risk, Thom Langford
44CON 2014 - Flushing Away Preconceptions of Risk, Thom Langford
 
44CON 2104 - Lessons Learned from Black Hat's Infrastructure, Conan Dooley
44CON 2104 - Lessons Learned from Black Hat's Infrastructure, Conan Dooley44CON 2104 - Lessons Learned from Black Hat's Infrastructure, Conan Dooley
44CON 2104 - Lessons Learned from Black Hat's Infrastructure, Conan Dooley
 
44CON 2014 - Researching Android Device Security with the Help of a Droid Arm...
44CON 2014 - Researching Android Device Security with the Help of a Droid Arm...44CON 2014 - Researching Android Device Security with the Help of a Droid Arm...
44CON 2014 - Researching Android Device Security with the Help of a Droid Arm...
 
44CON London 2015 - Reverse engineering and exploiting font rasterizers: the ...
44CON London 2015 - Reverse engineering and exploiting font rasterizers: the ...44CON London 2015 - Reverse engineering and exploiting font rasterizers: the ...
44CON London 2015 - Reverse engineering and exploiting font rasterizers: the ...
 
44CON 2014 - Switches Get Stitches, Eireann Leverett & Matt Erasmus
44CON 2014 - Switches Get Stitches,  Eireann Leverett & Matt Erasmus44CON 2014 - Switches Get Stitches,  Eireann Leverett & Matt Erasmus
44CON 2014 - Switches Get Stitches, Eireann Leverett & Matt Erasmus
 
44CON 2014 - Advanced Excel Hacking, Didier Stevens
44CON 2014 - Advanced Excel Hacking, Didier Stevens44CON 2014 - Advanced Excel Hacking, Didier Stevens
44CON 2014 - Advanced Excel Hacking, Didier Stevens
 
44CON 2014 - I Hunt TR-069 Admins: Pwning ISPs Like a Boss, Shahar Tal
44CON 2014 - I Hunt TR-069 Admins: Pwning ISPs Like a Boss, Shahar Tal44CON 2014 - I Hunt TR-069 Admins: Pwning ISPs Like a Boss, Shahar Tal
44CON 2014 - I Hunt TR-069 Admins: Pwning ISPs Like a Boss, Shahar Tal
 
44CON 2014 - I gave a talk about robots and hardware!, Josh Thomas
44CON 2014 - I gave a talk about robots and hardware!, Josh Thomas44CON 2014 - I gave a talk about robots and hardware!, Josh Thomas
44CON 2014 - I gave a talk about robots and hardware!, Josh Thomas
 
44CON 2014 - Simple Hardware Sidechannel Attacks for 10 GBP or Less, Joe Fitz...
44CON 2014 - Simple Hardware Sidechannel Attacks for 10 GBP or Less, Joe Fitz...44CON 2014 - Simple Hardware Sidechannel Attacks for 10 GBP or Less, Joe Fitz...
44CON 2014 - Simple Hardware Sidechannel Attacks for 10 GBP or Less, Joe Fitz...
 
Cloud Security with LibVMI
Cloud Security with LibVMICloud Security with LibVMI
Cloud Security with LibVMI
 
44CON London 2015 - Smart Muttering; a story and toolset for smart meter plat...
44CON London 2015 - Smart Muttering; a story and toolset for smart meter plat...44CON London 2015 - Smart Muttering; a story and toolset for smart meter plat...
44CON London 2015 - Smart Muttering; a story and toolset for smart meter plat...
 
44CON 2014 - GreedyBTS: Hacking Adventures in GSM, Hacker Fantastic
44CON 2014 - GreedyBTS: Hacking Adventures in GSM, Hacker Fantastic44CON 2014 - GreedyBTS: Hacking Adventures in GSM, Hacker Fantastic
44CON 2014 - GreedyBTS: Hacking Adventures in GSM, Hacker Fantastic
 

Similar to 44CON London 2015 - Playing with Fire: Attacking the FireEye MPS

SR-IOV, KVM and Emulex OneConnect 10Gbps cards on Debian/Stable
SR-IOV, KVM and Emulex OneConnect 10Gbps cards on Debian/StableSR-IOV, KVM and Emulex OneConnect 10Gbps cards on Debian/Stable
SR-IOV, KVM and Emulex OneConnect 10Gbps cards on Debian/Stablejuet-y
 
leewayhertz.com-How to build a dApp on Avalanche blockchain
leewayhertz.com-How to build a dApp on Avalanche blockchainleewayhertz.com-How to build a dApp on Avalanche blockchain
leewayhertz.com-How to build a dApp on Avalanche blockchainMdSaifulIslam289
 
Netcat 101 by-mahesh-beema
Netcat 101 by-mahesh-beemaNetcat 101 by-mahesh-beema
Netcat 101 by-mahesh-beemaRaghunath G
 
Vm escape: case study virtualbox bug hunting and exploitation - Muhammad Alif...
Vm escape: case study virtualbox bug hunting and exploitation - Muhammad Alif...Vm escape: case study virtualbox bug hunting and exploitation - Muhammad Alif...
Vm escape: case study virtualbox bug hunting and exploitation - Muhammad Alif...idsecconf
 
XPDS14 - Xen as High-Performance NFV Platform - Jun Nakajima, Intel
XPDS14 - Xen as High-Performance NFV Platform - Jun Nakajima, IntelXPDS14 - Xen as High-Performance NFV Platform - Jun Nakajima, Intel
XPDS14 - Xen as High-Performance NFV Platform - Jun Nakajima, IntelThe Linux Foundation
 
Running Head IMPLEMENTING THE LIST AND SEARCH FEATURES IN THE DIS.docx
Running Head IMPLEMENTING THE LIST AND SEARCH FEATURES IN THE DIS.docxRunning Head IMPLEMENTING THE LIST AND SEARCH FEATURES IN THE DIS.docx
Running Head IMPLEMENTING THE LIST AND SEARCH FEATURES IN THE DIS.docxcowinhelen
 
Openstack Trunk Port
Openstack Trunk PortOpenstack Trunk Port
Openstack Trunk Portbenceromsics
 
6. hands on - open mano demonstration in remote pool of servers
6. hands on - open mano demonstration in remote pool of servers6. hands on - open mano demonstration in remote pool of servers
6. hands on - open mano demonstration in remote pool of serversvideos
 
SR-IOV+KVM on Debian/Stable
SR-IOV+KVM on Debian/StableSR-IOV+KVM on Debian/Stable
SR-IOV+KVM on Debian/Stablejuet-y
 
Practical steps to mitigate DDoS attacks
Practical steps to mitigate DDoS attacksPractical steps to mitigate DDoS attacks
Practical steps to mitigate DDoS attacksMartin Holovský
 
WebSockets Everywhere: the Future Transport Protocol for Everything (Almost)
WebSockets Everywhere: the Future Transport Protocol for Everything (Almost)WebSockets Everywhere: the Future Transport Protocol for Everything (Almost)
WebSockets Everywhere: the Future Transport Protocol for Everything (Almost)Ericom Software
 
Running Head CLIENT SERVER AUTHENTICATIONHANDLING CONCURRENT CL.docx
Running Head CLIENT SERVER AUTHENTICATIONHANDLING CONCURRENT CL.docxRunning Head CLIENT SERVER AUTHENTICATIONHANDLING CONCURRENT CL.docx
Running Head CLIENT SERVER AUTHENTICATIONHANDLING CONCURRENT CL.docxjoellemurphey
 
programmer avec Arduino
programmer avec Arduinoprogrammer avec Arduino
programmer avec Arduinomohamednacim
 
maXbox_Arduino_Pascal_Magazine
maXbox_Arduino_Pascal_MagazinemaXbox_Arduino_Pascal_Magazine
maXbox_Arduino_Pascal_MagazineMax Kleiner
 
NetFlow Monitoring for Cyber Threat Defense
NetFlow Monitoring for Cyber Threat DefenseNetFlow Monitoring for Cyber Threat Defense
NetFlow Monitoring for Cyber Threat DefenseCisco Canada
 

Similar to 44CON London 2015 - Playing with Fire: Attacking the FireEye MPS (20)

SR-IOV, KVM and Emulex OneConnect 10Gbps cards on Debian/Stable
SR-IOV, KVM and Emulex OneConnect 10Gbps cards on Debian/StableSR-IOV, KVM and Emulex OneConnect 10Gbps cards on Debian/Stable
SR-IOV, KVM and Emulex OneConnect 10Gbps cards on Debian/Stable
 
leewayhertz.com-How to build a dApp on Avalanche blockchain
leewayhertz.com-How to build a dApp on Avalanche blockchainleewayhertz.com-How to build a dApp on Avalanche blockchain
leewayhertz.com-How to build a dApp on Avalanche blockchain
 
Netcat 101 by-mahesh-beema
Netcat 101 by-mahesh-beemaNetcat 101 by-mahesh-beema
Netcat 101 by-mahesh-beema
 
Netcat - 101 Swiss Army Knife
Netcat - 101 Swiss Army KnifeNetcat - 101 Swiss Army Knife
Netcat - 101 Swiss Army Knife
 
Vm escape: case study virtualbox bug hunting and exploitation - Muhammad Alif...
Vm escape: case study virtualbox bug hunting and exploitation - Muhammad Alif...Vm escape: case study virtualbox bug hunting and exploitation - Muhammad Alif...
Vm escape: case study virtualbox bug hunting and exploitation - Muhammad Alif...
 
XPDS14 - Xen as High-Performance NFV Platform - Jun Nakajima, Intel
XPDS14 - Xen as High-Performance NFV Platform - Jun Nakajima, IntelXPDS14 - Xen as High-Performance NFV Platform - Jun Nakajima, Intel
XPDS14 - Xen as High-Performance NFV Platform - Jun Nakajima, Intel
 
Running Head IMPLEMENTING THE LIST AND SEARCH FEATURES IN THE DIS.docx
Running Head IMPLEMENTING THE LIST AND SEARCH FEATURES IN THE DIS.docxRunning Head IMPLEMENTING THE LIST AND SEARCH FEATURES IN THE DIS.docx
Running Head IMPLEMENTING THE LIST AND SEARCH FEATURES IN THE DIS.docx
 
security
securitysecurity
security
 
FreeBSD and Hardening Web Server
FreeBSD and Hardening Web ServerFreeBSD and Hardening Web Server
FreeBSD and Hardening Web Server
 
Openstack Trunk Port
Openstack Trunk PortOpenstack Trunk Port
Openstack Trunk Port
 
6. hands on - open mano demonstration in remote pool of servers
6. hands on - open mano demonstration in remote pool of servers6. hands on - open mano demonstration in remote pool of servers
6. hands on - open mano demonstration in remote pool of servers
 
Spying Internet Explorer 8.0
Spying Internet Explorer 8.0Spying Internet Explorer 8.0
Spying Internet Explorer 8.0
 
SR-IOV+KVM on Debian/Stable
SR-IOV+KVM on Debian/StableSR-IOV+KVM on Debian/Stable
SR-IOV+KVM on Debian/Stable
 
Practical steps to mitigate DDoS attacks
Practical steps to mitigate DDoS attacksPractical steps to mitigate DDoS attacks
Practical steps to mitigate DDoS attacks
 
R bernardino hand_in_assignment_week_1
R bernardino hand_in_assignment_week_1R bernardino hand_in_assignment_week_1
R bernardino hand_in_assignment_week_1
 
WebSockets Everywhere: the Future Transport Protocol for Everything (Almost)
WebSockets Everywhere: the Future Transport Protocol for Everything (Almost)WebSockets Everywhere: the Future Transport Protocol for Everything (Almost)
WebSockets Everywhere: the Future Transport Protocol for Everything (Almost)
 
Running Head CLIENT SERVER AUTHENTICATIONHANDLING CONCURRENT CL.docx
Running Head CLIENT SERVER AUTHENTICATIONHANDLING CONCURRENT CL.docxRunning Head CLIENT SERVER AUTHENTICATIONHANDLING CONCURRENT CL.docx
Running Head CLIENT SERVER AUTHENTICATIONHANDLING CONCURRENT CL.docx
 
programmer avec Arduino
programmer avec Arduinoprogrammer avec Arduino
programmer avec Arduino
 
maXbox_Arduino_Pascal_Magazine
maXbox_Arduino_Pascal_MagazinemaXbox_Arduino_Pascal_Magazine
maXbox_Arduino_Pascal_Magazine
 
NetFlow Monitoring for Cyber Threat Defense
NetFlow Monitoring for Cyber Threat DefenseNetFlow Monitoring for Cyber Threat Defense
NetFlow Monitoring for Cyber Threat Defense
 

More from 44CON

They're All Scorpions - Successful SecOps in a Hostile Workplace - Pete Herzo...
They're All Scorpions - Successful SecOps in a Hostile Workplace - Pete Herzo...They're All Scorpions - Successful SecOps in a Hostile Workplace - Pete Herzo...
They're All Scorpions - Successful SecOps in a Hostile Workplace - Pete Herzo...44CON
 
How to Explain Post-Quantum Cryptography to a Middle School Student - Klaus S...
How to Explain Post-Quantum Cryptography to a Middle School Student - Klaus S...How to Explain Post-Quantum Cryptography to a Middle School Student - Klaus S...
How to Explain Post-Quantum Cryptography to a Middle School Student - Klaus S...44CON
 
Using SmartNICs to Provide Better Data Center Security - Jack Matheson - 44CO...
Using SmartNICs to Provide Better Data Center Security - Jack Matheson - 44CO...Using SmartNICs to Provide Better Data Center Security - Jack Matheson - 44CO...
Using SmartNICs to Provide Better Data Center Security - Jack Matheson - 44CO...44CON
 
JARVIS never saw it coming: Hacking machine learning (ML) in speech, text and...
JARVIS never saw it coming: Hacking machine learning (ML) in speech, text and...JARVIS never saw it coming: Hacking machine learning (ML) in speech, text and...
JARVIS never saw it coming: Hacking machine learning (ML) in speech, text and...44CON
 
Reverse Engineering and Bug Hunting on KMDF Drivers - Enrique Nissim - 44CON ...
Reverse Engineering and Bug Hunting on KMDF Drivers - Enrique Nissim - 44CON ...Reverse Engineering and Bug Hunting on KMDF Drivers - Enrique Nissim - 44CON ...
Reverse Engineering and Bug Hunting on KMDF Drivers - Enrique Nissim - 44CON ...44CON
 
The UK's Code of Practice for Security in Consumer IoT Products and Services ...
The UK's Code of Practice for Security in Consumer IoT Products and Services ...The UK's Code of Practice for Security in Consumer IoT Products and Services ...
The UK's Code of Practice for Security in Consumer IoT Products and Services ...44CON
 
Weak analogies make poor realities – are we sitting on a Security Debt Crisis...
Weak analogies make poor realities – are we sitting on a Security Debt Crisis...Weak analogies make poor realities – are we sitting on a Security Debt Crisis...
Weak analogies make poor realities – are we sitting on a Security Debt Crisis...44CON
 
Pwning the 44CON Nerf Tank
Pwning the 44CON Nerf TankPwning the 44CON Nerf Tank
Pwning the 44CON Nerf Tank44CON
 
Security module for php7 – Killing bugclasses and virtual-patching the rest! ...
Security module for php7 – Killing bugclasses and virtual-patching the rest! ...Security module for php7 – Killing bugclasses and virtual-patching the rest! ...
Security module for php7 – Killing bugclasses and virtual-patching the rest! ...44CON
 
44CON London 2015 - Stegosploit - Drive-by Browser Exploits using only Images
44CON London 2015 - Stegosploit - Drive-by Browser Exploits using only Images44CON London 2015 - Stegosploit - Drive-by Browser Exploits using only Images
44CON London 2015 - Stegosploit - Drive-by Browser Exploits using only Images44CON
 
44CON London 2015 - Is there an EFI monster inside your apple?
44CON London 2015 - Is there an EFI monster inside your apple?44CON London 2015 - Is there an EFI monster inside your apple?
44CON London 2015 - Is there an EFI monster inside your apple?44CON
 
44CON London 2015 - Indicators of Compromise: From malware analysis to eradic...
44CON London 2015 - Indicators of Compromise: From malware analysis to eradic...44CON London 2015 - Indicators of Compromise: From malware analysis to eradic...
44CON London 2015 - Indicators of Compromise: From malware analysis to eradic...44CON
 
44CON London 2015 - How to drive a malware analyst crazy
44CON London 2015 - How to drive a malware analyst crazy44CON London 2015 - How to drive a malware analyst crazy
44CON London 2015 - How to drive a malware analyst crazy44CON
 
44CON London 2015 - 15-Minute Linux Incident Response Live Analysis
44CON London 2015 - 15-Minute Linux Incident Response Live Analysis44CON London 2015 - 15-Minute Linux Incident Response Live Analysis
44CON London 2015 - 15-Minute Linux Incident Response Live Analysis44CON
 
44CON London 2015 - Going AUTH the Rails on a Crazy Train
44CON London 2015 - Going AUTH the Rails on a Crazy Train44CON London 2015 - Going AUTH the Rails on a Crazy Train
44CON London 2015 - Going AUTH the Rails on a Crazy Train44CON
 
44CON London 2015 - Software Defined Networking (SDN) Security
44CON London 2015 - Software Defined Networking (SDN) Security44CON London 2015 - Software Defined Networking (SDN) Security
44CON London 2015 - Software Defined Networking (SDN) Security44CON
 
44CON London 2015 - DDoS mitigation EPIC FAIL collection
44CON London 2015 - DDoS mitigation EPIC FAIL collection44CON London 2015 - DDoS mitigation EPIC FAIL collection
44CON London 2015 - DDoS mitigation EPIC FAIL collection44CON
 
44CON London 2015 - Windows 10: 2 Steps Forward, 1 Step Back
44CON London 2015 - Windows 10: 2 Steps Forward, 1 Step Back44CON London 2015 - Windows 10: 2 Steps Forward, 1 Step Back
44CON London 2015 - Windows 10: 2 Steps Forward, 1 Step Back44CON
 
44CON London 2015 - Old Dog, New Tricks: Forensics With PowerShell
44CON London 2015 - Old Dog, New Tricks: Forensics With PowerShell44CON London 2015 - Old Dog, New Tricks: Forensics With PowerShell
44CON London 2015 - Old Dog, New Tricks: Forensics With PowerShell44CON
 
44CON London 2015 - Inside Terracotta VPN
44CON London 2015 - Inside Terracotta VPN44CON London 2015 - Inside Terracotta VPN
44CON London 2015 - Inside Terracotta VPN44CON
 

More from 44CON (20)

They're All Scorpions - Successful SecOps in a Hostile Workplace - Pete Herzo...
They're All Scorpions - Successful SecOps in a Hostile Workplace - Pete Herzo...They're All Scorpions - Successful SecOps in a Hostile Workplace - Pete Herzo...
They're All Scorpions - Successful SecOps in a Hostile Workplace - Pete Herzo...
 
How to Explain Post-Quantum Cryptography to a Middle School Student - Klaus S...
How to Explain Post-Quantum Cryptography to a Middle School Student - Klaus S...How to Explain Post-Quantum Cryptography to a Middle School Student - Klaus S...
How to Explain Post-Quantum Cryptography to a Middle School Student - Klaus S...
 
Using SmartNICs to Provide Better Data Center Security - Jack Matheson - 44CO...
Using SmartNICs to Provide Better Data Center Security - Jack Matheson - 44CO...Using SmartNICs to Provide Better Data Center Security - Jack Matheson - 44CO...
Using SmartNICs to Provide Better Data Center Security - Jack Matheson - 44CO...
 
JARVIS never saw it coming: Hacking machine learning (ML) in speech, text and...
JARVIS never saw it coming: Hacking machine learning (ML) in speech, text and...JARVIS never saw it coming: Hacking machine learning (ML) in speech, text and...
JARVIS never saw it coming: Hacking machine learning (ML) in speech, text and...
 
Reverse Engineering and Bug Hunting on KMDF Drivers - Enrique Nissim - 44CON ...
Reverse Engineering and Bug Hunting on KMDF Drivers - Enrique Nissim - 44CON ...Reverse Engineering and Bug Hunting on KMDF Drivers - Enrique Nissim - 44CON ...
Reverse Engineering and Bug Hunting on KMDF Drivers - Enrique Nissim - 44CON ...
 
The UK's Code of Practice for Security in Consumer IoT Products and Services ...
The UK's Code of Practice for Security in Consumer IoT Products and Services ...The UK's Code of Practice for Security in Consumer IoT Products and Services ...
The UK's Code of Practice for Security in Consumer IoT Products and Services ...
 
Weak analogies make poor realities – are we sitting on a Security Debt Crisis...
Weak analogies make poor realities – are we sitting on a Security Debt Crisis...Weak analogies make poor realities – are we sitting on a Security Debt Crisis...
Weak analogies make poor realities – are we sitting on a Security Debt Crisis...
 
Pwning the 44CON Nerf Tank
Pwning the 44CON Nerf TankPwning the 44CON Nerf Tank
Pwning the 44CON Nerf Tank
 
Security module for php7 – Killing bugclasses and virtual-patching the rest! ...
Security module for php7 – Killing bugclasses and virtual-patching the rest! ...Security module for php7 – Killing bugclasses and virtual-patching the rest! ...
Security module for php7 – Killing bugclasses and virtual-patching the rest! ...
 
44CON London 2015 - Stegosploit - Drive-by Browser Exploits using only Images
44CON London 2015 - Stegosploit - Drive-by Browser Exploits using only Images44CON London 2015 - Stegosploit - Drive-by Browser Exploits using only Images
44CON London 2015 - Stegosploit - Drive-by Browser Exploits using only Images
 
44CON London 2015 - Is there an EFI monster inside your apple?
44CON London 2015 - Is there an EFI monster inside your apple?44CON London 2015 - Is there an EFI monster inside your apple?
44CON London 2015 - Is there an EFI monster inside your apple?
 
44CON London 2015 - Indicators of Compromise: From malware analysis to eradic...
44CON London 2015 - Indicators of Compromise: From malware analysis to eradic...44CON London 2015 - Indicators of Compromise: From malware analysis to eradic...
44CON London 2015 - Indicators of Compromise: From malware analysis to eradic...
 
44CON London 2015 - How to drive a malware analyst crazy
44CON London 2015 - How to drive a malware analyst crazy44CON London 2015 - How to drive a malware analyst crazy
44CON London 2015 - How to drive a malware analyst crazy
 
44CON London 2015 - 15-Minute Linux Incident Response Live Analysis
44CON London 2015 - 15-Minute Linux Incident Response Live Analysis44CON London 2015 - 15-Minute Linux Incident Response Live Analysis
44CON London 2015 - 15-Minute Linux Incident Response Live Analysis
 
44CON London 2015 - Going AUTH the Rails on a Crazy Train
44CON London 2015 - Going AUTH the Rails on a Crazy Train44CON London 2015 - Going AUTH the Rails on a Crazy Train
44CON London 2015 - Going AUTH the Rails on a Crazy Train
 
44CON London 2015 - Software Defined Networking (SDN) Security
44CON London 2015 - Software Defined Networking (SDN) Security44CON London 2015 - Software Defined Networking (SDN) Security
44CON London 2015 - Software Defined Networking (SDN) Security
 
44CON London 2015 - DDoS mitigation EPIC FAIL collection
44CON London 2015 - DDoS mitigation EPIC FAIL collection44CON London 2015 - DDoS mitigation EPIC FAIL collection
44CON London 2015 - DDoS mitigation EPIC FAIL collection
 
44CON London 2015 - Windows 10: 2 Steps Forward, 1 Step Back
44CON London 2015 - Windows 10: 2 Steps Forward, 1 Step Back44CON London 2015 - Windows 10: 2 Steps Forward, 1 Step Back
44CON London 2015 - Windows 10: 2 Steps Forward, 1 Step Back
 
44CON London 2015 - Old Dog, New Tricks: Forensics With PowerShell
44CON London 2015 - Old Dog, New Tricks: Forensics With PowerShell44CON London 2015 - Old Dog, New Tricks: Forensics With PowerShell
44CON London 2015 - Old Dog, New Tricks: Forensics With PowerShell
 
44CON London 2015 - Inside Terracotta VPN
44CON London 2015 - Inside Terracotta VPN44CON London 2015 - Inside Terracotta VPN
44CON London 2015 - Inside Terracotta VPN
 

Recently uploaded

"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr BaganFwdays
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024Lorenzo Miniero
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupFlorian Wilhelm
 
Advanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionAdvanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionDilum Bandara
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsSergiu Bodiu
 
From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .Alan Dix
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Mark Simos
 
DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenHervé Boutemy
 
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxThe Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxLoriGlavin3
 
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxA Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxLoriGlavin3
 
What is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdfWhat is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdfMounikaPolabathina
 
DSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningDSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningLars Bell
 
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsRizwan Syed
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfAddepto
 
Take control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteTake control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteDianaGray10
 
unit 4 immunoblotting technique complete.pptx
unit 4 immunoblotting technique complete.pptxunit 4 immunoblotting technique complete.pptx
unit 4 immunoblotting technique complete.pptxBkGupta21
 
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024BookNet Canada
 
TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024Lonnie McRorey
 

Recently uploaded (20)

"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project Setup
 
Advanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionAdvanced Computer Architecture – An Introduction
Advanced Computer Architecture – An Introduction
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platforms
 
From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
 
DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache Maven
 
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxThe Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
 
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxA Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
 
What is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdfWhat is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdf
 
DSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningDSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine Tuning
 
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL Certs
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdf
 
Take control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteTake control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test Suite
 
unit 4 immunoblotting technique complete.pptx
unit 4 immunoblotting technique complete.pptxunit 4 immunoblotting technique complete.pptx
unit 4 immunoblotting technique complete.pptx
 
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
 
TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024
 

44CON London 2015 - Playing with Fire: Attacking the FireEye MPS

  • 1. www.ernw.de Playing with Fire Attacking the FireEye® MPS Felix Wilhelm @_fel1x © Aphelleon/Shutterstock.com THANKS for having me! Enno Rey 10.9.2015 22:18:11
  • 2. www.ernw.de Who Am I ¬ Security researcher at ERNW. ¬ Main Interests: Virtualization and Application Security 10/09/15 #2 Felix Wilhelm @_fel1x
  • 3. www.ernw.de Recent Research ¬ Microsoft Hyper-V  MS13-092 ¬ Xen  Xen XSA-123 ¬ IBM GPFS  CVE-2015-019(7,8,9) ¬ Always very smooth disclosure process. 10/09/15 #3
  • 4. www.ernw.de This Time It’s Different Therefore we need a lengthy disclaimer here. 10/09/15 #4
  • 5. www.ernw.de Disclaimer ¬ Due to a recent injunction by the Landgericht Hamburg on behalf of FireEye® Inc. some accompanying details to understand the nature of the vulnerabilities cannot be presented today. We fully adhere to that injunction in the following.  All technical details shown are based on a document which was mutually agreed upon between FireEye® and ERNW. ¬ I am not able to discuss details about the removed content or the ongoing legal procedures. ¬ We’ll just let the bugs speak. All products, company names, brand names, trademarks and logos are the property of their respective owners.
  • 6. www.ernw.de Agenda ¬ Getting Access ¬ Architecture ¬ VXE ¬ MIP 10/09/15 #6
  • 7. www.ernw.de FireEye® MPS ¬ Malware Protection System  Software running on FireEye® appliances.  Differences in Sample collection:  Network, Mail, Fileserver, Manual ¬ I’ll talk about webMPS 7.5.1  Bugs exist in all the above variants. ¬ They have been patched in the interim.  Security note link: bit.ly/fireNOTICE [1] 10/09/15 #7 [1] https://www.fireeye.com/content/dam/fireeye-www/support/pdfs/fireeye-ernw-vulnerability.pdf Random dummy appliance: © design-creators.net
  • 8. www.ernw.de Establishing Access ¬ Initial Situation: Administrative access to device ¬ Web Interface  Reporting / Analysis ¬ CLI  Reachable via SSH  Restricted IOS-like shell  Get OS access to find possible vulnerabilities in analysis process. 10/09/15 #8 It turned out that there was this bug…
  • 9. www.ernw.de Establishing Access ¬ Web Interface allows configuration of used TLS certs and CAs (post auth)  Legally prohibited to show you a screenshot of the interface. ¬ Uploaded files are passed to openssl for validation ¬ For a CA bundle every included cert is validated individually:  Split file on “END CERTIFICATE”  Pipe single chunk to openssl and parse output: echo ”$data" | openssl x509 -noout –text 10/09/15 #9
  • 10. www.ernw.de Command Injection 10/09/15 #10 © Best_photo_studio/ Shutterstock.com
  • 11. www.ernw.de Establishing Access ¬ openssl ignores everything between BEGIN and END certificate ¬ Validation of whole bundle succeeds even when the payload is added  Trivial Command Injection 10/09/15 #11
  • 13. www.ernw.de Establishing Access ¬ Not interesting for real world attacks!  Requires administrative access to web interface ¬ But gives (unprivileged) OS access  Requirement for finding more interesting bugs ¬ Next step: Get persistent and privileged access 10/09/15 #13
  • 14. www.ernw.de Establishing Access ¬ Privilege “Escalation”  Local root password is identical to the configured admin pw  Just use su ¬ Persistence  Root filesystem is read only  Remount it and overwrite one of the whitelisted CLI commands - Easiest way: Replace telnet binary with symlink to bash 10/09/15 #14
  • 15. www.ernw.de What next? ¬ Goals of research on security appliances  Understanding of the attack surface  Advantages and limitations  Understanding of system architecture is required 10/09/15 #15
  • 17. www.ernw.de … ¬ As you can imagine, there is some static and some dynamic analysis involved. ¬ VXE:  Virtual Execution Engine  One of the main components involved in dynamic analysis ¬ MIP:  Malware Input Processor  Orchestrates static analysis 10/09/15 #17
  • 18. www.ernw.de Attack Scenario ¬ Attack scenario for the next slides:  A file of our choice is analyzed by the appliance ¬ Trivial to trigger for real world environments:  Send mail with attachment to arbitrary employee  Trigger download from corporate system by Social Engineering, MitM… ¬ File does not have to be opened by anyone!  Just transferring it is enough 10/09/15 #18
  • 19. www.ernw.de VXE – Virtual Execution Engine ¬ Virtualized environment to run malware on  [ ]  Several interfaces to the physical host system ¬ Most interesting one:  libnetctrl_switch.so 10/09/15 #19
  • 20. www.ernw.de libnetctrl_switch.so ¬ Network packets generated by the virtual machine are passed to this library ¬ Packets are parsed and passed to either  DNS handler  IP handler ¬ DNS handler  Quite simple  Logs requested hostname and returns faked response 10/09/15 #20
  • 21. www.ernw.de libnetctrl_switch.so ¬ IP handler  Handles everything besides DNS  Includes mechanism for protocol detection ¬ Information about a host is stored in an addr structure  Fields for IP address, DNS entry, internal state …  Table of 10 port structs to store data unique to a TCP port  Pointers to next/prev address 10/09/15 #21
  • 22. www.ernw.de libnetctrl_switch.so ¬ Sending data to port initializes state machine ¬ First 12 bytes of TCP payload are converted to uppercase  Check for hardcoded protocol indicator  GET (HTTP), NICK (IRC) , PASV (FTP) ¬ When protocol is detected the state machine responds in a semi-realistic way  Simulate normal protocol communication 10/09/15 #22
  • 23. www.ernw.de libnetctrl_switch.so ¬ Bug 1: /NICK overflow 1. Sending “/NICK <name>” triggers a welcome msg from the simulated IRC server. 2. Message includes your nick name 3. Message is generated using sprintf 4. .. using a stack buffer with size 1024 as destination 10/09/15 #23
  • 24. www.ernw.de /NICK overflow ¬ Write “malware”:  tcp_send (“44con.com”, 1337, ”/NICK AAAAAAAAAAAAAAAA…"); ¬ Trigger analysis ¬ Watch VXE crash: Program received signal SIGSEGV, Segmentation fault. 0x4141414141414141 in ?? () 10/09/15 #24
  • 25. www.ernw.de /NICK overflow ¬ Fixed size stack buffer ¬ No stack cookies ¬ VXE binary without PIE ¬ 64bit (VXE addresses require 0bytes) ¬ Return address points to libnetctrl_switch.so (which uses ASLR) ¬ NICK can not contain 0bytes ¬ Last bytes of buffer are not controlled  Partial overwrite not possible  Hard to exploit. 10/09/15 #25
  • 26. www.ernw.de port Structure ¬ port structure stores data send during communication:  {nick,join,user,mode,user_host}_info  Inline 1024 byte buffers ¬ Buffers are filled using get_value function after keyword is detected. ¬ get_value copies bytes till 0byte or line break.  Inserts 0byte at the end.  No length restriction… 10/09/15 #26
  • 27. www.ernw.de Another Disclaimer ¬ The following diagrams are here for illustrative purposes. They do not describe any architectural design or specifics of FireEye® products. All products, company names, brand names, trademarks and logos are the property of their respective owners.
  • 28. www.ernw.de /JOIN Overflow ¬ More than 1024 bytes after JOIN/NICK/USER .. triggers overflow  Limited by MTU of simulated network card (1500 - header) ¬ Only join_info is interesting.  Rest overflows in neighboring buffer ¬ No interesting data to overwrite inside the port structure… ¬ But… 10/09/15 #28
  • 29. www.ernw.de /JOIN Overflow ¬ port is stored inside addr ¬ Overflow in last port structure can corrupt prev and next ptr of linked address list. ¬ Trigger:  Connect to 9 different TCP ports on same host  Connect to tenth port and send “/JOIN AAAAAAAAAAAAAA….” 10/09/15 #29
  • 30. www.ernw.de Exploitation ¬ Similar problem to first bug: No 0bytes + 64bit + Heap ASLR  But this time we can perform a partial overwrite ¬ addr struct is 0x25A60 bytes long  Used malloc implementation allocates structures larger than 0x20000 using mmap  Chunk is always at page boundary  Least significant byte of struct address is 0x10 10/09/15 #30
  • 31. www.ernw.de Exploitation ¬ next and prev point at offset after portTable.  Least significant byte of both always equals 0x60 ¬ Overwrite last byte of next ptr with the 0byte generated by get_value 10/09/15 #31
  • 32. www.ernw.de Exploitation ¬ next and prev point at offset after portTable.  Least significant byte of both always equals 0x60 ¬ Overwrite last byte of next ptr with the 0byte generated by get_value ¬ next_ptr points into join_info buffer of second structure 10/09/15 #32 addr struct ….. ….. portTable prev_ptr next_ptr addr struct ….. ….. portTable prev_ptr next_ptr Overwrite
  • 33. www.ernw.de Exploitation ¬ join_info is initialized with 0s  We can create pointers with an arbitrary number of leading 0s ¬ Point at address in VXE data section around 2k bytes before an interesting overwrite target  No PIE for vxe binary ¬ Next connection that matches IP of faked struct copies TCP payload into port buffer  Write Primitive 10/09/15 #33 addr struct ….. ….. portTable prev_ptr next_ptr addr struct ….. ….. portTable prev_ptr next_ptr Overwrite ptr to fake addr struct
  • 34. www.ernw.de Exploitation ¬ Header of fake addr struct must be valid  Offset 0x0 != 0x0  Offset 0x8 == 0x0  Offset 0x10 == 0x0  Offset 0x18 == 2 or 3 ¬ But we can corrupt a lot of data after this point ¬ 5 lines python == around 12 usable locations in VXE data ¬ Multiple function tables can be corrupted  Use stack pivot to point RSP into controlled buffer  ROP “chain” into system() call trivial. 10/09/15 #34
  • 35. www.ernw.de10/09/15 #35 Source: FireEye® Vulnerability Summary, September 8, 2015: https://www.fireeye.com/content/dam/fireeye-www/support/pdfs/fireeye-ernw-vulnerability.pdf
  • 37. www.ernw.de Exploitation ¬ Technique “bypasses” ASLR  Quite stable and fast due to small amount of heap massaging/spraying ¬ Several requirements for fake address object:  Large data corruption  Limits possible overwrite targets  But target binary is large enough ¬ VXE version dependency  Bug can potentially be used to create info leak, but difficult to exploit without using raw sockets  Not 100% reliable 10/09/15 #37
  • 38. www.ernw.de .. something else? MIP ¬ Remember: There is also static analysis involved. ¬ Responsible component: MIP – Malware Input Processor  Running on the host system ¬ Supports a significant number of different file types  [ ]  .. and ZIP 10/09/15 #38
  • 39. www.ernw.de MIP and p7zip ¬ Decompression of zip files is handled by p7zip  Inofficial fork of win32 7zip for POSIX systems  http://p7zip.sourceforge.net/ ¬ extract_ar.py script performs the following call:  subprocess.call(['/usr/bin/7z', 'x', '-y', dest_arg, pass_arg, archive_name]) 10/09/15 #39 © Thvg
  • 40. www.ernw.de CVE-2015-1038 ¬ Could be a potential fuzzing target.  Maybe any open bug reports? ¬ CVE-2015-1038: Directory traversal through symlinks  https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=774660 “7z (and 7zr) is susceptible to a directory traversal vulnerability. While extracting an archive, it will extract symlinks and then follow them if they are referenced in further entries. This can be exploited by a rogue archive to write files outside the current directory.” – Alexander Cherepanov cherepan@mccme.ru 10/09/15 #40
  • 41. www.ernw.de Exploiting MIP ¬ Create zip/7z file with symlink to writable directory ¬ Trigger analysis (Mail..)  MIP extracts archives and follows symlink ¬ Arbitrary file creation in any directory writable by MIP user  Overwrites possible due to –y flag. 10/09/15 #41
  • 42. www.ernw.de MIP privileges ¬ Most important directories are not writable for MIP user ¬ But /censored/xyz/ is! ¬ Includes static analysis scripts for different file types  For example rtf.py – called whenever analysis of an rtf file is performed ¬ Files itself aren’t writable, but directory is  Overwrite possible 10/09/15 #42
  • 43. www.ernw.de MIP – Directory Traversal to Code Exec [I] 10/09/15 #43 RFT document: © Jordan Michael / ZIP archive: © Thvg / Dummy appliance: © design-creators.net 1. Create malicious zip archive containing ¬ symlink to /censored/xyz/ ¬ and backdoored rtf.py 2. Send mail to sales@ernw.de with zip attached. 3. Analysis extracts zip and overwrites 3. rtf.py with backdoored version.
  • 44. www.ernw.de MIP – Directory Traversal to Code Exec [II] 10/09/15 #44 RFT document: © Jordan Michael / ZIP archive: © Thvg / Dummy appliance: © design-creators.net 4. Send another mail to sales@ernw.de 4. with arbitrary rtf attached. 5. Static analysis module executes rtf.py 6. Wait for shell to pop.
  • 45. www.ernw.de What does this mean? ¬ 100% reliable code execution against vulnerable devices  Remember: It’s been patched in the interim. ¬ But code is only running as low privileged user ¬ Still: Full compromise would require a privilege escalation 10/09/15 #45
  • 46. www.ernw.de cms_agent.rb ¬ Ruby script running with root privileges ¬ Listening on local tcp port 9900. ¬ Centralized Management functionality ¬ Implements a dRuby server  RPC mechanism to call ruby methods / exchange objects over the network ¬ mdreq_exec method passes first argument directly as first argument to command line invocation  Simple command injection again. 10/09/15 #46
  • 47. www.ernw.de Final Demo 100% reliable remote root with a zip archive 10/09/15 #47
  • 48. www.ernw.de Get Your Appliances Patched Right NOW. If you would only take one thing away from this talk… 10/09/15 #48
  • 49. www.ernw.de Conclusions ¬ Possible Mitigations / Hardening measurements:  Use compiler hardening (stack protector, PIE..)  Run static analysis process in virtualized setting  Hardening of local privileged processes  Implementation of parsing code in memory safe languages ¬ Even with these Mitigations:  The new capabilities gained by using virtual machine technology to detect malicious behavior also mean there are specific attack exposures that vendors must account for. 10/09/15 #49
  • 50. www.ernw.de Timeline [I] ¬ April 7th 2015: Initial (attempt of) contact via security@fireeye.com, several tries ¬ April 27th 2015: Reaching out via Twitter  response. 10/09/15 #50 https://twitter.com/_fel1x/status/592734994595995648
  • 51. www.ernw.de Timeline & Comments [II] ¬ May 7th: conference call. ¬ June 10th: conference call. ¬ July 17th: conference call. ¬ July 23rd: conference call. ¬ Aug 05th: face to face meeting in Las Vegas.  Our impression was that a provisional agreement was reached here. ¬ Aug 06th: FireEye sends cease-and-desist letter. ¬ Aug 13th: district court of Hamburg issues injunction. 10/09/15 #51
  • 52. www.ernw.de Thanks for your attention! Q&A @_fel1x fwilhelm@ernw.de 10/09/15 #52 Also visit our blog: https://insinuator.net