
Script de enumeração local para Linux que identifica vetores de escalonamento de privilégios, incluindo configurações incorretas, arquivos graváveis por qualquer usuário, senhas em texto claro e explorações aplicáveis para avaliações de segurança e preparação para CTF.
Este script foi desenvolvido para ser executado localmente em uma máquina Linux para enumerar informações básicas do sistema e procurar vetores comuns de escalação de privilégios, como arquivos graváveis por todos, configurações incorretas, senhas em texto claro e exploits aplicáveis.
O Linuxprivchecker é projetado para identificar áreas potenciais a serem investigadas mais a fundo, não para fornecer ação direta ou exploração. Isso é para ajudar os usuários a aprender melhor como essas escalações de privilégios funcionam e manter-se alinhado com as regras, para exploração autodirigida, estabelecidas para OSCP, HTB e outros CTFs/exames.
Faremos o possível para incluir informações adicionais e referências quando possível. Como mantenedor atual, também planejo acompanhar novas adições de funcionalidades com uma postagem no meu blog (hackersvanguard.com) para explicar melhor cada área potencial para escalação de privilégios e quais critérios podem ser necessários.
Para executar em sistemas legados com Python >2.6, basta obter o script python completo e executá-lo.
wget https://raw.githubusercontent.com/sleventyeleven/linuxprivchecker/master/linuxprivchecker.py
python linuxprivchecker.py -w -o linuxprivchecker.log
Atualmente, o Linuxprivchecker para Python 3.X deve ser considerado uma versão beta estável. Podem ocorrer problemas com o script e ele certamente pode deixar passar possíveis vulnerabilidades (abra uma issue ou PR).
Para executar a versão Python 3, utilize o pip.
pip install linuxprivchecker
Em seguida, execute via linha de comando se o runpy estiver disponível.
linuxprivchecker -w -o linuxprivchecker.log
ou se o runpy falhar ao adicionar o script ao seu PATH
python3 -m linuxprivchecker -w -o linuxprivchecker.log
Se o sistema que você está testando tiver Python 2.6 ou superior e/ou argparser instalado, você pode utilizar as seguintes opções. Se a importação do argparser não funcionar, todas as verificações serão executadas e nenhum arquivo de log será gravado. No entanto, você ainda pode usar redirecionamento de terminal para criar um log, como 'python linuxprivchecker.py > linuxprivchecker.log.'
uso: linuxprivchecker.py [-h] [-s] [-w] [-o OUTFILE]
Tenta reunir informações do sistema e encontrar possíveis exploits
argumentos opcionais: -h, --help mostra esta mensagem de ajuda e sai
-s, --searches Pula pesquisas que consomem tempo ou recursos intensivos
-w, --write Se deve escrever um arquivo de log, pode ser usado com -o para especificar nome/localização
-o OUTFILE, --outfile OUTFILE O arquivo para escrever os resultados (precisa ser gravável pelo usuário atual)
Aviso
Este script é fornecido "como está", sem promessa de funcionalidade ou precisão. Não tenho planos de manter atualizações, não o escrevi para ser eficiente e, em alguns casos, você pode achar que as funções podem não produzir os resultados desejados. Por exemplo, a função que vincula pacotes a processos em execução é baseada em palavras-chave e nem sempre será precisa. Além disso, a lista de exploits incluída nesta função precisará ser atualizada ao longo do tempo. Sinta-se à vontade para alterá-lo ou melhorá-lo da maneira que achar adequada.
Você é livre para modificar e/ou distribuir este script como desejar. Apenas peço que mantenha a atribuição do autor original e não tente vendê-lo ou incorporá-lo em qualquer oferta comercial (como se valesse alguma coisa de qualquer forma :)