Skip to content
KitploitKITPLOIT
도구익스플로잇블로그
Log in
제출
도구익스플로잇블로그
제출

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

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

피드문의개인정보© 2026 Kitploit

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
CVE-2026-99999 — Linux IPv4 체크섬 오프로드 버그 PwnEscape를 준비된 TAP에서 재현하는 Go 프로브로, 조작된 virtio 헤더를 주입하고 범위를 벗어난 프래그먼트 헤더 복사를 검증합니다. | Kitploit
도구/GitHubGitHub/perongh/cve-2026-99999
Packet Sniffing & AnalysisVulnerability AnalysisExploitationNetwork SecurityLabs & Practice
GitHubperongh/cve-2026-99999

CVE-2026-99999

Linux IPv4 체크섬 오프로드 버그 PwnEscape를 준비된 TAP에서 재현하는 Go 프로브로, 조작된 virtio 헤더를 주입하고 범위를 벗어난 프래그먼트 헤더 복사를 검증합니다.

저장소 보기
223120일 전Kitploit 검토 완료

인기

모두 보기 →

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

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
공유

CVE-2026-99999 랩 프로브

PwnEscape로 알려진 Linux IPv4 체크섬 오프로드 버그를 위한 Go 프로브입니다. 이미 준비해 둔 TAP에 연결하여 호스트 프래그멘터가 skb_checksum_help에 의해 재작성된 IPv4 헤더를 신뢰하는지 확인합니다.

이 프로브는 패킷 주입과 캡처를 처리합니다. scripts/setup.sh는 pwnesc 네트워크 네임스페이스 내부에 랩 인터페이스, sysctl 설정, nftables 규칙을 준비합니다. scripts/teardown.sh는 랩을 제거합니다.

검사 항목

ihl을 읽기 전에 부분 체크섬을 완료하는 커널에서(여기서는 6.18.54에서 재현됨; 6.18.57에서 수정됨):

  1. csum_start=22인 virtio 체크섬 헤더가 허용됩니다. 그런 다음 두 개의 VID-0 태그가 제거되어(14+4+4) 체크섬 쓰기가 IPv4 버전/IHL 바이트에 적용됩니다.
  2. 첫 번째 바이트가 0x45에서 0x4f로 변경됩니다. 프래그멘터는 60바이트 헤더를 사용합니다.
  3. conntrack defrag와 기본 -head 8을 사용하면 선형 헤드는 28바이트이므로, 60바이트 헤더 복사는 skb_headlen을 32바이트 초과하여 출력 프래그먼트의 IPv4 옵션으로 읽어들입니다.

이는 PWN.AI의 PwnEscape 분석 글에 설명된 정보 노출 프리미티브를 실행합니다. CONFIG_INIT_ON_ALLOC_DEFAULT_ON이 설정된 경우, 새 slab tailroom이 복사된 바이트에서 0으로 나타날 수 있습니다.

사전 요구 사항

  • ihl을 읽기 전에 부분 체크섬을 완료하는 커널을 갖춘 Linux 테스트 호스트 또는 VM
  • Go 1.27.1 이상
  • 랩 설정 및 프로브 실행을 위한 root 권한
  • ip, nft, sysctl
  • 내장 또는 로드 가능한 nf_conntrack 및 nf_defrag_ipv4
  • /dev/net/tun

빌드 및 실행

호스트의 저장소 디렉터리에서:

go build -o poc .
sudo ./scripts/setup.sh
sudo ip netns exec pwnesc ./poc

프로브는 IFF_TAP|IFF_NO_PI|IFF_VNET_HDR로 pwntap을 열고 pwnv1에서 출력을 캡처합니다. pwntap은 프로브 전용으로 예약하십시오. nftables ct 규칙이 conntrack 디프래그멘테이션을 활성화하며, pwnv0는 MTU 200을 사용하여 재조립된 데이터그램을 출력 시 다시 프래그먼트화합니다.

헤더 검사가 성공하면 verify: first byte 0x4f ihl=15가 출력됩니다. 그런 다음 프로브는 출력 프래그먼트, 해당 IPv4 옵션, 그리고 선형 헤드를 초과하여 복사된 바이트를 보고합니다.

옵션

  • -head (기본값 8): 오프셋-0 프래그먼트 페이로드(바이트 단위); 8부터 40까지의 8의 배수. 선형 헤드를 초과하여 예상되는 복사량은 40 - head바이트입니다.
  • -rest (기본값 400): 완료 프래그먼트 페이로드(바이트 단위); 최소 16.
  • -spray (기본값 0): 오프셋-0 프래그먼트 직전에 할당되는 동일 크기 프레임의 수.
  • -spray-fill (기본값 0xee): 해당 프레임을 채우는 데 사용되는 바이트.
  • -page: tail에 skb 메타데이터가 포함될 수 있는 page_frag 헤드를 사용합니다. 기본값은 slab 헤드입니다.
  • -skip-verify: 프래그먼트화된 데이터그램 검사로 바로 이동합니다.

PWN_TAP은 TAP 인터페이스를 선택합니다(기본값 pwntap). PWN_CAP은 캡처 인터페이스를 선택합니다(기본값 pwnv1). 설정 스크립트는 이 기본 이름들을 사용합니다.

정리

프로브가 끝난 후 pwnesc 내의 모든 셸에서 빠져나와 호스트에서 다음을 실행하십시오:

sudo ./scripts/teardown.sh

이 명령은 pwnesc와 그 인터페이스, ip pwn nftables 테이블, 네임스페이스 로컬 sysctl 설정을 삭제합니다.

도구 다운로드