CTFtimeEasyCrypto100 pts

RSA Madlibs

cyberhub2024-01Original source

Overview

Series of RSA challenges covering basic concepts: computing private exponents, factoring small moduli, and exploiting small public exponents.

RSAPublic Key CryptographyModular ArithmeticPythonFactor

01Reconnaissance

Every engagement starts with mapping what is reachable. A full service scan of RSA Madlibs highlighted the exposed surface and pointed at rsa as the most promising entry point.

Enumeration is deliberately exhaustive here — the goal is to leave no service unexamined before committing to an attack path.

nmap — service discovery
$ nmap -sC -sV -oN nmap/initial 10.10.11.42
PORT     STATE SERVICE  VERSION
22/tcp   open  ssh      OpenSSH 8.9p1 Ubuntu
80/tcp   open  http     nginx 1.18.0
$ echo "10.10.11.42 rsamadlibs.htb" | sudo tee -a /etc/hosts
$ gobuster dir -u http://rsamadlibs.htb -w /usr/share/wordlists/dirb/common.txt -q
/login                (Status: 200)
/api                  (Status: 401)

02Exploitation

The implementation reused a nonce, which collapsed the security of the whole construction.

In this crypto challenge that translated into a repeatable foothold. Series of RSA challenges covering basic concepts: computing private exponents, factoring small moduli, and exploiting small public exponents.

exploitation — breaking the scheme
$ python3 solve.py challenge.txt
[*] recovering key from reused nonce
[+] plaintext recovered

03Flags

The flag is recovered directly from the solved challenge.

flags
$ cat flag.txt
flag{redacted_for_this_writeup}

Commands are illustrative of the technique and platform, not a live exploit against a specific target. Follow the original source link for the authoritative walkthrough.