iOS Extracting Entitlements From Compiled Application

htARTE (HackTricks AWS Red Team Expert)를 통해 AWS 해킹을 처음부터 전문가까지 배워보세요!

HackTricks를 지원하는 다른 방법:

페이지 요약 https://mas.owasp.org/MASTG/tests/ios/MASVS-PLATFORM/MASTG-TEST-0069/#review-entitlements-embedded-in-the-compiled-app-binary

권한 및 모바일 프로비전 파일 추출

IPA 파일이나 탈옥된 기기에 설치된 앱을 다룰 때 .entitlements 파일이나 embedded.mobileprovision 파일을 직접 찾을 수 없을 수 있습니다. 그러나 권한 속성 목록은 여전히 앱 바이너리에서 추출할 수 있으며, 특히 "iOS 기본 보안 테스트" 장에서 "앱 바이너리 획득" 섹션에 설명된 절차를 따를 수 있습니다.

암호화된 바이너리라도 이러한 파일을 추출하기 위해 특정 단계를 사용할 수 있습니다. 이러한 단계가 실패하는 경우, Clutch(해당 iOS 버전과 호환되는 경우), frida-ios-dump 또는 유사한 도구를 사용하여 앱을 복호화하고 추출해야 할 수도 있습니다.

앱 바이너리에서 권한 Plist 추출

컴퓨터에서 앱 바이너리에 액세스할 수 있는 경우, binwalk를 사용하여 모든 XML 파일을 추출할 수 있습니다. 아래 명령은 이를 수행하는 방법을 보여줍니다:

$ binwalk -e -y=xml ./Telegram\ X

DECIMAL       HEXADECIMAL     DESCRIPTION
--------------------------------------------------------------------------------
1430180       0x15D2A4        XML document, version: "1.0"
1458814       0x16427E        XML document, version: "1.0"

대신, radare2를 사용하여 조용히 명령을 실행하고 종료할 수 있으며, 앱 바이너리에서 "PropertyList"를 포함하는 모든 문자열을 검색할 수 있습니다:

$ r2 -qc 'izz~PropertyList' ./Telegram\ X

0x0015d2a4 ascii <?xml version="1.0" encoding="UTF-8" standalone="yes"?>...
0x0016427d ascii H<?xml version="1.0" encoding="UTF-8"?>...

두 가지 방법인 binwalk와 radare2는 plist 파일을 추출할 수 있으며, 첫 번째 파일(0x0015d2a4)을 검사하면 Telegram의 원본 권한 파일이 성공적으로 복구되었음을 확인할 수 있습니다.

탈옥된 기기에서 앱 이진 파일에 접근하는 경우 (예: SSH를 통해), -a, --text 플래그와 함께 grep 명령을 사용하여 모든 파일을 ASCII 텍스트로 처리할 수 있습니다:

$ grep -a -A 5 'PropertyList' /var/containers/Bundle/Application/...

-A num, --after-context=num 플래그를 조정하여 더 많거나 적은 줄을 표시할 수 있습니다. 이 방법은 암호화된 앱 이진 파일에 대해서도 유효하며, 여러 App Store 앱에서 확인되었습니다. 이전에 언급된 도구들은 유사한 목적으로 탈옥된 iOS 기기에서도 사용할 수 있습니다.

참고: 이 작업에 strings 명령어를 직접 사용하는 것은 권장되지 않습니다. 관련 정보를 찾는 데 제한이 있기 때문입니다. 대신, 이진 파일에 대해 -a 플래그를 사용하여 grep을 사용하거나, 더 효과적인 결과를 얻기 위해 radare2 (izz) 또는 rabin2 (-zz)를 활용하는 것이 좋습니다.

htARTE (HackTricks AWS Red Team Expert)를 통해 AWS 해킹을 처음부터 전문가까지 배워보세요!

HackTricks를 지원하는 다른 방법:

Last updated