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

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

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

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

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
CVE-2026-61500 — CVE-2026-61500에 대한 Python PoC 및 Docker 실습 환경: Rejetto HFS V8 PRNG 상태를 복원하여 관리자 세션 쿠키를 위조하고 server_code를 통해 RCE를 달성합니다. | Kitploit
도구/GitHubGitHub/aramosf/cve-2026-61500
Password AttacksVulnerability AnalysisExploitationWeb Application ExploitationSecurity VirtualizationCryptographyPenetration TestingLearning & EducationRed TeamingLabs & Practice
GitHub
1일 전아직 검토되지 않음

인기

모두 보기 →

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

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
공유
aramosf/cve-2026-61500

CVE-2026-61500

CVE-2026-61500에 대한 Python PoC 및 Docker 실습 환경: Rejetto HFS V8 PRNG 상태를 복원하여 관리자 세션 쿠키를 위조하고 server_code를 통해 RCE를 달성합니다.

저장소 보기

CVE-2026-61500: Rejetto HFS 세션 위조를 통한 RCE

실제 터미널 시연

CVE-2026-61500은 Rejetto HFS 3.0.0부터 3.2.0까지의 인증되지 않은 세션 위조 취약점입니다. HFS는 Koa 세션 쿠키 서명 키를 JavaScript Math.random()으로 생성했고, 인증되지 않은 SRP 로그인 핸드셰이크에서 동일한 V8 PRNG의 출력을 노출했습니다. 공격자는 PRNG 상태를 재구성하고, 서명 키를 복구하고, 관리자 세션을 위조하고, 문서화된 server_code 구성 기능을 사용하여 서버 측 JavaScript를 실행할 수 있습니다.

이 저장소에는 Python 개념 증명과 공식 HFS 3.2.0 및 3.2.1 이미지를 사용한 일회용 Docker 비교가 포함되어 있습니다. 공개 빌드는 의도적으로 로컬 루프백 인터페이스의 HTTP 대상으로 제한됩니다.

범위

설명상태
인증되지 않은 로그인 응답에서 V8 xorshift128+ 상태 복구확인됨
활성 HFS 쿠키 서명 키 복구확인됨
HFS 관리자로 수락되는 세션 위조확인됨
공식 HFS 3.2.0에서 무해한 server_code 마커 실행확인됨
격리된 Compose 네트워크 내부에서 root 리버스 셸 수신확인됨
공식 HFS 3.2.1에서 세션 위조 전 중단확인됨
인터넷 전역 대상 지정 또는 지속성제공되거나 주장되지 않음

익스플로잇 과정

  1. 알려진 admin 계정에 대해 인증되지 않은 loginSrp1 API 요청을 여섯 번 보냅니다. 각 취약한 응답은 숫자 loggingIn.sid와 서명된 세션 쿠키를 Set-Cookie 헤더에 넣습니다.
  2. 연속된 다섯 개의 double을 53개의 가시적 PRNG 비트로 변환하고 생략된 11개의 하위 비트를 무차별 대입합니다. V8의 xorshift128+ 재귀를 역산하고 진행시켜 하나의 내부 상태가 모든 관측 값을 만족할 때까지 반복합니다.
  3. HFS randomId(30)에서 사용하는 세 개의 base-36 청크를 재현합니다. PoC는 V8 최단 문자열 반올림을 고려하고 후보를 관측된 hfs_http.sig HMAC과 대조하여 시작 오프셋도 식별합니다.
  4. username: admin을 포함하는 합성 세션에 서명한 다음, get_config를 호출하여 위조된 쿠키가 관리자 접근 권한을 가짐을 증명합니다.
  5. 작은 server_code 모듈로 set_config를 호출합니다. 기본 페이로드는 /data에 무해한 마커를 기록하며, --command는 루프백 Docker 랩에서만 사용할 수 있습니다.

이것은 블랙박스 HTTP 체인입니다. PoC는 대상에서 파일, 메모리, 환경 변수 또는 프로세스 상태를 읽지 않습니다. 소스 지식은 취약한 알고리즘을 모델링하는 데 사용됩니다.

영향받는 버전 및 수정된 버전

  • 영향받음: HFS 3.0.0부터 3.2.0까지.
  • 최초 수정 릴리스: HFS 3.2.1.
  • 수정: 59472e534bf7e056d708382d02935c2eaf956927.

수정은 서명 키를 Node.js randomBytes()의 32바이트로 교체하고 노출된 숫자 로그인 식별자를 randomUUID()로 교체합니다. 명시적으로 강력한 COOKIE_SIGN_KEYS 값을 제공하면 서명 키 예측을 완화할 수 있지만, 업그레이드가 권장되는 해결책으로 남아 있습니다.

검증된 환경

  • 호스트: Linux 6.18.33.2-microsoft-standard-WSL2, x86_64.
  • Docker 29.7.2; Docker Compose v5.5.0; Python 3.14.4.
  • 취약한 이미지: rejetto/hfs:v3.2.0, 다이제스트 sha256:d6765e93b68de222583be7788afad699695fd08aa2f56377337f5139779e0746.
  • 수정된 이미지: rejetto/hfs:v3.2.1, 다이제스트 sha256:61db4da1f494df254aa7f48889c676b424b413e45b7b92cf4276f4b8e632aaec.
  • 데모 콜백 이미지: python:3.13-alpine, 다이제스트 sha256:1a63a53928ce53d2b0baf08092a703f4840ac5dfbd61fd48802dbf48e08c801e.
  • 테스트 날짜: 2026-09-26.

두 HFS 서비스는 호스트 루프백에만 바인딩되며, 콜백은 포트를 게시하지 않습니다. 랩은 loginSrp1이 기존 사용자 이름에 대해 호출되어야 하므로 합성 관리자를 생성합니다. 비밀번호는 알려져 있지 않으며 익스플로잇에서 사용되지도 않습니다.

일회용 비교 실행

요구 사항은 Compose가 포함된 Docker, Python 3.10 이상, 그리고 curl입니다.

root@kitploit:~
./verify.sh

검증기는 lab/runtime/vulnerable과 lab/runtime/fixed만 제거하고, 다이제스트로 고정된 두 이미지를 시작하고, 양성 및 음성 대조를 실행하고, 기본적으로 컨테이너를 중지합니다. 검사를 위해 랩을 실행 상태로 두려면 KEEP_LAB=1 ./verify.sh를 사용하십시오.

랩을 유지한 상태에서 직접 무해한 마커를 호출하는 방법은 다음과 같습니다.

root@kitploit:~
python3 cve-2026-61500-poc.py \
  --target http://127.0.0.1:28182 \
  --marker cve-2026-61500-rce-marker.txt

소유한 랩 컨테이너 내부에서 명령 실행을 시연하려면:

root@kitploit:~
python3 cve-2026-61500-poc.py \
  --target http://127.0.0.1:28182 \
  --command 'id > /data/cve-command-output.txt'

루프백이 아닌 호스트 이름, HTTPS 대상 또는 원격 IP는 인수 검증에 의해 거부됩니다. 익스플로잇은 HFS server_code를 수정하므로, 일회용 랩이나 명시적 권한을 가진 시스템에서만 사용하십시오.

기록된 데모는 한 단계 더 나아갑니다. demo.sh는 노출되지 않은 callback 서비스를 Compose 네트워크에서 시작하고 --command를 사용하여 Bash 리버스 셸을 연결합니다. 콜백은 id, uname -a, pwd, exit만 보내고, 무시된 lab/runtime/ 아래에 트랜스크립트를 기록한 후 닫습니다. 호스트에 바인딩되는 콜백 포트는 없습니다.

재현된 결과

2026-09-26의 실제 실행은 하나의 PRNG 상태와 그 서명 키를 복구하고, 위조된 관리자 get_config에 대해 HTTP 200을 받고, 마커 페이로드를 설치하고, 취약한 컨테이너에서 CVE_2026_61500_RCE_CONFIRMED를 관찰했습니다. 별도의 --command 'id > /data/cve-command-output.txt' 대조는 해당 공식 컨테이너 내부에서 uid=0(root) gid=0(root) groups=0(root)를 생성했습니다. 기록된 Docker 전용 리버스 셸은 독립적으로 동일한 root 신원과 /data 작업 디렉터리를 반환했습니다. 3.2.1에 대해서는 첫 로그인 응답에 불투명한 UUID가 포함되었고 PoC는 세션 위조를 시도하기 전에 상태 3으로 종료되었습니다. docs/example-output.txt와 docs/e2e-results.json을 참조하십시오.

공개 익스플로잇 검색

2026-09-26에 정확한 CVE 및 익스플로잇/PoC 검색이 SearchSploit(로컬 Exploit-DB 인덱스), GitHub 색인 웹 결과, Packet Storm, Exploit-DB 및 일반 웹에 대해 실행되었습니다. 그 시점에 작동하는 공개 익스플로잇은 확인되지 않았으며, 결과는 CVE/권고 메타데이터와 익스플로잇 추적 페이지만 찾았습니다. 이는 날짜가 지정된 최선의 노력 결과이며, 다른 곳에 익스플로잇이 존재할 수 없거나 나중에 나타나지 않을 것이라는 주장이 아닙니다.

크레딧

  • 익스플로잇: A. Ramos <[email protected]> (Twitter: @aramosf).
  • 취약점 발견: Horizon3.ai의 Zach Hanley (@hacks_zach), Claude 및 Anthropic Research와 협력.
  • 수정: Massimo Melina / Rejetto.

참고 자료

  • VulnCheck 권고
  • HFS 3.2.1 릴리스
  • 업스트림 수정 커밋
  • CVE-2026-61500 레코드

법적 고지

승인된 보안 연구, 방어적 검증 및 교육 목적으로만 사용하십시오. 권한을 얻고 관련 법률을 준수할 책임은 귀하에게 있습니다.

도구 다운로드