App Store에 올라가는 Application의 IPA 파일은 자동으로 Encrypt된다. 따라서 우리가 분석을 위해서 IPA를 PC로 추출하기 위해서는 반드시 Decrypt과정과 임의의 서명과정을 거쳐야만 한다. IOS 11 이전에는 Clutch를 사용해 Decrypt를 수행했다. 그러나 막히면서 이상 상위 버전에서는 CrackerXI 혹은 frida-ios-dump를 이용해 Decrypt 과정을 수행합니다. [ CrackerXI 사용법 ] 1. Cydia의 소스에탭에서 편집-추가에 http://cydia.iphonecake.com/ 을 입력해 추가한다. 2. AppCake가 생기면 거기에 포함된 CrackerXI를 설치한다. 3. 앱 실행후 새로고침을 누르면 추출가능한 APP List가 나온다. ..
사용자가 Keypad를 통해서 어떤 민감한 데이터(ID나 Password와 같은)를 Application에 입력하고 이 Data가 이후에도 Memory상에 존재하는 경우 취약점이 발생할 수 있다. 입력후 환경에서 Memory Dump를 통해 이를 확인할 수 있다. 그래서 이번 포스팅에서는 특정 시점에 Memory Dump를 하는법에 대해서 소개하고, 그 Memory Dump를 활용하는 정말 기초적인 수준의 내용을 소개한다. Python2가 설치된 환경에서는 Fridump, Python3가 설치된 환경에서는 Fridump3를 사용하면 된다. Fridump : https://github.com/Nightbringer21/fridump Nightbringer21/fridump A universal memory..
http://damnvulnerableiosapp.com/ DVIA (Damn Vulnerable iOS App) | A vulnerable iOS app for pentesting Downloads Swift Version (April, 2018) – Download the IPA file from here here Github – Here Make sure to read this for instructions on how to install the app on any device (jailbroken or not jailbroken), and how to compile the app with Xcode. This versi damnvulnerableiosapp.com 에서 IPA 파일을 다운로드 받는..
Java.available : 현재 프로세스에 JavaVM이 로드되어 있는지 Boolean값 Java.androidVersion : 실행중인 Android 버전을 지정하는 문자열값 Java.enumerateLoadedClasses(callbacks) : 현재 로드된 클래스를 열거한다. 여기서 callbacks는 onMatch, onComplete를 지정하는데, onMatch는 로드된 각 클래스에 대해 호출하고, onMatch: function(className)을 통해 className을 지정할 수 있다. 그리고 onComplete는 모든 클래스가 열거 될 때 호출된다. Java.scheduleOnMainThread(fn) : fn은 VM의 메인스레드에서 동작한다. (흐음.....?) Java.choos..
이번 포스팅에서는 x64 환경에서 IAT Hooking을 통해 Microsoft에서 제공되는 Notepad 프로그램의 WriteFile API를 후킹하는 실습을 진행해본다. WriteFile API는 파일을 저장할 때 호출되는 API 이다. 이 때 저장되는 내용을 MessageBoxA API로 띄우도록 해당 API를 Hooking해보도록 한다. [ IAT64.dll ] 여기서 WriteFile이 존재하는 DLL을 api-ms-win-core-file-l1-1-0.dll으로 지정했는데 PE 구조를 살펴본 결과 IAT 상에 저 DLL에 WriteFile API가 존재하기 때문에 저렇게 했다. 그러나, 노트북으로 할 때는 KERNEL32.dll 이기 때문에 다시 수정해서 진행했다. ( 반드시 PE구조를 살펴본..