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

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

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

피드문의개인정보© 2026 Kitploit

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
CVE-2026-105030-poc — CVE-2026-105030 Kener 4.0.0 ~ 4.1.6 버전의 Dashboard API를 통한 숨겨진 모니터 데이터 노출 취약점에 대한 python3 PoC | Kitploit
도구/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

저장소 보기
19시간 32분 전아직 검토되지 않음

인기

모두 보기 →

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

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
공유

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

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

영향을 받는 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를 실행하지 마십시오.

요약

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

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