모바일 모의해킹을 위해서는 안드로이드의 경우 루팅, IOS의 경우 탈옥이 필요하다.
루팅 및 탈옥이 필요한 이유는 Frida를 통해서 후킹하기 위함이다.
그럼 후킹은 뭐고 왜 하는 거냐고 물어볼 거다.
위키피디아에선 '후킹(영어: hooking)은 소프트웨어 공학 용어로, 운영 체제나 응용 소프트웨어 등의 각종 컴퓨터 프로그램에서 소프트웨어 구성 요소 간에 발생하는 함수 호출, 메시지, 이벤트 등을 중간에서 바꾸거나 가로채는 명령, 방법, 기술이나 행위를 말한다.' 라고 설명되어 있다.
뿐만 아니라 Frida는 후킹을 편리하게 해주는 도구이다.
그럼 Frida를 설치하면서까지 후킹을 하는 이유는 뭘까. 보안 솔루션을 우회하기 위해서이다.
앱에는 여러 보안 회사들의 솔루션이 존재한다. 모의해킹을 진행할 때 고객사에서 해당 솔루션들을 내려준다면 정말 더할 나위가 없지만, 가끔 어쩔 수 없는 이유로 솔루션을 우회해야하는 경우가 존재한다. 가끔 솔루션을 내려줬는데도 다른 솔루션을 미쳐 파악하지 못해 차단되는 경우나 아니면 SSL 피닝 때문에 패킷을 보는게 불가능하다던지.
이런 경우 때문에 후킹을 편리하게 해주는 Frida를 사용해 보안 솔루션을 우회해 모의해킹 진단을 진행하게 된다.
이를 위해선 안드로이드에선 루팅이, IOS에선 탈옥이 선행되어야 한다. 안드로이드에선 한번만 루팅해도 계속 그 루팅되는게 지속되지만, IOS의 경우 탈옥 중 반탈이 기본이다. 반탈의 경우 핸드폰의 전원이 꺼지게 된다면 탈옥이 풀리게 된다. 핸드폰이 꺼질 때마다 탈옥을 매번 해줘야한다.
이 때문에 앞으로 자주 IOS 탈옥을 하게 될 거 같아 블로그에 정리한다.
checkra1n의 경우 ios 12.3에서 14버전까지 된다고 나와있어, 나의 경우 iOS 15.0 - 17.1를 지원하는 Palera1n을 이용해 탈옥을 진행했다.
sudo /bin/sh -c "$(curl -fsSL https://static.palera.in/scripts/install.sh)"
아이폰에서 컴퓨터의 연결을 허용해준다.
'palera1n -B -f' > palera1n에서 시키는데로 왼쪽 음량버튼과 전원버튼을 누른다(5초) > 이후 왼쪽 음량버튼만 누른다(10초)
palera1n -B -f
<Error>: Timed out waiting for download mode (error code: -status_exploit_timeout_error)

palera1n -f
palera1n에서 시키는데로 왼쪽 음량버튼과 전원버튼을 누른다(5초) > 이후 왼쪽 음량버튼만 누른다(10초).
탈옥이 완료된다.
탈옥을 진행해보니, 4번의 경우 최초의 경우에만 해도 되는 것 같다. 만약 전원이 꺼져 탈옥이 풀리는 경우라면 6번부터 진행해도 된다.
터미널에서 무한 로딩이 걸리는 경우, 음량 위, 음량 아래를 순서대로 빠르게 누르고 전원버튼을 눌러 강제 종료 시킨다(iPhone 8의 경우). 잘 안 되는 경우도 있으니 배터리 방전될 때까지 기다리는 것도 하나의 방법.
https://checkra.in/ > Download for Mac Os를 통해 dmg 파일 다운.
dmg 파일을 이용해 application에 설치.
실행 시, '개발자를 확인할 수 없기 때문에 ‘checkra1n’을(를) 열 수 없습니다.' 와 같은 문구가 나온다면 Finder > 응용 프로그램으로 접속해 실행.
핸드폰을 연결하고 start를 눌러 순서대로 진행.

checkra1n에서 시키는데로 왼쪽 음량버튼과 전원버튼을 누른다(5초) > 이후 왼쪽 음량버튼만 누른다(10초). 중간마다 Mac에서 핸드폰 연결 알림이 나올텐데 허용한다.
재부팅하게 되면 탈옥 성공.