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

4.8 KiB
Raw Blame History

Змінні середовища Linux

{{#include ../banners/hacktricks-training.md}}

Глобальні змінні

Глобальні змінні будуть успадковані дочірніми процесами.

Ви можете створити глобальну змінну для вашої поточної сесії, виконавши:

export MYGLOBAL="hello world"
echo $MYGLOBAL #Prints: hello world

Ця змінна буде доступна у ваших поточних сесіях та їх дочірніх процесах.

Ви можете видалити змінну, виконавши:

unset MYGLOBAL

Локальні змінні

Локальні змінні можуть бути доступні лише поточній оболонці/скрипту.

LOCAL="my local"
echo $LOCAL
unset LOCAL

Список поточних змінних

set
env
printenv
cat /proc/$$/environ
cat /proc/`python -c "import os; print(os.getppid())"`/environ

Загальні змінні

З: https://geek-university.com/linux/common-environment-variables/

  • DISPLAY дисплей, що використовується X. Ця змінна зазвичай встановлюється на :0.0, що означає перший дисплей на поточному комп'ютері.
  • EDITOR улюблений текстовий редактор користувача.
  • HISTFILESIZE максимальна кількість рядків, що містяться в файлі історії.
  • HISTSIZE Кількість рядків, доданих до файлу історії, коли користувач завершує свою сесію.
  • HOME ваш домашній каталог.
  • HOSTNAME ім'я хоста комп'ютера.
  • LANG ваша поточна мова.
  • MAIL місце розташування поштового спулу користувача. Зазвичай /var/spool/mail/USER.
  • MANPATH список каталогів для пошуку сторінок мануалу.
  • OSTYPE тип операційної системи.
  • PS1 стандартний запит у bash.
  • PATH зберігає шлях до всіх каталогів, які містять бінарні файли, які ви хочете виконати, просто вказавши ім'я файлу, а не відносний або абсолютний шлях.
  • PWD поточний робочий каталог.
  • SHELL шлях до поточної командної оболонки (наприклад, /bin/bash).
  • TERM тип поточного терміналу (наприклад, xterm).
  • TZ ваш часовий пояс.
  • USER ваше поточне ім'я користувача.

Цікаві змінні для хакінгу

HISTFILESIZE

Змініть значення цієї змінної на 0, щоб коли ви завершите свою сесію, файл історії (~/.bash_history) був видалений.

export HISTFILESIZE=0

HISTSIZE

Змініть значення цієї змінної на 0, щоб, коли ви закінчите свою сесію, будь-яка команда не додавалася до файлу історії (~/.bash_history).

export HISTSIZE=0

http_proxy & https_proxy

Процеси використовуватимуть проксі, оголошений тут, для підключення до Інтернету через http або https.

export http_proxy="http://10.10.10.10:8080"
export https_proxy="http://10.10.10.10:8080"

SSL_CERT_FILE & SSL_CERT_DIR

Процеси довірятимуть сертифікатам, вказаним у цих змінних середовища.

export SSL_CERT_FILE=/path/to/ca-bundle.pem
export SSL_CERT_DIR=/path/to/ca-certificates

PS1

Змініть вигляд вашого запиту.

Це приклад

Root:

Звичайний користувач:

Одна, дві та три фонові задачі:

Одна фонове завдання, одне зупинене і остання команда не завершилася правильно:

{{#include ../banners/hacktricks-training.md}}