CATSploit: Una Herramienta de Pruebas de Penetración Automatizada Utilizando la Evaluación de Técnicas de Ataque Cibernético (CATS)

CATSploit es una herramienta automatizada de pruebas de penetración que utiliza el método de Evaluación de Técnicas de Ataque Cibernético (CATS).

A diferencia de los pentesters tradicionales, CATSploit utiliza información de configuración del sistema, como el sistema operativo, puertos abiertos y versiones de software recopiladas por el escáner, para calcular valores de puntuación de captura (eVc) y detectabilidad (eVd) de cada técnica de ataque para el sistema objetivo.

NOTA: Toda la información y los códigos se proporcionan únicamente con fines educativos y/o para probar sus propios sistemas.

Esto permite seleccionar la técnica de ataque más apropiada sin depender exclusivamente de las habilidades del pentester profesional.

Exploits Soportados por CATSploit

CATSploit automatiza las pruebas de penetración en la siguiente secuencia:

1. Recopilación de Información

En esta fase, se recopila información sobre los sistemas objetivo. CATSploit es compatible con herramientas como nmap y OpenVAS para obtener información de los sistemas objetivo. También admite información previa sobre los sistemas objetivo, si está disponible.

2. Cálculo del Valor de Puntuación de Técnicas de Ataque

Utilizando la información recopilada y la base de datos de técnicas de ataque, se calculan los valores de evaluación de captura (eVc) y detectabilidad (eVd) de cada técnica de ataque para cada computadora objetivo.

3. Selección de Técnicas de Ataque y Creación de Escenario

Se seleccionan las técnicas de ataque utilizando los puntajes calculados, y se crean escenarios de ataque de acuerdo con políticas predefinidas. Por ejemplo, para una política que prioriza la dificultad de detección, se seleccionarán las técnicas de ataque con el valor eVd más bajo.

4. Ejecución del Escenario de Ataque

CATSploit ejecuta las técnicas de ataque según el escenario construido en la fase anterior. Utiliza Metasploit como marco y la API de Metasploit para realizar ataques reales.

Requisitos Previos

CATSploit tiene los siguientes requisitos previos:

  • Kali Linux 2023.2a
  • Metasploit, Nmap y OpenVAS instalados con la Distribución Kali.

Instalación de CATSploit

Para instalar la última versión de CATSploit, utiliza los siguientes comandos:

$ git clone https://github.com/catsploit/catsploit.git
$ cd catsploit
$ git clone https://github.com/catsploit/cats-helper.git
$ sudo ./setup.sh

Configuración de CATSploit

CATSploit utiliza un archivo de configuración JSON para la configuración del servidor-cliente. Ajusta los campos necesarios en config.json según tu entorno.

  • DBMS
    • dbname: database name created for CATSploit
    • user: username of PostgreSQL
    • password: password of PostgrSQL
    • host: If you are using a database on a remote host, specify the IP address of the host
  • SCENARIO
    • generator.maxscenarios: Maximum number of scenarios to calculate (*)
  • ATTACKPF
    • msfpassword: password of MSFRPCD
    • openvas.user: username of PostgreSQL
    • openvas.password: password of PostgreSQL
    • openvas.maxhosts: Maximum number of hosts to be test at the same time (*)
    • openvas.maxchecks: Maximum number of test items to be test at the same time (*)
  • ATTACKDB
    • attack_db_dir: Path to the folder where AtackSteps are stored

Uso de CATSploit

Para iniciar el servidor, ejecuta el siguiente comando:

$ python cats_server.py -c [CONFIG_FILE]

Luego, en otra consola, inicia el programa cliente y establece una conexión con el servidor:

$ python catsploit.py -s [SOCKET_PATH]

Después de conectarte al servidor e inicializarlo, la sesión comenzará.

catsploit>

El cliente puede ejecutar una variedad de comandos. Cada comando se puede ejecutar con -hla opción de mostrar el formato de sus argumentos.

usage: [-h] {host,scenario,scan,plan,attack,post,reset,help,exit}

positional arguments:
  {host,scenario,scan,plan,attack,post,reset,help,exit}

options:
  -h, --help       show this help message and exit 

También publiqué los comandos y opciones a continuación como referencia.

host list:
 show information about the hosts
 usage:  host list [-h] 
 options:
  -h, --help       show this help message and exit

host detail:
 show more information about one host
 usage:  host detail [-h] host_id 
 positional arguments:
  host_id          ID of the host for which you want to show information
 options:
  -h, --help       show this help message and exit

scenario list:
 show information about the scenarios
 usage:  scenario list [-h]
 options:
  -h, --help       show this help message and exit

scenario detail:
 show more information about one scenario
 usage:  scenario detail [-h] scenario_id
 positional arguments:
  scenario_id      ID of the scenario for which you want to show information
 options:
  -h, --help       show this help message and exit

scan:
 run network-scan and security-scan
 usage:  scan [-h] [--port PORT] targe   t_host [target_host ...]
 positional arguments:
  target_host      IP address to be scanned
 options:
  -h, --help       show this help message and exit
  --port PORT      ports to be scanned

plan:
 planning attack scenarios
 usage:  plan [-h] src_host_id dst_host_id
 positional arguments:
  src_host_id      originating host
  dst_host_id      target host
 options:
  -h, --help       show this help message and exit

attack:
 execute attack scenario
 usage:  attack [-h] scenario_id
 positional arguments:
  scenario_id      ID of the scenario you want to execute

 options:
  -h, --help       show this help message and exit

post find-secret:
 find confidential information files that can be performed on the pwned host
 usage:  post find-secret [-h] host_id
 positional arguments:
  host_id          ID of the host for which you want to find confidential information
 op   tions:
  -h, --help       show this help message and exit

reset:
 reset data on the server
 usage:  reset [-h] {system} ...
 positional arguments:
  {system}         reset system
options:
  -h, --help  show this help message and exit

exit:
  exit CATSploit
  usage:  exit [-h]
  options:
   -h, --help  show this help message and exit

Comandos y Ejemplos

En este ejemplo, utilizamos CATSploit para escanear la red, planificar el escenario del ataque y ejecutar el ataque.

catsploit> scan 192.168.0.0/24
Network Scanning ... 100%
[*] Total 2 hosts were discovered.
Vulnerability Scanning ... 100%
[*] Total 14 vulnerabilities were discovered.
catsploit> host list

catsploit> host detail h_exbiy6

[IP address]

[Open ports]

[Vulnerabilities]

[Users]

catsploit> plan attacker h_exbiy6
Planning attack scenario...100%
[*] Done. 15 scenarios was planned.
[*] To check each scenario, try 'scenario list' and/or 'scenario detail'.
catsploit> scenario list

catsploit> scenario detail rmgrof

[Steps]

catsploit> attack rmgrof
> ~> ~
> Metasploit Console Log
> ~
> ~
[+] Attack scenario succeeded!


catsploit> exit
Bye.

Conclusión

CATSploit proporciona una forma automatizada y basada en evaluaciones para la selección de técnicas de ataque en pruebas de penetración.

Al utilizar la Evaluación de Técnicas de Ataque Cibernético, permite a los profesionales de seguridad seleccionar las tácticas más efectivas para un sistema objetivo. Esta herramienta es una adición valiosa a la caja de herramientas de seguridad cibernética.

Relacionado

Bugsy: Herramienta de Interfaz de Línea de Comando que Proporciona Remedios Automáticos para Vulnerabilidades

Bugsy es una herramienta de interfaz de línea de comandos (CLI) que ofrece remedios automáticos para vulnerabilidades de seguridad en tu código. Se trata de la edición comunitaria de Mobb, la primera herramienta de remediación automática de vulnerabilidades de seguridad sin proveedor específico. Bugsy está diseñado para ayudar a los desarrolladores a identificar y solucionar rápidamente las vulnerabilidades de seguridad en su código. ¿Qué es Mobb? ¡SEGUIR LEYENDO!

17 Mejores Cursos Gratis de Comercio Electrónico

Cursos con los que aprender a montar una tienda o comercio electrónico sobre una página web, totalmente gratis y online.

28 Cursos Gratis de Udemy (cupón finalizado)

Cursos variados, entre los que vas a poder aprender Javascript, NET, Python, Java, R, AWS, SQL, Linux y más. Juegos Gratis de Abril: Steel Rats ? JUEGO GRATIS STEAM > World's Dawn ? JUEGO INDIE GALA > Age of Steel Recharge ? JUEGO INDIE GALA > Dwarflings ? JUEGO INDIE GALA > Survivalist ? JUEGO INDIE GALA Cursos en Español Curso Gratuito Iniciacion a la programacion ¡SEGUIR LEYENDO!

Mejores Cursos Gratis de Seguridad en Red

Recopilatorio de cursos enfocados en aprender seguridad dentro del mundo de la red, internet y entre las conexiones de las redes.

Demonized Shell: Una Herramienta Avanzada para Persistencia en Linux

D3m0n1z3dShell es una herramienta avanzada diseñada para lograr persistencia en sistemas Linux. NOTA IMPORTANTE: Es importante tener en cuenta que no me hago responsable de los daños causados por esta herramienta. Se debe utilizar de manera inteligente y únicamente con fines educativos. Desarrollada por MatheuZSecurity, esta shell demonizada ofrece una variedad de características para asegurar la persistencia en diversos entornos, desde sistemas Linux hasta Android e ¡SEGUIR LEYENDO!

EasyEASM: Herramienta de Gestión de Superficie de Ataque de Cero Dólares

Herramienta de gestión de superficie de ataque de cero dólares presentada en Black Hat Arsenal 2023 y Recon Village @ DEF CON 2023. Easy EASM es exactamente eso... la herramienta más fácil de configurar para proporcionar visibilidad a su organización sobre sus activos externos. La industria está dominada por proveedores de $30,000 que venden "Gestión de Superficie de Ataque", pero los cazadores de recompensas y los ¡SEGUIR LEYENDO!

EmploLeaks: Herramienta OSINT para Detectar Miembros de una Empresa con Credenciales Filtradas

EmploLeaks es una herramienta diseñada para fines de Inteligencia de Fuente Abierta (OSINT), que facilita la recopilación de información sobre los empleados de una empresa. Su objetivo es obtener datos relevantes para evaluar la seguridad de las credenciales de los empleados y detectar posibles filtraciones. Funcionamiento La herramienta comienza buscando en LinkedIn para obtener una lista de empleados de la empresa. Luego, busca en sus perfiles ¡SEGUIR LEYENDO!

Salir de la versión móvil