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

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

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

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

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
CVE-2026-25769---CVE-2026-25770 — Wazuh 클러스터 취약점 CVE-2026-25769 및 CVE-2026-25770에 대한 개념 증명 익스플로잇으로, 안전하지 않은 역직렬화와 파일 덮어쓰기를 통한 원격 코드 실행 및 권한 상승을 시연합니다. | Kitploit
도구/GitHubGitHub/samres27/cve-2026-25769---cve-2026-25770
Vulnerability AnalysisExploitationWeb Application ExploitationPenetration TestingLearning & EducationRed Teaming
GitHubsamres27/cve-2026-25769---cve-2026-25770

CVE-2026-25769---CVE-2026-25770

Wazuh 클러스터 취약점 CVE-2026-25769 및 CVE-2026-25770에 대한 개념 증명 익스플로잇으로, 안전하지 않은 역직렬화와 파일 덮어쓰기를 통한 원격 코드 실행 및 권한 상승을 시연합니다.

저장소 보기
3개월 전아직 검토되지 않음

인기

모두 보기 →

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

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
공유

CVE-2026-25769 / CVE-2026-25770 – Wazuh 클러스터 취약점

경고: 이 저장소는 보안 취약점과 관련된 정보 및 코드를 포함하고 있습니다. 교육 목적 또는 승인된 환경에서만 사용하십시오.

설명

Wazuh 클러스터 구성(버전 ≥ 4.0.0)에서 두 가지 심각한 취약점이 확인되었습니다. 이러한 결함은 수평 확장, 부하 분산 및 고가용성을 위해 여러 노드를 사용하는 배포 환경에 영향을 미칩니다. 이 구성은 Wazuh 서버에 부담을 주지 않으면서 여러 에이전트를 관리할 수 있게 해줍니다.

  • CVE-2026-25769

DAPi 요청을 통해 마스터와 워커 간의 통신을 허용합니다. 워커는 LocalClient 모듈을 사용하여 객체를 전송합니다. 마스터는 메시지를 수락하고 취약한 함수 as_wazuh_object()로 객체를 역직렬화하여 마스터에서 명령을 실행할 수 있게 합니다.

  • CVE-2026-25770

이 취약점은 앞선 취약점을 보완하며, <command> 및 <localfile> 태그를 사용하여 명령 실행을 허용합니다. 공격자는 /var/ossec/etc/ossec.conf 구성 파일이 로드될 때마다 명령을 실행할 수 있습니다.

두 취약점 모두 클러스터 기능을 사용하는 환경에서 [일반적 영향: 권한 상승, 원격 실행 등]을 허용합니다.

영향을 받는 버전

  • Wazuh manager ≥ 4.0.0 (패치된 버전 X.Y.Z까지)

노드 간 통신이 활성화된 master 또는 worker 역할을 가진 모든 노드.

배경: Wazuh의 클러스터

클러스터 구성은 많은 수의 에이전트가 있는 배포 환경에서 사용됩니다. 이를 통해 다음이 가능합니다:

  • 수평 확장: 부하를 분산하기 위해 더 많은 워커 노드를 추가.

  • 고가용성: 워커 노드가 실패하면 노드가 복원되는 동안 다른 노드가 계속 작동.

  • 부하 분산: 에이전트가 워커 간에 분산됩니다.

이 아키텍처는 적절히 보호되지 않으면 여기에 문서화된 것과 같은 공격 벡터에 노출될 수 있습니다.

기술적 세부 사항

CVE-2026-25769

마스터는 이 함수를 호출하며, 이를 통해 임의의 명령을 실행하는 subprocess를 생성할 수 있습니다.

root@kitploit:~

def as_wazuh_object(dct: Dict):

    try:

        if '__callable__' in dct:

            encoded_callable = dct['__callable__']

            funcname = encoded_callable['__name__'] #getoutput

            if '__wazuh__' in encoded_callable:

                # Encoded Wazuh instance method.

                wazuh = Wazuh()

                return getattr(wazuh, funcname)

            else:

                # Encoded function or static method.

                qualname = encoded_callable['__qualname__'].split('.') # getoutput

                classname = qualname[0] if len(qualname) > 1 else None

                module_path = encoded_callable['__module__']  #  subprocess

                module = import_module(module_path)            #  ARBITRARY IMPORT

                if classname is None:

                    return getattr(module, funcname)           #  RETURNS ARBITRARY FUNCTION

                else:

                    return getattr(getattr(module, classname), funcname) 

CVE-2026-25770

Wazuh 클러스터 프로토콜(TCP/1516)은 프로세스를 사용하여 노드 간에 파일을 동기화합니다. 이 프로세스는 권한이 없는 사용자로 실행되며 상대 경로를 허용합니다.

root@kitploit:~

        """Create a file descriptor to store the incoming file.

        Parameters

        ----------

        data : bytes

            Relative path to the file.

        Returns

        -------

        bytes

            Result.

        bytes

            Response message.

        """

        # VULNERABLE LINE: No validation of 'data', no checking for '../', direct file open.

        self.in_file[data] = {'fd': open(common.WAZUH_PATH + data.decode(), 'wb'), 'checksum': hashlib.sha256()}

        return b"ok ", b"Ready to receive new file"

이 구성을 사용하면 공격자가 구성 디렉터리를 덮어쓰고 명령을 실행할 수 있습니다.

영향

공격자는 다음을 수행할 수 있습니다:

  • 기밀성, 무결성, 가용성, 권한 상승에 영향을 미침.

  • 모니터링되는 전체 인프라의 무결성을 손상시킴.

개념 증명(PoC)

원본 PoC는 vikman90이 개발했으며 이 분석의 기초가 되었습니다. 아래는 악용 예시입니다:

root@kitploit:~

# 1. init docker compose

docker compose up -d

# 2. wait init all clusters

# 3. Verify cluster is connected

docker exec poc-master /var/ossec/bin/cluster_control -l

# Expected output should show worker01 connected:

# worker01 172.28.0.11 active

# 4. Execute exploit from worker

docker exec poc-worker /var/ossec/framework/python/bin/python3 /scripts/poc.py

# 5. Verify RCE on master

docker exec poc-master cat /var/ossec/etc/ossec.conf

도구 다운로드