bytes.cat

La wiki d'FP d'informàtica

Eines de l'usuari

Eines del lloc


Barra lateral

ASIX Administració de Sistemes Informàtics i Xarxes
Tots els mòduls del cicle
MP01 Implantació de sistemes operatius
Totes les UFs del modul
MP02 Gestió de bases de dades
Totes les UFs del modul
MP03 Programació bàsica
Totes les UFs del modul
MP04 Llenguatges de marques i sistemes de gestió d'informació
Totes les UFs del modul
MP05 Fonaments de maquinari
Totes les UFs del modul
MP06 Administració de sistemes operatius
Totes les UFs del modul
MP07 Planificació i administració de xarxes
Totes les UFs del modul
MP08 Serveis de xarxa i Internet
Totes les UFs del modul
MP09 Implantació d'aplicacions web
Totes les UFs del modul
MP10 Administració de sistemes gestors de bases de dades
Totes les UFs del modul
MP11 Seguretat i alta disponibilitat
Totes les UFs del modul
MP12 Formació i orientació laboral
Totes les UFs del modul
MP13 Empresa i iniciativa emprenedora
Totes les UFs del modul
MP14 Projecte
Totes les UFs del modul
DAM Desenvolupament d’aplicacions multiplataforma
Tots els mòduls del cicle
MP01 Sistemes informàtics
Totes les UFs del modul
MP02 Bases de dades
Totes les UFs del modul
MP03 Programació bàsica
Totes les UFs del modul
MP04 Llenguatges de marques i sistemes de gestió d'informació
Totes les UFs del modul
MP05 Entorns de desenvolupament
Totes les UFs del modul
MP06 Accés a dades
Totes les UFs del modul
MP07 Desenvolupament d’interfícies
Totes les UFs del modul
MP08 Programació multimèdia i dispositius mòbils
Totes les UFs del modul
MP09 Programació de serveis i processos
Totes les UFs del modul
MP10 Sistemes de gestió empresarial
Totes les UFs del modul
MP11 Formació i orientació laboral
Totes les UFs del modul
MP12 Empresa i iniciativa emprenedora
Totes les UFs del modul
MP13 Projecte de síntesi
Totes les UFs del modul
MPDual Mòdul Dual / Projecte
DAW Desenvolupament d’aplicacions web
Tots els mòduls del cicle
MP01 Sistemes informàtics
Totes les UFs del modul
MP02 Bases de dades
Totes les UFs del modul
MP03 Programació
Totes les UFs del modul
MP04 Llenguatge de marques i sistemes de gestió d’informació
Totes les UFs del modul
MP05 Entorns de desenvolupament
Totes les UFs del modul
MP06 Desenvolupament web en entorn client
Totes les UFs del modul
MP07 Desenvolupament web en entorn servidor
Totes les UFs del modul
MP08 Desplegament d'aplicacions web
Totes les UFs del modul
MP09 Disseny d'interfícies web
Totes les UFs del modul
MP10 Formació i Orientació Laboral
Totes les UFs del modul
MP11 Empresa i iniciativa emprenedora
Totes les UFs del modul
MP12 Projecte de síntesi
Totes les UFs del modul
SMX Sistemes Microinformàtics i Xarxes
Tots els mòduls del cicle
MP01 Muntatge i manteniment d’equips
Totes les UFs del modul
MP02 Sistemes Operatius Monolloc
Totes les UFs del modul
MP03 Aplicacions ofimàtiques
Totes les UFs del modul
MP04 Sistemes operatius en xarxa
Totes les UFs del modul
MP05 Xarxes locals
Totes les UFs del modul
MP06 Seguretat informàtica
Totes les UFs del modul
MP07 Serveis de xarxa
Totes les UFs del modul
MP08 Aplicacions Web
Totes les UFs del modul
MP09 Formació i Orientació Laboral
Totes les UFs del modul
MP10 Empresa i iniciativa emprenedora
Totes les UFs del modul
MP11 Anglès
Totes les UFs del modul
MP12 Síntesi
Totes les UFs del modul
CETI Ciberseguretat en Entorns de les Tecnologies de la Informació
Tots els mòduls del cicle
CiberOT Ciberseguretat en Entorns d'Operació
Tots els mòduls del cicle
proves_de_seguretat

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:

  • Revisió de codi: revisió detallada i anàlisi del codi de l'aplicació i del sistema a la cerca específica de possibles escletxes de seguretat.
  • Detecció de vulnerabilitats: el sistema s'escaneja a la cerca de possibles problemes de seguretat.
  • Tests de penetració (pentesting): simulació d'atacs d'usuaris malintencionats.
  • Tests en temps d'execució: proves de l'aplicació i sistema complert per part d'usuaris finals.

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:

  • Juicy Shop : botiga virtual implementada en NodeJS. És la web vulnerable oficial d'OWASP.
  • DVWA o Damn Vulnerable Web Application : digininja ens facilita una web molt senzilla pensada per a aprendre a practicar pentesting amb un ample catàleg de vulnerabilitats i enllaços a tutorials. A més, disposa de diversos nivells de seguretat en la implementació i un examinador del codi emprat, pel què resulta molt adequada per il·lustrar com es donen les vulnerabilitats i les millores progressives del codi.

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:

  • OWASP ZAP Project: és l'eina oficial i un dels projectes principals d'OWASP. És una aplicació de programari lliure i permet treballar amb proxy i l'escaneig automatitzat de les sites.
  • BURP Suite: eina privativa de PortSwigger, empresa dedicada a la ciberseguretat i que ofereix l'esmentada eina i diversos tutorials per a emprar-la. Té diverses edicions: Community (gratuïta), Professional (amb possible llicència de prova gratuïta temporal) i Enterprise. BURP Suite Community permet el treball d'exploració manual amb proxy però no permet un escaneig automàtic de vulnerabilitats. Per a aquest objectiu necessitarem la versió Professional o Enterprise.

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:

  • Deixar que el programari de proxy engegui el navegador en mode automàtic (similar a com fa la llibreria Selenium pels tests) i que automatitza la creació d'una excepció per confiar en els certificats que el proxy oferirà.
  • Utilitzar un browser de la nostra elecció, configurant-hi el proxy manualment i instal·lant-hi els certificats adequats perquè hi confii.

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:


proves_de_seguretat.txt · Darrera modificació: 2024/04/07 20:18 per enric_mieza_sanchez