find
O comando find é uma ferramenta poderosa para busca e localização de arquivos
e diretórios no sistema de arquivos Linux. Ele oferece uma variedade de opções
para ajudar você a encontrar rapidamente os arquivos que deseja.
Procurando Arquivo por Nome Completo
Para procurar um arquivo com um nome completo, utilize o seguinte comando:
find /caminho/do/diretorio -name nome_do_arquivo
Exemplo:
find /root/ -name minhapesquisa
Isso procurará por um arquivo chamado "minhapesquisa" dentro do diretório
/root/ e em seus subdiretórios.
Procurando Arquivo por Parte do Nome
Se você deseja encontrar arquivos com parte do nome correspondente, use o
caractere curinga * da seguinte forma:
find /caminho/do/diretorio -name parte_do_nome*
Exemplo:
find /root/ -name minhapesqui*
Isso procurará arquivos cujo nome comece com "minhapesqui" dentro do diretório
/root/ e seus subdiretórios.
Procurando Arquivos com Permissões Específicas
Você pode usar o find para encontrar arquivos com permissões específicas, como
arquivos com permissão de edição para escalonar permissão. Aqui estão dois
exemplos:
Procurando Arquivos com Permissão 0777
find / -type f -perm 0777 2>/dev/null
Este comando procura por arquivos no sistema de arquivos raiz / com permissão
0777 (permissão de leitura, gravação e execução para todos os usuários) e
redireciona quaisquer erros para /dev/null.
Procurando Arquivos com Bit de SUID Ativado
find / -perm -u=s -type f 2>/dev/null
Este comando procura por arquivos no sistema de arquivos raiz / com o bit de
setuid ativado (SUID), o que geralmente indica que esses arquivos têm permissões
especiais de execução.
Procurando Arquivos de um Usuário Específico
Se você deseja encontrar arquivos pertencentes a um usuário específico, use o seguinte formato:
find /caminho/do/diretorio -user nome_do_usuario
Exemplo:
find / -user adm
Isso procurará por arquivos no sistema de arquivos raiz / que pertencem ao
usuário "adm".
Procurando Arquivos de um Grupo Específico
Para localizar arquivos que pertencem a um grupo específico, use o formato a seguir:
find /caminho/do/diretorio -group nome_do_grupo
Exemplo:
find / -group root
Isso procurará por arquivos no sistema de arquivos raiz / que pertencem ao
grupo "root".
Procurando Arquivos Modificados e/ou Acessados
Modificados nos últimos 7 dias:
find . -mtime -7
Acessados nos últimos 10 minutos:
find . -amin -10
Modificados exatamente à 10 minutos atrás:
find . -mmin 10
Modificados à mais de 10 minutos:
find . -mmin +10
-amin (access minute): Tempo de acesso em minutos.
-atime (access time): Tempo de acesso em dias.
-cmin (change minute): Tempo de alteração em minutos.
-ctime (change time): Tempo de alteração em dias.
-mmin (modify minute): Tempo de modificação em minutos.
-mtime (modify time): Tempo de modificação em dias.
Access Time (atime, amin): Refere-se ao último momento em que o arquivo foi lido
ou acessado.
Change Time (ctime, cmin): Refere-se à última vez que o inode do arquivo foi
alterado, que pode incluir mudanças nas permissões ou no proprietário do
arquivo, além de modificações no próprio conteúdo.
Modify Time (mtime, mmin): Refere-se à última vez que o conteúdo do arquivo foi
modificado.
-mtime n: Encontra arquivos modificados exatamente n dias atrás.
-mtime +n: Encontra arquivos modificados há mais de n dias.
-mtime -n: Encontra arquivos modificados nos últimos n dias.
Procurando Diretórios com Permissão de Escrita
Procurar um diretório com permissão de escrita é muito útil para carregar executáveis para fazer troubleshooting ou no caso de um teste de segurança pode ser útil para baixar ferramentas e/ou fazer o upload de shells.
find / -writable -type d 2>/dev/null