본문 바로가기

IOS12

[iOS] 1.1. 소스코드 난독화 및 암호화 취약점 이번엔 iOS에서 소스코드 난독화 및 암호화 취약점에 대해 분석해보고 대응 방안을 수립해보도록 하겠다.iOS에서 소스코드를 분석하기 위해서는 먼저 파일을 만들기 위해 앱을 IPA로 추출하는 과정이 선행되어야하며 그 후 IDA나 GHIDRA와 같은 툴을 사용해 내부 소스코드 로직을 분석하게 된다.IPA를 추출했으면 IPA 파일의 압축을 해제한다.IPA 압축을 해제하고 내부를 확인하면 ‘파일’ 유형을 가진 가장 용량이 높은 파일이 존재한다.이 파일을 Ghidra에서 호출하면 되는 것이다.불러오기 후 Analyze 작업이 뜨는데 Analyze까지 끝나게 되면 그때부터 정상적으로 분석이 가능해진다.여기서 메뉴 상단의 Search - For Strings 메뉴에 접근함으로써 String을 검색할 수 있게 된다.탈.. 2024. 6. 19.
동적 디버깅 하는 방법 개요동적 디버깅이란 어떤 로직이 호출되는지 해당 부분만 파악하기 위해 앱 구동 시 어떠한 로직이 동작하는지 하나씩 확인할 수 있는 방법으로 루팅 탐지 등 다양한 로직을 분석할 수 있는 방법이다.진행동적 디버깅을 하기 위해서는 아래의 작업을 먼저 진행해야 한다.AndroidManifest.xml(서비스, 구성요소, 액세스 권한 등 정보 포함)에서 설정 활성화  2. getprop | grep ro.debuggable 값이 1로 변경되면 디버깅 모드 활성화, 해당 값이 1이면 Manifest 설정 값에 관계없이 debug 모드 진입그 후 JEB 상단 벌레모양 디버거를 실행, 프로세스에 진단할 패키지 명 검색 후 더블 클릭한다.루팅 탐지 등 로직에서 디버깅을 하고싶은 경우 해당 코드 부분의 Smali 파트로.. 2024. 6. 19.
[Android, iOS] Burp Suite 프록시 도구로 패킷 잡는법 + SSL Pinning 개요모바일 앱에서 취약점 진단을 할 때 무결성 검증 우회나 디바이스 임의 개조 탐지 등 모바일 앱 자체적인 취약점을 도출하기도 하지만 당연히 웹처럼 이루어지는 모바일 앱 내부의 기능도 진단을 한다.이를 위해서는 Burp Suite와 같은 프록시 도구로 모바일 앱에서 이루어지는 클라이언트-서버간 통신 패킷을 캡처해야하는데 이는 별도로 세팅을 해줘야 한다.[ Android ]먼저 안드로이드에서 Burp Suite 패킷을 잡는 방법이다.1. 노트북 와이파이 핫스팟 키고 모바일 기기 와이파이를 핫스팟과 연결2. 버프슈트 Proxy Setting에 All interface, 7777 포트 설정3. 모바일 단말기 와이파이의 프록시 설정 수동 - 노트북 무선 Wi-Fi iP 주소와 7777포트로 설정4. 모바일 단말.. 2024. 6. 19.
[iOS] IPA 추출하기 아이폰에서 진단하기 위한 앱을 다운로드 받는 경우 보통 앱스토어에서 설치하거나 TestFlight(테스트용 앱을 배포하여 다운로드받는 앱)를 사용하여 다운받는 경우가 많다.이러한 앱을 PC로 꺼내서 분석하기 위해서는 앱을 IPA로 추출하는 과정이 반드시 필요하다.IPA 추출에는 아래의 2가지 방식을 주로 사용한다.CrackerXI+ 앱 사용탈옥을 진행하고 나면 CrackerXI+라는 앱을 설치할 수 있게 된다. 해당 앱에 접근 후 설정에서 아래의 설정 값을 적용한다.설정 값을 적용하고 AppList로 돌아가서 IPA 추출을 원하는 앱을 터치하면 IPA가 추출되는 방식이다.이 방식은 IPA를 추출하기 가장 편리한 방식이지만 앱이 AppList에 뜨지 않는 경우나 에러가 발생하는 경우가 많다. 그렇게 된 경.. 2024. 6. 19.