Diferència entre revisions de la pàgina «Auditoria a un Prestashop»

De Wiket
Salta a la navegació Salta a la cerca
 
(59 revisions intermèdies per 2 usuaris que no es mostren)
Línia 1: Línia 1:
Proyecto realizado por Luis Andres Ascoy Ramirez y Eric Repullo Baget
+
==¿Quiénes somos?==
==Introducción==
+
Este proyecto ha sido realizado por Luis Andres Ascoy Ramirez y Eric Repullo Baget, estudiantes de SIS2 del Institut Esteve Terradas i Illa.
Este proyecto consiste en hacer una auditoria a Puchito.ml (Prestashop) que hemos instalado y configurado para recrear una tienda virtual. Para ello, hemos realizado diferentes ataques al Prestashop, a la base de datos y al Apache2 para ver la vulnerabilidades que tiene cada uno de ellos para poder evaluarlas y, posteriormente, entrar y extraer la mayor información posible. Para realizar este proyecto, nos hemos basado en ataques para las siguientes versiones:
 
<ul>
 
<li type="circle">Prestashop: 1.7.1.0</li>
 
<li type="circle">PHP: 5.6</li>
 
<li type="circle">Apache2: 2.4.29</li>
 
<li type="circle">MySQL: 5.7.26</li>
 
</ul>
 
 
 
[[Fitxer:Diagrama_proyecto.jpg|700px|center]]
 
 
 
==Ataques realizados==
 
===Ingeniería Social===
 
La <b>ingeniería social</b> es una de las prácticas más comunes a la hora de querer realizar un ataque a una página web. El objetivo principal es recoger toda la información posible expuesta a través de búsquedas por Internet o en la propia página para, posteriormente, realizar ataques y obtener las credenciales de usuarios legítimos. Por lo tanto, podemos clasificar la ingeniería social como un ataque pasivo, ya que recopila información expuesta, por la propia empresa, al público y no sale fuera del margen de la legalidad.
 
 
 
En primer lugar, hemos accedido a la página del servidor, en este caso puchito.ml, para recopilar toda la información posible. Con esto hemos conseguido:
 
<ul>
 
<li>E-mail del posible administrador de puchito.ml: [email protected]</li>
 
<li>Nombre de la empresa: Pucho S.A</li>
 
<li>Tipo de página utilizada: http</li>
 
</ul>
 
 
 
En segundo lugar, hemos creado una cuenta en la tienda para ver qué tipos de credenciales utiliza y que filtros tiene la contraseña (nivel de dificultad). Además de ver el entorno por donde se mueve el usuario y que privilegios tiene. Gracias a esto hemos obtenido la información de que no pide ningún carácter especial a la hora de introducir la contraseña.
 
 
 
Con estos datos, posteriormente podremos generar un diccionario para obtener credenciales mediante ataques de fuerza bruta.
 
 
 
===Scanning===
 
El ataque sanning, como su propio nombre indica, se encarga de lanzar un escaneo a la red de manera local o bien un <b>target</b> especifico. Gracias a esto, conseguimos recolectar información expuesta, de una manera más violenta a la ingeniería social, pero no menos útil a la hora de realizar ataques.
 
====Nmap====
 
 
 
Nmap es una herramienta que realiza escaneos a la red local o dominios publicados en la red con una infinidad de funciones para personalizar nuestra búsqueda incluyendo la detección de puertos abiertos, versiones, sistema operativos...
 
 
 
En nuestro caso, para realizar un escaneo a puchito.ml hemos lanzado:
 
 
 
<p align="center"> '''nmap -sT -sV -O [dominio asocioado]''' </p>
 
 
 
*-sT: Realiza un escaneo a los puertos TCP del dominio o IP.
 
*-Sv: Realiza un escaneo de las versiones a los puertos abiertos del dominio o IP
 
*-O: Nos muestra el sistema operativo del domino o IP
 
 
 
Esto nos muestra los siguientes resultados:
 
 
 
[[Fitxer: nmap_1.png|400px|center]]
 
 
 
====WhatWeb====
 
<b>Whatweb</b> es un software instalado en Kali, incluye los sistemas de gestión de contenidos (CMS) más comunes arrojando un total de 900 plugins con el que ayuda a identificar más información sobre la página.
 
 
 
Para utilizar esta herramienta:
 
 
 
<p align="center"> '''whatweb [dominio asociado]''' </p>
 
 
 
Con esta herramienta hemos recogido la siguiente información:
 
*Servidor: http con apache 2.4.29
 
*Título de la página Pucho S.A
 
*Sistema operativo del servidor: Ubuntu
 
*IP asociada: 192.168.0.62
 
*Cookies: PHPSESSID, Prestashop
 
 
*Lenguaje de código: javascript
 
 
 
[[Fitxer: whatweb.png|500px|center]]
 
 
 
===Ataques de fuerza bruta===
 
====Dirbuster====
 
<b>DirBuster</b> es una herramienta de ataque de fuerza bruta que utiliza un diccionario por defecto, llamado <b>common.txt</b>, que contiene los directorios y archivos expuestos y más comunes que utilizan las paginas web.
 
 
 
Para ejecutar esta herramienta desde la terminal, tenemos que introducir:
 
 
 
<p align="center"> '''dirb [URL_BASE]''' </p>
 
 
 
Una vez ejecutado DirBuster podemos observar en la captura, que ha detectado un directorio bastante importante: <b>phpmyadmin</b> con sus subdirectorios.
 
 
 
[[Fitxer:dirb2.png|550px|center]]
 
 
 
====Nikto====
 
<b>Nikto</b> es otra herramienta automatizada de ataque de fuerza bruta bastante completa, ya que también se encarga de buscar malas configuraciones, vulnerabilidades, fechas de actualización…
 
 
 
Para ejecutar dichar herramienta desde consola utilizamos la siguiente comanda:
 
  
<p align="center"> '''Nikto –h [IP/Dominio] –p [puerto]''' </p>
+
==¿De que trata nuestro proyecto?==
<ul>
+
Nuestro proyecto se basa en realizar diferentes ataques a un Prestashop, a la base de datos y al Apache2 y ver que tipo de información podemos sacar. En este proyecto, lo que hemos hecho es recrear una tienda virtual, como si existiera realmente; realizar todo tipo de ataques y ver que podemos sacar de estos ataques, como credenciales de usuarios, entrar en el administrador tanto del Prestashop como de la base de datos, etc.  
<li>h: parámetro obligatorio para definir el Target.</li>
 
<li>-p: especificar puerto en el que queremos lanza el ataque.</li>
 
</ul>
 
  
Los directorios más importantes: phpmyadmin, robots.txt, install.txt, /icons/readme. Además, hemos obtenido otra información:
+
==¿Que hemos utilizado para realizar el proyecto?==
 
<ul>
 
<ul>
<li type="circle">Cookie PHPSSID protegida únicamente con el flag de http</li>
+
<li>Prestashop</li>
<li type="circle">Anti-clickjacking X-Frame-Options desactivada o inexistente</li>
+
<li>Apache2</li>
 +
<li>MySQL</li>
 +
<li>PHP</li>
 +
<li>Ubuntu 18.04</li>
 +
<li>Kali</li>
 +
<li>Windows 10</li>
 +
<li>Router</li>
 
</ul>
 
</ul>
  
[[Fitxer:Nikto.png|500px|center]]
+
==Problemas que hemos tenido==
 
+
El principal problema que hemos tenido nosotros es el cambio de proyecto en la primera semana. Nosotros teníamos la idea de realizar una auditoria al departamento de informática pero a nivel de routers y switches. Pero, el problema que tuvimos es que si realizábamos algún ataque o hacíamos algo podríamos provocar algún problema y dejar al instituto sin Internet. Por eso cambiamos de tema en el proyecto.   
Como podemos observar en los dos casos el directorio más importante es el <b>login de phpmyadmin</b> directorio en el cual se centrara los futuros ataques de diccionario.
 
 
 
====Ataques de diccionario====
 
Los <b>ataques de diccionario</b> son otro de los ataques más comunes que se realiza en diferentes paginas o puertos en el que existe un campo para introducir credenciales.
 
Dicho ataque, y como su propio nombre indica, a partir de un diccionario con palabras creadas por nosotros mismos de una manera personalizada o directamente uno encontrado en la web podemos realizar un ataque y obtener nombres de cuentas y contraseñas. Obviamente un diccionario personalizado es mucho más efectivo, y mucho más, si utilizamos combinaciones con nombres encontrados anteriormente (ingenieria social).
 
 
 
En nuestro caso lo utilizaremos al login de <b>phpmyadmin</b> basandanos en un diccionario, ya creado con credenciales típicas y otra con un diccionario generado por nosotros.
 
 
 
*Diccionario ya creado: Hemos hecho uso de rockyou.txt, un archivo con las palabras más utilizadas por los usuarios a la hora de crearse una cuenta, pero no tuvimos exito.
 
 
 
*Diccionario personalizado: A partir de toda la información recolectada anteriormente, hemos generado un diccionario con las posibles combinaciones de usuario y contraseña. En esta ocasión fue todo un éxito, ya que recopilado la siguiente información:
 
 
 
[[Fitxer: Credenciales_hydra.png|500px|center]]
 
 
 
<p align="center"> '''Usuario: lascoyramirez''' </p>
 
<p align="center"> '''Contraseña: Puch0.S.A''' </p>
 
 
 
Para obtener estas credenciales utilizamos la herramienta <b>hydra</b>, pero al realizarlo al login de una pagina necesitamos pasarle parámetros extras, como, el código del campo donde se se realiza la petición de usuario y contraseña.
 
 
 
<ol>
 
 
 
<li value="1">Inspeccionar el elemento de la pagina y localizar el codigo del campo</li>
 
 
 
[[Fitxer: Parametro1.png|500px|center]]
 
 
 
[[Fitxer: parametro2.png|500px|center]]
 
 
 
<li>El tipo de trafico de envío que utiliza la pagina http: <b>GET</b>|<b>POST</b></li>
 
 
 
<li> Parámetro para añadir al diccionario el usuario y contraseña</li>
 
 
 
-L: diccionario usuario
 
 
 
-P: diccionario contraseña
 
 
 
<li>Otros parámetros:</li>
 
-t: numero de conectores en paralelo.
 
 
 
-f: Una vez encontrado las credenciales salir.
 
 
 
-vV: Que nos muestre lo se va ejecutando.
 
 
 
<li>Resultado final:</li>
 
 
 
<p align="center">'''hydra -t 1 -L [diccionario] -f -P [diccionario] -vV 192.168.0.2 http-post-form "/phpmyadmin/index.php:pma_username=^USER^&pma_password=^PASS^&server=1:denied"'''</p>
 
 
 
</ol>
 
 
 
===MITM (Man In The Middle)===
 
El ataque <b>Man-in-the-middle</b> es uno de los más comunes, el principal objetivo es introducirse como intermediario entre la víctima y la página en la que navega de una manera sigilosa, ya que el usuario no tiene idea de lo que sucede.
 
 
 
====MITM (ETTERCAP)====
 
En primer lugar, configuramos el programa ettercap para que investigue todo el tráfico que pasa por la tarjeta de red principal, en este caso, es eth0.
 
 
 
En segundo lugar, nos vamos a la pestaña Hosts para realizar un escaneo a la red y ver que hosts están conectados.
 
 
 
En tercer lugar, con la lista de todos los dispositivos conectados en red escogemos la IP de nuestra víctima, en este caso la IP 192.168.0.66, y la añadimos a Target1.
 
 
 
Por último, especificamos el tipo de MITM, nosotros lo haremos por ARP poisoning. Después, seleccionamos la opción de <b>sniff</b> y esperamos a que el usuario introduzca sus credenciales para entrar a su cuenta.
 
 
 
*Recordemos que la tienda virtual utiliza el <b>puerto 80 HTTP</b>, por lo tanto su tráfico no va encriptado.
 
 
 
[[Fitxer:MITM_5.png|600px|center]]
 
 
 
====DNS spoofing====
 
====Driftnet====
 
<b>Driftnet</b> es una herramienta incluida dentro de la suite dsniff diseñada para testar la seguridad de la red. Esta, incluye varias aplicaciones para monitorizar la red de formas muy diversas y puede llegar a comprometer la privacidad de las personas conectadas a la red, si realizamos un ataque MITM. Pero esta, nos permite observar las imágenes que esta visualizando la victima a partir de un trafico TCP.
 
 
 
Nosotros, para realizar este ataque hemos utilizado la herramienta del websploit.
 
 
 
===OWASP===
 
Es un proyecto abierto de seguridad en aplicaciones web con código abierto, siendo una de las herramientas más completas y perfectas a la hora de realizar pruebas de vulnerabilidades a una página, gracias a la gran variedad de recursos que nos ofrece.
 
====Cross Site Scripting (XSS)====
 
====Ataque de diccionarios(2)====
 
Para demostrar este tipo de ataque hemos realizado un ataque al login de phpmyadmin.
 
 
 
<ol>
 
 
 
<li value="1">Cambiar la configuración de nuestro proxy con la dirección localhost y con el puerto 8080</li>
 
 
 
<li>Activar el proxy en las opciones que nos ofrece el propio owasp e introducir la misma dirección y puerto del paso anterior.</li>
 
 
 
<li>Accedemos a la página de puchito.ml/phpmyadmin desde nuestro navegador y rellenamos los campos de login y password.</li>
 
 
 
<li>Ir al OWASP y localizar la petición que hemos realizado desde nuestro navegador al introducir las credenciales para acceder.</li>
 
 
 
<li>Una vez localizada observamos el nombre del campo donde se introduce el usuario y password y hacemos click derecho para atacar con Fuzzer. Para realizar esto seleccionamos el valor de login y password y lo sustituimos por nuestro diccionario personalizado generado anteriormente.</li>
 
 
 
[[Fitxer:Pas6.png|500px|center]]
 
 
 
<li>Activar el ataque y esperar a que OWASP arroje algún resultado. (Si hay alguno veremos que el valor es de 0 bytes)</li>
 
 
 
[[Fitxer:Pas9.png|500px|center]]
 
 
 
</ol>
 
 
 
Como observamos fuzzer nos muestra todas las combinaciones que ha hecho a partir de nuestro diccionario. Si nos fijamos bien podemos ver que hay una coincidencia con el valor de 0 bytes, esto nos indica que hay una combinación que es correcta.
 
 
 
Por lo tanto, obtenemos, como con hydra, un usuario en la base de datos con las siguientes credenciales:
 
 
 
<p align="center"> '''Usuario: lascoyramirez''' </p>
 
<p align="center"> '''Contraseña: Puch0.S.A''' </p>
 
 
 
===Nessus===
 
<b>Nessus</b> es un programa de escaneo de vulnerabilidades para diferentes sistemas operativos. Este, consiste en un demonio (<b>nessusd</b>) que realiza el escaneo del sistema objetivo. A partir de aquí, Nessus <b>informa sobre el estado de los escaneos</b>.
 
 
 
Esto no seria un ataque como tal, porque como hemos explicado anteriormente, Nessus es un programa que escanea el sistema que nosotros queremos para saber las vulnerabilidades que pueda tener y, a partir del informa que nos da, atacar al sistema y ver como poder entrar para atacar a nuestra tienda virtual, base de datos o apache2.
 
 
 
[[Fitxer:rango.png|700px|center]]
 
 
 
En este caso, Nessus nos informa que el sistema donde tenemos tanto el Prestashop como la base de datos no tiene <b>ninguna vulnerabilidad</b>. Podemos decir, que el sistema donde esta montado la tienda no tiene ninguna vulnerabilidad para entrar.
 
 
 
[[Fitxer:nessus.png|700px|center]]
 
 
 
===FOCA===
 
<b>FOCA</b> o <b>Fingerprinting Organizations with Collected Archives</b> es una herramienta para windows focalizada en la búsqueda de metadatos e información oculta en diferentes archivos. Por otro lado, también nos ofrece búsquedas automatizadas de directorios y archivos vulnerables de páginas mediante el uso de dorks.
 
 
 
Este ataque no dio resultado, ya que nuestro prestashop es en localhost y al no estar publicado en internet no puede generar una lista con vulnerabilidades en directorios o ficheros, porque utiliza los motores de búsqueda más comunes (google, bing, yahoo...) para realizar un escaneo.
 
 
 
La herramienta FOCA se ejecuta de una manera muy sencilla:
 
 
 
<ol>
 
 
 
<li value="1"> Generamos un nuevo proyecto</li>
 
 
 
<li>Introducimos un nombre de proyecto, el dominio y dominios alternativos</li>
 
 
 
<li> Le damos a crear y acto seguido pulsamos en <b>search all</b> </li>
 
 
 
</ol>
 
 
 
Como hemos dicho anteriormente, FOCA no ha encontrado ningún resultado:
 
 
 
[[Fitxer: FOCA3.png|500px|center]]
 
 
 
===Ataque DDoS===
 
El <b>ataque DDos</b> o <b>Ataque de denegación de servicios</b> realiza peticiones o conexiones a una pagina a gran escala para poder saturarla y dejarla sin funcionamiento.  
 
 
 
Dicho ataque se divide en dos: si es DDoS las peticiones se realizan de diferentes puntos y de manera masiva haciendo más dificil su deteccion, y en caso de DoS dichas peticiones se realizan desde una misma máquina o dirección IP siendo más fácil de detectar.
 
====Metasploit Framework====
 
====Slowloris====
 
Slowloris es una herramienta automatizada de lenguaje perl con la función de realizar ataque de DoS nada más ejecutarlo. Lo que la hace perfecta para saturar directamente a la pagina sin ninguna dificultad
 
 
 
Esta herramienta no viene instalada por defecto en el sistema Kali, por lo tanto para poder hacer un uso de ella tenemos que descargarla desde la github.
 
 
 
<p align="center"> '''git clone https://github.com/llaera/slowloris.pl. git''' </p>
 
 
 
Una vez instalada nos situamos dentro del directorio y lo ejecutamos de la siguiente manera:
 
 
 
===Phishing===
 
El <b>phishing</b> es un método de ciberataque que sirve para engañar a los usuarios y conseguir información personal, como contraseñas, correos, datos personales, tarjetas de crédito, cuentas bancarias y demás. Esto se hace mediante el envió de un correo fraudulento. Este, le envía hacia un sitio web falso que suplanta una parte de la web principal, donde el usuario tiene que loguearse o poner otro tipo de datos. Entonces, cuando acaba de poner sus datos, la web se recarga y redirecciona al usuario a la web principal, pero en ese mismo momento el atacante ya ha recogido los datos que ha introducido la victima haciéndose, de esta manera, con los datos personales para hacer con ellos lo que el atacante quiera.
 
   
 
Nosotros, para realizar este ataque, como anteriormente, ya hemos obtenido las credenciales de la victima, le enviamos un correo, en el cual le haremos creer que hay un descuento en la tienda  y para obtener dicho descuento tendría que entrar el momento si quiere disfrutar de él.
 
 
 
Antes de enviar el correo a la victima, crearemos un dominio falso en el cual el usuario tenga que poner su correo y su contraseña para obtenerlas y poder entrar con su usuario. Para hacer este paso, en nuestro caso en la Kali que es donde vamos a capturar los datos del usuario, tendremos que crear un archivo dentro de la carpeta <b>/etc/apache2/sites-available</b> en el cual le tendremos que poner como administrador (<b>ServerAdmin</b>) nosotros mismos, configurar la web falsa la cual entrará la victima (<b>ServerName</b>), un alias (<b>ServerAlias</b>) aunque en el navegador saldrá el nombre puesto en ServerName y la ruta donde tenemos el apache2 para recrear la web falsa.
 
 
 
[[Fitxer:puchiito.png|700px|center]]
 
 
 
Ahora iniciamos el <b>setoolkit</b>, que es la herramienta que vamos a utilizar para hacer el phishing. Una vez en el menú del setoolkit, primero ponemos 1 que es <b>Social-Engineering Attacks</b>. Luego, ponemos 2 que es <b>Website Attack Vectors</b>. Después, 3 que es <b>Credential Harvester Attack Method</b> para coger las credenciales. Y por último, 2 que es <b>Site Cloner</b> que es para clonar la página que le pasamos a continuación. Hecho estos pasos, pondremos la IP desde donde queremos capturar el ataque, en nuestro caso desde nuestra Kali y, luego, nos pedirá que pongamos la web que queremos clonar.
 
 
 
[[Fitxer:clonar.png|700px|center]]
 
 
 
Una vez hecho este paso y creado ya nuestro dominio falso, le enviamos el correo a la victima donde le diremos que hay un descuento en la tienda y le pondremos la URL de nuestra web falsa para que entre y loguearse con sus credenciales.
 
 
 
[[Fitxer:correo.png|700px|center]]
 
 
 
Como podemos ver en la siguiente captura, el usuario ha entrada en nuestra web falsa, una web ya creada anteriormente para hacer creer ha la victima que esta entrando en la web oficial de la tienda. Como podemos comprobar la URL tiene un nombre distinto pero parecido.
 
 
 
[[Fitxer:webfalsa.png|700px|center]]
 
 
 
Ahora, una vez que la victima ha metido sus credenciales, le redirige a la web oficial, haciéndole creer que se ha equivocado al poner alguno de sus datos. Entonces, él volverá a poner su correo y contraseña y, al entrar en la web, no verá que no hay ningún tipo de descuento.
 
 
 
[[Fitxer:Weboficial.png|700px|center]]
 
 
 
Como el usuario ya ha metido sus credenciales en la web falsa y ha sido redirigido a la web oficial, en ese momento, desde nuestra Kali, hemos capturado sus datos como podemos ver en la captura siguiente.
 
  
[[Fitxer:phishing.png|700px|center]]
+
==Conclusión==
 +
Con este proyecto, hemos aprendido ha realizar ataques que hemos hecho durante el curso en diferentes módulos, además de conocer otros recursos u otras herramientas nuevas que nos han servido para ver algunas de las partes del Prestashop, BBDD o Apache2 que no conocíamos. Otra cosa que hemos aprendido es que la parte más vulnerable para realizar un ataque es la parte humana (<b>ingeniería social</b>) que con tan solo un click puedes sacar mucha información. A parte, nos hubiera gustado hacer el ataque Remote Code Execution. Este ataque consiste en la capacidad que tiene un atacante para acceder al dispositivo informático de otra persona y realizar cambios, sin importar dónde esté ubicado geográficamente el dispositivo. Pero, por falta de tiempo no hemos podido realizar.
  
Como podemos ver, hemos capturado las credenciales de las victimas. Con esto, podemos entrar en la página de la tienda como si fuéramos el usuario y, si este, tiene  la tarjeta de crédito guardada en su cuenta de la página, podríamos comprar cosas con su tarjeta.
+
==Documentación del proyecto==
 +
*[[Auditoria a un Prestashop - Manual técnico]]
 +
*[https://drive.google.com/file/d/1glwA38Y6hn1ftTqat8HnzxEYyIlNQSHj/view?usp=sharing Descargar Power Point de la presentación del proyecto final.]

Revisió de 21:29, 26 maig 2019

¿Quiénes somos?

Este proyecto ha sido realizado por Luis Andres Ascoy Ramirez y Eric Repullo Baget, estudiantes de SIS2 del Institut Esteve Terradas i Illa.

¿De que trata nuestro proyecto?

Nuestro proyecto se basa en realizar diferentes ataques a un Prestashop, a la base de datos y al Apache2 y ver que tipo de información podemos sacar. En este proyecto, lo que hemos hecho es recrear una tienda virtual, como si existiera realmente; realizar todo tipo de ataques y ver que podemos sacar de estos ataques, como credenciales de usuarios, entrar en el administrador tanto del Prestashop como de la base de datos, etc.

¿Que hemos utilizado para realizar el proyecto?

  • Prestashop
  • Apache2
  • MySQL
  • PHP
  • Ubuntu 18.04
  • Kali
  • Windows 10
  • Router

Problemas que hemos tenido

El principal problema que hemos tenido nosotros es el cambio de proyecto en la primera semana. Nosotros teníamos la idea de realizar una auditoria al departamento de informática pero a nivel de routers y switches. Pero, el problema que tuvimos es que si realizábamos algún ataque o hacíamos algo podríamos provocar algún problema y dejar al instituto sin Internet. Por eso cambiamos de tema en el proyecto.

Conclusión

Con este proyecto, hemos aprendido ha realizar ataques que hemos hecho durante el curso en diferentes módulos, además de conocer otros recursos u otras herramientas nuevas que nos han servido para ver algunas de las partes del Prestashop, BBDD o Apache2 que no conocíamos. Otra cosa que hemos aprendido es que la parte más vulnerable para realizar un ataque es la parte humana (ingeniería social) que con tan solo un click puedes sacar mucha información. A parte, nos hubiera gustado hacer el ataque Remote Code Execution. Este ataque consiste en la capacidad que tiene un atacante para acceder al dispositivo informático de otra persona y realizar cambios, sin importar dónde esté ubicado geográficamente el dispositivo. Pero, por falta de tiempo no hemos podido realizar.

Documentación del proyecto