CTF 정찰: OSINT 기법 완전 정복
OSINT(오픈소스 인텔리전스)는 CTF 대회, 침투 테스트, 보안 연구에서 핵심 스킬이다. 이 가이드는 문제를 풀기 전후에 정보를 수집하는 데 도움이 되는 실전 OSINT 기법을 다룬다.
OSINT란?
OSINT는 공개된 소스에서 공개적으로 이용 가능한 정보를 수집하는 것이다. CTF 맥락에서는 웹 페이지, 메타데이터, SNS, DNS 레코드, 공개 데이터베이스에서 숨겨진 단서를 찾는 것을 의미한다.
CTF에서 OSINT가 중요한 이유:
- 메타데이터에 숨겨진 플래그 발견
- 사용자명, 이메일, 자격 증명 발굴
- 인프라와 관계 구조 파악
- 과거 데이터 및 삭제된 콘텐츠 발견
필수 OSINT 도구
웹 정찰
Wayback Machine (archive.org) - 웹사이트의 과거 버전을 볼 수 있다. 삭제된 페이지에는 현재 버전에서 제거된 플래그나 민감한 정보가 남아있는 경우가 많다.
Google 도킹 - 고급 검색 연산자로 숨겨진 콘텐츠를 발견한다:
site:example.com filetype:pdf- 특정 파일 타입 찾기inurl:admin- 관리자 패널 찾기intitle:"index of"- 디렉토리 목록 찾기
Shodan (shodan.io) - 인터넷 연결 장치 검색 엔진. 노출된 서비스, 기본 자격 증명, 취약한 시스템을 발견할 수 있다.
메타데이터 분석
ExifTool - 이미지, 문서, 파일에서 메타데이터 추출:
exiftool image.jpg
exiftool -all= image.jpg # 모든 메타데이터 제거
GPS 좌표, 소프트웨어 버전, 사용자명이 EXIF 데이터에 숨어있는 경우가 많다.
Strings - 바이너리 파일에 단순하지만 효과적인 방법:
strings file.bin | grep -i flag
DNS 및 도메인 인텔리전스
dig - DNS 레코드 쿼리:
dig example.com ANY
dig -x 192.168.1.1 # 역방향 조회
whois - 도메인 등록 데이터로 소유자, 이메일, 등록 날짜를 확인한다.
인증서 투명성 (crt.sh) - SSL 인증서를 통해 서브도메인 발견:
%.example.com
소셜 미디어 인텔리전스
사용자명 OSINT - sherlock이나 namechk 같은 도구로 플랫폼 전체에서 계정을 찾는다:
sherlock username123
트위터 고급 검색 - 날짜, 위치, 사용자, 키워드로 필터링. 타임라인 재구성에 유용하다.
LinkedIn - 직원 정보를 통해 조직 구조, 사용 기술, 잠재적 소셜 엔지니어링 타깃을 파악한다.
실전 CTF 기법
이미지 스테가노그래피 탐지
이미지에 숨겨진 데이터 확인:
binwalk image.png
steghide extract -sf image.jpg
zsteg image.png # PNG 분석
아카이브 및 파일 분석
재귀적 아카이브 추출:
binwalk -e firmware.bin
foremost disk.img # 디스크 이미지에서 파일 카빙
네트워크 트레이스
Wireshark 필터로 패킷 캡처 분석:
http.request.method == "POST"- 폼 제출 찾기ftp-data- FTP 트래픽에서 파일 추출dns- 접근한 도메인 확인
Git 저장소 마이닝
Git 히스토리에서 시크릿 추출:
git log --all --full-history -- "*password*"
trufflehog --regex --entropy=False .
삭제된 커밋과 브랜치에는 플래그나 자격 증명이 남아있는 경우가 많다.
OSINT 워크플로우 구축
1. 넓게 시작하기 - 검색 엔진과 공개 데이터베이스 활용
2. 깊이 파고들기 - 링크, 서브도메인, 관련 계정 추적
3. 자동화 - Python이나 Bash로 반복 작업 스크립팅
4. 문서화 - 발견 사항과 관계 노트 기록
빠른 정찰 스크립트
#!/bin/bash
TARGET=$1
echo "[+] DNS 레코드"
dig $TARGET ANY
echo "[+] 서브도메인 (crt.sh)"
curl -s "https://crt.sh/?q=%.$TARGET&output=json" | jq -r '.[].name_value' | sort -u
echo "[+] 과거 스냅샷"
curl -s "http://archive.org/wayback/available?url=$TARGET" | jq -r '.archived_snapshots.closest.url'
자주 나오는 CTF OSINT 시나리오
메타데이터 속 플래그 - 다운로드한 이미지의 EXIF 데이터를 항상 확인하라
삭제된 SNS 포스트 - 캐시/아카이브 버전 검색
서브도메인 열거 - 잊혀진 서브도메인에 플래그가 숨어있는 경우가 많다
과거 유출 - 오래된 pastebin/gist 포스트에 자격 증명이 남아있다
QR 코드 - zbarimg로 수동 스캔 없이 디코딩
법적·윤리적 고려사항
OSINT는 공개 정보를 사용하지만 맥락이 중요하다. CTF 대회에서는 챌린지 범위 내에서만 활동하라. 실제 연구에서는 개인정보 보호법과 서비스 이용 약관을 준수하라.
항상 지켜야 할 것:
- 프로덕션 시스템 테스트 전 반드시 권한 취득
- 동의 없이 실제 사람을 소셜 엔지니어링하지 않기
- 방법론 문서화
- 취약점 책임 있게 보고
연습 리소스
CTF 플랫폼 - TryHackMe와 HackTheBox에 OSINT 챌린지가 있다
Trace Labs - 실종자 대상 OSINT CTF (실제 임팩트 있음)
OSINT Framework (osintframework.com) - 종합 도구 디렉토리
마치며
OSINT는 익스플로잇 없는 정찰이다. 이 기법을 마스터하면 플래그를 더 빠르게 찾고, 공격 표면을 더 잘 이해하고, 보안 연구자의 사고방식을 기를 수 있다. 정보는 이미 공개되어 있다 — 어디를 봐야 할지만 알면 된다.
Google로 시작해서 전문 도구로 깊이 파고들고, 항상 메타데이터를 확인하라. 해피 헌팅!