침투 테스트 단계: 정찰부터 보고까지
침투 테스트 수명 주기인 정찰, 검사, 익스플로잇, 침투 후 활동과 개선 조치를 이끄는 최종 보고서 작성까지 따라가 봅니다.
침투 테스트 단계: 정찰부터 보고까지은(는) CoddyKit의 무료 Security+ Academy 강의입니다. 이것은 4개 중 3번째 강의입니다. 아래에서 전체 강의를 무료로 읽을 수 있으며, 내장 코드 에디터와 24/7 AI 튜터와 함께 브라우저에서 직접 실습할 수 있습니다. 이 강의는 Security+ Academy 학습 경로의 일부이며, 진행 상황이 웹과 CoddyKit 앱에 동기화됩니다. Security+ Academy 강의에는 총 4개의 강의가 포함되어 있습니다.
Penetration 테스트 수명 주기
체계적인 Penetration 테스트는 철저한 범위를 보장하고 운영 시스템에 대한 위험을 최소화하며 실행 가능한 결과를 만들어 내는 정해진 수명 주기를 따릅니다. 가장 널리 채택된 프레임워크는 PTES (Penetration Testing Execution Standard)에서 비롯되었으며 NIST 접근 방식과도 일치합니다. 단계는 다음과 같습니다. Planning/Scoping, Reconnaissance, Scanning, Exploitation, Post-Exploitation, Reporting. 각 단계는 이전 단계의 결과를 바탕으로 진행됩니다. 발견하지 못한 대상은 Exploitation할 수 없고, Documentation하지 않은 내용은 Reporting할 수 없습니다. 단계를 건너뛰거나 서두르면 평가가 불완전해지고 Finding의 신뢰성이 떨어집니다.
# Penetration testing phases:
# 1. Planning & Scoping (Rules of Engagement)
# 2. Reconnaissance (OSINT + passive recon)
# 3. Scanning/Enumeration (active discovery)
# 4. Exploitation (attacking vulnerabilities)
# 5. Post-Exploitation (lateral movement, persistence)
# 6. Reporting (findings + recommendations)1단계: Planning 및 Scoping
Planning 단계에서는 Engagement의 법적·운영적 기반을 마련합니다. 주요 산출물에는 목표와 비용을 정의한 서명된 Statement of Work (SOW), 허가된 Target, 시간 범위, 금지된 기법, 비상 연락처 및 데이터 처리 요구 사항을 명시한 Rules of Engagement (RoE) 문서, 그리고 성공 기준(목표 달성으로 간주할 조건)에 대한 명확한 정의가 포함됩니다. Scoping은 무단으로 시스템을 테스트하는 범위 확장이 발생하지 않도록 정확하게 정의해야 하며, 평가가 가장 중요한 자산을 다루도록 해야 합니다. 기술 작업을 시작하기 전에 모든 통신 채널과 에스컬레이션 절차를 수립합니다.
# Scoping questions to answer:
# - Which IP ranges/domains are in scope?
# - Are cloud environments (AWS/Azure/GCP) in scope?
# - Are physical attacks in scope?
# - Are employees fair game for phishing?
# - Are denial-of-service techniques permitted?
# - What notification procedures exist?
# - Who is the authorized point of contact?
# - What is the test window (dates/times)?
# - How will data be protected and destroyed after?2단계: 수동 Reconnaissance (OSINT)
수동 Reconnaissance는 Target 시스템과 직접 상호 작용하지 않고 Target에 관한 정보를 수집하는 과정입니다. 즉, Target에 logs를 생성하지 않는 공개 출처를 사용합니다. 출처에는 WHOIS 레코드(도메인 등록 및 등록자 연락처), DNS 레코드, Certificate transparency logs(서브도메인 노출), LinkedIn(직원 이름, 직책 및 사용 기술), 채용 공고(기술 스택과 도구 공개), Shodan/Censys(인터넷에 노출된 서비스와 열린 Port), GitHub 저장소(소스 코드 및 실수로 커밋된 자격 증명), Google dorking(민감한 파일과 노출된 인터페이스를 찾기 위한 사이트별 검색)이 있습니다.
# OSINT techniques (no target contact):
# WHOIS:
whois targetcompany.com
# DNS enumeration via public resolvers:
dig @8.8.8.8 targetcompany.com ANY
dnsx -d targetcompany.com -a -aaaa -cname -mx -ns
# Certificate transparency (subdomains):
curl 'https://crt.sh/?q=%.targetcompany.com&output=json'
# Google dorks:
# site:targetcompany.com filetype:pdf confidential
# site:targetcompany.com inurl:admin
# site:github.com targetcompany password OR apikey2단계: 능동적 Reconnaissance
능동적 Reconnaissance는 정보를 수집하기 위해 Target 시스템과 직접 상호 작용하는 과정입니다. 이 과정에서는 Target에 logs가 생성되며 수동적 정찰보다 본질적으로 더 많은 흔적을 남깁니다. 기법에는 Port Scanning(Nmap), 서비스 열거, DNS 영역 전송 시도 및 Banner 수집이 포함됩니다. Reconnaissance와 Scanning의 경계는 모호합니다. Reconnaissance의 목표는 정보 수집이고 Scanning은 일반적으로 Vulnerability 식별을 의미합니다. 그러나 능동적 Reconnaissance는 IDS/IPS 경고를 발생시키고 보안에 민감한 Target에 탐지될 수 있으므로, 테스터는 Engagement 목표(탐지 테스트인지 은밀한 침해인지)에 따라 철저함과 은밀성 사이에서 균형을 잡습니다.
# Active reconnaissance techniques:
# Host discovery:
nmap -sn 192.168.1.0/24 -oG alive_hosts.txt
# DNS zone transfer (if misconfigured):
dig axfr @ns1.targetcompany.com targetcompany.com
# Banner grabbing:
nc -v 192.168.1.10 22 # SSH version
curl -I https://targetcompany.com # web server header
# SMTP enumeration:
nmap --script smtp-enum-users 192.168.1.25
# Web crawler:
whatweb targetcompany.com3단계: Scanning 및 Vulnerability 분석
Scanning 단계에서는 범위에 포함된 Target에서 열린 Port, 서비스, 소프트웨어 버전 및 알려진 Vulnerability를 체계적으로 발견합니다. 이 단계에서는 서비스 열거에 Nmap을, Vulnerability Scanning에 Nessus/OpenVAS를 사용합니다. Penetration 테스터는 Scanner 출력을 직접 검토하고 Finding을 상호 연관시킵니다. 예를 들어 Nmap이 식별한 Apache 버전이 CVE 데이터베이스의 알려진 Exploit과 일치할 수 있습니다. 이 단계에는 Web 애플리케이션을 수동으로 조사하는 작업(Burp Suite 사용)과 인증 메커니즘 테스트도 포함됩니다. 출력 결과는 Exploitation 단계에서 추적할 잠재적 공격 경로의 우선순위 목록입니다.
# Scanning phase workflow:
# 1. Port and service scan:
nmap -sV -sC -O 192.168.1.0/24 -oX services.xml
# 2. Vulnerability scan (Nessus/OpenVAS):
# Import Nmap results -> credentialed scan -> export report
# 3. Web application scanning:
burpsuite # manual + scanner
niklto -h https://192.168.1.10
wpscan --url https://targetsite.com # WordPress-specific
# 4. Correlate version with CVEs:
# searchsploit apache 2.4.41
# Check NVD: https://nvd.nist.gov/vuln/search4단계: Exploitation
Exploitation 단계에서는 식별된 Vulnerability를 이용해 무단 액세스, 권한 상승 또는 기타 정의된 목표를 달성하려고 시도합니다. Exploitation은 반드시 Scoping과 Rules of Engagement의 범위 내에서 엄격하게 수행해야 합니다. 기법에는 패치되지 않은 Vulnerability 악용(Metasploit 또는 수동 Exploit 사용), 자격 증명 공격(Password spraying, 기본 자격 증명, 무차별 대입), Web 애플리케이션 공격(SQL injection, XSS Exploitation), 승인된 경우의 사회공학이 포함됩니다. 모든 작업은 타임스탬프와 함께 Documentation해야 합니다. 무엇을 했는지, 언제 했는지, 결과가 무엇이었는지, 어떤 도구를 사용했는지를 기록해야 합니다. 이 Documentation은 최종 보고서의 증거 기반이 됩니다.
# Documentation during exploitation:
# Use a testing journal (OneNote, CherryTree, Obsidian)
# For each finding, record:
# - Date/time: 2026-06-15 14:32 UTC
# - Target: 192.168.1.25 (web-prod-01)
# - Finding: SQL injection in /login.php username parameter
# - Command: sqlmap -u 'http://target/login.php' --data 'user=*&pass=x'
# - Screenshot: login_sqli_01.png
# - Impact: retrieved admin credentials from users table
# - CVSS: 9.8 (Critical)5단계: Post-Exploitation
Post-Exploitation은 최초 액세스를 확보한 후 시작되며, Attacker가 도달 범위를 얼마나 확장할 수 있는지 조사합니다. 활동에는 권한 상승(제한된 사용자 액세스에서 관리자/root 권한 획득), 자격 증명 수집(해시, 티켓 또는 평문 Password 추출), lateral movement(수집한 자격 증명을 사용해 다른 시스템에 액세스), 데이터 검색(손상된 위치에서 액세스할 수 있는 민감한 데이터 식별), 지속성(APT의 장기 액세스를 모의하기 위한 것) 설정이 포함됩니다. 목표는 최초 침해의 현실적인 Impact를 보여 주는 것입니다. 단순히 한 시스템이 장악되었다는 사실이 아니라 Attacker가 최종적으로 어디까지 도달할 수 있는지를 보여 주어야 합니다.
# Post-exploitation with Meterpreter (Metasploit):
meterpreter> sysinfo # OS/hostname
meterpreter> getuid # current user
meterpreter> getsystem # attempt privilege escalation
meterpreter> hashdump # dump local NTLM hashes
meterpreter> run post/multi/gather/credentials
meterpreter> run post/windows/manage/migrate # migrate to stable process
# Lateral movement (CrackMapExec with dumped hash):
crackmapexec smb 192.168.1.0/24 -u admin -H <NTLM_hash> --shares피벗 및 내부 네트워크 액세스
Pivoting은 손상된 호스트를 중계 지점으로 사용해 Penetration 테스터가 다른 방법으로는 액세스할 수 없는 네트워크 구간에 도달하는 기법입니다(예: 애플리케이션 서버에서만 도달할 수 있는 내부 데이터베이스 VLAN). Metasploit의 route add 명령과 SSH 터널링(ssh -L은 로컬 전달, ssh -D는 SOCKS 프록시)은 일반적인 Pivoting 메커니즘입니다. Pivoting은 네트워크 분할이 실제로 효과적인지 보여 줍니다. 잘 분할된 네트워크에서는 손상된 DMZ 서버가 내부 데이터베이스에 접근하지 못해야 하지만, 평면 네트워크에서는 자유로운 lateral movement가 가능합니다. 보고서에 Documentation한 Pivoting 경로를 제시하면 분할의 공백이 정확히 어디에 존재하는지 보여 줄 수 있습니다.
# SSH local port forward (pivot):
# Access MySQL on internal server through compromised host:
ssh -L 3306:10.30.30.5:3306 user@compromised_host
# Now connect to MySQL locally:
mysql -h 127.0.0.1 -P 3306 -u root
# SOCKS proxy for full network pivot:
ssh -D 1080 user@compromised_host
# Use proxychains to route tools through SOCKS proxy:
proxychains nmap -sT 10.30.30.0/24
# Metasploit route add:
route add 10.30.30.0/24 <session_id>정리 및 증거 보존
테스트가 끝나면 Penetration 테스터는 정리를 수행해야 합니다. 자신이 설치한 백도어, 계정 및 도구를 제거해야 합니다. 실제 Attacker와 달리 Penetration 테스터는 Rules of Engagement에 따라 시스템을 테스트 전 상태로 복원할 의무가 있습니다. 정리 항목에는 생성한 사용자 계정 제거, 남겨 둔 파일(페이로드, 도구) 삭제, 지속성 메커니즘(WMI subscriptions, 예약된 작업, 레지스트리 Run 키) 제거, 모든 테스트 아티팩트가 사라졌는지 Client와 확인하는 작업이 포함됩니다. 증거 보존도 동시에 진행합니다. 보고서 작성과 향후 법적 참고를 위해 모든 Screenshot, 도구 출력, logs 및 메모를 안전한 형식으로 보관해야 합니다.
# Post-test cleanup checklist:
# Windows:
# - Delete created accounts: net user testuser /delete
# - Remove scheduled tasks: schtasks /delete /tn 'TestTask'
# - Remove registry persistence: reg delete HKLM\...
# - Delete dropped files: del C:\Windows\Temp\payload.exe
# - Clear event logs (if authorized): wevtutil cl Security
# Linux:
# - Remove cron jobs: crontab -r
# - Remove added SSH keys: edit ~/.ssh/authorized_keys
# - Delete dropped files: rm /tmp/payload.sh6단계: Reporting
보고서는 Engagement를 정당화하고 개선 조치를 이끌어 내는 최종 산출물입니다. 잘 구성된 보고서에는 경영진 요약(위험 등급, 비즈니스 Impact, 경영진을 위한 상위 3개 Finding), 기술적 Finding 섹션(각 Finding의 심각도, 설명, 증거, 재현 단계, 비즈니스 Impact 및 구체적인 개선 지침), 원시 도구 출력과 상세한 타임라인을 담은 부록이 포함됩니다. 보고서는 기밀로 분류됩니다. 공격을 반복할 수 있을 만큼 충분한 세부 정보가 포함되어 있기 때문입니다. 일반적으로 결과를 설명하고 Client의 질문에 답하는 디브리핑 회의에서 보고서를 전달합니다. 우수한 Reporting이 전문적인 Engagement와 단순한 Scanner 결과 덤프를 구분합니다.
시험을 위한 수동 Reconnaissance와 능동적 Reconnaissance 비교
Security+에서는 수동 Reconnaissance와 능동적 Reconnaissance의 차이를 자주 평가합니다. 수동 Reconnaissance는 Target 시스템에 직접 접촉하지 않고 공개 출처에서 정보를 수집하는 방식이며, Target에 logs가 생성되지 않습니다. 예로 WHOIS 레코드 읽기, LinkedIn 검토, Certificate transparency logs 조회, Shodan 검색 실행이 있습니다. 능동적 Reconnaissance는 Target 시스템과 직접 상호 작용하는 방식이며, Port Scanning, Banner 수집, DNS 영역 전송 시도 등이 해당합니다. 능동적 Reconnaissance는 logs를 생성하고 IDS 경고를 발생시킬 수 있습니다. 실제 Engagement에서는 Target 네트워크에 탐지 가능한 접촉을 하기 전에 지도를 만들기 위해 수동 Reconnaissance를 먼저 수행합니다.
빠른 확인
이 lesson에서 다룬 CompTIA Security+ (SY0-701) 개념에 대한 이해도를 확인해 보세요.
Lesson 요약
이 lesson에서는 다음을 배웠습니다. Penetration 테스트는 Planning, Reconnaissance, Scanning, Exploitation, Post-Exploitation 및 Reporting으로 구성된 체계적인 수명 주기를 따릅니다. 수동 Reconnaissance는 Target 측에 logs를 생성하지 않고 공개 OSINT 출처를 사용하는 반면, 능동적 Reconnaissance는 시스템과 직접 상호 작용합니다. 또한 경영진 요약, 기술적 Finding 및 구체적인 개선 지침을 포함하는 최종 보고서가 보안 개선을 이끄는 핵심 산출물입니다. 다음에는 CVSS 점수 산정과 Vulnerability 개선 조치의 우선순위 지정 방법을 살펴봅니다.
자주 묻는 질문
“침투 테스트 단계: 정찰부터 보고까지” 강의는 무료인가요?
네 — “침투 테스트 단계: 정찰부터 보고까지” 전체 내용을 이 웹사이트에서 무료로 읽을 수 있습니다. 인터랙티브하게 실습하려면(내장 코드 에디터와 24/7 AI 튜터), CoddyKit PRO로 업그레이드하면 Security+ Academy 강의 전체를 잠금 해제할 수 있습니다. Security+ Academy 강의에는 총 4개의 강의가 포함되어 있습니다.
“침투 테스트 단계: 정찰부터 보고까지”에서 뭘 배우나요?
침투 테스트 수명 주기인 정찰, 검사, 익스플로잇, 침투 후 활동과 개선 조치를 이끄는 최종 보고서 작성까지 따라가 봅니다. 브라우저에서 직접 실행하는 실습 코드로 Security+ Academy을(를) 배우며, 24/7 AI 튜터가 강의를 진행하면서 질문에 답변해줍니다.
Security+ Academy을(를) 시작하는 데 경험이 필요한가요?
사전 경험은 필요하지 않습니다. CoddyKit의 Security+ Academy은(는) 초급자부터 고급 학습자까지를 위해 구성되어 있으므로, 여기서 시작하거나 처음부터 시작할 수 있으며 자신의 속도대로 진행할 수 있습니다. 이것은 4개 중 3번째 강의입니다.
“침투 테스트 단계: 정찰부터 보고까지” 강의는 얼마나 걸리나요?
대부분의 CoddyKit 강의는 약 5~10분이 소요됩니다. 각 강의는 간결하고 인터랙티브하여 꾸준한 진행이 가능하며, 웹과 앱에서 중단한 부분부터 바로 시작할 수 있습니다.
이 Security+ Academy 강의에서 코드를 작성하고 실행할 수 있나요?
네. 모든 Security+ Academy 강의에는 내장 코드 에디터가 포함되어 있으므로, 브라우저에서 바로 실제 코드를 작성하고 실행한 후 즉시 AI 피드백을 받을 수 있습니다 — 로컬 설정이 필요 없습니다.
이 강의의 모든 강의
- 취약점 검사와 침투 테스트
- 일반적인 검사 도구: Nessus, OpenVAS, Nmap
- 침투 테스트 단계: 정찰부터 보고까지
- CVSS 점수 산정과 취약점 우선순위 지정