Showing posts with label shellcode. Show all posts
Showing posts with label shellcode. Show all posts

15/06/2016

TrustZone Kernel Privilege Escalation (CVE-2016-2431)

In this blog post we'll continue our journey from zero permissions to code execution in cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 TrustZone kernel. Having previously elevated our privileges to QSEE, we are left with cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 task of exploiting cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 TrustZone kernel itself.

"Why?", I hear you ask.

Well... There are quite a few interesting things we can do solely from cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 context of cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 TrustZone kernel. To name a few:
  • We could hijack any QSEE application directly, thus exposing all of it's internal secrets. For example, we could directly extract cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 stored real-life fingerprint or various secret encryption keys (more on this in cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 next blog post!).
  • We could disable cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 hardware protections provided by cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 SoC's XPUs, allowing us to read and write directly to all of cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 DRAM. This includes cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 memory used by cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 peripherals on cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 board (such as cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 modem).
  • As we've previously seen, we could blow cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 QFuses responsible for various device features. In certain cases, this could allow us to unlock a locked bootloader (depending on how cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 lock is implemented).
So now that we've set cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 stage, let's start by surveying cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 attack surface!


05/05/2016

War of cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 Worlds - Hijacking cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 Linux Kernel from QSEE

After seeing a full QSEE vulnerability and exploit in cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 previous blog post, I thought it might be nice to see some QSEE shellcode in action.

As we've previously discussed, QSEE is extremely privileged - not only can it interact directly with cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 TrustZone kernel and access cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 hardware-secured TrustZone file-system (SFS), but it also has some direct form of access to cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 system's memory.

In this blog post we'll see how we can make use of this direct memory access in cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 "Secure World" in order to hijack cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 Linux Kernel running in cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 "Normal World", without even requiring a kernel vulnerability.