Android reversing - Plan
·
Mobile_security
0. 준비물1. 루팅 된 휴대폰 기기 [노트북 유선 연결]2. adb 설치3. IDA, JEB, JADX gui 설치4. frida-server 및 frida 설치 1. APK 다운로드https://apkpure.com/kr/ APKPure: 안드로이드에서 무료 APK 다운로드기로 APK 다운로드APKPure는 안드로이드용 무료 APK 다운로드 프로그램입니다. 안전하고 신뢰할 수 있으며 바이러스가 없습니다. APKPure를 사용하면 인기 있는 앱과 게임을 쉽게 다운로드하고, APK/XAPK 파일을 안드로apkpure.com 진단하기 앞서 APK 가 필요하기에 원하는 애플리케이션을 선택하여 APK를 다운로드하아야 한다. 2. adb install원하는 app를 다운로드했다면 휴대폰에도 설치를 해줘야 한다..
Mobile tools - apk signer (서명 도구)
·
Mobile_security/tool
1.apk signer?안드로이드 앱을 변조(리패키징) 한 후 기기에 설치하기 위해 필수적으로 수행해야 하는 디지털 서명 도구이다.2. 설치Android SDK Build-Tools에 포함되어 있다. (안드로이드 스튜디오 설치하면 포함되어 있음) 예시 경로 ) Android\Sdk\build-tools\버전\ 또 JDK에 포함된 Keytool 이 필요하다. (Java 설치 시 포함) 예시 경로 ) C:\Program Files\Java\jdk-17\bin3. 기본 개념구성요소설명Keystore개인키 저장소Key alias키 이름Passwordkeystore / key 비밀번호SignatureAPK 무결성 + 신뢰 보장 APK는 서명 없으면 설치가 불가하다. 4. 사용 방법4-1. Keystore 생성C:..
0.IOS - APP Environment (앱 환경)
·
Mobile_security/IOS
1. UIKit 란?UIKit은 2008년 아이폰의 탄생과 함께 등장한 IOS 애플리케이션 개발의 가장 기본이 되는 UI 프레임워크다.오늘날 IOS 앱의 실행 구조와 생명주기는 대부분 UIKit을 기준으로 설계되어 있다. 방식 (How) : 명령형 (Imperative)UIKit은 명령어 방식을 따른다.개발자가 화면에 무엇을, 언제, 어떻게 보여줄지를 순서대로 직접 지시해야 한다. 이는 요리사에게 "냉장고에서 달걀을 꺼내고, 팬을 달군 뒤 기름을 두르고, 달걀을 깨서 익혀라."라고 말하는 것과 같다. 따라서 각 단계가 명확하고 통제 가능하지만, 모든 과정을 직접 관리해야 한다. 특징UI 요소의 생성, 수정, 삭제를 개발자가 직접 제어화면 구조와 이벤트 흐름이 명확함복잡한 화면일수록 코드 양이 빠르게 증..
0. Android - NDK 학습
·
Mobile_security
0. 학습모바일 보안, 특히 안드로이드 네이티브 레벨의 보안(리버싱 방지, 취약점 분석, 악성코드 분석 등)을 공부하기 위해서는 NDK는 필수적인 관문이다. 안드로이드 앱의 핵심 로직이나 보안 모듈은 주로 C/C++로 작성되며 '. so' 파일 형태로 존재하기 때문이다. 1. NDK 기초와 JNI 메커니즘먼저 안드로이드 스튜디오 설치 후 경로: File > Settings (macOS는 Android Studio > Settings) > Languages & Frameworks > Android SDK.학습에 필요한 필수 항목들을 체크하여 설치 해준다. NDK (Side by side): 네이티브 코드를 빌드하는 핵심 도구.CMake: 빌드 스크립트를 관리하는 도구.LLDB: 네이티브 코드 전용 디버..
0. Android - 아키텍처
·
Mobile_security
0. 참고 영상https://www.youtube.com/watch?v=qX6zmKY4KP0&t=266s 일단 이 영상을 보고 내용을 정리한 것이다. 1. 아키텍처란?아키텍처란 앱을 구성하는 책임 분리 원칙, 데이터 흐름, 의존성 방향 규칙들의 집합이다. 쉽게 설명하면 하나의 서비스가 어떻게 구성되며 어떻게 동작이 되는 흐름 안드로이드 앱을 예로 들면:화면(UI)비즈니스 로직데이터 처리(DB, Network)상태 관리이 요소들이 어떤 방향으로 의존하고, 어디서 변경이 허용되는지를 정하는 게 아키텍처다. 2. 확장 가능한 아키텍처 구축원래의 아키텍처가 확장이 불가능한 게 아니라 잘못 설계된 아키텍처가 확장이 어렵다는 문제점을 가지고 있었기 때문에 좋게 설계 방식을 제안하는 의미로 이야기하는 것이다. 앱의..
0. Android,IOS - 모바일 사전 지식 정리
·
Mobile_security
1-1. 모바일 앱 모의해킹이란?모바일 앱 모의해킹은 실제 공격자의 관점에서 모바일 애플리케이션(APP)의 보안 취약점을 식별하고 검증하는 작업이다. 1-2. 주요 목적앱 내 민감정보 노출 여부 확인인증/인가 우회 가능성 검증비즈니스 로직 취약점 발견클라이언트-서버 통신 보안 검증리버스 엔지니어링 방어 수준평가 2-1. Android 플랫폼 특징오픈소스 기반(Linux 커널 사용)여러 회사가 안드로이드를 자유롭게 커스터마이징해서 사용할 수 있음다양한 제조사 (삼성,LG,구글등)아이폰은 애플에서만 제작하지만 안드로이드는 여러 제조사가 만들어 스마트폰 종류가 매우 다양높은 커스터마이징 자유도화면 테마, 런처, 위젯 등 사용자가 바꿀수 있는게 많음개발자도 앱 기능을 자유롭게 확장하기가 유리함구글 플레이스토어 ..
0. Android Frida 환경 구축
·
Mobile_security/Frida_Android
1. Frida 란? Frida는 동적 바이너리 인스트루멘테이션(Dynamic Binary Instrumentation, DBI) 도구로, 런타임 중인 애플리케이션의 내부 동작을 실시간으로 훔쳐보고 조작할 수 있게 해 줍니다. 주로 리버싱, 보안 진단, 악성코드 분석, 디버깅 등에 활용된다. 설치하기 전에 pip와 python3는 설치해 두자. 2. Frida 클라이언트 설치pip install --upgrade pippip install frida-tools3. Frida 주요 바이너리 7가지1. frida타겟 프로세스에 스크립트를 직접 연결하고 상호작용하는 기본 인터페이스입니다. (REPL 형태로 사용 가능)2. frida-trace지정한 함수나 메서드에 자동 후킹 스텁을 생성하고, 실행 중 분석할..
0. Android - AVD, ADB, Rooting, Pm
·
Mobile_security
1. 개요먼저 하기에 앞서 Android Studio, adb 설치를 해야 한다.Android 해킹이나 앱 보안 분석을 시작하려면 반드시 이해하고 넘어가야 하는 두 가지 키워드가 존재한다.바로 AVD(Android Virtual Device)와 ADB(Android Debug Bridge)이다. 간단하게 알아보자.2-1. AVD 란?Android Studio에서 제공하는 가상 안드로이드 디바이스이다.Pixel, Nexus 등의 기종을 시뮬레이션하여 실제 기기 없이도 앱을 테스트하고 분석할 수 있다. 이런 식으로 가상의 모바일을 사용할 수 있다. 더보기주요 특징루팅 여부 설정 가능 (user debug image)해상도, 메모리, 저장공간, 센서 등 설정 가능실제 APK 설치 및 실행 가능다양한 안드로이..