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

Reading time: 3 minutes

tip

Вивчайте та практикуйте AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Вивчайте та практикуйте GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)

Підтримайте HackTricks

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

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

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

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

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

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

bash
unset MYGLOBAL

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

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

bash
LOCAL="my local"
echo $LOCAL
unset LOCAL

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

bash
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) був видалений.

bash
export HISTFILESIZE=0

HISTSIZE

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

bash
export HISTSIZE=0

http_proxy & https_proxy

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

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

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

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

PS1

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

Це приклад

Root:

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

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

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

tip

Вивчайте та практикуйте AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Вивчайте та практикуйте GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)

Підтримайте HackTricks