Skip to content

R3LI4NT/RulesAudit

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

143 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

RulesAudit

https://r3li4nt.github.io/tools/RulesAudit

Acerca de RulesAudit

RulesAudit es una herramienta desarrollada en Python para analizar configuraciones inseguras en reglas de Firewalls.

Cuenta con un motor propio de vulnerabilidades basado en el archivo vulns.json, completamente personalizable, que permite clasificar los hallazgos en distintos niveles de severidad según su tipo: Crítica, Alta, Media, Baja e Informativa.

1

El archivo mapeo\csv_to_excel permite convertir una o varias reglas CSV a un formato más legible (Excel).

mapeo-2

Utiliza Pandas para estructurar los datos del Excel en diferentes headers según su tipo: Policy, Source, Destination, Schedule, Service, Action, IP Pool, NAT, Type, Security Profiles, Log, Bytes, Extra_13.

3

En caso de que las reglas exportadas del cliente tenga diferentes formatos, pueden modificar los archivos csv_to_excel y analyzer.py para especificarle los headers.

formatos-2 formatos

MODO CLI

Luego de mapear los resultados, el módulo analyzer\audit.py se encarga de tomar las reglas y analizarlas en busca de configuración insegura basandose en el motor vulns.json.

CLI-1 CLI-2

Los resultados se guardan en formatos html interactivo, excel, csv y json para su posterior análisis:

excel Web-1 Web-2 Web-3 Web-4

MODO WEB

RulesAudit cuenta con una aplicación web desarrollada con el framework Flask diseñada para auditar y analizar las reglas de firewall de manera eficiente y profesional.

Componente Tecnología
Backend Flask (Python)
Frontend HTML5, CSS3, JavaScript
Estilos Google Fonts, Font Awesome
Procesamiento Pandas (análisis de Excel)
Templates Jinja2
Sesiones Flask-Login

Instalar dependencias antes de iniciar la aplicación:

pip3 install -r requirements.txt

Ejecutar:

python3 app.py

Dirección donde corre: http://127.0.0.1:5000/admin/login

Credenciales por defecto:

Usuario Contraseña
admin rulesaudit
web-1 web-2 web-3

TEST DE SEGMENTACIÓN - con reglas de Firewall

Se desarrollo una aplicación de GUI segmentación/segm_analyzer.py con Tkinter para analizar las conexiones de origen y destino por segmento. Esto permite verificar que conexiones deben ser aceptadas (seguras) y cuáles no (inseguras).

Contiene tres modos de verificación:

[MODO-1]: Desde redes CDE -> redes CNTO

[MODO-2]: Desde redes CNTO -> redes CDE

[MODO-3]: Desde redes NO-PCI -> redes CNTO/CDE

segm1

Para que los archivos de texto puedan ser cargados, los segmentos deben estar estructurados de la siguiente manera:

192.168.123.
192.168.180.

Evitar agregar .0/24 al final ya que retorna error de mapeo.

Permite exportar el resultado en formato HTML interactivo.

segm segm segm

Descargar ejecutable

TEST DE SEGMENTACIÓN - con Nmap

En caso de que necesiten realizar pruebas de segmentación entre distintos segmentos de red y verificar si existen puertos abiertos entre ellos, pueden utilizar el script: segmentacion/nmap/SegmentacionNmapCLI.py, el cual permite automatizar el proceso de escaneo.

La función nmap_cmd permite especificarle a nmap que parámetros debe utilizar, estos pueden ser modificables.

seg-nmap

En la variable segmentos_lista especifican aquellos segmentos que se desea testear.

seg-nmap-2

En caso de querer especificarle un archivo.txt con una lista de segmentos, pueden utilizar el parámetro -a/--archivo.

python3 SegmentacionNmapCLI --archivos segmentos.txt

Con el parámetro --interfaz se especificar porque interfaz de red se desea salir, por defecto es la eth0.

python3 SegmentacionNmapCLI --archivos segmentos.txt --interfaz wlan1

Los reportes XML (crudos) se almacenan en la carpeta nmap_resultados, pero pueden especificar otro directorio con el parámetro --resultado.

python3 SegmentacionNmapCLI --archivos segmentos.txt --resultados /home/usuario/Desktop/my-folder

Si desean utilizar el modo GUI, pueden ejecutar el siguiente script: segmentacion/nmap/SegmentacionNmapGUI.py.

Consideraciones a tener en cuenta

El motor construido se basa en la lógica del Analista, usted debe analizar si las configuraciones inseguras encontradas son válidas y si corresponden a la severidad clasificada. Siéntase libre de optimizar y ampliar el archivo vulns.json para mejorar la precisión en la detección y clasificación de vulnerabilidades.

¿Te gustaría contribuir con la herramienta? Envíame un correo:

Developer: R3LI4NT