reNgine : An Automated recon Framework For Web Applications

reNgine is an automated reconnaissance framework meant for information gathering during penetration testing of web applications. reNgine has customizable scan engines, which can be used to scan the domains, endpoints, or gather information.

The beauty of reNgine is that it gathers everything in one place. It has a pipeline of reconnaissance, which is highly customizable.

reNgine can be very useful when you want to perform the reconnaissance, gather endpoints, directory and file search, grab screenshots, and gather all the results in one place.

Suppose, if you have a domain hackerone.com, reNgine can perform the scan based on your scan engines, gather all the results in one place. reNgine makes it possible for use cases like, “I want to search the subdomain which has page title “Dashboard” and has page status as 200, and I quickly want to have a look at the screenshot”.

Another use-case could be, “I want to list all subdomains that use PHP, and the HTTP status is 200!”

On the endpoints part, reNgine is capable of gathering the URL endpoints using tools like gau, hakrawler which gathers URL from many sources like common crawl, Wayback engine, etc.

reNgine also makes it possible for the use case like, “search the URLs that have extension .php and HTTP status is 200!”

Suppose if you are looking for open redirection, you can quickly search for =http and look for HTTP status 30X, this will give high accuracy of open redirection with minimal efforts.

Demo

What it is not?

reNgine is not a:

  • Vulnerability scanner!
  • Reconnaissance with high accuracy (No! reNgine, uses other open-source tools, to make this pipeline possible. The accuracy and capability of reNgine is also dependent on those tools)
  • Speed oriented recon framework with immediate results

Screenshots

  • Scan results
  • Gathered Endpoints

Of course, at this point, reNgine does not give the best of the best result compared to other tools, but reNgine has certainly minimal efforts. Also, I am continuously adding new features. You may help me on this journey by creating a PR filled with new features and bug fixes. Please have a look at the Contributing section before doing so.

Flow

Getting Started

To get a local copy up and running, follow these simple example steps.

git clone https://github.com/yogeshojha/rengine.git
cd rengine

Prerequisites

  • Docker
    • Install docker based on your OS from here
  • docker-compose
    • Installation instructions for docker-compose from here

Installation

Assuming that you have followed the above steps and inside rengine directory

docker-compose up –build

The build process may take some time.

Alternatively, you also can run the project with pre-built Docker images (with 2FA enabled, you have to create a new personal access token with read:packages scope):

docker login docker.pkg.github.com
docker-compose pull
docker-compose up

Once the setup is done, you need to setup the password.

Register Account

Once the application is up and running, you need an account for reNgine. This can be easily created using createsuperuser from Django. Open a new terminal tab, and run the following command:

docker exec -it rengine_web_1 python manage.py createsuperuser

You may now enter your username and password. Remember to keep a secure password.

Usage

Note: reNgine does fingerprinting, port scanning, and banner grabbing, which might be illegal in some countries. Please make sure you are authorized to perform reconnaissance on the targeted domain before using this tool.

If the installation is successful, then you can run reNgine by using the command

docker-compose up -d

The web application can then be accessed from http://localhost:8000

VPS HTTPS Installation

If you are considering to install on VPS with https, here is an awesome blog written by @J0_mart https://www.jomar.fr/posts/2020/07/en-install-rengine-with-nginx-and-ssl-auto-renew/

R K

Recent Posts

Shadow-rs : Harnessing Rust’s Power For Kernel-Level Security Research

shadow-rs is a Windows kernel rootkit written in Rust, demonstrating advanced techniques for kernel manipulation…

7 days ago

ExecutePeFromPngViaLNK – Advanced Execution Of Embedded PE Files via PNG And LNK

Extract and execute a PE embedded within a PNG file using an LNK file. The…

2 weeks ago

Red Team Certification – A Comprehensive Guide To Advancing In Cybersecurity Operations

Embark on the journey of becoming a certified Red Team professional with our definitive guide.…

2 weeks ago

CVE-2024-5836 / CVE-2024-6778 : Chromium Sandbox Escape via Extension Exploits

This repository contains proof of concept exploits for CVE-2024-5836 and CVE-2024-6778, which are vulnerabilities within…

3 weeks ago

Rust BOFs – Unlocking New Potentials In Cobalt Strike

This took me like 4 days (+2 days for an update), but I got it…

3 weeks ago

MaLDAPtive – Pioneering LDAP SearchFilter Parsing And Security Framework

MaLDAPtive is a framework for LDAP SearchFilter parsing, obfuscation, deobfuscation and detection. Its foundation is…

3 weeks ago