HE

Unitat 3: Fingerprinting

.

Fingerprinting

Totes les pràctiques d'este curs es realitzaran baix:

  • ⚖️ Un marc legal i ètic
  • 🔒 Entorn aïllat
  • 🧪 Controlat
  • 📜 Amb permís
  • 🎓 Fins educatius / professionals

Fingerprinting

El fingerprinting (o empremtament digital) és una tècnica utilitzada en ciberseguretat per identificar amb detall característiques específiques d’un sistema, dispositiu, aplicació o xarxa. És una etapa posterior (o més específica) que el footprinting, i té un enfocament més tècnic i actiu.

La enumeració també forma part del fingerprinting

L’enumeració és el procés mitjançant el qual un atacant o auditor de seguretat recull informació detallada i activa d’un sistema o xarxa. Forma part de la fase de reconeixement actiu dins del hacking ètic o pentesting.

Amb l’enumeració es pot obtindre:

  1. Llista d’usuaris i grups
  2. Recursos compartits
  3. Serveis actius i els seus ports
  4. Versions de serveis (com SSH, FTP, etc.)
  5. Direccions IP internes
  6. Sistema operatiu del dispositiu

Tipus de Fingerprinting

1. Fingerprinting del sistema operatiu (OS Fingerprinting)

Permet identificar quin sistema operatiu utilitza una màquina (Windows, Linux, macOS…).

Aplicació: Permet saber quines vulnerabilitats pot tenir el sistema segons el seu OS i versió.

2. Fingerprinting de serveis

Detecta quins serveis (web, correu, FTP, etc.) hi ha actius en un servidor i quina versió fan servir.

3. Fingerprinting d’aplicacions web

Identifica plataformes i frameworks utilitzats en una web: WordPress, Joomla, Laravel, PHP, etc.

4. Fingerprinting de dispositius o navegadors

S’identifiquen els navegadors o dispositius per rastrejar usuaris únics (a nivell web).

  • Resolució de pantalla
  • Sistema operatiu
  • Fonts instal·lades
  • Extensions del navegador

🔄 Diferència entre Footprinting i Fingerprinting

Característica Footprinting Fingerprinting
Objectiu Recollir informació general Identificar detalls tècnics específics
Tipus Sovint passiu (OSINT) Normalment actiu
Exemples WHOIS, DNS, xarxes socials Nmap,hping3, ..
Etapa Primer pas en el reconeixement Fase posterior i més detallada

⚖️ És legal fer Fingerprinting?

  • Sense permís: pot ser considerat intrusiu o il·legal, especialment si implica escaneigs actius.
  • En auditories autoritzades (pentesting), és una tècnica habitual i necessària.
  • A escala web: el fingerprinting de navegadors pot plantejar problemes de privacitat segons la normativa (ex: RGPD).

🖥️ Anàlisi de hosts i ports

L’anàlisi de hosts i ports és una part fonamental en el reconeixement actiu. Permet saber quins dispositius hi ha en una xarxa i quins ports i serveis tenen oberts, ajudant a identificar possibles vulnerabilitats.

un port en un host actiu pot estar (vist des d'altre host) en un dels següents estilsunitats

  • Obert
  • Tancat
  • Filtrat

Descobrir l'estat d'un port és fonamental, no sols por catalogar els ports oberts d'un objectiu, sino també per identificar si un host esta actiu o no

Anàlisi de hosts

  1. Ping Sweep (Exploració ICMP)
  2. ARP Scan
  3. Escaneig TCP ACK/SYN per identificar hosts actius

Anàlisi de ports

  1. TCP Connect Scan
  2. SYN Scan (semi-connectat)
  3. TCP ACK
  4. UDP Scan
  5. XMAS Scan
  6. FIN Scan
  7. NULL Scan

🔌 Anàlisi TCP de connexió completa (TCP Connect Scan)

3way

L’escaneig de connexió completa (en anglès TCP Connect Scan) és una tècnica d’anàlisi de ports que estableix una connexió TCP completa amb cada port obert. És el mateix procés que seguiria una aplicació normal per comunicar-se amb un servei.

Implica realitzar el 3-way handshake:
  1. El client envia un paquet SYN al port del servidor.
  2. El servidor respon amb un SYN-ACK si el port està obert.
  3. El client respon amb un ACK per completar la connexió.
  • ✅ No cal privilegis
  • ✅ El tallafocs no bloqueja connexions TCP normals
  • ❌ No és sigil·lós
  • El servidor pot contestar o no, i si contesta, pot contestar amb ACK (port obert) o amb RST (port tancant)

    Tant si el port està obert com tancat, el host estarà actiu

    Si el servidor no contesta res, pot ser que: No estiga actiu, o tinga el port filtrat



    🔌 Anàlisi TCP de half-connect (SYN scan)

    3way

    Un escaneig half-connect (mig connectat) és una tècnica d’anàlisi de ports que no completa la connexió TCP, sinó que només envia el primer paquet (SYN) i interpreta la resposta del servidor

    S'anomena "half-connect" perquè no es completa el "3-way handshake" típic del protocol TCP.

    En el SYN Scan (half-connect):
    1. L’atacant envia un paquet SYN a un port.
    2. Si el port està:
      • Obert, el sistema respon amb SYN-ACK.
      • Tancat, respon amb RST.
    3. En cas de SYN-ACK, l’atacant no envia l’ACK final, sinó un RST (per trencar la connexió abans de completar-la).
  • ✅ Sigil·lós
  • ✅ Ràpid
  • ✅ Eficient
  • ❌ Necessita permisos d’administrador o root
  • ❌ Pot ser bloquejat per tallafocs
  • ❌Alguns sistemes poden detectar l’ús massiu de SYN sense ACK com a comportament sospitós


  • 🔌 Anàlisi TCP ACK

    3way

    L’escaneig ACK (o TCP ACK Scan) no té com a objectiu descobrir ports oberts, sinó identificar si un port està filtrat o no filtrat per un firewall o sistema de filtratge de paquets.

    Com funciona

    1. Es envien paquets TCP amb el flag ACK activat.
    2. S’observa la resposta del sistema:
      • Si respon amb un paquet RST (Reset) → port no filtrat.
      • Si no hi ha resposta o es retorna un missatge ICMP (com "port unreachable") → port filtrat.

    ⚠️ No es pot saber si el port està obert o tancat, només si està filtrat o no.



    🔌 Anàlisi UDP

    L’anàlisi UDP és el procés d’examinar trànsit i serveis que utilitzen el protocol UDP (User Datagram Protocol)



    🔌 Altres tipus d'Anàlisi

    També hi ha escanejos especials com XMAS, FIN i NULL, que són tècniques de TCP scanning utilitzades per detectar ports oberts de forma més “furtiva” que un escaneig TCP normal.

    • FIN
    • XMAS
    • NULL

    netcat

    nc (netcat) - La navalla suïssa

    netcat

    Ès una eina de xarxa avançada que forma part del paquet Nmap i que serveix per establir connexions i transferir dades entre equips de manera molt flexible.

    s’utilitza per:

    • Connectar-se a ports remots per provar serveis o protocols.
    • Crear servidors o clients improvisats per enviar i rebre dades.
    • Fer túnels i redireccions de ports.
    • Obrir shells remotes (control remot d’un sistema) durant proves controlades.
    • Xifrar la comunicació (cosa que netcat original no feia).

    Exemple

    Des de lloc que escolta (server)

    nc -lvp 4444  
    • -l → escoltar connexions entrants
    • -v → mode detallat (verbose)
    • -p 4444 → escoltar en el port 4444

    Des del lloc que es connecta (client)

    nc 192.168.1.10 4444  

    I en este moment, el que s'escriu en un costat es veu en l'altre !!

    Fingerprinting amb Nmap

    El fingerprinting amb Nmap és el procés de determinar informació específica sobre un sistema remot (hosts, sistemes operatius, serveis i versions de serveis) mitjançant l’eina Nmap (Network Mapper).

    Què és el Fingerprinting?

    • HOST Fingerprinting: Identificar els hosts en una xarxa.
    • OS Fingerprinting: Identificar el sistema operatiu del dispositiu remot.
    • Service Fingerprinting: Detectar quins serveis i versions exactes estan corrent en els ports oberts.
    • Application Fingerprinting: Identificar aplicacions o serveis específics a nivell de detall.

    Com fer Fingerprinting amb Nmap

    
    connexió completa: nmap -sT 
    half connect:      nmap -sS 
    ack:               nmap -sA -p 22,80,443 -n -Pn 
        -p per especificar ports (ex: -p 22,80,443)
        -n per evitar resolució DNS (més ràpid)
        -Pn per ometre el ping previ 
    UDP:      nmap -sU 192.168.1.10    
    Xmas:     nmap -sX 192.168.1.10
    FIN:      nmap -sF 192.168.1.10
    NULL:     nmap -sN 192.168.1.10
       

    Es pot trovar més informació en la pàgina oficial de nmap

    TCP Connect -- SYN scan -- ACK scan

    1. Escaneig de ports bàsic

    nmap <IP>

    Detecta els ports oberts (per defecte els 1000 més comuns).

    2. Detectar hosts

    nmap -Pn <IP_de_xarxa/24>

    3. Detectar serveis i versions

    nmap -sV <IP>
    • -sV: Intenta identificar els serveis i les seves versions en els ports oberts.
    nmap -sV 192.168.1.10

    4. Detectar sistema operatiu (OS Fingerprinting)

    nmap -O <IP>
    • -O: Activa la detecció del sistema operatiu.
    • Necessita privilegis d’administrador (root o sudo).

    5. Fingerprinting complet i detallat

    nmap -A <IP>
    • -A: Activa detecció d’OS (-O), detecció de versions (-sV), escaneig amb scripts (-sC), i traceroute.
    • És una exploració agressiva.
    sudo nmap -A 192.168.1.10

    6. Utilitzar scripts de detecció avançada (NSE - Nmap Scripting Engine)

    nmap --script=banner <IP>

    Mostra banners de serveis, útil per fingerprinting.

    Hi ha molts scripts útils per fingerprinting: http-title, ftp-anon, ssl-cert, etc.

    nmap -p 80 --script=http-title 192.168.1.10

    🛠 Exemples pràctics

    # Escaneig bàsic
    nmap 192.168.1.10
    
    # Detecció de serveis
    nmap -sV 192.168.1.10
    
    # Detecció d'OS
    sudo nmap -O 192.168.1.10
    
    # Escaneig agressiu
    sudo nmap -A 192.168.1.10
    
    # Obtenir banners dels serveis
    nmap -sV --script=banner 192.168.1.10

    📌 Notes importants

    • Privilegis: Algunes opcions com -O i -A necessiten permisos de root.
    • Legalitat: Sempre assegura’t que tens permís per escanejar la IP o xarxa. Escanejar sistemes sense autorització pot ser il·legal.

    Zenmap

    Zenmap és una manera d'utilizar nmap amb gui

    https://nmap.org/zenmap/

    Fingerprinting amb hping3

    netcat

    Fingerprinting amb hping3 és una tècnica per identificar sistemes operatius, serveis, tallafocs i altres característiques de la xarxa mitjançant l’eina hping3. Aquesta eina permet enviar paquets personalitzats i observar com responen els sistemes objectiu.

    🔧 Què és hping3?

    hping3 és una eina en línia de comandes que permet generar paquets TCP/IP/UDP/ICMP personalitzats. S’utilitza habitualment per:

    • Fer escaneigs de ports
    • Fer OS fingerprinting
    • Detectar tallafocs
    • Fer proves de rendiment de xarxa
    • Simular atacs (per a proves controlades)

    Tècniques de fingerprinting amb hping3

    1. Fingerprinting passiu (OS detection)

    La manera com un sistema operatiu respon a paquets específics pot revelar quin OS és.

    Exemple: enviar un paquet SYN al port obert

    hping3 -S -p 80 -c 1 <IP_destinació>

    Paràmetres:

    • -S: envia un paquet TCP amb flag SYN
    • -p 80: port 80 (pots provar altres com 443, 22, etc.)
    • -c 1: només un paquet

    Resposta esperada:

    • Si reps un SYN-ACK, el port està obert.
    • Si reps un RST, el port està tancat.

    El TTL, la mida del paquet, i els flags poden variar segons l'OS (Linux, Windows, BSD...).

    2. Detectar tallafocs (firewall/packet filtering)

    hping3 -S -p 22 --tcp-timestamp <IP>

    Els tallafocs poden bloquejar certs paquets. Si no reps resposta o reps un RST, pot indicar filtratge.

    3. TCP ACK scan per detectar tallafocs estatful

    hping3 -A -p 80 <IP>

    Això envia un paquet amb flag ACK. Alguns sistemes només responen si hi ha estat TCP establert.

    4. Enviar paquets amb flags estranys (XMAS scan)

    hping3 -F -P -U -p 80 <IP>

    Aquest tipus de paquet (amb flags FIN, PSH, URG) pot ser ignorat per sistemes Unix (res no és retornat), però sistemes Windows poden respondre amb RST.

    5. Flood per veure comportament sota càrrega

    hping3 -S --flood -p 80 <IP>

    Aquest ataca per inundació envia paquets ràpidament (només per a proves autoritzades!).

    🕵️‍♂️ Interpretació de resultats

    Cada OS té una "fingerprint TCP/IP" única (TTL, resposta a flags, mida del window size, etc.). Per exemple:

    • Windows: TTL sol ser 128
    • Linux: TTL habitual és 64
    • FreeBSD: TTL pot ser 64, però window size diferent

    Combinar diversos tests t’ajuda a inferir quin sistema operatiu fa servir la màquina objectiu.

    ⚠️ Notes legals i ètiques

    L’ús d’hping3 per fer fingerprinting s’ha de fer només amb permís explícit. Està prohibit escanejar o atacar xarxes que no gestionis o no t’autoritzi el propietari.

    🐾🐾🐾


    Fingerprinting anb Wireshark

    Fingerprinting amb Wireshark significa identificar dispositius, sistemes operatius, aplicacions o serveis en una xarxa mitjançant l’anàlisi de dades capturades amb Wireshark. Es tracta d’una forma de reconeixement passiu, útil en ciberseguretat, monitoratge de xarxa o proves d’intrusió.

    1. Captura de trànsit

    Obri Wireshark i captura paquets en la interfície de xarxa adequada:

    • Selecciona la interfície (Wi-Fi, Ethernet, etc.)
    • Pots aplicar filtres de captura si ho desitges (opcional), com ara tcp, udp, o port 80

    2. Fingerprinting del Sistema Operatiu (OS)

    Wireshark no et mostra directament quin sistema operatiu té un dispositiu, però pots deduir-lo observant:

    • Comportament de la pila TCP/IP:
      • Observa els valors TTL (Time to Live) i la Window Size en els encapçalaments IP/TCP.
      • Linux sol usar TTL = 64
      • Windows sol usar TTL = 128
      • Dispositius Cisco sovint TTL = 255
    • Obri un paquet TCP i mira:
      • IP > Time to live
      • TCP > Window size value
    • Opcions TCP (MSS, SACK, Window Scale, etc.) poden ajudar a identificar el sistema operatiu. Eines com p0f es basen en això.

    3. Fingerprinting de Serveis o Aplicacions

    Pots identificar aplicacions o serveis observant:

    • Capçaleres HTTP: sovint revelen el tipus de servidor (Apache, Nginx, etc.)
      • Filtre: http
      • Observa camps com Server: o User-Agent:
    • Intercanvi TLS: busca paquets Client Hello i Server Hello
      • Analitza les suites de xifrat, la versió TLS i les extensions
      • Filtre: ssl.handshake.type == 1 (Client Hello)
      • Eines com JA3 permeten identificar clients/servidors mitjançant aquests camps
    • Consultes DNS: poden indicar quines aplicacions o dispositius estan actius
      • Filtre: dns

    📱 4. Fingerprinting de Dispositius

    • Observa paquets DHCP (filtre: bootp):
      • Nom de l’amfitrió (hostname)
      • Identificadors de classe de venedor (Vendor Class ID)
      • Adreces MAC (pots deduir el fabricant mitjançant l’OUI)
    • Per a MAC:
      • Clic dret > Resolve MAC Address

    5. Filtres de visualització útils

    Propòsit Filtre
    Trànsit HTTP http
    TLS Client Hello ssl.handshake.type == 1
    Consultes DNS dns
    Trànsit DHCP bootp
    SYN TCP (inici de connexió) tcp.flags.syn == 1 && tcp.flags.ack == 0
    IP o MAC específica ip.addr == 192.168.1.100 o eth.addr == xx:xx:xx:xx:xx:xx

    Enumeració de serveis

    L'enumeració no només busca arxius, sinó que l'objectiu principal és trobar vulnerabilitats potencials

    Enumeració FTP

    La enumeració FTP és el procés mitjançant el qual s’intenta obtindre informació d’un servidor FTP (File Transfer Protocol) per conéixer quins arxius, directoris o fins i tot configuracions estan disponibles

    • Identificació de programari: Conèixer la versió exacta del servidor FTP (p. ex., vsftpd 3.0.3, Pure-FTPd, Microsoft IIS FTP). Això és crucial perquè les versions antigues o específiques sovint tenen vulnerabilitats documentades (CVEs).
    • Accés Anònim: Verificar si el servidor permet l'accés amb l'usuari anonymous i la contrasenya (normalment) guest o l'adreça de correu electrònic. Aquesta és la comprovació més bàsica i sovint la primera.
    • Usuaris vàlids: De vegades, els missatges d'error del servidor (o els scripts d'Nmap) poden revelar noms d'usuari vàlids al sistema.

    Identificació de versions

    # nmap -sV -p21,2121 <ip> 

    o provar el script banner, obtenció del banner

    # nmap -p21,2121 --script banner  <ip> 

    El banner és el missatge de text que envia el servidor tan bon punt s'estableix la connexió. Sovint conté el nom i la versió del programari

    Scripts d'Nmap Específics per a FTP

    # ls -l /usr/share/nmap/scripts | grep -e "ftp"

    Els més útils per a l'enumeració són:

    • ftp-anon.nse: Comprova si es permet l'accés anònim.
    • ftp-vsftpd-backdoor.nse: Comprova una vulnerabilitat famosa en vsftpd.
    • ftp-syst.nse: Obté informació del sistema operatiu (SO).
    • ftp-brute: Intenta un atac de força bruta de contrasenyes (molt agressiu) .
    Com s'executen:
    Bash
    # nmap -p21 --script ftp-anon,ftp-syst <IP_servidor>

    o amb un ús manual de netcat o telnet

    $ telnet <ip> 

    Connectar-se manualment amb telnet o nc (netcat) permet interactuar directament amb el servidor. Un cop connectat, pots enviar ordres FTP (com USER anonymous i PASS guest) i veure les respostes del servidor codificades (codis de tres dígits, com 230 per a "Login successful" o 530 per a "Not logged in").

    es poden esbrinar més scripts d'nmap

     # ls -l /usr/share/nmap/scripts | grep -e "ftp"    

    Descarrega de contingut

    curl i wget
    $ curl ftp://usu:pass@servidor_ftp  
    • curl generalment mostra el contingut (com el d'un fitxer) directament a la terminal, o permet descarregar fitxers amb l'opció -O (majúscula) o -o.
    • wget descarrega el fitxer directament al directori local per defecte i és excel·lent per a descàrregues recursives (tota una carpeta):
    $ wget -r ftp://usu:pass@servidor_ftp/carpeta/

    Enumeració HTTP

    L'enumeració HTTP és un procés de recopilació d'informació sobre un servidor web i les seves aplicacions. Aquesta informació es pot utilitzar per identificar vulnerabilitats potencials que un hacker podria explotar. Essencialment, és com un explorador que fa un mapa detallat d'una ciutat (el servidor web) per trobar punts febles.

    Inspecció visual

    Consisteix en connectar-se a un lloc web, navegar per ell i inspeccinar el codi, buscant informació rellevant, com comentaris, enllaços ocults, codi javascript, etc

    Detectar tecnologies

    Es interessant coneixer les tecnologies que hi ha darrere d'una aplicació, per buscar vulnerabilitats

    Eines

    • Wappalyzer
    • whatweb
    • Enumeració de CMS especifics cmseek

    Fuzzing WEB

    El fuzzing web consisteix en fer peticions automatitzades a un servidor web usant paraules d'un diccionari i vore quin estat HTTP torna en cada cas: 200 OK, 404 NOT FOUND, 301,302,403, etc.. El que permet detectar pàgines, arxius, directoris que no estan enllaçats des de cap lloc, i que poden contenir informació rellevant

    Algunes ferramentes son:

    • wfuzz
    • script http-enum de namp
    • dirbuster
    • gobuster
    • dirb
    • dirsearch
    • ffuf
    • feroxbuster

    Endpoint (definició senzilla) = lloc on pots fer una petició i obtenir una resposta. La petició pot portar o no paràmetres

      Tipus de Fuzzing més comuns
    • endpoints
    • es proven Rutes, URLs o serveis d’una aplicació (sobretot web o API)
    • parametres
    • es proven Paràmetres GET, POST, dins d'un enpoint vàlid..
    • fitxers
    • headers
    • cookies
    • formats (Json, xml,..)
    • inputs d'usuari
    • binaris / protocols
    3way

    Tant important o més que la ferramenta, es el diccionari emprat

      kali inclou diversos diccionaris. En /usr/share/wordlists es troben enllaços a distintes carpetes

    • /usr/share/wfuzz/wordlist/general
    • /usr/share/dirb/wordlists
    • /usr/share/dirbuster/wordlists

    i també hi ha ferramentes com crunch per fer diccionaris personalitzats. (També CEWL i CUPP, mutator tool, o alguna AI pot fer la feina....)

    fuzziong amb nmap

    nmap -p80 --script http-enum -v 10.1.1.85
    nmap -p80 --script http-enum --script-args http-enum.basepath=/ona 10.1.1.85

    fuzzing amb wfuzz

    wfuzz -c -t 400 -w /usr/share/wordlists/dirbuster/directory-list-2.3-medium.txt http://10.0.1.85/FUZZ

    La paraula FUZZ serà substituida per les paraules del diccionari

    Els resultats mostren el codis de resposta del server. Si es vol omitir algun codi, per exemple , el 404 (que és not found), es posa el parametre --hc=404 quan es crida a wfuzz

    Es pot fer un doble fuzz pe provar extensins, per exemple.

    wfuzz -c -t 400 -w /usr/share/wordlists/dirbuster/directory-list-2.3-medium.txt
             -w /tmp/extensions --hc=404 http://10.0.1.85/FUZZ.FUZ2Z

    S'utilitzarà el paràmetre -L per a llocs "moved"

    En ocasions pot ser necessari fer FUZZING d'un lloc on s'ha d'estar logejat amb un usuari. Per incloure cookies o qualsevol capçalera HTTP, s'usarà el paràmetre -H seguit del valor de la capçalera.

    wfuzz -c -t 400 -w /usr/share/wordlists/dirbuster/directory-list-2.3-medium.txt
             -w /tmp/extensions --hc=404 -H "Cookie: security=impossible; PHPSESSID=09khga4jaoqdivvenfr"  
             http://10.0.1.85/FUZZ.FUZ2Z

    Enumeració SMB

    SMB fa referència a Server Message Block, que és un protocol de xarxa que permet compartir fitxers, carpetes, impressores i altres recursos entre ordinadors dins d’una mateixa xarxa, especialment amb sistemes Windows. En Linux ,per fer-lo funcionar és necessari instal·lar un servei SAMBA. Els components principals de Samba: smbd → Servei que comparteix fitxers i impressores. nmbd → Resolució de noms NetBIOS. winbindd → Integració amb dominis Windows

    L'enumeració SMB és una tècnica de hacking ètic que consisteix a recopilar informació sobre un sistema objectiu que utilitza el protocol SMB. L'objectiu és identificar recursos compartits, usuaris, grups, polítiques de contrasenyes i altres detalls que podrien ser explotats per a un atac.

    Eines:

    1. nbtscan
    2. enum4Linux
    3. nmap
    4. smbmap
    5. smbclient
    6. rpcclient
    nbtscan 10.0.1.0/24
    # Busca màquines amb SMB/SAMBA en la xarxa Objectiu
    nmap -sC -p 139,445 -sV 10.0.1.26 10.0.1.30
          
      Entre els scripts que inclou nmap per a smb:
    • smb-protocols
    • smb-os-discovery
    • smb-enum-shares
    • smb-enum-users
    • smb-vuln*

    ** Les versions SMBv1 i SMBv2 son vulnerables

    🧪 Executa els scripts de nmap sobre les màquines Metasploitable2 i Metasploitable3

    Descobriment automatitzat de vulnerabilitats

    Aquest procés és un dels pilars de qualsevol Auditoria de Seguretat o Prova de Penetració, i es divideix en dues grans categories d'eines: els escàners de propòsit general i les eines especialitzades

    El descobriment automatitzat de vulnerabilitats és la pràctica d'utilitzar programari especialitzat per analitzar sistemes, xarxes i aplicacions a gran escala, identificant automàticament problemes seguretat coneguts sense la intervenció manual contínua de l'auditor


    Escàners de Propòsit General (Nessus, OpenVAS, Nexpose)

    3way

    Aquestes eines estan dissenyades per oferir una visió global de l'estat de seguretat d'un entorn complet (servidors, estacions de treball, dispositius de xarxa, aplicacions).

    • Nessus , Nexpose, ==> Comercials, gran precisió
    • OpenVas ==> Codi obert . Ara es GVM (Greenbone Vulnerability Management)

    Aquestes eines comproven les versions de programari instal·lades i les comparen amb bases de dades públiques (com el CVE) per identificar vulnerabilitats conegudes. També realitzen proves passives i actives per detectar configuracions errònies o protocols insegurs


    Eines Específiques per a Aplicacions Web (Nikto, Nuclei, Legion, ...)

    nikto

    Nikto (Web Server Scanner) Nikto és un escàner de web de codi obert que fa proves ràpides i superficials

    En kali està instal·lat. En altre sistema es podria instal·lar

    $ sudo apt install nikto

    Executar nikto

    $ ./nikto.pl -host http://[ip_objectiu]

    🧪 Descarrega la maquina Five86-1 de vulnhub (link ) i prova nikto sobre ella.

    Nuclei

    Nuclei és un motor d'escaneig modern i molt eficient que utilitza plantilles YAML per a definir els escanejos.

    Es troba en els repositoris de kali, així que es pot instal·lar amb

    $ sudo apt install nuclei

    I executar amb

    $ nuclei

    Avantatge: És ideal per escanejar ràpidament un gran nombre d'objectius (mass scanning) buscant una vulnerabilitat que acaba de ser publicada (un 0-day recent o un n-day). La seva velocitat i flexibilitat són inigualables en aquest tipus d'escaneig dirigit.

    🧪 Executa nuclei sobre Five86-1 i compara els resultats amb els resultats de nikto.

    Les plantilles de nuclei s'emmagatzemen en ~/.local/nuclei-templates i es poden crear noves i personalitzar els escanejos

    Legion

    Legion és una eina de reconeixement de xarxes i avaluació de vulnerabilitats de codi obert (open source) que es distingeix per utilitzar una Interfície Gràfica d'Usuari (GUI).

    No és un escàner que realitze les comprovacions des de zero, sinó que actua com un marc de treball (framework) automatitzat que orquestra l'execució d'altres eines de seguretat conegudes per a obtenir resultats de forma ràpida i centralitzada


    Tipus d'Escàners segons l'Objectiu

    Més enllà dels escàners generals com Nessus, les eines s'especialitzen segons l'objectiu que analitzen:

    • DAST (Dynamic Application Security Testing): Escaneja una aplicació web en execució des de fora (com un usuari). Nikto i Nuclei (amb plantilles HTTP) encaixen en aquesta categoria lleugera. També Burp Suite o OWASP ZAP
    • SAST (Static Application Security Testing): Analitza el codi font d'una aplicació sense executar-la, buscant patrons de codificació insegurs. És ideal per a cicles de desenvolupament (DevSecOps). SonarQube, bandit
    • Escàners de Xarxa: Se centren en sistemes operatius, protocols i ports (Ex: Nmap en la fase inicial, Nessus en profunditat, OpenVas).
    • Escàners de Bases de Dades i Cloud: Específics per a entorns de núvol (AWS, Azure) o sistemes de gestió de bases de dades (MySQL, Oracle). SQLmap, greenbone, ScoutSuite, Prowler totes de codi obert

    Laboratoris

    Muntatge d'un laboratori per posar en pràctica els continguts anteriors.

    Cyberlab V1.0

    Consta de dos xarxes: Cyberlab-net-1 (10.0.1.0/24) i Cyberlab-net-2 (10.0.2.0/24) connectades puer un ubuntu-router

    Cyberlab-net-1 contindrà: una maquina kali, una maquina Metasploitable2, una maquina Metasploitable3, una màquina five86-1, un router a internet, un ubuntu-router (per connectar amb la xarxa Cyberlab-net-2)

    Cyberlab-net-2 contindrà: un ubuntu-router, una maquina Q4os. Es una xarxa interna.

    Tot en virtualBox, Crear 1 Xarxa Nat i una Xarxa interna. Connectar cada maquina a la xarxa NAT/interna adecuada

    La màquina ubuntu-router tindrà dos interficies de xarxa. S'instal·larà un openssh-server i un apache2

    En ubuntu-router, crear un script en iptables (/etc) per fer forwarding, provar script i crear un .service per que arranque en iniciar el SO

    Per fer proves de vulnerabilitats en WordPress, descarreguem la màquina Recon-1 de vulnhub i la incloguem en el nostre laboratori. link a recon-1

    Per utilitzar wpscan, s'ha d'instal·lar. Registrar-se i obtindre una API-token