Skip to content

kernelstub/Apophis

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation


hero

Apophis

Exploit faster with simplicity and ease
Explore the docs »

View Demo · Report Bug · Request Feature

Table of Contents
  1. About The Project
  2. Getting Started
  3. Features
  4. Custom Exploits
  5. Contributing

About

Apophis is a straightforward yet effective Python based framework tailored to simplify the process of working with digital exploits. This lightweight program is designed to offer users a user friendly and accessible approach to managing and deploying exploits, catering to both novice and experienced users.


Installation

  1. Clone the repo

    git clone https://github.com/kernelstub/Apophis.git

    Install dependencies:

     python3 -m pip install -r requirements.txt

    Optional install as a CLI:

     python3 -m pip install .

    Configuration:

     APOPHIS_SCRIPTS_DIR      # set to an alternate scripts directory (default: ./scripts)

Usage

  1. Run Apophis

     python3 main.py          # interactive REPL
     apophis list             # list available exploits (after install)
     apophis search <term>    # search exploits
     apophis run <name>       # run a specific exploit by name
     apophis repl             # start interactive mode via CLI

    Inside the REPL:

     scripts                  # list available script categories under ./scripts
     help <folder>            # show table with path, author, date, description
     scripts/<folder>/<file>  # run by path, e.g. scripts/cves/CVE-2021-42013
     search <term>            # search exploits by name
    

See the open issues for a full list of proposed features (and known issues).


Features

Key Features of Apophis Exploit Framework:

  • Automated Exploit Loading: Apophis streamlines the process of loading exploits, saving you time and effort.

  • Customizability: Tailor Apophis to your preferences and project needs. Make it an integral part of your workflow.

  • Speed and Efficiency: Apophis's automated capabilities ensure quick and efficient exploit deployment.

  • Custom Command Naming: Personalize exploit commands to align with your project's conventions.

  • Modular Exploit Storage: Store, organize, and manage your preferred exploits with ease.

  • Detailed Descriptions: Each exploit comes with customizable descriptions for clarity and context.

  • Fine-Tuned Matching: Specify criteria for exploit selection, ensuring precise vulnerability targeting.

  • Version Management: Stay up-to-date with the latest exploit versions, enhancing project security.

  • Customizable Appearance: Tailor Apophis's visuals to seamlessly blend with your project's branding and aesthetics.

  • Comprehensive Documentation: Apophis generates detailed reports and logs for thorough project documentation.

PS: Some are not added yet!


Custom Exploits

You can also load custom exploits of your choice. Create scripts/<category>/your_exploit.py with a class inheriting from Module and a unique name:

from dataclasses import dataclass
from core.modular import Module

@dataclass
class ExploitMeta:
    name: str
    description: str
    author: str
    creation_date: str


class Exploit(Module):
    def __init__(self) -> None:
        meta = ExploitMeta(
            name="test",
            description="Example description of this exploit.",
            author="username",
            creation_date="10-10-2025",
        )
        self.meta: ExploitMeta = meta
        self.name: str = meta.name
        self.description: str = meta.description
        self.author: str = meta.author
        self.creation_date: str = meta.creation_date

    def execute(self) -> None:
        print("Hello world!")
        ChildClass.execute()

# You can also add child classes to your exploit for other stuff you need.
class ChildClass:
    def __init__(self) -> None:
        super().__init__()

    @staticmethod
    def execute() -> None:
        print("Hello child class!")

About

Lightweight exploit management Framework

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages