Skip to content
KitploitKITPLOIT
HerramientasExploitsBlog
Log in
Enviar
HerramientasExploitsBlog
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.

FeedsContactoPrivacidad© 2026 Kitploit

Directorio de Herramientas

Categorías

Ver todas las categorías
Loading categories
Herramientas/GitHubGitHub/whereisxuezugi/cplhf
Herramientas DefensivasAnálisis de VulnerabilidadesScripting y AutomatizaciónAuditoría de ConfiguraciónAnálisis ForenseCTFPruebas de PenetraciónAprendizaje y EducaciónRespuesta a Incidentes
GitHubwhereisxuezugi/cplhf

CPLHF

Kit modular de herramientas Bash que fortalece los sistemas Debian/Ubuntu para competiciones CyberPatriot, automatizando el endurecimiento de cuentas, firewall, SSH, PAM y servicios con registro y copias de seguridad.

5121hace 23 díasAún no revisado

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 →
Ver Repositorio
Compartir

Kit de Endurecimiento de Linux para CyberPatriot

Un kit de herramientas Bash modular para endurecer sistemas de la familia Debian/Ubuntu bajo presión de tiempo en competencia. Construido y refinado a lo largo de múltiples temporadas de la CyberPatriot National Youth Cyber Defense Competition, habiendo alcanzado recientemente el nivel Platinum en la división Linux en la ronda semifinal de 2025.

Esto no es un marco de cumplimiento de propósito general. Es un automatizador de listas de verificación para un ejercicio cronometrado de seis horas: realiza la mayoría scriptable de una pasada de endurecimiento de Linux de forma correcta, rápida e idempotente, registra todo lo que tocó y deja las decisiones de criterio a la persona que lo ejecuta.

Contenido

  • Por qué existe esto
  • Arquitectura
  • Inicio rápido
  • Qué hace realmente
  • Notas de seguridad para la competencia
  • Configuración
  • Estructura del repositorio
  • Pruebas
  • Controles de seguridad y referencias
  • Qué no hace deliberadamente este proyecto
  • Licencia

Por qué existe esto

Las rondas de Linux de CyberPatriot puntúan una imagen en vivo contra una rúbrica que recompensa un conjunto bastante predecible de pasos de endurecimiento -- higiene de cuentas, política de contraseñas, configuración del firewall, exposición de servicios, permisos de archivos, nivel de parches -- bajo un límite de tiempo estricto, generalmente sin aviso previo de exactamente qué vulnerabilidades fueron plantadas. Hacer esa lista de verificación a mano, correctamente, bajo una cuenta regresiva, es donde los equipos pierden puntos fáciles por errores tipográficos y pasos olvidados, no por material desconocido.

Este kit de herramientas comenzó como un único script monolítico escrito bajo exactamente esa presión. Este repositorio es una reescritura de ese script: misma cobertura de la lista de verificación, reestructurado en módulos pequeños y de propósito único que son más fáciles de leer, probar y razonar de forma independiente, con cada decisión no obvia vinculada a una sección específica del CIS Benchmark o a un control de NIST SP 800-53 (ver Controles de seguridad y referencias).

Arquitectura

flowchart TD
    A[bin/harden.sh] --> B[lib/common.sh<br/>logging, backups, run wrapper]
    A --> C[Service-role prompts<br/>or --config file]
    A --> D[lib/packages.sh<br/>updates, attack-tool removal]
    A --> E[lib/firewall.sh<br/>default-deny + ufw]
    A --> F[lib/ssh.sh]
    A --> G[lib/services.sh<br/>samba/ftp/mail/http/mysql/dns]
    A --> H[lib/users.sh<br/>account review, hidden UID 0]
    A --> I[lib/kernel.sh<br/>sysctl hardening]
    A --> J[lib/pam.sh<br/>password policy, lockout]
    A --> K[lib/filesystem.sh<br/>permissions, cron, banners]
    A --> L[lib/monitoring.sh<br/>fail2ban, auditd, rkhunter]
    A --> M[lib/forensics.sh<br/>baseline snapshot]
    D & E & F & G & H & I & J & K & L & M --> N[(~/hardening-run/<br/>log + backups + baseline)]

Cada módulo es cargado por bin/harden.sh, que se encarga del análisis de argumentos, el cuestionario de rol del servicio y el orden de ejecución. Los módulos no se llaman entre sí directamente, y cada comando que cambia el estado en cada módulo pasa por el envoltorio run() en lib/common.sh, lo que le da a todo el proyecto un único lugar para implementar soporte de dry-run, registro consistente y manejo de errores no fatales.

Inicio rápido

git clone <this-repo>
cd cyberpatriot-linux-hardening
sudo ./bin/harden.sh

Se te hará una breve serie de preguntas de sí/no sobre el rol de la máquina (si necesita Samba, FTP, SSH, un servidor web, etc.), y luego se ejecuta de forma desatendida a través de los módulos listados arriba. Un registro, un conjunto completo de copias de seguridad de configuración con marca de tiempo y una instantánea de línea base del sistema se escriben en ~/hardening-run/.

En una ronda real, omite las solicitudes de confirmación por paquete y responde las preguntas de rol desde un archivo de respuestas preparado en lugar de escribirlas en vivo:

cp examples/config.env.example my-machine.env
# edit my-machine.env for this box's actual role
sudo ./bin/harden.sh --config my-machine.env --auto-approve

¿Quieres ver exactamente qué haría antes de que toque algo?

sudo ./bin/harden.sh --dry-run --config my-machine.env

Qué hace realmente

MóduloHace
lib/packages.shActualización completa del sistema; elimina automáticamente crackers de contraseñas y herramientas de explotación; revisa herramientas de doble uso (nmap, Wireshark, netcat) y servicios heredados (VNC, NFS, telnet) antes de eliminarlos
lib/firewall.shDenegar por defecto entrante / permitir por defecto saliente vía ufw, más un bloqueo explícito en un puerto de puerta trasera común conocido
lib/ssh.shCifrados/KEX/MACs modernos, sin inicio de sesión root, límites de conexión y sesión -- o elimina SSH por completo si el rol no lo necesita
lib/services.shSamba, FTP, correo, impresión, MySQL, HTTP, DNS: cada uno se instala y se endurece mínimamente si el rol lo necesita, o se purga y se bloquea con firewall si no
lib/users.shRevisión interactiva de cuentas existentes (derechos de administrador, eliminación, restablecimiento de contraseña), detección de cuentas ocultas con UID 0 y contraseñas vacías
lib/kernel.shConfiguraciones sysctl de la pila de red y autoprotección del kernel (enrutamiento de origen, redirecciones ICMP, ASLR, alcance de ptrace, restricción de dmesg/kptr)
lib/pam.shComplejidad e historial de contraseñas vía pam_pwquality/pam_pwhistory, bloqueo de cuentas vía pam_faillock, caducidad de contraseñas en login.defs
lib/filesystem.shPermisos de archivos principales, restricción de cron/at, un rc.local mínimo, banners legales de inicio de sesión, escaneo de solo lectura de SUID/escribibles por todos/archivos sin propietario
lib/monitoring.shfail2ban y auditd por defecto; ClamAV y un barrido completo de rkhunter/chkrootkit son opcionales (ver Notas de seguridad para la competencia)
lib/forensics.shInstantánea de solo lectura de usuarios, procesos, puertos en escucha y paquetes instalados para comparación posterior

tools/find-port-owner.sh y tools/list-nonstandard-users.sh son pequeñas utilidades independientes para el mismo tipo de trabajo de triaje, utilizables independientemente del script principal -- consulta sus encabezados para el uso.

Notas de seguridad para la competencia

Un script de endurecimiento que rompe la máquina que se supone debe proteger es peor que inútil en una ronda cronometrada. Algunos valores por defecto reflejan eso, y vale la pena entenderlos antes de ejecutar esto de forma desatendida:

Descargar herramienta