⁉️Quem sou eu e onde estou?

Essa pergunta pode ser meio óbvia para quem está acostumado a shells linux que trazem já essas informações por padrão.

Vejamos, por exemplo, a configuração de um terminal padrão Ubuntu:

Configuração padrão de um bash padrão do Ubuntu
  1. midnight refere-se ao usuário que executou a shell;

  2. midnight-hackings é o nome da máquina na qual a shell está sendo executada;

  3. /opt é o diretório atual que a shell está executando. Ele é útil para nos localizarmos e referenciarmos arquivos utilizando caminho relativo ao invés do caminho absoluto;

  4. Por fim, $ representa que a shell não está sendo executada com privilégios de root (administrativos), que pode negar certas ações do usuário. Ao contrário, um # significa que é uma shell root e pode executar qualquer comando no sistema.

Curiosidade: Essa configuração pode ser alterada através do que chamamos de variável de ambiente - teremos uma seção mais a frente só as explicando. Por agora, pense que existe uma configuração, que guarda o formato da shell, e seu nome é PS1. Aqui está um exemplo de customizador desse formato.

Entretanto, tal configuração pode não estar disponível em todos os sitemas ou shells, como o /bin/sh:

/bin/sh executando em um sistema Ubuntu

Isso é bem comum na execução de certos exploits, que fornecem ao atacante uma shell mais restrita e sem configurações customizadas. Para conseguir coletar essas informações, devemos executar os comandos abaixo. Eles também são úteis para a criação de scripts.

Quem sou eu? - whoami, groups, id

Para descobrir mais informações sobre o usuário (inclusive de privilégios), os comandos whoami, groups e id podem ser usados. Nenhum deles requer parâmetros.

  • whoami - retorna o nome do usuário.

  • id - retorna informações resumidas do usuário e os grupos que ele faz parte.

  • groups - retorna os grupos que ele faz parte.

Resultado dos comandos

Nesse caso, note que o comando id retorna o UID do usuário, que é um número que o identifica no sistema, sendo o UID=0 reservado para o usuário root, além dos grupos. Ele é mais completo que os demais, mas não invalida o uso dos demais em ambientes mais restritivos.

Os grupos podem revelar informações importantes na fase de Discovery de um pentest, no pós-exploração. Nesse caso, meu usuário está no grupo sudo, que dá permissões para execução privilegiada de comandos.

Quem está logado? who, w

Para saber os usuários logados no sistema atual, utilize os comandos who ou w.

Usuários logados no sistema

A saída do comando w é mais detalhada quanto ao comando atualmente executado em cada usuário logado. O usuário "user" está executando o comando w

Onde estou? hostname, pwd

Por fim, só falta saber qual a máquina e o diretório atual, informações que podem ser obtidas com hostname e pwd (print working directory), respectivamente.

Nome da máquina e o diretório atual

Last updated