FISSURE - The RF Framework

Comprensión y reversión de señales basadas en SDR independientes de frecuencia

FISSURE es un marco de trabajo de RF y reversión de código abierto diseñado para todos los niveles de habilidad con ganchos para la detección y clasificación de señales, el descubrimiento de protocolos, la ejecución de ataques, la manipulación de IQ, el análisis de vulnerabilidades, la automatización y la IA/ML. El marco fue construido para promover la integración rápida de módulos de software, radios, protocolos, datos de señales, scripts, gráficos de flujo, material de referencia y herramientas de terceros. FISSURE es un habilitador de flujo de trabajo que mantiene el software en una ubicación y permite a los equipos ponerse al día sin esfuerzo mientras comparten la misma configuración de línea de base probada para distribuciones específicas de Linux.

El marco y las herramientas incluidas en FISSURE están diseñados para detectar la presencia de energía de RF, comprender las características de una señal, recopilar y analizar muestras, desarrollar técnicas de transmisión y/o inyección, y crear cargas útiles o mensajes personalizados. FISSURE contiene una biblioteca en crecimiento de información de protocolos y señales para ayudar en la identificación, la creación de paquetes y el fuzzing. Existen capacidades de archivo en línea para descargar archivos de señal y construir listas de reproducción para simular el tráfico y probar sistemas.

El amigable código Python y la interfaz de usuario permiten a los principiantes aprender rápidamente sobre herramientas y técnicas populares que involucran RF y reversión de código. Los educadores en ciberseguridad e ingeniería pueden aprovechar el material incorporado o utilizar el marco para demostrar sus propias aplicaciones del mundo real. Los desarrolladores e investigadores pueden usar FISSURE para sus tareas diarias o para exponer sus soluciones de vanguardia a una audiencia más amplia. A medida que la conciencia y el uso de FISSURE crecen en la comunidad, también lo hará la extensión de sus capacidades y la amplitud de la tecnología que abarca.

Información adicional

Empezando

Soportado

Hay tres ramas dentro de FISSURE para facilitar la navegación de archivos y reducir la redundancia de código. La rama Python2_maint-3.7 contiene una base de código construida alrededor de Python2, PyQt4 y GNU Radio 3.7; la rama Python3_maint-3.8 está construida alrededor de Python3, PyQt5 y GNU Radio 3.8; y la rama Python3_maint-3.10 está construida alrededor de Python3, PyQt5 y GNU Radio 3.10.

Sistema operativoRama de FISSURE

Ubuntu 18.04 (x64)

Python2_maint-3.7

Ubuntu 18.04.5 (x64)

Python2_maint-3.7

Ubuntu 18.04.6 (x64)

Python2_maint-3.7

Ubuntu 20.04.1 (x64)

Python3_maint-3.8

Ubuntu 20.04.4 (x64)

Python3_maint-3.8

KDE neon 5.25 (x64)

Python3_maint-3.8

En progreso (beta)

Estos sistemas operativos todavía están en estado beta. Están en desarrollo y se sabe que faltan varias características. Los elementos en el instalador pueden entrar en conflicto con programas existentes o no instalarse hasta que se elimine el estado.

Sistema operativoRama de FISSURE

DragonOS Focal (x86_64)

Python3_maint-3.8

Ubuntu 22.04 (x64)

Python3_maint-3.10

Nota: Ciertas herramientas de software no funcionan para todos los sistemas operativos. Consulte Software y conflictos

git clone https://github.com/ainfosec/FISSURE.git
cd FISSURE
git checkout <Python2_maint-3.7> or <Python3_maint-3.8> or <Python3_maint-3.10>
git submodule update --init
./install

Esto instalará las dependencias de software de PyQt necesarias para lanzar las GUIs de instalación si no se encuentran.

A continuación, seleccione la opción que mejor se adapte a su sistema operativo (debería detectarse automáticamente si su sistema operativo coincide con una opción).

Python2_maint-3.7Python3_maint-3.8Python3_maint-3.10

Se recomienda instalar FISSURE en un sistema operativo limpio para evitar conflictos existentes. Seleccione todas las casillas recomendadas (botón predeterminado) para evitar errores al operar las diversas herramientas dentro de FISSURE. Habrá múltiples solicitudes durante la instalación, en su mayoría solicitando permisos elevados y nombres de usuario. Si un elemento contiene una sección "Verificar" al final, el instalador ejecutará el comando que sigue y resaltará el elemento de la casilla de verificación en verde o rojo dependiendo de si el comando produce errores. Los elementos marcados sin una sección "Verificar" permanecerán en negro después de la instalación.

Uso

Abra una terminal e ingrese:

fissure

Consulta el menú de ayuda de FISSURE para obtener más detalles sobre su uso.

Detalles

Componentes

  • Panel de control

  • Centro de control (HIPRFISR)

  • Identificación de señal objetivo (TSI)

  • Descubrimiento de protocolo (PD)

  • Gráfico de flujo y ejecutor de scripts (FGE)

Capacidades

Hardware

A continuación se muestra una lista de hardware "compatible" con diferentes niveles de integración:

  • USRP: X3xx, B2xx, B20xmini, USRP2, N2xx

  • HackRF

  • RTL2832U

  • Adaptadores 802.11

  • LimeSDR

  • bladeRF, bladeRF 2.0 micro

  • Open Sniffer

  • PlutoSDR

Lecciones

FISSURE viene con varias guías útiles para familiarizarse con diferentes tecnologías y técnicas. Muchas incluyen pasos para usar varias herramientas que están integradas en FISSURE.

Hoja de ruta

Contribuciones

Se sugiere fuertemente hacer sugerencias para mejorar FISSURE. Deja un comentario en la página de Discusiones o en el servidor de Discord si tienes alguna idea con respecto a lo siguiente:

  • Nuevas sugerencias de características y cambios de diseño

  • Herramientas de software con pasos de instalación

  • Nuevas lecciones o material adicional para lecciones existentes

  • Protocolos de RF de interés

  • Más tipos de hardware y SDR para integración

  • Scripts de análisis de IQ en Python

  • Correcciones y mejoras de instalación

Las contribuciones para mejorar FISSURE son cruciales para acelerar su desarrollo. Cualquier contribución que hagas es muy apreciada. Si deseas contribuir a través del desarrollo de código, haz un fork del repositorio y crea una solicitud de extracción:

  1. Haz un fork del proyecto

  2. Crea tu rama de características (git checkout -b feature/AmazingFeature)

  3. Haz tus cambios (git commit -m 'Agregar una característica increíble')

  4. Haz push a la rama (git push origin feature/AmazingFeature)

  5. Abre una solicitud de extracción

También se aceptan la creación de Issues para llamar la atención sobre errores.

Colaboración

Contacta al Desarrollo de Negocios de Assured Information Security, Inc. (AIS) para proponer y formalizar cualquier oportunidad de colaboración de FISSURE, ya sea dedicando tiempo a integrar tu software, teniendo a las personas talentosas de AIS desarrollando soluciones para tus desafíos técnicos o integrando FISSURE en otras plataformas/aplicaciones.

Licencia

GPL-3.0

Para detalles de la licencia, consulta el archivo LICENSE.

Contacto

Únete al servidor de Discord: https://discord.gg/JZDs5sgxcG

Sigue en Twitter: @FissureRF, @AinfoSec

Chris Poore - Assured Information Security, Inc. - poorec@ainfosec.com

Desarrollo de Negocios - Assured Information Security, Inc. - bd@ainfosec.com

Créditos

Reconocemos y estamos agradecidos con estos desarrolladores:

Créditos

Agradecimientos

Agradecimientos especiales al Dr. Samuel Mantravadi y Joseph Reith por sus contribuciones a este proyecto.

Última actualización