탈옥11 TheOS를 이용한 MobileSubstrate Tweak 빌드하기 주의) 본 포스트는 연구목적을 위해 작성되었습니다. 절대 악의적인 행위를 시도하지 마세요. 책임은 절대 본인에게 있습니다. This post is intended for research purposes. Never try anything malicious. The responsibility is absolutely up to you. 本郵報是爲研究目的而寫的。千萬不要嘗試惡意行爲。責任絕對在於本人。 本ポストは研究目的のために作成されました。絶対に悪意のある行為を試みないでください。責任は絶対本人にあります。 1. TheOS 설치 bash -c "$(curl -fsSL https://raw.githubusercontent.com/theos/theos/master/bin/install-theos)" 설치가 완료되면 다른 터.. 2023. 2. 25. USB터널링을 통한 탈옥 아이폰 SSH 접속하기(with iproxy) 아이폰을 탈옥하게 되면 보통 22번포트 ssh로 접속하게되나 맥 또는 PC와 아이폰 간 네트워크 통신이 되지 않을 때에는 다른 방법을 이용해야 한다. 바로 USB터널링을 통해 맥에 아이폰을 USB로 연결하고 ssh로 접속 하는 것이다. 이 때 사용하게 되는 프로그램이 iproxy라는 프로그램인데 iproxy는 localhost의 특정 포트를 USB에 연결된 아이폰의 특정 포트로 터널링 해주는 기능을 수행한다. 사용 방법과 설정 방법은 매우 간단하다. 1. usbmuxd 설치 우선 usbmuxd를 homebrew로 설치해 준다. brew install usbmuxd 정상적으로 설치가 완료되면 terminal에서 iproxy명령어를 입력하면 다음과 같이 출력된다. 2. USB로 아이폰 맥과 연결하기 다음은 .. 2023. 2. 25. iOS 탈옥 탐지 대응 방안 ptrace ptrace함수를 사용해 프로세스에 디버거를 attach하는 것을 방지 할 수 있음. iOS는 XNU 커널 기반으로 ptrace 시스템 콜 구현 ptrace는 공개 API가 아니기 때문에 App Store에서 등록을 거부 할 수 있음 dlsym을 통해 동적로드 호출 #import #import #import typedef int (*ptrace_ptr_t)(int _req, pid_t _pid, caddr_t _addr, int_ data); void anti_debug() { ptrace_ptr_t ptrace_ptr = (ptrace_ptr_t)dlsym(RTLD_SELF, "ptrace"); ptrace_ptr(31,0,0,0); // PTRACE_DENY_ATTACH = 31 } sy.. 2022. 12. 18. iOS 탈옥 탐지 기법 몇 가지 파일 기반 탈옥 탐지 파일 기반으로 탈옥 여부 탐지 탈옥 관련된 파일 및 디렉터리를 확인 파일 권한 확인 파일 권한을 확인하여 탈옥 여부를 확인 애플리케이션의 샌드박스 외부에 파일 생성을 시도하는 것으로 확인 가능 /private 경로에 파일을 생성하도록 하여 성공한다면 디바이스는 탈옥 된 것으로 간주. 프로토콜 핸들러 확인 프로토콜 핸들러를 확인 하여 탈옥 여부 확인 프로토콜 핸들러란 특별한 URL을 처리하는 프로그램으로 cydia:// 프로토콜 핸들러를 사용하여 시디아에서 설치 가능 Cydia URL을 열어 프로토콜 핸들러 확인가능. 거의 모든 탈옥 툴이 기본적으로 설치하는 cydia앱은 cydia:// 프로토콜 핸들러를 설치함 시스템 API 호출 시스템 API를 호출하여 탈옥 여부 확인가능 탈옥 되.. 2022. 12. 14. iOS Local Data Storage 저장소 취약점 plist 애플리케이션 데이터 및 설정 정보를 저장하는데 사용하는 xml파일 저장된 정보는 암호화 되지 않아 중요한 정보를 저장하면 안됨 Info.plist에는 버전정보, 실행 가능한 바이너리 이름, 지원되는 iOS 버전 및 디바이스 모델 등의 정보가 저장됨. UserDefault UserDefault 취약점에서는 NSUserDefaults 클래스를 사용하여 저장 사용자 기본 설정 및 속석을 저장하는 가장 일반적인 방법 중 하나 애플리캐이션을 종료하고 재시작해도 정보를 계속 유지 로그인 상태를 저장에 사용 될 때도 있음(계정정보, 접근 토큰 등) NSUserDefaults로 저장한 데이터는 암호화 되지 않은 상태로 plist파일에 저장. Keychain iOS키체인은 암호화 키와 세션토큰과 같은 짧고 민.. 2022. 12. 11. iOS 애플리케이션 디렉터리 구조 /Applications/app_name.app 사전에 설치된 애플리케이션 및 탈옥 애플리케이션 디렉터리 삭제하면 재설치 불가능 /var/containers/Bundle/Application/UUID 앱 스토어 애플리케이션 디렉터리(번들 컨테이너) 새로 설치 될 때 마다 UUID가 변경됨 /var/mobile/Containers/Data/Application/UUID 데이터 디렉터리 모든 애플리케이션 내부 데이터를 저장 샌드박스로 인해 탈옥 되지 않은 디바이스의 특정 애플리케이션에서만 접근 가능함 A앱은 A데이터 디렉터리만 접근 가능 /var/Keychains/keychain-2.db iOS Keychain 사용자 이름, 암호, 네트워크암호, 인증 토큰과 같은 민감한 정보를 저장하는 공간 sqlite 데.. 2022. 12. 10. iOS 탈옥 Cydia 추천 트윅 iOS탈옥하면 설치되는 Cydia의 추천트윅을 정리해 보았다. 1. Apple File Conduit "2" Apple File Conduit "2"는 PC에서 직접 아이폰 내부 폴더에 접근이 가능하게 해준다.(iFunbox 와 함께 사용) https://www.i-funbox.com/en/page-download.html iFunbox | the File and App Management Tool for iPhone, iPad & iPod Touch. www.i-funbox.com 2. Filza File Manager 아이폰, 아이패드, 아이팟 터치용 파일관리자 3. MTerminal 모바일 터미널 환경 제공 4. Darwin CC Tools Otool도구를 사용하기 위해 설치 6. OpenSSH S.. 2022. 12. 6. iOS 프리다(Frida) 세팅하기 이번 포스트에서는 iOS 앱을 동적 분석하는데 가장 많이 쓰이고 있는 프리다(Frida)를 세팅해 보겠다. Frida를 사용하는데 Windows든 macOS든 상관이 없으므로 Windows에서 진행하겠다. 0. 탈옥, 아이튠즈, python3 설치 아이폰이 PC에서 아이폰으로 인식하기 위해 아이튠즈가 설치 되어있어야 하며, 프리다(Frida)를 설치하고 사용하기 위해 python3를 설치 해야한다. 당연히 아이폰은 탈옥된 아이폰이어야 한다. 아이폰 탈옥 방법은 이전 포스트를 참고하자. https://lucidmaj7.tistory.com/372 아이폰 탈옥하기 (iPhone Jailbreak with unc0ver, Altstore) 어쩌다보니 iOS 보안쪽 프로젝트를 하게 되면서( 보안을 벗어나나..싶.. 2022. 10. 14. 아이폰 탈옥하기 with checkra1n (iOS 12.5.6) 집에서 굴러다니던 아이폰6를 unc0ver로 탈옥을 하고 나서 애플 계정세팅을 다시하려고 초기화를 해버렸는데.. 무조건 최신버전으로 올라가버려 12.5.6이되어 버렸다. 때문에 더 이상 내 아이폰6은 unc0ver로 탈옥이 불가능해졌다. appledb.dev 사이트에서 조회 해본 결과 checkra1n 탈옥툴로 iOS 12.5.6이 올라간 아이폰6를 탈옥 할 수 있는 것으로 나왔다. 바로 실행해본다. 1. checkra1n 다운로드 일단 macOS환경에서 checkra1n사이트에서 툴을 다운로드 받는다. checkra1n 0.12.4 beta 최신버전을 다운로드 받으면 dmg 패키지 파일이 다운로드 된다. checkra1n을 Application폴더로 드래그 앤 드롭 하여 설치한다. 2. checkra1.. 2022. 10. 13. 이전 1 2 다음