Snoop-it 을 이용해서 iOS 앱 분석하기

 

Notice : 해당 자료가 저작권등에 의해서 문제가 있다면 바로 삭제하겠습니다.
연구목적으로 사용하지 않고 악의적인 목적으로 이용할 경우 발생할 수 있는 법적은 책임은 모두 본인에게 있습니다.

iOS 앱 보안진단을 위한 환경설정
iOS 앱 정적 분석하기(class-dump-z, clutch)
Objective-C Runtime의 이해와 gdb attach 하기
iOS 앱 Cycript를 이용항 동적분석 및 변조
개발자 등록하지 않고 iOS 기기에 앱 설치 하기
Cycript 를 이용해 iOS 앱 로그인 우회 실습
Snoop-it 을 이용해서 iOS 앱 분석하기

Snoop-it 을 이용해서 iOS 앱 분석하기

1. Snoop-it 설치

여러가지 방법이 있지만 나는 제일 간편한 Cydia 에서 설치했다.
만약 Cydia 검색이 안된다면, NESO Security Lab GmbH Source(http://repo.nesolabs.de/) 추가한다.

Snoop-it_1

2. 분석할 앱 선택

Snoop-it_2

인증정보와 접속 ip를 확인한다.
Snoop-it_3

3. WEB UI으로 앱 분석
먼저 ip으로 접속하면 아래와 같은 화면을 볼 수 있다.
Snoop-it_4

그리고 ipad 에서 MethodSwizzlingDemo 앱을 실행한다.
다시 ip으로 접속해보면 아래와 같이 보인다.
Snoop-it_5

Objective-C classes 메뉴에서 해당앱의 class들과 메소드를 확인할 수 있고 setup and invoke 버튼으로 메소드를 호출도 할 수 있다.
Snoop-it_6

View Controller 메뉴에서, 해당 메소드를 강제로 보이게 할 수도 있다.
Snoop-it_7

Hardware Identifier 메뉴와 Fake Location에서는 실시간으로 디바이스 정보(Mac address, UDID, device model number 등)를 변조하거나 위치정보를 변조할수 있다.
Snoop-it_8

Method Tracing 메뉴에서는 메소드 호출 이나 시스템 콜의 흐름을 분석할수 있다.
Snoop-it_9

Monitoring 의 Filesystem 메뉴에서는 앱이 접근하는 파일의 목록을 확인할 수 있다.
Snoop-it_10

sensitive API 메뉴에서는 연락처나 사진첩, 가상 키보드 등의 iOS 내장 API 사용에 대한 모니터링을 할 수 있다.
Snoop-it_11

그이외에도 키체인 접근이나 네트워크 사용에 대한 모니터링도 할수 있다.

참고 :
https://code.google.com/p/snoop-it/
http://highaltitudehacks.com/2013/08/20/ios-application-security-part-9-analyzing-security-of-ios-applications-using-snoop-it/
http://de.slideshare.net/andreaskurtz/pentesting-i-os-apps-deepsec-2012-andreas-kurtz-15423426

 

This entry was posted in Objective-C/iPhone, Security/Hacking and tagged , . Bookmark the permalink.

댓글 남기기