1. 네트워크 구조와 자산
네트워크 구조란?
네트워크 내 장비와 연결 관계, 데이터 흐름, 구간 또는 서브넷을 시각화한 정보입니다. 라우터, 스위치, 방화벽, 서버, 클라이언트 PC, 무선 AP 등이 어떻게 연결되어 있는지 네트워크 다이어그램으로 표현합니다.
자산이란?
네트워크 내 보호 대상이 되는 모든 장비, 서비스, 데이터, 계정을 의미합니다. 서버, PC, 프린터, 네트워크 장비, 웹 애플리케이션, 데이터베이스, 사용자 계정 등을 자산 목록으로 관리해야 합니다.
2. 점검 목적
- 공격 가능한 경로와 취약점 존재 가능 지점을 탐색합니다.
- 중요 자산의 위치와 노출 상태를 확인합니다.
- 방어 우선순위와 보안 점검 범위를 결정합니다.
- 취약점 분석 및 대응 전략 수립을 위한 기초 자료를 확보합니다.
3. 네트워크 구조 및 자산 파악 절차
- 공개 정보 및 문서 조사: 내부 네트워크 다이어그램, IP 주소 대역, 서버 목록, 도메인 정보를 확인합니다.
- 네트워크 스캐닝: Nmap, Angry IP Scanner, Netdiscover 등으로 활성 호스트와 서비스 포트를 확인합니다.
- 트래픽 분석: Wireshark, tcpdump로 패킷을 캡처하여 프로토콜과 데이터 흐름을 분석합니다.
- 자산 목록 작성: 발견된 장비, 운영체제, 서비스 버전, 중요도를 기록합니다.
- 네트워크 맵 작성: Draw.io, Visio 등으로 토폴로지를 시각화합니다.
4. 공개 정보, IP 대역 조사
OSINT는 인터넷에 공개된 대상 조직의 도메인, IP 주소 범위, 서브도메인, 이메일, 공개 서버, 코드 저장소, 취약점 보고서 등을 수집하는 과정입니다.
| whois | 도메인 등록자, 네임서버, IP 할당 정보를 확인합니다. |
|---|---|
| nslookup / dig | DNS 레코드와 도메인에 연결된 IP 주소를 조회합니다. |
| Sublist3r / Amass | 서브도메인을 탐색하여 외부 노출 범위를 파악합니다. |
| Shodan / Censys / ZoomEye | 인터넷에 연결된 장비와 서비스의 공개 스캔 결과를 조회합니다. |
| Google Dork | 검색엔진을 활용해 공개 문서, 설정 노출, 인덱싱된 정보를 찾습니다. |
5. 서비스 포트 조사
서비스 포트 조사는 각 IP에서 어떤 네트워크 서비스가 열려 있는지 확인하는 과정입니다. 열린 포트와 서비스 버전은 취약점 존재 가능성을 판단하는 핵심 단서입니다.
| 포트 | 서비스 |
|---|---|
| 21 | FTP |
| 22 | SSH |
| 23 | Telnet |
| 25 | SMTP |
| 53 | DNS |
| 80 / 443 | HTTP / HTTPS |
| 139 / 445 | SMB |
| 3389 | RDP |
6. 취약점 분석의 기초 자료 확보
기초 자료는 대상 시스템과 네트워크의 정보 자산, 서비스, 구성, 운영 환경에 대한 데이터입니다. 이 자료는 취약점 분석과 공격 시나리오 설계의 근간이 됩니다.
| 네트워크 정보 | IP 대역, 서브넷, 방화벽 위치, 라우터 및 스위치 정보 |
|---|---|
| 시스템 정보 | 운영체제 종류 및 버전, 패치 현황 |
| 서비스 정보 | 실행 중인 서비스, 서비스 버전, 주요 설정 |
| 애플리케이션 정보 | 웹 서버, 데이터베이스, 미들웨어 종류와 버전 |
| 사용자 계정 정보 | 관리자 및 사용자 계정 현황, 권한 수준 |
| 공개 취약점 정보 | CVE, NVD, CVE Details, Exploit-DB, 보안 권고 검색 결과 |
| 로그 및 이벤트 정보 | 시스템 로그, 보안 로그, 서비스 이벤트 로그 |
7. 프로그램 사용법
Nmap 기본 형식
nmap [스캔 옵션] [대상 IP 또는 네트워크 대역]
| 옵션 | 용도 |
|---|---|
-sn |
포트 스캔 없이 활성 호스트만 확인합니다. |
-sV |
열린 포트의 서비스와 버전 정보를 확인합니다. |
-O |
운영체제 정보를 추정합니다. 관리자 권한이 필요할 수 있습니다. |
-p |
점검할 포트 범위를 지정합니다. |
-oN |
일반 텍스트 형식으로 결과를 저장합니다. |
8. 사용 예시
활성 호스트 확인
172.16.0.0/16 대역에서 응답하는 호스트를 확인합니다.
nmap -sn 172.16.0.0/16 -oN live-hosts.txt
단일 호스트 기본 포트 점검
172.16.0.34에서 기본적으로 많이 사용하는 포트를 확인합니다.
nmap 172.16.0.34 -oN 172.16.0.34-basic.txt
서비스 버전 확인
열린 포트의 서비스 이름과 버전 정보를 수집합니다.
nmap -sV 172.16.0.34 -oN 172.16.0.34-service-version.txt
전체 포트 범위 점검
TCP 1번부터 65535번까지 전체 포트를 확인합니다.
nmap -p 1-65535 172.16.0.34 -oN 172.16.0.34-all-ports.txt
운영체제 추정과 주요 서비스 확인
관리자 권한이 있는 환경에서 운영체제 추정과 서비스 버전 확인을 함께 수행합니다.
sudo nmap -O -sV 172.16.0.34 -oN 172.16.0.34-os-service.txt
웹 서비스 중심 점검
HTTP와 HTTPS가 열려 있는지 빠르게 확인합니다.
nmap -p 80,443 -sV 172.16.0.34 -oN 172.16.0.34-web.txt
9. 결과 기록 양식
스캔 결과는 단순 명령 출력으로 끝내지 말고, 아래 항목을 기준으로 자산 목록에 정리합니다.
| 항목 | 기록 예시 |
|---|---|
| IP 주소 | 172.16.0.34 |
| 호스트 상태 | Up / Down |
| 열린 포트 | 22, 80, 443 |
| 서비스 및 버전 | OpenSSH, Apache HTTP Server 등 |
| 운영체제 추정 | Linux, Windows Server 등 |
| 중요도 | 상 / 중 / 하 |
| 후속 조치 | 패치 확인, 불필요 포트 차단, 접근 제어 검토 |
점검 체크리스트
- 점검 승인 범위 확인
- 대상 네트워크 대역 확인
- 활성 호스트 목록 작성
- 열린 포트와 서비스 버전 기록
- 중요 자산 식별
- 불필요하게 노출된 서비스 확인
- CVE 및 보안 권고 검색
- 방어 우선순위와 조치 계획 작성