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

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

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

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

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
copy-fail-CVE-2026-31431-detection-probe — CVE-2026-31431 "Copy Fail" 및 CVE-2026-43284 "Dirty Frag"에 대한 안전한 탐지 도구입니다. 2017년 이후 모든 주요 배포판에 영향을 미치는 리눅스 커널의 algif_aead 모듈에서의 로컬 권한 상승 취약점입니다. | Kitploit
도구/GitHubGitHub/ochebotar/copy-fail-cve-2026-31431-detection-probe
Privilege EscalationVulnerability ScannersVulnerability AnalysisExploitationConfiguration AuditingDevSecOpsThreat IntelligenceLearning & EducationIncident Response

인기

모두 보기 →

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

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
공유
Curated Resources
GitHubochebotar/copy-fail-cve-2026-31431-detection-probe

copy-fail-CVE-2026-31431-detection-probe

CVE-2026-31431 "Copy Fail" 및 CVE-2026-43284 "Dirty Frag"에 대한 안전한 탐지 도구입니다. 2017년 이후 모든 주요 배포판에 영향을 미치는 리눅스 커널의 algif_aead 모듈에서의 로컬 권한 상승 취약점입니다.

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

Linux 커널 LPE 프로브 스위트 — Copy Fail 및 Dirty Frag

License: MIT CVE-2026-31431 CVE-2026-43284 CVE-2026-43500 CVSS Shell

두 가지 관련 Linux 커널 로컬 권한 상승 취약점 계열 — Copy Fail (CVE-2026-31431) 및 Dirty Frag (CVE-2026-43284 / CVE-2026-43500) — 에 대한 안전한 탐지 도구입니다. 두 계열 모두 2017년 이후 모든 주요 배포판에 영향을 미치며, 권한이 없는 로컬 사용자에 의해 악용될 수 있으며, 독립적인 완화 조치가 필요합니다.

이 프로브는 소켓을 열지 않으며 암호화 또는 네트워크 작업을 수행하지 않습니다.
탐지는 전적으로 커널 버전, 배포판 패키지 메타데이터, 모듈 상태 및 활성 완화 플래그(모두 sudo 없이 읽을 수 있는 세계 읽기 가능 정보)에 기반합니다.


⚠️ 중요: 두 가지 별개의 취약점

Copy Fail 완화 조치를 적용한다고 해서 Dirty Frag로부터 보호되지는 않습니다.
두 프로브를 모두 실행하고 두 완화 조치를 각각 적용해야 합니다.


파일

root@kitploit:~
.
├── cve-2026-31431-check.sh          Copy Fail 프로브 (모든 출력 모드)
├── copy_fail_userparameter.conf     Zabbix 에이전트 UserParameter — Copy Fail
├── zabbix_template_copy_fail.yaml   Zabbix 6.4 템플릿 — Copy Fail
├── copy_fail_auditd.rules           auditd 행동 감지 — Copy Fail
├── cve-2026-43284-check.sh          Dirty Frag 프로브 (모든 출력 모드)
├── dirty_frag_userparameter.conf    Zabbix 에이전트 UserParameter — Dirty Frag
├── wazuh_sca/
│   └── copy_fail_sca.yml            Wazuh SCA 컴플라이언스 정책
└── ansible/
    └── copy_fall_scan.yml           플릿 전체 Ansible 스캔 플레이북

CVE-2026-31431 — Copy Fail

배경

이 익스플로잇은 정확히 다음과 같은 syscall 체인을 필요로 합니다:

root@kitploit:~
socket(AF_ALG, SOCK_SEQPACKET, 0)
bind(fd, {alg_type="aead", alg_name="authencesn(hmac(sha256),cbc(aes))"})
accept(fd, ...)
splice(suid_binary_fd, op_fd)   ← 페이지 캐시가 암호화 서브시스템으로 공급됨
sendmsg / recvmsg               ← 4바이트 스크래치 쓰기가 페이지 캐시에 기록됨

프로브는 이 중 어떤 것도 사용하지 않습니다. 탐지는 다음을 기반으로 합니다:

  1. 커널 버전 범위 — 4.14–6.17에서 회귀 발생; 6.18.22 / 6.19.12 / 6.20+에서 수정됨
  2. 배포판 패키지 버전 — 알려진 패치 임계값을 사용한 벤더 백포트 탐지
  3. 모듈 상태 — 로드됨, 없음, 내장, 또는 디스크에 .ko 존재 (자동 로드 가능)
  4. 활성 완화 조치 — modprobe.d 블랙리스트 및 initcall_blacklist 커널 파라미터

빠른 시작

root@kitploit:~
chmod +x cve-2026-31431-check.sh
./cve-2026-31431-check.sh           # 사람이 읽기 쉬운 출력
./cve-2026-31431-check.sh --json    # 기계가 읽기 쉬운 출력
./cve-2026-31431-check.sh --nagios  # Nagios/Icinga/NRPE
./cve-2026-31431-check.sh --zabbix  # Zabbix 아이템용 정수 0/1/2

종료 코드: 0 = PATCHED 또는 MITIGATED · 1 = VULNERABLE · 2 = UNKNOWN

패치된 패키지 버전

스크립트는 이러한 임계값을 자동으로 비교하여 실행 중인 패키지가 임계값 이상일 경우 PATCHED로 판정합니다.

RHEL 계열: 내장 모듈 주의 사항

RHEL, AlmaLinux, Rocky Linux 및 그 파생 배포판에서는 algif_aead가 커널에 내장되어 컴파일됩니다. modprobe.d 우회 조치는 효과가 없습니다. 오직 커널 명령줄의 initcall_blacklist=algif_aead_init만 작동합니다. 프로브가 이를 감지하여 명시적으로 경고합니다.

root@kitploit:~
grubby --update-kernel=ALL --args="initcall_blacklist=algif_aead_init"
reboot

CVE-2026-43284 / CVE-2026-43500 — Dirty Frag

배경

Dirty Frag는 Hyunwoo Kim(@v4bel)이 발견하고 2026년 5월 7일경에 공개된 두 가지 인플레이스 복호화 고속 경로 버그를 연결합니다. Copy Fail보다 1주 후에 공개되었습니다:

  • CVE-2026-43284 — xfrm-ESP 고속 경로 (esp4, esp6); upstream 수정 f4c50a4034e6
  • CVE-2026-43500 — RxRPC 고속 경로 (rxrpc); upstream 수정 aa54b1d27fe0

이 익스플로잇은 /usr/bin/su 페이지 캐시의 파이프 페이지를 페이징된 소켓 버퍼 조각으로 연결한 다음, 공격자가 선택한 키로 인플레이스 복호화를 수행하여 setuid 바이너리의 캐시된 사본에 임의의 바이트를 직접 쓰며, 디스크의 파일을 건드리지 않습니다.

Copy Fail 완화 조치(algif_aead 블랙리스트)는 Dirty Frag를 막지 못합니다.

빠른 시작

root@kitploit:~
chmod +x cve-2026-43284-check.sh
./cve-2026-43284-check.sh           # 사람이 읽기 쉬운 출력
./cve-2026-43284-check.sh --json    # 기계가 읽기 쉬운 출력
./cve-2026-43284-check.sh --nagios  # Nagios/Icinga/NRPE
./cve-2026-43284-check.sh --zabbix  # Zabbix 아이템용 정수 0/1/2

프로브는 esp4, esp6 및 rxrpc를 각각 검사하고 JSON 출력에 별도의 cve_43284_safe / cve_43500_safe 불리언을 보고합니다.

IPsec 경고

esp4 및 esp6은 IPsec(strongSwan, Libreswan)에서 사용되는 커널 측 ESP 변환입니다. 이들을 블랙리스트에 추가하면 IPsec 터널이 중단됩니다. 프로브는 ip xfrm state 및 데몬 탐지를 통해 활성 IPsec 사용을 감지하고, 그에 따라 수정 권고를 조정합니다:

  • IPsec 없음: 세 모듈 모두에 대해 전체 modprobe.d 블랙리스트를 적용합니다.
  • IPsec 사용 중: 권한이 없는 사용자 네임스페이스를 제한합니다(ESP 경로 차단; 필요하지 않은 경우 rxrpc도 별도로 블랙리스트):
    root@kitploit:~
    # RHEL 계열
    sysctl -w user.max_user_namespaces=0
    echo "install rxrpc /bin/false" >> /etc/modprobe.d/dirtyfrag.conf
    
    # Ubuntu / Debian
    sysctl -w kernel.unprivileged_userns_clone=0
    echo "install rxrpc /bin/false" >> /etc/modprobe.d/dirtyfrag.conf
    

패치된 패키지 버전

배포판CVE-2026-43284CVE-2026-43500 (rxrpc)
RHEL / Rocky / Alma 8.104.18.0-553.123.2.el8_10해당 없음 — RHEL 8에 rxrpc 미포함
RHEL / Rocky / Alma 9.x대기 중대기 중

패치된 커널을 기다리는 동안 즉시 modprobe.d 블랙리스트를 적용하십시오(IPsec 주의 사항을 고려).

RHEL 8 / rxrpc

AlmaLinux / RHEL 8은 rxrpc 모듈을 빌드하지 않습니다. 프로브는 RHEL/Rocky/Alma 8.x에서 자동으로 kernel_vuln_rxrpc=not_affected로 표시합니다.


모니터링 통합

Zabbix

각 모니터링 대상 호스트에 두 프로브를 배포합니다:

root@kitploit:~
mkdir -p /etc/zabbix/scripts
install -m 750 -o zabbix -g zabbix cve-2026-31431-check.sh /etc/zabbix/scripts/
install -m 750 -o zabbix -g zabbix cve-2026-43284-check.sh /etc/zabbix/scripts/

cp copy_fail_userparameter.conf /etc/zabbix/zabbix_agentd.d/
cp dirty_frag_userparameter.conf /etc/zabbix/zabbix_agentd.d/
systemctl restart zabbix-agent   # 또는 zabbix-agent2

Configuration → Templates → Import에서 zabbix_template_copy_fail.yaml을 가져옵니다.

제공되는 UserParameter 아이템:

Copy Fail 템플릿에는 status=1에 HIGH 트리거, status=2에 WARNING 트리거가 포함됩니다. sudo가 필요하지 않습니다 — 두 스크립트가 읽는 모든 파일은 세계 읽기 가능입니다.

Nagios / Icinga / NRPE

root@kitploit:~
install -m 755 cve-2026-31431-check.sh /usr/lib/nagios/plugins/
install -m 755 cve-2026-43284-check.sh /usr/lib/nagios/plugins/

# NRPE — /etc/nagios/nrpe.cfg에 추가:
command[check_copy_fail]=/usr/lib/nagios/plugins/cve-2026-31431-check.sh --nagios
command[check_dirty_frag]=/usr/lib/nagios/plugins/cve-2026-43284-check.sh --nagios

# CheckMK 로컬 검사:
echo '#!/bin/bash
OUT=$(/usr/lib/nagios/plugins/cve-2026-31431-check.sh --nagios); RC=$?
echo "$RC CVE-2026-31431 - $OUT"' > /usr/lib/check_mk_agent/local/copy_fail

echo '#!/bin/bash
OUT=$(/usr/lib/nagios/plugins/cve-2026-43284-check.sh --nagios); RC=$?
echo "$RC CVE-2026-43284 - $OUT"' > /usr/lib/check_mk_agent/local/dirty_frag

chmod +x /usr/lib/check_mk_agent/local/copy_fail \
         /usr/lib/check_mk_agent/local/dirty_frag

auditd — 행동/런타임 탐지

현재 진행 중인 익스플로잇 시도를 탐지하여 두 정적 프로브를 보완합니다.

root@kitploit:~
cp copy_fail_auditd.rules /etc/audit/rules.d/
augenrules --load

# 예상치 못한 AF_ALG 호출자 감시:
ausearch -k copy_fail_af_alg --interpret | \
    grep -v -E 'cryptsetup|veritysetup|systemd-crypt|kcapi'

Wazuh 규칙 스텁(레벨 13 / 15)이 .rules 파일 주석에 포함되어 있습니다.

Wazuh SCA

root@kitploit:~
cp wazuh_sca/copy_fail_sca.yml /var/ossec/etc/shared/default/
/var/ossec/bin/agent_control -r -a

결과: Security → SCA → Filter by policy cve_2026_31431_copy_fail

Ansible — 플릿 스캔

root@kitploit:~
ansible-playbook -i inventory/hosts ansible/copy_fall_scan.yml
# 하위 집합으로 제한:
ansible-playbook -i inventory/hosts ansible/copy_fall_scan.yml --limit webservers

컨트롤러의 /tmp/copy_fail_results/에 호스트별 JSON + summary.txt를 작성합니다. 호스트가 VULNERABLE인 경우 플레이는 0이 아닌 종료 코드로 종료됩니다.


벤더 보안 추적기


참고 자료

Copy Fail

  • Xint/Theori 원본 분석 글
  • CERT-EU 권고 2026-005
  • NVD CVE-2026-31431
  • Ubuntu 보안 공지 USN-8226-1
  • Rocky Linux 권고 2026-05-11
  • SUSE, Copy Fail에 대응하다

Dirty Frag

  • Dirty Frag 분석 글 (copy.fail)
  • NVD CVE-2026-43284
  • AlmaLinux 권고 2026-05-07
  • Sysdig TRT — Dirty Frag 탐지 분석
  • Microsoft 보안 블로그 — 활성 공격
  • Wiz 블로그 — Dirty Frag
도구 다운로드
Copy FailDirty Frag
CVECVE-2026-31431CVE-2026-43284 + CVE-2026-43500
모듈algif_aeadesp4, esp6, rxrpc
도입 시기2017년 8월 (커널 4.14)2017년 1월 / 2023년 6월
완화 방법modprobe.d 블랙리스트 (algif_aead)modprobe.d 블랙리스트 (esp4/esp6/rxrpc)
프로브 스크립트cve-2026-31431-check.shcve-2026-43284-check.sh
배포판패치 버전권고
RHEL / Rocky / Alma 8.10kernel-4.18.0-553.123.1.el8_10Rocky 2026-05-11
RHEL / Rocky / Alma 9.7kernel-5.14.0-611.54.1.el9_7same
RHEL / Rocky / Alma 10.1kernel-6.12.0-124.55.1.el10_1same
Debian 11 (bullseye)linux 5.10.251-3DLA-4560-1
Debian 12 (bookworm)linux 6.1.170-1DSA-6243-1
Debian 13 (trixie)linux 6.12.85-1DSA-6238-1
Ubuntu 22.04 / 24.04아직 패치된 커널 없음 — USN-8226-1을 통한 kmod 완화USN-8226-1
SLES 12 SP5kernel-default 4.12.14-122.299.1SUSE-SU-2026:1669-1
SLES 15 SP5kernel-default 5.14.21-150500.55.144.1SUSE-SU-2026:1670-1
SLES 15 SP6kernel-default 6.4.0-150600.23.92.1SUSE-SU-2026:1671-1
SLES 15 SP7kernel-default 6.4.0-150700.53.40.1SUSE-SU-2026:1669-1
SLES 16.0kernel-default 6.12.0-160000.29.1SUSE 권고
Debian / Ubuntu / SLES대기 중대기 중
키유형의미
copy_fail.statusint0=안전 · 1=취약 · 2=알 수 없음
copy_fail.detailstr사람이 읽을 수 있는 Copy Fail 판정
dirty_frag.statusint0=안전 · 1=취약 · 2=알 수 없음
dirty_frag.detailstr사람이 읽을 수 있는 Dirty Frag 판정
배포판Copy FailDirty Frag
Ubuntuubuntu.com/security/CVE-2026-31431ubuntu.com/security/CVE-2026-43284
Debiansecurity-tracker…CVE-2026-31431security-tracker…CVE-2026-43284
RHEL / Alma / Rockyaccess.redhat.com…CVE-2026-31431access.redhat.com…CVE-2026-43284
Amazon Linuxalas.aws…CVE-2026-31431alas.aws…CVE-2026-43284
SUSEsuse.com…CVE-2026-31431suse.com…CVE-2026-43284