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

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

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

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

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
도구/GitHubGitHub/wavesman/cve-2026-31431-fleet-remediator
Cloud Infrastructure SecurityVulnerability ScannersConfiguration AuditingDevSecOps
GitHubwavesman/cve-2026-31431-fleet-remediator

cve-2026-31431-fleet-remediator

Fleet 규모의 CVE-2026-31431 감사 및 수정 오케스트레이터로, SSH를 통해 Linux 호스트를 관리하며 엄격한 호스트 키 검증과 다중 형식 보고를 지원합니다.

저장소 보기

인기

모두 보기 →

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

모든 도구 탐색

도구 컬렉션을 둘러보세요

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

CVE-2026-31431 플릿 감사 및 수정 도구

中文说明

이 프로젝트는 기업/내부 네트워크의 Linux 호스트에서 CVE-2026-31431을 감사하고 수정하기 위한 플릿 규모 오케스트레이터입니다.

  • 여러 호스트에 대한 배치 SSH 로그인
  • 위험 증거 수집 및 상태 분류
  • 임시 완화 조치(algif_aead 비활성화)
  • 배포판 인식 커널 패치/업그레이드 워크플로우
  • JSON / CSV / Markdown 보고서

1. 요구 사항

  • Python: >=3.13
  • 패키지 관리자: uv
  • 네트워크: 실행기가 SSH를 통해 대상 호스트에 도달할 수 있어야 함

2. 빠른 시작

2.1 종속성 설치

root@kitploit:~
uv sync

Tsinghua 미러가 pyproject.toml에 구성되어 있습니다:

root@kitploit:~
[tool.uv]
index-url = "https://pypi.tuna.tsinghua.edu.cn/simple"

2.2 자산 구성 준비

root@kitploit:~
cp fleet.env.example fleet.env

그런 다음 실제 호스트와 자격 증명으로 fleet.env를 업데이트합니다.

2.3 실행

root@kitploit:~
uv run python main.py fleet.env

3. 프로젝트 구조

root@kitploit:~
.
├── main.py
├── pyproject.toml
├── uv.lock
├── fleet.env.example
├── reports/
└── src/
    ├── main.py
    ├── models.py
    ├── config.py
    ├── executor.py
    ├── collector.py
    ├── analyzer.py
    ├── adapters.py
    ├── remediator.py
    ├── orchestrator.py
    └── reporter.py

4. fleet.env 구성 참조

형식은 KEY=VALUE입니다. 빈 줄과 # 주석은 무시됩니다.

4.1 전역 키

MODE

  • 런타임 모드.
  • 값:
    • audit: 감지만 수행, 수정 없음.
    • fix: 감지 및 수정 흐름 실행.
  • 기본값: audit

AUTO_REBOOT

  • 수정 성공 후 호스트를 자동으로 재부팅할지 여부.
  • 값: 0 또는 1
  • 기본값: 0
  • MODE=fix일 때만 유효.

SSH_TIMEOUT

  • SSH 연결/인증 시간 초과(초).
  • 유형: 정수
  • 기본값: 12

MAX_WORKERS

  • 플릿 동시성 크기(스레드 풀 워커).
  • 유형: 정수
  • 기본값: 8

REPORT_DIR

  • 생성된 보고서의 출력 디렉터리.
  • 유형: 상대 또는 절대 경로
  • 기본값: ./reports

PROGRESS_HEARTBEAT_SECONDS

  • 실시간 진행 로그의 하트비트 간격.
  • 유형: 정수(초)
  • 기본값: 5

DEVICE_MAX_DURATION_SECONDS

  • 시간 초과/정지 경고 전 장치당 최대 총 실행 시간.
  • 유형: 정수(초)
  • 기본값: 1800

PROGRESS_LOG_TO_FILE

  • 진행 로그를 REPORT_DIR에 저장할지 여부.
  • 값: 0 또는 1
  • 기본값: 1

FLEET_COUNT

  • 장치 슬롯 수. 로더가 1..FLEET_COUNT를 구문 분석합니다.
  • 유형: 정수
  • DEVICE_n_HOST가 비어 있으면 해당 슬롯은 건너뜁니다.

4.2 장치별 키

각 호스트는 DEVICE_{n}_ 접두사를 사용합니다(예: DEVICE_1_*, DEVICE_2_*).

DEVICE_n_NAME

  • 보고서의 표시 이름.
  • 선택 사항. 비어 있으면 device_n으로 자동 대체.

DEVICE_n_HOST

  • 대상 호스트 IP 또는 DNS 이름.
  • 해당 슬롯에 필수.

DEVICE_n_PORT

  • SSH 포트.
  • 기본값: 22

DEVICE_n_USER

  • SSH 사용자 이름.
  • 기본값: root

DEVICE_n_PASSWORD

  • SSH 비밀번호 인증.
  • DEVICE_n_KEY와 함께 또는 대신 사용.
  • 스크립트는 fleet.env에 명시적으로 설정된 자격 증명만 사용합니다.

DEVICE_n_KEY

  • SSH 개인 키 경로.
  • 예: ./keys/node-1_ed25519
  • DEVICE_n_PASSWORD와 DEVICE_n_KEY가 모두 비어 있으면 연결이 빠르게 실패합니다.

DEVICE_n_SUDO_PASSWORD

  • 비루트 사용자를 위한 sudo 비밀번호.
  • 수정 명령에 사용됩니다.

4.3 전체 예시

root@kitploit:~
# =========================
# Global
# =========================
MODE=audit
AUTO_REBOOT=0
SSH_TIMEOUT=12
MAX_WORKERS=8
REPORT_DIR=./reports
PROGRESS_HEARTBEAT_SECONDS=5
DEVICE_MAX_DURATION_SECONDS=1800
PROGRESS_LOG_TO_FILE=1
FLEET_COUNT=3

# =========================
# Device 1
# =========================
DEVICE_1_NAME=pve-node-1
DEVICE_1_HOST=192.168.1.10
DEVICE_1_PORT=22
DEVICE_1_USER=root
DEVICE_1_PASSWORD=
DEVICE_1_KEY=./keys/pve-node-1_ed25519
DEVICE_1_SUDO_PASSWORD=

# =========================
# Device 2
# =========================
DEVICE_2_NAME=web-1
DEVICE_2_HOST=192.168.1.20
DEVICE_2_PORT=22
DEVICE_2_USER=admin
DEVICE_2_PASSWORD=your_ssh_password
DEVICE_2_KEY=
DEVICE_2_SUDO_PASSWORD=your_sudo_password

# =========================
# Device 3
# =========================
DEVICE_3_NAME=
DEVICE_3_HOST=192.168.1.30
DEVICE_3_PORT=22
DEVICE_3_USER=ops
DEVICE_3_PASSWORD=
DEVICE_3_KEY=./keys/db-1_ed25519
DEVICE_3_SUDO_PASSWORD=

5. 실행 모드

5.1 감사 모드(첫 실행 권장)

root@kitploit:~
MODE=audit
uv run python main.py fleet.env

동작:

  • 호스트에 연결
  • 커널/모듈/패치 힌트 수집
  • 위험 상태 분류
  • 보고서 생성

5.2 수정 모드

root@kitploit:~
MODE=fix
AUTO_REBOOT=0
uv run python main.py fleet.env

동작:

  • 먼저 임시 완화 조치 적용:
    • /etc/modprobe.d/disable-cve-2026-31431-algif-aead.conf 작성
    • algif_aead 언로드 시도
  • 배포판별 커널 업데이트 실행
  • AUTO_REBOOT에 따른 선택적 재부팅

6. 상태 정의

SAFE

  • 패치 힌트가 발견되었고 algif_aead가 로드되지 않음.

MITIGATED

  • 패치 힌트가 아직 불명확한 동안 완화 힌트가 발견됨.

NEEDS_PATCH

  • algif_aead가 사용 가능/로드되었고 패치 힌트가 없음.

UNKNOWN

  • 분류할 충분한 증거가 없음.

FAILED

  • SSH 로그인/명령 실행 실패.

7. 보고서 출력

각 실행은 REPORT_DIR에 3개의 파일을 생성합니다:

  • cve_2026_31431_<timestamp>.json
  • cve_2026_31431_<timestamp>.csv
  • cve_2026_31431_<timestamp>.md
  • progress_<timestamp>.log(실시간 진행 및 하트비트 로그)

핵심 필드:

  • name, host
  • status
  • kernel, os
  • algif_loaded, algif_available
  • patch_hint
  • fixed, rebooted
  • error

8. 보안 참고 사항

  • fleet.env 또는 개인 키를 커밋하지 마십시오.
  • 가능하면 최소 권한 운영 계정을 사용하십시오.
  • 프로덕션 수정 전에 스냅샷/백업을 생성하십시오.
  • 권장 배포 순서: audit -> fix -> 재감사.

9. 문제 해결

ModuleNotFoundError: No module named 'paramiko'

  • uv sync를 실행하십시오.

많은 호스트가 FAILED 상태

  • 연결, SSH 자격 증명, sudo 권한 및 호스트 키 상태를 확인하십시오.

BadHostKeyException

  • 호스트 지문이 현재 known_hosts 레코드와 충돌합니다.
  • 이는 시스템 키 인증 대체가 아닙니다. 인증은 여전히 fleet.env 자격 증명만 사용합니다.
  • 대역 외로 호스트 신원을 확인한 후 known_hosts를 업데이트하십시오:
    • ssh-keygen -R <host>
    • ssh-keyscan -H <host> >> $env:USERPROFILE\.ssh\known_hosts

Server ... not found in known_hosts

  • 엄격한 호스트 키 모드가 활성화되어 있고 호스트 지문이 없습니다.
  • 호스트 키를 known_hosts에 추가한 후 다시 실행하십시오.

커널이 업데이트되었지만 상태가 여전히 위험

  • 패치된 커널로 부팅하려면 재부팅이 필요할 수 있습니다.
도구 다운로드