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

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

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

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

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
cve-2026-31431-copy-fail — 자동화된 스캐너 및 패치 도우미로, CVE-2026-31431을 대상으로 SSH를 통해 취약한 Linux 호스트를 탐지하고, 커널 버전을 검증하며, 여러 배포판에 걸쳐 커널 업그레이드 또는 임시 완화 조치를 적용합니다. | Kitploit
도구/GitHubGitHub/gagaltotal/cve-2026-31431-copy-fail
Vulnerability ScannersConfiguration AuditingNetwork Security
GitHubgagaltotal/cve-2026-31431-copy-fail

cve-2026-31431-copy-fail

자동화된 스캐너 및 패치 도우미로, CVE-2026-31431을 대상으로 SSH를 통해 취약한 Linux 호스트를 탐지하고, 커널 버전을 검증하며, 여러 배포판에 걸쳐 커널 업그레이드 또는 임시 완화 조치를 적용합니다.

저장소 보기

인기

모두 보기 →

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

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
264개월 전아직 검토되지 않음
공유

CVE-2026-31431 "Copy Fail" 스캐너 및 패치 헬퍼

CVE-2026-31431 CVSS Python License

Copy Fail은 Linux 인프라에서 CVE-2026-31431(Linux Kernel algif_aead 로컬 권한 상승) 취약점을 탐지하고 수정하기 위한 자동화된 보안 스캐너 및 패치 헬퍼입니다.


목차

  • 설명
  • 주요 기능
  • 요구 사항
  • 설치
  • 사용 방법
  • 명령 옵션
  • 사용 예시
  • 출력 및 결과
  • 지원 배포판
  • 수동 패치 가이드
  • 임시 완화 조치
  • 문제 해결
  • 보안 참조

설명

CVE-2026-31431은 Linux 커널 모듈 algif_aead(AEAD용 비동기 암호화 인터페이스)의 로컬 권한 상승(LPE) 취약점입니다. 이 취약점은 로컬 사용자가 root 수준으로 권한을 상승시킬 수 있게 합니다.

이 도구는 다음을 지원합니다:

  • 자동 스캔 Linux 서브넷에서 취약한 호스트 탐지
  • 패치 상태 확인 커널 버전 기반으로 각 호스트 검증
  • 자동 패치 패키지 관리자를 통한 커널 업그레이드
  • 임시 완화 조치 algif_aead 모듈 비활성화
  • 구조화된 보고서 테이블 및 JSON 형식

참고: 이 도구는 sysadmin의 내부 감사 및 패치 목적으로만 사용됩니다. 소유하거나 승인된 시스템에서만 사용하세요.


화면 예시

Screen Capture

주요 기능

1. 확장 가능한 스캐닝

  • 단일 호스트, 다중 호스트 또는 전체 서브넷 스캔
  • 스레드 풀을 통한 병렬 SSH 연결(기본값: 30개 스레드)
  • Rich UI를 통한 실시간 진행률 표시줄
  • 불안정한 연결을 위한 지수 백오프 방식의 자동 재시도

2. 취약점 탐지

  • SSH 연결 가능성 및 인증 확인
  • 각 호스트의 커널 버전 읽기
  • 커널 패치 여부 확인(배포판별 데이터베이스 기반)
  • algif_aead 모듈 상태 탐지(로드됨/로드 안 됨)
  • modprobe.d 완화 조치 적용 여부 확인

3. 자동 패치

취약한 호스트에서 패키지 관리자를 통한 자동 커널 업그레이드:

  • apt (Debian/Ubuntu)
  • dnf (Fedora/RHEL 8+)
  • yum (RHEL 7, CentOS 7)
  • zypper (SUSE/openSUSE)
  • pacman (Arch Linux)

옵션: 패치 완료 후 자동 재부팅

4. 임시 완화 조치

  • modprobe.d 구성을 통해 algif_aead 모듈 비활성화
  • 재부팅을 위한 유지보수 창을 기다리는 동안 임시 수정으로 적합
  • 참고: 커널에 모듈이 내장된 RHEL 계열에서는 효과가 없음

5. 유연한 SSH 인증

  • SSH 키 기반 인증(권장)
  • 비밀번호 기반 인증
  • 사용자 지정 SSH 포트 지원
  • 리소스 최적화를 위한 연결 풀링

6. 포괄적인 보안 데이터베이스

패치된 커널 버전 데이터베이스:

  • Ubuntu (6.8.0-60, 5.15.0-130, 5.4.0-216)
  • RHEL / CentOS / AlmaLinux / Rocky (5.14.0-570)
  • Fedora (6.14.4, 6.13.12, 6.12.25)
  • Debian (6.1.137, 5.10.235)
  • Arch Linux (6.14.4)
  • Amazon Linux (6.1.134, 5.10.235, 4.14.353)
  • SUSE / openSUSE (6.4.0-18, 5.14.21-150600.24)

7. 포괄적인 보고서

  • 색상 구분된 스캔 결과 테이블(Rich 형식)
  • 요약 통계(총 호스트, 취약, 패치됨 등)
  • 다른 시스템과의 통합을 위한 JSON 결과 내보내기
  • 호스트별 오류 추적 및 재시도 횟수

요구 사항

시스템 요구 사항

  • Python: 3.7 이상
  • OS: Linux/Mac/Windows(WSL 포함)
  • 네트워크: 대상 호스트에 대한 SSH 접근
  • SSH 키 또는 비밀번호: 인증용

Python 종속성

root@kitploit:~
paramiko>=3.0.0    # SSH library
rich>=13.0.0       # Beautiful terminal UI

설치

1. 저장소 복제

root@kitploit:~
git clone https://github.com/gagaltotal/cve-2026-31431-copy-fail.git
cd cve-2026-31431-copy-fail

2. 가상 환경 설치

root@kitploit:~
python3 -m venv .venv
source .venv/bin/activate

3. 종속성 설치

root@kitploit:~
pip install -r requirements.txt

또는 수동 설치:

root@kitploit:~
pip install paramiko>=3.0.0 rich>=13.0.0

4. 설치 확인

root@kitploit:~
python3 copyfail_scanner.py --help

사용 방법

기본 구문

root@kitploit:~
# SSH 키로 서브넷 스캔
python3 copyfail_scanner.py --subnet <CIDR> --user <USERNAME> --key <PATH_TO_KEY>

# 특정 호스트 여러 개 스캔
python3 copyfail_scanner.py --hosts <IP1>,<IP2>,<IP3> --user <USERNAME> [--password <PASSWORD>]

# 스캔 + 자동 패치
python3 copyfail_scanner.py --subnet <CIDR> --user <USERNAME> --key <PATH> --patch

# 스캔 + 임시 완화 조치
python3 copyfail_scanner.py --subnet <CIDR> --user <USERNAME> --key <PATH> --mitigate

명령 옵션

옵션설명예시
--subnet대상 서브넷 CIDR(--hosts와 상호 배타적)--subnet 192.168.1.0/24
--hosts쉼표로 구분된 IP 목록(--subnet과 상호 배타적)--hosts 192.168.1.10,192.168.1.20
--userSSH 사용자 이름 (필수)--user root
--passwordSSH 비밀번호(선택 사항, 키가 없을 때 사용)--password secret123
--keySSH 개인 키 경로--key ~/.ssh/id_rsa
--portSSH 포트(기본값: 22)--port 2222
--threads병렬 스레드 수(기본값: 30)--threads 50
--patch취약한 호스트에서 자동 커널 업그레이드--patch
--reboot패치 후 자동 재부팅(--patch와 함께 사용)--patch --reboot
--mitigate임시 완화 조치 적용(algif_aead 비활성화)--mitigate
--output스캔 결과를 JSON 파일로 내보내기--output hasil.json
--yes패치/완화 전 확인 프롬프트 건너뛰기--yes

사용 예시

예시 1: 기본 서브넷 스캔(읽기 전용)

root@kitploit:~
python3 copyfail_scanner.py \
  --subnet 192.168.1.0/24 \
  --user ubuntu \
  --key ~/.ssh/id_rsa

출력: 스캔 결과 테이블 및 요약 표시


예시 2: 비밀번호로 특정 호스트 스캔

root@kitploit:~
python3 copyfail_scanner.py \
  --hosts 10.0.1.5,10.0.1.6,10.0.1.7 \
  --user admin \
  --password my_password123

예시 3: 스캔 + 임시 완화 조치

root@kitploit:~
python3 copyfail_scanner.py \
  --subnet 172.16.0.0/16 \
  --user root \
  --key ~/.ssh/id_rsa \
  --mitigate

작업: 모든 호스트 스캔 후 취약한 호스트에서 algif_aead 모듈 비활성화(확인 요청)


예시 4: 스캔 + 자동 패치(재부팅 없음)

root@kitploit:~
python3 copyfail_scanner.py \
  --subnet 192.168.0.0/24 \
  --user ubuntu \
  --key ~/.ssh/id_rsa \
  --patch

작업: 커널 업그레이드, 하지만 자동 재부팅은 하지 않음(수동 재부팅 필요)


예시 5: 스캔 + 패치 + 자동 재부팅

root@kitploit:~
python3 copyfail_scanner.py \
  --subnet 10.10.0.0/24 \
  --user root \
  --key ~/.ssh/id_rsa \
  --patch \
  --reboot \
  --yes

작업: 스캔, 커널 패치, 자동 재부팅, 확인 건너뛰기


예시 6: 스캔 + JSON 결과 내보내기

root@kitploit:~
python3 copyfail_scanner.py \
  --subnet 192.168.1.0/24 \
  --user sysadmin \
  --key ~/.ssh/id_rsa \
  --output scan_results_$(date +%Y%m%d_%H%M%S).json

출력: 터미널 테이블 + 파일에 JSON 결과 저장


예시 7: 다중 스레드 및 사용자 지정 포트로 스캔

root@kitploit:~
python3 copyfail_scanner.py \
  --subnet 10.0.0.0/25 \
  --user ubuntu \
  --key ~/.ssh/id_rsa \
  --port 2222 \
  --threads 50

출력 및 결과

터미널 출력(테이블)

스캔 출력 예시:

root@kitploit:~
┏━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━┳━━━━━━━━━┳━━━━━━━━━┳━━━━━━━━━━━┓
┃ IP            ┃ Hostname       ┃ Distro        ┃ Kernel        ┃ algif   ┃ Status  ┃ Action  ┃ Notes   ┃
┣━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━╋━━━━━━━━━╋━━━━━━━━━╋━━━━━━━━━╋━━━━━━━━━┫
┃ 192.168.1.10  ┃ web-01         ┃ Ubuntu 22.04  ┃ 6.8.0-60      ┃ LOADED  ┃ ✓ AMAN  ┃ -       ┃ Patched ┃
┃ 192.168.1.11  ┃ web-02         ┃ Ubuntu 20.04  ┃ 5.4.0-200     ┃ NOT_LDD ┃ ✗ RENTA ┃ Patched ┃ -       ┃
┃ 192.168.1.12  ┃ db-01          ┃ RHEL 8.9      ┃ 5.14.0-560    ┃ LOADED  ┃ ? TIDAK ┃ -       ┃ Distro  ┃
┗━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━┻━━━━━━━━━┻━━━━━━━━━┻━━━━━━━━━┻━━━━━━━━━┛

요약:
  스캔된 총 호스트: 12
  접근 가능(SSH): 11
  오프라인: 1
  취약: 2
  이미 패치됨: 8
  상태 알 수 없음: 1

출력 열

  • IP: 대상 IP 주소
  • Hostname: hostname -f 결과의 호스트 이름
  • Distro: Linux 배포판(/etc/os-release에서)
  • Kernel: 커널 버전(uname -r에서)
  • algif_aead: 모듈 상태(LOADED/not loaded/blocked)
  • Status: ✓ 안전 / ✗ 취약 / ? 알 수 없음
  • Patch/Mitigasi: 적용된 작업(커널 업그레이드/완화 조치)
  • Keterangan: 오류 또는 추가 정보

JSON 내보내기 형식

root@kitploit:~
{
  "cve": "CVE-2026-31431",
  "scan_time": "2026-05-08T15:30:45.123456",
  "results": [
    {
      "ip": "192.168.1.10",
      "ssh_reachable": true,
      "auth_ok": true,
      "hostname": "web-01",
      "distro": "Ubuntu 22.04 LTS",
      "os_id": "ubuntu",
      "kernel_version": "6.8.0-60-generic",
      "algif_loaded": true,
      "modprobe_blocked": false,
      "patched": true,
      "patch_applied": false,
      "mitigation_applied": false,
      "retry_count": 0,
      "error": ""
    }
  ]
}

지원 배포판

스캐너는 다음 배포판을 자동으로 감지합니다:

배포판패키지 관리자패치된 커널 버전참고
Ubuntuapt6.8.0-60, 5.15.0-130, 5.4.0-216LTS 및 현재 버전
Debianapt6.1.137, 5.10.235안정 릴리스
RHELdnf/yum5.14.0-570CentOS Stream 포함
AlmaLinuxdnf5.14.0-570RHEL 대체
Rockydnf5.14.0-570엔터프라이즈 중심
Fedoradnf6.14.4, 6.13.12, 6.12.25최신 버전
Amazon Linuxdnf6.1.134, 5.10.235, 4.14.353AWS 호환
SUSE / openSUSEzypper6.4.0-18, 5.14.21-150600.24엔터프라이즈 및 커뮤니티
Arch Linuxpacman6.14.4최신 버전

감지되지 않은 배포판의 경우: 커널 버전을 수동으로 확인하세요. 커널 >= 6.14.4는 일반적으로 안전합니다.


수동 패치 가이드

수동 패치를 선호하거나 자동 패치가 실패한 경우, 배포판별 가이드를 따르세요:

Ubuntu / Debian

root@kitploit:~
sudo apt update
sudo apt upgrade linux-image-generic kmod
sudo reboot

RHEL 8+ / CentOS Stream / AlmaLinux / Rocky

root@kitploit:~
sudo dnf clean metadata
sudo dnf upgrade kernel
sudo reboot

Fedora

root@kitploit:~
sudo dnf upgrade kernel
sudo reboot

Amazon Linux 2023 / 2

root@kitploit:~
sudo dnf upgrade kernel
sudo reboot

SUSE / openSUSE

root@kitploit:~
sudo zypper update kernel-default
sudo reboot

Arch Linux

root@kitploit:~
sudo pacman -Syu linux linux-headers
sudo reboot

임시 완화 조치

커널 업그레이드를 위해 즉시 재부팅할 수 없는 경우 완화 조치를 적용하세요:

root@kitploit:~
# modprobe.d를 통해 algif_aead 모듈 비활성화
echo 'install algif_aead /bin/false' | sudo tee /etc/modprobe.d/disable-algif_aead.conf

# 이미 로드된 경우 모듈 언로드
sudo rmmod algif_aead 2>/dev/null || echo "Module not loaded"

중요:

  • 완화 조치는 임시 수정일 뿐입니다
  • 장기적인 해결책으로 의존하지 마세요
  • 가능한 한 빨리 커널 업그레이드를 예약하세요
  • CONFIG_CRYPTO_USER_API_AEAD=y가 있는 RHEL 계열에서는 모듈이 커널에 내장되어 있어 modprobe.d가 효과가 없습니다 → 커널 업그레이드가 유일한 해결책입니다

문제 해결

1. 연결 시간 초과

root@kitploit:~
Error: Port SSH tidak terbuka

해결 방법:

  • SSH 포트가 열려 있는지 확인: nc -zv <IP> 22
  • 방화벽 규칙 확인
  • SSH가 사용자 지정 포트에서 실행 중이면 --port 사용

2. 인증 실패

root@kitploit:~
Error: Autentikasi SSH gagal

해결 방법:

  • SSH 키 권한 확인: chmod 600 ~/.ssh/id_rsa
  • 수동 연결 테스트: ssh -i ~/.ssh/id_rsa user@host
  • 비밀번호 인증을 선호하면 --password 사용
  • 원격 호스트에 사용자가 설정되어 있는지 확인

3. 패치 중 권한 거부

root@kitploit:~
Exit code 1: dpkg: error processing...

해결 방법:

  • 사용자에게 sudo 액세스 권한이 있는지 확인(가급적 비밀번호 없는 sudo)
  • sudoers 파일 확인: sudo visudo
  • 완전한 패치 자동화를 위해 사용자가 비밀번호 프롬프트 없이 apt/dnf/yum을 실행할 수 있어야 함

4. 반복 재시도

root@kitploit:~
Retry: 3x | Host temporary unavailable

해결 방법:

  • 네트워크 불안정, 잠시 기다리세요
  • 스레드 수 줄이기: --threads 10
  • 호스트 상태 및 SSH 데몬 상태 확인

5. "알 수 없는 배포판"

root@kitploit:~
Status: ? TIDAK DIKETAHUI

해결 방법:

  • 커널 >= 6.14.4는 안전한 것으로 간주
  • 수동 확인: uname -r 및 권고와 비교
  • 필요한 경우 PATCHED_KERNEL_MAP에 추가

6. 패치 실패

root@kitploit:~
Exit code 1: Failed to lock apt database

해결 방법:

  • 호스트에서 다른 패키지 관리자가 실행 중입니다
  • 기다리거나 적절한 시간에 수동으로 패치 실행
  • 로그 확인: sudo tail -f /var/log/apt/term.log

보안 참조

공식 CVE 정보

  • NVD: https://nvd.nist.gov/vuln/detail/CVE-2026-31431
  • copy.fail: https://copy.fail (공식 권고)

공급업체 보안 권고

  • Ubuntu: https://ubuntu.com/security/CVE-2026-31431
  • Red Hat: https://access.redhat.com/security/cve/cve-2026-31431
  • AlmaLinux: https://almalinux.org/blog/2026-05-01-cve-2026-31431-copy-fail/
  • Debian: https://security-tracker.debian.org/tracker/CVE-2026-31431

기술 세부 사항

  • CVSS 점수: 7.8 HIGH
  • 공격 벡터: 로컬
  • 필요한 권한: 낮음
  • 사용자 상호 작용: 없음
  • 영향: 완전한 시스템 손상(기밀성, 무결성, 가용성)

커널 패치 참조

  • Linux Kernel Git: https://github.com/torvalds/linux/commit/... (특정 패치 해시)
  • LKML 토론: https://lkml.org/ (커널 메일링 리스트)

라이선스 및 면책 조항

내부 전용 — 이 도구는 권한이 있는 sysadmin의 감사 및 패치 관리 목적으로만 사용됩니다.

root@kitploit:~
DISCLAIMER:
- Use only on systems you own or have explicit authorization to access
- Automatic patching dan reboot dapat menyebabkan downtime
- Test di staging environment sebelum production deployment
- Pastikan backup tersedia sebelum patch
- Developer tidak bertanggung jawab atas data loss atau service disruption

기여 및 지원

작성자: GagalTotal
저장소: https://github.com/gagaltotal/cve-2026-31431-copy-fail
연락처: ghostgtr666

버그 신고, 기능 요청 또는 질문이 있는 경우:

  1. GitHub Issues 열기
  2. 출력 로그 및 환경 세부 정보 포함
  3. 구체적으로 설명하고 재현 가능한 단계 제공

마지막 업데이트: 2026년 5월 8일
스캐너 버전: 1.0

도구 다운로드