MedSec Herramienta de Red y Pentest para Sistemas Linux
MedSec Herramienta de Red y Pentest para Sistemas Linux

MedSec: Herramienta de Red y Pentest para Sistemas Linux

MedSec es una utilidad de red y pentest desarrollada para poder realizar diferentes tipos de tareas utilizando la misma suite, en lugar de saltar de una herramienta a otra.

Actualmente, este script puede realizar una buena variedad de tareas como

  • Escaneo de puertos, incluyendo SYN, TCP, UDP, ACK, escaneo integral;
  • Descubrimiento de hosts (escaneo de dispositivos en una red local);
  • Detección de direcciones MAC (obtener la dirección MAC de una IP de un host en una red local);
  • Banner Grabbing;
  • Comprobaciones de DNS con información de geolocalización;
  • Enumeración de subdominios;
  • Reconocimiento de vulnerabilidades;
  • ifconfig (beta);
  • ping;
  • traceroute (beta);
  • Suplantación de IP;
  • Analizador de paquetes;
  • Deauth attack.

Todavía se están implementando otras funciones. Las implementaciones futuras pueden incluir la detección de WAF (firewall de aplicaciones web), enumeración de DNS, análisis de código estático, análisis de tráfico, envenenamiento ARP, inundación MAC, ping de la muerte, ataque de disociación de red (no ataque deauth), OSINT, exploits, algunas tareas automatizadas, soporte de Windows y otros.

Instalación

Para instalar los paquetes necesarios para que el script pueda ejecutarse sin problemas, simplemente ejecuta el script setup.sh con privilegios de root.

Actualmente, este script de instalación sólo es compatible con las distribuciones basadas en Debian, Red Hat y Arch que tienen el gestor de paquetes apt, dnf y pacman respectivamente (Ubuntu, Kali Linux, Parrot OS, Debian, Pop!_OS, Linux Mint, Deepin, Zorin OS, MX Linux, Elementary OS, Fedora, CentOS, Red Hat Enterprise Linux, Rocky Linux, AlmaLinux, Oracle Linux, ClearOS, Arch, Black Arch, Manjaro etc). En la mayoría de los sistemas, para instalar medsec basta con ejecutar los siguientes comandos:

git clone https://github.com/medpaf/medsec.git
cd medsec
sudo . setup.sh

A continuación, simplemente sigue las instrucciones.

Sin embargo, si estás utilizando cualquier otra distribución de Linux con un gestor de paquetes diferente, instala los paquetes manualmente utilizando el gestor de paquetes de tu distribución. Dependiendo de la distribución específica utilizada, algunos de los paquetes necesarios para ejecutar este script podrían estar ya instalados en tu máquina. Los paquetes necesarios son

  • nmap (utilizando el gestor de paquetes de tu sistema)
  • traceroute (utilizando el gestor de paquetes de tu sistema)
  • sockets (usando pip3)
  • ipaddress (usando pip3)
  • python-nmap (usando pip3)
  • colorama (usando pip3)
  • ipinfo (usando pip3)
  • scapy (usando pip3)
  • shodan (usando pip3)

Después de la instalación, para ejecutar el programa, simplemente navega al directorio del proyecto y ejecuta el archivo medsec.py usando Python. Se recomienda ejecutar el script como root para un mejor rendimiento y para evitar errores de permisos. El comando utilizado es el siguiente:

sudo python3 medsec.py

Cómo Usar

Escaneo de puertos

El escaneo de puertos ayuda a detectar posibles brechas de seguridad identificando los hosts conectados a tu red y los servicios que se ejecutan.

Se soportan múltiples tipos de escaneo, incluyendo SYN (-scansyn), TCP (-scantcp), UDP (-scanudp), ACK (-scanack) y escaneo completo (-scan).

-scan -host [HOST(s)]
-scan -host [HOST(s)] -p [PORT(s)]
-scan -host [HOST(s)] -prange [START PORT] [END PORT]
-scan -iprange [START IP] [END IP] -p [PORT(s)]
-scan -iprange [START IP] [END IP] -prange [START PORT] [END PORT]
Escaneo de puertos con medsec
Escaneo de puertos con medsec

Después de este escaneo, se puede ver que los puertos 22 (SSH) y 80 (HTTP) están abiertos.

Descubrimiento de hosts

Para buscar dispositivos actuales en una red determinada, escribe el siguiente comando:

-scanlan

Luego escribe la red que deseas escanear.

Descubrimiento de hosts con medsec
Descubrimiento de hosts con medsec

Detección de la dirección MAC

Para obtener la dirección MAC de uno o más hosts vivos en la LAN, utiliza el comando:

-getmac -host [HOST(s) IP]
Detección de dirección MAC con medsec
Detección de dirección MAC con medsec

El Banner grabbing es una técnica de reconocimiento que recupera la información de un banner de software. Este banner suele contener información importante sobre un servicio de red, incluyendo, entre otros, el nombre y la versión del software. Los servidores FTP, Web, SSH y SMTP a menudo exponen información vital sobre el software que están ejecutando en su banner.

Un ataque de banner suele comenzar con un escaneo de enumeración para encontrar puertos abiertos. Una vez identificado el servicio al que se quiere apuntar, se pueden enviar paquetes específicos e inspeccionar el tráfico en busca de la información especificada.

Para realizar la captura de banners, dependiendo de tus necesidades específicas, escribe uno de los siguientes comandos:

-grab -host [HOST(s)] -p [PORT(s)]
-grab -iprange [START IP] [END IP] -prange [START PORT] [END PORT]
-grab -host [HOST(s)] -prange [START PORT] [END PORT]
-grab -iprange [START IP] [END IP] -p [PORT(s)]
Banner grabbing con medsec
Banner grabbing con medsec

Comprobación de DNS

Esta función es similar al conocido comando nslookup utilizado en los sistemas UNIX. Si quieres hacer una comprobación de DNS, escribe lo siguiente:

-ns [HOST(s)]
Comprobación de DNS con medsec
Comprobación de DNS con medsec

Enumeración de subdominios

La enumeración de subdominios es el proceso de encontrar subdominios válidos para uno o más dominios.

La enumeración de subdominios puede revelar una gran cantidad de dominios/subdominios que están en el ámbito de una evaluación de seguridad, lo que a su vez aumenta las posibilidades de encontrar vulnerabilidades.

Si deseas buscar subdominios comunes de un dominio, simplemente escribe:

-sdenum [DOMAIN]
Enumeración de subdominios con medsec
Enumeración de subdominios con medsec

Reconocimiento de vulnerabilidades

Para escanear uno o más hosts en busca de vulnerabilidades, utiliza el siguiente comando:

-vulnscan -host [HOST(s)]

Aviso

Ten en cuenta que esta función utiliza la API de Shodan. Se recomienda cambiar la clave API por la tuya, ya que la clave proporcionada podría estar siendo utilizada por otras personas.

ifconfig

Si quieres mostrar la configuración de red TCP/IP actual de tu sistema, escribe el siguiente comando:

-ifconfig
Comando ifconfig con medsec
Comando ifconfig con medsec

ping

Para enviar paquetes ICMP a uno o más hosts para comprobar la conectividad, simplemente escribe:

-ping [HOST(s)]
Comando ping con medsec
Comando ping con medsec

traceroute

Para diagnosticar las rutas y medir los retrasos en el tránsito, utiliza el comando -traceroute:

-traceroute [HOST]
Comando traceroute con medsec
Comando traceroute con medsec

Suplantación de IP

El objetivo de la suplantación de IP es modificar la dirección IP de origen correcta para que el sistema al que se dirige un paquete no pueda identificar correctamente al remitente.

Puede ser útil que lees este artículo acerca de MICH: Cómo manipular direcciones MAC e IP en Linux

Ten en cuenta que este comando sólo funciona en máquinas con vulnerabilidades no parcheadas. Para realizar el IP spoofing en un puerto específico de un host, utiliza el siguiente comando:

-ipspoof -source [SOURCE IP] [SOURCE PORT] -target [TARGET IP] [TARGET PORT]

Si quieres utilizar una IP de origen aleatoria, escribe el siguiente comando:

-ipspoof -source r [SOURCE PORT] -target [TARGET IP] [TARGET PORT]

También puedes utilizar un puerto de origen aleatorio:

-ipspoof -source [SOURCE IP] r -target [TARGET IP] [TARGET PORT]

Descargo de responsabilidad

Por favor, utiliza esto sólo con fines de prueba y dirígete a tus propias máquinas.

Esnifar paquetes

Para realizar el rastreo de paquetes, escribe:

-sniff

Aclaración

Si quieres olfatear todos los datos que pasan por una red, primero pon tu tarjeta o adaptador inalámbrico en modo monitor.

Ataque Deauth

Un ataque deauth es un tipo de ataque inalámbrico que tiene como objetivo la comunicación entre un router y uno o más dispositivos conectados a ese router. En efecto, obliga a la máquina objetivo a desconectarse del punto de acceso.

Para realizar este ataque, utiliza el siguiente comando:

-deauth -target [TARGET MAC] -gateway [GATEWAY MAC] -iface [INTERFACE]

Si planeas atacar a todos los clientes de una puerta de enlace, escribe:

-deauth -target a -gateway [GATEWAY MAC] -iface [INTERFACE]
Ataque de Deauth con medsec
Ataque de Deauth con medsec

Después del comando emitido en la captura de pantalla anterior, todos los dispositivos conectados a ese punto de acceso se desconectaron y no pudieron volver a conectarse mientras se ejecutaba este script.

Descargo de responsabilidad

Para realizar este ataque, asegúrate de tener una tarjeta o adaptador inalámbrico que soporte el modo de monitorización y enciéndelo antes de intentar un ataque de deauth. Por favor, utiliza esto sólo con fines de prueba y dirígete a tus propias máquinas.

Repositorio:

https://github.com/medpaf/medsec/

My Cart Close (×)

Tu carrito está vacío
Ver tienda