컴파일된 애플리케이션에서 권한 추출
Reading time: 3 minutes
tip
AWS 해킹 배우기 및 연습하기:HackTricks Training AWS Red Team Expert (ARTE)
GCP 해킹 배우기 및 연습하기: HackTricks Training GCP Red Team Expert (GRTE)
HackTricks 지원하기
- 구독 계획 확인하기!
- **💬 디스코드 그룹 또는 텔레그램 그룹에 참여하거나 트위터 🐦 @hacktricks_live를 팔로우하세요.
- HackTricks 및 HackTricks Cloud 깃허브 리포지토리에 PR을 제출하여 해킹 트릭을 공유하세요.
권한 및 모바일 프로비전 파일 추출
앱의 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의 원본 entitlements 파일을 성공적으로 복구한 것을 확인할 수 있습니다.
탈옥된 장치에서 접근한 앱 바이너리(예: SSH를 통해)에서는 grep 명령어와 -a, --text
플래그를 사용하여 모든 파일을 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
)를 활용하는 것이 더 효과적인 결과를 얻는 데 바람직합니다.
tip
AWS 해킹 배우기 및 연습하기:HackTricks Training AWS Red Team Expert (ARTE)
GCP 해킹 배우기 및 연습하기: HackTricks Training GCP Red Team Expert (GRTE)
HackTricks 지원하기
- 구독 계획 확인하기!
- **💬 디스코드 그룹 또는 텔레그램 그룹에 참여하거나 트위터 🐦 @hacktricks_live를 팔로우하세요.
- HackTricks 및 HackTricks Cloud 깃허브 리포지토리에 PR을 제출하여 해킹 트릭을 공유하세요.