[Insecure Bank] 안드로이드 키보드 캐시 이슈
·
모바일 앱해킹(Android)/Insecure Bank
안녕하세요! 이번시간에는 '안드로이드 키보드 캐시 이슈' 에 관한 포스팅입니다. ['안드로이드 키보드 캐시 이슈' 란?]> 키보드 캐시 이슈는 사용자가 중요 정보를 클립보드에 저장하면 제삼자가 이러한 정보를 획득할 수 있는 취약점입니다. 키보드 캐시란, 안드로이드 TextView와 같은 컴포넌트에서 사용자가 중요 정보를 클립보드에 복사할 수 있을때 임시로 복사한 데이터를 저장하는 곳입니다. 이 기능을 상당히 편하지만 , 공격자 또한 이 기능을 악용하여 중요 정보를 붙여넣을 수 있으므로 다른 사용자의 인증 정보를 활요하여 별다른 인증 절차 없이 공격자도 인증에 성공할 수 있습니다.1. 취약점 진단1. 우선 NOX기기에 Clipper 라는 어플을 다운로드 받아주세요. 그냥 구글스토어에서 받을 수 있으니 검색..
[Insecure Bank] 안전하지 않은 로깅 메커니즘 취약점
·
모바일 앱해킹(Android)/Insecure Bank
오늘은 '안전하지 않은 로깅 메커니즘' 취약점에 관하여 Insecure Bank앱 실습을 통해 알아보겠습니다! ['안전하지 않은 로깅 메커니즘' 이란?]> 로그란, 서버에서 운영되는 서비스들이 실행되는 상태나 특정 프로그램을 사용한 사용자의 행위나 흔적을 파일이나 출력을 통해 남기는 행위를 말합니다. 그런데 이런 로그에 사용자의 개인정보 가령 비밀번호,아이디,계좌번호 등이 출력이 되버리면 정보가 유출될 수 있기 때문에 필요없는 로그정보는 남기지 말아야 합니다.1. 취약점 진단1. 우선 인시큐어 뱅크 어플을 로그인해줍니다. 2. 이후 nox_adb shell 로 녹스기기에 접근하셔서 해당 명령어를 통해 특정 어플의 log를 확인하실 수 있습니다. 사진을 보시면 로그인한 아이디&패스워드가 평문으로 저장되어 ..
[Insecure Bank] 메모리 내 민감한 정보 저장
·
모바일 앱해킹(Android)/Insecure Bank
안녕하세요! 오늘은 '메모리 내 민감한 정보 저장' 에 대하여 인시큐어 뱅크앱을 통한 실습으로 알아보는 포스팅입니다. ['메모리 내 민감한 정보 저장' 이란?]> 메모리는 주 기억 장치라고도 하며 물리적 메모리인 '램(RAM)'을 가리킵니다. 애플리케이션이 실행 중에 필요한 정보들이 여기에 저장기 때문에, 저희가 입력하는 모든 값과 앱의 모든 정보들이 메모리에 적재됩니다. 계속 적재되어 있는것은 아니고 메모리는 휘발성 이기 때문에 앱 종료시 RAM에 저장된 데이터들도 삭제됩니다! 문제는 이 데이터를 삭제전에 추출하기만 한다면 저희가 입력한 값들이 저장되어 있기때문에 보안에 매우 위험할 수 있다는 것입니다!  "메모리 포렌식" 을 통해 획득 가능한 정보분류설명프로세스 , 스레드 정보프로그램이나 파일이 실행..
[Insecure Bank] 애플리케이션 패칭 취약점
·
모바일 앱해킹(Android)/Insecure Bank
이번시간엔 '애플리케이션 패칭' 취약점에 대하여 포스팅하겠습니다. ['애플리케이션 패칭' 취약점 이란?]> 현재 배포되고 있는 안드로이드 모바일 악성코드들은 정상적으로 서비스되고 있는 앱을 조작하여 사용자들을 유인합니다. 아이콘만 다른 앱에서 가져온 후 간단한 기능만 포함해 배포하는 사례도 있고, 공격자들도 앱을 처음부터 개발하는 것이 아닌 개발된 앱에다가 사용자의 개인정보를 빼내는 코드를 삽입후 재배포 하는 경우가 많습니다. 이런 행위를 위해 기존의 앱을 변질시켜서 피해자가 변질된 앱을 기존앱으로 착각하게끔 사용하는 공격이 '애플리케이션 패칭' 취약점 입니다!1. 취약점 탐색1. 앱을 디컴파일링 하여 살펴보시면 소스코드가 난독화 없이 그대로 노출되는 것을 보실 수 있습니다. 이러면 앱의 흐름을 따라가기..
[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 를 적은후 타인의 비밀번호를 바꿀수 있는 경우도 액티비티 컴포넌트 취약점에..