
GNS3 홈 랩으로, Cisco ASAv 방화벽, L3 코어, DMZ, Active Directory 도메인으로 구성된 분할 네트워크를 문서화하여 네트워킹, 시스템 관리, 공격적 보안을 연습할 수 있습니다.

HomeLab은 네트워킹, 시스템 관리 및 공격 보안을 하나의 환경에서 연습하기 위해 단일 노트북(OMEN 16, i7-14650HX, 32 GB RAM, RTX 4060 8 GB)에 구축된 GNS3 랩입니다. DMZ(Cisco ASAv)가 있는 경계, 라우팅된 코어(SW-L3 + 두 개의 액세스 스위치), 그리고 Windows Server 2025에서 실행되는 Active Directory 도메인 kooler.local을 모델링합니다. 공격자 플랫폼(Kali, ParrotOS/Exegol)은 인터넷으로 향하는 NAT 게이트웨이와 함께 신뢰할 수 없는 외부 세그먼트에 위치합니다.
체인: Kali/Exegol + NAT (Switch-X) → Router → ASAv Firewall (DMZ 레그 포함) → SW-L3 → L2-SW-1 / L2-SW-2 (VLAN).
| 세그먼트 | 서브넷 | 비고 |
|---|---|---|
| 외부 / 비신뢰 | 192.168.160.0/24 | Switch-X: Kali/Exegol, NAT 클라우드; Router는 .100 |
| Router ↔ FW 외부 | 10.10.3.0/29 | Router .1, ASA 외부 .2 |
| FW ↔ DMZ | 10.10.2.0/30 | ASA dmz .2, Ubuntu .1 |
| FW ↔ SW-L3 (내부) | 10.10.1.0/30 | ASA 내부 .2, SW-L3 .1 |
| VLAN 30 | 192.168.30.0/24 | PC-C, PC-D |
| VLAN 40 | 192.168.40.0/24 | L2-SW-2 뒤 — Windows 10, PC-B |
| VLAN 50 | 192.168.50.0/24 | L2-SW-1 뒤 — Windows Server 2025 (DC01), PC-A |
| VLAN 100 | 192.168.100.0/24 | SW-L3에 SVI 존재; 트렁크됨, 아직 ASA 객체 그룹에 없음 |
트렁크 링크 SW-L3 ↔ L2-SW-1/L2-SW-2는 VLAN 30, 40, 50, 100을 전달합니다(네이티브 VLAN 999, dot1q).
| 장비 | 역할 | 플랫폼 | 주요 인터페이스 |
|---|---|---|---|
| Router | 엣지 라우터, NAT 측 게이트웨이 | Cisco IOSv 15.9 | Gi0/0 10.10.3.1/29 (FW 방향); Gi0/1 192.168.160.100/24 (Switch-X 방향) |
| FW | 경계 방화벽, 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 | 코어 L3 스위치, VLAN 간 라우팅 | Cisco IOSv L2 15.2 | Gi0/0 10.10.1.1/30 (FW 방향); Gi0/1-0/2는 L2-SW-1/2로의 트렁크; VLAN 30/40/50/100용 SVI |
| L2-SW-1 | 액세스 스위치 | Cisco IOSv L2 15.2 | VLAN 50 액세스 포트 (WinServer2025, PC-A) |
| L2-SW-2 | 액세스 스위치 | Cisco IOSv L2 15.2 | VLAN 40 액세스 포트 (Windows 10, PC-B); VLAN 30 (PC-D) |
ASAv는 Smart Licensing Using Policy에 따라 라이선스가 부여되며, Evaluation Mode로 실행되고, 기능 티어 standard와 처리량 레벨 1G가 로컬에서 선언됩니다(CSSM 등록 없음).
| 호스트 | OS / 빌드 | 호스트명 | IP / VLAN | 서비스 |
|---|---|---|---|---|
| Kali | Kali Linux 2026.2 (VMware amd64) | Kali | 192.168.160.130 (외부 세그먼트) | 공격자 플랫폼 |
| ParrotOS/Exegol | ParrotOS + Exegol | — | 외부 세그먼트 (Switch-X) | 공격자 플랫폼 |
| Ubuntu | Ubuntu Desktop 26.04 | ko0ler-VMware-Virtual-Platform | 10.10.2.1 (DMZ) | DVWA, bWAPP, httpbin, FTP, Samba, MySQL |
| WindowsServer 2025 | Windows Server 2025 | DC01 | 192.168.50.10 (VLAN 50) | ADCS, ADDS, DHCP, DNS, MSSQL — kooler.local의 도메인 컨트롤러 |
| Windows 10 | Windows 10 | PC1 | DHCP (VLAN 40) | 도메인 가입 워크스테이션 |
| PC-A | VPCS | — | VLAN 50 (.15) | — |
| PC-B | VPCS | — | VLAN 40 (.15) | — |
| PC-C | VPCS | — | VLAN 30 (.1) | — |
| PC-D | VPCS | — | VLAN 30 (.2) | — |
도메인 컨트롤러: DC01 (Windows Server 2025, 192.168.50.10), ADCS, ADDS, DHCP, DNS 및 MSSQL을 나란히 실행 — 공격 표면 연습(서비스 계정 노출, ADCS 템플릿 오구성, DC 상의 SQL 등)을 위해 의도적으로 과다 프로비저닝된 DC입니다.
| 계정 | 범위 | 비고 |
|---|---|---|
| Administrator | 로컬 (DC01) | 내장 로컬 관리자 |
| Ko0ler | 도메인 사용자 | — |
| user1 | 도메인 사용자 | — |
Windows 10 (PC1)은 kooler.local에 가입되어 있습니다; 로컬 로그인 ko0ler도 해당 머신에 도메인 계정과 별도로 존재합니다.
| 존 페어 | 방향 | 허용 |
|---|---|---|
| outside → DMZ | 인바운드 | Ubuntu (10.10.2.1)로 HTTP(80), HTTPS(443), 8080, 8070, 8060; ICMP |
| DMZ → outside | 아웃바운드 | HTTP, HTTPS, DNS(53) |
| DMZ → inside | — | 거부 |
| inside → DMZ | 아웃바운드 | Ubuntu로 전체 IP |
| inside → outside | 아웃바운드 | 전체 IP, ASA 외부 인터페이스를 통한 PAT |
NAT: 내부 서브넷(192.168.30/40/50.0/24, 동적, ASA 외부를 통해)에 대한 PAT 및 DMZ 호스트에 대한 정적 NAT (10.10.2.1 → 10.10.3.3, DMZ_MAPPED). 참고: VLAN 30/40/50 간의 VLAN 간 트래픽은 ASA를 통과하지 않습니다 — SW-L3가 로컬에서 라우팅하므로, 방화벽은 남북(DMZ/외부) 트래픽만 봅니다.
CHANGELOG.md에서 추적됩니다.
랩 자격 증명은 의도적으로 이 저장소에 커밋되지 않습니다.
| 범위 | 계정 | 호스트 |
|---|---|---|
| 로컬 | kali | Kali |
| 로컬 | ko0ler | Ubuntu |
| 로컬 | ko0ler | Windows 10 (PC1) |
| 로컬 | Administrator | DC01 |
| 도메인 (kooler.local) | Ko0ler | — |
| 도메인 (kooler.local) | user1 | — |