Artículo · Programación

Automatización de seguridad en API's con Astra

Omar Jacobo Muñoz VelizOmar Jacobo Muñoz Veliz 3 min de lectura

alt text

 

Las pruebas de penetración API REST son complejas debido a los continuos cambios en las API existentes y las API recién agregadas. Astra puede ser utilizado por ingenieros o desarrolladores de seguridad como parte integral de su proceso, para que puedan detectar y parchear vulnerabilidades al principio del ciclo de desarrollo. Astra puede detectar y probar automáticamente el inicio de sesión y el cierre de sesión (API de autenticación), por lo que es fácil para cualquiera integrar esto en la tubería de CICD. Astra puede tomar la recopilación de API como entrada, por lo que también se puede usar para probar apis en modo independiente.

 

  • Inyección SQL
  • Secuencias de comandos de sitios cruzados
  • Fuga de información
  • Autenticación rota y gestión de sesiones
  • CSRF (incluyendo CSRF ciego)
  • Rate Limit
  • Configuración incorrecta de CORS (incluidas las técnicas de derivación de CORS)
  • Ataque JWT
  • Detección CRLF
  • Inyección ciega XXE

 

Requisitos de instalación

 

  • Linux or MacOS
  • Python 2.7
  • mongoDB

 

Instación

 

Uso de la herramienta

 

Instalación
$ git clone https://github.com/flipkart-incubator/Astra

$ cd Astra

$ sudo pip install -r requirements.txt

Docker Instalación

Ejecutar el contenedor de  Mongo
$ docker pull mongo
$ docker run --name astra-mongo -d mongo

Instalación GUI Docker:
$ git clone https://github.com/flipkart-incubator/Astra.git
$ cd Astra
$ docker build -t astra .
$ docker run --rm -it --link astra-mongo:mongo -p 8094:8094 astra

Instalación de la CLI Docker :
$ git clone -b docker-cli https://github.com/flipkart-incubator/Astra.git
$ cd Astra
$ docker build -t astra-cli .
$ docker run --rm -it --link astra-mongo:mongo astra-cli 

Dependencias
- requests
- logger
- pymongo
- ConfigParser
- pyjwt
- flask
- sqlmap

Documentación
https://www.astra-security.info

Uso del  CLI
$ python astra.py --help

                      _
        /\       | |
       /  \   ___| |_ _ __ __ _
      / /\ \ / __| __| '__/ _` |
     / ____ \__ \ |_| | | (_| |
    /_/    \_\___/\__|_|  \__,_|



usage: astra.py [-h] [-c {Postman,Swagger}] [-n COLLECTION_NAME] [-u URL]
                [-headers HEADERS] [-method {GET,POST}] [-b BODY]
                [-l LOGINURL] [-H LOGINHEADERS] [-d LOGINDATA]

REST API Security testing Framework

optional arguments:
  -h, --help            show this help message and exit
  -c {Postman,Swagger}, --collection_type {Postman,Swagger}
                        Type of API collection
  -n COLLECTION_NAME, --collection_name COLLECTION_NAME
                        Type of API collection
  -u URL, --url URL     URL of target API
  -headers HEADERS, --headers HEADERS
                        Custom headers.Example: {"token" : "123"}
  -met   hod {GET,POST}, --method {GET,POST}
                        HTTP request method
  -b BODY, --body BODY  Request body of API
  -l LOGINURL, --loginurl LOGINURL
                        URL of login API
  -H LOGINHEADERS, --loginheaders LOGINHEADERS
                        Headers should be in a dictionary format. Example:
                        {"accesstoken" : "axzvbqdadf"}
  -d LOGINDATA, --logindata LOGINDATA
                        login data of API

 

Uso de la interfaz web
Ejecuta el archivo api.py y accede a la pagina web en http://127.0.0.1:8094

$ cd API
$ python api.py

 

Nuevo escaneo

 

 

Reporte de vulnerabilidades

 

 

 

Detalle del reporte

 

 

¿Quieres aprender estas técnicas en profundidad?

Continúa tu ruta con Programación Scripting Python.

Omar Jacobo Muñoz Veliz

Escrito por

Omar Jacobo Muñoz Veliz

Content at Backtrack Academy

Content Dev en backtrackacademy, auditor de seguridad informatica y desarrollador de software.

Sigue leyendo

Red Team y Penetration Testing
Programación

Red Team y Penetration Testing

user-1609041409

Una evaluación en Red Team y Penetration Testing son similares en varias formas pero Red Team es más dirigido a un objetivo que a buscar vulnerabilidades. Un Equipo de Red Team tratara de probar las defensas de una organización para ver su tiempo de detección y su tiempo a responder a las detecciones.

Printer Exploitation Toolkit
Programación

Printer Exploitation Toolkit

José Moreno

Han pasado casi 3 años desde que el hacker conocido como @0xGiraffe revoluciona las redes con sus mensajes en apoyo del famoso youtuber PewDiePie y aún a pesar de ello al realizar una simple búsqueda en shodan encontramos expuestos aproximadamente 26,000 impresoras expuestas, sin ningún tipo de autenticación o seguridad alguna.

Los cibercriminales comprometen cada vez más el ciberespacio
Programación

Los cibercriminales comprometen cada vez más el ciberespacio

Estevenson Luis Solano

Ante la pandemia global de COVID 19 la ciberseguridad ha sido un gran desafío para cientos de usuarios y empresas previo al impacto de la transformación digital emergente despertando así, grandes conexiones y usos masivos de los canales digitales con el fin de continuar sus quehaceres, previo a la gran exposición de los incidentes y eventos cibernéticos muchos cibercriminales han atentado contra la triada de la seguridad de la información en los activos de información que conforman la infraestructura tecnológica, desarrollando de forma ofensiva estrategia de ataques emergentes y disruptivos, lo cual ha afectado la continuidad de las operaciones es tanto así que el sector mas impactado ha sido el área de salud, además de la privacidad de la información por la implantación del teletrabajo muchas plataformas han sido afectada.