shadow – Firefox Heap Exploitation Tool (jemalloc)


shadow is a new, extended (and renamed version) of a Firefox heap exploitation tool, which is quite a swiss army knife for Firefox/jemalloc heap exploitation.

shadow - Firefox Heap Exploitation Tool (jemalloc)

If you want to dive in really deep to this tool, and the technicalities behind it check this out – OR’LYEH? The Shadow over Firefox [PDF]

Support

shadow has been tested with the following:

  • Windows 8.1 x86-64
  • Windows 7 SP1 x86 and x86-64
  • WinDBG 6.3.9600.17200 x86 (since Firefox stable is x86-only currently)
  • pykd version 0.3.0.36
  • Many different Firefox releases, but extensively with: 31.7.0-esr, 35.0.1, 36.0.1, 38.0.5, 39.0, 40.0, 43.0. 44.0.

Usage

When you issue a jemalloc-specific command for the first time, shadow parses all jemalloc metadata it knows about and saves them to a Python pickle file. Subsequent commands use this pickle file instead of parsing the metadata from memory again in order to be faster.

When you know that the state of jemalloc metadata has changed (for example when you have made some allocations or have triggered a garbage collection), use the jeparse command to re-parse the
metadata and re-create the pickle file.

Symbol Support

The symbol command allows you to search for SpiderMonkey and DOM classes (and structures) of specific sizes. This is useful when you’re trying to exploit use-after-free bugs, or when you want to position interesting victim objects to overwrite/corrupt.

In the “auxiliary” directory you can find a small PDB parsing utility named symhex. Run it on “xul.pdb” to generate the Python pickle file that shadow expects in the “pdb” directory (as “pdb/xul-VERSION.pdb.pkl”). Before running symhex make sure you have registered “msdia90.dll”.

You can download shadow here:

shadow-master.zip

Or read more here.

Posted in: Exploits/Vulnerabilities, Hacking Tools, Secure Coding


Latest Posts:


ZigDiggity - ZigBee Hacking Toolkit ZigDiggity – ZigBee Hacking Toolkit
ZigDiggity a ZigBee Hacking Toolkit is a Python-based IoT (Internet of Things) penetration testing framework targeting the ZigBee smart home protocol.
RandIP - Network Mapper To Find Servers RandIP – Network Mapper To Find Servers
RandIP is a nim-based network mapper application that generates random IP addresses and uses sockets to test whether the connection is valid or not with additional tests for Telnet and SSH.
Nipe - Make Tor Default Gateway For Network Nipe – Make Tor Default Gateway For Network
Nipe is a Perl script to make Tor default gateway for network, this script enables you to directly route all your traffic from your computer to the Tor network.
Mosca - Manual Static Analysis Tool To Find Bugs Mosca – Manual Static Analysis Tool To Find Bugs
Mosca is a manual static analysis tool written in C designed to find bugs in the code before it is compiled, much like a grep unix command.
Slurp - Amazon AWS S3 Bucket Enumerator Slurp – Amazon AWS S3 Bucket Enumerator
Slurp is a blackbox/whitebox S3 bucket enumerator written in Go that can use a permutations list to scan externally or an AWS API to scan internally.
US Government Cyber Security Still Inadequate US Government Cyber Security Still Inadequate
Surprise, surprise, surprise - an internal audit of the US Government cyber security situation has uncovered widespread weaknesses, legacy systems and poor adoption of cyber controls and tooling.


Comments are closed.