Elaboració d'Informes Forenses
Introducció
L'informe forense és el producte final d'una investigació i la seva qualitat determina si les proves recollides seran admissibles en un procediment judicial. Un forense pot ser excel·lent en la recopilació tècnica d'evidències, però si l'informe és incomplet, mal estructurat o usa terminologia incomprensible, les seves conclusions poden ser impugnades per la defensa i descartades pel jutge.
El perit informàtic ha de ser capaç de comunicar conclusions tècniques complexes a diverses audiències: - Audiència tècnica: altres forenses, analistes de seguretat - Audiència legal: jutges, fiscals, advocats (sense formació tècnica) - Audiència executiva: directius de l'empresa (context de negoci)
flowchart LR
EVIDENCE[Evidències\nrecollides] --> ANALYSIS[Anàlisi\ntècnica]
ANALYSIS --> FINDINGS[Troballes\ni conclusions]
FINDINGS --> TECH[Informe Tècnic\nForense detallat]
FINDINGS --> EXEC[Informe Executiu\nResum executiu]
FINDINGS --> LEGAL[Informe Pericial\nper a tribunal]
Estructura d'un Informe Forense
1. Portada i Identificació
# INFORME PERICIAL INFORMÀTIC
**Número d'expedient**: FOR-2024-0042
**Data d'encàrrec**: 15 de gener de 2024
**Data d'informe**: 30 de gener de 2024
**Perit informàtic**:
Nom: Joan Garcia Puig
DNI: 12345678A
Titulació: Grau en Enginyeria Informàtica
Col·legi Professional: Col·legi d'Enginyers Informàtics de Catalunya
Núm. de col·legiat: 1234
**Objecte de l'informe**:
Anàlisi forense del servidor web de l'empresa ACME S.L. (192.168.1.50)
en relació a l'incident de seguretat del 15 de gener de 2024.
**Part que encarrega**:
ACME S.L., representada per la seva directora de TI, Sra. Maria López,
en el marc d'una investigació interna.
2. Declaració de Competència i Independència
## Declaració del Perit
El sotasignat, Joan Garcia Puig, perit informàtic, DECLARA:
1. Que no té cap relació personal, professional o econòmica amb cap de
les parts involucrades en aquest cas que pugui afectar la seva
objectivitat.
2. Que l'informe s'ha elaborat seguint les millors pràctiques de la
disciplina forense informàtica i els estàndards de la comunitat
internacional (ISO/IEC 27037, NIST SP 800-86).
3. Que les conclusions expressades en aquest informe son fruit d'un
anàlisi objectiu de les evidències, sense afavorir cap de les parts.
4. Que és conscient de les responsabilitats legals derivades de la
falsa declaració de perit, tipificades a l'article 460 del Codi Penal.
3. Antecedents i Context
## Antecedents
El 15 de gener de 2024, a les 03:42 hores, el sistema de monitoratge de
l'empresa ACME S.L. va detectar un accés no autoritzat al servidor web
principal (192.168.1.50, sistema operatiu Ubuntu 22.04 LTS).
L'incident va resultar en:
- Desfiguració de la pàgina web principal (defacement)
- Possible accés a la base de dades de clients (48.000 registres)
- Instalació d'un backdoor SSH al port 2323
L'empresa va sol·licitar l'anàlisi forense per a:
1. Determinar el vector d'entrada de l'atacant
2. Avaluar el volum de dades potencialment exfiltrades
3. Obtenir indicadors de compromís (IoC) per a reforçar la seguretat
4. Complir amb l'obligació de notificació a l'AEPD (RGPD Art. 33)
4. Metodologia
## Metodologia
L'anàlisi s'ha realitzat seguint la metodologia NIST SP 800-86
"Guide to Integrating Forensic Techniques into Incident Response",
i la norma ISO/IEC 27037:2012 per a la identificació, recollida i
preservació d'evidències digitals.
### Eines utilitzades
| Eina | Versió | Propòsit |
|------|--------|---------|
| Autopsy | 4.21.0 | Anàlisi del sistema de fitxers |
| Volatility3 | 2.5.0 | Anàlisi de memòria volàtil |
| Wireshark | 4.2.3 | Anàlisi de captures de xarxa |
| log2timeline (plaso) | 20240101 | Línia temporal d'events |
| FTK Imager | 4.7.3.81 | Adquisició de la imatge forense |
### Ordre d'anàlisi (volatilitat)
1. Contingut de la memòria RAM (capturada en viu)
2. Registres del sistema operatiu i d'aplicació
3. Fitxers temporals i de swap
4. Imatge del disc dur
5. Cadena de Custòdia
## Cadena de Custòdia
### Evidències recollides
| ID | Descripció | Hash SHA-256 | Data adquisició |
|----|------------|--------------|-----------------|
| E01 | Imatge DD disc dur servidor | a3f4b2c1... | 2024-01-15 09:15 |
| E02 | Dump memòria RAM (8GB) | d5e6f7a8... | 2024-01-15 09:32 |
| E03 | Logs Apache (30 dies) | b9c0d1e2... | 2024-01-15 10:05 |
| E04 | Logs SSH auth.log | f3a4b5c6... | 2024-01-15 10:08 |
| E05 | Captures de xarxa (pcap) | 12345678... | 2024-01-15 10:45 |
### Registre de cadena de custòdia
| Data/Hora | Persona | Acció | Signatura |
|-----------|---------|-------|-----------|
| 2024-01-15 09:15 | Joan Garcia | Adquisició original E01 | ________ |
| 2024-01-15 09:16 | Joan Garcia | Verificació hash E01 | ________ |
| 2024-01-15 11:00 | Joan Garcia | Transport al laboratori | ________ |
| 2024-01-16 09:00 | Joan Garcia | Inici de l'anàlisi | ________ |
| 2024-01-30 15:00 | Joan Garcia | Entrega de l'informe | ________ |
6. Troballes Tècniques
## Troballes Tècniques
### 6.1 Vector d'entrada
**Troballa**: L'analisi dels logs d'Apache mostra una explotació exitosa
de la vulnerabilitat CVE-2023-44487 (HTTP/2 Rapid Reset Attack) el
15 de gener de 2024 a les 03:17:22 UTC.
**Evidència**: Log Apache (E03), línies 847-892:
# Fragment del log (E03) - evidència d'explotació
2024-01-15 03:17:22 185.220.101.50 "GET /?id=1' UNION SELECT... HTTP/2" 200 4523
2024-01-15 03:17:23 185.220.101.50 "GET /?id=1' UNION SELECT user(),database() HTTP/2" 200 4891
2024-01-15 03:18:45 185.220.101.50 "POST /upload.php HTTP/2" 200 234
2024-01-15 03:18:47 185.220.101.50 "GET /uploads/shell.php?cmd=id HTTP/2" 200 47
Anàlisi Temporal (Línia de Temps)
# Generar línia temporal amb plaso/log2timeline
docker run --rm \
-v /evidence:/evidence \
log2timeline/plaso:latest \
log2timeline.py \
--storage-file /evidence/timeline-NOMCOGNOM.plaso \
/evidence/disk-image.img
# Exportar a CSV per a anàlisi
psort.py -o dynamic -w /evidence/timeline-NOMCOGNOM.csv \
/evidence/timeline-NOMCOGNOM.plaso
# Filtrar events rellevants (finestra temporal de l'incident)
python3 - << 'EOF'
import pandas as pd
df = pd.read_csv('timeline-NOMCOGNOM.csv')
df['datetime'] = pd.to_datetime(df['datetime'])
# Filtrar l'hora de l'incident (±2h)
incident_start = pd.Timestamp('2024-01-15 02:00:00', tz='UTC')
incident_end = pd.Timestamp('2024-01-15 06:00:00', tz='UTC')
incident_events = df[(df['datetime'] >= incident_start) &
(df['datetime'] <= incident_end)]
# Ordenar per temps i mostrar els principals
print(incident_events[['datetime', 'source', 'message']].to_string())
EOF
Presentació Visual de la Línia Temporal
LÍNIA TEMPORAL DE L'INCIDENT - NOMCOGNOM
T-120min (01:17) Reconeixement inicial (Shodan/OSINT)
T-60min (02:17) Escaneig de ports (nmap) des de 185.220.101.50
T-0 (03:17) Explotació SQLi → Shell web penjada a /uploads/shell.php
T+1min (03:18) Execució de codi remot (RCE) via shell.php
T+5min (03:22) Descàrrega de linpeas.sh (escalada de privilegis)
T+12min (03:29) Escalada de privilegis (sudo misconfiguration)
T+15min (03:32) Instal·lació backdoor SSH port 2323
T+18min (03:35) Exfiltració de la BBDD clients (mysqldump)
T+45min (04:02) Defacement de la web principal
T+75min (04:32) Primera alerta del SIEM
T+90min (04:47) Detecció per part de l'equip de seguretat
Informe Executiu
L'informe executiu és un resum d'1-2 pàgines per a la direcció:
# RESUM EXECUTIU
**Data**: 30 de gener de 2024
**Incident**: Intrusió al servidor web - 15 de gener de 2024
## Impacte de l'incident
| Categoria | Impacte |
|-----------|---------|
| Disponibilitat | Caiguda del servei web 4 hores 47 minuts |
| Confidencialitat | Possible exfiltració de 48.000 registres de clients |
| Integritat | Desfiguració del lloc web; backdoor instal·lat |
## Causa arrel
Un atacant va explotar una vulnerabilitat de SQL injection en el
formulari de cerca del lloc web (no s'havia actualitzat en 18 mesos).
## Accions immediates recomanades
1. 🔴 URGENT: Notificar a l'AEPD (RGPD Art. 33) - Termini: 48h restants
2. 🔴 URGENT: Notificar als 48.000 clients afectats
3. 🟠 ALT: Aplicar el pedaç de seguretat al CMS (actualització pendent)
4. 🟡 MITJÀ: Implementar WAF davant del servidor web
5. 🟡 MITJÀ: Activar autenticació de dos factors per als administradors
## Cost estimat de l'incident
| Concepte | Cost |
|----------|------|
| Hores d'investigació forense | 8.500€ |
| Notificació als afectats (carta + call center) | 24.000€ |
| Possible multa AEPD (estimació mínima) | 50.000€ |
| Dany reputacional | Incalculable |
| **Total estimat** | **>82.500€** |
Miniactivitat
Revisa l'estructura de l'informe forense. Quin apartat creus que és el més important des del punt de vista legal? Per quin motiu la cadena de custòdia pot fer inadmissible tota una investigació si no es documenta correctament?
Errors comuns en informes forenses
| Error | Conseqüència | Correcció |
|---|---|---|
| Analitzar l'original en lloc d'una còpia | Invalidació de totes les proves | Sempre treballar sobre còpies verificades |
| Hash no verificat | La defensa pot argumentar manipulació | Registrar hash en el moment de l'adquisició |
| Terminologia excessivament tècnica | El jutge no entén les conclusions | Glossari + explicacions en llenguatge pla |
| Manca de cadena de custòdia | Les proves no s'admeten al judici | Formularis de custòdia per a cada evidència |
| Conclusions absolutes sense incertesa | Impugnació per excessiva certesa | Expressar el grau de confiança ("és probable que...") |
| No documentar el programari usat | Resultats no reproduïbles | Citar versió i paràmetres de totes les eines |
Exercici pràctic
Elabora un informe forense complet:
Usant les evidències de la pràctica PR5041 (Autopsy), redacta:
- Informe Tècnic: Seguint l'estructura d'aquest tema (mínim 8 apartats)
- Informe Executiu: 1-2 pàgines per a la direcció de l'empresa
- Plantilla de cadena de custòdia: Per a totes les evidències analitzades
El document s'ha d'entregar en format PDF (informe_forense_NOMCOGNOM.pdf) i ha d'incloure:
- Portada professional
- Captures de pantalla de les eines usades
- Línia temporal visual de l'incident
- Conclusions clares i justificades