Skip to content
KitploitKITPLOIT
HerramientasBlog
Enviar
HerramientasBlog
Enviar

¡Herramientas de Hacking, PenTest y Ciberseguridad para tu Arsenal de Seguridad!

Kitploit es un directorio de herramientas de hacking, ciberseguridad y pentesting. Descubre las últimas actualizaciones de proyectos para encontrar vulnerabilidades, analizar sistemas, automatizar pruebas y fortalecer tu seguridad.

··Feeds·Contacto·Privacidad·© 2026 Kitploit

Directorio de Herramientas

Categorías

Ver todas las categorías
Loading categories
security checks — comprobaciones de seguridad en linux | Kitploit
Herramientas/GitLabGitLab/abdom.seada/security-checks
Herramientas DefensivasForensia de MemoriaAnálisis de VulnerabilidadesForensia de RedAuditoría de ConfiguraciónAnálisis ForenseAnálisis de MalwareForensia DigitalDetección de IntrusionesRespuesta a IncidentesAnálisis de Registros
7hace 5 mesesAún no revisado
GitLab
abdom.seada/security-checks

security checks

comprobaciones de seguridad en linux

Ver Repositorio

Más Populares

Ver todos →

Descubre las herramientas más usadas por nuestra comunidad.

Explora todas las herramientas

Explora nuestra colección de herramientas

Ver todas las herramientas →
Compartir

🔍 Cazador de Mineros

Kit de herramientas de detección, eliminación y endurecimiento de criptomineros para servidores Linux.

Construido a partir de respuesta a incidentes del mundo real: detecta mineros que se ocultan de ps, top, htop y btop usando técnicas de rootkit.


📦 Instalación

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

🔀 Rama: master — Este kit de herramientas reside en la rama master. Se pueden agregar otros scripts de seguridad en ramas separadas en el futuro.


⚙️ Configuración

⚠️

Descargar herramienta
Ejecuta setup.sh una vez justo después de clonar — saltarse esto es la causa #1 de errores.
root@kitploit:~
sudo bash setup.sh

setup.sh maneja todo automáticamente:

PasoQué hace
✅ Permisoschmod +x en miner-hunter y todos los scripts lib/*.sh
✅ DirectoriosCrea /var/log/miner_hunter/ y /var/lib/miner_hunter/ (solo root, 700)
✅ DependenciasVerifica perf, mpstat, iptables, fail2ban, bc, strings — instala automáticamente las faltantes
✅ AutocomprobaciónEjecuta ./miner-hunter --version para confirmar que todo está correctamente enlazado

Salida esperada cuando la configuración tiene éxito:

root@kitploit:~
✅ Configuración completa — todas las comprobaciones exitosas.

  Próximos pasos:
    sudo ./miner-hunter scan        # Escaneo seguro de solo lectura
    sudo ./miner-hunter full        # Escanear → Matar → Endurecer

💡 ¿Por qué es necesario? Linux no ejecutará un archivo a menos que tenga el flag +x. Git y transferencias SCP eliminan esto. setup.sh arregla todos los archivos de una sola vez — incluyendo los módulos lib/ de los que depende el script principal.


🚀 Inicio Rápido

root@kitploit:~
sudo ./miner-hunter scan            # ✅ Seguro — solo lectura, cero cambios
sudo ./miner-hunter full            # ⚠️  Pipeline completo: Escanear → Matar → Endurecer
sudo ./miner-hunter scan --dry-run  # 👁️  Modo vista previa — muestra lo que sucedería

📋 Comandos y Opciones

Comandos

ComandoDescripción¿Cambia el sistema?
scanEscaneo completo de detección — procesos ocultos, CPU, red, persistencia✅ No
killMatar mineros identificados, bloquear IPs de pool, eliminar artefactos⚠️ Sí
hardenEndurecimiento post-incidente — SSH, firewall, watchdog, línea base de integridad⚠️ Sí
fullEjecuta escanear → matar → endurecer con avisos de confirmación entre fases⚠️ Sí
reportMostrar el informe de escaneo más reciente✅ No

Opciones

OpciónDescripción
-d, --dry-runPrevisualizar todas las acciones sin realizar cambios
-e, --evidence DIRGuardar evidencia en un directorio personalizado en lugar de /root/miner_evidence_*
-h, --helpMostrar ayuda
-v, --versionMostrar versión

🎭 Escenarios de Caso

Situaciones del mundo real y exactamente qué ejecutar en cada una.


🔴 Escenario 1 — "El CPU de mi servidor está al 100% pero top no muestra nada"

Este es el síntoma clásico de un rootkit. El minero se oculta de las herramientas de espacio de usuario pero no puede ocultarse de los contadores de rendimiento del hardware.

root@kitploit:~
# Paso 1: Ejecuta un escaneo seguro primero — confirma lo que hay antes de tocar nada
sudo ./miner-hunter scan

Lo que verás si hay un minero presente:

root@kitploit:~
🚨 [CRÍTICO]  Anomalía de CPU: 97% CPU de usuario pero top muestra máximo 2% por proceso
🚨 [CRÍTICO]  perf detectó 4 hilos ocultos consumiendo ~94% de CPU total
🚨 [CRÍTICO]  Conexión activa a 185.x.x.x:9200 (puerto de minería conocido)
🚨 [CRÍTICO]  Hilo falso del kernel PID=3421 NOMBRE=[kworker/0:1] EXE=/tmp/.x/miner
root@kitploit:~
# Paso 2: Mata al minero y bloquea su pool
sudo ./miner-hunter kill

# Paso 3: Endurece el servidor para que no pueda regresar
sudo ./miner-hunter harden

🟡 Escenario 2 — "Creo que fui hackeado pero no estoy seguro"

Notaste algo sospechoso — tráfico saliente inusual, una tarea cron que no creaste, un proceso con nombre raro — pero no estás seguro.

root@kitploit:~
# Ejecuta un escaneo completo — completamente seguro, solo lectura, cero cambios
sudo ./miner-hunter scan

# Luego lee el informe estructurado
sudo ./miner-hunter report

El informe en /root/miner_evidence_*/report.txt categoriza cada hallazgo por severidad:

  • [CRÍTICO] entradas → proceder a kill inmediatamente
  • [ADVERTENCIA] entradas → revisar manualmente antes de actuar
  • Informe vacío → el servidor parece limpio

🟠 Escenario 3 — "Maté al minero manualmente pero sigue regresando"

El minero tiene un mecanismo de persistencia — una tarea cron, servicio systemd, entrada PM2, o puerta trasera en perfil de shell que lo revive después de matarlo.

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

Busca estos en la salida:

root@kitploit:~
⚠️  [ADVERTENCIA] Entrada cron sospechosa: * * * * * /tmp/.x/update
🚨 [CRÍTICO]   Servicio systemd malicioso: /etc/systemd/system/update-check.service
🚨 [CRÍTICO]   Proceso PM2 'app-worker' tiene 8432 reinicios — probablemente bucle de reaparición de minero
🚨 [CRÍTICO]   Puerta trasera en perfil de shell detectada en /root/.bashrc
root@kitploit:~
# kill elimina TODOS los artefactos de persistencia — no solo el proceso en ejecución
sudo ./miner-hunter kill

# Luego endurece para instalar el watchdog y ser alertado si algo reaparece
sudo ./miner-hunter harden

💡 Después de kill, el watchdog cron se ejecuta cada 5 minutos y registra en /var/log/miner_hunter/watchdog_alerts.log — sabrás de inmediato si algo regresa.


🔵 Escenario 4 — "Quiero endurecer un servidor nuevo antes de que pase algo"

Endurecimiento proactivo antes de implementar — sin minero, sin incidente, solo asegurando.

root@kitploit:~
# Ejecuta harden solo — no necesita escaneo ni kill
sudo ./miner-hunter harden

Esto hará:

  • Auditar tu configuración SSH e imprimir las configuraciones recomendadas
  • Verificar que fail2ban está activo con una jaula sshd
  • Crear una línea base de integridad de /usr/bin (checksums MD5 — para que puedas detectar binarios alterados después)
  • Instalar un watchdog cron que verifica cada 5 minutos indicadores de mineros
  • Persistir cualquier regla iptables existente a través de reinicios mediante un servicio systemd

⚫ Escenario 5 — "El minero sobrevivió al kill — el CPU sigue alto"

Después de kill, el paso de verificación reporta que el minero podría seguir ejecutándose:

root@kitploit:~
⚠️  EL MINERO PUEDE HABER REAPARECIDO
CPU: 89% | Conexiones mineras: 1
Los bloqueos de firewall están en su lugar — el minero no puede alcanzar el pool
Considera un REINICIO o REINSTALACIÓN DEL SISTEMA OPERATIVO
root@kitploit:~
# 1. Los bloqueos de firewall ya están en su lugar — el minero NO PUEDE alcanzar su pool
#    Confirma que los bloqueos están activos:
iptables -L OUTPUT -n | grep DROP

# 2. Ejecuta un segundo escaneo para ver qué sobrevivió
sudo ./miner-hunter scan

# 3. Verifica si hay un rootkit de módulo del kernel ocultando el proceso
lsmod | grep -iE 'diamorphine|reptile|kovid|rootkit'

# 4. Valor de tainted distinto de cero = módulos del kernel fuera de árbol cargados (indicador de rootkit)
cat /proc/sys/kernel/tainted

Si el valor de tainted del kernel es distinto de cero o aparece un módulo rootkit conocido — el minero tiene control a nivel de kernel. El camino más seguro en este punto es una reinstalación completa del sistema operativo desde una instantánea limpia conocida.


🟣 Escenario 6 — "Quiero monitoreo continuo sin ejecutar escaneos manualmente"

Después de harden, el watchdog cron ya está instalado. Aquí te mostramos cómo trabajar con él:

root@kitploit:~
# Ve el registro de alertas en tiempo real
tail -f /var/log/miner_hunter/watchdog_alerts.log

# Confirma que la tarea cron del watchdog está registrada
cat /etc/cron.d/miner-watchdog

# Verifica cambios en binarios de /usr/bin desde que se tomó tu línea base
md5sum --check /var/lib/miner_hunter/usrbin_baseline.md5 --quiet

Cualquier salida del último comando significa que un binario del sistema fue modificado después de tu línea base — investiga inmediatamente.


🔬 Lo Que Detecta

Detección de Procesos Ocultos

TécnicaLo que detecta
Comparación /proc vs psProcesos invisibles para herramientas de espacio de usuario
Secuestro LD_PRELOADBibliotecas compartidas maliciosas que enganchan libc para ocultar procesos
Rootkits de módulo del kernelDiamorphine, Reptile, Kovid y otros rootkits conocidos
Hilos falsos del kernelMineros disfrazados como [kworker], [kthreadd], [kswapd]
Binarios del sistema modificadosps, top, ls, ss, netstat reemplazados

Perfilado de CPU

TécnicaLo que detecta
Perfilado PMC de hardware con perfConsumidores de CPU ocultos — los rootkits no pueden falsificar contadores de hardware
Muestreo delta de /procContabilidad de CPU directa a nivel de kernel por PID
Detección de anomalías de CPUAlto %user de CPU sin proceso visible que lo explique

Análisis de Red

TécnicaLo que detecta
Lectura directa de /proc/net/tcpConexiones activas — evita ss/netstat enganchados
Detección de puertos de mineríaPuertos 3333, 4444, 5555, 7777, 9200, 14433, 14444, 45560
Resolución de dominios de mineríaResuelve dominios de pool conocidos y verifica conexiones activas
Mapeo Socket-a-PIDRastrea qué proceso posee cada conexión minera

Mecanismos de Persistencia

UbicaciónLo que verifica
Cron/etc/cron*, /var/spool/cron/, todos los crontabs de usuario
SystemdTodos los archivos de unidad y temporizadores para entradas sospechosas
Reglas UdevEjecución desencadenada por hardware en eventos de dispositivo
PM2Entradas del administrador de procesos Node.js con conteos de reinicio extremos
Perfiles de shell.bashrc, .bash_profile, /etc/profile, /etc/profile.d/*
SSHTodos los archivos authorized_keys de todos los usuarios
WebshellsArchivos PHP dentro de directorios de proyectos Node.js
Configuraciones XMRigconfig.json en ubicaciones comunes de caída de mineros

⚔️ Proceso de Eliminación — Paso a Paso

Cuando ejecutas sudo ./miner-hunter kill, esta es la secuencia exacta:

  1. 🔥 Bloquear IPs de pool de minería en el firewall — las reglas iptables DROP se aplican antes de matar, para que el minero no pueda reconectarse incluso si reaparece
  2. 💀 Matar al líder del grupo de hilos — apunta al TGID (PID del líder del grupo de hilos) primero con SIGKILL
  3. 🧹 Barrer todos los hilos trabajadores — mata cada PID en el mismo grupo de hilos en todo el rango de PIDs
  4. 🗑️ Eliminar artefactos — configuraciones del minero, binarios, webshells y archivos de persistencia
  5. 🔄 Limpiar PM2 — elimina entradas del minero del administrador de procesos Node.js y guarda la lista
  6. ✅ Verificar — vuelve a ejecutar perf y verifica /proc/net/tcp para confirmar que la CPU bajó y las conexiones desaparecieron

🛡️ Endurecimiento Post-Incidente — Lo Que Se Aplica

AcciónDetalle
Persistencia del firewallServicio systemd para restaurar los bloqueos de minería en iptables en cada reinicio
Auditoría SSHVerifica PermitRootLogin, PasswordAuthentication, MaxAuthTries — imprime valores recomendados
Verificación Fail2banVerifica que la jaula sshd esté activa e informa IPs bloqueadas actualmente
Watchdog de minerosTarea cron cada 5 minutos — verifica anomalías de CPU, LD_PRELOAD, puertos de minería, webshells PHP
Línea base de /usr/binChecksums MD5 de todos los binarios en /usr/bin para futura detección de manipulación

📁 Estructura del Proyecto

root@kitploit:~
security-checks/               ← raíz del repositorio (rama master)
├── miner-hunter               # Punto de entrada — esto es lo que ejecutas
├── setup.sh                   # ⚙️ Configuración inicial — ejecuta una vez después de clonar
├── lib/
│   ├── common.sh              # Utilidades compartidas: registro, colores, ayudantes
│   ├── detect_hidden.sh       # Detección de procesos ocultos y rootkits
│   ├── detect_cpu.sh          # Perfilado de CPU mediante perf & /proc
│   ├── detect_network.sh      # Detección de conexiones a pools de minería
│   ├── detect_persistence.sh  # Detección de mecanismos de persistencia
│   ├── kill_miner.sh          # Eliminación de procesos y eliminación de artefactos
│   └── harden.sh              # Endurecimiento post-incidente
├── README.md
└── LICENSE

📋 Requisitos

RequisitoDetalle
SOLinux — probado en Ubuntu 24.04 LTS, Debian 13
PrivilegiosDebe ejecutarse como root (sudo)
Instalado automáticamente por setup.shperf, mpstat (sysstat), bc, strings (binutils)
Recomendadofail2ban — se señala si falta, no se instala automáticamente
Requerido (no instalado automáticamente)iptables — debe estar presente para las fases kill/harden

📤 Archivos de Salida

Cada ejecución produce:

SalidaUbicaciónContenido
Directorio de evidencia/root/miner_evidence_YYYYMMDD_HHMMSS/Binarios capturados, informes perf, configuraciones de mineros
Archivo de registro/var/log/miner_hunter/run_YYYYMMDD_HHMMSS.logRegistro completo con marcas de tiempo de la ejecución
Informeevidence_dir/report.txtResumen estructurado de hallazgos con severidades
Alertas de watchdog/var/log/miner_hunter/watchdog_alerts.logAlertas continuas después de harden
Línea base de integridad/var/lib/miner_hunter/usrbin_baseline.md5Checksums de /usr/bin después de harden

🌍 Origen en el Mundo Real

Esta herramienta fue construida durante respuesta a incidentes activa contra un criptominero que:

  • Se renombró a next para mezclarse con procesos de Next.js en un servidor Node.js
  • Usó un líder de grupo de hilos renombrado a kthreadd — un nombre real de hilo del kernel
  • Eliminó su binario del disco mientras seguía ejecutándose en memoria (/proc/PID/exe → (deleted))
  • Era completamente invisible para ps, top, htop y btop
  • Solo podía ser detectado mediante perfilado de contador de CPU hardware de perf

📄 Licencia

MIT