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

123 lines
4.6 KiB
Markdown
Raw Normal View History

# Variáveis de Ambiente do Linux
2022-04-28 16:01:33 +00:00
<details>
<summary><strong>Aprenda hacking na AWS do zero ao herói com</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
2022-04-28 16:01:33 +00:00
Outras formas de apoiar o HackTricks:
* Se você deseja ver sua **empresa anunciada no HackTricks** ou **baixar o HackTricks em PDF**, verifique os [**PLANOS DE ASSINATURA**](https://github.com/sponsors/carlospolop)!
* Adquira o [**swag oficial do PEASS & HackTricks**](https://peass.creator-spring.com)
* Descubra [**A Família PEASS**](https://opensea.io/collection/the-peass-family), nossa coleção exclusiva de [**NFTs**](https://opensea.io/collection/the-peass-family)
* **Junte-se ao** 💬 [**grupo Discord**](https://discord.gg/hRep4RUj7f) ou ao [**grupo telegram**](https://t.me/peass) ou **siga-nos** no **Twitter** 🐦 [**@hacktricks_live**](https://twitter.com/hacktricks_live)**.**
* **Compartilhe seus truques de hacking enviando PRs para os** [**HackTricks**](https://github.com/carlospolop/hacktricks) e [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) repositórios do github.
2022-04-28 16:01:33 +00:00
</details>
## Variáveis Globais
2023-06-06 18:56:34 +00:00
As variáveis globais **serão** herdadas pelos **processos filhos**.
2023-06-06 18:56:34 +00:00
Você pode criar uma variável global para sua sessão atual fazendo:
```bash
export MYGLOBAL="hello world"
echo $MYGLOBAL #Prints: hello world
```
Esta variável será acessível pelas suas sessões atuais e seus processos filhos.
2023-06-06 18:56:34 +00:00
Você pode **remover** uma variável fazendo:
```bash
unset MYGLOBAL
```
2023-06-06 18:56:34 +00:00
## Variáveis locais
2023-06-06 18:56:34 +00:00
As **variáveis locais** só podem ser **acessadas** pelo **shell/script atual**.
```bash
LOCAL="my local"
echo $LOCAL
unset LOCAL
```
2023-06-06 18:56:34 +00:00
## Listar variáveis atuais
```bash
printenv
```
```bash
set
env
printenv
cat /proc/$$/environ
cat /proc/`python -c "import os; print(os.getppid())"`/environ
```
## Variáveis comuns
2023-06-06 18:56:34 +00:00
De: [https://geek-university.com/linux/common-environment-variables/](https://geek-university.com/linux/common-environment-variables/)
2023-06-06 18:56:34 +00:00
* **DISPLAY** o display usado pelo **X**. Esta variável geralmente é definida como **:0.0**, o que significa o primeiro display no computador atual.
* **EDITOR** o editor de texto preferido do usuário.
* **HISTFILESIZE** o número máximo de linhas contidas no arquivo de histórico.
* **HISTSIZE** Número de linhas adicionadas ao arquivo de histórico quando o usuário termina sua sessão.
* **HOME** seu diretório pessoal.
2023-06-06 18:56:34 +00:00
* **HOSTNAME** o nome do host do computador.
* **LANG** seu idioma atual.
* **MAIL** a localização do correio do usuário. Geralmente **/var/spool/mail/USUÁRIO**.
* **MANPATH** a lista de diretórios para pesquisar páginas do manual.
2023-06-06 18:56:34 +00:00
* **OSTYPE** o tipo de sistema operacional.
* **PS1** o prompt padrão no bash.
* **PATH** armazena o caminho de todos os diretórios que contêm arquivos binários que você deseja executar apenas especificando o nome do arquivo e não o caminho relativo ou absoluto.
2023-06-06 18:56:34 +00:00
* **PWD** o diretório de trabalho atual.
* **SHELL** o caminho para o shell de comando atual (por exemplo, **/bin/bash**).
* **TERM** o tipo de terminal atual (por exemplo, **xterm**).
* **TZ** seu fuso horário.
* **USER** seu nome de usuário atual.
## Variáveis interessantes para hacking
2022-10-05 22:34:56 +00:00
### **HISTFILESIZE**
2023-06-06 18:56:34 +00:00
Altere o **valor desta variável para 0**, para que quando você **encerrar sua sessão**, o **arquivo de histórico** (\~/.bash\_history) **seja excluído**.
```bash
export HISTFILESIZE=0
```
2022-10-05 22:34:56 +00:00
### **HISTSIZE**
Altere o **valor desta variável para 0**, para que quando você **encerrar sua sessão**, nenhum comando seja adicionado ao **arquivo de histórico** (\~/.bash\_history).
```bash
export HISTSIZE=0
```
2023-01-18 13:30:35 +00:00
### http\_proxy & https\_proxy
Os processos usarão o **proxy** declarado aqui para se conectar à internet através de **http ou https**.
```bash
export http_proxy="http://10.10.10.10:8080"
2023-01-18 13:30:35 +00:00
export https_proxy="http://10.10.10.10:8080"
```
2023-01-18 13:30:35 +00:00
### SSL\_CERT\_FILE & SSL\_CERT\_DIR
Os processos confiarão nos certificados indicados nestas **variáveis de ambiente**.
```bash
2023-01-18 13:30:35 +00:00
export SSL_CERT_FILE=/path/to/ca-bundle.pem
export SSL_CERT_DIR=/path/to/ca-certificates
```
2022-10-05 22:34:56 +00:00
### PS1
2023-06-06 18:56:34 +00:00
Altere a aparência do seu prompt.
[**Este é um exemplo**](https://gist.github.com/carlospolop/43f7cd50f3deea972439af3222b68808)
Root:
![](<../.gitbook/assets/image (87).png>)
2023-06-06 18:56:34 +00:00
Usuário regular:
2022-12-24 12:23:14 +00:00
![](<../.gitbook/assets/image (88).png>)
2023-06-06 18:56:34 +00:00
Um, dois e três trabalhos em segundo plano:
![](<../.gitbook/assets/image (89).png>)
2023-06-06 18:56:34 +00:00
Um trabalho em segundo plano, um parado e o último comando não terminou corretamente:
2022-12-24 12:23:14 +00:00
![](<../.gitbook/assets/image (90).png>)