hacktricks/src/linux-hardening/linux-environment-variables.md

109 lines
3.5 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# Linux Ortam Değişkenleri
{{#include ../banners/hacktricks-training.md}}
## Küresel değişkenler
Küresel değişkenler **çocuk süreçler** tarafından **devralınacaktır**.
Mevcut oturumunuz için bir küresel değişken oluşturmak için:
```bash
export MYGLOBAL="hello world"
echo $MYGLOBAL #Prints: hello world
```
Bu değişken, mevcut oturumlarınız ve onların alt süreçleri tarafından erişilebilir olacaktır.
Bir değişkeni **kaldırmak** için:
```bash
unset MYGLOBAL
```
## Yerel değişkenler
**Yerel değişkenler** yalnızca **geçerli shell/script** tarafından **erişilebilir**.
```bash
LOCAL="my local"
echo $LOCAL
unset LOCAL
```
## Mevcut değişkenleri listele
```bash
set
env
printenv
cat /proc/$$/environ
cat /proc/`python -c "import os; print(os.getppid())"`/environ
```
## Ortak değişkenler
From: [https://geek-university.com/linux/common-environment-variables/](https://geek-university.com/linux/common-environment-variables/)
- **DISPLAY** **X** tarafından kullanılan ekran. Bu değişken genellikle **:0.0** olarak ayarlanır, bu da mevcut bilgisayardaki ilk ekranı ifade eder.
- **EDITOR** kullanıcının tercih ettiği metin düzenleyici.
- **HISTFILESIZE** geçmiş dosyasında bulunan maksimum satır sayısı.
- **HISTSIZE** Kullanıcı oturumunu bitirdiğinde geçmiş dosyasına eklenen satır sayısı.
- **HOME** ev dizininiz.
- **HOSTNAME** bilgisayarın ana bilgisayar adı.
- **LANG** mevcut diliniz.
- **MAIL** kullanıcının posta kuyruğunun yeri. Genellikle **/var/spool/mail/USER**.
- **MANPATH** kılavuz sayfalarını aramak için dizinlerin listesi.
- **OSTYPE** işletim sisteminin türü.
- **PS1** bash'deki varsayılan istem.
- **PATH** yalnızca dosya adını belirterek çalıştırmak istediğiniz ikili dosyaların bulunduğu tüm dizinlerin yolunu saklar, göreli veya mutlak yol ile değil.
- **PWD** mevcut çalışma dizini.
- **SHELL** mevcut komut kabuğunun yolu (örneğin, **/bin/bash**).
- **TERM** mevcut terminal türü (örneğin, **xterm**).
- **TZ** zaman diliminiz.
- **USER** mevcut kullanıcı adınız.
## Hackleme için ilginç değişkenler
### **HISTFILESIZE**
Bu değişkenin **değerini 0 olarak değiştirin**, böylece **oturumunuzu sonlandırdığınızda** **geçmiş dosyası** (\~/.bash_history) **silinecektir**.
```bash
export HISTFILESIZE=0
```
### **HISTSIZE**
Bu **değişkenin değerini 0 olarak değiştirin**, böylece **oturumunuzu sonlandırdığınızda** herhangi bir komut **tarih dosyasına** (\~/.bash_history) eklenecektir.
```bash
export HISTSIZE=0
```
### http_proxy & https_proxy
İşlemler, **http veya https** üzerinden internete bağlanmak için burada belirtilen **proxy**'yi kullanacaktır.
```bash
export http_proxy="http://10.10.10.10:8080"
export https_proxy="http://10.10.10.10:8080"
```
### SSL_CERT_FILE & SSL_CERT_DIR
Bu **env değişkenlerinde** belirtilen sertifikalara süreçler güvenecektir.
```bash
export SSL_CERT_FILE=/path/to/ca-bundle.pem
export SSL_CERT_DIR=/path/to/ca-certificates
```
### PS1
İstediğiniz istemci görünümünü değiştirin.
[**Bu bir örnektir**](https://gist.github.com/carlospolop/43f7cd50f3deea972439af3222b68808)
Root:
![](<../images/image (897).png>)
Normal kullanıcı:
![](<../images/image (740).png>)
Bir, iki ve üç arka planda çalışan iş:
![](<../images/image (145).png>)
Bir arka planda çalışan iş, bir durdurulmuş ve son komut doğru şekilde bitmedi:
![](<../images/image (715).png>)
{{#include ../banners/hacktricks-training.md}}