직접 연구하여 작성한 자료입니다. 공식 출처가 명시되지 않은 자료의 무단 복제, 사용을 금지합니다. 공격 기법은 학습용, 허가된 환경에서 실습 바랍니다. 실 운영망 대상 공격은 처벌받습니다. (정보통신망법 제48조 1항) 1. 개요 APK 정적 분석 과정을 거치면서 감은 잡혔지만 실습해보기 전까진 이게 맞는건지 확실하지 않을 수 있기 때문에 직접 앱개발과 분석 과정을 추가했다. 애플리케이션 레벨의 취약점은 개발자의 실수에서 야기되는 경우가 많기 때문에 직접 개발해보는 것이 필요하다. 직접 개발을 하면서 귀찮았던점, 느슨하게 처리한 부분이 실제 상용 앱에서도 동일하게 취약점이 발생할 가능성이 높다. 필자가 개발한 앱은 github(https://github.com/colfax0483/Vulnerable_a..
직접 연구하여 작성한 자료입니다. 공식 출처가 명시되지 않은 자료의 무단 복제, 사용을 금지합니다. 공격 기법은 학습용, 허가된 환경에서 실습 바랍니다. 실 운영망 대상 공격은 처벌받습니다. (정보통신망법 제48조 1항) 개요 안드로이드는 SSL 통신을 지원하며, 단대단 암호화 적용 후 패킷을 주고 받는다. 앱이 서버와 정상 통신을 하기 위해서는 상호간의 신뢰할 수 있는 인증서를 가진 상태에서 공개키를 이용한 암호화를 적용한 패킷을 전송한다. 하지만 암호화된 패킷은 분석가가 패킷의 내용을 살피기 어렵기 때문에 복호화하는 과정이 필요하다. - 단말기 입장에서는 분석가의 Proxy 도구(Burp 등)가 서버가 되어 인증서를 대체한다. - 앱 서버 입장에서는 분석가의 Proxy 도구가 단말기가 되어 인증서를 ..
직접 연구하여 작성한 자료입니다. 공식 출처가 명시되지 않은 자료의 무단 복제, 사용을 금지합니다. 공격 기법은 학습용, 허가된 환경에서 실습 바랍니다. 실 운영망 대상 공격은 처벌받습니다. (정보통신망법 제48조 1항) 1. 개요 안드로이드 설치파일(apk)이 무결성검증을 하지 않는다면 악성코드가 앱을 변조하거나 침해하는 등의 위협이 발생할 수 있다. 일반적으로 안드로이드 앱은 Google Play 스토어를 통해서 배포되거나 개발자가 제공하는 공식 웹페이지에서 다운로드 받을 수 있다. 하지만 공식 채널이 아닌 방법으로 앱을 다운로드하는 경우 무결성 검증이 이루어지지 않을 수 있다. 이 경우 해커가 악성코드를 포함하고 있는 앱을 배포하여 사용자의 단말기에 악성코드를 설치하게 할 수 있다. 악성코드가 앱을..
[분석환경] OSX, Android Emulator API 33 이 글은 안드로이드 모의해킹 카테고리 중 트러블슈팅을 위한 글입니다. 문제 1. Read only filesystem 해결 1. adb 내에서 다음 절차를 진행한다. 전체 파일 시스템을 읽기쓰기 가능한 모드로 리마운트 시켜준다. mount -o rw,remount / 문제 2. '/dev/block/dm-4' is read-only 해결 2-1. 에뮬레이터 환경에서 실제 기기와 다른 경로에 파일시스템이 마운트되어 있는 경우 위와 같은 에러가 발생한다. > adb root > adb shell avbctl disable-verification Successfully disabled verification. Reboot the device fo..
직접 연구하여 작성한 자료입니다. 공식 출처가 명시되지 않은 자료의 무단 복제, 사용을 금지합니다. 공격 기법은 학습용, 허가된 환경에서 실습 바랍니다. 실 운영망 대상 공격은 처벌받습니다. (정보통신망법 제48조 1항) 1. AndroidManifest.xml 개요 구글에서 제공하는 공식 문서를 참고하였다. https://developer.android.com/guide/topics/manifest/manifest-intro.html AndroidManifest.xml은 아래에서 설명하는 구성요소를 정의하고 어떤 작업을 수행할 지 시스템에 알려주는 제어 파일이다. 각 요소는 XML 형식으로 되어 있으며 Key-Value 관계를 가진다. 포함하는 정보에는 여러가지가 있지만 다음 정보를 필수로 포함해야 한..
직접 연구하여 작성한 자료입니다. 공식 출처가 명시되지 않은 자료의 무단 복제, 사용을 금지합니다. 공격 기법은 학습용, 허가된 환경에서 실습 바랍니다. 실 운영망 대상 공격은 처벌받습니다. (정보통신망법 제48조 1항) 1. APK(Android Application Package) 안드로이드 설치파일이다. APK 파일 구조는 그림과 같다. Manifest(AndroidManifest.xml): 메타데이터, 앱의 실행정보, 권한, 액티비티 목록등을 제공하는 파일이다. 앱의 패키지명. Activity, 리소스와 같은 응용 프로그램의 모든 구성 요소. 앱을 실행하는 데 필요한 권한 및 다른 응용 프로그램에서 앱의 정보에 액세스하는 데 필요한 권한(permission). 호환성 기능(예: 최소 Android..