PeiBackdoor: new UEFI payload/backdoor tool

Dmytro Oleksiuk (aka Cr4sh) has created a new UEFI security researcher tool: PeiBackdoor, which hooks into the init code of UEFI. (PEI is the Pre-uEfi-Init phase, before all the UEFI protocols are in place, the init code of UEFI.) It uses Capstone, and requires Windows.

PEI stage backdoor for UEFI compatible firmware

This project implements early stage firmware backdoor for UEFI based firmware. It allows to execute arbitrary code written in C during Pre EFI Init (PEI) phase of Platform Initialization (PI). This backdoor might be useful for low level manipulations with the target platform configuration when the most of the platform configuration registers are not locked yet. […]

PEI backdoor project includes:

* PeiBackdoor.py – Python program that allows to infect raw flash images or individual UEFI PEI drivers with the backdoor code.
* PeiBackdoor_IA32.efi, PeiBackdoor_IA32.pdb – 32-bit PEI backdoor binary compiled with ACTIVE_PLATFORM = IA32.
* PeiBackdoor_X64.efi, PeiBackdoor_X64.pdb – 64-bit PEI backdoor binary compiled with ACTIVE_PLATFORM = X64.
* PeiBackdoor.inf – PEI backdoor project configuration for EDK2 build environment.
* config.h – PEI backdoor build options.
* payload.c – Put your own PEI stage code into this source file and call it from Payload() function.
* src/ – Rest of the PEI backdoor code.

PeiBackdoor.py is using Capstone engine and pefile Python libraries, you need to install them with pip install capstone pefile command.
[…]

https://github.com/Cr4sh/PeiBackdoor

Intel Joule

“Today during the Intel Developer Forum (IDF) opening keynote, Intel CEO Brian Krzanich introduced the Intel® Jouleâ„¢ compute module, a high-performance developer platform with support for Intel® RealSenseâ„¢ depth-sensing cameras, targeted at Internet of Things (IoT) developers, entrepreneurs and established enterprises. […] The Intel Joule platform enables people to rapidly prototype a concept and then take it into production in a fraction of the time and development cost. Intel Joule is a high performance system-on-module (SOM) in a tiny, low-power package thus making it ideal for computer vision, robotics, drones, industrial IoT, VR, AR, micro-servers and other applications that require high-end edge computing. The Intel Joule module is available in two models – 570x and 550x. The Intel Joule 570x developer kit is available for sale at the 2016 Intel Developer Conference in San Francisco, and will begin shipping in September through Intel reseller partners.”

I’m still reading the docs, not sure what firmware it has, and if developers have ability to revise it. If you know, please leave a Comment. Suggested price is US$379.

https://software.intel.com/en-us/articles/joule-vs-edison
https://software.intel.com/en-us/intel-joule-getting-started
https://software.intel.com/en-us/iot/hardware/joule
https://software.intel.com/en-us/articles/what-is-joule-module
https://software.intel.com/en-us/iot/hardware/joule/dev-kit
http://ark.intel.com/products/series/96419/Intel-Joule-Kits

Click to access intel-joule-fact-sheet.pdf

https://newsroom.intel.com/chip-shots/make-amazing-things-happen-iot-entrepreneurship-intel-joule/

CHIPSEC ported to Apple Mac OS X!

Wow, CHIPSEC is ported to Mac OS X! This is great news for Mac owners! CHIPSEC requires a native kernel driver to support CHIPSEC’s HAL. Before this, there was only Linux and Windows HAL drivers for CHIPSEC, so Mac OS X users had to reboot with a Linux-based distro which had CHIPSEC (eg, LUV-live). Live use aside, this also probably means you’ll be able to use CHIPSEC on OS X for offline analysis of blobs.

OSX Driver for Chipsec. This driver is currently in alpha release. It is not signed and you will need to disable the System Integrity Protection to load it. It is only compatible with x86_64 kernels, that is any release >= 10.7. How to:
1. (optional) Build the Driver using Xcode (chipsec.xcodeproj)
2. Turn the System Integrity Protection off: see
    https://developer.apple.com/library/mac/documentation/Security/Conceptual/System_Integrity_Protection_Guide/ConfiguringSystemIntegrityProtection/ConfiguringSystemIntegrityProtection.html
3. Reboot and load the driver
   # kextutil chipsec.kext
4. Within the source/tool directory, run:
   # python chipsec_util.py spi info
   # python chipsec_util.py spi dump rom.bin
5. Unload the driver

https://github.com/chipsec/chipsec/blob/master/source/drivers/osx/README

https://github.com/chipsec/chipsec/pull/69

https://github.com/chipsec/chipsec/commit/b00c037101523212725c60d35f3f70b168a44e1c

With an OS X port of the CHIPSEC HAL, Apple’s OS is starting to catch up with Linux and Windows. I hope Apple paid @tweksteen for the effort, Apple should have done this port long ago. FreeBSD/OpenBSD/NetBSD: time for you to catch up too! 🙂

coreboot adds Intel BootGuard support to Intel ME Tool

“util/intelmetool: Add bootguard information dump support:
With this implementation it’s possible to detect the state of bootguard in intel based systems.
Currently it’s WIP and in a testphase. Handle it with care!”

 

https://review.coreboot.org/#/c/16328/

https://coreboot.org/

Talos creates Intel PT driver

Talos Intel PT Driver
This driver implements the Intel Processor Trace functionality in Intel Skylake architecture for Microsoft Windows.
Intel Processor Trace is a high performance hardware supported branch tracing mechanism in Intel Skylake architecure.
[…]

https://github.com/talos-vulndev/TalosIntelPtDriver

https://github.com/talos-vulndev/FuzzFlow

http://www.talosintelligence.com/

CHIPSEC adds blacklist database of UEFI modules

CHIPSEC 1.2.4 was recently released:

CHIPSEC 1.2.4 released

One new feature is a blacklist database of bad UEFI modules, and a new CHIPSEC security module to test for them, see the modules/tools/uefi/blacklist.py source for more details.

https://github.com/chipsec/chipsec/commit/bb9c9963547aae91a416be695c7f8b97fa61a3e8

Look at some of Yuriy’s more recent Twitter posts for a few new features not listed in the previous 1.2.4 release blog post, in addition to this blacklist.

Intel to license ARM tech

[…] Intel, will now manufacture chips for other companies such as ARM. To be more precise, it will be licensing technology from Britain’s ARM holdings. […]

I wonder what this means for Intel and ARM?? I’ve deleted a few paragraphs of speculation, to save you time, as I have no clue. 🙂

I hope that Intel also releases a version of a RISC-V chip!

http://wccftech.com/intel-manufacture-arm-chips/

ME Analyzer switches from closed-source to open-source

Great news, the tool “ME Analyzer” — for analyzing the Intel Management Engine (ME) — has switched from closed-source freeware to open source!!

 

Plutomaniac’s ME Analyzer

Intel SGX tutorial, part 3 underway

If you haven’t seen the Intel SGX tutorial, the first 2 parts are out, and the 3rd part is nearly out:

https://software.intel.com/en-us/articles/introducing-the-intel-software-guard-extensions-tutorial-series
https://software.intel.com/en-us/articles/intel-software-guard-extensions-tutorial-part-1-foundation
https://software.intel.com/en-us/articles/intel-software-guard-extensions-tutorial-part-2-app-design

It sounds like part3 is nearly out:

https://software.intel.com/en-us/blogs/2016/08/17/part-3-of-the-intel-software-guard-extensions-tutorial-series-is-coming-soon

CHIPSEC 1.2.4 released

Chipsec 1.2.4 has been released! There are no release notes, the docs haven’t been updated in the last 6 months, so you have to read the code for any new changes, besides these 3 tweets:

https://github.com/chipsec/chipsec

https://github.com/chipsec/chipsec/commits/master

 

Multiple Intel systems have SMM runtime EoP

See the full announcement for the list of vulnerable products. Regardless of model, it sounds like no fix until early September.

SmmRuntime Escalation of Privilege
Intel ID:      INTEL-SA-00056
Product family:      Intel® Server Board S1200/1400/1600/2400/2600/4600 series
Impact of vulnerability:      Elevation of Privilege
Severity rating:      Important
Original release:      Aug 08, 2016

Intel is releasing mitigations for a privilege escalation issue. This issue affects the UEFI BIOS of select Intel Products. The issue identified is a method that enables malicious code to gain access to System Management Mode (SMM). A malicious attacker with local administrative access can leverage the vulnerable function to gain access to System Management Mode (SMM) and take full control of the platform. Intel products that are listed below should apply the update. Other vendors’ products which use the common BIOS function SmmRuntime may be impacted.  To find out whether a product you have may be vulnerable to this issue, please contact your system supplier. Intel highly recommends applying the mitigations. For Intel branded products where a mitigation is still pending, we recommend following good security practices including running with least privilege and keeping security software and operating systems up to date. […]

https://security-center.intel.com/advisory.aspx?intelid=INTEL-SA-00056&languageid=en-fr

SGXfun

Click to access sgx_bh16.pdf

https://github.com/kudelskisecurity/sgxfun

parse_enclave.py takes an enclave in binary form and extracts some metadata

parse_quote.py takes a quote in binary form and extracts its fields

parse_sealed.py takes a sealed blob of data and extracts its fields

Rootkits and Bootkits: new chapter available

An update on this book, the early-access ebook edition has a new chapter on UEFI BIOS vulnerablities — and NoStarch has a 30% off earlybird discount:

No Starch Press: Rootkits and Bootkits

https://www.nostarch.com/rootkits

Intel Developer Forum

IDF is happening later this month in San Francisco, and there are multiple firmware presentations there. I counted about a dozen presentations that focus on UEFI, BIOS, Redfish, and related topics. Use the Search dialog in below URL to find things.

http://www.intel.com/content/www/us/en/intel-developer-forum-idf/san-francisco/2016/idf-2016-san-francisco-technical-sessions.html

Intel open sources Redfish-based rack

[…]Intel Rack Scale Design is the first framework to be based upon and use the Redfishâ„¢ industry standard from DMTFOpens in a new window for modern and secure management of scalable platform hardware in the modern data center. The framework allows for dynamic management of compute, memory, PCIe, and storage resources and the pooling of those resources for more efficient use of data center assets. The framework simplifies advanced technology to accelerate the adoption of open, interoperable solutions for tomorrow’s data centers today.[…]

https://github.com/01org/intelRSD

http://www.intel.com/content/www/us/en/architecture-and-technology/rack-scale-design-overview.html

http://itpeernetwork.intel.com/intel-rack-scale-design-now-ready-open-source-development/

Google fork of CHIPSEC

[[UPDATE: this tweet from answers my below question:

]]

GRR (Google Rapid Response), a remote live forensics for incident response, has forked CHIPSEC and updated it to work with GRR. I wonder if the CHIPSEC team will fold back these changes into the trunk version of CHIPSEC?

https://testpypi.python.org/pypi/grr-chipsec/1.2.3

https://github.com/google/grr

new EDK2-Bugs mailing list and Tianocore bugzilla server

On the EDK2-Devel list, Mike Kenney of Intel announced the creation of the Tianocore Bugzilla Server, and the new EDK2-bugs mailing list, which tracks changes to the bug database. The Tianocore project is going to migrate from the Github bug database to their own Bugzilla-based one. The announcement mentions a special case for UEFI security issues:

There is one special Product type on the Bugzilla server called “Tianocore Security Issues”.  If you believe you have discovered a security issue, then you must enter the issue using the “Tianocore Security Issues” Product.  The issue will be evaluated to determine if it really is a security issue or not. NOTE: Never any security issue details in email.

For full details, see Mike’s post:
http://article.gmane.org/gmane.comp.bios.edk2.devel/14844

More info:
https://tianocore.acgmultimedia.com
https://lists.01.org/mailman/listinfo/edk2-bugs

Hmm, No posts yet to the new list, at least nothing has been archived, yet there are 39 bugs in the database, I would have expected at least 39 posts in the archives…. The Tianocore Security Advisory list never seemed to work. The Intel Security Advisories list never seemed to work. Let’s hope the EDK2-bugs list works…
https://tianocore.acgmultimedia.com/buglist.cgi?bug_status=__open__&no_redirect=1&order=Importance&query_format=specific
https://lists.01.org/pipermail/edk2-bugs/

AMI_SMI_Dump

New tool: ami_smi_dump.py:
Extract SW SMI handlers information from SMRAM dump of Skylake based AMI Aptio V firmware.

Hmm, WordPress renders Github gist pages to be unviewable. Remove the SPACE character after the TLD in the below URL to make it work. Or click on the links in the Twitter links.

https://gist.github.com  /Cr4sh/db43cc6687e737d982d3d1c56472c6b9