Giter Site home page Giter Site logo

dynelfsymbols's Introduction

DynELFSymbols

This is a small program and tutorial to make backdooring ELF binaries by pointing the linker at malicious shared object files (libraries) quite a bit easier than it has been in the past.

This should enable post-exploitation persistence with an increased burden on whichever poor soul has to figure out why a normal binary is doing strange things. You always give someone a shell when you call find(1), right?

In a nutshell, a legitimate binary is edited to point to a malicious shared object file, which in turn loads the legitimate shared object file.

This has been tested on Linux x86_64, but in theory should work on other architectures, as well as the BSDs.

For a quick start, please see QUICKSTART.

For legal use only.

Brief Theory

When the linker loads the libraries for a given ELF file, it hunts for the libraries in predictable places. By editing a commonly-called binary (vim or a hex editor work great), we can point the binary at a malicious library which calls the real library as well as doing whatever malicious things we want. The end result is by changing a few bytes and putting a file on disk, we get a shell every time someone checks the victim's uptime (or lists files, or whatever).

A slightly less brief theory of what's going on can be found in THEORY.

Tool

In this repository is the source for dynelfsymbols. Please run it with -h for basic usage instructions.

Libraries

The original libkitten source in included in lib/libkitten, and the source for a library generated by dynelfsymbols to be used to backdoor find(1) is in lib/libM.

dynelfsymbols's People

Contributors

magisterquis avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

Forkers

listinvest sesyi

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.