Skip to content

Pinjectra is a C/C++ OOP-like library that implements Process Injection techniques (with focus on Windows 10 64-bit)

License

Notifications You must be signed in to change notification settings

OmerYa/ROP-From-Zero-to-Nation-State-In-25-Minutes

 
 

Repository files navigation

ROP - From Zero to Nation State in 25 Minutes

The code and slides are from a talk I gave at BSidesTLV 2020. The code is a modification of Pinjectra project from SafeBreach developed by Itzik Kotler and Amit Klein.

Injection methods 13, 14 and 15 were added to Pinjectra for demo examples on the talk. (Tested on Windows 10 1903 x64 bit)

Pinjectra

Pinjectra is a C/C++ library that implements Process Injection techniques (with focus on Windows 10 64-bit) in a "mix and match" style. Here's an example:

// CreateRemoteThread Demo + DLL Load (i.e., LoadLibraryA as Entry Point)
executor = new CodeViaCreateRemoteThread(
    new OpenProcess_VirtualAllocEx_WriteProcessMemory(
        (void *)"MsgBoxOnProcessAttach.dll",
        25,
        PROCESS_VM_WRITE | PROCESS_CREATE_THREAD | PROCESS_VM_OPERATION,
        MEM_COMMIT | MEM_RESERVE,
        PAGE_READWRITE),
    LoadLibraryA
);

executor->inject(pid, tid);

It's also currently the only implementation of the "Stack Bomber" technique. A new process injection technique that is working on Windows 10 64-bit with both CFG and CIG enabled.

Pinjectra, and "Stack Bomber" technique released as part of the Process Injection Techniques - Gotta Catch Them All talk given at BlackHat USA 2019 conference and DEF CON 27 by Itzik Kotler and Amit Klein from SafeBreach Labs.

Version

0.1.0

License

BSD 3-Clause

About

Pinjectra is a C/C++ OOP-like library that implements Process Injection techniques (with focus on Windows 10 64-bit)

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • C++ 84.9%
  • C 14.3%
  • Batchfile 0.8%