
GNS3 home lab che documenta una rete segmentata con firewall Cisco ASAv, core L3, DMZ e un dominio Active Directory per esercitarsi in networking, sysadmin e sicurezza offensiva.

HomeLab è un laboratorio GNS3 costruito su un singolo laptop (OMEN 16, i7-14650HX, 32 GB di RAM, RTX 4060 8 GB) per esercitarsi in networking, amministrazione di sistemi e sicurezza offensiva in un unico ambiente. Modella un perimetro con un firewall (Cisco ASAv), una DMZ (Ubuntu Server), un core routed (SW-L3 + due switch di accesso) e un dominio Active Directory kooler.local in esecuzione su Windows Server 2025. Le piattaforme d'attacco (Kali, Exegol) si trovano sul segmento esterno non attendibile insieme a un gateway NAT verso Internet. Il numero di asset, i tipi di host e i servizi configurati si basano sulle specifiche del mio host per consentire l'esecuzione simultanea dell'intero ambiente senza che il PC fatichi troppo, e per assegnare alle VM risorse adeguate.
Nota: questa è una configurazione di base da cui partire, quindi personalizzala secondo necessità. Strumenti e concetti come l'hardening dei server, SIEM, EDR, server C2 e pivoting in LAN per ulteriori test devono essere implementati e realizzati da te in base a ciò su cui vuoi allenarti. Nel tempo verrà documentata solo l'architettura globale per usabilità e infine tracciata in CHANGELOG.md. Inoltre, poiché il firewall non è effettivamente sotto licenza (modalità di valutazione), la larghezza di banda coinvolta è limitata e influisce pesantemente sulle prestazioni di rete (sorgente esterna → DMZ, interno → Internet). Quindi utilizzo temporaneamente un adattatore di rete aggiuntivo sulle VM (VMware NAT) per traffico di rete impegnativo come aggiornamenti di sistema o download di software di grandi dimensioni. Crea snapshot dei componenti mentre testi e rompi le cose. Divertiti e cresci!
Catena: Kali/Exegol + NAT (Switch-X) → Router → Firewall ASAv (con gamba DMZ) → SW-L3 → L2-SW-1 / L2-SW-2 (VLAN).
| Segmento | Sottorete | Note |
|---|---|---|
| Esterno / non attendibile | 192.168.160.0/24 | Switch-X: Kali/Exegol, cloud NAT; Router su .100 |
| Router ↔ FW esterno | 10.10.3.0/29 | Router .1, ASA outside .2, NAT DMZ .3 |
| FW ↔ DMZ | 10.10.2.0/30 | ASA dmz .2, Ubuntu .1 |
| FW ↔ SW-L3 (interno) | 10.10.1.0/30 | ASA inside .2, SW-L3 .1 |
| VLAN 30 (VPCS) | 192.168.30.0/24 | PC-C, PC-D |
| VLAN 40 (Workstation) | 192.168.40.0/24 | dietro L2-SW-2 — Windows 10, PC-B |
| VLAN 50 (Server) | 192.168.50.0/24 | dietro L2-SW-1 — Windows Server 2025 (DC01), PC-A |
| VLAN 100 (Gestione) | 192.168.100.0/24 | SVI presente su SW-L3; in trunk, non ancora nel gruppo oggetti ASA |
I link trunk SW-L3 ↔ L2-SW-1/L2-SW-2 trasportano le VLAN 30, 40, 50, 100 (VLAN nativa 999, dot1q).
| Dispositivo | Ruolo | Piattaforma | Interfacce principali |
|---|---|---|---|
| Router | Router di bordo, gateway lato NAT | Cisco IOSv 15.9 | Gi0/0 10.10.3.1/29 (verso FW); Gi0/1 192.168.160.100/24 (verso Switch-X) |
| FW | Firewall perimetrale, DMZ | Cisco ASAv 9.22(1)1 | outside 10.10.3.2/29; dmz 10.10.2.2/30; inside 10.10.1.2/30 |
| SW-L3 | Switch core L3, routing inter-VLAN | Cisco IOSv L2 15.2 | Gi0/0 10.10.1.1/30 (verso FW); Gi0/1-0/2 trunk verso L2-SW-1/2; SVI per VLAN 30/40/50/100; modalità VTP server |
| L2-SW-1 | Switch di accesso | Cisco IOSv L2 15.2 | Porte di accesso VLAN 50 (WinServer2025, PC-A); modalità VTP client |
| L2-SW-2 | Switch di accesso | Cisco IOSv L2 15.2 | Porte di accesso VLAN 40 (Windows 10, PC-B); VLAN 30 (PC-D); modalità VTP client |
ASAv è sotto licenza Smart Licensing Using Policy, in esecuzione in modalità di valutazione con feature tier standard e livello di throughput 1G dichiarati localmente (nessuna registrazione CSSM).
| Host / Risorse | OS / Build | Hostname | IP / VLAN | Servizi |
|---|---|---|---|---|
| Kali (1 CPU, 8 Core, 4/80GB) | Kali Linux 2026.2 (VMware amd64) | Kali | 192.168.160.130 (segmento esterno) | Piattaforma d'attacco |
| Ubuntu (1 CPU, 2 Core, 3/60GB) | Ubuntu Desktop 26.04 | ko0ler-VMware-Virtual-Platform | 10.10.2.1 (DMZ) | DVWA, bWAPP, httpbin, FTP, Samba, MySQL |
| WindowsServer 2025 (1 CPU, 4 Core, 4/60GB) | Windows Server 2025 | DC01 | 192.168.50.10 (VLAN 50) | ADCS, ADDS, DHCP, DNS, MSSQL — controller di dominio per kooler.local |
| Windows 10 (1 CPU, 2 Core, 4/60GB) | Windows 10 | PC1 | DHCP (VLAN 40) | Workstation joinata al dominio |
| PC-A | VPCS | — | VLAN 50 (.15) | — |
| PC-B | VPCS | — | VLAN 40 (.15) | — |
| PC-C | VPCS | — | VLAN 30 (.1) | — |
| PC-D | VPCS | — | VLAN 30 (.2) | — |
I VPCS sono utilizzati principalmente per test di connettività.
Controller di dominio: DC01 (Windows Server 2025, 192.168.50.10), con ADCS, ADDS, DHCP, DNS e MSSQL in esecuzione contemporaneamente — un DC volutamente sovradimensionato per esercitarsi sulla superficie d'attacco (esposizione di account di servizio, misconfigurazione dei template ADCS, SQL su un DC, ecc.).
| Account | Ambito | Note |
|---|---|---|
| Administrator | Locale (DC01) | Admin locale predefinito |
| Ko0ler | Utente di dominio | — |
| user1 | Utente di dominio | — |
Windows 10 (PC1) è joinato a kooler.local; sulla macchina esiste anche un login locale ko0ler, separato dall'account di dominio.
| Coppia di zone | Direzione | Consentito |
|---|---|---|
| outside → DMZ | inbound | HTTP(80), HTTPS(443), 8080, 8070, 8060 verso Ubuntu (10.10.2.1); ICMP |
| DMZ → outside | outbound | HTTP, HTTPS, DNS(53) |
| DMZ → inside | — | negato |
| inside → DMZ | outbound | IP completo verso Ubuntu |
| inside → outside | outbound | IP completo, PAT tramite interfaccia outside dell'ASA |
NAT: PAT per le subnet inside (192.168.30/40/50.0/24, dinamico, tramite outside dell'ASA) e NAT statico per l'host DMZ (10.10.2.1 → 10.10.3.3, DMZ_MAPPED). Nota: il traffico inter-VLAN tra le VLAN 30/40/50 non attraversa mai l'ASA — SW-L3 lo instrada localmente, quindi il firewall vede solo il traffico nord-sud (DMZ/outside).
Tracciati in CHANGELOG.md.
Le credenziali del lab sono intenzionalmente non salvate in questo repository.
| Ambito | Account | Hostname |
|---|---|---|
| Locale | kali | ko0ler-VMware-Virtual-Platform (Kali) |
| Locale | ko0ler | Ubuntu |
| Locale | ko0ler | PC1 (Windows 10) |
| Locale | Administrator | DC01 (WindowsServer 2025) |
| Dominio (kooler.local) | Ko0ler | — |
| Dominio (kooler.local) | user1 | — |