Redis Misconfiguration Exploitation

Identified and exploited an exposed Redis server caused by insecure configuration. This project demonstrates network enumeration, service identification, interacting with Redis using the command line, and extracting data from an unsecured database in a safe lab environment.

Disclaimer

This proof-of-concept was developed and tested exclusively in an isolated environment for educational and defensive cybersecurity purposes.

Overview

This project demonstrates how to install, verify, and remove Suricata on a Linux system using the APT package manager. The goal was to practise Linux software deployment, dependency handling, and basic IDS setup within a controlled environment.

Skills Demonstrated

Tools Used

Process

Network Enumeration

The first step was identifying any exposed services running on the target machine. Using Nmap, I performed a service and version scan to discover open ports and determine which services were available. The scan revealed an exposed Redis service running on its default port.

sudo nmap -sVC -p 1-10000 -O -Pn (ip_address) 

Understanding Redis

Before interacting with the service, I researched how Redis works and learned that it stores information as key-value pairs entirely in memory. Understanding the database structure made it much easier to navigate once connected.

Connecting to the Server

Since the Redis instance had no authentication configured, I was able to connect directly using the Redis command-line client. This demonstrated how dangerous default configurations can be when services are exposed to a network.

redis-cli -h (ip_address) 

Enumerating the Database

After connecting, I used Redis commands such as INFO to gather information about the server before listing every available key stored inside the database. This allowed me to understand what data was available without modifying any information

Reading Stored Data

Finally, I queried individual keys to retrieve their stored values. This demonstrated how an attacker could access sensitive information if a Redis server is left publicly accessible without proper authentication or network restrictions.

KEYS * 

What I Learned

This project improved my understanding of service enumeration and reinforced that security vulnerabilities are not always caused by software flaws many are the result of insecure configurations. I became more comfortable using Nmap to identify exposed services, interacting with Redis through the command line, and understanding how attackers can enumerate databases when authentication has not been configured correctly.