SlideShare uma empresa Scribd logo
1 de 173
Baixar para ler offline
fG! @ 44CON 2015
Is there an EFI
monster inside
your apple?
Who am I?
§  An Economist.
§  Who loves Human Behavior.
§  And politics.
§  Oh, and a bit of computers.
EFI Monsters?
§  Introduction to EFI.
§  How to
§  Reverse (U)EFI binaries.
§  Search for (U)EFI rootkits.
ASSUMPTIONS
Assumptions
§  Reference machine
§  MacBook Pro Retina 10,1.
§  64-bit only OS X versions.
§  Sandy Bridge or newer.
Why EFI?
§  BIOS replacement.
§  Initially developed by Intel.
§  http://www.intel.com/content/www/us/en/
architecture-and-technology/unified-extensible-
firmware-interface/efi-specifications-general-
technology.html
§  Now UEFI, managed by UEFI consortium.
§  http://www.uefi.org
Why EFI?
§  Initializes your machine.
§  Access to low level features.
§  Modular.
§  Feature rich.
§  Rather easy development.
What evil things can we do?
§  Diskless rootkits.
§  Persist across operating system reinstalls.
§  Bypass full-disk encryption.
§  And so on...
What evil things can we do?
§  Rootkit data resident in flash chip.
§  Unpack and patch kernel on boot.
§  RAM only, never touch hard-disk.
§  “Hard” to detect with some anti-forensics.
§  Check Snare’s 2012 presentation.
What evil things can we do?
§  HackingTeam built a UEFI rootkit.
§  https://github.com/hackedteam/vector-edk
§  https://github.com/informationextraction/
vector-edk/blob/master/MdeModulePkg/
Application/fsbg/fsbg.c
§  Goal was persistence across reinstalls.
What evil things can we do?
§  Attack full-disk encryption
§  Install a keylogger.
§  Recover FileVault2 password.
What evil things can we do?
§  Attack “secure” operating systems
§  For example, Tails.
§  Recover PGP keys and/or passphrases.
§  https://www.youtube.com/watch?
v=sNYsfUNegEA.
What evil things can we do?
§  Bootloader
§  Redirect to a custom bootloader.
§  SMM backdoors
§  http://blog.cr4.sh/2015/07/building-reliable-
smm-backdoor-for-uefi.html
A zero day story…
§  Firmware related zero day.
§  Disclosed a few months ago.
§  https://reverse.put.as/2015/05/29/the-
empire-strikes-back-apple-how-your-mac-
firmware-security-is-completely-broken/
A zero day story…
§  Failure to lock the flash.
§  Write to the flash from userland.
§  Similar to Thunderstrike but better.
§  Thunderstrike requires physical access.
§  Prince Harming allows remote attack.
A zero day story…
§  Extremely simple to trigger.
§  Put machine to sleep.
§  Close, wait for fans to stop, and reopen.
§  Or force sleep with “pmset sleepnow”.
A zero day story…
§  Sandy Bridge and Ivy Bridge Macs are
vulnerable.
§  Haswell or newer are not.
§  All older machines are vulnerable
§  Core 2 Duo or older.
§  No flash protections at all.
A zero day story…
§  Available updates:
MacBook Air MacBook Pro Mac Mini Mac Pro iMac
4,1 8,1 5,1 6,1 12,1
5,1 9,1 6,1 13,1
6,1 10,1 7,1 14,1
7,1 10,2   14,2
  11,1   14,3
  11,2   14,4
  11,4   15,1
  12,1      
A zero day story…
§  Reversing and understanding the
vulnerability.
§  https://reverse.put.as/2015/07/01/reversing-
prince-harmings-kiss-of-death/
§  Contains links to relevant EFI
documentation.
A zero day story…
§  Venamis aka Dark Jedi was also patched.
§  http://events.ccc.de/congress/2014/Fahrplan/
events/6129.html
§  http://blog.cr4.sh/2015/02/exploiting-uefi-
boot-script-table.html
§  Slightly more complex, same results.
A zero day story…
§  The story doesn’t end here.
§  Check ThunderStrike 2 slides.
§  Other unpatched remote attack vectors.
Apple ...
Where is EFI?
§  Usually stored in a CMOS serial flash.
§  Two popular chips
§  Macronix MX25L6406E.
§  Micron N25Q064A.
§  SPI compatible.
§  Most are 64 Mbits/8 Mbytes.
uv
Where is EFI?
§  Easy access on some models.
§  Retinas 15” are the easiest.
§  Extensive disassembly required on others.
§  Still, a MacBook Pro 8,1 can be
disassembled in 5 mins or less.
Where is EFI?
§  Most chips are 8 pin SOIC.
§  SMD or BGA versions used?
§  Retinas 13”?
§  New MacBook 12”?
Where is EFI?
§  Newer machines flash chip(s)
§  Winbond W25Q64FV.
§  Chip list from EfiFlasher.efi:
SST 25VF080 Macronix 25L1605 ST Micro M25P16 WinBond 25X32
SST 25VF016 Macronix 25L3205 ST Micro M25P32 Winbond 25X64
SST 25VF032 Macronix 25L6436E Eon M25P32 Winbond 25X128
SST 25VF064 Atmel 45DB321 Eon M25P16 Numonyx N25Q064
Where is EFI?
§  You can buy the chips bulk and cheap.
§  Useful for flashing experiments.
§  Good results from Aliexpress.com.
§  Around $14 for 10 N25Q064A.
§  Around $8 for 10 MX25L640E.
How to dump EFI
§  Hardware
§  The best and most reliable way.
§  Trustable.
§  Software
§  Possible if chip supported by flashrom.
§  Not (very) trustable.
Hardware
§  Any SPI compatible programmer.
§  http://flashrom.org/Supported_programmers
§  I use Trammell Hudson’s SPI flasher.
§  https://trmm.net/SPI
Hardware
§  Based on Teensy 2.0 or 3.x.
Hardware
§  Easy to build.
§  Cheap, ~ $30.
§  Fast, dumps a 64Mbit flash in 8 mins.
§  The Teensy 3 version is even faster.
§  It just works!
Flash chip SPI pinout
Teensy 2.0 pinout
Teensy 2.0 pinout
§  Teensy 2 default voltage is 5v.
§  Flash chips are 3,3.v.
§  Requires voltage regulator MCP1825.
§  https://www.pjrc.com/store/mcp1825.html
Teensy 3.1 pinout
Tips & Tricks
§  Shunt WP and RST pins to VCC.
§  Different SPI pins names
§  SCLK, SCK, CLK.
§  MOSI, SIMO, SDO, DO, DOUT, SO, MTSR.
§  MISO, SOMI, SDI, DI, DIN, SI, MRST.
§  SS, nCS, CS, CSB, CSN, nSS, STE, SYNC.
Hardware
§  How to read entire flash
Hardware
§  How to write entire 64MB flash
Hardware
§  Linux works best to write the flash.
§  Some issues with OS X version.
§  pv or serial driver issues?
§  http://www.ivarch.com/programs/pv.shtml
Software
§  Requirements
§  Flashrom
§  DirectHW.kext
§  Rwmem by Trammell also works.
§  Or readphysmem.
Software
§  DarwinDumper.
§  Contains binary versions of flashrom and
DirectHW.kext.
§  Kernel extension is not code signed.
§  (Still) Whitelisted by Apple.
Software
§  http://flashrom.org/Flashrom
§  http://www.coreboot.org/DirectHW
§  https://bitbucket.org/blackosx/
darwindumper/downloads
§  https://github.com/osresearch/rwmem
§  https://github.com/gdbinit/readphysmem
Software
§  AppleHWAccess.kext.
§  readphysmem utility.
§  Can read bios without external kext.
§  Default on Mavericks and Yosemite.
§  Not anymore on El Capitan.
Software
§  Good enough to play around.
§  Mostly useless to chase (U)EFI rootkits.
§  Unless it is made by HackingTeam.
§  Their version makes no attempt to hide itself
from software dumps.
What’s in the flash
What’s in the flash
What’s in the flash
What’s in the flash
Descriptor region
§  Location of other regions.
§  Access permissions.
§  OS/BIOS shouldn’t access ME region.
§  VSCC configures ME flash access.
Intel ME region
§  A CPU inside your CPU J.
§  Runs Java.
§  Can be active with system powered off.
§  Out of band network access!
§  No access from BIOS and OS.
Intel ME region
§  Mostly a blackbox.
§  Three presentations by Igor Skochinsky.
§  Definitely requires more research!
§  Unpacker
§  http://io.smashthestack.org/me/
Intel ME region
§  Rootkit in your laptop: Hidden code in
your chipset and how to discover what
exactly it does
§  Intel ME Secrets
§  Intel ME: Two years later
§  https://github.com/skochinsky/papers
BIOS region
§  Contains
§  EFI binaries for different phases.
§  NVRAM.
§  Microcode (not for some models).
§  Each on its own firmware volume (FVH).
BIOS region
§  Everything is labeled with a GUID.
§  No filenames.
§  Many GUID can be found in EFI specs.
§  Others are vendor specific/private.
EFI Boot Phases
§  Different initialization phases.
§  Make resources available to next phase.
§  Memory for example.
EFI Phases
§  Security (SEC).
§  Pre-EFI Initialization (PEI).
§  Driver Execution Environment (DXE).
§  Boot Device Selection (BDS).
§  Others...
The PEI/DXE Dispatchers
§  PEI and DXE phases have a dispatcher.
§  Guarantees dependencies and load
order.
§  Dependency expressions.
§  Available as a section.
gFrameworkEfiMpServiceProtocol
Guid	
  
Tools
§  UEFITool and UEFIExtract
§  https://github.com/LongSoft/UEFITool
§  Snare’s IDA EFI Utils
§  https://github.com/snare/ida-efiutils/
§  UEFI Firmware parser
§  https://github.com/snare/ida-efiutils/
§  CHIPSEC
§  https://github.com/chipsec/chipsec
EFI file types
§  Two executable file types.
§  PE32/PE32+ (as in Windows).
§  TE – Terse Executable.
§  16/32/64 bit code, depending on phase.
TE file format
§  TE is just a stripped version of PE.
§  Unnecessary PE headers are removed.
§  To save space.
§  Used by SEC and PEI phase binaries.
TE file format
§  IDA unable to correctly disassemble.
§  Fails to parse the TE headers.
§  Afaik, still not fixed in 6.8.
§  Solution is to build your own TE loader.
§  Easier than you think J.
EFI Services
§  No standard libraries to link against.
§  Instead there are services.
§  Basic functions made available on each
phase.
§  Access via function pointers.
EFI Services
EFI Services
EFI Services
§  Each phase has different services.
§  Entrypoint function contains a pointer to
the tables.
EFI Services
EFI Services
§  Code that you often see in DXE drivers
Calling conventions
§  32-bit binaries use standard C convention
§  Arguments passed on the stack.
§  SEC/PEI phase binaries.
Calling conventions
§  64-bit binaries use Microsoft’s x64
§  First four arguments: RCX, RDX, R8, R9.
§  Remaining on the stack.
§  32-byte shadow space on stack.
§  First stack argument starts at offset 0x20.
§  DXE phase binaries.
Protocols & PPIs
§  The basic services aren’t enough.
§  How are more services made available?
§  Via Protocols and PPIs.
§  Installed (published) by EFI binaries.
§  Others can locate and use them.
Protocols & PPIs
§  Protocol (and PPI) is a data structure.
§  Contains an identification, GUID.
§  Optionally, function pointers and data.
Protocols & PPIs
§  Protocols exist in DXE phase.
§  PPIs exist in PEI phase.
§  In practice we can assume they are
equivalent.
Sample PPI usage
§  First, locate the PPI.
Sample PPI usage
§  Second, use it.
Sample Protocol usage
Apple EFI customizations
§  Apple specific modifications.
§  To reserved fields.
§  Must be taken care of.
§  Else bricked firmware.
§  UEFITool v0.27+ handles everything.
Apple EFI customizations
§  The first 8 bytes.
§  Constant between firmware volumes with
the same GUID.
§  Changes between versions?
§  Unknown meaning, doesn’t seem
relevant.
Apple EFI customizations
§  Next 4 bytes.
§  CRC32 value.
§  Of the firmware volume contents.
§  By spec, header got its own 16-bit
checksum.
Apple EFI customizations
§  Last 4 bytes.
§  Total space used by firmware files.
§  Must be updated if there are any
modifications to volume free space.
§  Bricked firmware if wrong.
0xA0000 – 0x34E30 = 0x06B1D0
How to find EFI monsters
§  Dump the flash contents.
§  Via hardware, if possible.
§  Have a known good image.
§  A previously certified/trusted dump.
§  Or firmware updates.
How to find EFI monsters
§  Firmware updates available from Apple.
§  Direct downloads.
§  https://support.apple.com/en-us/HT201518
§  Or combined with OS installer or updates.
§  No hashes from Apple available (yet).
How to find EFI monsters
§  Only useful for machines with available
updates.
§  Newly released machines need to wait
for a firmware update.
How to find EFI monsters
§  Firmware & signatures vault
§  https://github.com/gdbinit/firmware_vault
§  Signed by my PGP key.
§  Extracted from available Apple updates.
§  Soon, the SMC updates.
How to find EFI monsters
§  Two file formats used for updates.
§  SCAP (most common).
§  FD (some newer and older models).
§  UEFITool can process both.
SCAP
§  EFI Capsule.
§  Used to deliver updates.
§  Recommended delivery mechanism.
§  Composed by firmware volumes.
§  Flash dumps parser can be reused.
u
v
SCAP
§ u is the EfiFlasher.efi or also known as
UpdateDriverDxe.
§ v are the BIOS region contents.
§  Encapsulated on different GUIDs.
u
v
w
SCAP
§ u is NVRAM region.
§ v is Microcode.
§ w is Boot volume.
SCAP
§  SCAP is signed.
§  RSA2048 SHA256.
§  Apple backported from UEFI.
§  First reported by Trammell Hudson.
How to find EFI monsters
§  Compare the flash dump against SCAP.
§  Locate all EFI binaries in the dump.
§  Checksum against SCAP contents.
How to find EFI monsters
§  We also need to verify:
§  New files.
§  Missing files.
§  Free/padding space?
How to find EFI monsters
§  Verify NVRAM contents!
§  Boot device is stored there.
§  HackingTeam had a new variable there.
§  A simple “fuse” to decide to infect or not
target system.
INFECT	
  SYSTEM	
  
DO	
  NOT	
  INFECT	
  SYSTEM	
  
How to find EFI monsters
§  Don’t forget boot.efi.
§  Not very stealth.
§  Always keep in mind that sophistication is
not always required!
§  If it works, why not?
How to find EFI monsters
§  SCAP is used by EfiFlasher.
§  We can stitch our own firmware.
§  Extract files from SCAP and build it.
§  Reflash via SPI.
§  Assumption that SCAP is legit.
How to find EFI monsters
§  Stitch utility still in TODO list.
§  Potential issues:
§  NVRAM contents?
§  Serial numbers?
§  Use current dump and just replace
binaries?
Conclusions
§  (U)EFI rootkits aren’t unicorns.
§  Although they are very rare.
§  Honestly, we don’t know what’s out there.
§  HackingTeam developed one in 2014.
§  Although it was too simple and not
advanced.
Conclusions
§  Chasing them requires hardware.
§  Disassembling computers monthly is not
scalable/efficient/viable.
§  How to deal with this at enterprise level?
Conclusions
§  Vendors are usually slow releasing
updates.
§  If they ever do it.
§  Check legbacore.com work.
Conclusions
§  SMC is another interesting chip.
§  Alex Ionescu and Andrea Barisani did
some work in this area.
§  Great rootkit possibilities?
Conclusions
§  Intel Management Engine (ME).
§  Big Pandora Box?
§  Security researchers should have easier
access to it.
Conclusions
§  Option ROMs.
§  Still an issue with Apple’s EFI
implementation.
§  No SecureBoot (signed OptionROMs).
§  Check Thunderstrike 2 OptionROM worm.
Conclusions
§  Trolling?
§  Real?
§  Maybe a mix of both.
§  Check Apple logic board schematics.
§  There’s a ton of interconnected stuff.
Conclusions
§  We need trusted hardware solutions.
§  If we can’t trust hardware we are wasting
a lot of time solving some software
problems.
Conclusions
§  Bring back physical protections?
§  Switches to enable:
§  Flash writes.
§  MIC.
§  Camera.
§  Etc...
Conclusions
Conclusions
§  Acer C720 & C720P Chromebook.
§  https://www.chromium.org/chromium-os/
developer-information-for-chrome-os-
devices/acer-c720-chromebook
§  #7 is a write-protect screw.
Conclusions
§  Might require new hardware design?
§  NVRAM needs to be writable.
§  An independent flash chip for writable
regions?
§  BOM/space restrictions?
Conclusions
§  Apple has a great opportunity here.
§  Full control of design and supply chain.
§  Can improve designs.
§  Can force faster updates.
§  Only matched by Chromebook?
Greetings
§  44CON team, Snare, Trammell, Xeno,
Corey, Saure, the Portuguese
cheerleading attendees.
https://reverse.put.as
https://github.com/gdbinit
reverser@put.as
@osxreverser
#osxre @ irc.freenode.net
PGP key
https://reverse.put.as/wp-content/uploads/2008/06/publickey.txt
PGP Fingerprint
7B05 44D1 A1D5 3078 7F4C E745 9BB7 2A44 ED41 BF05
A day full of possibilities!
Let's go exploring!
References
§  Images from images.google.com. Credit due to all their authors.
§  Thunderstrike presentation
§  https://trmm.net/Thunderstrike_31c3
§  Thunderstrike 2 presentation
§  https://trmm.net/Thunderstrike_2
§  Snare EFI rootkits presentations
§  https://reverse.put.as/wp-content/uploads/2011/06/
De_Mysteriis_Dom_Jobsivs_-_Syscan.pdf
§  https://reverse.put.as/wp-content/uploads/2011/06/
De_Mysteriis_Dom_Jobsivs_Black_Hat_Slides.pdf
§  Legbacore.com papers and presentations
§  http://legbacore.com/Research.html
References
§  Alex Ionescu, Ninjas and Harry Potter: “Spell”unking in Apple SMC
Land
§  http://www.nosuchcon.org/talks/2013/D1_02_Alex_Ninjas_and_Harry_Potter.pdf
§  Alex Ionescu, Apple SMC The place to be definitely For an implant
§  https://www.youtube.com/watch?v=nSqpinjjgmg
§  Andrea Barisani, Daniele Bianco, Practical Exploitation of Embedded
Systems
§  http://dev.inversepath.com/download/public/
embedded_systems_exploitation.pdf
References
§  fG!, The Empire Strikes Back Apple – how your Mac firmware
security is completely broken
§  https://reverse.put.as/2015/05/29/the-empire-strikes-back-apple-how-your-
mac-firmware-security-is-completely-broken/
§  fG!, Reversing Prince Harming’s kiss of death
§  https://reverse.put.as/2015/07/01/reversing-prince-harmings-kiss-of-death/
§  Cr4sh, Exploiting UEFI boot script table vulnerability
§  http://blog.cr4.sh/2015_02_01_archive.html
References
§  Cr4sh, Building reliable SMM backdoor for UEFI based platforms
§  http://blog.cr4.sh/2015/07/building-reliable-smm-backdoor-for-uefi.html
§  Firmware papers and presentations timeline
§  http://timeglider.com/timeline/5ca2daa6078caaf4
§  Archive of OS X/iOS and firmware papers & presentations
§  https://reverse.put.as/papers/

Mais conteúdo relacionado

Mais procurados

Hacking Highly Secured Enterprise Environments by Zoltan Balazs
Hacking Highly Secured Enterprise Environments by Zoltan BalazsHacking Highly Secured Enterprise Environments by Zoltan Balazs
Hacking Highly Secured Enterprise Environments by Zoltan BalazsShakacon
 
Attacker Ghost Stories (CarolinaCon / Area41 / RVASec)
Attacker Ghost Stories (CarolinaCon / Area41 / RVASec)Attacker Ghost Stories (CarolinaCon / Area41 / RVASec)
Attacker Ghost Stories (CarolinaCon / Area41 / RVASec)Rob Fuller
 
Web (dis)assembly
Web (dis)assemblyWeb (dis)assembly
Web (dis)assemblyShakacon
 
I can be apple and so can you
I can be apple and so can youI can be apple and so can you
I can be apple and so can youShakacon
 
Richard wartell malware is hard. let's go shopping!!
Richard wartell   malware is hard.  let's go shopping!!Richard wartell   malware is hard.  let's go shopping!!
Richard wartell malware is hard. let's go shopping!!Shakacon
 
Breaking Vaults - Stealing Lastpass Protected Secrets by Martin Vigo
Breaking Vaults - Stealing Lastpass Protected Secrets by Martin VigoBreaking Vaults - Stealing Lastpass Protected Secrets by Martin Vigo
Breaking Vaults - Stealing Lastpass Protected Secrets by Martin VigoShakacon
 
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
 
Indicators of compromise: From malware analysis to eradication
Indicators of compromise: From malware analysis to eradicationIndicators of compromise: From malware analysis to eradication
Indicators of compromise: From malware analysis to eradicationMichael Boman
 
How to Make Android's Bootable Recovery Work For You by Drew Suarez
How to Make Android's Bootable Recovery Work For You by Drew SuarezHow to Make Android's Bootable Recovery Work For You by Drew Suarez
How to Make Android's Bootable Recovery Work For You by Drew SuarezShakacon
 
Practical Exploitation - Webappy Style
Practical Exploitation - Webappy StylePractical Exploitation - Webappy Style
Practical Exploitation - Webappy StyleRob Fuller
 
Attacker Ghost Stories - ShmooCon 2014
Attacker Ghost Stories - ShmooCon 2014Attacker Ghost Stories - ShmooCon 2014
Attacker Ghost Stories - ShmooCon 2014Rob Fuller
 
Introduction of ShinoBOT (Black Hat USA 2013 Arsenal)
Introduction of ShinoBOT (Black Hat USA 2013 Arsenal)Introduction of ShinoBOT (Black Hat USA 2013 Arsenal)
Introduction of ShinoBOT (Black Hat USA 2013 Arsenal)Shota Shinogi
 
BSides Edinburgh 2017 - TR-06FAIL and other CPE Configuration Disasters
BSides Edinburgh 2017 - TR-06FAIL and other CPE Configuration DisastersBSides Edinburgh 2017 - TR-06FAIL and other CPE Configuration Disasters
BSides Edinburgh 2017 - TR-06FAIL and other CPE Configuration Disastersinfodox
 
Is there an EFI monster inside your apple? by Pedro Vilaça - CODE BLUE 2015
Is there an EFI monster inside your apple? by Pedro Vilaça - CODE BLUE 2015Is there an EFI monster inside your apple? by Pedro Vilaça - CODE BLUE 2015
Is there an EFI monster inside your apple? by Pedro Vilaça - CODE BLUE 2015CODE BLUE
 
How to hide your browser 0-day @ Disobey
How to hide your browser 0-day @ DisobeyHow to hide your browser 0-day @ Disobey
How to hide your browser 0-day @ DisobeyZoltan Balazs
 
Oversight: Exposing spies on macOS
Oversight: Exposing spies on macOS Oversight: Exposing spies on macOS
Oversight: Exposing spies on macOS Shakacon
 

Mais procurados (20)

Hacking Highly Secured Enterprise Environments by Zoltan Balazs
Hacking Highly Secured Enterprise Environments by Zoltan BalazsHacking Highly Secured Enterprise Environments by Zoltan Balazs
Hacking Highly Secured Enterprise Environments by Zoltan Balazs
 
Attacker Ghost Stories (CarolinaCon / Area41 / RVASec)
Attacker Ghost Stories (CarolinaCon / Area41 / RVASec)Attacker Ghost Stories (CarolinaCon / Area41 / RVASec)
Attacker Ghost Stories (CarolinaCon / Area41 / RVASec)
 
Web (dis)assembly
Web (dis)assemblyWeb (dis)assembly
Web (dis)assembly
 
I can be apple and so can you
I can be apple and so can youI can be apple and so can you
I can be apple and so can you
 
Richard wartell malware is hard. let's go shopping!!
Richard wartell   malware is hard.  let's go shopping!!Richard wartell   malware is hard.  let's go shopping!!
Richard wartell malware is hard. let's go shopping!!
 
Breaking Vaults - Stealing Lastpass Protected Secrets by Martin Vigo
Breaking Vaults - Stealing Lastpass Protected Secrets by Martin VigoBreaking Vaults - Stealing Lastpass Protected Secrets by Martin Vigo
Breaking Vaults - Stealing Lastpass Protected Secrets by Martin Vigo
 
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
 
Indicators of compromise: From malware analysis to eradication
Indicators of compromise: From malware analysis to eradicationIndicators of compromise: From malware analysis to eradication
Indicators of compromise: From malware analysis to eradication
 
How to Make Android's Bootable Recovery Work For You by Drew Suarez
How to Make Android's Bootable Recovery Work For You by Drew SuarezHow to Make Android's Bootable Recovery Work For You by Drew Suarez
How to Make Android's Bootable Recovery Work For You by Drew Suarez
 
Practical Exploitation - Webappy Style
Practical Exploitation - Webappy StylePractical Exploitation - Webappy Style
Practical Exploitation - Webappy Style
 
Attacker Ghost Stories - ShmooCon 2014
Attacker Ghost Stories - ShmooCon 2014Attacker Ghost Stories - ShmooCon 2014
Attacker Ghost Stories - ShmooCon 2014
 
Introduction of ShinoBOT (Black Hat USA 2013 Arsenal)
Introduction of ShinoBOT (Black Hat USA 2013 Arsenal)Introduction of ShinoBOT (Black Hat USA 2013 Arsenal)
Introduction of ShinoBOT (Black Hat USA 2013 Arsenal)
 
Flash it baby!
Flash it baby!Flash it baby!
Flash it baby!
 
BSides Edinburgh 2017 - TR-06FAIL and other CPE Configuration Disasters
BSides Edinburgh 2017 - TR-06FAIL and other CPE Configuration DisastersBSides Edinburgh 2017 - TR-06FAIL and other CPE Configuration Disasters
BSides Edinburgh 2017 - TR-06FAIL and other CPE Configuration Disasters
 
Nginx warhead
Nginx warheadNginx warhead
Nginx warhead
 
Is there an EFI monster inside your apple? by Pedro Vilaça - CODE BLUE 2015
Is there an EFI monster inside your apple? by Pedro Vilaça - CODE BLUE 2015Is there an EFI monster inside your apple? by Pedro Vilaça - CODE BLUE 2015
Is there an EFI monster inside your apple? by Pedro Vilaça - CODE BLUE 2015
 
Transforming WebSockets
Transforming WebSocketsTransforming WebSockets
Transforming WebSockets
 
Understand study
Understand studyUnderstand study
Understand study
 
How to hide your browser 0-day @ Disobey
How to hide your browser 0-day @ DisobeyHow to hide your browser 0-day @ Disobey
How to hide your browser 0-day @ Disobey
 
Oversight: Exposing spies on macOS
Oversight: Exposing spies on macOS Oversight: Exposing spies on macOS
Oversight: Exposing spies on macOS
 

Destaque

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
 
Software Defined Networking (SDN)
Software Defined Networking (SDN)Software Defined Networking (SDN)
Software Defined Networking (SDN)NetProtocol Xpert
 
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
 
Introduction to SDN: Software Defined Networking
Introduction to SDN: Software Defined NetworkingIntroduction to SDN: Software Defined Networking
Introduction to SDN: Software Defined NetworkingAnkita Mahajan
 
Introduction au Software Defined Networking (SDN)
Introduction au Software Defined Networking (SDN)Introduction au Software Defined Networking (SDN)
Introduction au Software Defined Networking (SDN)Edouard DEBERDT
 
Introduction to Software Defined Networking (SDN)
Introduction to Software Defined Networking (SDN)Introduction to Software Defined Networking (SDN)
Introduction to Software Defined Networking (SDN)rjain51
 
Software-Defined Networking SDN - A Brief Introduction
Software-Defined Networking SDN - A Brief IntroductionSoftware-Defined Networking SDN - A Brief Introduction
Software-Defined Networking SDN - A Brief IntroductionJason TC HOU (侯宗成)
 

Destaque (10)

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
 
Software Defined Networking (SDN)
Software Defined Networking (SDN)Software Defined Networking (SDN)
Software Defined Networking (SDN)
 
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
 
Introduction to SDN: Software Defined Networking
Introduction to SDN: Software Defined NetworkingIntroduction to SDN: Software Defined Networking
Introduction to SDN: Software Defined Networking
 
Introduction au Software Defined Networking (SDN)
Introduction au Software Defined Networking (SDN)Introduction au Software Defined Networking (SDN)
Introduction au Software Defined Networking (SDN)
 
Introduction to Software Defined Networking (SDN)
Introduction to Software Defined Networking (SDN)Introduction to Software Defined Networking (SDN)
Introduction to Software Defined Networking (SDN)
 
Introduction to Software Defined Networking (SDN)
Introduction to Software Defined Networking (SDN)Introduction to Software Defined Networking (SDN)
Introduction to Software Defined Networking (SDN)
 
Software-Defined Networking SDN - A Brief Introduction
Software-Defined Networking SDN - A Brief IntroductionSoftware-Defined Networking SDN - A Brief Introduction
Software-Defined Networking SDN - A Brief Introduction
 
Sdn ppt
Sdn pptSdn ppt
Sdn ppt
 

Semelhante a 44CON London 2015 - Is there an EFI monster inside your apple?

Linux On V Mware ESXi
Linux On V Mware ESXiLinux On V Mware ESXi
Linux On V Mware ESXiMasafumi Ohta
 
CODE BLUE 2014 : BadXNU, A rotten apple! by PEDRO VILAÇA
CODE BLUE 2014 : BadXNU, A rotten apple! by PEDRO VILAÇACODE BLUE 2014 : BadXNU, A rotten apple! by PEDRO VILAÇA
CODE BLUE 2014 : BadXNU, A rotten apple! by PEDRO VILAÇACODE BLUE
 
ChromePad - Chromium OS for ThinkPad
ChromePad - Chromium OS for ThinkPadChromePad - Chromium OS for ThinkPad
ChromePad - Chromium OS for ThinkPadAndrewWright224
 
ChromePad - Chromium OS ThinkPad X220
ChromePad - Chromium OS ThinkPad X220ChromePad - Chromium OS ThinkPad X220
ChromePad - Chromium OS ThinkPad X220AndrewWright224
 
VM Forking and Hypervisor-based fuzzing
VM Forking and Hypervisor-based fuzzingVM Forking and Hypervisor-based fuzzing
VM Forking and Hypervisor-based fuzzingTamas K Lengyel
 
Build your own embedded linux distributions by yocto project
Build your own embedded linux distributions by yocto projectBuild your own embedded linux distributions by yocto project
Build your own embedded linux distributions by yocto projectYen-Chin Lee
 
Continuous Integration with Hackintosh
Continuous Integration with HackintoshContinuous Integration with Hackintosh
Continuous Integration with HackintoshDavid Ventura, M.E.T.
 
No locked doors, no windows barred: hacking OpenAM infrastructure
No locked doors, no windows barred: hacking OpenAM infrastructureNo locked doors, no windows barred: hacking OpenAM infrastructure
No locked doors, no windows barred: hacking OpenAM infrastructureAndrew Petukhov
 
You're Off the Hook: Blinding Security Software
You're Off the Hook: Blinding Security SoftwareYou're Off the Hook: Blinding Security Software
You're Off the Hook: Blinding Security SoftwareCylance
 
Lotus Foundations Start 1 0 English Version
Lotus Foundations Start 1 0 English VersionLotus Foundations Start 1 0 English Version
Lotus Foundations Start 1 0 English VersionEnzo Stanzione
 
FOSS_GNU/Linux
FOSS_GNU/LinuxFOSS_GNU/Linux
FOSS_GNU/LinuxYogesh Ks
 
Karl Grzeszczak: September Docker Presentation at Mediafly
Karl Grzeszczak: September Docker Presentation at MediaflyKarl Grzeszczak: September Docker Presentation at Mediafly
Karl Grzeszczak: September Docker Presentation at MediaflyMediafly
 
Slides Aquarium Paris 2008
Slides Aquarium Paris 2008Slides Aquarium Paris 2008
Slides Aquarium Paris 2008julien.ponge
 
Lightweight Virtualization with Linux Containers and Docker I YaC 2013
Lightweight Virtualization with Linux Containers and Docker I YaC 2013Lightweight Virtualization with Linux Containers and Docker I YaC 2013
Lightweight Virtualization with Linux Containers and Docker I YaC 2013Docker, Inc.
 
Lightweight Virtualization with Linux Containers and Docker | YaC 2013
Lightweight Virtualization with Linux Containers and Docker | YaC 2013Lightweight Virtualization with Linux Containers and Docker | YaC 2013
Lightweight Virtualization with Linux Containers and Docker | YaC 2013dotCloud
 
Long life to vagrant… Vagrant is dead
Long life to vagrant… Vagrant is deadLong life to vagrant… Vagrant is dead
Long life to vagrant… Vagrant is deadFederico Panini
 
Continuous Infrastructure: Modern Puppet for the Jenkins Project - PuppetConf...
Continuous Infrastructure: Modern Puppet for the Jenkins Project - PuppetConf...Continuous Infrastructure: Modern Puppet for the Jenkins Project - PuppetConf...
Continuous Infrastructure: Modern Puppet for the Jenkins Project - PuppetConf...Puppet
 

Semelhante a 44CON London 2015 - Is there an EFI monster inside your apple? (20)

Linux On V Mware ESXi
Linux On V Mware ESXiLinux On V Mware ESXi
Linux On V Mware ESXi
 
CODE BLUE 2014 : BadXNU, A rotten apple! by PEDRO VILAÇA
CODE BLUE 2014 : BadXNU, A rotten apple! by PEDRO VILAÇACODE BLUE 2014 : BadXNU, A rotten apple! by PEDRO VILAÇA
CODE BLUE 2014 : BadXNU, A rotten apple! by PEDRO VILAÇA
 
ChromePad - Chromium OS for ThinkPad
ChromePad - Chromium OS for ThinkPadChromePad - Chromium OS for ThinkPad
ChromePad - Chromium OS for ThinkPad
 
ChromePad - Chromium OS ThinkPad X220
ChromePad - Chromium OS ThinkPad X220ChromePad - Chromium OS ThinkPad X220
ChromePad - Chromium OS ThinkPad X220
 
VM Forking and Hypervisor-based fuzzing
VM Forking and Hypervisor-based fuzzingVM Forking and Hypervisor-based fuzzing
VM Forking and Hypervisor-based fuzzing
 
Build your own embedded linux distributions by yocto project
Build your own embedded linux distributions by yocto projectBuild your own embedded linux distributions by yocto project
Build your own embedded linux distributions by yocto project
 
Continuous Integration with Hackintosh
Continuous Integration with HackintoshContinuous Integration with Hackintosh
Continuous Integration with Hackintosh
 
No locked doors, no windows barred: hacking OpenAM infrastructure
No locked doors, no windows barred: hacking OpenAM infrastructureNo locked doors, no windows barred: hacking OpenAM infrastructure
No locked doors, no windows barred: hacking OpenAM infrastructure
 
You're Off the Hook: Blinding Security Software
You're Off the Hook: Blinding Security SoftwareYou're Off the Hook: Blinding Security Software
You're Off the Hook: Blinding Security Software
 
OpenSolaris 2009.06 Workshop
OpenSolaris 2009.06 WorkshopOpenSolaris 2009.06 Workshop
OpenSolaris 2009.06 Workshop
 
Xen time machine
Xen time machineXen time machine
Xen time machine
 
Lotus Foundations Start 1 0 English Version
Lotus Foundations Start 1 0 English VersionLotus Foundations Start 1 0 English Version
Lotus Foundations Start 1 0 English Version
 
OpenWRT and Perl
OpenWRT and PerlOpenWRT and Perl
OpenWRT and Perl
 
FOSS_GNU/Linux
FOSS_GNU/LinuxFOSS_GNU/Linux
FOSS_GNU/Linux
 
Karl Grzeszczak: September Docker Presentation at Mediafly
Karl Grzeszczak: September Docker Presentation at MediaflyKarl Grzeszczak: September Docker Presentation at Mediafly
Karl Grzeszczak: September Docker Presentation at Mediafly
 
Slides Aquarium Paris 2008
Slides Aquarium Paris 2008Slides Aquarium Paris 2008
Slides Aquarium Paris 2008
 
Lightweight Virtualization with Linux Containers and Docker I YaC 2013
Lightweight Virtualization with Linux Containers and Docker I YaC 2013Lightweight Virtualization with Linux Containers and Docker I YaC 2013
Lightweight Virtualization with Linux Containers and Docker I YaC 2013
 
Lightweight Virtualization with Linux Containers and Docker | YaC 2013
Lightweight Virtualization with Linux Containers and Docker | YaC 2013Lightweight Virtualization with Linux Containers and Docker | YaC 2013
Lightweight Virtualization with Linux Containers and Docker | YaC 2013
 
Long life to vagrant… Vagrant is dead
Long life to vagrant… Vagrant is deadLong life to vagrant… Vagrant is dead
Long life to vagrant… Vagrant is dead
 
Continuous Infrastructure: Modern Puppet for the Jenkins Project - PuppetConf...
Continuous Infrastructure: Modern Puppet for the Jenkins Project - PuppetConf...Continuous Infrastructure: Modern Puppet for the Jenkins Project - PuppetConf...
Continuous Infrastructure: Modern Puppet for the Jenkins Project - PuppetConf...
 

Mais de 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 - 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 - 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 - 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 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 - Playing with Fire: Attacking the FireEye MPS
44CON London 2015 - Playing with Fire: Attacking the FireEye MPS44CON London 2015 - Playing with Fire: Attacking the FireEye MPS
44CON London 2015 - Playing with Fire: Attacking the FireEye MPS44CON
 
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 - 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 London 2015 - Inside Terracotta VPN
44CON London 2015 - Inside Terracotta VPN44CON London 2015 - Inside Terracotta VPN
44CON London 2015 - Inside Terracotta VPN44CON
 
44CON London - Attacking VxWorks: from Stone Age to Interstellar
44CON London - Attacking VxWorks: from Stone Age to Interstellar44CON London - Attacking VxWorks: from Stone Age to Interstellar
44CON London - Attacking VxWorks: from Stone Age to Interstellar44CON
 
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
 
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
 

Mais de 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 - 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 - 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 - 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 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 - Playing with Fire: Attacking the FireEye MPS
44CON London 2015 - Playing with Fire: Attacking the FireEye MPS44CON London 2015 - Playing with Fire: Attacking the FireEye MPS
44CON London 2015 - Playing with Fire: Attacking the FireEye MPS
 
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 - 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 London 2015 - Inside Terracotta VPN
44CON London 2015 - Inside Terracotta VPN44CON London 2015 - Inside Terracotta VPN
44CON London 2015 - Inside Terracotta VPN
 
44CON London - Attacking VxWorks: from Stone Age to Interstellar
44CON London - Attacking VxWorks: from Stone Age to Interstellar44CON London - Attacking VxWorks: from Stone Age to Interstellar
44CON London - Attacking VxWorks: from Stone Age to Interstellar
 
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 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...
 

Último

Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Mattias Andersson
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr BaganFwdays
 
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
 
The State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxThe State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxLoriGlavin3
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfAlex Barbosa Coqueiro
 
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
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.Curtis Poe
 
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxMerck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxLoriGlavin3
 
SALESFORCE EDUCATION CLOUD | FEXLE SERVICES
SALESFORCE EDUCATION CLOUD | FEXLE SERVICESSALESFORCE EDUCATION CLOUD | FEXLE SERVICES
SALESFORCE EDUCATION CLOUD | FEXLE SERVICESmohitsingh558521
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024Stephanie Beckett
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationSlibray Presentation
 
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
 
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdfHyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdfPrecisely
 
The Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsThe Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsPixlogix Infotech
 
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
 
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
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii SoldatenkoFwdays
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brandgvaughan
 

Último (20)

Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan
 
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
 
The State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxThe State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptx
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.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
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.
 
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxMerck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
 
SALESFORCE EDUCATION CLOUD | FEXLE SERVICES
SALESFORCE EDUCATION CLOUD | FEXLE SERVICESSALESFORCE EDUCATION CLOUD | FEXLE SERVICES
SALESFORCE EDUCATION CLOUD | FEXLE SERVICES
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck Presentation
 
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
 
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdfHyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
 
The Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsThe Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and Cons
 
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
 
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
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko
 
DMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special EditionDMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special Edition
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brand
 

44CON London 2015 - Is there an EFI monster inside your apple?

  • 1. fG! @ 44CON 2015 Is there an EFI monster inside your apple?
  • 2. Who am I? §  An Economist. §  Who loves Human Behavior. §  And politics. §  Oh, and a bit of computers.
  • 3.
  • 4. EFI Monsters? §  Introduction to EFI. §  How to §  Reverse (U)EFI binaries. §  Search for (U)EFI rootkits.
  • 6. Assumptions §  Reference machine §  MacBook Pro Retina 10,1. §  64-bit only OS X versions. §  Sandy Bridge or newer.
  • 7.
  • 8. Why EFI? §  BIOS replacement. §  Initially developed by Intel. §  http://www.intel.com/content/www/us/en/ architecture-and-technology/unified-extensible- firmware-interface/efi-specifications-general- technology.html §  Now UEFI, managed by UEFI consortium. §  http://www.uefi.org
  • 9. Why EFI? §  Initializes your machine. §  Access to low level features. §  Modular. §  Feature rich. §  Rather easy development.
  • 10.
  • 11. What evil things can we do? §  Diskless rootkits. §  Persist across operating system reinstalls. §  Bypass full-disk encryption. §  And so on...
  • 12. What evil things can we do? §  Rootkit data resident in flash chip. §  Unpack and patch kernel on boot. §  RAM only, never touch hard-disk. §  “Hard” to detect with some anti-forensics. §  Check Snare’s 2012 presentation.
  • 13. What evil things can we do? §  HackingTeam built a UEFI rootkit. §  https://github.com/hackedteam/vector-edk §  https://github.com/informationextraction/ vector-edk/blob/master/MdeModulePkg/ Application/fsbg/fsbg.c §  Goal was persistence across reinstalls.
  • 14. What evil things can we do? §  Attack full-disk encryption §  Install a keylogger. §  Recover FileVault2 password.
  • 15. What evil things can we do? §  Attack “secure” operating systems §  For example, Tails. §  Recover PGP keys and/or passphrases. §  https://www.youtube.com/watch? v=sNYsfUNegEA.
  • 16. What evil things can we do? §  Bootloader §  Redirect to a custom bootloader. §  SMM backdoors §  http://blog.cr4.sh/2015/07/building-reliable- smm-backdoor-for-uefi.html
  • 17.
  • 18.
  • 19.
  • 20.
  • 21.
  • 22. A zero day story… §  Firmware related zero day. §  Disclosed a few months ago. §  https://reverse.put.as/2015/05/29/the- empire-strikes-back-apple-how-your-mac- firmware-security-is-completely-broken/
  • 23. A zero day story… §  Failure to lock the flash. §  Write to the flash from userland. §  Similar to Thunderstrike but better. §  Thunderstrike requires physical access. §  Prince Harming allows remote attack.
  • 24.
  • 25. A zero day story… §  Extremely simple to trigger. §  Put machine to sleep. §  Close, wait for fans to stop, and reopen. §  Or force sleep with “pmset sleepnow”.
  • 26. A zero day story… §  Sandy Bridge and Ivy Bridge Macs are vulnerable. §  Haswell or newer are not. §  All older machines are vulnerable §  Core 2 Duo or older. §  No flash protections at all.
  • 27. A zero day story… §  Available updates: MacBook Air MacBook Pro Mac Mini Mac Pro iMac 4,1 8,1 5,1 6,1 12,1 5,1 9,1 6,1 13,1 6,1 10,1 7,1 14,1 7,1 10,2   14,2   11,1   14,3   11,2   14,4   11,4   15,1   12,1      
  • 28. A zero day story… §  Reversing and understanding the vulnerability. §  https://reverse.put.as/2015/07/01/reversing- prince-harmings-kiss-of-death/ §  Contains links to relevant EFI documentation.
  • 29. A zero day story… §  Venamis aka Dark Jedi was also patched. §  http://events.ccc.de/congress/2014/Fahrplan/ events/6129.html §  http://blog.cr4.sh/2015/02/exploiting-uefi- boot-script-table.html §  Slightly more complex, same results.
  • 30. A zero day story… §  The story doesn’t end here. §  Check ThunderStrike 2 slides. §  Other unpatched remote attack vectors.
  • 31.
  • 32.
  • 34.
  • 35. Where is EFI? §  Usually stored in a CMOS serial flash. §  Two popular chips §  Macronix MX25L6406E. §  Micron N25Q064A. §  SPI compatible. §  Most are 64 Mbits/8 Mbytes.
  • 36.
  • 37.
  • 38.
  • 39.
  • 41. Where is EFI? §  Easy access on some models. §  Retinas 15” are the easiest. §  Extensive disassembly required on others. §  Still, a MacBook Pro 8,1 can be disassembled in 5 mins or less.
  • 42. Where is EFI? §  Most chips are 8 pin SOIC. §  SMD or BGA versions used? §  Retinas 13”? §  New MacBook 12”?
  • 43. Where is EFI? §  Newer machines flash chip(s) §  Winbond W25Q64FV. §  Chip list from EfiFlasher.efi: SST 25VF080 Macronix 25L1605 ST Micro M25P16 WinBond 25X32 SST 25VF016 Macronix 25L3205 ST Micro M25P32 Winbond 25X64 SST 25VF032 Macronix 25L6436E Eon M25P32 Winbond 25X128 SST 25VF064 Atmel 45DB321 Eon M25P16 Numonyx N25Q064
  • 44. Where is EFI? §  You can buy the chips bulk and cheap. §  Useful for flashing experiments. §  Good results from Aliexpress.com. §  Around $14 for 10 N25Q064A. §  Around $8 for 10 MX25L640E.
  • 45.
  • 46. How to dump EFI §  Hardware §  The best and most reliable way. §  Trustable. §  Software §  Possible if chip supported by flashrom. §  Not (very) trustable.
  • 47. Hardware §  Any SPI compatible programmer. §  http://flashrom.org/Supported_programmers §  I use Trammell Hudson’s SPI flasher. §  https://trmm.net/SPI
  • 48. Hardware §  Based on Teensy 2.0 or 3.x.
  • 49. Hardware §  Easy to build. §  Cheap, ~ $30. §  Fast, dumps a 64Mbit flash in 8 mins. §  The Teensy 3 version is even faster. §  It just works!
  • 50. Flash chip SPI pinout
  • 52. Teensy 2.0 pinout §  Teensy 2 default voltage is 5v. §  Flash chips are 3,3.v. §  Requires voltage regulator MCP1825. §  https://www.pjrc.com/store/mcp1825.html
  • 54. Tips & Tricks §  Shunt WP and RST pins to VCC. §  Different SPI pins names §  SCLK, SCK, CLK. §  MOSI, SIMO, SDO, DO, DOUT, SO, MTSR. §  MISO, SOMI, SDI, DI, DIN, SI, MRST. §  SS, nCS, CS, CSB, CSN, nSS, STE, SYNC.
  • 55. Hardware §  How to read entire flash
  • 56. Hardware §  How to write entire 64MB flash
  • 57. Hardware §  Linux works best to write the flash. §  Some issues with OS X version. §  pv or serial driver issues? §  http://www.ivarch.com/programs/pv.shtml
  • 58. Software §  Requirements §  Flashrom §  DirectHW.kext §  Rwmem by Trammell also works. §  Or readphysmem.
  • 59. Software §  DarwinDumper. §  Contains binary versions of flashrom and DirectHW.kext. §  Kernel extension is not code signed. §  (Still) Whitelisted by Apple.
  • 60. Software §  http://flashrom.org/Flashrom §  http://www.coreboot.org/DirectHW §  https://bitbucket.org/blackosx/ darwindumper/downloads §  https://github.com/osresearch/rwmem §  https://github.com/gdbinit/readphysmem
  • 61.
  • 62.
  • 63.
  • 64. Software §  AppleHWAccess.kext. §  readphysmem utility. §  Can read bios without external kext. §  Default on Mavericks and Yosemite. §  Not anymore on El Capitan.
  • 65. Software §  Good enough to play around. §  Mostly useless to chase (U)EFI rootkits. §  Unless it is made by HackingTeam. §  Their version makes no attempt to hide itself from software dumps.
  • 66.
  • 71. Descriptor region §  Location of other regions. §  Access permissions. §  OS/BIOS shouldn’t access ME region. §  VSCC configures ME flash access.
  • 72. Intel ME region §  A CPU inside your CPU J. §  Runs Java. §  Can be active with system powered off. §  Out of band network access! §  No access from BIOS and OS.
  • 73. Intel ME region §  Mostly a blackbox. §  Three presentations by Igor Skochinsky. §  Definitely requires more research! §  Unpacker §  http://io.smashthestack.org/me/
  • 74. Intel ME region §  Rootkit in your laptop: Hidden code in your chipset and how to discover what exactly it does §  Intel ME Secrets §  Intel ME: Two years later §  https://github.com/skochinsky/papers
  • 75. BIOS region §  Contains §  EFI binaries for different phases. §  NVRAM. §  Microcode (not for some models). §  Each on its own firmware volume (FVH).
  • 76.
  • 77.
  • 78. BIOS region §  Everything is labeled with a GUID. §  No filenames. §  Many GUID can be found in EFI specs. §  Others are vendor specific/private.
  • 79.
  • 80.
  • 81. EFI Boot Phases §  Different initialization phases. §  Make resources available to next phase. §  Memory for example.
  • 82.
  • 83. EFI Phases §  Security (SEC). §  Pre-EFI Initialization (PEI). §  Driver Execution Environment (DXE). §  Boot Device Selection (BDS). §  Others...
  • 84.
  • 85. The PEI/DXE Dispatchers §  PEI and DXE phases have a dispatcher. §  Guarantees dependencies and load order. §  Dependency expressions. §  Available as a section.
  • 86.
  • 88.
  • 89. Tools §  UEFITool and UEFIExtract §  https://github.com/LongSoft/UEFITool §  Snare’s IDA EFI Utils §  https://github.com/snare/ida-efiutils/ §  UEFI Firmware parser §  https://github.com/snare/ida-efiutils/ §  CHIPSEC §  https://github.com/chipsec/chipsec
  • 90. EFI file types §  Two executable file types. §  PE32/PE32+ (as in Windows). §  TE – Terse Executable. §  16/32/64 bit code, depending on phase.
  • 91. TE file format §  TE is just a stripped version of PE. §  Unnecessary PE headers are removed. §  To save space. §  Used by SEC and PEI phase binaries.
  • 92. TE file format §  IDA unable to correctly disassemble. §  Fails to parse the TE headers. §  Afaik, still not fixed in 6.8. §  Solution is to build your own TE loader. §  Easier than you think J.
  • 93.
  • 94. EFI Services §  No standard libraries to link against. §  Instead there are services. §  Basic functions made available on each phase. §  Access via function pointers.
  • 97. EFI Services §  Each phase has different services. §  Entrypoint function contains a pointer to the tables.
  • 99. EFI Services §  Code that you often see in DXE drivers
  • 100.
  • 101. Calling conventions §  32-bit binaries use standard C convention §  Arguments passed on the stack. §  SEC/PEI phase binaries.
  • 102.
  • 103. Calling conventions §  64-bit binaries use Microsoft’s x64 §  First four arguments: RCX, RDX, R8, R9. §  Remaining on the stack. §  32-byte shadow space on stack. §  First stack argument starts at offset 0x20. §  DXE phase binaries.
  • 104.
  • 105.
  • 106. Protocols & PPIs §  The basic services aren’t enough. §  How are more services made available? §  Via Protocols and PPIs. §  Installed (published) by EFI binaries. §  Others can locate and use them.
  • 107. Protocols & PPIs §  Protocol (and PPI) is a data structure. §  Contains an identification, GUID. §  Optionally, function pointers and data.
  • 108.
  • 109. Protocols & PPIs §  Protocols exist in DXE phase. §  PPIs exist in PEI phase. §  In practice we can assume they are equivalent.
  • 110. Sample PPI usage §  First, locate the PPI.
  • 111. Sample PPI usage §  Second, use it.
  • 113.
  • 114.
  • 115.
  • 116. Apple EFI customizations §  Apple specific modifications. §  To reserved fields. §  Must be taken care of. §  Else bricked firmware. §  UEFITool v0.27+ handles everything.
  • 117.
  • 118. Apple EFI customizations §  The first 8 bytes. §  Constant between firmware volumes with the same GUID. §  Changes between versions? §  Unknown meaning, doesn’t seem relevant.
  • 119. Apple EFI customizations §  Next 4 bytes. §  CRC32 value. §  Of the firmware volume contents. §  By spec, header got its own 16-bit checksum.
  • 120.
  • 121.
  • 122. Apple EFI customizations §  Last 4 bytes. §  Total space used by firmware files. §  Must be updated if there are any modifications to volume free space. §  Bricked firmware if wrong.
  • 123.
  • 124.
  • 125. 0xA0000 – 0x34E30 = 0x06B1D0
  • 126.
  • 127. How to find EFI monsters §  Dump the flash contents. §  Via hardware, if possible. §  Have a known good image. §  A previously certified/trusted dump. §  Or firmware updates.
  • 128. How to find EFI monsters §  Firmware updates available from Apple. §  Direct downloads. §  https://support.apple.com/en-us/HT201518 §  Or combined with OS installer or updates. §  No hashes from Apple available (yet).
  • 129. How to find EFI monsters §  Only useful for machines with available updates. §  Newly released machines need to wait for a firmware update.
  • 130. How to find EFI monsters §  Firmware & signatures vault §  https://github.com/gdbinit/firmware_vault §  Signed by my PGP key. §  Extracted from available Apple updates. §  Soon, the SMC updates.
  • 131. How to find EFI monsters §  Two file formats used for updates. §  SCAP (most common). §  FD (some newer and older models). §  UEFITool can process both.
  • 132. SCAP §  EFI Capsule. §  Used to deliver updates. §  Recommended delivery mechanism. §  Composed by firmware volumes. §  Flash dumps parser can be reused.
  • 134. SCAP § u is the EfiFlasher.efi or also known as UpdateDriverDxe. § v are the BIOS region contents. §  Encapsulated on different GUIDs.
  • 136. SCAP § u is NVRAM region. § v is Microcode. § w is Boot volume.
  • 137. SCAP §  SCAP is signed. §  RSA2048 SHA256. §  Apple backported from UEFI. §  First reported by Trammell Hudson.
  • 138.
  • 139. How to find EFI monsters §  Compare the flash dump against SCAP. §  Locate all EFI binaries in the dump. §  Checksum against SCAP contents.
  • 140. How to find EFI monsters §  We also need to verify: §  New files. §  Missing files. §  Free/padding space?
  • 141. How to find EFI monsters §  Verify NVRAM contents! §  Boot device is stored there. §  HackingTeam had a new variable there. §  A simple “fuse” to decide to infect or not target system.
  • 142.
  • 143. INFECT  SYSTEM   DO  NOT  INFECT  SYSTEM  
  • 144. How to find EFI monsters §  Don’t forget boot.efi. §  Not very stealth. §  Always keep in mind that sophistication is not always required! §  If it works, why not?
  • 145. How to find EFI monsters §  SCAP is used by EfiFlasher. §  We can stitch our own firmware. §  Extract files from SCAP and build it. §  Reflash via SPI. §  Assumption that SCAP is legit.
  • 146. How to find EFI monsters §  Stitch utility still in TODO list. §  Potential issues: §  NVRAM contents? §  Serial numbers? §  Use current dump and just replace binaries?
  • 147.
  • 148. Conclusions §  (U)EFI rootkits aren’t unicorns. §  Although they are very rare. §  Honestly, we don’t know what’s out there. §  HackingTeam developed one in 2014. §  Although it was too simple and not advanced.
  • 149. Conclusions §  Chasing them requires hardware. §  Disassembling computers monthly is not scalable/efficient/viable. §  How to deal with this at enterprise level?
  • 150. Conclusions §  Vendors are usually slow releasing updates. §  If they ever do it. §  Check legbacore.com work.
  • 151. Conclusions §  SMC is another interesting chip. §  Alex Ionescu and Andrea Barisani did some work in this area. §  Great rootkit possibilities?
  • 152. Conclusions §  Intel Management Engine (ME). §  Big Pandora Box? §  Security researchers should have easier access to it.
  • 153. Conclusions §  Option ROMs. §  Still an issue with Apple’s EFI implementation. §  No SecureBoot (signed OptionROMs). §  Check Thunderstrike 2 OptionROM worm.
  • 154.
  • 155.
  • 156.
  • 157.
  • 158. Conclusions §  Trolling? §  Real? §  Maybe a mix of both. §  Check Apple logic board schematics. §  There’s a ton of interconnected stuff.
  • 159. Conclusions §  We need trusted hardware solutions. §  If we can’t trust hardware we are wasting a lot of time solving some software problems.
  • 160. Conclusions §  Bring back physical protections? §  Switches to enable: §  Flash writes. §  MIC. §  Camera. §  Etc...
  • 162.
  • 163. Conclusions §  Acer C720 & C720P Chromebook. §  https://www.chromium.org/chromium-os/ developer-information-for-chrome-os- devices/acer-c720-chromebook §  #7 is a write-protect screw.
  • 164. Conclusions §  Might require new hardware design? §  NVRAM needs to be writable. §  An independent flash chip for writable regions? §  BOM/space restrictions?
  • 165. Conclusions §  Apple has a great opportunity here. §  Full control of design and supply chain. §  Can improve designs. §  Can force faster updates. §  Only matched by Chromebook?
  • 166.
  • 167. Greetings §  44CON team, Snare, Trammell, Xeno, Corey, Saure, the Portuguese cheerleading attendees.
  • 168. https://reverse.put.as https://github.com/gdbinit reverser@put.as @osxreverser #osxre @ irc.freenode.net PGP key https://reverse.put.as/wp-content/uploads/2008/06/publickey.txt PGP Fingerprint 7B05 44D1 A1D5 3078 7F4C E745 9BB7 2A44 ED41 BF05
  • 169. A day full of possibilities! Let's go exploring!
  • 170. References §  Images from images.google.com. Credit due to all their authors. §  Thunderstrike presentation §  https://trmm.net/Thunderstrike_31c3 §  Thunderstrike 2 presentation §  https://trmm.net/Thunderstrike_2 §  Snare EFI rootkits presentations §  https://reverse.put.as/wp-content/uploads/2011/06/ De_Mysteriis_Dom_Jobsivs_-_Syscan.pdf §  https://reverse.put.as/wp-content/uploads/2011/06/ De_Mysteriis_Dom_Jobsivs_Black_Hat_Slides.pdf §  Legbacore.com papers and presentations §  http://legbacore.com/Research.html
  • 171. References §  Alex Ionescu, Ninjas and Harry Potter: “Spell”unking in Apple SMC Land §  http://www.nosuchcon.org/talks/2013/D1_02_Alex_Ninjas_and_Harry_Potter.pdf §  Alex Ionescu, Apple SMC The place to be definitely For an implant §  https://www.youtube.com/watch?v=nSqpinjjgmg §  Andrea Barisani, Daniele Bianco, Practical Exploitation of Embedded Systems §  http://dev.inversepath.com/download/public/ embedded_systems_exploitation.pdf
  • 172. References §  fG!, The Empire Strikes Back Apple – how your Mac firmware security is completely broken §  https://reverse.put.as/2015/05/29/the-empire-strikes-back-apple-how-your- mac-firmware-security-is-completely-broken/ §  fG!, Reversing Prince Harming’s kiss of death §  https://reverse.put.as/2015/07/01/reversing-prince-harmings-kiss-of-death/ §  Cr4sh, Exploiting UEFI boot script table vulnerability §  http://blog.cr4.sh/2015_02_01_archive.html
  • 173. References §  Cr4sh, Building reliable SMM backdoor for UEFI based platforms §  http://blog.cr4.sh/2015/07/building-reliable-smm-backdoor-for-uefi.html §  Firmware papers and presentations timeline §  http://timeglider.com/timeline/5ca2daa6078caaf4 §  Archive of OS X/iOS and firmware papers & presentations §  https://reverse.put.as/papers/