Fase de Prevenció i Anàlisi de Vulnerabilitats
Abans de pensar a recuperar, hem d’evitar el desastre. Com a experts, utilitzem metodologies com per exemple, el Hacking Ètic per endurir el sistema.
El primer pas és saber què tenim exposat. Utilitzarem Nmap per verificar que els ports oberts coincideixin amb els serveis esperats (53 per DNS, 445 per Samba/AD, 25/110/143 per Correu).
nmap -T4 -A -v 10.4.0.0/25
Si detectem un port obert que no hauria de ser-hi, l’hem de tancar immediatament al Firewall (iptables o Windows Firewall).
Gestió de Vulnerabilitats (CVEs)
Hem de comprovar si les versions dels serveis (bind9 per DNS, Postfix per SMTP, Windows Server 2019) tenen CVEs (Common Vulnerabilities and Exposures) coneguts.
Eines: OpenVAS.
Base de dades: ExploitDB.
Si trobem, per exemple, que el servidor Samba (10.4.0.30) té una vulnerabilitat crítica (com EternalBlue en versions antigues de SMB), hem de parxejar-lo abans que algú faci servir Metasploit per explotar-la.
Estratègia de Còpies de Seguretat (Backup)
La regla d’or és el 3-2-1: 3 còpies de les dades, en 2 mitjans diferents, 1 d’elles fora de l’oficina (o al núvol).
Com que fem servir VirtualBox, la recuperació més ràpida és tenir còpies de les màquines virtuals (VMs).
Script de Backup per a VMs (Bash): Aquest script atura la màquina (per evitar corrupció), l’exporta i la torna a arrencar.
#!/bin/bash
VM_NAME=”Samba-Server”
BACKUP_PATH=”/mnt/backup_extern/vms”
DATE=$(date +%F)# Aturar la VM de forma segura
VBoxManage controlvm “$VM_NAME” acpipowerbutton
sleep 60 # Esperar que s’apagui# Exportar l’Appliance (format .ova és portable)
VBoxManage export “$VM_NAME” -o “$BACKUP_PATH/$VM_NAME-$DATE.ova”# Tornar a arrencar
VBoxManage startvm “$VM_NAME” –type headless
Servidor Active Directory (Windows Server – 10.4.0.20)
L’AD és crític. No serveix només copiar fitxers; necessitem el System State. Comanda (PowerShell):
# Crear una còpia de seguretat de l’estat del sistema i la unitat C:
wbadmin start backup -backupTarget:D: -include:C: -systemState -quiet
Dades d’Usuari (Samba – 10.4.0.30)
Per als fitxers compartits, utilitzarem rsync per fer còpies incrementals cap a un servidor de backup extern. Comanda (Bash):
rsync -avz –delete /srv/samba/ shares/ usuari@10.4.0.X:/backup/samba/
Protocol de Resposta davant Incidents
Si detectem una intrusió (ex: un atac de Ransomware entrant per la “Xarxa de Laboratori” 10.4.0.130/26):
Aïllament (Containment):
Desconnectar físicament o lògicament el cable que uneix el Switch amb la subxarxa afectada.
En l’àmbit de tallafocs, bloquejar tot el tràfic entrant/sortint de la subxarxa 10.4.0.128/26.
Anàlisi Forense:
No apagar els equips infectats si és possible. Investigar els logs d’acces o les descarreuges dels equips, a part de tots els ports.
Utilitzar eines com Wireshark per analitzar el tràfic residual i veure si hi ha comunicació amb servidors de Command & Control.
Identificació del vector d’atac:
Ha estat per força bruta (Hydra)? Ha estat un exploit (Metasploit)?
Per exemple, si ha estat força bruta, cal reforçar les polítiques de contrasenyes a l’Active Directory (Kerberos).
Pla de Recuperació (Recovery)
Assumint l’escenari “Catastròfic” on hem perdut el maquinari o el SO està corrupte.
Pas 1: Recuperació de la Infraestructura Física/Xarxa
Substituir el maquinari danyat (Servidor o Switch).
Configurar la xarxa base. Assegurar que el DHCP Server (172.25.203.12) torna a assignar IPs i que les rutes estàtiques al Switch permeten la comunicació entre VLANs (Servers <-> Clients).
Pas 2: Restauració de Serveis Crítics (Ordre de Prioritat)
Active Directory (10.4.0.20): Sense això, ningú no entra.
Instal·lar Windows Server net.
Entrar en mode “Directory Services Restore Mode” (DSRM).
Restaurar el
System Statedes del backup.
wbadmin start systemstaterecovery -version:[versio_backup]
DNS (10.4.0.10):
Si no resolen noms, els serveis no es troben. Restaurar els fitxers de configuració de zona (
/etc/bind/named.conf.locali fitxers de zona).
Samba i Correu:
Restaurar les VMs des dels fitxers
.ovagenerats anteriorment.
Pas 3: Verificació
Un cop restaurat, hem de validar la integritat:
Fer un
pinginslookupdes de la xarxa de Clients cap als Servidors.Intentar fer login amb un usuari del domini en el Client Windows 10 (10.4.0.200).
Enviar un correu de prova entre usuaris interns.
Resum d'Eines i Conceptes Clau
TCP/IP i Subnetting: Essencial per entendre que la xarxa de laboratori (/26) està aïllada per màscara de la de servidors (/25), però el Switch les uneix. Calen regles d’ACL (Access Control Lists) al Switch per seguretat.
Kerberos: És el protocol que fa servir el nostre Active Directory per validar els tiquets d’usuari. Si l’hora del servidor no està sincronitzada (NTP), Kerberos fallarà.
Metasploit/Hydra: Recorda, els fem servir als laboratoris (10.4.0.130-192) per testar la duresa de les nostres contrasenyes i serveis, mai contra producció sense finestra de manteniment.
Fase de proves: Vulnerabilitat Eternal Blue en Windows 7
EternalBlue és un exploit desenvolupat originalment per la NSA que aprofita una vulnerabilitat en la implementació del protocol SMBv1 (Server Message Block, versió 1) de Microsoft. Aquest protocol s’utilitza principalment per compartir fitxers i impressores en una xarxa (com els servidor Samba 10.4.0.30 o l’Active Directory 10.4.0.20). (CVE-2017-0144)
Funcionament Tècnic Simplificat:
El Problema: El protocol SMBv1 gestiona malament certs paquets de xarxa especialment manipulats.
L’Atac: L’atacant envia aquests paquets al port 445 (SMB) de la víctima.
Buffer Overflow: Això provoca un desbordament de memòria intermèdia (buffer overflow) al nucli (kernel) de Windows.
Execució de Codi: L’atacant aconsegueix sobreescriure parts de la memòria i executar el seu propi codi amb privilegis de SYSTEM (el nivell més alt, fins i tot per sobre de l’Administrador).
Això vol dir que pots prendre el control total de la màquina sense necessitat de tenir cap usuari ni contrasenya. És la porta d’entrada perfecta per a Ransomware (com el famós WannaCry).
Per què és un bon exemple si no usem Windows 7?
Tot i que EternalBlue afectava principalment Windows 7, XP i Server 2008, l’exemple és vigent per tres raons crítiques en seguretat:
Compatibilitat Heretada (Legacy): Moltes vegades, en empreses grans, els administradors habiliten manualment el protocol SMBv1 en servidors nous (Windows 2019) perquè puguin comunicar-se amb impressores velles o escàners industrials que no entenen protocols nous.
Si algú ha activat SMBv1 al servidor 10.4.0.20 per error, és vulnerable immediatament.
Versions sense actualitzar: Les primeres versions de Windows 10 (abans de l’actualització Fall Creators Update 1709) encara portaven SMBv1 per defecte. Si per exemple el client 10.4.0.200 no s’ha actualitzat des del 2017, és vulnerable.
La lliçó de Samba (Linux): Com que tenim un servidor Samba (10.4.0.30), hem de saber que Linux va tenir el seu propi “EternalBlue”, anomenat EternalRed (o SambaCry, CVE-2017-7494). El concepte és idèntic: un error en el protocol de compartir fitxers permet execució remota. Estudiar un t’ajuda a entendre l’altre.
Proof of Concept (PoC) de Eternal Blue en el nostre laboratori
Abans d’anar a l’explicació principal, és imprescindible que et familiaritzis amb els següents conceptes, si et cal, pots cercar més informació:
- Kali Linux: Distribució de Linux orientada a proves de seguretat i anàlisi forense.
- Windows 7: Sistema operatiu de Microsoft multiús, a dia d’avui, antic i en desús perquè no te més suport.
- Metasploit: Plataforma que permet desenvolupar i executar exploits contra sistemes vulnerables.
- Meterpreter: Tipus de shell avançada de Metasploit que permet control remot post-explotació.
- Exploit: Codi o tècnica que aprofita una vulnerabilitat per obtenir accés o executar accions no autoritzades.
- CVE: Identificador estàndard que cataloga vulnerabilitats de seguretat conegudes.
- Hash: Representació criptogràfica i irreversible d’un conjunt de dades. En aquest cas, contrasenyes.
- Shell: Interfície que permet executar ordres directament en un sistema operatiu.
- NTLM: Protocol d’autenticació de Microsoft basat en desafiaments i respostes amb hashes.
CrackStation: Base de dades i eina en línia que permet comprovar hashes comparant-los amb grans taules precomputades.
ATENCIÓ: Aquesta prova esta destinada a demostrar com sense un pla de contingència a un sistema operatiu podem ser vulnerables a explotis com el mencionat a la demostració. No s’incita a ningú per cap motiu a replicar les metodologies explicades amb fins no ètics o sense consentiment.
Escaneig i enumeració
En aquesta prova, tindrem dues màquines, una Kali Linux i un Windows 7 amb la vulnerabilitat “Eternal blue”, a la mateixa xarxa. Aquesta xarxa, es la del Laboratori, especificament escollida per fer proves sense afectar a altres maquines virtuals intencionada o no intencionadament.
Primerament, amb nmap farem un escaneig per veure si la màquina víctima esta encesa i té el port 445 obert, indica-nos que molt probablement és vulnerable a “Eternal Blue”, al saber també que fa ús d’un sistema operatiu com és Windows 7 desactualitzat.
Preparació del Exploit
Obrim Metasploit a la màquina Kali Linux i cerquem el CVE, amb la comanda “search” i després “use 0”:
Execució del Exploit
Podrem veure una descripció del Exploit, com per exemple, que afecta a altres sistemes operatius Windows, Windows server i de més:
Amb la comanda “set RHOSTS”, definim la ip de la maquina victima que en aquest cas es la 10.4.0.133 i executem l’exploit amb “run”.
Accés Inicial
Si tot ha funcionat bé, hauríem de veure com hem guanyat accés a la màquina remota fent ús d’aquesta vulnerabilitat. Tot seguit, si fem la comanda “shell” podrem executar comandes en una cmd a la màquina remota que a continuació veuràs:
Com per exemple, whoami, que ens diu quin usuari estem fent servir per executar aquestes comandes. Ens informa el sistema que estem fent servir l’usuari “nt authority\system”, similar al root de linux, amb privilegis maxims dins d’aquesta maquina.
Recaptació de contrasenyes, usuaris i llistar directoris
Amb la comanda “hashdump” podem extreure tots els usuaris i Hashes de la maquina, molt util si un atacant vol tractar de endevinar les contrasenyes, a continuació veurás un exemple de com es fa.
Aixo ens diu que aquesta cadena de numeros i lletres que esta subrayada a la captura es la contrasenya de l’usuari “user”. Si no es segura, es por descifrar amb pagines com Crackstation, que ens detecten també el format del Hash:
Efectivament, podem comprovar que la contrasenya del usuari “user” es “user”. Aquest mètode també funciona amb la resta d’usuaris, així que molt de compte amb això. També podem llistar directoris amb la comanda “ls”
¿Como ho podem remediar?
Com a conclusió, per mitigar EternalBlue o exploits similars amb el mateix protocol, es poden seguir aquests passos bàsics:
Desactivar SMBv1: Aquest protocol és antic i vulnerable. Desactivar-lo redueix molt el risc d’explotació.
Configurar un tallafoc: Bloquejar el port 445/TCP des d’internet i limitar-ne l’accés només a dispositius de confiança dins la xarxa.
- Activar Windows Defender: Aquest o altres antivirus que ens ajudin a mitigar aquestes vulnerabilitats són indispensables per la seguretat.
Aquest laboratori ha sigut possible gràcies a la següent font d’informació: