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
security checks — verificações de segurança do Linux | Kitploit
Ferramentas/GitLabGitLab/abdom.seada/security-checks
Ferramentas DefensivasForensia de MemóriaAnálise de VulnerabilidadesForensia de RedeAuditoria de ConfiguraçãoAnálise ForenseAnálise de MalwareForensia DigitalDetecção de IntrusãoResposta a IncidentesAnálise de Logs
7há 5 mesesAinda 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 →
GitLab
abdom.seada/security-checks

security checks

verificações de segurança do Linux

Ver Repositório
Compartilhar

🔍 Miner Hunter

Kit de detecção, remoção e fortalecimento de criptomineradores para servidores Linux.

Construído a partir de resposta a incidentes reais — detecta mineradores que se escondem de ps, top, htop e btop usando técnicas de rootkit.


📦 Instalação

root@kitploit:~
git clone https://gitlab.com/abdom.seada/security-checks.git
cd security-checks
sudo bash setup.sh

🔀 Branch: master — Este kit está na branch master. Outros scripts de segurança podem ser adicionados em branches separadas no futuro.


⚙️ Configuração

⚠️ Execute setup.sh uma vez logo após clonar — pular isso é a causa nº 1 de erros.

Baixar ferramenta
root@kitploit:~
sudo bash setup.sh

setup.sh cuida de tudo automaticamente:

EtapaO que faz
✅ Permissõeschmod +x no miner-hunter e em todos os scripts lib/*.sh
✅ DiretóriosCria /var/log/miner_hunter/ e /var/lib/miner_hunter/ (apenas root, 700)
✅ DependênciasVerifica perf, mpstat, iptables, fail2ban, bc, strings — instala automaticamente os que faltam
✅ AutotesteExecuta ./miner-hunter --version para confirmar que tudo está configurado corretamente

Saída esperada quando a configuração é bem-sucedida:

root@kitploit:~
✅ Configuração concluída — todas as verificações passaram!

  Próximos passos:
    sudo ./miner-hunter scan        # Escaneamento seguro somente leitura
    sudo ./miner-hunter full        # Escaneamento → Matar → Fortalecer

💡 Por que isso é necessário? O Linux não executa um arquivo a menos que ele tenha a flag +x. Git e transferências SCP removem isso. setup.sh corrige todos os arquivos de uma só vez — incluindo os módulos lib/ dos quais o script principal depende.


🚀 Início Rápido

root@kitploit:~
sudo ./miner-hunter scan            # ✅ Seguro — somente leitura, zero alterações
sudo ./miner-hunter full            # ⚠️  Pipeline completo: Escanear → Matar → Fortalecer
sudo ./miner-hunter scan --dry-run  # 👁️  Modo pré-visualização — mostra o que aconteceria

📋 Comandos e Opções

Comandos

ComandoDescriçãoAltera o sistema?
scanEscaneamento completo de detecção — processos ocultos, CPU, rede, persistência✅ Não
killMata mineradores identificados, bloqueia IPs dos pools, remove artefatos⚠️ Sim
hardenFortalecimento pós-incidente — SSH, firewall, watchdog, linha de base de integridade⚠️ Sim
fullExecuta escaneamento → matar → fortalecer com prompts de confirmação entre as fases⚠️ Sim
reportExibe o relatório de escaneamento mais recente✅ Não

Opções

OpçãoDescrição
-d, --dry-runPré-visualiza todas as ações sem fazer nenhuma alteração
-e, --evidence DIRSalva evidências em um diretório personalizado em vez de /root/miner_evidence_*
-h, --helpMostra ajuda
-v, --versionMostra versão

🎭 Cenários de Caso

Situações do mundo real e exatamente o que executar em cada uma.


🔴 Cenário 1 — "A CPU do meu servidor está em 100% mas o top não mostra nada"

Este é o sintoma clássico de rootkit. O minerador está se escondendo das ferramentas do espaço do usuário, mas não pode se esconder dos contadores de desempenho do hardware.

root@kitploit:~
# Passo 1: Execute um escaneamento seguro primeiro — confirme o que está lá antes de tocar em algo
sudo ./miner-hunter scan

O que você verá se um minerador estiver presente:

root@kitploit:~
🚨 [CRÍTICO]  Anomalia de CPU: 97% de CPU de usuário, mas top mostra no máximo 2% por processo
🚨 [CRÍTICO]  perf detectou 4 threads ocultas consumindo ~94% do total da CPU
🚨 [CRÍTICO]  Conexão ativa para 185.x.x.x:9200 (porta de mineração conhecida)
🚨 [CRÍTICO]  Thread de kernel falsa PID=3421 NOME=[kworker/0:1] EXE=/tmp/.x/miner
root@kitploit:~
# Passo 2: Mate o minerador e bloqueie seu pool
sudo ./miner-hunter kill

# Passo 3: Fortaleça o servidor para que ele não possa voltar
sudo ./miner-hunter harden

🟡 Cenário 2 — "Acho que fui hackeado, mas não tenho certeza"

Você notou algo suspeito — tráfego de saída incomum, um cron job que você não criou, um processo com nome estranho — mas não tem certeza.

root@kitploit:~
# Execute um escaneamento completo — totalmente seguro, somente leitura, zero alterações
sudo ./miner-hunter scan

# Em seguida, leia o relatório estruturado
sudo ./miner-hunter report

O relatório em /root/miner_evidence_*/report.txt categoriza cada descoberta por gravidade:

  • Entradas [CRÍTICO] → prossiga para kill imediatamente
  • Entradas [AVISO] → revise manualmente antes de agir
  • Relatório vazio → servidor parece limpo

🟠 Cenário 3 — "Matei o minerador manualmente, mas ele continua voltando"

O minerador possui um mecanismo de persistência — um cron job, serviço systemd, entrada PM2 ou backdoor no profile do shell que o reanima depois que você o mata.

root@kitploit:~
sudo ./miner-hunter scan

Procure por estes na saída:

root@kitploit:~
⚠️  [AVISO]    Entrada cron suspeita: * * * * * /tmp/.x/update
🚨 [CRÍTICO]  Serviço systemd malicioso: /etc/systemd/system/update-check.service
🚨 [CRÍTICO]  Processo PM2 'app-worker' tem 8432 reinicializações — provavelmente loop de reanimação do minerador
🚨 [CRÍTICO]  Backdoor no profile do shell detectado em /root/.bashrc
root@kitploit:~
# kill remove TODOS os artefatos de persistência — não apenas o processo em execução
sudo ./miner-hunter kill

# Em seguida, fortaleça para instalar o watchdog e ser alertado se algo reanimar
sudo ./miner-hunter harden

💡 Após kill, o watchdog cron é executado a cada 5 minutos e registra em /var/log/miner_hunter/watchdog_alerts.log — você saberá imediatamente se algo voltar.


🔵 Cenário 4 — "Quero fortalecer um servidor novo antes que algo aconteça"

Fortalecimento proativo antes de implantar — sem minerador, sem incidente, apenas bloqueando tudo.

root@kitploit:~
# Execute harden de forma independente — sem necessidade de scan ou kill
sudo ./miner-hunter harden

Isso irá:

  • Auditar sua configuração SSH e exibir as configurações recomendadas
  • Verificar se o fail2ban está ativo com uma jail sshd
  • Criar uma linha de base de integridade no /usr/bin (checksums MD5 — para que você possa detectar binários adulterados posteriormente)
  • Instalar um watchdog cron que verifica a cada 5 minutos por indicadores de minerador
  • Persistir quaisquer regras iptables existentes entre reinicializações através de um serviço systemd

⚫ Cenário 5 — "O minerador sobreviveu ao kill — a CPU ainda está alta"

Após kill, a etapa de verificação relata que o minerador pode ainda estar em execução:

root@kitploit:~
⚠️  MINERADOR PODE TER REANIMADO
CPU: 89% | Conns de mineração: 1
Bloqueios de firewall estão em vigor — minerador não consegue alcançar o pool
Considere uma REINICIALIZAÇÃO ou REINSTALAÇÃO DO SO
root@kitploit:~
# 1. Os bloqueios de firewall já estão em vigor — o minerador NÃO PODE alcançar seu pool
#    Confirme que os bloqueios estão ativos:
iptables -L OUTPUT -n | grep DROP

# 2. Execute um segundo escaneamento para ver o que sobreviveu
sudo ./miner-hunter scan

# 3. Verifique a existência de um rootkit de módulo de kernel escondendo o processo
lsmod | grep -iE 'diamorphine|reptile|kovid|rootkit'

# 4. Taint diferente de zero = módulos de kernel fora da árvore carregados (indicador de rootkit)
cat /proc/sys/kernel/tainted

Se o valor de taint do kernel for diferente de zero ou um módulo rootkit conhecido aparecer — o minerador tem controle em nível de kernel. O caminho mais seguro neste ponto é uma reinstalação completa do SO a partir de um snapshot conhecidamente limpo.


🟣 Cenário 6 — "Quero monitoramento contínuo sem executar escaneamentos manualmente"

Após harden, o watchdog cron já está instalado. Veja como trabalhar com ele:

root@kitploit:~
# Acompanhe o log de alertas em tempo real
tail -f /var/log/miner_hunter/watchdog_alerts.log

# Confirme que o cron job do watchdog está registrado
cat /etc/cron.d/miner-watchdog

# Verifique alterações em binários do /usr/bin desde que a linha de base foi criada
md5sum --check /var/lib/miner_hunter/usrbin_baseline.md5 --quiet

Qualquer saída do último comando significa que um binário do sistema foi modificado após sua linha de base — investigue imediatamente.


🔬 O Que Ele Detecta

Detecção de Processos Ocultos

TécnicaO que captura
Comparação /proc vs psProcessos invisíveis para ferramentas do espaço do usuário
Sequestro LD_PRELOADBibliotecas compartilhadas maliciosas que interceptam libc para esconder processos
Rootkits de módulo de kernelDiamorphine, Reptile, Kovid e outros rootkits conhecidos
Threads de kernel falsasMineradores se passando por [kworker], [kthreadd], [kswapd]
Binários de sistema modificadosps, top, ls, ss, netstat substituídos

Perfil de CPU

TécnicaO que captura
Perfilamento PMC de hardware perfConsumidores de CPU ocultos — rootkits não podem falsificar contadores de hardware
Amostragem delta /procContabilidade de CPU em nível de kernel diretamente por PID
Detecção de anomalia de CPUAlta CPU %user sem nenhum processo visível para explicá-la

Análise de Rede

TécnicaO que captura
Leitura direta de /proc/net/tcpConexões ativas — ignora ss/netstat sequestrados
Detecção de portas de mineraçãoPortas 3333, 4444, 5555, 7777, 9200, 14433, 14444, 45560
Resolução de domínios de mineraçãoResolve domínios conhecidos de pools e cruza com conexões ativas
Mapeamento soquete-para-PIDRastreia qual processo possui cada conexão de mineração

Mecanismos de Persistência

LocalizaçãoO que verifica
Cron/etc/cron*, /var/spool/cron/, todos os crontabs de usuários
SystemdTodos os arquivos de unidade e timers para entradas suspeitas
Regras UdevExecução acionada por hardware em eventos de dispositivo
PM2Entradas do gerenciador de processos Node.js com contagens extremas de reinicialização
Profiles de shell.bashrc, .bash_profile, /etc/profile, /etc/profile.d/*
SSHTodos os arquivos authorized_keys em todos os usuários
WebshellsArquivos PHP dentro de diretórios de projetos Node.js
Configs do XMRigconfig.json em locais comuns de queda de mineradores

⚔️ Processo de Kill — Passo a Passo

Quando você executa sudo ./miner-hunter kill, esta é a sequência exata:

  1. 🔥 Bloqueie IPs dos pools de mineração no firewall — regras iptables DROP aplicadas antes de matar, para que o minerador não possa se reconectar mesmo se reanimar
  2. 💀 Mate o líder do grupo de threads — visa primeiro o TGID (PID do líder do grupo de threads) com SIGKILL
  3. 🧹 Varra todas as threads de trabalho — mata todos os PIDs no mesmo grupo de threads em toda a faixa de PID
  4. 🗑️ Remova artefatos — configurações do minerador, binários, webshells e arquivos de persistência
  5. 🔄 Limpe o PM2 — remove entradas do minerador do gerenciador de processos Node.js e salva a lista
  6. ✅ Verifique — reexecuta perf e verifica /proc/net/tcp para confirmar que a CPU caiu e as conexões sumiram

🛡️ Fortalecimento Pós-Incidente — O Que é Aplicado

AçãoDetalhe
Persistência de firewallServiço systemd para restaurar os bloqueios de mineração iptables a cada reinicialização
Auditoria SSHVerifica PermitRootLogin, PasswordAuthentication, MaxAuthTries — imprime valores recomendados
Verificação Fail2banVerifica se a jail sshd está ativa e relata IPs atualmente banidos
Watchdog de mineradorCron job a cada 5 min — verifica anomalia de CPU, LD_PRELOAD, portas de mineração, webshells PHP
Linha de base /usr/binChecksums MD5 de todos os binários em /usr/bin para futura detecção de adulteração

📁 Estrutura do Projeto

root@kitploit:~
security-checks/               ← raiz do repositório (branch master)
├── miner-hunter               # Ponto de entrada — é isso que você executa
├── setup.sh                   # ⚙️ Configuração inicial — execute uma vez após clonar
├── lib/
│   ├── common.sh              # Utilitários compartilhados: registro, cores, ajudantes
│   ├── detect_hidden.sh       # Detecção de processos ocultos e rootkits
│   ├── detect_cpu.sh          # Perfil de CPU via perf & /proc
│   ├── detect_network.sh      # Detecção de conexão com pool de mineração
│   ├── detect_persistence.sh  # Detecção de mecanismos de persistência
│   ├── kill_miner.sh          # Eliminação de processos e remoção de artefatos
│   └── harden.sh              # Fortalecimento pós-incidente
├── README.md
└── LICENSE

📋 Requisitos

RequisitoDetalhe
SOLinux — testado no Ubuntu 24.04 LTS, Debian 13
PrivilégiosDeve ser executado como root (sudo)
Instalado automaticamente pelo setup.shperf, mpstat (sysstat), bc, strings (binutils)
Recomendadofail2ban — sinalizado se ausente, não instalado automaticamente
Obrigatório (não instalado automaticamente)iptables — deve estar presente para as fases de kill/harden

📤 Arquivos de Saída

Cada execução produz:

SaídaLocalizaçãoConteúdo
Diretório de evidências/root/miner_evidence_YYYYMMDD_HHMMSS/Binários capturados, relatórios perf, configurações do minerador
Arquivo de log/var/log/miner_hunter/run_YYYYMMDD_HHMMSS.logLog completo com timestamp da execução
Relatórioevidence_dir/report.txtResumo estruturado das descobertas com gravidades
Alertas do watchdog/var/log/miner_hunter/watchdog_alerts.logAlertas contínuos após harden
Linha de base de integridade/var/lib/miner_hunter/usrbin_baseline.md5Checksums do /usr/bin após harden

🌍 Origem no Mundo Real

Esta ferramenta foi construída durante resposta a incidentes ativa contra um criptominerador que:

  • Se renomeou para next para se misturar com processos Next.js em um servidor Node.js
  • Usou um líder de grupo de threads renomeado para kthreadd — um nome real de thread de kernel
  • Excluiu seu binário do disco enquanto permanecia em execução na memória (/proc/PID/exe → (deleted))
  • Estava completamente invisível para ps, top, htop e btop
  • Só pôde ser detectado via perfilamento de contador de CPU de hardware perf

📄 Licença

MIT