Skip to content
KitploitKITPLOIT
도구블로그
제출
도구블로그
제출

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

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

··피드·문의·개인정보·© 2026 Kitploit

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
CVE-2025-32433 — 테스트 | Kitploit
도구/GitHubGitHub/iteride/cve-2025-32433
Vulnerability AnalysisExploitationSCADA/ICS SecurityCTFPenetration TestingCommand and ControlLearning & EducationRemote Access ToolLabs & Practice
GitHubiteride/cve-2025-32433

CVE-2025-32433

테스트

111개월 전아직 검토되지 않음

인기

모두 보기 →

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

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
공유
저장소 보기

CVE-2025-32433

소개

이 문서는 Erlang/OTP 플랫폼에 내장된 SSH 서버 구현에 영향을 미치는 취약점 CVE-2025-32433에 대한 연구를 제시합니다.
이 취약점은 인증 없이 원격 코드 실행(RCE)을 가능하게 하며, 패치가 출시되기 전까지 다음 Erlang/OTP 브랜치에 영향을 미칩니다:

  • 버전 27 – 27.3.3 미만
  • 버전 26 – 26.2.5.11 미만
  • 버전 25 – 25.3.2.20 미만

Erlang/OTP는 확장 가능한 분산 시스템의 기반으로 널리 사용되며, 많은 유명 프로젝트(예: 메신저, 메시지 브로커, 고부하 웹 서비스)의 스택에 포함되어 있습니다.
기본 SSH 라이브러리의 치명적인 RCE 취약점은 Erlang/OTP를 서버 또는 SSH가 열린 구성 요소로 사용하는 인프라를 위험에 빠뜨립니다.

보고서 목적

취약점을 단계별로 검토하고 전체 연구 주기를 시연합니다:

  1. 자료 수집 및 구성:
    CVE-2025-32433에 대한 공개 데이터를 찾아 체계화하고, 본질과 잠재적 영향을 설명합니다.

  2. CPE 및 구성 조건 식별:
    취약점이 적용되는 CPE 목록과 구성 조건을 제시합니다.

  3. PoC/Exploit 개발:
    테스트 환경에서 작동하는 익스플로잇 프로토타입을 생성하고 시연합니다.

  4. 안전한 대량 검사 방법:
    취약한 호스트를 확인하는 세 가지 방법을 설명합니다:

    • nuclei 능동 모드 사용 (익스플로잇 시 최소 피해)
    • nuclei 수동 모드 사용 (소프트웨어 버전 또는 간접적 징후 기반)
    • 자체 Python 3 (또는 Go) 스크립트 사용 (멀티스레드 지원)

⚠️ 면책 조항

본 연구는 교육적 및 윤리적 목적으로만 수행되었으며, 통제된 테스트 환경에서만 실행되었습니다.
저자는 제시된 정보의 부적절한 사용에 대해 책임을 지지 않습니다.
이 정보는 학습 및 시스템 보안 강화 목적으로만 사용하십시오.


취약점 세부 사항

Erlang은 고병렬 및 내결함성 시스템 구축을 위해 설계된 프로그래밍 언어입니다.
Open Telecom Platform(OTP) 플랫폼은 수년간 통신에서 금융 부문에 이르기까지 중요한 인프라에서 사용되어 왔습니다.

산업에서의 Erlang/OTP

OT(운영 기술) 환경 및 5G 네트워크에서 Erlang/OTP는 확장성과 최소 다운타임으로 지속적인 시스템 운영을 보장하는 능력으로 높이 평가됩니다.
원격 관리를 위해 이러한 네트워크는 종종 Erlang/OTP에 내장된 SSH 구현을 사용합니다.
이것이 CVE-2025-32433 취약점을 이러한 환경에서 특히 위험하게 만듭니다.

문제의 본질

Erlang/OTP의 안전한 상호 작용은 자체 SSH 구현에 의해 보장되며, 다음을 담당합니다:

  • 암호화된 연결
  • 파일 전송
  • 그리고 중요한 것은 명령 실행입니다.

이 구현의 취약점으로 인해 네트워크 접근 권한을 가진 공격자가 인증 없이 임의 코드를 실행할 수 있으며, 이는 취약한 자산에 직접적인 위협이 됩니다.

확산 규모

글로벌 인터넷 스캔(Cortex Xpanse, 2025년 4월) 데이터에 따르면, 취약한 Erlang/OTP SSH 서비스는 인터넷에 널리 노출되어 있으며, 표준 포트뿐만 아니라 TCP 포트 2222에서도 실행됩니다.
이 포트는 종종 산업 자동화의 레거시 구성 요소와 암시적 메시지 전송 프로토콜 Ethernet/IP에 사용되어 잠재적 공격 벡터를 확장합니다.

취약점은 Erlang/OTP 릴리스에 포함된 SSH 버전과 관련이 있습니다.
다양한 산업 분야의 포트에서 취약한 서비스가 확산되어 상당한 글로벌 공격 표면을 형성합니다.

가장 큰 피해를 입은 산업 분야

원격 측정 결과, 익스플로잇 시도의 85% 이상이 다음 분야의 OT 세그먼트 방화벽에서 기록되었습니다:

  • 의료
  • 농업
  • 미디어 및 엔터테인먼트
  • 첨단 기술

한편, OT에 대한 높은 의존도에도 불구하고 다음 분야:

  • 공공 시설
  • 에너지
  • 광업
  • 항공우주 및 방산

에서는 이 특정 위협의 적극적인 확산을 촉진하는 요소가 발견되지 않았습니다.

업종별 특징

  • 전문 및 법률 서비스 분야에서는 주로 IT 네트워크에서 탐지가 기록되었습니다.
  • 제조업, 도소매업, 금융 서비스 분야에서는 공격이 IT 및 OT 세그먼트 간에 거의 균등하게 분포되어 포괄적인 보호가 필요합니다.

취약점 상태

  • 심각도 수준: Offsec 및 Tenable 기준 CVSS 3.1 10.0 (치명적). 익스플로잇 복잡성 낮음, 자격 증명 또는 사용자 상호 작용 필요 없음.
  • KEV 목록: 2025년 6월 9일 CISA의 알려진 익스플로잇 취약점(KEV) 카탈로그에 추가되어 긴급 패치의 필요성을 강조합니다.

영향을 받는 제품 및 구성 조건

CPE 식별자

CVE-2025-32433은 NVD 데이터베이스에 다음과 같은 일반 CPE(Common Platform Enumeration)로 등록되었습니다:

  • cpe:2.3:a:erlang:otp:25:*:*:*:*:*:*:*
  • cpe:2.3:a:erlang:otp:26:*:*:*:*:*:*:*
  • cpe:2.3:a:erlang:otp:27:*:*:*:*:*:*:*

다음 패치 버전보다 낮은 마이너 릴리스가 취약한 것으로 간주됩니다:

  • 25.x – 25.3.2.20 이하
  • 26.x – 26.2.5.11 이하
  • 27.x – 27.3.3 이하

취약점이 발현되는 조건

  • 호스트에서 내장 Erlang/OTP SSH 데몬(ssh:daemon/2)이 실행 중이어야 하며, 외부 openssh가 아니어야 합니다.
  • SSH 포트(표준 22 또는 사용자 정의(예: 2222))가 공격자 네트워크에서 원격 연결에 접근 가능해야 합니다.
  • 구성 수준에서 특별한 플래그가 필요하지 않습니다 – 취약점은 특정 ssh:daemon/2 옵션이 아닌 Erlang/OTP 코드의 프로토콜 로직과 관련됩니다.
  • 인증 방식은 무엇이든 가능합니다(비밀번호, 키 등) – 버그는 인증 단계 이전에 익스플로잇됩니다.

⚠️ Erlang/OTP가 SSH 서버를 띄우지 않고 클라이언트 라이브러리로만 사용되거나, 서버가 격리된 네트워크에 있는 경우 취약점에 노출되지 않습니다.


기술 개요

취약점은 Erlang/OTP 내장 SSH 서버가 사전 인증 프로세스를 올바르게 처리하지 못하기 때문에 발생합니다.
연결 프로토콜의 두 가지 메시지 유형인 SSH_MSG_CHANNEL_OPEN 및 SSH_MSG_CHANNEL_REQUEST 가 핵심 역할을 합니다.
RFC 4254 표준에 따르면, 이러한 메시지는 사용자 인증 성공 후에만 수신되어야 합니다.
더 일찍 보내려는 모든 시도는 즉시 연결을 종료해야 합니다.
CVE-2025-32433의 경우 SSH 데몬이 이 규칙을 적용하지 않아 공격자가 유효한 자격 증명을 제공하지 않고 세션 채널을 열고 임의 명령어로 exec 요청을 보낼 수 있습니다.
즉, 이는 인증되지 않은 원격 코드 실행(RCE) 으로 이어집니다. 공격자는 사용자 이름, 암호 또는 키를 알 필요 없이 서버를 장악할 수 있습니다.

diagram-placeholder-1

SSH 연결 프로토콜은 SSH 전송 및 인증 계층 위에서 작동합니다.
대화형 로그인, 원격 명령 실행 및 포트 전달 기능을 제공합니다.
취약한 Erlang/OTP SSH 구현에서 채널 시작 및 명령 요청에 필요한 두 메시지인 SSH_MSG_CHANNEL_OPEN 및 SSH_MSG_CHANNEL_REQUEST 가 공격 지점이 됩니다:
공격자는 인증을 통과하기 전에 시스템이 임의 코드를 실행하도록 속이는 특수하게 조작된 트래픽을 보낼 수 있습니다.

diagram-placeholder-2


PoC / Exploit

연구의 일환으로 CVE-2025-32433에 대한 작동하는 Proof-of-Concept이 준비되었습니다.

파일 구성

  • CVE-2025-32433.py – SSH 패킷을 수동으로 구성하는 Python 스크립트 (SSH_MSG_KEXINIT, SSH_MSG_CHANNEL_OPEN, SSH_MSG_CHANNEL_REQUEST)를 인증 전에 전송합니다.
    이를 통해 취약한 Erlang/OTP 버전에서 서버 측에서 임의 명령을 실행할 수 있습니다. PoC에서는 cyberok 텍스트가 포함된 /lab.txt 파일을 생성합니다.

  • ssh_server.erl – 포트 2222에서 내장 OTP SSH 데몬을 시작하는 최소 Erlang 모듈입니다. 시연용으로만 필요하며 Docker 컨테이너 내에서 실행됩니다.

  • Dockerfile – 지정된 Erlang/OTP 버전을 자동으로 컴파일하고 테스트 SSH 서버를 시작하는 컨테이너 빌드 레시피입니다.

⚠️ 이 PoC는 로컬 테스트 및 교육 목적으로만 사용됩니다. 프로덕션 또는 공용 네트워크에서 사용하지 마십시오.


Docker 로컬 테스트

  1. 이미지 빌드: git clone https://github.com/iteride/CVE-2025-32433.git && cd CVE-2025-32433/POC/ && docker build -t cve-ssh . docker

  2. 이미지 실행

    root@kitploit:~
    docker run -d --name cve-ssh -p 2222:2222 cve-ssh
    
  3. PoC 시연 poc


nuclei-template을 이용한 빠른 확인

수동 검사

수동 템플릿은 실제 공격 행위를 수행하지 않고 취약점의 간접적 징후를 찾습니다.
서비스가 자체적으로 제공하는 '표면적' 정보만 분석합니다:

  • Erlang/OTP 버전 배너
  • 응답 헤더
  • 기타 공개 메타데이터

취약한 버전(예: OTP 25.3.2.19 또는 26.2.5.10)이 발견되면 nuclei는 호스트를 잠재적 취약으로 표시합니다.
⚠️ 이 접근 방식은 안전합니다. 악성 패킷이나 익스플로잇 시도가 전혀 발생하지 않습니다.

root@kitploit:~
nuclei -u 127.0.0.1:2222 -t erlang-passive.yaml

nuclei-passive


능동 검사

능동 템플릿은 통제된 공격 시뮬레이션을 수행합니다:
인증 전에 특수하게 조작된 SSH 패킷을 보내고 취약점이 트리거되는지 확인합니다.
익스플로잇 사실을 확인하기 위해 Interactsh가 사용됩니다. 원격 서버가 악성 요청을 실행하면 Interactsh 대시보드에 DNS 콜백이 나타납니다.

✅ 이 테스트는 원격 코드 실행(RCE)의 실제 가능성을 확인하지만, 격리된 테스트 환경에서만 수행됩니다.

root@kitploit:~
nuclei -u 127.0.0.1:2222 -t erlang-active.yaml -code

nuclei-passive

멀티스레드 스크립트 ⚡️

nuclei-template과의 차이점:

  1. 스크립트는 nuclei 능동 템플릿과 동일하게 작동하지만 훨씬 빠릅니다.
  2. 스크립트는 서버가 취약한지 여부를 nuclei보다 훨씬 정확하게 판단합니다. nuclei는 interactsh 분석에 문제가 있습니다.

스크립트 실행

⚠️ 실행 전에 interactsh-client가 설치 및 실행 중인지 확인하십시오.

root@kitploit:~
python3  babyfon.py -f targets.txt -d your.interactsh_domain

babyfon

실행 후 interactsh-client에서 DNS 상호 작용을 확인합니다. (예시에서는 두 개의 대상을 스캔합니다. 하나는 취약하고 다른 하나는 이미 패치되었습니다.)

interactsh

nuclei와의 속도 및 정확도 비교 ℹ️

  1. Nuclei:

nuclei_bad

  1. babyfon

babyfon

테스트 결론:

  • babyfon 스캔은 0.95초 만에 완료되었으며, 호스트 중 하나가 이미 업데이트되어 취약하지 않음을 올바르게 식별했습니다.
  • nuclei 스캔은 9.9초가 걸렸으며 두 호스트 모두 취약하다고 잘못 표시했습니다.
도구 다운로드