[Insecure Bank] 안드로이드 백업 취약점
·
모바일 앱해킹(Android)/Insecure Bank
안녕하세요! 오늘은 '안드로이드 백업 취약점' 에 대하여 실습을 통해 알아보겠습니다. ['안드로이드 백업 취약점' 이란?]> 안드로이드 에선 백업 데이터를 사용자 PC에 저장할 수 있게 해주는 로컬백업을 지원하게 되었습니다. 이로인해 사용자는 전체 백업을 사용하여 설치된 어플의 apk 파일뿐만 아니라 관련 데이터,저장소의 파일 등을 USB를 통해 연결된 pc에 저장할 수 있게되었습니다. 하지만 android:allowBackup 속성 값이 'true'로 되어있을 경우 공격자 또한 백업데이터를 추출하는게 가능해지고 이 데이터를 분석하여 민감한 개인정보를 얻는것이 가능해집니다.1. 취약점 탐색> 인시큐어 뱅크를 디컴파일하여 AndroidManifest.xml 소스코드를 살펴보면 android:allowBac..
[Insecure Bank] 안드로이드 키보드 캐시 이슈
·
모바일 앱해킹(Android)/Insecure Bank
안녕하세요! 이번시간에는 '안드로이드 키보드 캐시 이슈' 에 관한 포스팅입니다. ['안드로이드 키보드 캐시 이슈' 란?]> 키보드 캐시 이슈는 사용자가 중요 정보를 클립보드에 저장하면 제삼자가 이러한 정보를 획득할 수 있는 취약점입니다. 키보드 캐시란, 안드로이드 TextView와 같은 컴포넌트에서 사용자가 중요 정보를 클립보드에 복사할 수 있을때 임시로 복사한 데이터를 저장하는 곳입니다. 이 기능을 상당히 편하지만 , 공격자 또한 이 기능을 악용하여 중요 정보를 붙여넣을 수 있으므로 다른 사용자의 인증 정보를 활요하여 별다른 인증 절차 없이 공격자도 인증에 성공할 수 있습니다.1. 취약점 진단1. 우선 NOX기기에 Clipper 라는 어플을 다운로드 받아주세요. 그냥 구글스토어에서 받을 수 있으니 검색..
[Insecure Bank] 취약한 웹 뷰 실행
·
모바일 앱해킹(Android)/Insecure Bank
안녕하세요! 오늘은 '취약한 웹 뷰' 취약점에 대하여 포스팅 해보려 합니다! ['취약한 웹 뷰' 취약점이란?]> 웹 뷰는 안드로이드 개발 시 주로 웹 브라우저에서 보이는 화면을 표시하거나 웹 앱 혹은 하이브리드 앱을 개발할때 사용합니다. 웹 뷰는 안드로이드 내부모듈인 웹킷 렌더링 엔진을 사용해서 자바스크립트도 지원할 수 있습니다. 문제는 이런 자바스크립트 사용을 허용하게 된다면 XSS 구문을 실행하여 악의적인 쿠키탈취 및 정보 습득이 가능하다는 취약점이 있습니다. 1. 취약점 탐색1. 우선 AndroidManifest.xml 파일을 보시면 anroid.permission.INTERNET 이라는 권한이 설정되어 있습니다. 이 권한은 웹 뷰를 사용하기전 인터넷 사용 권한을 허락 받기 위해서 설정해놓는 것이니..
[Insecure Bank] 안전하지 않은 콘텐츠 프로바이더 접근
·
모바일 앱해킹(Android)/Insecure Bank
이번시간엔 '안전하지 않은 콘텐츠 프로바이더 접근' 취약점에 대하여 다뤄보겠습니다. ['안전하지 않은 콘텐츠 프로바이더 접근' 이란?]> 안드로이드의 모든 애플리케이션은 기본적으로 다른 애플리케이션이 자신의 데이터에 접근하는 것을 금지하고 있습니다. 그러나 콘텐츠 프로바이더를 이용하여 자신의 데이터에 다른 애플리케이션이 접근하거나 부여한 권한대로 이용하도록 할 수 있습니다. 쉽게 말해서 콘텐츠 프로바이더는 다른 애플리케이션이 자신의 데이터를 사용하기 위한 통로 역할을 제공합니다.  이 프로바이더의 설정중 exported="true" 로 되어있고 외부앱에서 접근하는 것 에대한 별다른 조치가 없다면 외부에서 이 앱의 저장소에 접근하여 민감한 정보들을 빼낼 수 있는 위험성이 존재합니다.  [콘텐츠 프로바이더라..
[Insecure Bank] 액티비티 컴포넌트 취약점
·
모바일 앱해킹(Android)/Insecure Bank
안녕하세요! 이번시간엔 '액티비티 컴포넌트 취약점' 에 대하여 알아보며 Insecure Bank로 실습해보는 포스팅입니다. [액티비티 컴포넌트 취약점 이란?]> 안드로이드 랙티비티는 애플리케이션을 구성하는 가장 기본적인 구성단위 중 하나로, 안드로이드 애플리케이션과 사용자 간의 상호 작용에 필요한 기능과 화면을 제공합니다. 이런 액티비티 설정들은 AndroidManifest.xml 이라는 파일에 요소로 선언이 되는데, 이 선언이 취약하게 선언이 될 경우 특정 액티비티에 권한 없이 접근하여 특정기능을 사용할 수 있습니다.  예를들면 악성앱에서 취약한 앱의 비밀번호 변경 액티비티에 접근하여, username 과 newpassword 를 적은후 타인의 비밀번호를 바꿀수 있는 경우도 액티비티 컴포넌트 취약점에..
Smali 이란? (Jadx로 Smali 코드 살펴보기)
·
모바일 앱해킹(Android)
인시큐어 뱅크앱을 통해 앱 모의해킹을 공부하다가 Smali 코드란 것을 변경하여 기존의 앱의 코드를 수정한 후 앱을 재설치 하는 "리패키징" 이란 과정을 거치는 것을 여럿 보았습니다. 그래서 Smail 코드란게 대체 뭐지? 라는 의문이 들어 본 포스팅을 작성하게 되었습니다!  Smali에 대한 내용은 아래 naroSEC님 블로그에서 참고하여 공부하였습니다! https://naro-security.tistory.com/41 안드로이드 smali 코드 분석에 관한 기초 지식개요smali 코드는 안드로이드 애플리케이션의 Dalvik 가상 머신 코드를 표현한 언어이다. Dalvik VM은 안드로이드 앱의 실행을 위한 가상 머신이며(지금은 ART를 사용한다.), smali는 이 VM에서 동작하는naro-secur..