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
psad — psad: Detección de intrusiones y análisis de registros con iptables | Kitploit
Herramientas/GitHubGitHub/mrash/psad
Análisis de VulnerabilidadesEvasión de IDS/IPSAnálisis ForenseSeguridad de RedesInteligencia de AmenazasDetección de IntrusionesAnálisis de Registros
GitHubmrash/psad

psad

psad: Detección de intrusiones y análisis de registros con iptables

Ver Repositorio
427779hace 7 añosRevisado por Kitploit
Sitio web

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

psad - Detección de intrusiones con registros de iptables

Introducción

El detector de ataques de escaneo de puertos psad es un demonio ligero del sistema escrito en Perl, diseñado para trabajar con el código de cortafuegos Linux iptables/ip6tables/firewalld para detectar tráfico sospechoso como escaneos y barridos de puertos, puertas traseras, comunicaciones de comando y control de botnets, y más. Cuenta con un conjunto de umbrales de peligro altamente configurables (con valores predeterminados sensatos), mensajes de alerta detallados que incluyen la fuente, destino, rango de puertos escaneados, horas de inicio y fin, banderas TCP y opciones correspondientes de nmap, información de DNS inversa, alertas por correo electrónico y syslog, bloqueo automático de direcciones IP infractoras mediante la configuración dinámica de reglas de iptables, identificación pasiva del sistema operativo y reporte a DShield. Además, psad incorpora muchas de las firmas TCP, UDP e ICMP incluidas en el sistema de detección de intrusiones Snort, para detectar escaneos altamente sospechosos de varios programas de puerta trasera (por ejemplo, EvilFTP, GirlFriend, SubSeven), herramientas DDoS (Mstream, Shaft) y escaneos de puertos avanzados (SYN, FIN, XMAS) que se pueden aprovechar fácilmente contra una máquina mediante nmap. psad también puede alertar sobre firmas Snort que se registran a través de fwsnort, que hace uso de la extensión de coincidencia de cadenas de iptables para detectar tráfico que coincide con firmas de la capa de aplicación. A partir de la versión 2.4.4, psad también puede detectar la fase de escaneo de credenciales predeterminadas de IoT del botnet Mirai.

Descargar herramienta

La lista completa de características está a continuación.

Características

  • Detección de escaneos TCP SYN, FIN, NULL y XMAS, así como escaneos UDP.
  • Soporte tanto para registros IPv4 como IPv6 generados por iptables e ip6tables respectivamente.
  • Detección de muchas reglas de firma del sistema de detección de intrusiones Snort.
  • Modo forense de análisis de archivos de registro de iptables/ip6tables (útil como herramienta forense para extraer información de escaneo de archivos de registro antiguos de iptables/ip6tables).
  • Identificación pasiva del sistema operativo mediante paquetes SYN TCP. Se admiten dos estrategias diferentes de identificación; una reimplementación de p0f que utiliza estrictamente mensajes de registro de iptables/ip6tables (requiere el parámetro de línea de comandos --log-tcp-options), y una estrategia basada en TOS.
  • Alertas por correo electrónico que contienen características de escaneo TCP/UDP/ICMP, información de DNS inversa y whois, coincidencias de reglas Snort, información de estimación del SO remoto y más.
  • Cuando se combina con fwsnort y la extensión de coincidencia de cadenas de iptables, psad puede generar alertas para ataques de desbordamiento de búfer en la capa de aplicación, comandos de aplicación sospechosos y otro tráfico sospechoso de la capa 7.
  • Validación del campo de cabecera de tipo y código ICMP.
  • Umbrales de escaneo y asignaciones de nivel de peligro configurables.
  • Análisis del conjunto de reglas de iptables para verificar la postura de la política de "denegar por defecto".
  • Asignación automática de nivel de peligro IP/red (se puede usar para ignorar o escalar automáticamente los niveles de peligro para ciertas redes).
  • Alertas DShield.
  • Bloqueo automático de direcciones IP de escaneo mediante iptables/ip6tables y/o tcpwrappers basado en el nivel de peligro del escaneo. (Esta característica NO está habilitada por defecto).
  • Análisis de mensajes de registro de iptables/ip6tables y generación de salida CSV que se puede usar como entrada para AfterGlow. Esto permite visualizar los registros de iptables/ip6tables. También se admite Gnuplot.
  • Modo de estado que muestra un resumen de la información de escaneo actual con recuentos de paquetes asociados, cadenas de iptables/ip6tables y niveles de peligro.

Visualización de tráfico malicioso

psad ofrece integración con gnuplot y afterglow para producir gráficos de tráfico malicioso. Los dos gráficos siguientes son del gusano Nachi del desafío Scan30 de Honeynet. Primero, un gráfico de enlace producido por afterglow después del análisis de los datos de registro de iptables por psad:

nachi-worm-link-graph "Gráfico de enlace del gusano Nachi"

El segundo muestra el tráfico del gusano Nachi por hora a partir de los datos de iptables de Scan30:

nachi-worm-hourly-graph "Gráfico por hora del gusano Nachi"

Información de configuración

La información sobre las palabras clave de configuración referenciadas por psad se puede encontrar tanto en la página del manual psad(8) como aquí:

http://www.cipherdyne.org/psad/docs/config.html

Metodología

Toda la información que psad analiza se obtiene de los mensajes de registro de iptables. psad lee por defecto el archivo /var/log/messages en busca de nuevos mensajes de iptables y, opcionalmente, los escribe en un archivo dedicado (/var/log/psad/fwdata). psad es entonces responsable de aplicar la lógica de umbral de peligro y firma para determinar si se ha producido un escaneo de puertos, enviar los correos electrónicos de alerta adecuados y (opcionalmente) bloquear las direcciones IP infractoras. psad incluye un manejador de señales de modo que si se recibe una señal USR1, psad volcará el contenido de la estructura de datos hash del escaneo actual en /var/log/psad/scan_hash.$$ donde "$$" representa el pid del demonio psad en ejecución.

NOTA: Dado que psad depende de iptables para generar mensajes de registro apropiados para paquetes no autorizados, psad es tan bueno como las reglas de registro incluidas en el conjunto de reglas de iptables. Por lo tanto, si su cortafuegos no está configurado para registrar paquetes, psad NO detectará escaneos de puertos ni nada más. Por lo general, la mejor manera de configurar el cortafuegos es con reglas predeterminadas de "denegar y registrar" al final del conjunto de reglas, e incluir reglas por encima de esta última regla que solo permitan el tráfico que debe permitirse. Al ejecutarse, el demonio psad intentará determinar si existe dicha regla de denegación predeterminada y advertirá al usuario si no es así. Consulte el archivo FW_EXAMPLE_RULES para ver ejemplos de conjuntos de reglas de cortafuegos compatibles con psad.

Además, se incluye una cobertura extensa de psad en el libro "Linux Firewalls: Attack Detection and Response" publicado por No Starch Press, y un script de apoyo en este libro es compatible con psad. Este script se puede encontrar aquí:

http://www.cipherdyne.org/LinuxFirewalls/ch01/

Instalación

Dependiendo de la distribución de Linux, psad puede ya estar disponible en el repositorio de paquetes predeterminado. Por ejemplo, en sistemas Debian o Ubuntu, la instalación se realiza con un simple:

root@kitploit:~
apt-get install psad

Si psad no está disponible en el repositorio de paquetes, se puede instalar con el script install.pl incluido en las fuentes de psad. El script install.pl también maneja actualizaciones si psad ya está instalado. psad requiere varios módulos Perl que pueden o no estar ya instalados en su sistema Linux. Estos módulos están incluidos en el directorio deps/ en las fuentes de psad y se instalan automáticamente mediante el script install.pl. La lista de módulos es:

  • Bit::Vector
  • Date::Calc
  • IPTables::ChainMgr
  • IPTables::Parse
  • NetAddr::IP
  • Storable
  • Unix::Syslog

psad también incluye un cliente whois escrito por Marco d'Itri (consulte el directorio deps/whois). Este cliente es mejor que otros para recopilar la información whois correcta para una dirección IP determinada.

Configuración del cortafuegos

El principal requisito para que una configuración de iptables sea compatible con psad es simplemente que iptables registre paquetes. Esto se logra comúnmente agregando reglas a las cadenas INPUT y FORWARD de la siguiente manera:

root@kitploit:~
iptables -A INPUT -j LOG
iptables -A FORWARD -j LOG

Las reglas anteriores deben agregarse al final de las cadenas INPUT y FORWARD después de todas las reglas ACCEPT para tráfico legítimo y justo antes de una regla DROP correspondiente para el tráfico que no debe permitirse a través de la política. Tenga en cuenta que las políticas de iptables pueden ser bastante complejas con restricciones de protocolo, red, puerto e interfaz, cadenas definidas por el usuario, reglas de seguimiento de conexiones y mucho más. Hay muchos programas de software como Shorewall y Firewall Builder que construyen políticas de iptables y aprovechan las capacidades avanzadas de filtrado y registro que ofrece iptables. Generalmente, las políticas construidas por estos programas son compatibles con psad, ya que agregan específicamente reglas que instruyen a iptables a registrar paquetes que no forman parte del tráfico legítimo. Psad se puede configurar para analizar solo aquellos mensajes de iptables que contengan prefijos de registro específicos (que se agregan mediante la opción --log-prefix), pero el valor predeterminado es que psad analice todos los mensajes de registro de iptables en busca de evidencia de escaneos de puertos, sondas para programas de puerta trasera y otro tráfico sospechoso.

Plataformas

psad se ejecuta generalmente en sistemas Linux y está disponible en los repositorios de paquetes de muchas distribuciones principales de Linux. Si hay algún problema operativo con psad, por favor abra un problema en github

Licencia

psad se publica como software de código abierto bajo los términos de la GNU General Public License (GPL v2+). La última versión se puede encontrar en https://github.com/mrash/psad/releases

psad hace uso de muchas de las firmas TCP, UDP e ICMP disponibles en Snort (escrito por Marty Roesch, consulte http://www.snort.org). Snort es una marca registrada de Sourcefire, Inc.

Contacto

Todas las solicitudes de características y correcciones de errores se gestionan a través del seguimiento de problemas de github. Sin embargo, puedes enviarme un correo electrónico (michael.rash_AT_gmail.com) o contactarme a través de Twitter (@michaelrash).