A blog post with additional information is available here:
http://blog.sec-consult.com/2017/05/chainsaw-of-custody-manipulating.html
We have also released a video showing arbitrary code execution:
https://www.youtube.com/watch?v=1EngNIXSNQw
SEC Consult Vulnerability Lab Security Advisory < 20170511-0 >
=======================================================================
title: Stack based buffer overflow
product: Guidance Software EnCase Forensic Imager
vulnerable version: EnCase Forensic Imager <= 7.10
fixed version: -
CVE number: -
impact: critical
homepage: https://www.guidancesoftware.com/encase-forensic-imager
found: 2017-02-17
by: W. Ettlinger (Office Vienna)
SEC Consult Vulnerability Lab
An integrated part of SEC Consult
Bangkok - Berlin - Linz - Luxembourg - Montreal - Moscow
Kuala Lumpur - Singapore - Vienna (HQ) - Vilnius - Zurich
https://www.sec-consult.com
=======================================================================
Vendor description:
-------------------
"When time is short and you need to acquire entire volumes or selected
individual folders, EnCase Forensic Imager is your tool of choice. Based on
trusted, industry-standard EnCase Forensic technology, EnCase Forensic Imager:
* Is free to download and use
* Requires no installation
* Is a standalone product that does not require an EnCase Forensic license
* Enables acquisition of local drives (network drives are not able to be
acquired with Imager)
* Provides easy viewing and browsing of potential evidence files, including
folder structures and file metadata
* Can be deployed via USB stick and used to perform acquisition of a live
device"
URL: https://www.guidancesoftware.com/encase-forensic-imager
Business recommendation:
------------------------
SEC Consult recommends not to use EnCase Forensic Imager for forensic analysis
until a thorough security review has been performed by security professionals
and all identified issues have been resolved.
Vulnerability overview/description:
-----------------------------------
EnCase Forensic Imager fails to check the length of strings copied from the
definitions of logical volumes in an LVM2 partition. When EnCase Forensic Imager
is used to analyze a crafted LVM2 partition, part of the stack is overwritten
with attacker controlled data. This allows an attacker to overwrite a pointer
to code. After the program execution is transferred to the address specified in
this pointer, the attacker has control of the consequent program execution.
SEC Consult was able utilize this vulnerability to craft a disk image that, when
analyzed, executes arbitrary code. Since EnCase Forensic Imager runs with
administrative privileges, this code runs in an elevated context.
Since EnCase Forensic Imager does not use ASLR or Control Flow Guard, the
probability that an attacker can successfully exploit this vulnerability (and
possibly other vulnerabilities) is significantly higher than in similar software
that utilizes these mechanisms.
Proof of concept:
-----------------
In order to parse the name of a logical volume from a logical volume definition
EnCase Forensic Imager processes a line that e.g. looks as follows:
testlv {
In order to extract the volume name from this string, EnCase Forensic Imager
first searches for the character '{' within the line and then copies all data
before into another buffer. Since the source buffer is 1024 UTF-16
characters long and the destination buffer is only 258 UTF-16 characters long,
a buffer overflow occurs on the stack.
After a function pointer in the stack frame of the calling method has been
overwritten, this function pointer is being called. Since the method does not
return between overwriting the stack and calling the function pointer, stack
cookies do not protect against this vulnerability.
A demonstration of an exploit has been developed and provided to the vendor.
This exploit creates an LVM2 image that defines a logical volume with a
manipulated name. When the investigator searches for LVM2 logical volumes on
this image the aforementioned pointer on the stack is overwritten. Afterwards,
this pointer is called and execution is transfered to a stack pivot gadget.
Since only strings converted from Windows-1252 to UTF-16 strings can be used in
the overwritten stack memory and since characters below '\a' are transformed,
a series of ROP-chains was required to exploit this vulnerability.
Ultimately the last ROP chain calls VirtualProtect to allow execution of the
attacker-supplied code.
The exploit has been developed to work with the 32-bit version of EnCase
Forensic Imager and will be published at a later date.
Vulnerable / tested versions:
-----------------------------
At least version 7.10 of EnCase Forensic Imager has been found to be vulnerable.
This version was the latest at the time the security vulnerabilitiy was
discovered.
Vendor contact timeline:
------------------------
2017-02-17: Vulnerability identified, further internal analysis (special thanks
to R. Freingruber for binary exploitation support)
2017-03-07: Sending encrypted advisory to vendor through previous contact via
email
2017-03-13: Vendor answer: forwarding advisory to engineers, will update us
2017-03-17: Sending Proof of Concept exploit to vendor
2017-03-31: Requesting status update (no response)
2017-04-18: Requesting status update, reminding vendor of upcoming public
release of the advisory (no response)
2017-05-01: Informing vendor (through all available contacts) of the set release
date (2017-05-11)
2017-05-03: Informing four members of executive team about the upcomming
release
2017-05-03: Guidance Software says they will inform us "if and when further
information is available"
2017-05-09: Informing CERTs (US-CERT, CERT-Bund, CERT.at) about upcoming release
2017-05-11: Public release of the security advisory
Solution:
---------
The vendor did not provide a fixed version of the affected application.
Workaround:
-----------
None
Advisory URL:
-------------
https://www.sec-consult.com/en/Vulnerability-Lab/Advisories.htm
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
SEC Consult Vulnerability Lab
SEC Consult
Bangkok - Berlin - Linz - Luxembourg - Montreal - Moscow
Kuala Lumpur - Singapore - Vienna (HQ) - Vilnius - Zurich
About SEC Consult Vulnerability Lab
The SEC Consult Vulnerability Lab is an integrated part of SEC Consult. It
ensures the continued knowledge gain of SEC Consult in the field of network
and application security to stay ahead of the attacker. The SEC Consult
Vulnerability Lab supports high-quality penetration testing and the evaluation
of new offensive and defensive technologies for our customers. Hence our
customers obtain the most current information about vulnerabilities and valid
recommendation about the risk profile of new technologies.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Interested to work with the experts of SEC Consult?
Send us your application https://www.sec-consult.com/en/Career.htm
Interested in improving your cyber security with the experts of SEC Consult?
Contact our local offices https://www.sec-consult.com/en/About/Contact.htm
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Mail: research at sec-consult dot com
Web: https://www.sec-consult.com
Blog: http://blog.sec-consult.com
Twitter: https://twitter.com/sec_consult
EOF W. Ettlinger @2017