
Detecta rootkits Linux que usam sinais para elevar privilégios de processos.
Detecta rootkits Linux que usam sinais para elevar privilégios de processos.
Alguns rootkits instalam manipuladores de sinais que escutam sinais específicos para elevar privilégios. Esta ferramenta pode identificar esses rootkits enviando sinais e observando a troca de UID para root. Opcionalmente, inicia um shell root.
Testado com:
666)Você pode baixar os binários pré-compilados mais recentes na página de Releases; ou compilar a versão pré-lançamento mais recente a partir do código-fonte:
git clone https://github.com/bcoles/rootkit-signal-hunter && \
cd rootkit-signal-hunter && \
cargo build --release
rootkit-signal-hunter -- [OPÇÕES]
--min <MIN>: Número mínimo de sinal (padrão: 0)--max <MAX>: Número máximo de sinal (padrão: 64)-s, --shell: Inicia um shell root (se detectado)-t, --threads: Número de threads de trabalho (padrão: 16)-p, --pid: ID do processo para o qual enviar sinais (padrão: $$)-v, --verbose: Ativa saída detalhada[!NOTE] A implementação de
--pidusa$$para representar o ID do processo de um processo recém-criado. Isso falhará em shells não compatíveis com POSIX, como o Fish.
Rootkits como Singularity
e Diamorphine permitem escalonamento
de privilégios usando qualquer ID de processo e podem ser trivialmente detectados
com as opções padrão (-s inicia um shell root):
rootkit-signal-hunter -s
Rootkits como KoviD exigem que um ID
de processo específico seja fornecido com a flag -p / --pid:
rootkit-signal-hunter -s --pid 666
[!NOTE] Isto arrisca encerrar o processo legítimo com o ID
666(se o usuário atual tiver a permissão necessária).
Este projeto está licenciado sob a Licença MIT. Consulte o arquivo LICENSE para obter detalhes.
Menção especial para David Reguera Garcia (Dreg), que implementou detecção semelhante baseada em sinais como parte do lsrootkit.
Copyright © 2025, bcoles