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 large utils.py file used as a shared module.

  • Core/ is pretty self-explanatory. It contains main.py (the main handler) and cli.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.

1
Subscribe to my newsletter

Read articles from Ektoras Kalantzis directly inside your inbox. Subscribe to the newsletter, and don't miss out.

Written by

Ektoras Kalantzis
Ektoras Kalantzis