GoConqr has a new look! Let us know what you think.

Mind map

Vulnerabilidades del Software

Johan Portilla Aguirre English

Vulnerabilidades del Software

Map content

Vulnerabilidades del Software

  1. Son

    • Fallos o debilidades en un sistema
      • Causados por
        • Complejidad tecnológica
        • Falta de actualizaciones
        • Errores de Programación
          • Falta de validaciones
          • Uso de librerías obsoletas y/o inseguras
          • Ausencia de pruebas de seguridad
        • Error Humano
          • Ingeniería social
  2. Se clasifican

    • Sistema
      • Fallos existentes en el sistema que ejecuta el Software
        • Por ejemplo
          • YellowKey, se vulneró la capa de encripción de discos BitLocker de Windows 11
    • Red
      • Fallos existentes en la red donde se ejecuta el software
        • Por ejemplo
          • Usar el protocolo de encripción WEP para un Access Point
    • Software
      • Fallos que se presentan en el mismo software los cuales pueden ser aprovechados por un atacante
        • Por ejemplo
          • No atrapar excepciones y permitir que se vean permite que atacantes puedan aprender de como funciona un software internamente
    • Configuración
      • Estos fallos se caracterizan por abusar de múltiples variables, dependiendo del software que lo use
        • Por ejemplo
          • Mantener el puerto 5432 abierto permite el acceso externo a Postgres, pero a la vez lo deja abierto para que cualquiera spamee el puerto e intentar entrar
  3. Tipos comunes

    • Desbordamiento de Búfer
      • Presente principalmente en lenguajes que manejan manualmente la alocación de memoria
        • C
        • C++
        • Rust
      • Ejemplo de la vida real
        • Twilight Hack para la Nintendo Wii
          • Archivo guardado lee de manera insegura con método strcpy nombre del caballo del personaje
            • Atacantes aprovechan esto para inyectar nombre malformado y sobrecargar el buffer del nombre
              • Atacantes escriben instrucciones dentro del buffer sobrecargado
                • Atacantes aprovechan overflow para sobreescribir el Return Address (Registro que guarda a donde saltar después de ejecución) a la memoria sobreescrita y tomar el control de la ejecución
                  • Wii vulnerada pierde el control y permite la ejecución de código no verificado
      • Que es
        • Permite acceder a memoria no autorizada
          • Usuarios normales ven Segmentation Fault/Comportamiento Indefinido
          • Atacantes manipulan memoria y registros para realizar exploits
      • Pasa por
        • No tener en cuenta el tamaño en memoria de un elemento permite saltar a otro segmento de memoria
    • Inyecciones
      • Hay diferentes tipos
        • Inyección SQL
          • Alterar consultas SQL para realizar consultas no intencionadas en la BD
            • Pasa por
              • Concatenar cadenas de consulta SQL en vez de usar Sentencias Preparadas (Prepared Statements)
          • Ejemplo
            • Un sistema que por debajo haga SELECT * FROM users WHERE username =
              • Dev no valida la variable del username y concatena SQL strings
                • Atacante ingresa ' OR 1=1--
                  • Consulta se transforma en SELECT * FROM users WHERE username = '' OR 1=1-- ' AND password = 'foo'
                    • Atacante salta la validación de usuario y ha ingresado sin credenciales
        • Inyección de comandos
          • Ejecución no autorizada de comandos en el sistema que ejecuta el software
            • Pasa por
              • Permitir que el usuario pueda interactuar con herramientas que toquen al shell del sistema directamente
          • Ejemplo
            • Dev realiza sitio web en php que lleva registro de mensajes del tablón de usuarios en un texto plano escrito usando shell_exec()
              • Dev no valida mensaje usuario
                • Atacante ingresa ; rm -rf .
                  • Atacante ha accedido al sistema que aloja al software y ha eliminado el software
        • XSS (Cross Side Scripting)
          • Atacar un sistema al agregar código malicioso a una entrada de datos para que, al guardar, altere el renderizado del mismo y ejecute código no intencionado.
            • Pasa por
              • No validar carácteres especiales al guardar información en la BD
          • Ejemplo
            • Dev realiza sistema de gestión documental que guarda, entre muchas cosas, la descripción de un documento
              • Dev no valida descripción de documento
                • Atacante genera etiqueta <script> que redirige a sitio que pide datos bancarios en nombre de la empresa y lo ingresa como descripción
                  • Como el sistema no valida, el entiende la etiqueta maliciosa como HTML válido y lo renderiza para TODOS los que visualicen el sitio del documento
                    • Atacante ha ejecutado códico malintencionado a través del sitio
      • Que es
        • Inyectar código no autorizado en un software
          • En general pasa por
            • No limpiar o no limpiar adecuadamente entradas del usuario
    • Cross Side Request Forgery
      • Qué es
        • Vulnerabilidad que permite sitios maliciosos obtener datos de sesión de sitios normales y realizar peticiones no autorizadas a los mismos
      • Por qué ocurre
        • Navegadores automáticamente confían en peticiones a sitios sin importar su orígen
      • Pasa por
        • No verificar el orígen de las peticiones y sus cookies
      • Ejemplo de la vida real
        • Vulnerabilidad de LangFlow
          • Langflow usa FastAPI con su módulo de CORS
            • Por facilidad devs colocan allow_origins=* SameSite=None; Secure para los Refresh Token
              • Atacante usa ingeniería social para engañar a dev y hacer que ingrese a su instancia del software y a un sitio malicioso al mismo tiempo
                • Sitio malicioso del atacante realiza petición POST a /api/v1/refresh
                  • Langflow permite la petición debido a la configuración insegura del Access Token y el atacante obtiene JWT
                    • Usando el JWT el atacante tiene acceso completo a /api/v1/validate/code
                      • Atacante realiza script malicioso para el endpoint
                        • Atacante obtiene acceso completo al sistema del dev
            • Langflow también tiene endpoint /api/v1/validate/code que permite ingresar codigo Python validado por Access y Refresh Token
    • Gestión incorrecta de sesiones y autenticación
      • Que es
        • Fallos al crear, guardar, expirar o validar logins y sesiones (cookies, tokens)
          • Permiten usar una cuenta ajena o entrar sin credenciales válidas
      • Por que pasa
        • Sesión no se renueva después del login
        • Cookies sin políticas Secure / HttpOnly
        • Tokens de tiempo indefinido
        • Sistema no invalida tokens después de logout
      • Ejemplo de la vida real
        • Vulnerabilidad "View As" de Facebook 2018
          • Facebook usa access tokens embebidos en el HTML del sistema de carga de videos de la vista "Ver Como"
            • Facebook genera vista "Ver Como / View As para que usuarios vean su perfil como lo verían los demás
              • Función de carga de videos genera token móvil con acceso total de la cuenta
                • En la página View As del atacante quedó el access token de la víctima (el perfil que estaba “viendo como”)
                  • Atacante obtiene acceso al perfil de la víctima usando el access token que queda en el HTML
    • Configuraciones por defecto inseguras
      • Que es
        • Dejar usuarios, claves, puertos o servicios tal como vienen de fábrica, sin endurecerlos al instalar
      • Pasa por
        • No cambiar lo de fábrica al desplegar (operador o instalador)
      • Ejemplo de la vida real
        • Configuración de routers Technicolor y Cisco Claro en 2020
          • En el año 2020 la teleoperadora Claro entrega a sus usuarios routers Technicolor y Cisco con UPnP activado y con los puertos 8080 y 443 para admin abiertos al internet
            • Claro no cambia contraseña de router y deja la que viene por defecto del fabricante
              • Atacantes escanean rangos de red de Claro
                • Atacantes ingresan configuración maliciosa al router usando UPnP o los puertos de admin
  4. Se detectan

    • Análisis estático de código
      • Analizar el programa sin ejecutarlo a través de sus fuentes
        • SonarQube
          • Plataforma de análisis estático de código diseñada para evaluar de forma continua la calidad, la seguridad y la fiabilidad del software
        • Checkmarx
          • Plataforma nativa de la nube para pruebas de seguridad de aplicaciones impulsada por Inteligencia Artificial diseñada para ayudar a las empresas a proteger cada etapa del ciclo de vida del desarrollo de software
    • Pruebas de penetración (pentesting)
      • Ataque controlado a un sistema para verificar su seguridad
        • OWASP ZAP
          • Proxy de interceptación que permite a desarrolladores y expertos en ciberseguridad encontrar vulnerabilidades en aplicaciones web de forma manual o automática
        • Burp Suite
          • Plataforma de software que funciona como un proxy de interceptación. Se sitúa entre el navegador web y el servidor objetivo para permitir a los profesionales de seguridad ver, modificar y analizar todo el tráfico HTTP y HTTPS
    • Escáneres de vulnerabilidades
      • Permiten escanear problemas comunes en el sistema
      • Nessus
        • Sirve para buscar fallos de seguridad, programas desactualizados, errores de configuración y programas maliciosos en redes, computadoras y servidores.
  5. Su impacto

    • Pérdida de confidencialidad
      • Información cae en manos no autorizadas
    • Interrupción de servicios
      • Suspensión total o parcial de manera imprevista
    • Daños a la reputación
      • Impacto negativo a la credibilidad e imagen del desarrollador
    • Pérdida de datos o suplantación de identidad
      • Eliminación o daño de la información
  6. Buenas prácticas y mitigaciones

    • Implementar tokens anti CSRF del lado del servidor
    • Configurar cookies con SameSite Strict o Lax
    • Configurar correctamente CORS
    • Aprovechar las herramientas que trabajan los framework y mantenerlas actualizadas
    • Usar Sentencias preparadas
    • Aplicar el principio del menor privilegio en la BD y permisos de sistema
    • Limpiar y validar caracteres especiales
    • Usar métodos seguros para manipular memoria
    • Validar siempre el tamaño de la entrada antes de alojarla en el buffer
    • Usar herramientas de detección de vulnerabilidades
    • Implementar certificados SSL
    • Hashear contraseñas
    • Logging constante en el sistema
    • Instruir a compañeros sobre las vulnerabilidades
    • Control de acceso
    • DevOps que incluya suite de pruebas para seguridad: DevSecOps
    • Políticas de control de acceso
    • Mantener las librerias actualizadas
    • Pensar la seguridad desde requerimientos

Images and files in the map

  • Vulnerabilidades del Software
  • Vulnerabilidades del Software
  • Vulnerabilidades del Software
  • Vulnerabilidades del Software
  • Vulnerabilidades del Software
  • Vulnerabilidades del Software
  • Vulnerabilidades del Software
  • Vulnerabilidades del Software
  • Vulnerabilidades del Software
  • Vulnerabilidades del Software
  • Vulnerabilidades del Software

Information

Description
Mind Map on Vulnerabilidades del Software, created by Johan Portilla Aguirre on 20/08/2026.
Views
4
Rating

Feedback

What is it about?

What do you think of the new look?

How do you like it?