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

5.8 KiB
Raw Blame History

Linux環境変数

ゼロからヒーローまでAWSハッキングを学ぶ htARTEHackTricks AWS Red Team Expert

HackTricksをサポートする他の方法

グローバル変数

グローバル変数は子プロセスによって継承されます

現在のセッション用にグローバル変数を作成することができます。

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

永続的な環境変数

すべてのユーザーの動作に影響を与えるファイル:

  • /etc/bash.bashrc: このファイルは対話型シェル(通常のターミナル)が起動されるたびに読み込まれ、ここに指定されたすべてのコマンドが実行されます。
  • /etc/profile および /etc/profile.d/*: このファイルはユーザーがログインするたびに読み込まれます。したがって、ここで実行されるすべてのコマンドは、ユーザーがログインする際に1度だけ実行されます。
  • **例: **

/etc/profile.d/somescript.sh

#!/bin/bash
TEST=$(cat /var/somefile)
export $TEST

一般的な変数

From: 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

プロセスは、ここで宣言された 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:

通常のユーザー:

バックグラウンドで実行中のジョブが1つ、2つ、3つ:

バックグラウンドで実行中のジョブが1つ、停止中のジョブが1つ、最後のコマンドが正常に終了しなかった場合: