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

4.7 KiB
Raw Blame History

Variables de Entorno de Linux

Aprende hacking en AWS desde cero hasta experto con htARTE (HackTricks AWS Red Team Expert)!

Otras formas de apoyar a HackTricks:

Variables Globales

Las variables globales serán heredadas por los procesos hijos.

Puedes crear una variable global para tu sesión actual haciendo:

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

Esta variable será accesible por tus sesiones actuales y sus procesos hijos.

Puedes eliminar una variable haciendo:

unset MYGLOBAL

Variables locales

Las variables locales solo pueden ser accedidas por la shell/script actual.

LOCAL="my local"
echo $LOCAL
unset LOCAL

Listar variables actuales

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

Variables comunes

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

  • DISPLAY la pantalla utilizada por X. Esta variable suele establecerse en :0.0, lo que significa la primera pantalla en la computadora actual.
  • EDITOR el editor de texto preferido del usuario.
  • HISTFILESIZE el número máximo de líneas contenidas en el archivo de historial.
  • HISTSIZE Número de líneas añadidas al archivo de historial cuando el usuario finaliza su sesión.
  • HOME tu directorio de inicio.
  • HOSTNAME el nombre de host de la computadora.
  • LANG tu idioma actual.
  • MAIL la ubicación del buzón de correo del usuario. Normalmente /var/spool/mail/USUARIO.
  • MANPATH la lista de directorios donde buscar páginas de manual.
  • OSTYPE el tipo de sistema operativo.
  • PS1 el indicador predeterminado en bash.
  • PATH almacena la ruta de todos los directorios que contienen archivos binarios que deseas ejecutar solo especificando el nombre del archivo y no la ruta relativa o absoluta.
  • PWD el directorio de trabajo actual.
  • SHELL la ruta del shell de comandos actual (por ejemplo, /bin/bash).
  • TERM el tipo de terminal actual (por ejemplo, xterm).
  • TZ tu zona horaria.
  • USER tu nombre de usuario actual.

Variables interesantes para hacking

HISTFILESIZE

Cambia el valor de esta variable a 0, de modo que cuando finalices tu sesión el archivo de historial (~/.bash_history) se eliminará.

export HISTFILESIZE=0

HISTSIZE

Cambie el valor de esta variable a 0, de modo que cuando finalice su sesión, ningún comando se agregará al archivo de historial (~/.bash_history).

export HISTSIZE=0

http_proxy & https_proxy

Los procesos utilizarán el proxy declarado aquí para conectarse a internet a través de http o 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

Los procesos confiarán en los certificados indicados en estas variables de entorno.

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

PS1

Cambia cómo se ve tu indicador de comando.

Este es un ejemplo

Root:

Usuario regular:

Uno, dos y tres trabajos en segundo plano:

Un trabajo en segundo plano, uno detenido y el último comando no finalizó correctamente: