12. Drozer에 대한 이해
·
기반 지식/Android
1. 드로저(Drozer)○ Drozer는 MWR InfoSecurity에서 개발한 모바일 애플리케이션 취약점 진단 프레임워크인 Mercury의 업데이트 버전○ 가상 디바이스 뿐 아니라 실제 안드로이드 디바이스에 테스트가 가능하며, 자동화된 테스팅 가능○ 다양한 시나리오를 통해 취약점 점검이 가능능  2. 설치○ nox_adb.exe 파일인 될 수 있으면, path에 등록해 놓는 것이 좋음 ○ drozer의 모듈이 존재하지 않을 경우, drozer 명령어 설치 디렉터리에서 실행 권장 Drozer Windows : https://github.com/WithSecureLabs/drozer GitHub - WithSecureLabs/drozer: The Leading Security Assessment Fra..
11. 녹스(Nox)에서 앱 SSL 자격증명 설치
·
기반 지식/Android
OpenSSL 설치 : https://github.com/openssl/openssl GitHub - openssl/openssl: TLS/SSL and crypto libraryTLS/SSL and crypto library. Contribute to openssl/openssl development by creating an account on GitHub.github.com   openssl x509 -inform DER -in burp.der -out burp.pem openssl x509 -inform PEM -subject_hash_old -in burp.pem  nox_adb root nox_adb remount nox_adb push 9a5ba575.0 /system/etc/security..
10. 안드로이드 dumpsys 패키지 정보 확인
·
기반 지식/Android
○ nox_adb.exe shell dumpsys activity activities | findstr com.android.insecurebankv2    ● 액티비티 정보 확인 가능
9. 로컬 암호화 이슈 & 취약한 SD카드 스토리지
·
기반 지식/Android
1. 취약점 소개○ 안드로이드에서 온라인/오프라인을 통해 데이터를 처리할 수 있도록 로컬 스토리지 제공 ○ 애플리케이션 환경설정 정보, 외부 API 연동 및 인증을 위한 토큰 값, 연동 서버 정보 등을 로컬 스토리지에 저장○ 로컬 스토리지에 데이터를 저장하는 경우 보안을 고려하지 않으면 평문 형태의 파일로 저장○ 애플리케이션에서 저장되는 파일이나 데이터는 소유자만 접근 하도록 제한○ 공격자가 접근 제한을 우회하거나 권한 상승에 성공하는 경우 평문으로 저장된 데이터 획득 가능  2. 데이터 저장저장소설명 Shared Preferences ● 안드로이드 앱 설정(ID/PASS, 사용자 토큰 정보 등)들이 저장되는 저장소 SQLite Databases ● 데이터베이스(컨텐츠 목록, 사용자 목록 등)에 데이터가..
8. GDA를 활용한 디컴파일 코드 분석 사례
·
기반 지식/Android
1. GDAGDA4 출처 : https://github.com/charles2gan/GDA-android-reversing-Tool/releases/tag/GDA4.11 Release Bugs fix · charles2gan/GDA-android-reversing-ToolFixed the bug that the right-click menu can't display the frida menu. Fixed the bug that code blocks are lost during TRY-CATCH structure restoration. #154 Fixed the bug that API cross-reference res...github.com ○ 달빅 파일을 디컴파일 하는 도구○ 일부 난독화가 되어 있는 ..
7. Adroid 앱 코드 정적 분석 tool
·
기반 지식/Android
○ apk > dex > smali > class > java목록설명apk 파일압축해제 시 모바일 전용 dex 파일 생성apktoolapk 파일을 smali 파일로 디컴파일dex2jarapk 파일을 class 파일로 디컴파일jadx-guiapk 파일을 java 파일로 디컴파일Bytecode Viewerapk 파일을 java 파일 및 smali 파일로 디컴파일 1. apk 파일 압축 해제java 설치 : https://www.java.com/en/download/ Download Java for LinuxLinux RPM filesize: 102.35 MB Instructions After installing Java, you will need to enable Java in your browser.www..
6. 모바일 취약점 진단 항목
·
기반 지식/Android
1. OWASP Mobile TOP10OWASP Mobile TOP10 출처 : https://owasp.org/www-project-mobile-top-10/ OWASP Mobile Top 10 | OWASP FoundationOWASP Mobile Top 10 on the main website for The OWASP Foundation. OWASP is a nonprofit foundation that works to improve the security of software.owasp.org ○ 모든 서비스는 이제 '모바일'로 통함○ 하지만 서버는 웹 서비스와 동일한 곳을 바라보고 있음○ 모바일 서비스도 OWASP TOP10 기준이 존재함
5. 녹스(Nox Player) 가상 애뮬 설치
·
기반 지식/Android
1. 취약한 앱 설치를 위한 녹스(Nox Player) 가상 애뮬 설치녹스(Nox Player) 가상 애뮬 설치 사이트 : https://www.bignox.com/ Noxplayer – Fastest and Smoothest Android Emulator for PC & Mac – Free and SafePlay the most popular mobile games and run apps on PC with NoxPlayer, the best Android Emulator. Supports Android 9. Compatible with Windows & Mac. Much faster and more stable.www.bignox.com
4. 안드로이드 앱 구조
·
기반 지식/Android
1. APK 파일 구조○ 안드로이드 앱 확장자는 APK(ZIP으로 생각하면 편함)로 다양한 파일과 폴더가 압축되어 있는 파일이다.○ 위 그림은 압축되기 전 APK 파일의 폴더 구조를 확인할 수 있다.○ 모바일에서는 APK 파일을 압축해제 한 뒤 사용한다고 보면 편함○ APK 파일을 압축 프로그램으로 해제하면 폴더 및 파일 추출 가능 구성 요소설명AndroidManifest.xml● 앱에 대한 구성 세부 정보가 포함된 매니패스트 파일classes.dex● 개발자가 작성한 소스코드에서 생성된 Dalvik Bytecode가 포함됨resources.arsc● 컴파일 된 리소스가 포함됨res● resource.arsc에서 제외된 정보를 포함하는 디렉터리● 애플리케이션에 필요한 리소스가 포함됨● 앱 아이콘과 같은 ..
3. 안드로이드 디바이스 디렉터리 구조
·
기반 지식/Android
1. 디렉터리 구조디렉터리설명/● 루트(root) 파일 시스템 디렉터리● 부트와 관련된 설정파일을 참고하여 초기 프로세스 정보가 포함/system● 안드로이드 운영체제 홈 디렉터리● 안드로이드 UI 및 사전에 설치된 앱이 포함되고 운영체제 파일이 존재/data● 사용자 앱 상태 정보가 포함된 파일 시스템 디렉터리● 앱들이 저장되어 있는 공간 - 취약점 진단시 많이 보는 곳 ● APK 설치 시 디렉터리에 많이 저장됨● 포렌식 분석 시 /cache● 자주 사용하는 ㄴ데이터 및 앱 컴포넌트를 저장하는 디렉터리로 읽기/쓰기/ 권한 존재● 브라우저 캐시같이 일시적인 사용자의 상태 정보가 포함 2. 앱 설치 디렉터리 확인디렉터리설명/system/app● 시스템에 의해 미리 설치된 앱 경로/data/app● 사용자에..