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

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

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

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

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
autofs-cve-2026-84568 — CVE-2026-84568에 대한 리버스 엔지니어링 노트 및 동작하는 PoC로, localhost 또는 피해자 자신의 호스트 이름에서 마운트를 허용하는 macOS automountd 신뢰 경계 위반입니다. | Kitploit
도구/GitHubGitHub/jvidhan/autofs-cve-2026-84568
Vulnerability AnalysisExploitationReverse EngineeringPenetration TestingBinary AnalysisPapers & ResearchLearning & Education
GitHubjvidhan/autofs-cve-2026-84568

autofs-cve-2026-84568

CVE-2026-84568에 대한 리버스 엔지니어링 노트 및 동작하는 PoC로, localhost 또는 피해자 자신의 호스트 이름에서 마운트를 허용하는 macOS automountd 신뢰 경계 위반입니다.

저장소 보기
10시간 9분 전아직 검토되지 않음

인기

모두 보기 →

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

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
공유

CVE-2026-84568 — 리버스 엔지니어링 노트 및 재현

CVE-2026-84568에 대한 macOS autofs 패치의 독립적인 리버스 엔지니어링과 신뢰 경계 위반에 대한 동작하는 PoC입니다.

Apple이 권고문을 발표했습니다. Mr.Gedik(@h4ck2s3c)이 버그를 보고했습니다. 이 저장소는 기술적 메커니즘 — 패치된 함수, 검사가 실제로 수행하는 동작, 그리고 패치가 차단하는 마운트 경로 — 을 문서화하며, 취약한 시스템에서 신뢰 위반을 재현하는 동작하는 PoC를 포함합니다.


CVE 개요

필드값
CVECVE-2026-84568
구성 요소autofs / automountd
영향 받는 버전macOS Tahoe 26.6 및 이전
패치된 버전macOS Tahoe 26.7, macOS Golden Gate 27, macOS Sequoia 15.8
권고문 영향"네트워크 디렉터리 서버를 제어하는 공격자가 root 권한으로 임의 코드를 실행할 수 있습니다."
보고자Turkish Technology의 Mr.Gedik(@h4ck2s3c)

이 문서가 존재하는 이유

CVE-2026-84568에 대한 Apple의 권고문은 영향과 패치 버전을 문서화합니다. 하지만 기술적 메커니즘은 문서화하지 않습니다:

  • 어떤 함수가 패치되었는지
  • 검사가 실제로 무엇을 하는지
  • 권고문에서 설명된 RCE가 여기서 테스트된 경로를 통해 도달 가능하지 않은 이유

작성 시점에 공개된 기술 문서는 발견되지 않았습니다. 이 저장소는 automountd_26.6과 automountd_27에 대한 독립적인 리버스 엔지니어링 분석과 근본적인 신뢰 경계 위반에 대한 동작하는 PoC로 그 공백을 채웁니다.

이것은 발견 주장이 아닙니다. CVE는 Mr.Gedik에 의해 보고되었고 Apple에 의해 패치되었습니다. 여기서의 기여는 기술적 분석과 재현입니다.


취약점 요약

automountd는 구성된 디렉터리 서비스(LDAP, NIS, OpenDirectory)로부터 automount 맵을 가져옵니다. 취약한 버전(26.6 및 이전)에서 automountd는 맵 항목의 호스트 구성 요소가 로컬 머신으로 확인되는지 검증하지 않았습니다.

따라서 악성 디렉터리 서버는 마운트 소스가 다음과 같은 맵 항목을 제공할 수 있었습니다:

  • 리터럴 문자열 localhost
  • 피해자 자신의 호스트 이름(<hostname>.local)
  • 127.0.0.1을 포함한 모든 로컬 IP 주소

그러면 피해자는 공격자가 제어하는 마운트 지점에서 자기 자신으로부터 마운트하게 됩니다.

패치된 버전(26.7 / 27)은 sym.func.100005bd8에 호스트 이름 검사를 추가하여 위의 항목 중 어느 것과든 일치하는 항목을 거부합니다.


이 저장소에 포함된 내용

리버스 엔지니어링

  • automountd_26.6과 automountd_27 간의 sym.func.100005bd8 디스어셈블리 diff — docs/PATCH_DIFF.md 참조
  • 패치된 검사의 식별: "localhost", gethostname(), SCDynamicStoreCopyLocalHostName + ".local", 그리고 모든 로컬 IP를 열거하는 getifaddrs / getipnodebyaddr 루프에 대한 strncasecmp
  • parse_nfs → mapline_to_mapent → asprintf("%s/mount_%s", "/sbin", fstype)를 통한 fstype 필드의 추적 — 이 필드는 프로그램 경로를 구성하기 전에 검증되지 않음
  • webdavfs_agent의 XML 파서에 대한 SAX 콜백 분석 — characters 콜백은 명시적 길이 검사와 함께 __memcpy_chk를 사용하며 오버플로 없음
  • od_process_record_attributes 분석 — OpenDirectory 레코드 파서는 전반적으로 CoreFoundation API를 사용하며 고정 크기 버퍼 없음
  • 마운트 프로그램 감사 — mount_nfs, mount_smbfs, mount_url, 그리고 모든 NetFSPlugins/* 번들에 대해 셸 실행 여부를 검사했으며 발견되지 않음

전체 문서는 docs/ANALYSIS.md를, 주소와 로그 샘플은 docs/ARTIFACTS.md를 참조하세요.

재현

  • poc.sh — 단일 파일 공격자 측 설정. 악성 auto_master / auto_evil 맵을 가진 LDAP 서버와 접근 증명 마커가 있는 NFS export를 시작합니다. 피해자의 automountd가 맵을 가져오면, 공격자가 제어하는 경로에 자신의 NFS export를 마운트합니다.

이 PoC가 보여주는 것

  • 조작된 auto_master / auto_evil 맵을 제공하는 악성 LDAP 서버
  • 피해자의 automountd가 네트워크를 통해 맵을 가져오는 것
  • 피해자가 공격자가 제어하는 경로에 자신의 NFS export를 마운트하는 것
  • 커널 마운트 테이블의 마운트 소스가 127.0.0.1인 것

이 PoC가 보여주지 않는 것

  • 임의 코드 실행
  • 권한 상승
  • 피해자에 대한 셸

Apple 권고문의 "root 권한으로 임의 코드 실행" 영향은 이 분석에서 테스트된 경로를 통해 도달 가능하지 않습니다. 전체 목록은 docs/ANALYSIS.md의 "Paths tested and ruled out" 섹션을 참조하세요.

시연된 영향은 신뢰 경계 위반 자체입니다: 피해자가 거부했어야 할 소스로부터 마운트합니다.


저장소 구조

root@kitploit:~
poc.sh              공격자 측 설정 (단일 파일)
docs/
  ANALYSIS.md       전체 리버스 엔지니어링 문서
  PATCH_DIFF.md     26.6과 27 간의 sym.func.100005bd8 diff
  ARTIFACTS.md      주소 및 로그 샘플
README.md           이 파일
LICENSE

네 개의 파일, 두 개의 디렉터리. 그 외에는 없습니다.


요구 사항

공격자 호스트 (macOS)

  • Homebrew
  • OpenLDAP (brew install openldap)
  • slapd.conf에 정의: database mdb와 suffix "dc=evil,dc=local"
  • NFS 서버(nfsd) — macOS에 포함
  • root 접근 (slapd, nfsd, /etc/exports용)

피해자 호스트

  • macOS 26.6 또는 이전 (취약한 automountd)
  • automount 맵을 위해 공격자의 LDAP 서버를 쿼리하도록 구성됨
  • /etc/auto_master에 +auto_master 존재
  • 피해자에서 실행 중인 nfsd로 디렉터리를 export

마운트가 성공하려면 피해자가 실행 중인 NFS 서버를 필요로 합니다. 이 CVE는 export를 전달하는 것이 아니라 로컬 호스트 항목의 수용에 관한 것입니다. 피해자가 nfsd를 실행하지 않으면 마운트는 NFS server 127.0.0.1 not responding으로 실패합니다 — 이는 여전히 automountd가 해당 항목을 수용했음을 보여줍니다.


사용법

공격자

root@kitploit:~
./poc.sh <ATTACKER_IP>

<ATTACKER_IP>를 피해자로부터 본 공격자의 IP로 바꾸세요.

피해자

root@kitploit:~
sudo automount -vc
ls /System/Volumes/Data/mnt/evil/evil/
cat /System/Volumes/Data/mnt/evil/evil/proof.txt

예상 결과

proof.txt 파일이 마운트를 통해 읽힙니다. mount 출력의 마운트 소스는 127.0.0.1:<export_dir>입니다:

root@kitploit:~
127.0.0.1:/tmp/nfsroot on /System/Volumes/Data/mnt/evil/evil (nfs, nodev, nosuid, automounted, nobrowse)

nodev와 nosuid의 존재는 커널의 NFS 마운트 기본값과 mount_nfs의 자체 옵션 처리를 반영합니다 — automountd에서 온 것이 아닙니다. 전체 분석은 docs/ANALYSIS.md를 참조하세요.


패치 검증

패치된 시스템(26.7 / 27)에서는 동일한 맵 항목이 마운트 시도 전에 거부됩니다. sym.func.100005bd8의 디스어셈블리 비교는 docs/PATCH_DIFF.md를 참조하세요.

패치된 호스트에서 확인하려면:

root@kitploit:~
# 동일한 맵 항목을 제공한 후, 패치된 피해자에서:
sudo automount -vc
ls /System/Volumes/Data/mnt/evil/evil/

예상: 마운트 지점이 생성되지 않고 mount 출력에 항목이 나타나지 않습니다. sym.func.100005bd8 검사는 호스트가 127.0.0.1, localhost, 또는 로컬 호스트 이름일 때 항목을 거부합니다.


fstype 주입 (별도 발견)

분석 중 별도의 심층 방어 약점이 발견되었습니다: sym.func.1000086f4(run_mount_cmd)는 맵 항목의 fstype 필드를 검증하지 않고 asprintf("%s/mount_%s", "/sbin", fstype)를 통해 프로그램 경로를 구성합니다.

fstype의 경로 순회 시퀀스가 asprintf 호출에 도달합니다:

root@kitploit:~
automountd: Can't stat mount program /sbin/mount_../../../../../../tmp/evil_prog: No such file or directory

기본 macOS 설치에서는 /sbin/mount_..가 존재하지 않기 때문에 결과 경로가 실행 파일로 확인되지 않습니다. 주입은 실제이지만 경로 확인에 의해 차단됩니다. 이는 /sbin 아래에 쓰기 가능한 경로가 존재하거나 디렉터리 심볼릭 링크 mount_<X>가 생성된 경우에만 악용 가능해질 것입니다 — 둘 다 기본 macOS에서는 성립하지 않습니다.

이는 CVE-2026-84568의 일부가 아닌 별도의 관찰로 문서화되었습니다. 자세한 내용은 docs/ANALYSIS.md를 참조하세요.


크레딧

  • 원래 발견: CVE-2026-84568에 대한 Apple 보안 권고문에 따르면 Turkish Technology의 Mr.Gedik(@h4ck2s3c).
  • 독립적 분석 및 PoC: jvidhan
  • 참조: Apple의 권고문과 패치된 바이너리가 취약한 버전과의 비교를 위한 기준으로 사용되었습니다.

면책 조항

이 저장소는 방어적 보안 연구 및 교육 목적으로만 제공됩니다.

  • 소유하고 있거나 테스트에 대한 명시적 서면 허가를 받은 시스템에 대해서만 사용하도록 의도되었습니다.
  • 소유하거나 통제하지 않는 시스템에 이 도구를 사용하는 것은 지역, 국가, 또는 국제법을 위반할 수 있습니다.
  • 저자(들)는 이 코드로 인한 어떠한 오용이나 손해에 대해서도 책임을 지지 않습니다.
  • 이 PoC는 마운트 신뢰 위반을 시연하는 것으로 제한됩니다. 코드 실행을 달성하지 않습니다. 이 PoC로부터의 RCE 주장은 포함된 분석에 의해 뒷받침되지 않습니다.
  • Apple, macOS, autofs, automountd는 Apple Inc.의 상표입니다. 이 프로젝트는 Apple과 제휴하거나 Apple의 승인을 받지 않았습니다.

라이선스

MIT. LICENSE를 참조하세요.

도구 다운로드