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

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

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

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

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
ubuntu-cve-2019-14287-patch-manager — 패치 관리자 | Kitploit
도구/GitHubGitHub/hivinmanjusri/ubuntu-cve-2019-14287-patch-manager
Privilege EscalationVulnerability AnalysisScripting & AutomationConfiguration AuditingMisconfigurationLearning & EducationLabs & Practice
GitHubhivinmanjusri/ubuntu-cve-2019-14287-patch-manager

인기

모두 보기 →

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

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
공유

ubuntu-cve-2019-14287-patch-manager

패치 관리자

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

Ubuntu CVE-2019-14287 패치 관리자

Ubuntu CVE-2019-14287 패치 관리자는 sudo 권한 상승 취약점인 CVE-2019-14287에 대한 확인, 완화 및 보호 검증을 위한 GUI 기반 실습 도구입니다.

이 프로젝트는 Ubuntu 19.04 amd64 실습 환경을 위해 개발되었습니다.


프로젝트 목적

CVE-2019-14287은 오래된 sudo 버전에 영향을 미칩니다. 이 취약점으로 인해 루트를 제외하는 sudoers 규칙을 가진 사용자가 -1 또는 4294967295와 같이 조작된 숫자 사용자 ID를 사용하여 제한을 우회할 수 있습니다.

위험한 sudoers 규칙 예시:

root@kitploit:~
someuser ALL=(ALL, !root) /usr/bin/vim

취약한 sudo 버전에서는 다음과 같이 악용될 수 있습니다:

root@kitploit:~
sudo -u#-1 id -u
sudo -u#4294967295 id -u

출력이 0이면 명령이 루트로 실행된 것입니다.


이 애플리케이션이 하는 일

이 애플리케이션은 두 가지 보호 계층을 제공합니다:

  1. 실제 sudo 패키지 패치
    이 도구는 공식 패키지 업그레이드 명령을 실행하여 sudo를 업데이트할 수 있습니다.

  2. Sudoers 구성 완화
    이 도구는 sudoers 파일을 스캔하고 !root 또는 !#0을 포함하는 위험한 규칙을 비활성화합니다.


주요 기능

  • Ubuntu 버전 확인
  • 시스템 아키텍처 확인
  • 설치된 sudo 버전 확인
  • 실제 sudo 패키지 패치 적용
  • /etc/sudoers 스캔
  • /etc/sudoers.d/* 스캔
  • 다음을 포함하는 활성 sudoers 줄 탐지:
    • !root
    • ! root
    • !#0
    • ! #0
  • GUI에 위험한 줄 표시
  • 선택한 위험한 줄 비활성화
  • 수정 전 백업 생성
  • visudo -cf를 사용하여 변경 사항 검증
  • 조작된 Runas UID 값에 대한 보호 확인

프로젝트 구조

root@kitploit:~
ubuntu-cve-2019-14287-patch-manager/
├── app.py
├── scripts/
│   ├── check_system.sh
│   ├── apply_real_sudo_patch.sh
│   └── verify_patch.sh
├── assets/
├── README.md
├── .gitignore
├── logs/       실행 시 생성됨
├── backups/    실행 시 생성됨
├── package/    .deb 빌드 시 생성됨
└── dist/       생성된 .deb 출력

요구 사항

의존성 설치:

root@kitploit:~
sudo apt update
sudo apt install -y python3 python3-tk sudo

소스에서 실행

프로젝트 폴더로 이동:

root@kitploit:~
cd ~/projects/ubuntu-cve-2019-14287-patch-manager

애플리케이션 실행:

root@kitploit:~
sudo python3 app.py

애플리케이션은 다음에 접근해야 하므로 루트로 실행해야 합니다:

root@kitploit:~
/etc/sudoers
/etc/sudoers.d/*

Debian 패키지 빌드

프로젝트 루트에서:

root@kitploit:~
mkdir -p package/DEBIAN
mkdir -p package/usr/share/ubuntu-cve-2019-14287-patch-manager
mkdir -p package/usr/local/bin
mkdir -p dist

애플리케이션 파일 복사:

root@kitploit:~
cp app.py package/usr/share/ubuntu-cve-2019-14287-patch-manager/
cp -r scripts package/usr/share/ubuntu-cve-2019-14287-patch-manager/
cp -r assets package/usr/share/ubuntu-cve-2019-14287-patch-manager/

런타임 폴더 생성:

root@kitploit:~
mkdir -p package/usr/share/ubuntu-cve-2019-14287-patch-manager/logs
mkdir -p package/usr/share/ubuntu-cve-2019-14287-patch-manager/backups

런처 생성:

root@kitploit:~
cat > package/usr/local/bin/ubuntu-cve-2019-14287-patch-manager <<'LAUNCHER'
#!/bin/bash
cd /usr/share/ubuntu-cve-2019-14287-patch-manager
exec python3 app.py
LAUNCHER

chmod +x package/usr/local/bin/ubuntu-cve-2019-14287-patch-manager

Debian 컨트롤 파일 생성:

root@kitploit:~
cat > package/DEBIAN/control <<'CONTROL'
Package: ubuntu-cve-2019-14287-patch-manager
Version: 1.0.0
Section: utils
Priority: optional
Architecture: all
Depends: python3, python3-tk, sudo
Maintainer: Hivin Manju Sri <[email protected]>
Description: GUI patch manager for CVE-2019-14287 sudo vulnerability
 A lab GUI tool for checking sudo version, applying the sudo package patch,
 scanning sudoers files for risky !root or !#0 rules, disabling selected risky
 rules safely, and verifying CVE-2019-14287 protection.
CONTROL

빌드:

root@kitploit:~
chmod 755 package/DEBIAN
chmod 644 package/DEBIAN/control
dpkg-deb --build package dist/ubuntu-cve-2019-14287-patch-manager_1.0.0_all.deb

설치:

root@kitploit:~
sudo dpkg -i dist/ubuntu-cve-2019-14287-patch-manager_1.0.0_all.deb
sudo apt --fix-broken install -y

설치 후 실행:

root@kitploit:~
sudo ubuntu-cve-2019-14287-patch-manager

애플리케이션 워크플로우

  1. Check System 클릭
  2. Apply Real Sudo Patch 클릭
  3. Scan Sudoers Rules 클릭
  4. 위험한 sudoers 줄 검토
  5. Disable Selected Risky Rules 클릭
  6. Verify Protection 클릭

위험한 규칙 탐지

이 애플리케이션은 다음을 포함하는 모든 활성 sudoers 줄을 탐지합니다:

root@kitploit:~
!root
! root
!#0
! #0

고정된 사용자 이름이나 명령 경로에 의존하지 않습니다.

위험한 규칙 예시:

root@kitploit:~
testone ALL=(ALL, !root) /usr/bin/vim
john ALL=(ALL,!root) /bin/bash
admin ALL=(ALL, !#0) /usr/bin/python3
%developers ALL=(ALL,!#0) /any/path

비활성화되면 위험한 규칙은 다음과 같이 됩니다:

root@kitploit:~
# DISABLED by Ubuntu CVE-2019-14287 Patch Manager: john ALL=(ALL,!#0) /bin/bash

검증

애플리케이션은 다음을 사용하여 보호를 확인합니다:

root@kitploit:~
sudo -u#-1 id -u
sudo -u#4294967295 id -u

보호된 결과:

root@kitploit:~
명령이 실패하거나 UID 0을 반환하지 않음

취약한 결과:

root@kitploit:~
0

보안 참고 사항

이 도구는 실습 및 교육 목적으로 사용됩니다.

프로덕션 시스템의 경우:

  • 지원되는 Ubuntu 릴리스를 사용하십시오.
  • 공식 sudo 보안 업데이트를 설치하십시오.
  • (ALL, !root)를 사용한 광범위한 sudoers 규칙을 피하십시오.
  • 대신 명시적인 허용 목록을 사용하십시오.
  • 항상 visudo를 사용하여 sudoers 파일을 검증하십시오.

cd ~/projects/ubuntu-cve-2019-14287-patch-manager

cat >> README.md <<'EOF'


Ubuntu 19.04에서 의존성 문제 해결

Ubuntu 19.04는 수명이 종료되었으므로 기본 패키지 저장소에서 python3-tk와 같은 필수 의존성을 더 이상 제공하지 않을 수 있습니다. 설치 프로그램이 다음과 유사한 오류로 실패하는 경우:

root@kitploit:~
Depends: python3-tk but it is not installable
Unable to correct problems, you have held broken packages

아래 복구 단계를 사용하십시오.

1. 깨진 패키지 상태 정리

root@kitploit:~
sudo dpkg --remove ubuntu-cve-2019-14287-patch-manager 2>/dev/null || true
sudo apt --fix-broken install -y
sudo dpkg --configure -a

2. 현재 APT 소스 목록 백업

root@kitploit:~
sudo cp /etc/apt/sources.list /etc/apt/sources.list.backup.$(date +%F_%H-%M-%S)

3. Ubuntu 19.04 저장소를 old-releases로 변경

root@kitploit:~
sudo sed -i -E 's|http://([a-z]{2}\.)?archive.ubuntu.com/ubuntu|http://old-releases.ubuntu.com/ubuntu|g' /etc/apt/sources.list
sudo sed -i -E 's|http://security.ubuntu.com/ubuntu|http://old-releases.ubuntu.com/ubuntu|g' /etc/apt/sources.list

4. 패키지 인덱스 업데이트

root@kitploit:~
sudo apt update

5. 필요한 GUI 의존성 설치

root@kitploit:~
sudo apt install -y python3-tk

6. 애플리케이션 설치 프로그램 재실행

root@kitploit:~
wget -O ubuntu-cve-2019-14287-patch-manager_1.0.0_all.deb "https://github.com/HivinManjuSri/ubuntu-cve-2019-14287-patch-manager/releases/latest/download/ubuntu-cve-2019-14287-patch-manager_1.0.0_all.deb" && sudo apt install -y ./ubuntu-cve-2019-14287-patch-manager_1.0.0_all.deb

Ubuntu 19.04에서 apt install이 로컬 .deb 파일을 허용하지 않는 경우 다음을 사용하십시오:

root@kitploit:~
wget -O ubuntu-cve-2019-14287-patch-manager_1.0.0_all.deb "https://github.com/HivinManjuSri/ubuntu-cve-2019-14287-patch-manager/releases/latest/download/ubuntu-cve-2019-14287-patch-manager_1.0.0_all.deb" && sudo dpkg -i ./ubuntu-cve-2019-14287-patch-manager_1.0.0_all.deb && sudo apt --fix-broken install -y

7. 애플리케이션 실행

root@kitploit:~
sudo ubuntu-cve-2019-14287-patch-manager

참고

이 저장소 변경은 주로 오래된 Ubuntu 19.04 실습 시스템에 필요합니다. 프로덕션 시스템의 경우 수명이 종료된 저장소에 의존하지 말고 현재 지원되는 Ubuntu 릴리스를 사용하십시오.

단일 명령 GitHub 릴리스 설치 프로그램

.deb 파일을 GitHub latest release에 업로드한 후 사용자는 다음 명령으로 애플리케이션을 설치할 수 있습니다:

root@kitploit:~
wget -O ubuntu-cve-2019-14287-patch-manager_1.0.0_all.deb "https://github.com/HivinManjuSri/ubuntu-cve-2019-14287-patch-manager/releases/latest/download/ubuntu-cve-2019-14287-patch-manager_1.0.0_all.deb" && sudo apt install -y ./ubuntu-cve-2019-14287-patch-manager_1.0.0_all.deb

저자

Hivin Manju Sri

도구 다운로드