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

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

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

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

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
Fragnesia-go — fragnesia(CVE-2026-46300)의 Go 구현 | Kitploit
도구/GitHubGitHub/nonameuserosint-hue/fragnesia-go
Privilege EscalationExploitationBinary Exploitation
GitHubnonameuserosint-hue/fragnesia-go

Fragnesia-go

fragnesia(CVE-2026-46300)의 Go 구현

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

인기

모두 보기 →

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

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
공유

fragnesia-go

SA 1개. 한 번에 1바이트. 경쟁 조건 없음.

fragnesia(CVE-2026-46300)의 Go 포트입니다. Dirty Frag 취약점 클래스에 속합니다 - 별개의 버그, 동일한 공격 표면, 자체 패치.

작동 방식 (요약)

이 버그는 Linux XFRM ESP-in-TCP 서브시스템에 있습니다. 파일에서 splice()된 데이터가 이미 TCP 수신 큐에 들어간 후 소켓에 TCP_ULP espintcp가 설치되면, 커널은 큐에 쌓인 데이터를 ESP 암호문 레코드로 취급하여 제자리(in-place)에서 복호화합니다. 해당 데이터의 출처는 페이지 캐시(page cache) 페이지입니다. 복호화 과정에서 AES-GCM 키스트림이 그 페이지에 직접 XOR됩니다.

그 결과, 읽기 가능한 모든 파일의 페이지 캐시에 통제된 1바이트 쓰기가 발생합니다.

키스트림 테이블

AES-GCM(RFC 4106) 카운터 블록의 위치 2는 [salt(4) || IV(8) || 0x00000002]입니다. 이를 세션 키로 암호화하면 16바이트 키스트림 블록이 생성됩니다. 이 블록의 0번째 바이트가 대상 바이트에 XOR됩니다. IV 논스의 하위 32비트를 변경하면 처음 65536개 논스 안에서 가능한 256가지 키스트림 바이트 값을 모두 얻을 수 있습니다. 익스플로잇은 시작 시 AF_ALG AES-ECB를 통해 이 룩업 테이블을 한 번 구축합니다.

바이트 플립 루프

페이로드의 각 바이트에 대해:

  1. 파일(페이지 캐시)에서 현재 값을 읽습니다.
  2. needed_keystream = current XOR desired를 계산합니다.
  3. 해당 키스트림 바이트에 대한 논스를 찾습니다.
  4. IV를 설정하고 TCP 트리거 쌍을 실행합니다(송신자는 파일 페이지를 소켓에 splice하고, 수신자는 데이터가 큐에 쌓일 때까지 TCP_ULP 설치를 지연시킵니다).
  5. 결과: current XOR keystream = current XOR (current XOR desired) = desired.

SA 1개. 최대 192회 트리거. 결정적.

사용법

root@kitploit:~
go build -o fragnesia-go .
./fragnesia-go

성공 시 새 PTY를 통해 루트 셸로 진입합니다. 디스크상의 바이너리는 손대지 않습니다 - 페이지 캐시만 사용합니다.

정리

root@kitploit:~
echo 1 | tee /proc/sys/vm/drop_caches

요구 사항

  • Linux - 패치되지 않은 커널(아래 참조)
  • 외부 도구 불필요 - 순수 Go, 단일 정적 바이너리
  • 커널 모듈: esp6(전송 모드, IPv6 루프백)

영향을 받는 커널

패치 이전의 모든 커널: https://lists.openwall.net/netdev/2026/05/13/79

dirtyfrag와 동일한 범위입니다.

완화 조치

dirtyfrag와 동일:

root@kitploit:~
rmmod esp4 esp6
printf 'install esp4 /bin/false\ninstall esp6 /bin/false\n' \
  > /etc/modprobe.d/fragnesia.conf

dirtyfrag-go와 비교

참고 자료

  • v12-security/pocs - fragnesia - 원본 C PoC
  • CVE-2026-46300 - Red Hat
  • 커널 패치

크레딧

  • William Bowling / V12 팀 - 취약점 발견 및 원본 PoC
도구 다운로드
dirtyfrag-gofragnesia-go
CVEsCVE-2026-43284 / CVE-2026-43500CVE-2026-46300
전송 방식ESP-in-UDP + RxRPCESP-in-TCP (ULP)
쓰기 단위트리거당 4바이트트리거당 1바이트
XFRM SA481
암호화HMAC-SHA256 + CBC-AESAES-128-GCM
IP 패밀리IPv4IPv6