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

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

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

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

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
airborn-IOS-CVE-2025-24252 — LogArchive에서 iOS Airborne 취약점 로그 아티팩트 추출기 CVE-2025-24252 | Kitploit
도구/GitHubGitHub/cakescats/airborn-ios-cve-2025-24252
iOS SecurityVulnerability AnalysisForensicsMobile ForensicsDigital ForensicsLearning & EducationIncident ResponseLog Analysis

인기

모두 보기 →

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

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
공유
GitHub
cakescats/airborn-ios-cve-2025-24252

airborn-IOS-CVE-2025-24252

LogArchive에서 iOS Airborne 취약점 로그 아티팩트 추출기 CVE-2025-24252

저장소 보기
3231년 전아직 검토되지 않음

iOS "Airborne" 취약점 - 로그 아티팩트 추출기

이 스크립트는 .logarchive 번들에서 iOS 시스템 로그를 조회하여 "Airborne" 취약점 세트(주로 Apple의 AirPlay 프로토콜에 영향을 미침)의 잠재적 흔적을 식별하는 데 도움을 주도록 설계되었습니다. 이 취약점과 연관될 수 있는 이상 징후를 찾기 위해 여러 log show 명령어를 자동으로 실행합니다.

면책 조항: 이 도구는 정보 제공 및 조사 목적으로만 사용됩니다. 이러한 쿼리와 일치하는 로그 항목이 존재한다고 해서 침해가 확정되는 것은 아닙니다. 로그 항목은 상황에 맞게 분석되어야 합니다. 발견 사항이 없다고 해서 기기가 안전하다는 보장은 없습니다. 항상 기기를 최신 OS 버전으로 업데이트하세요.

작성자 및 프로젝트 정보

이 스크립트는 CakesCats 프로젝트의 일환으로 Anton Shustikov ([email protected], 현재는 cakescats의 CEO)가 개발했습니다.

CakesCats는 다음에 중점을 둔 이니셔티브입니다:

  • 정보 보안 교육: 사이버 보안 개념을 더 쉽게 접근하고 이해할 수 있도록 하는 것을 목표로 합니다.
  • 지원: 디지털 보안 관련 어려운 상황에 처한 활동가와 개인에게 무료 지원을 제공합니다.
  • 간단하고 명확한 제품: 디지털 안전과 보안을 위한 직관적인 도구와 리소스를 개발합니다.

Anton Shustikov는 보안 시스템 구축에 광범위한 경험을 가진 정보 보안 및 핀테크 컨설턴트입니다. 비영리 교육 프로젝트 CakesCats의 설립자이며 Forbes 및 "Xakep" 잡지와 같은 매체에 기고합니다. 그의 작업은 디지털 위협 조사와 디지털 위생 홍보를 포함하는 경우가 많습니다.

"Airborne" 취약점 정보

"Airborne"은 Apple의 AirPlay 프로토콜 및 AirPlay SDK(소프트웨어 개발 키트)에 영향을 미치는 취약점 세트(원본 연구는 Oligo Security가 발견)에 부여된 이름입니다. 이러한 취약점은 다양한 Apple 기기(iPhone, iPad, Mac, Apple TV 등)와 AirPlay SDK를 사용하는 타사 기기(예: 스마트 스피커, 리시버)에 영향을 미칠 수 있습니다.

"Airborne" 유형 취약점의 주요 측면:

  • 발견 맥락: 원본 "Airborne" 연구는 Oligo Security가 발표했습니다(자세한 내용: https://www.oligo.security/blog/airborne). 이 스크립트는 이러한 취약점과 관련될 수 있는 일반적인 포렌식 아티팩트를 찾기 위해 설계되었습니다.
  • 영향을 받는 프로토콜/구성 요소: 주로 Apple AirPlay이지만, Bonjour(mDNS) 및 기기 간 통신을 처리하는 rapportd와 같은 관련 서비스도 포함됩니다.
  • 잠재적 영향: 원격 코드 실행(RCE)(제로 클릭 및 잠재적으로 웜 형태 포함), 서비스 거부(DoS), ACL(접근 제어 목록) 우회, 정보 노출, 중간자(MITM) 공격.
  • CVE(문맥적 예시): 새로운 발견이 있을 때마다 특정 CVE 번호는 변경되지만, "Airborne" 등급의 취약점은 AirPlay 및 관련 네트워크 서비스가 데이터, 페어링 또는 연결을 처리하는 방식의 결함을 대상으로 합니다. 예를 들어, 이 도구에 대한 이전의 가상 논의에서는 CVE-2025-24252(mDNS 문제 관련) 또는 CVE-2025-24132(AirPlay SDK의 버퍼 오버플로 관련)와 같은 CVE를 고려했습니다. 사용자는 항상 조사 중인 취약점에 대한 구체적인 CVE 세부 정보 및 공급업체 권고를 참조해야 합니다.
  • 영향을 받는 OS 버전(일반 지침): 일반적으로 Apple 및 해당 공급업체가 특정 취약점 공개에 대응하여 패치를 출시하기 이전의 iOS, iPadOS, macOS, tvOS 및 타사 AirPlay SDK 버전입니다. 패치된 버전에 대한 정보는 항상 Apple의 공식 보안 업데이트 및 공급업체 권고를 확인하세요.

이 도구의 작동 방식

이 스크립트는 신중하게 구성된 조건자를 사용하여 일련의 log show 명령을 실행합니다. 이러한 조건자는 iOS 시스템 로그의 방대한 정보를 필터링하여 잠재적인 침해 지표 또는 "Airborne" 유형 취약점과 관련될 수 있는 비정상적인 활동을 pinpoint하도록 설계되었습니다.

스크립트는 다음을 찾습니다:

  • AirPlay, 미디어 스트리밍, 네트워크 검색 및 기기 간 통신에 관여하는 중요한 시스템 프로세스(예: mediaserverd, AirPlayXPCHelper, rapportd, mDNSResponder)의 충돌 또는 오류.
  • AirPlay 하위 시스템 또는 Bonjour/mDNS 서비스에서 특별히 기록한 오류.
  • 관련 프로세스가 보고한 비정상적인 네트워크 연결 이벤트(예: 예기치 않은 연결 재설정, 연결 실패).
  • 악용으로 인한 심각한 시스템 불안정을 나타낼 수 있는 커널 패닉.
  • 일반적인 사후 악용 벡터로서 구성 프로필과 관련된 의심스러운 활동.
  • 제한된 환경을 벗어나려는 악용 시도를 나타낼 수 있는 샌드박스 위반 메시지.

각 쿼리의 출력은 타임스탬프가 포함된 결과 디렉터리 내에 설명적인 이름의 개별 텍스트 파일로 저장되어 다양한 유형의 잠재적 아티팩트에 대한 집중 분석이 가능합니다.

사전 요구 사항

  1. macOS 환경: log show 유틸리티와 이 스크립트는 macOS에서 실행되도록 설계되었습니다.
  2. iOS 로그 아카이브(.logarchive): 분석하려는 기기에서 iOS 시스템 로그 아카이브(번들, 기술적으로 디렉터리)가 필요합니다. 일반적으로 다음을 통해 얻을 수 있습니다:
    • Xcode: iOS 기기를 Mac에 연결하고, Xcode를 열고, Window -> Devices and Simulators로 이동하여 기기를 선택한 다음 "View Device Logs" 및 "Export"를 클릭합니다.
    • sysdiagnose: iPhone에서 sysdiagnose를 트리거합니다(보통 Volume Up + Volume Down + Side 버튼을 동시에 누르지만, 모델 및 iOS 버전에 따라 조합이 다를 수 있음). sysdiagnose가 생성된 후(몇 분 정도 소요 가능) Mac에 AirDrop으로 전송하거나 iPhone을 Mac에 동기화할 때 액세스할 수 있습니다(보통 Finder의 iPhone 동기화 위치에서 .tar.gz 파일 내에서 발견됨). .logarchive는 추출된 sysdiagnose 내용물 안에 있습니다.
  3. Bash 셸: 스크립트는 bash로 작성되었습니다.

설치 및 실행

  1. 스크립트 저장: 스크립트 코드(위에 제공됨)를 airborne_artifact_extractor.sh(또는 .sh 확장자를 가진 다른 이름)로 저장합니다.

  2. 실행 권한 부여: 터미널 앱을 열고 스크립트를 저장한 디렉터리로 이동한 후 다음 명령을 실행합니다:

    root@kitploit:~
    chmod +x airborne_artifact_extractor.sh
    
  3. macOS 격리 속성 확인(다운로드한 스크립트에 중요): 인터넷에서 이 스크립트를 다운로드한 경우 macOS가 격리하여 제대로 또는 전혀 실행되지 않을 수 있습니다.

    • 격리 속성이 설정되었는지 확인하려면 다음을 실행합니다:
      root@kitploit:~
      xattr airborne_artifact_extractor.sh
      
    • 출력에 com.apple.quarantine이 포함된 경우 다음을 실행하여 이 속성을 제거합니다:
      root@kitploit:~
      xattr -d com.apple.quarantine airborne_artifact_extractor.sh
      

    특히 스크립트가 ~/Downloads와 같은 디렉터리에 있는 경우 스크립트 실행에 계속 문제가 발생하면 터미널 앱에 스크립트 위치 및 로그 아카이브에 액세스하는 데 필요한 권한(예: 시스템 설정 -> 개인정보 보호 및 보안에서 "전체 디스크 접근 권한")이 있는지 확인하세요.

실행 문제 해결

잘못된 인터프리터 또는 ^M 오류(예: /bin/bash^M: bad interpreter: No such file or directory)

스크립트를 실행할 때 bash: ./your_script_name.sh: /bin/bash^M: bad interpreter: No such file or directory, /usr/bin/env: ‘bash\r’: No such file or directory 또는 \r 또는 ^M 문자가 포함된 유사한 오류 메시지가 나타나면 Windows 스타일 줄 끝(CRLF) 대신 Unix 스타일 줄 끝(LF)을 사용하지 않기 때문일 가능성이 높습니다.

이는 스크립트 파일이 Windows 시스템에서 생성 또는 편집된 후 macOS나 Linux로 변환 없이 전송된 경우 주로 발생합니다. Unix 시스템은 LF만 줄 종결자로 예상하며 추가 CR 문자(\r 또는 ^M)가 인터프리터 경로나 명령의 일부로 잘못 해석됩니다.

해결 방법: dos2unix로 줄 끝 변환

가장 쉬운 방법은 dos2unix 유틸리티를 사용하는 것입니다.

  1. dos2unix 설치:

    • macOS(Homebrew 사용): Homebrew가 없으면 먼저 brew.sh에서 설치합니다. 그런 다음 실행:

      root@kitploit:~
      brew install dos2unix
      
    • Debian/Ubuntu 기반 Linux 배포판:

      root@kitploit:~
      sudo apt update
      sudo apt install dos2unix
      
    • Fedora/RHEL 기반 Linux 배포판:

      root@kitploit:~
      sudo dnf install dos2unix # (또는 이전 버전은 yum)
      
  2. 스크립트 파일 변환: airborne_artifact_extractor.sh가 있는 디렉터리로 이동하여 다음을 실행합니다:

    root@kitploit:~
    dos2unix airborne_artifact_extractor.sh
    

    이 명령은 파일의 줄 끝을 제자리에서 변환합니다.

대체 해결 방법(dos2unix를 사용할 수 없거나 선호하지 않는 경우):

  • sed 사용:

    root@kitploit:~
    sed -i.bak 's/\r$//' airborne_artifact_extractor.sh
    

    (이 명령은 파일을 제자리에서 수정하고 백업 airborne_artifact_extractor.sh.bak을 생성합니다. 일부 sed 버전, 특히 macOS에서는 -i 옵션에 백업 파일 확장자가 필요합니다(예: -i '.bak'). macOS의 경우 sed -i '' 's/\r//g' airborne_artifact_extractor.sh가 필요할 수 있습니다.)

  • tr 사용:

    root@kitploit:~
    tr -d '\r' < airborne_artifact_extractor.sh > airborne_artifact_extractor_unix.sh
    chmod +x airborne_artifact_extractor_unix.sh
    # 그런 다음 airborne_artifact_extractor_unix.sh 사용
    
  • 텍스트 편집기: 대부분의 최신 텍스트 편집기(VS Code, Sublime Text, Atom, Notepad++ 등)에서 줄 끝을 변경할 수 있습니다. 스크립트 파일을 열고 줄 끝 설정(보통 상태 표시줄 또는 파일/편집 메뉴)을 찾아 "CRLF" 또는 "Windows"에서 "LF" 또는 "Unix"로 변경한 후 다시 저장합니다.

줄 끝을 변환한 후 스크립트를 다시 실행해 보세요. 또한 실행 권한(chmod +x airborne_artifact_extractor.sh)이 있는지 확인하세요.

사용법

터미널에서 스크립트를 실행하고 .logarchive 번들의 경로와 선택적 시간 범위 매개변수를 제공합니다:

root@kitploit:~
./airborne_artifact_extractor.sh /path/to/your/iphone_logs.logarchive [time_range_parameters]

인수:

  • R1 (필수): .logarchive 파일/번들의 전체 또는 상대 경로.
  • [time_range_parameters] (선택 사항): 표준 log show 시간 범위 매개변수. 생략하면 스크립트는 기본적으로 --last 7d(최근 7일)의 로그를 분석합니다.
    • 예시:
      • --last 24h (최근 24시간)
      • --last 3d (최근 3일)
      • --start "YYYY-MM-DD HH:MM:SS" --end "YYYY-MM-DD HH:MM:SS" (특정 시간 범위). 중요: 날짜-시간 문자열을 따옴표로 묶어야 합니다.

시간대 구성: 스크립트 상단에 수정할 수 있는 시간대 설정이 포함되어 있습니다:

  • TZ_SETTING: 제공하는 --start 및 --end 인수를 해석하는 데 사용되는 시간대를 정의합니다. 예를 들어 "Etc/GMT-7"(UTC+7에 해당)로 설정하고 --start "2025-04-10 00:00:00"을 사용하면 UTC+7 시간대의 4월 10일 자정으로 처리됩니다. Mac의 현재 로컬 시간대를 이러한 인수에 사용하려면 TZ_SETTING=""으로 설정하거나 해당 줄을 주석 처리하면 됩니다.
  • TIMEZONE_DISPLAY: 출력 로그 파일의 타임스탬프 형식을 지정하기 위해 log show --timezone 옵션을 통해 사용되는 시간대를 지정합니다. 예: UTC+7의 경우 "Asia/Bangkok". 시스템에서 인식하는 시간대 이름을 선택하세요.

명령 예시:

  • 최근 7일 로그 분석(기본 동작):

    root@kitploit:~
    ./airborne_artifact_extractor.sh /Volumes/ExternalHD/iOS_Logs/iPhone13_archive.logarchive
    
  • 최근 48시간 로그 분석:

    root@kitploit:~
    ./airborne_artifact_extractor.sh ./My_iPhone_Sysdiagnose.logarchive --last 48h
    
  • 특정 날짜 및 시간 범위 로그 분석(시간은 TZ_SETTING에 따라 해석됨):

    root@kitploit:~
    ./airborne_artifact_extractor.sh ../Log_Archives/device_XYZ.logarchive --start "2025-04-05 00:00:00" --end "2025-04-06 23:59:59"
    

출력 파일

스크립트는 스크립트와 동일한 디렉터리(또는 스크립트 디렉터리에 쓸 수 없는 경우 현재 작업 디렉터리)에 airborne_traces_YYYYMMDD_HHMMSS(여기서 YYYYMMDD_HHMMSS는 현재 날짜 및 시간)라는 새 디렉터리를 만듭니다. 이 폴더 안에는 각 특정 쿼리의 출력을 포함하는 여러 .txt 파일이 있습니다. 파일 이름은 순서를 위해 숫자로 접두사가 붙습니다:

  • 01_critical_process_errors.txt: 중요 프로세스의 오류 및 결함.
  • 02_process_termination_exceptions.txt: 주요 프로세스의 예기치 않은 종료 또는 예외.
  • 03_kernel_panics.txt: 커널 패닉 이벤트.
  • 04_airplay_subsystem_errors.txt: AirPlay 하위 시스템의 오류 및 결함.
  • 05_mdns_errors.txt: mDNSResponder(Bonjour)의 오류 및 결함.
  • 06_airplay_pairing_auth_failures.txt: AirPlay/rapportd 페어링, 인증 또는 연결 문제.
  • 07_network_connection_errors.txt: 관련 프로세스의 네트워크 연결 오류.
  • 08_networkd_errors.txt: 시스템 networkd 서비스의 오류.
  • 09_sandbox_violations.txt: 샌드박스 위반 관련 메시지.
  • 10_profile_activity.txt: 구성 프로필 관련 활동.

결과 해석

  • 빈 파일은 흔한 현상입니다: 빈 출력 파일은 해당 쿼리 조건과 일치하는 로그 항목이 주어진 시간 범위에 없음을 의미합니다. 많은 경우 이는 좋은 신호로, 특정 의심스러운 지표가 없음을 나타냅니다.
  • 패턴과 상관관계에 집중하세요: 단일 고립된 오류 메시지는 일반적으로 침해를 나타내지 않습니다. 여러 로그 파일에서 오류 클러스터, 의심스러운 이벤트 순서, 또는 비정상적인 기기 동작을 경험했거나 AirPlay와 같은 잠재적으로 취약한 서비스를 사용하던 시간과 상관관계가 있는 오류를 찾으십시오.
  • rapportd 로그의 ECONNRESET(종종 06_... 또는 07_...에 있음): 이는 급격한 TCP 연결 종료를 나타냅니다. 양성 네트워크 문제(불량 Wi-Fi, 라우터 문제)로 인해 발생할 수 있지만, "Airborne" 취약점 조사 맥락에서 면밀한 조사가 필요합니다. 이는 기기 또는 피어 기기에 대한 악용 시도로 인한 불안정성이나 네트워크 간섭을 의미할 수 있습니다.
  • **mediaserverd, AirPlayXPCHelper(종종 01_..., 02_...에 있음)의 충돌(fault 또는 panic 유형) 또는 커널 패닉(03_...)은 일반적으로 "Airborne"이 대상으로 하는 네트워크 상호 작용 중에 예기치 않게 발생하거나 악용 관련 시스템 불안정의 강력한 지표가 될 수 있습니다.
  • 맥락이 중요합니다: 항상 로그 발견 사항을 당시 기기 사용 방식, 네트워크 환경 및 실제 관찰된 증상에 대한 지식과 함께 검토하십시오.

기여

이 리포지토리를 포크하고, 개선 사항을 제안하고, 문제를 보고하거나, 이러한 취약점의 흔적을 식별하는 데 도움이 될 수 있는 더 구체적인 쿼리를 추가해 주세요.

도구 다운로드