Intro to RedRoom


Why Build It?
The idea for building RedRoom was to create a unified tool that works across different phases of a single hack: Reconnaissance, Vulnerability Analysis, Exploitation, and Post-Exploitation.
I worked my way through many tools, and it always scratched my brain — the fact that I (and all of you) need to use different tools for different actions.
Which is great — there are many good reasons for it — but I asked myself:
What if I could build all of that into one compact, complete tool?
But What Is It?
The tool is mostly coded in Python, but I’m not hesitant to combine other languages — for example, when creating a payload.
I applied a strict rule to myself: not to use APIs or open-source code from other projects.
My ideology is that I would learn unbelievably more if I coded everything from scratch, using only the necessary Python libraries.
Most files and folders in the project act as modules and handlers, based on a structure I designed myself.
Folder Structure
The structure follows a very simple methodology — three folders for three purposes:
Essentials/
Core/
Categories/
Essentials/
contains utilities like.txt
and.json
files, as well as a largeutils.py
file used as a shared module.Core/
is pretty self-explanatory. It containsmain.py
(the main handler) andcli.py
, which manages user-provided flags and their valid combinations.Categories/
is a rabbit hole. To explain its folder hierarchy, I need to first explain the conceptual vision of my project’s structure.
The idea is that user flags are clear and hierarchical — like this:
Category → Tool → Method
Meaning the path is:
categories/tools/methods
So a user might run a TCP host scan like this:
-c recon -t hostscan -m tcp <ip>
What Now?
So far, I’ve completely finished all the tools I had planned for the recon category, and I’m more than halfway through building the vulnerability analysis modules.
I’ll keep publishing more articles like this — diving into the details of the modules that are finished — and documenting everything I do along the way.
Subscribe to my newsletter
Read articles from Ektoras Kalantzis directly inside your inbox. Subscribe to the newsletter, and don't miss out.
Written by
