Salta el contingut

Pràctica: OSINT i recollida d'informació per a detecció d'amenaces

Marc legal i ètic

Totes les activitats d'aquesta pràctica s'han de realitzar exclusivament sobre:

  • Dominis i sistemes propis o dels quals tens autorització explícita
  • Plataformes públiques que permeten explícitament la consulta automatitzada
  • Dades públicament disponibles que no vulneren la privadesa de persones físiques

L'ús de tècniques OSINT sense autorització pot ser constitutiu d'un delicte. Sempre opera dins del marc legal.

Objectius

  • Comprendre el framework OSINT i les seves aplicacions en ciberseguretat defensiva
  • Desplegar eines OSINT en Docker (SpiderFoot)
  • Realitzar reconeixement passiu sobre un domini autoritzat
  • Consultar bases de dades públiques (Shodan, VirusTotal, Have I Been Pwned)
  • Elaborar un informe OSINT professional

Prerequisits

Requisit Descripció
Temps estimat 8 hores
Docker Instal·lat i funcionant
Compte Shodan Compte gratuït a shodan.io
Compte VirusTotal Compte gratuït a virustotal.com
Domini a analitzar sapalomera.cat (el centre) o un domini propi

Introducció

OSINT (Open Source Intelligence) és la recollida d'informació a partir de fonts públicament accessibles. En ciberseguretat, s'utilitza tant ofensivament (per a reconeixement d'objectius) com defensivament (per a detectar exposicions no desitjades de la nostra organització).

mindmap
  root((OSINT))
    Infraestructura
      DNS
      WHOIS
      Shodan
      Censys
    Persones
      LinkedIn
      HaveIBeenPwned
      Xarxes socials
    Documents
      Google Dorks
      Metadata
    Codi
      GitHub
      Pastebin
    Amenaces
      VirusTotal
      AbuseIPDB
      MISP

Un analista de ciberseguretat ha de conèixer OSINT per a: 1. Defensa: descobrir quina informació de la nostra organització és visible públicament 2. Threat Intel: identificar IoCs (IPs, dominis, hashes maliciosos) 3. Incidents: investigar l'origen d'un atac


Part 1: Desplegament de SpiderFoot Docker

SpiderFoot és una eina OSINT automatitzada open source que consulta més de 200 fonts de dades.

# Crea una xarxa per a la pràctica
docker network create osint-NOMCOGNOM

# Desplega SpiderFoot
docker run -d \
  --name spiderfoot-NOMCOGNOM \
  --network osint-NOMCOGNOM \
  -p 5009:5001 \
  smicallef/spiderfoot

# Accedeix a la interfície web
echo "Accedeix a: http://localhost:5009"

1.1 Primera cerca: el teu domini

  1. Obre http://localhost:5009
  2. Crea una nova cerca (New Scan)
  3. Target: sapalomera.cat (o el domini que el professor indiqui)
  4. Scan type: Passive (IMPORTANT: no actiu)
  5. Anota els resultats: IPs, subdominis, emails, tecnologies detectades

Mode passiu vs actiu

En mode passiu, SpiderFoot no contacta directament l'objectiu: consulta bases de dades de tercers. En mode actiu, envia peticions directament a l'objectiu (requereix autorització). Sempre utilitza mode passiu per a dominis que no siguin teus.


Part 2: Reconeixement passiu manual

2.1 DNS i WHOIS

# Dins d'un contenidor amb les eines necessàries
docker run --rm --name recon-NOMCOGNOM \
  --network osint-NOMCOGNOM \
  ubuntu:22.04 bash -c "
    apt-get install -y dnsutils whois curl jq -q &&

    echo '=== WHOIS ===' &&
    whois sapalomera.cat &&

    echo '=== DNS MX ===' &&
    dig sapalomera.cat MX &&

    echo '=== DNS TXT (SPF/DMARC) ===' &&
    dig sapalomera.cat TXT &&
    dig _dmarc.sapalomera.cat TXT &&

    echo '=== Subdominis via CertSpotter ===' &&
    curl -s 'https://api.certspotter.com/v1/issuances?domain=sapalomera.cat&include_subdomains=true&expand=dns_names' \
      | jq -r '.[].dns_names[]' | sort -u
  "

Pregunta de reflexió

  1. Quin proveïdor de DNS utilitza sapalomera.cat?
  2. Té configurat DMARC? Quin és el resultat?
  3. Quants subdominis has trobat?
  4. Quina informació revela el registre SPF?

2.2 Google Dorks

Els Google Dorks són cerques avançades de Google que permeten trobar informació que no és fàcilment accessible:

# Cerca fitxers PDF del domini (podrien contenir informació sensible)
site:sapalomera.cat filetype:pdf

# Cerca pàgines d'administració
site:sapalomera.cat inurl:admin OR inurl:login OR inurl:dashboard

# Cerca fitxers Excel o CSV (podrien contenir dades)
site:sapalomera.cat filetype:xlsx OR filetype:csv

# Cerca amb informació sensible (exemple educatiu)
site:sapalomera.cat "índex de" OR "directory listing"

Ús responsable de Google Dorks

Aquests operadors de cerca accedeixen a informació pública. No generen tràfic directe cap a l'objectiu. Tanmateix:

  • Mai descarreguis fitxers sensibles que no siguin teus
  • Si trobes informació clarament sensible d'una organització, notifica'ls (responsible disclosure)
  • No uses Google Dorks per a espionatge corporatiu o personal

Part 3: Consultes a bases de dades de seguretat

3.1 Shodan - Dispositius exposats

Shodan és un motor de cerca d'Internet que indexa dispositius connectats (routers, càmeres, servidors, etc.).

# Instal·la la CLI de Shodan (necessites compte gratuït)
pip install shodan

# Configura la teva API key (obtén-la a shodan.io/account)
shodan init TU_API_KEY_AQUI

# Cerca la IP del domini
DIG_RESULT=$(dig +short sapalomera.cat | head -1)
echo "IP: $DIG_RESULT"

# Consulta informació de la IP
shodan host $DIG_RESULT

Alternativa via web: ves a https://www.shodan.io i cerca la IP directament.

Anota: - Ports oberts - Serveis detectats - Tecnologies identificades - Vulnerabilitats conegudes (CVEs)

3.2 VirusTotal - Anàlisi de reputació

# Consulta la reputació d'una IP o domini
VT_API_KEY="TU_API_KEY_DE_VIRUSTOTAL"

curl -s "https://www.virustotal.com/api/v3/domains/sapalomera.cat" \
  -H "x-apikey: ${VT_API_KEY}" | \
  jq '{
    reputation: .data.attributes.reputation,
    categories: .data.attributes.categories,
    last_analysis_stats: .data.attributes.last_analysis_stats
  }'

3.3 Have I Been Pwned - Emails compromesos

Have I Been Pwned (HIBP) permet comprovar si una adreça de correu ha aparegut en una filtració de dades pública.

# Consulta (requereix API key o ús via web)
curl -s "https://haveibeenpwned.com/api/v3/breachedaccount/test@sapalomera.cat" \
  -H "hibp-api-key: TU_API_KEY" \
  -H "User-Agent: OSINT-Lab-NOMCOGNOM"

Via web (recomanat per a la pràctica): https://haveibeenpwned.com

Miniactivitat

Comprova a HIBP si el teu email personal (o un de ficció) apareix en alguna filtració.

  1. En quantes filtracions apareix?
  2. Quines dades van ser exposades?
  3. Quin és el teu pla d'acció?

3.4 Certificate Transparency (crt.sh)

# Cerca tots els certificats emesos per al domini
curl -s "https://crt.sh/?q=%.sapalomera.cat&output=json" | \
  jq -r '.[].name_value' | \
  sort -u | \
  head -20

Part 4: Informe OSINT

Prepara un informe professional informe_osint_NOMCOGNOM_$(date +%Y%m%d).md:

# Informe d'Intel·ligència OSINT
**Organització objectiu**: Institut Sa Palomera (domini: sapalomera.cat)
**Analista**: NOMCOGNOM
**Data**: YYYY-MM-DD
**Metodologia**: Reconeixement passiu exclusivament

---

## Resum executiu
[2-3 paràgrafs sobre els hallazgos principals]

## 1. Infraestructura de xarxa
### 1.1 Registres DNS
| Tipus | Valor | Observacions |
|-------|-------|-------------|

### 1.2 Subdominis descoberts
| Subdomini | IP | Servei detectat |
|-----------|----|----|

### 1.3 Dispositius en Shodan
| Port | Servei | Versió | Vulnerabilitats |
|------|--------|--------|----------------|

## 2. Anàlisi de reputació
### 2.1 VirusTotal
[Resultats de l'anàlisi]

## 3. Exposició de dades
### 3.1 Fitxers sensibles (Google Dorks)
[Llista de troballes]

### 3.2 Emails en filtracions (HIBP)
[Nombre de resultats sense revelar adreces concretes]

## 4. Superfície d'atac identificada
[Resum dels riscos detectats]

## 5. Recomanacions
| Prioritat | Recomanació | Responsable |
|-----------|-------------|-------------|
| Alta | ... | ... |

## Apèndix: Metodologia i fonts consultades
- SpiderFoot (passiu)
- Shodan.io
- crt.sh
- haveibeenpwned.com
- VirusTotal
- Google Dorks

Preguntes finals

  1. Quina informació ha estat la més sorprenent de trobar públicament?
  2. Quines d'aquestes troballes suposaria un risc per a l'organització?
  3. Com podria l'organització reduir la seva superfície d'atac visible?
  4. Quina diferència hi ha entre OSINT i hacking? On és la línia?

Neteja

docker stop spiderfoot-NOMCOGNOM
docker rm spiderfoot-NOMCOGNOM
docker network rm osint-NOMCOGNOM

Entregables

  1. Informe OSINT informe_osint_NOMCOGNOM_data.md
  2. Captura de pantalla dels resultats de SpiderFoot
  3. Captures de Shodan i VirusTotal