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

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

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

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

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
도구/GitHubGitHub/atgreen/block-copyfail
Defensive ToolsDynamic Analysis (Sandboxing)Vulnerability AnalysisIncident Response
GitHubatgreen/block-copyfail

block-copyfail

BPF LSM 차단기 for CVE-2026-31431 (Copy Fail) — 재부팅 없이 런타임에서 authencesn AF_ALG 바인드를 차단합니다

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

인기

모두 보기 →

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

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
공유

block-copyfail

CVE-2026-31431("Copy Fail")에 대한 개념 증명 런타임 완화 — algif_aead의 authencesn 암호화 템플릿을 통한 Linux 커널 권한 상승 취약점입니다.

모듈 블랙리스트와 달리 재부팅이 필요 없습니다. BPF LSM 프로그램이 socket_bind를 후킹하여 Copy Fail이 악용하는 하위 시스템인 모든 AF_ALG AEAD 바인드를 차단합니다. 이는 암호화 템플릿 중첩(예: pcrypt(authencesn(...)))을 통한 우회를 방지합니다. 다른 AF_ALG 사용(hash, skcipher)은 영향을 받지 않습니다.

차단된 시도는 PID, 프로세스 이름, 타임스탬프와 함께 실시간으로 기록됩니다.

사전 요구 사항

  • CONFIG_BPF_LSM=y 및 부팅 매개변수에 lsm=bpf가 포함된 Linux 커널 5.7+
  • SBCL 2.0+
  • Whistler(Common Lisp eBPF 컴파일러)
root@kitploit:~
make doctor   # 모든 사전 요구 사항 확인

빠른 시작

root@kitploit:~
git clone https://github.com/atgreen/block-copyfail.git
cd block-copyfail
make ubi8-build
sudo ./block-copyfail

차단기는 Ctrl-C를 누를 때까지 활성 상태를 유지하며, 이후 깔끔하게 분리됩니다.

로컬 빌드

자신의 머신에서 빌드하려면 SBCL과 Whistler(Common Lisp eBPF 컴파일러)가 필요합니다:

root@kitploit:~
git clone https://github.com/atgreen/whistler.git ~/git/whistler
make build
sudo ./block-copyfail

휴대용 바이너리 빌드(EL8+)

UBI8 컨테이너 내부에서 빌드하여 RHEL/CentOS/Alma/Rocky 8+, Fedora, Ubuntu 20.04+ 및 glibc 2.28 이상이 있는 모든 Linux에서 실행되는 바이너리를 생성합니다. 대상 시스템에는 SBCL이나 Whistler가 필요 없습니다 — 바이너리를 복사하여 실행하기만 하면 됩니다.

root@kitploit:~
make ubi8-build
scp block-copyfail root@server:
ssh root@server ./block-copyfail

ELF 객체로 컴파일

bpftool, libbpf 또는 모든 BPF 로더로 로드할 수 있는 표준 .bpf.o 파일을 생성합니다:

root@kitploit:~
make elf
sudo mkdir -p /sys/fs/bpf/copyfail
sudo bpftool prog loadall block-copyfail.bpf.o /sys/fs/bpf/copyfail autoattach

분리 및 제거:

root@kitploit:~
sudo rm -rf /sys/fs/bpf/copyfail

테스트

한 터미널에서 차단기를 실행한 상태에서 다른 터미널에서 테스트를 트리거합니다:

root@kitploit:~
python3 trigger-test.py

테스트 스크립트는 AF_ALG AEAD 바인드를 시도합니다(익스플로잇은 수행되지 않음).

테스트 터미널의 예상 출력:

root@kitploit:~
BLOCKED: aead/authencesn(hmac(sha256),cbc(aes)) — [Errno 1] Operation not permitted
BLOCKED: aead/gcm(aes) — [Errno 1] Operation not permitted
ALLOWED: hash/sha256
ALLOWED: skcipher/cbc(aes)

차단기 터미널의 예상 출력:

root@kitploit:~
Copy Fail blocker active — all AF_ALG AEAD binds blocked.
Other AF_ALG usage (hash, skcipher) unaffected.
Watching for blocked attempts. Press Ctrl-C to exit.

TIME                  PID       COMMAND
----                  ---       -------
06:38:12               31337  python3

차단기를 실행하지 않으면 테스트 스크립트는 네 가지 알고리즘 모두에 대해 ALLOWED를 출력합니다.

작동 방식

BPF 프로그램은 bpf_probe_read_kernel을 통해 socket_bind 인수에서 struct sockaddr_alg의 7바이트를 읽고, salg_family == AF_ALG 및 salg_type == "aead"를 확인한 후 일치하면 -EPERM을 반환합니다. 이는 템플릿 중첩과 관계없이 모든 AEAD 알고리즘 바인드를 차단합니다. 이벤트는 링 버퍼를 통해 사용자 공간으로 전송됩니다.

C, clang 또는 LLVM 없이 eBPF 바이트코드로 직접 컴파일되는 Common Lisp 방언인 Whistler로 작성되었습니다.

라이선스

MIT

도구 다운로드