1. 모의해킹(Penetration Testing)
모의해킹은 실제 공격자와 동일한 관점에서 조직의 시스템, 네트워크, 애플리케이션 등을 침투 시도하여 취약점이 악용 가능한지 확인하고, 이를 통해 보안 체계의 실질적인 방어 능력을 평가하는 과정이다. 단순 취약점을 식별/진단하는 것을 넘어, 공격 시나리오를 기반으로 취약점을 실제로 악용하여 시스템, 네트워크, 데이터 자산의 보안 상태를 평가한다.
흔히 줄여서 pentest라고 한다.
2. 모의해킹의 목적
1. 보안 체계 검증
- 시스템의 보안 체계가 실질적인 공격을 방어할 수 있는지 테스트
- 방어 체계(FW, IPS, IDS, WAF 등)의 효과 평가
2. 취약점 악용 가능성 분석
- 탐지된 취약점이 실제로 어떻게 악용될 수 있는지 확인
- 특정 취약점을 이용한 침투 경로와 영향 분석
3. 위험 완화
- 침투 테스트의 결과를 통해 조직이 실질적인 보안 조치를 강화
4. 공격자 관점의 평가
- 공격자의 입장에서 네트워크와 시스템을 평가하여 숨겨진 취약점 탐색
5. 컴플라이언스 및 규제 준수
- PCI-DSS, HIPAA 등 보안 표준에서 요구하는 침투 테스트 수행
3. 모의해킹 주요 단계
1. 사전 준비(Planning)
- 범위 정의
- 침투 테스트 대상(네트워크, 애플리케이션, 어플라이언스 등)과 제외 대상 명확히 설정
- 법적 동의
- 침투 테스트 수행에 대한 계약 및 법적 동의서 작성
- 목표 설정
- 테스트 목적과 기대 결과 정의
- ex) 내부 네트워크에 대한 권한 상승 가능성을 확인
2. 정보 수집(Reconnaisance)
- 외부 정보 수집
- 대상 네트워크의 IP 범위, 도메인, 공개된 자산 조사
- 내부 정보 수집
- 네트워크 트래픽 분석, 사용자 계정 정보 탐색
- 도구: Whois, nslookup, Sublist3r, Shodan..
3. 취약점 분석(Scanning & Vulnerability Assessment)
- 취약점 탐지
- 자동화된 도구를 이용해 네트워크와 시스템의 취약점 탐색
- Nmap, Nessus..
- 우선순위화
- 탐지된 취약점을 심각도별로 분류(CVSS* 기준)
4. 취약점 악용(Exploitation)
- 탐지된 취약점을 실제로 악용하여 시스템 침투 시도
- 공격 유형
- 원격 코드 실행 (Remote Code Execution, RCE)
- 권한 상승 (Privilege Escalation)
- 정보 유출 (Information Disclosure)
- 도구: Metasploit, SQLmap, Hydra
- 결과
- 침투 성공 여부 및 영향 평가
5. 심화 테스트(Post-Exploitation)
- 내부 네트워크 확장
- 권한 상승 후 추가적인 침투 시도
- 데이터 분석
- 민감한 정보(DB, 사용자 정보) 접근 가능성 평가
- 백도어 삽입
- 지속적인 접근을 위한 백도어 설치 시도
6. 보고 및 권고(Reporting)
- 보고서 작성
- 침투 성공 여부, 경로, 침투로 인한 영향 분석
- 개선 방안 제안
- 후속 조치
- 테스트에서 발견된 취약점을 해결하고 추가 점검
**CVSS(Common vulnerability Scoring System): 소프트웨어 취약점의 특성과 심각도를 평가하기 위한 개방형 프레임워크
4. 모의해킹의 주요 유형
1. 네트워크 침투 테스트
- 목적
- 네트워크 인프라의 보안 체계를 점검
- 방화벽, 라우터, 스위치, 서버 등 네트워크 장비의 보안 취약점 탐색
- 검토 항목
- 잘못된 방화벽 규칙
- 네트워크 내 민감 데이터 전송 방식(제대로 암호화 됐나)
- 네트워크 세그멘테이션 여부
- ex) 내부 네트워크에서 ARP Spoofing을 통해 데이터 트래픽 가로채기
2. 웹 애플리케이션 침투 테스트
- 목적
- 웹 사이트, 웹 애플리케이션의 보안 상태를 점검
- 검토 항목
- SQL injection, XSS, CSRF
- 취약한 인증 및 세션 관리
- API 취약점
3. 무선 네트워크 침투 테스트
- 목적:
- Wi-Fi 네트워크의 보안 평가.
- 검토 항목:
- 암호화 수준(WEP, WPA2 등).
- 인증 및 액세스 제어.
- 예:
- WPA2 네트워크에서 Brute Force를 통한 Wi-Fi 키 크래킹
4. 소셜 엔지니어링(사회 공학적 기법)
- 목적:
- 사용자와 직원의 보안 인식을 평가.
- 검토 항목:
- 피싱 이메일의 성공률.
- 내부 정보 유출 가능성.
- 예:
- 피싱 이메일로 사용자 비밀번호 획득 시도.
5. 모의해킹의 주요 한계
1. 범위 제한
- 사전에 정의된 범위 내에서만 테스트를 수행
- 중단 위험이 있는 중요한 서버 제외
2. 서비스 중단 위험
- 테스트 중 시스템에 부하를 줄 수 있음
3. 비용
- 취약점 진단에 비해 상대적으로 비용이 높음
## 사용 도구 ##
6-1. 자동화 도구
- Nmap:
- 네트워크 스캔 및 포트 탐지.
- Nessus:
- 취약점 진단 및 컴플라이언스 검사.
6-2. 익스플로잇 도구
- Metasploit:
- 익스플로잇 개발 및 실행.
- Hydra:
- 비밀번호 크래킹 및 인증 우회.
6-3. 웹 애플리케이션 도구
- Burp Suite:
- 웹 애플리케이션 취약점 분석.
- SQLmap:
- SQL Injection 자동화 도구.
6-4. 무선 및 네트워크 도구
- Aircrack-ng:
- 무선 네트워크 암호화 크래킹.
- Wireshark:
- 네트워크 트래픽 분석.
"주저앉아있을 시간에 그냥 하자"