Skip to content
KitploitKITPLOIT
도구블로그
제출
도구블로그
제출

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

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

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

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
nginx-ui-CVE-2026-42221-CVE-2026-42238- — Docker 기반 랩 환경으로, nginx-ui의 인증되지 않은 두 API 취약점(CVE-2026-42221, CVE-2026-42238)을 확인하고 악용하며, 패치 버전 비교와 교육용 해설을 제공합니다. | Kitploit
도구/GitHubGitHub/fuchiuebusi-lab/nginx-ui-cve-2026-42221-cve-2026-42238-
Vulnerability AnalysisExploitationWeb Application ExploitationPenetration TestingLearning & EducationLabs & Practice
GitHubfuchiuebusi-lab/nginx-ui-cve-2026-42221-cve-2026-42238-

nginx-ui-CVE-2026-42221-CVE-2026-42238-

Docker 기반 랩 환경으로, nginx-ui의 인증되지 않은 두 API 취약점(CVE-2026-42221, CVE-2026-42238)을 확인하고 악용하며, 패치 버전 비교와 교육용 해설을 제공합니다.

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

인기

모두 보기 →

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

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
공유

nginx-ui CVE 검증 환경

nginx-ui(Nginx 웹 GUI 관리 도구)에 보고된 2개의 CVE를 Docker 환경에서 실제로 검증하기 위한 리포지토리입니다.

  • CVE-2026-42221: 인증되지 않은 관리자 계정 탈취
  • CVE-2026-42238: 인증되지 않은 백업 복원을 통한 명령 실행

면책 사항
본 리포지토리의 검증 내용은 자신이 관리하는 격리된 로컬 환경만을 대상으로 합니다.
허가 없는 타인의 시스템에 유사한 방법을 사용하는 것은 부정 액세스 금지법에 위반됩니다.


상세 기사

검증 과정, 고찰, 배운 점은 Qiita 게시글에 정리되어 있습니다.

nginx-ui의 CVE를 실제로 시도해 보았다: '취약점'이라고 생각했더니 설계 이야기였다


취약점 개요

CVE개요영향 버전수정 버전
CVE-2026-42221설정 전의 /api/install이 인증 없이 접근 가능합니다. 공격자가 관리자 계정을 먼저 등록할 수 있습니다v2.3.7 이전v2.3.8
CVE-2026-42238설정 전의 /api/restore이 인증 없이 접근 가능합니다. 악의적인 app.ini를 주입하여 임의 명령을 root로 실행할 수 있습니다v2.3.7 이전v2.3.8

2개의 CVE는 근본 원인이 동일(설정 전의 API 창이 무방비)하며, v2.3.8에서는 설치 시크릿 방식 도입으로 하나의 미들웨어 추가로 두 가지 모두 수정되었습니다.


디렉토리 구성

root@kitploit:~
.
├── nginx_lab/              # 脆弱バージョン (v2.3.7) の検証環境 → port 8080
│   ├── Dockerfile          # 起動ループ回避のための初期設定を含むイメージ定義
│   ├── docker-compose.yml
│   ├── nginx.conf          # sites-enabled / stream ブロック修正済みの設定
│   ├── init-app.ini        # app.ini の初期テンプレート
│   └── entrypoint.sh       # コンテナ起動時の初期化スクリプト
├── nginx_lab_patched/      # 修正済みバージョン (v2.3.8) の検証環境 → port 8081
│   ├── Dockerfile
│   ├── docker-compose.yml
│   ├── nginx.conf
│   ├── init-app.ini
│   └── entrypoint.sh
├── scripts/
│   ├── exploit_42221.py    # CVE-2026-42221 の攻撃スクリプト
│   ├── encrypt_password.py # RSA 暗号化のユーティリティ
│   └── test_patched.py     # v2.3.8 (port 8081) でパッチ適用を確認するスクリプト
├── Qiita.md                # Qiita 投稿原稿
└── 学習プラン.md

전제 조건

  • Docker / Docker Compose
  • Python 3.x
  • pycryptodome 라이브러리
root@kitploit:~
pip install pycryptodome

사용 방법

1. 취약 버전(v2.3.7) 실행하기

root@kitploit:~
cd nginx_lab
docker compose build
docker compose up -d

실행 확인:

root@kitploit:~
curl http://localhost:8080/api/install
# → {"lock":false,"timeout":false} が返れば OK

주의사항: 기본 uozi/nginx-ui:v2.3.7 이미지는 그대로 실행하면 부팅 루프에 빠집니다. sites-enabled 등의 디렉토리가 존재하지 않기 때문입니다. 본 리포지토리의 Dockerfile에서 이를 사전에 준비했습니다.

2. CVE-2026-42221 재현하기

root@kitploit:~
cd scripts
python exploit_42221.py

성공하면 attacker 계정으로 http://localhost:8080에 로그인할 수 있게 됩니다.

3. 수정된 버전(v2.3.8) 실행하기

root@kitploit:~
cd nginx_lab_patched
docker compose build
docker compose up -d

v2.3.8에서는 초기 설정에 설치 시크릿이 필요합니다. 컨테이너 실행 후 시크릿을 확인합니다.

root@kitploit:~
docker exec nginx-ui-patched cat /etc/nginx-ui/.install_secret

설정 화면 http://localhost:8081에서 이 값을 사용하여 관리자를 등록합니다.

4. 패치 적용 버전에서 공격이 통하지 않는지 확인하기

root@kitploit:~
cd scripts
python test_patched.py

[OK] 공격 실패(수정됨)가 출력되면 패치가 올바르게 작동하고 있는 것입니다.

5. 환경 삭제

root@kitploit:~
# 脆弱バージョン
cd nginx_lab
docker compose down -v

# 修正済みバージョン
cd nginx_lab_patched
docker compose down -v
도구 다운로드