Notes / Penetration Testing
CVE 분석과 1-day 버그 헌팅
공개된 CVE를 읽고 패치 diff로 취약 지점을 역산해 재현·활용하는 1-day 버그 헌팅의 개념과, 버전 대조·패치 분석 접근을 정리합니다.
목차
공개된 CVE는 “무엇이 고쳐졌는지”를 알려준다. 패치 전후를 비교하면 어디가 왜 취약했는지 역산할 수 있고, 아직 패치 안 된 대상(1-day)에서 재현된다. 알려진 취약점을 읽는 힘이 실무 공격면을 좌우한다.
개념
- CVE 읽기: CVE/NVD에서 영향 제품·버전 범위·취약점 유형(CWE)·심각도(CVSS)를 파악. 참조 링크(어드바이저리·패치 커밋·PoC)가 핵심.
- 버전 대조: 정찰·열거에서 확보한 서비스 버전을 CVE의 영향 범위와 대조해 1-day 후보를 뽑는다.
- 패치 diff 분석: 오픈소스면 수정 커밋의 변경점이 곧 취약 지점. 추가된 검증·경계 체크·필터를 보면 “무엇을 안 막았었는지”가 보인다.
- 재현: 취약 버전을 격리 환경에 세우고, diff로 역산한 입력·경로로 재현 → 안전한 PoC 작성.
CVE 공개 → 영향 버전·유형 확인 → 패치 diff 역산(취약 지점)
→ 취약 버전 재현 환경 → PoC → (미패치) 대상 적용
공격·확인 구문
허가된 대상·격리 환경에서만.
CVE·버전 대조
NVD 에서 제품·버전 범위·CWE·참조 링크 확인
열거로 얻은 버전이 영향 범위에 드는가 → 1-day 후보
벤더 어드바이저리/보안 릴리스 노트로 수정 버전 경계 확인
패치 diff 역산(오픈소스)
git log --oneline v1.2.3..v1.2.4 # 수정 버전 사이 커밋
git show <fix-commit> # 추가된 검증/경계 체크 = 취약 지점
# 추가된 input validation / bounds check / escape 가 '안 막았던 것'을 가리킴
재현·검증
취약 버전을 컨테이너/VM 격리 환경에 세팅
diff 로 역산한 입력·경로로 재현 시도
공개 PoC 는 정독 후 격리 실행(백도어·파괴 코드 주의)