Cron Jobs - Exploit - Privilege Escalation
O que é Cron Jobs?
Basicamente, Cron Jobs são tarefas agendadas para execução automática de acordo com o tempo definido na configuração do schedule. O Crontab é onde o Cron Jobs é configurado.
Durante a execução de um pentest/ataque, depois de obter acesso a um servidor Linux, uma das etapas de exploração é a escalação de privilégio. No caso do Cron Jobs, podemos usar o script de uma tarefa agendada com permissão root para obter o privilégio da máquina.
No exemplo abaixo, primeiro é feito uma busca por scripts que executam tarefas agendadas no cron jobs, e que tenham uma falha de configuração na permissão atribuida a esse script, conforme é mostrado abaixo.
Usando o grep para fazer busca recursiva na máquina-alvo:
grep -rnw /usr -e "*.sh"
O script copy.sh tem o owner como root e tem uma falha de permissão, isto é, permite que qualquer usuário o execute (rwxrwxrwx).
A partir dessa falha na permissão do script copy.sh é possível alterá-lo.
Para conceder acesso privilegiado a um usuário no Linux, podemos adicionar no arquivo Sudoers a permissão de execução como root sem senha, conforme é mostrado abaixo.
printf '#!/bin/bash\necho "student ALL=NOPASSWD:ALL" >> /etc/sudoers' > /usr/local/share/copy.sh
Executa sudo -l e confirma que o usuário student agora tem permissão de execução como root no servidor. Logo, é possível logar como root, controlando assim todo o servidor da vítima.
Referências:
[+] Cron Jobs
https://diolinux.com.br/tutoriais/entenda-o-que-e-cron-job.html
Comentários
Postar um comentário