모의해킹
모의해킹기초_04_정보수집(Reconnaissance)
작성자 : Heehyeon Yoo|2025-11-07
# 모의해킹# Reconnaissance# OSINT# Enumeration# Nmap
1. 정보수집이란?
모의해킹의 첫 번째이자 가장 중요한 단계. 타겟에 대해 최대한 많은 정보를 수집하여 공격 벡터를 파악하는 과정이다.
"잘 된 정보수집은 해킹의 절반"이라는 말이 있을 정도로, 이 단계에서 얼마나 깊이 파고드느냐가 이후 성공률을 좌우한다.
왜 중요한가?
- 공격 표면 파악: 어떤 서비스가 열려있고, 어떤 기술 스택을 사용하는지 알아야 취약점을 찾을 수 있다.
- 시간 절약: 무작정 스캔부터 돌리는 것보다, OSINT로 사전 정보를 확보하면 훨씬 효율적.
2. 정보수집의 두 가지 유형
| 유형 | 설명 | 예시 |
|---|---|---|
| Passive(수동적) | 타겟과 직접 상호작용 없이 공개 정보 수집 | WHOIS, Google Dorking, LinkedIn, Shodan |
| Active(능동적) | 타겟에 직접 패킷을 보내 정보 수집(탐지 위험 있음) | Nmap 스캔, Banner Grabbing, DNS Zone Transfer |
💡 팁: 실전에서는 Passive → Active 순서로 진행. Passive로 충분히 파악한 뒤, Active로 검증하는 게 정석.
3. Passive Reconnaissance 기법
3.1 OSINT(Open Source Intelligence)
공개된 정보만으로도 놀라울 정도로 많은 걸 알아낼 수 있다.
- WHOIS: 도메인 등록 정보, 관리자 이메일
- Google Dorking:
site:target.com filetype:pdf같은 고급 검색 - Shodan/Censys: 인터넷에 노출된 장비/서비스 검색
- theHarvester: 이메일, 서브도메인 자동 수집 도구
# theHarvester로 이메일/서브도메인 수집
theHarvester -d target.com -b google,linkedin,shodan
3.2 소셜 엔지니어링 정보
- LinkedIn: 직원 목록, 기술 스택, 사용 중인 솔루션
- GitHub: 실수로 커밋된 API 키, 설정 파일
4. Active Reconnaissance 기법
4.1 Port Scanning(Nmap)
"어떤 문이 열려있는지 두드려보는 것"
# 기본 스캔(TCP Top 1000)
nmap -sV -sC target.com
# 전체 포트 스캔 + OS 탐지
nmap -p- -A target.com
# 스텔스 스캔(SYN Scan, 로그 덜 남음)
sudo nmap -sS -Pn target.com
주요 옵션:
-sV: 서비스 버전 탐지-sC: 기본 스크립트 실행-p-: 65535 전체 포트-Pn: Ping 없이 스캔(방화벽 우회)
4.2 Service Enumeration
포트가 열려있다면, 해당 서비스에 특화된 정보를 추가로 수집한다.
| 서비스 | 도구 | 수집 정보 |
|---|---|---|
| SMB(445) | enum4linux, smbclient | 공유 폴더, 사용자 목록 |
| DNS(53) | dig, dnsenum | Zone Transfer, 서브도메인 |
| HTTP(80/443) | gobuster, nikto | 숨겨진 경로, 취약점 |
# SMB 열거
enum4linux -a target.com
# 웹 디렉토리 브루트포싱
gobuster dir -u http://target.com -w /usr/share/wordlists/dirb/common.txt
5. 정리
| 단계 | 목표 | 대표 도구 |
|---|---|---|
| Passive | 탐지 없이 최대한 많은 정보 확보 | theHarvester, Shodan, Google |
| Active | 정확한 서비스/버전/설정 파악 | Nmap, gobuster, enum4linux |
정보수집은 지루해 보일 수 있지만, 여기서 발견한 작은 단서가 전체 공격의 실마리가 된다.
다음 단계인 취약점 분석(Vulnerability Analysis)으로 연결되는 핵심 기반이다.