본문 바로가기

보안13

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 탈옥 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 앱 생명 주기 iOS 생명주기 Not Running: 실행되지 않거나 종료된 상태 Inactive: 앱이 forground에서 실행 중이지만 이벤트나 알림을 받지 않음 Active: Forground에서 이벤트를 받을 수 있음. Background: Background 상태로 실행되어 사용자 상호작용 없이 코드를 실행함. Suspended: Background 상태로 메모리에 존재하지만 코드를 실행하지 않음. 참고 https://developer.apple.com/documentation/uikit/app_and_environment/managing_your_app_s_life_cycle 2022. 12. 5.
iOS 보안 모델 iOS 보안 모델 하드웨어 수준 보안을 제공 주요기능 보안구조를 하드웨어, 운영체제, 애플리케이션 레벨로 계층화 하드웨어/펌웨어 레벨에서 암호화가 진행 애플리케이션은 샌드박스 기술을 사용함 암호화를 통한 데이터 보호 코드서명 iOS 보안 부트 체엔 보안 부트체인 메커니즘을 사용하여 부트 프로세스에서 보안을 제공 부트 수준에서 감염되는 많은 루트킷과 멀웨어가 있기 때문에 각 단계별로 무결성 검사를 통해 위변조 검증 이것을 통해 iOS가 확인된 애플 디바이스에서만 실행될 수 있음.Boot ROM 절대적으로 신뢰할 수 있는 초기 단계 프로세서(보안칩, CPU)에 코드가 포함되어있어 업데이트 또는 변경 불가 Apple 루트인증서가 포함되어 다음 단계인 LLB(Low Level Bootloader)가 올바르게 서.. 2022. 12. 5.
iOS 앱 덤프하기 frida-ios-dump iOS 앱을 정적분석하기 위해서는 복호화된 ipa파일이 필요하다. 이번 포스트에서는 frida-ios-dump를 이용해 복호화된 ipa파일을 추출하는 법을 알아보겠다. 0. 준비 우선 탈옥된 아이폰, ssh가 접속되는 아이폰이 필요하며, PC에는 frida가 설치되어 있어야한다. 아직 안되어있다면 이전 포스트를 참고하라. https://lucidmaj7.tistory.com/379 아이폰 탈옥하기 with checkra1n (iOS 12.5.6) 집에서 굴러다니던 아이폰6를 unc0ver로 탈옥을 하고 나서 애플 계정세팅을 다시하려고 초기화를 해버렸는데.. 무조건 최신버전으로 올라가버려 12.5.6이되어 버렸다. 때문에 더 이상 내 아이폰6은 lucidmaj7.tistory.com https://luci.. 2022. 10. 19.
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.
iOS 버전별 기기별 호환 탈옥툴 조회, 펌웨어 조회 - appledb.dev iOS탈옥툴도 여러가지이며 각 탈옥툴마다 지원하는 iOS버전도 다르다. 현재 iOS 최신버전은 어떤 탈옥 툴을 지원하는지 잘 정리해 두는 사이트가 있어 소개 해본다. https://appledb.dev AppleDB | AppleDB appledb.dev appledb.dev에서는 애플기기별 펌웨어 정보도 모아둔다. 이렇게 12.5.6 최신버전으로 올린 내 아이폰6도 탈옥할 수 있는 툴이 있음을 알 수 있었다. 2022. 10. 13.