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

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

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

피드문의개인정보© 2026 Kitploit

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
도구/GitHubGitHub/asvorg/cve-2026-105030-poc
Web Vulnerability ScannersVulnerability AnalysisExploitationInformation GatheringWeb SecurityPenetration TestingAPI Security
GitHubasvorg/cve-2026-105030-poc

CVE-2026-105030-poc

CVE-2026-105030 Kener 4.0.0 ~ 4.1.6 버전의 Dashboard API를 통한 숨겨진 모니터 데이터 노출 취약점에 대한 python3 PoC

저장소 보기
1922일 전아직 검토되지 않음

인기

모두 보기 →

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

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
공유

Kener 숨겨진 모니터 정보 노출 PoC

이 저장소에는 Kener의 공개 모니터 엔드포인트에서 발생하는 정보 노출(CWE-200) 문제를 테스트하기 위한 소규모 Python 개념 증명(proof-of-concept)이 포함되어 있습니다. 공개 시점에 다른 공개 PoC는 확인되지 않았습니다.

영향을 받는 Kener 버전은 4.0.0부터 4.1.5까지이며, 4.1.6에서 수정되었습니다.

https://www.rapid7.com/db/vulnerabilities/cve-2026-105030/

이 문제는 쿼리가 적절히 필터링되지 않을 때 숨겨진 모니터나 비활성 모니터를 노출할 수 있는 태그 기반 모니터 조회와 관련이 있습니다.

이 PoC는 다음을 목적으로 합니다:

  • 로컬 개발 환경
  • 승인된 보안 테스트
  • 통제된 환경에서 패치/수정 사항 검증

승인되지 않은 대상에 대해 이 PoC를 사용하지 마십시오.

범위

이 PoC는 조회 시 다음과 같은 필터링이 적용되지 않을 때 숨겨진 모니터나 비활성 모니터가 여전히 공개 엔드포인트에서 반환될 수 있음을 보여줍니다:

  • status = ACTIVE
  • is_hidden = NO

수정된 동작은 이러한 엔드포인트가 숨겨진 모니터나 비활성 모니터에 대해 404 / 일치 없음을 반환해야 한다는 것입니다.

사전 요구 사항

  • Python 3.9+
  • requests 패키지
  • 로컬 또는 테스트용 Kener 인스턴스
  • 테스트 모니터 생성을 위한 데이터베이스 접근 권한

의존성 설치:

python3 -m pip install requests

빠른 시작

  1. Kener 앱을 로컬에서 시작합니다
  2. 숨겨져 있고 비활성화된 테스트 모니터를 생성합니다
  3. PoC 스크립트를 실행합니다
  4. 수정된 릴리스와 동작을 비교합니다

테스트 모니터 생성

데이터베이스에 접근할 수 있다면, 공개적으로 표시되지 않아야 하는 모니터를 생성합니다.

Postgres의 경우:

INSERT INTO monitors (
  tag, name, description, status, is_hidden,
  category_name, monitor_type, cron, default_status,
  created_at, updated_at
) VALUES (
  'internal-secret-monitor',
  'Internal Secret Monitor',
  'Hidden/inactive monitor used for PoC',
  'INACTIVE',
  'YES',
  'Home',
  'HTTP',
  '* * * * *',
  'UP',
  NOW(),
  NOW()
);

필요한 경우 다른 태그 이름을 사용할 수도 있습니다.

레코드가 다음 조건을 충족하는지 확인하세요:

  • status = 'INACTIVE' 또는 그 외 비활성 상태
  • is_hidden = 'YES'

이제 PoC 스크립트를 실행하세요.

취약한 빌드

애플리케이션이 취약한 경우, 하나 이상의 엔드포인트가 다음을 반환할 수 있습니다:

  • HTTP 200
  • 모니터가 존재함을 나타내는 JSON 또는 HTML
  • 이름, 가동 시간, 지연 시간, 상태, 타임스탬프와 같은 모니터 메타데이터

이는 숨겨진/비활성 모니터가 공개 API를 통해 노출되고 있음을 나타냅니다.

수정된 빌드

적절한 필터링이 적용되면, 응답은 대신 다음과 같아야 합니다:

  • HTTP 404
  • 또는 빈 결과
  • 또는 일반적인 "Monitor not found"

이것이 수정 후 기대되는 동작입니다:

const monitors = await db.getMonitors({
  tag,
  status: GC.ACTIVE,
  is_hidden: GC.NO,
});

왜 이것이 중요한가

문제는 단순히 태그의 비밀성에 있는 것이 아닙니다. 문제는 공개 엔드포인트가 숨겨졌거나 비활성화된 모니터 데이터를 절대 노출해서는 안 된다는 점입니다. 공격자가 어떤 수단으로든 모니터 태그를 알게 되면, 다음 항목에 접근할 수 있게 될 수 있습니다:

  • 가동 시간 세부 정보
  • 지연 시간 차트
  • 유지보수 기간
  • 장애 이력
  • 운영 메타데이터

공격자는 여전히 추측, 무차별 대입 또는 다른 수단을 통해 어떻게든 태그를 찾아내야 합니다.

문제 해결

엔드포인트가 200을 반환해야 하는데 404를 반환하는 경우

다음을 확인하세요:

  • 모니터가 존재하는지
  • 태그가 정확히 일치하는지
  • 모니터가 예상대로 숨겨져 있거나 비활성화되어 있는지

응답 없음 / 연결 거부

앱이 로컬에서 실행 중인지, 그리고 포트가 일치하는지 확인하세요:

BASE_URL=http://localhost:3000

앱에서 HTTPS가 활성화된 경우

올바른 URL을 사용하세요. 예를 들어:

BASE_URL=https://localhost:3000

법적 및 윤리적 사용

이 PoC는 다음의 경우에만 사용하십시오:

  • 본인의 테스트 인스턴스에서
  • 로컬 개발 환경에서
  • 명시적으로 테스트 권한을 부여받은 시스템에서

권한 없이 외부 또는 제3자 시스템에 대해 실행하지 마십시오.

요약

이 PoC는 숨겨졌거나 비활성화된 모니터 태그가 공개 Kener API 엔드포인트를 통해 여전히 접근 가능한지 확인합니다.

  • 취약한 동작: 공개 API가 숨겨지거나 비활성화된 모니터 데이터를 노출함
  • 수정된 동작: 활성 상태이며 숨겨지지 않은 모니터만 반환됨
  • 목표: 통제된 환경에서 보안 패치 검증
도구 다운로드