Taula de continguts

Proves de seguretat

Tal i com s'explica a la web de l'eina ZAP Proxy, les proves de seguretat de programari comprenen l'avaluació i el test per descobrir riscos de seguretat i vulnerabilitats del sistema i les seves dades.

L'avaluació de riscos es pot definir com l'anàlisi i el descobriment de vulnerabilitats sense intentar explotar-les.

Les proves o tests de seguretat son el descobriment i intent d'explotació de vulnerabilitats.

, , , , , , , , , , , , , , , ,


Tipus de proves de seguretat

Es poden establir diversos tipus o nivells de proves de seguretat:

Entorns de test

Hi ha una sèrie de recursos d'aplicacions web vulnerables per a practicar el pentesting de les quals es poden destacar:

Per posar en marxa DVWA:

$ git clone https://github.com/digininja/DVWA
$ cd DVWA
$ docker-compose up -d --build

Es posarà en marxa i la podem visualitzar a http://localhost:4280


Eines de test per a aplicacions web

Les dues eines d'anàlisi més populars per a proves de seguretat per a aplicacions web son les següents:

Proxy per al navegador web

La funció més destacable de les eines d'anàlisi d'aplicacions web és el proxy per al browser, a mode de man-in-the-middle de les comunicacions, el què facilita la seva anàlisi i examen per intentar detectar vulnerabilitats.

Si es desitja una anàlisi dels missatges HTTPS caldrà que el proxy pugui llegir-los. Per aconseguir-ho, aquest necessitarà poder descodificar el trànsit i requerirà que el browser confii en els certificats que el proxy li oferirà, enlloc dels autèntics certificats de la site que es vol testejar. Per a que el browser confii caldrà instal·lar-hi les AC (Autoritats de Certificació) del proxy.

Això es pot aconseguir de dues maneres:

En la següent seqüència es pot veure com treballar amb el mode proxy de BURP Suite:

Browser proxificat per BURP Suite: el navegador web adverteix del proxy i de la comunicació insegura en la barra d'adreces. Omplim formulari de login amb credencials.

La secció HTTP History de BURP Suite ens permet visualitzar les dades de les credencials transmeses.

Com hem pogut veure, un cop intervingudes dades sensibles (com usuari i contrasenya però també d'altres com tokens, cookies de sessió, etc.) es poden efectuar atacs de repetició i manipulació amb les eines Intruder i Repeater.

Escaneig automatitzat i informes de vulnerabilitats

Una de les funcions més importants que realitzen aquestes eines és l'escaneig automatitzat de vulnerabilitats. BURP Suite resulta més fàcil de configurar que ZAP, però la versió gratuïta Community Edition no disposa d'aquesta funcionalitat. Cal emprar les versions de pagament, si bé la Professional Edition disposa d'un període de prova gratuït.

Els escanejos automatitzats poden trigar molt de temps (fàcilment poden arribar a vàries hores) ja que cal fer primer un catàleg de URLs a investigar (crawl) i després provar a cadascuna d'elles un catàleg d'atacs (audit). Quanta més estona d'anàlisi permetem, més vulnerabilitats podem detectar, i menys probabilitat de deixar escletxes de seguretat.

Vulnerabilitats detectades a l'aplicació DVWA en 30' d'anàlisi automatitzat amb BURP Suite: més de 17000 requests per trobar 14 vulnerabilitats greus i 17 de severitat mitjana:

A partir dels resultats trobats per l'eina d'anàlisi es poden crear informes amb les vulnerabilitats trobades, una explicació detallada d'aquestes i propostes per a la seva solució.


Exercicis

Escaneig amb BURP Suite

  1. Descarrega la versió Professional i subscriu una trial key.
  2. Fes un scan sobre DVWA anant a New scan.
    • Apunta la URL http://localhost:4280 (o aquella on hagis instal·lat DVWA
    • Per optimitzar l'escaneig convé afegir que NO segueixi les URLs:
      http://localhost:4280/logout.php
      http://localhost:4280/setup.php
      http://localhost:4280/security.php
    • Ho pots configurar a
      Scan details -> Detailed scope configuration -> Excluded URL prefixes
    • Quantes vulnerabilitats trobes?
  3. Fes un scan configurant ara usuari i contrasenya al menú «Application Login». Quantes en trobes ara?
  4. Esbrina el nivell de seguretat de DVWA que s'ha estat utilitzant durant l'escaneig.
  5. Elabora un informe HTML de les vulnerabilitats trobades de categoria «High», «Medium» i «Low» (excloem «Info»). Etiqueta'l amb «DVWA security impossible».

Configuració de credencials en un escaneig de vulnerabilitats en BURP Suite:

Registre de seqüències d'inici de sessió

Probablement trobis que l'escaneig s'ha fet en mode de seguretat «impossible», pel què el nombre de vulnerabilitats descobertes serà baix. Anem a assegurar que fem un escaneig en mode de seguretat «low». La solució serà que, enlloc de fer un login automàtic indicant credencials, iniciarem la sessió amb una seqüència d'entrada que enregistrarem prèviament amb un plugin per Chrome:

Escaneig amb BURP Suite i seqüència d'ordres d'inici

  1. Instal·la el navegador Chrome i la seva extensió Burp Suite Navigation Recorder.
  2. Ves a la configuració de l'extensió de Chrome i activa les opcions:
    • Permet en mode incògnit
    • Fixa a la barra d'eines
  3. Obre una finestra d'incògnit de Chorme (ho necessitem així perquè és com l'escàner trobarà l'aplicació DVWA quan l'obri per primer cop).
  4. Activa l'enregistrament:
    BURP Suite Navigation Recorder -> New recording
  5. Vés a la URL d'inici http://localhost:4280
  6. Fes el login.
  7. Comprova que el nivell de seguretat és «impossible» (per defecte ho hauria de ser).
  8. Ves a la secció Scurity i selecciona el nivell de seguretat «low».
  9. Atura la gravació:
    BURP Suite Navigation recorder -> Stop recording
  10. Copia la seqüència d'accions:
    BURP Suite Navigation recorder -> Copy to clipboard

Amb la seqüència d'inici de sessions registrada, passarem a configurar un nou escaneig. Enlloc de login amb credencials ho farem amb la seqüència registrada:

  1. New scan
  2. Scan details: URLs to scan http://localhost:4280 (only specified protocols)
  3. Excloure paths (ecloem pàgina de login perquè ja no calen credencials):
    http://localhost:4280/login.php
    http://localhost:4280/logout.php
    http://localhost:4280/setup.php
    http://localhost:4280/security.php
  4. Selecciona:
    Application login -> Use recorded login -> New
    • Enganxa la seqüència d'instruccions de login que hem aconseguit amb el plugin de Chrome.
    • Guardem la seqüència amb Save to library per posteriors scans.
  5. Realitza el scan.
  6. Elabora un informe HTML de les vulnerabilitats trobades de categoria «High», «Medium» i «Low» (excloem «Info»). Etiqueta'l amb «DVWA security low».
  7. Compara els resultats dels dos informes.


Alternatives

Una opció alternativa per assegurar que estem fent un escaneig en el mode adequat seria assegurar que posem les cookies adequades amb l'eina Cookie jar en Settings: