Hacking Ético, Seguridad Informática, RedTeam, Pentesting.

lunes, 1 de julio de 2024

PENTESTING WEB PARTE 6

7/01/2024 06:24:00 p. m. Posted by Secpronet No hay comentarios

BYPASS DE PARAMETROS Y LISTADO DE DIRECTORIOS


Bypass de Parámetros

El bypass de parámetros es una técnica utilizada por atacantes para evadir mecanismos de seguridad y restricciones en aplicaciones web. Esta técnica implica modificar parámetros de entrada de diversas maneras para lograr un comportamiento inesperado o acceder a funcionalidades no autorizadas.

Cómo Surge el Bypass de Parámetros

  • Validaciones Inadecuadas:
  • La falta de validaciones robustas en los parámetros de entrada puede permitir que los atacantes manipulen estos parámetros para evadir restricciones.
  • Falta de Sanitización:
  • No sanitizar o filtrar adecuadamente las entradas del usuario puede llevar a que parámetros maliciosos sean procesados por la aplicación.
  • Control de Acceso Insuficiente:
  • No implementar controles de acceso adecuados en la aplicación puede permitir que los atacantes modifiquen parámetros para acceder a recursos restringidos.
  •  

    Listado de Directorios y Bypass

    Listado de Directorios es una vulnerabilidad de seguridad que ocurre cuando un servidor web permite a los usuarios listar los contenidos de los directorios del servidor sin ninguna restricción. Esta vulnerabilidad puede permitir a los atacantes obtener información sensible sobre la estructura del sitio, archivos presentes, y potencialmente datos confidenciales que no deberían ser accesibles públicamente.

    Cómo Surge el Listado de Directorios

    • Configuraciones por Defecto:
    • Muchos servidores web vienen configurados por defecto para permitir el listado de directorios si no se encuentra un archivo de índice (como index.html o index.php) en el directorio.
    • Configuración Incorrecta del Servidor:
    • Los administradores pueden configurar incorrectamente el servidor, permitiendo inadvertidamente el listado de directorios.
    • Falta de Controles de Acceso:
    • No implementar controles de acceso adecuados en el servidor web puede resultar en que los directorios sean accesibles para cualquier persona.

    Cómo se realizan los ataques

    Vamos hacer un bypass para poder entrar al “Admin area”, el cual por ser usuario “test” no tenemos permiso, damos click e interceptamos la petición con BurpSuite, luego buscamos la petición que dice “/api/v2/users/checkadmin” y  la remplazamos por “/api/v2/users/”.



    Acá damos click derecho y luego buscamos la opción “do intercept” y luego “request to this response” y vemos que nos sale información como el usuario, ids, tokens, etc

    como vemos nos aparece que no es admin y nos aparece el parámetro “false”, lo cambiamos a “true” y con ello ya procederemos hacer el bypass y entrar al área de admin.



    O bien podemos modificar el tipo de usuario al que queremos acceder, los mensajes que nos muestra, etc., por ello es fundamental leer bien la respuesta de la petición para saber que demos de modificar.

    Acá capturamos y vemos al momento de verificar si es admin o no, si no lo es modificamos los parámetros para realizar el bypass.

    Nota: puedes ser diferentes formas algunas son: cambiar de "False a true", "1 a 0", "Error a Success", etc.





    Otra forma es buscar directorios expuestos con información sensible, para ello usamos “dirb” de la siguiente forma: “sudo dirb http://192.168.1.7”, y vemos los directorios y vamos a buscar información manualmente, o bien configuramos para que nos busque por extensiones de la siguiente forma: “sudo dirb http://192.168.1.7 -X .txt, .xml, .html” según la extensión a buscar, también podemos usar un diccionario en especifico y tener uno personalizado, solo debemos de especificar la ruta de la siguiente forma: “sudo dirb http://192.168.1.7/uploads/admin /usr/share/dirb/wordlists/big.txt -X .xml”.





    Como vemos hay varias formas de hacer bypass de parámetros, pero como lo corregimos.

     Cómo prevenir estos ataques

    • Validación en el Servidor
    • Evitar la Exposición de Datos Sensibles
    • Uso de Controles de Acceso Rigorosos
    • Deshabilitar el Listado de Directorios
    • Controles de Acceso
    • Revisión y Monitoreo
    • Sanitización de Entradas
    • Uso de Tokens CSRF

    Espero les sea de utilidad, nos vemos en la séptima parte.

    Happy-Hacking 😊

    jueves, 13 de junio de 2024

    Pentesting Móvil Parte 5

    IDOR 2 - REALIZANDO TRANSFERENCIAS

    ¿Cómo se hacen?

    En este ejemplo, el usuario autorizado está transfiriendo dinero de su cuenta (1111111111) a la cuenta de destino (2222222222). Si la aplicación no valida correctamente que el usuario está autorizado a transferir dinero desde la cuenta 1111111111, un atacante podría cambiar el valor de accountNo para transferir dinero desde la cuenta de otra persona.



    Ahora veremos que al modificar “accountNo”, con una cuenta que no nos pertenece podemos realizar la transferencia a mi cuenta o a otra, esto sin que el usuario se dé cuenta, la mayoría de las veces nos pedirá un token el cual podremos realizar un ataque “ByapassToken”, para poder realizar la transferencia con éxito, en este caso no nos lo pide.

    acá vemos la petición modificada y la respuesta de la misma, y si vemos le historial de transferencias del usuario “emma”, vemos que efectivamente se realizo una transferencia de $100 a otra cuenta.





    Vemos en otro ejemplo, al momento de realizar un transferencia con valor Negativo vemos que se resta de la otra cuenta y se suma a la de nosotros.





    Realizamos la transferencia de -$1,000 de la cuenta de michael a la cuenta de emma, consultamos el historial y el balance y vemos que en la cuenta michael se sumaron y en la cuenta emma se restaron los $1,000.






    ¿Cómo lo puedo solucionar?

    Para prevenir los IDORS, debemos implementar controles de autorización robustos. Aquí hay algunas estrategias:

    1. Validación de la Autorización del Usuario: Asegúrate de que el usuario tiene permisos para realizar acciones sobre los recursos que está solicitando. Esto implica validar que el usuario puede acceder y realizar operaciones en la cuenta especificada en Account.

    2. Uso de IDs Indirectos: En lugar de exponer IDs directos, utiliza IDs indirectos o tokens que no puedan ser fácilmente adivinados o manipulados por el usuario.

    3. Validación de Entrada: Asegúrate de que todas las entradas proporcionadas por el usuario sean válidas y pertenezcan al usuario autenticado.

    4. Firewalls de Aplicación Web (WAF): Están diseñados específicamente para proteger aplicaciones web de una variedad de ataques, incluidos los IDOR.

    Espero les sea de utilidad, nos vemos en la sexta parte.

    Happy-Hacking 😊