Coder Social home page Coder Social logo

parasite's Introduction

Parasite - Injecting Some Fun into DLL Manipulation

Tired of boring dll injection tools? ๐Ÿฆ  Meet Parasite, a Nim-based library designed to make process manipulation exciting! ๐Ÿš€ Combining the power of Winim & Jester with a user-friendly interface built on HTMX and Bulma CSS, Parasite injects fun into even the most mundane hacking tasks.

Frontpage

Processes

Parasite Highlights

  • Inject Delight: Run code on DLL load (DllMain), optionally creating a separate thread and simulating necessary exports to satisfy the loader.
  • Temporarily Disabling Loader Lock for Thread Creation: To avoid potential deadlocks when interacting with WinAPI functions like CreateThread and WaitForSingleObject, the LoaderLock is temporarily disabled during thread creation. This ensures seamless execution of these system calls without introducing synchronization conflicts.
  • Remote Control: Spin up an HTTP server within the injected process, enabling remote control and communication (perfect for targets like lsass.exe).
  • Process Playtime: Dynamically load/unload dlls in running processes for on-the-fly modifications.
  • Memory Snapshot: Capture a full snapshot of the target's memory using dbghelp.dll's MiniDumpWriteDump.
  • Process Migration: Hop between processes with classic DLL injection techniques (using WriteProcessMemory, CreateRemoteThread, and LoadLibrary).
  • Command Execution: Execute shell commands within the context of your injected process for stealthy control.
  • Modularity & Speed: Parasite's design encourages easy extensibility - build standalone executables (injectors, dumpers) with ease! And it's lightning-fast!โšก๏ธ

Getting Started

Tested under:

  • Windows 10 x64 19042
  • Nim Compiler v.2.0.0

Dependencies:

(Manage via nimble install)

Building Parasite:

Precompiled x64 binaries are available for download in the releases section of this repo - no setup required, just start pwning!

Manual Build:

nimble build

or

nim c --app=lib --nomain -d:dumper -d:release --passL:-s -o:parasite-x64.dll src\parasite.nim
nim c --app=lib --nomain -d:dumper -d:fakeexports -d:release --passL:-s -o:dbghelp.dll parasite.nim

For a DLL with fake exports use -d:fakeexports after you adjust src\fakeexports.nim with the required exports.

x86 Support:

You can use 32-bit version of Nim to compile parasite to x86 arch. Alternatively, you can cross-compile on x64:

  1. Ensure mingw-32 is in your path variable.
  2. Compile with the following flags:
nim --cpu:i386 -d:release c src\parasite.nim

Known Limitations

  • This project has been flagged as potentially malicious by certain antivirus vendors. This is likely because it has previously been weaponized and submitted to VT.
  • The WMI module is still under development

Tools

This project includes additional tools for testing its functionalities independently of DLL hijacking techniques.

Tool Description
dumper.exe Dumps process memory using the MiniDumpWriteDump function.
injector.exe Injects a DLL of your choice into a specified process via classic DLL injection.
parahttp.exe Allow for testing web application features independently of any DLL injections

This project draws inspiration from:

parasite's People

Contributors

srozb avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar

parasite's Issues

Support for x86.

Hello, I was playing with the idea of using Nim for modding old game binary.

However, it is in the 32bit format, which your method does not support.
Would you share some insight on how to set things up?

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.