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

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

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

피드문의개인정보© 2026 Kitploit

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
cve-2026-27483-lab — CVE-2026-27483을 연구하고 방어하기 위한 컨테이너화된 엔터프라이즈 스타일의 실험실 | Kitploit
도구/GitHubGitHub/nabhan-mohy/cve-2026-27483-lab
Vulnerability AnalysisExploitationWeb Application ExploitationPenetration TestingThreat IntelligenceLearning & EducationIncident ResponseLabs & Practice
GitHubnabhan-mohy/cve-2026-27483-lab

cve-2026-27483-lab

CVE-2026-27483을 연구하고 방어하기 위한 컨테이너화된 엔터프라이즈 스타일의 실험실

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

인기

모두 보기 →

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

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
공유

CVE-2026-27483 랩 - 엔터프라이즈 취약점 학습 환경

Status Version MindsDB CVE

CVE-2026-27483(MindsDB 경로 탐색 → RCE)을 학습, 테스트, 방어하기 위한 완전하고 현실적인 엔터프라이즈 스타일의 Docker 기반 랩입니다. 이 저장소는 배포 가능한 랩 토폴로지, 구성 파일, 최소 컨테이너 이미지, 탐지 규칙 및 헬퍼 스크립트를 제공하여 탐지, 공격(정화된 형태), 방어를 안전하게 연습할 수 있는 격리된 환경을 구축할 수 있게 해줍니다.

중요: 이 랩은 교육 목적으로 의도적으로 취약한 MindsDB 버전을 포함합니다. 반드시 격리된 에어갭(air-gapped) 환경에서만 실행하고 공용 네트워크에 노출하지 마십시오.


목차

  • 아키텍처 및 구성 요소
  • 빠른 시작(실행 방법)
  • 프로필 및 리소스 옵션(최소 / 모니터링)
  • 랩 작동 방식(상세 데이터 흐름 및 구성 요소)
  • 랩 사용 방법(공격자 컨테이너, 챌린지, 탐지)
  • 스모크 테스트 및 문제 해결
  • 보안 및 안전한 사용
  • 기여

아키텍처(개요)

Internet (Attacker)
    ↓
Reverse Proxy (nginx)
    ↓
┌─────────────────────────────────┐
│  MindsDB (Vulnerable)           │  Port 47334
│  - Vulnerable to CVE-2026-27483 │
└─────────────────────────────────┘
    ↓
┌─────────────────────────────────┐
│  PostgreSQL Database            │  Port 5432 (internal)
│  - Stores MindsDB data          │
└─────────────────────────────────┘
    ↓
┌─────────────────────────────────┐
│  ELK Stack (Logging)            │
│  - Elasticsearch, Logstash      │  Ports 9200, 5000
│  - Kibana Dashboard             │  Port 5601
└─────────────────────────────────┘

서비스는 전용 Docker 브리지 네트워크(기본값 172.20.0.0/16)로 연결됩니다. 격리된 MindsDB 서비스에 대해 통제된 공격 시도를 실행하기 위한 공격자 컨테이너가 포함되어 있습니다.


포트(호스트 → 컨테이너)

  • 80 → nginx 프록시
  • 443 → nginx 프록시(SSL 활성화 시)
  • 8080 → 리버스 프록시 대시보드
  • 47334 → MindsDB(API/웹)
  • 47335 → MindsDB(API/보조)
  • 5432 → Postgres(내부용, 노출 권장하지 않음)
  • 9200 → Elasticsearch
  • 5601 → Kibana
  • 1025/8025 → Mailhog(SMTP/웹)

기본적으로 Postgres는 공용 인터넷에 노출되지 않도록 설계되었습니다. compose 파일은 로컬 랩 사용을 위해 내부 서비스를 매핑합니다.


빠른 시작(로컬)

사전 요구 사항:

  • Docker(v20+) 및 Docker Compose v2+(docker compose)
  • 전체 배포에는 최소 8GB RAM 권장(Elasticsearch + Kibana는 메모리 필요)
  1. 저장소 클론:
git clone https://github.com/nabhan-mohy/cve-2026-27483-lab.git
cd cve-2026-27483-lab
  1. 예제 환경 파일을 복사하고 시크릿을 검토:
cp .env.example .env
# .env를 열고 DB_PASSWORD 및 기타 값을 확인

중요: .env의 DB_PASSWORD가 compose 파일이 기대하는 비밀번호와 일치하는지 확인하십시오. docker-compose.yml에 기본값(${DB_PASSWORD:-P@ssw0rd123!})이 있습니다. .env에 DB_PASSWORD=P@ssw0rd123!를 설정하거나 docker-compose.yml을 편집하여 원하는 비밀번호를 사용하십시오. 불일치하면 MindsDB가 Postgres에 연결하지 못하고 서비스가 올바르게 시작되지 않습니다.

  1. (선택 사항) .env를 편집하여 동작을 조정(기능 활성화/비활성화, 공격자 리스너 IP 설정 등).

  2. 랩 시작(전체 모드):

docker compose up -d --build
  1. 서비스가 정상 상태가 되면 다음 엔드포인트를 확인:
  • MindsDB: curl http://localhost:47334/api/status
  • Kibana: http://localhost:5601
  • 리버스 프록시 대시보드: http://localhost:8080
  1. 컨테이너 중지 및 제거:
docker compose down

볼륨 제거(파괴적 작업):

docker compose down -v

프로필 및 리소스 옵션

README는 최소 및 모니터링 프로필을 참조합니다. 이를 지원하려면 다음 중 하나를 사용할 수 있습니다:

  • docker-compose.yml에서 profiles: 키를 사용하여 서비스를 minimal 및 monitoring 프로필로 분리하거나,
  • 저사양 테스트를 위해 무거운 구성 요소(Elasticsearch/Kibana/Wazuh)를 비활성화하는 docker-compose.minimal.yml과 같은 오버라이드 compose 파일을 생성합니다.

권장되는 최소 테스트 방법은 Elasticsearch/Kibana/Wazuh를 주석 처리하거나 건너뛰고 mindsdb, postgres, nginx-proxy, attacker만 실행하는 것입니다.


랩 작동 방식(상세)

  • 리버스 프록시(nginx-proxy): 외부 노출 엔드포인트 역할을 하며 공격자 트래픽을 취약한 MindsDB 서비스로 라우팅합니다. 프록시는 빠른 확인을 위한 간단한 대시보드 포트(8080)도 제공합니다.

  • MindsDB(취약 이미지): README에 참조된 취약한 릴리스에서 패키징되었습니다. Postgres에 데이터를 저장하고 이전 버전에서 의도적으로 취약한 API 엔드포인트를 제공합니다.

  • Postgres: MindsDB 구성 및 아티팩트를 저장합니다. 초기화 SQL 및 시드 데이터는 configs/postgres/*.sql에 제공됩니다.

  • ELK 스택(Elasticsearch, Logstash, Kibana): 프록시 및 애플리케이션에서 로그를 수집하여 탐지 규칙과 대시보드를 구축할 수 있게 합니다.

  • Wazuh(선택 사항): 보안 모니터링 에이전트 및 매니저. 통합을 시연하기 위한 플레이스홀더로 포함되어 있습니다. 구성의 TLS 인증서와 자격 증명은 플레이스홀더이며 전체 기능을 위해서는 프로비저닝해야 합니다.

  • 공격자 컨테이너: 유틸리티(curl, netcat, python)와 마운트된 exploits/ 폴더가 있는 환경으로, 동일한 Docker 네트워크 내부에서 챌린지 스크립트를 실행할 수 있습니다(원하는 경우 호스트 네트워크와 격리됨).

  • 백업 서비스: 현실적인 엔터프라이즈 워크플로우(Postgres에서 DB 덤프를 가져오는 백업)를 시연하는 샘플 컨테이너.


랩 사용 방법(연습 흐름)

  1. 랩 시작(빠른 시작 참조).
  2. 호스트에서 또는 공격자 컨테이너(docker compose exec -it attacker /bin/bash)에 진입하여 프록시(포트 80/8080) 및 MindsDB API(47334)에 대한 정찰을 실행합니다.
  3. 학습 레벨을 진행합니다(정찰 → 경로 탐색 → RCE → 지속성 → 방어). 이 저장소는 의도적으로 무기화된 익스플로잇 코드를 포함하지 않습니다. 챌린지 스크립트나 정화된 PoC 단계를 원하면 지침과 안전 검사를 포함하여 exploits/ 및 docs/challenges/ 아래에 추가할 수 있습니다.
  4. ELK에서 로그를 관찰하고 포함된 Sigma 규칙(rules/sigma/cve-2026-27483.yml)을 탐지의 시작점으로 사용합니다. 의심스러운 업로드 경로, 비정상 요청 및 예기치 않은 파일 시스템 활동을 강조하는 Kibana 시각화를 생성합니다.

예: 공격자 컨테이너에서 기본 정찰 실행

# 공격자 컨테이너 진입
docker compose exec -it attacker /bin/bash
# 네트워크 스캔 또는 엔드포인트 curl
curl -v http://nginx-proxy:80/
curl -v http://mindsdb:47334/api/status

스모크 테스트

스모크 테스트 스크립트가 scripts/smoke_test.sh(존재하는 경우)에 제공됩니다. 다음 검사를 수행합니다:

  • compose 스택 빌드 및 시작
  • MindsDB /api/status 응답 대기
  • nginx 리버스 프록시가 포트 8080에서 응답하는지 확인
  • Kibana 상태 엔드포인트 확인
  • Elasticsearch 클러스터 상태(yellow|green) 대기
  • pg_isready로 Postgres 준비 상태 확인

로컬에서 실행:

chmod +x scripts/smoke_test.sh
./scripts/smoke_test.sh

스모크 테스트가 실패하면 로그를 smoke_compose_logs.txt로 수집하여 디버깅용으로 공유:

docker compose logs --no-color > smoke_compose_logs.txt

탐지 및 로깅

  • Logstash 파이프라인은 configs/logstash/logstash.conf에 제공되어 로그를 Elasticsearch로 전달합니다. 포함된 Sigma 규칙 rules/sigma/cve-2026-27483.yml은 ..를 포함한 요청과 같은 의심스러운 경로 탐색 패턴을 플래그하는 간단한 예제입니다. 시작점으로 사용하고 오탐을 줄이기 위해 정제하십시오.

  • Kibana 대시보드를 생성하여 시각화:

    • 탐색 패턴을 포함한 업로드/요청 URI
    • 비정상 사용자 에이전트 및 소스 IP
    • 파일 시스템 관련 로그의 변경 사항

문제 해결(일반적인 이슈)

  • Postgres 인증 실패: 일반적으로 .env와 docker-compose.yml 간의 DB 비밀번호 불일치로 인해 발생합니다. 두 파일이 동일한 시크릿을 사용하는지 확인하십시오.
  • MindsDB 오류/500: 스택 트레이스 및 DB 연결 오류를 확인하려면 docker compose logs -f mindsdb를 실행하십시오.
  • Elasticsearch OOM 또는 시작 실패: 호스트 RAM을 늘리거나 소형 호스트의 경우 docker-compose.yml에서 ES_JAVA_OPTS를 줄이십시오(예: -Xms256m -Xmx256m).
  • nginx 헬스체크 실패: 프록시 구성이 올바른 내부 호스트(mindsdb:47334)를 가리키고 mindsdb 컨테이너가 정상 상태인지 확인하십시오.

디버깅 도움이 필요하면 스모크 테스트를 실행하고 smoke_compose_logs.txt를 공유하십시오.


안전 및 법적 고지

  • 이 랩은 의도적으로 취약한 구성 요소를 포함합니다. 격리된 비프로덕션 환경에서만 사용하십시오.
  • 공용 라우팅 가능 인프라에 이 랩을 배포하지 마십시오.
  • 익스플로잇 코드를 공개 커밋에 포함하지 마십시오. PoC 단계를 포함하는 경우 정화하고 책임 있는 공개 관행을 따르십시오.

기여

기여를 환영합니다. 도움이 될 수 있는 방법:

  • docs/ 아래 문서 개선(배포, 챌린지, 탐지, 침해 대응)
  • 단계별 학습 가이드와 함께 exploits/에 정화된 챌린지 스크립트 추가
  • push/PR 시 랩을 검증하는 스모크 테스트 및 CI 워크플로우 추가

main 브랜치에 PR을 열고 교육용 익스플로잇 자료를 추가할 때 CONTRIBUTING 지침을 따르십시오.


크레딧

  • 취약점 발견: XlabAITeam
  • 원본 PoC: Lohitya Pushkar (thewhiteh4t)
  • 랩 개발: Security Research Community

보안 커뮤니티를 위해 ❤️로 제작되었습니다.

도구 다운로드