Documento Anexo

ACTIVIDAD EJE IV – AUDITORÍA DE SEGURIDAD. SEGURIDAD EN BASES DE DATOS ANEXOS Profesor: JHON JAIRO PARRA LEON ALUMNOS:

Views 7 Downloads 0 File size 2MB

Report DMCA / Copyright

DOWNLOAD FILE

Recommend stories

Citation preview

ACTIVIDAD EJE IV – AUDITORÍA DE SEGURIDAD. SEGURIDAD EN BASES DE DATOS ANEXOS

Profesor: JHON JAIRO PARRA LEON

ALUMNOS:

FUNDACIÓN UNIVERSITARIA ÁREA ANDINA. FACULTAD DE INGENIERÍA DE SISTEMAS VIRTUAL. SEGURIDAD EN BASES DE DATOS. BOGOTÁ D.C. 08 DE JUNIO 2020

Tabla De Contenido INTRODUCCIÓN.................................................................................................................. 3 OBJETIVO GENERAL.......................................................................................................... 4 OBJETIVO ESPECÍFICO...................................................................................................4 DESARROLLO...................................................................................................................... 5 ............................................................................................................................................... 5 1.

No se encuentra encabezado X-Content-Type-Options Header..........................................13 1

2.

Absence of Anti-CSRF Tokens......................................................................................16

3.

Inclusión de archivos de origen JavaScript Cross-Domain.................................................20

4.

Cookie No HttpOnly Flag.............................................................................................25

5.

Cookie Without SameSite Attribute................................................................................26

CONCLUSIONES............................................................................................................. 37 BIBLIOGRAFIA.................................................................................................................. 38

INTRODUCCIÓN El siguiente anexo presenta el informe y los resultados obtenidos por medio de la aplicación ZAP al realizar pruebas a la plataforma http://www.asociacionpyme.pe con sus respectivas descripciones y soluciones para contener las vulnerabilidades que dan paso a las amenazas que afectan el correcto funcionamiento de las páginas Web.

2

OBJETIVO GENERAL. 1. Demostración del informe obtenido por la aplicación ZAP 2. Clasificación por el nivel de amenaza que representa

OBJETIVO ESPECÍFICO.

3

Revisar la eficaz gestión de los recursos informáticos, donde se evidenciará las vulnerabilidades del sistema donde se determinará sus fallas y evaluarlas evidencias correspondientes para determinar si este sistema es optimo e informar a la empresa para salvaguardar la información.

DESARROLLO Terminado el proceso de escaneo con la herramienta ZAP, arroja los siguientes resultados: + Summary of alerts Risk Alert

Number of Alerts

4

High

1

Medium

2

Low

6

Informational

2

Con base en el resumen de alertas se evidencia el riesgo alto de ser atacados por Inyección Sql en la dirección: http://www.asociacionpyme.pe/?mensaje=+AND+1%3D1+--+

Se cita la descripción de la falla por inyección Sql descrita en el documento: Wichers, D., & Williams, J. (2017). Owasp top-10 2017. OWASP Foundation. “Las fallas de inyección, como SQL, NoSQL, OS o LDAP ocurren cuando se envían datos no confiables a un intérprete, como parte de un comando o consulta. Los datos dañinos del atacante pueden engañar al intérprete para que ejecute comandos involuntarios o acceda a los datos sin la debida autorización” En este caso y como resultado del escaneo la herramienta recomienda las siguientes acciones para mitigar la vulnerabilidad expuesta: ● No confíe en los valores de entrada del lado del cliente, incluso si en el lado del cliente se realice una validación. ● En general, comprobar todos los datos de entrado en el servidor. ● Si la aplicación usa JDBC, usar PreparedStatement o CallableStatement, con parámetros pasados por '?' 5

● Si la aplicación utiliza ASP, usar ADO Command Objects con una fuerte comprobación de tipos de consultas y parámetros. ● ● Si la Base de Datos puede usar Stored Procedures (Procedimientos Almacenados), úselos. ● ¡NO concatenar cadenas en los query (consultas) en el procedimientos almacenados, o utilizar 'exec', 'exec immediate', o su funcionalidad equivalente! ● No crear consultas SQL dinámicas usando una sencilla concatenación de cadenas. ● Aplique una lista blanca (whitelist) de caracteres permitidos, o una lista negra (blacklist) de caracteres no permitidos en la entrada (input) del usuario. ● Aplique el privilegio mínimo posible al usuario de la base de datos de los privilegios usados. ● En particular evitar el uso de los usuario de base de datos 'sa' o 'db-owner'. Esto no elimina la ○ inyección SQL, pero minimiza su impacto. ● Conceder el mínimo acceso de base de datos que es necesario para la aplicación. Además de las recomendaciones, informa otras acciones realizadas durante el escaneo de seguridad: ● Los resultados de la página se manipularon con éxito utilizando las condiciones booleanas [ AND 1=1 -- ] y [ OR 1=1 -- ] ● El valor de parámetro que está modificado fue NOT eliminado de la salida HTML para fines de la comparación Los datos NO fueron revueltos por el parámetro original. ● La vulnerabilidad fue detectada con éxito recuperando más datos retornados originalmente, por la manipulación del parámetro.

6

7

En cuanto a las dos vulnerabilidades catalogadas en Medium indica los siguientes parámetros de resultado: X-Frame-Options definidas mediante META (no-obediente con especificaciones) Se encontró una etiqueta META X-Frame-Options (XFO), definiendo XFO mediante una etiqueta TAG es explícitamente no compatible con la especificación (RFC 7034). http://www.asociacionpyme.pe/nuestrosgremios/ainnovapyme http://www.asociacionpyme.pe/nuestrosgremios http://www.asociacionpyme.pe/observatorio/compras http://www.asociacionpyme.pe/nuestrosgremios/asodem http://www.asociacionpyme.pe/nuestrosgremios/indupyme http://www.asociacionpyme.pe/nuestrosgremios/aagrope http://www.asociacionpyme.pe/nuestrosgremios/asomicrochiclayo http://www.asociacionpyme.pe/nuestrosgremios/asoempremed http://www.asociacionpyme.pe/busqueda?search=ZAP http://www.asociacionpyme.pe/observatorio/fortalecimiento Como solución, indica lo siguiente: Asegúrese de que X-Frame-Options es configurado mediante un campo de encabezado de respuesta. La cabecera X-Frame-Options sirve para prevenir que la página pueda ser abierta en un frame, o iframe. De esta forma se pueden prevenir ataques de clickjacking. La otra vulnerabilidad media indica Encabezado X-Frame-Options no establecido.

8

El encabezado X-Frame_options no está incluido en la respuesta HTTP para proteger ante ataques “ClickJacking”. Como solución el informe plantea: Los navegadores de web más modernos apoyan la cabecera HTTP X-Frame-Options. Asegúrese que está establecido en todas las páginas web devuelta por su sitio (si usted espera que la página esté enmarcada solo por páginas en su servidor (por ejemplo, es parte de un FRAMESET) entonces usted querrá usar SAMEORIGIN, de otras formas si usted nunca espera que la página esté enmarcada, debería usar DENY. ALLOW-FROM permite a sitios web específicos enmarcar la página web en navegadores web compatibles).

9

10

11

12

Para el caso de las vulnerabilidades encontradas en la categoría Low y que son seis se resume las siguientes evidencias:

1. No se encuentra encabezado X-Content-Type-Options Header. Descripción: El encabezado Anti-MIME-Sniffing X-Content-Type-Options no estaba configurado para 'nosniff'. Esto permite versiones antiguas de Internet Explorer y Chrome ejecutar MIME-sniffing en el cuerpo de la respuesta, causando potencialmente que el cuerpo de respuesta sea interpretado y desarrollado como un tipo de contenido diferente que el tipo de contenido declarado. Estos (principios de 2014) y versiones antiguas de Firefox preferiblemente usarán el tipo de contenido declarado (si hay uno establecido), antes que ejecutar el MIME-Sniffing. Solución: Asegúrese que el servidor de la aplicación/web establezca el encabezado ContentType apropiadamente, y que esté establecido el encabezado X-Content-Type-Options en 'nosniff' para todas las páginas web. Si es posible, asegúrese que el último usuario usa un navegador web compatible con los estándares y moderno que no ejecute MIME-sniffing en absoluto, o que pueda ser dirigida

por el servidor de la aplicación/web para no ejecutar MIME-sniffing.

13

14

15

2. Absence of Anti-CSRF Tokens Descripción: No Anti-CSRF tokens were found in a HTML submission form. Una solicitud falsa entre sitios en un ataque que compromete y obliga a una víctima a enviar su solicitud HTTP a un destino objetivo sin su conocimiento o intención para poder realizar una acción como víctima. La causa oculta es la funcionalidad de la aplicación utilizando acciones de URL/formulario que pueden ser adivinados de forma repetible. La naturaleza del ataque es que CSRG explota la confianza que un sitio web proporciona a un usuario. Por el contrario, las cadenas de comandos de los sitios cruzados (XSS) explotan la confianza que un usuario proporciona en un sitio web. Al igual que XSS, los ataques CSRG no son de forma necesaria de sitios cruzados, pero hay la posibilidad de que sí pueden serlo. La falsificación de las solicitudes ente los sitios también se conoce como CSRF, XSRG, ataques con un solo clic, montaje de sesión, diputado confundido y navegación en alta mar. Los ataques de CSRG son muy efectivos en varias situaciones, que incluyen: *La víctima tiene una sesión activa en el sitio de destino. *La víctima se autoriza por medio de la autenticación HTTP en el sitio de destino. *La víctima se encuentra en la misma red local que el sitio de destino.

16

CSRF se ha utilizado especialmente para poder realizar una acción contra un sitio objetivo utilizando los privilegios de la víctima, pero se han revelado técnicas recientes para difundir información al obtener el acceso a la respuesta. El riesgo de divulgación de información aumenta de forma drástica cuando el sitio de destino se encuentra vulnerable a XSS, porque XSS se puede utilizar como una plataforma para CSRF, lo que le permite al atacante que opere desde adentro de los límites de la misma política de origen. Solución: Frase: Arquitectura y Diseño Utilice una biblioteca o marco comprobado que no acepte que ocurra esta debilidad o que proporcione construcciones que permitan que esta debilidad sea más sencilla de evitar. Por ejemplo, utilice el paquete anti-CSRG como el CSRGuard de OWASP. Fase: Implementación Asegúrese de que su aplicación esté libre de fallas de secuencias de comandos entre sitios, ya que la mayoría de las defensas de CSRF pueden detenerse por alto por medio del uso de secuencias de comandos manejadas por el atacante. Fase: Arquitectura y Diseño Origina un nonce único para cada uno de los formularios, coloque el nonce en el formulario y confirme la independencia al obtener el formulario. Asegúrese de que el nonce no sea predecible (CWE-330).

17

18

19

20

3. Inclusión de archivos de origen JavaScript Cross-Domain. Descripción: Las páginas incluyen uno o más archivos encriptados de un dominio de terceros. Solución: Asegúrese que los archivos de la fuente JavaScript están descargados solo de sus fuentes confiables, y las fuentes no pueden ser controladas por los usuarios finales de la aplicación.

21

22

23

Server Leaks Information via "X-Powered-By" HTTP Response Header Field(s). Descripción: El servidor web / de aplicaciones está filtrando información a través de uno o más HTTP "X-Powered-By" encabezados de respuesta. El acceso a dicha información puede facilitar que los atacantes identifiquen a otros marcos / componentes de los que depende su aplicación web y las vulnerabilidades como los componentes pueden estar sujetos a esta. Solución: Asegúrese de que su servidor web, servidor de aplicaciones, equilibrador de carga, etc. esté configurado para suprimir "XPowered-By” "encabezados".

24

25

4. Cookie No HttpOnly Flag. Descripción: Se ha establecido una cookie sin la bandera HttpOnly, lo que significa que la cookie puede ser accedida mediante JavaScript. Si un script malicioso puede ser ejecutado en esta página entonces la cookie será accesible y podrá ser transmitida a otro sitio. Si esta es una cookie de sesión entonces el secuestro de sesión podría ser posible. Solución: Asegúrese que la bandera HttpOnly está establecida para todas las cookies.

26

5. Cookie Without SameSite Attribute. Descripción: Se ha establecido una cookie sin el atributo SameSite, lo que significa que la cookie se puede enviar como resultado de una solicitud de "sitio cruzado". El atributo SameSite es una contramedida efectiva para crosssite solicitar falsificación, inclusión de scripts entre sitios y ataques de tiempo. Solución: Asegúrese de que el atributo SameSite esté establecido en 'lax' o idealmente 'estricto' para todas las cookies.

27

Informational. (2) Timestamp Disclosure - Unix. Solución: Confirme manualmente que los datos de la marca de tiempo no son confidenciales y que los datos no se pueden agregar para revelar patrones explotables.

28

Information Disclosure - Suspicious Comments. Solución: Elimine todos los comentarios que devuelven información que pueda ayudar a un atacante y repare cualquier información subyacent

29

30

31

32

33

34

35

36

CONCLUSIONES Como se pudo evidenciar por los resultados arrojados por la aplicación ZAP el portal Web http://www.asociacionpyme.pe presenta una cantidad de errores considerables que debería plantearse solucionar lo antes posibles antes de que puedan dar paso a problemas mayores como lo pueden ser robos de credenciales y suplantación, estafas por medio de enlaces páginas Web maliciosas o declinación de servicios. Para garantizar el mayor nivel de seguridad a una plataforma Web es necesario poner a prueba los filtros con los que esta cuenta, garantizando que las posibles vulnerabilidades presentes tienen un plan de contingencia para remediarlas.

37

BIBLIOGRAFIA https://www.kali.org/ https://www.kali.org/downloads/

38