[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앱 실습을 통해 포스팅을 해보려고합니다![루팅 탐지 및 우회 란?]> 안드로이드 기반 운영체제의 경우 보안상의 이유로 루트 권한을 막아 놓았습니다. 그래서 이러한 제한을 풀거나 우회하기 위해서는 시스템 권한을 루팅으로 획득해야 합니다. 만일 루팅으로 권한을 획득할 경우 슈퍼 유저 권한으로 하드웨어 성능 조작 , 기본 애플리케이션 삭제 등 여러 기능들을 할 수 있게됩니다. 하지만 금융권 앱들의 경우 이런 루팅된 기기들에서의 앱 실행을 차단하고 있으므로 이런 차단을 우회하는 방법을 뜻합니다. 이런 루팅 탐지를 위해 앱에서 주로 체크하는 경로는 다음과 같습니다. /system/bin/su/system/xbin/su/system/app..
[Insecure Bank] 액티비티 컴포넌트 취약점
·
모바일 앱해킹(Android)/Insecure Bank
안녕하세요! 이번시간엔 '액티비티 컴포넌트 취약점' 에 대하여 알아보며 Insecure Bank로 실습해보는 포스팅입니다. [액티비티 컴포넌트 취약점 이란?]> 안드로이드 랙티비티는 애플리케이션을 구성하는 가장 기본적인 구성단위 중 하나로, 안드로이드 애플리케이션과 사용자 간의 상호 작용에 필요한 기능과 화면을 제공합니다. 이런 액티비티 설정들은 AndroidManifest.xml 이라는 파일에 요소로 선언이 되는데, 이 선언이 취약하게 선언이 될 경우 특정 액티비티에 권한 없이 접근하여 특정기능을 사용할 수 있습니다.  예를들면 악성앱에서 취약한 앱의 비밀번호 변경 액티비티에 접근하여, username 과 newpassword 를 적은후 타인의 비밀번호를 바꿀수 있는 경우도 액티비티 컴포넌트 취약점에..
[Insecure Bank] 로컬 암호화 이슈 취약점
·
모바일 앱해킹(Android)/Insecure Bank
이번 포스팅에선 Insecure Bank 앱을 통한 '로컬 암호화 이슈' 취약점에 대하여 알아보겠습니다. [로컬 암호화 이슈 취약점 이란?]> 안드로이드 애플리케이션은 편의성을 위해 실행 도중에 저장해야 하는 정보들이 있습니다. 만약 중요한 정보를 저장할 경우 저장한 정보가 평문이나 복호화를 통해 알아낼 수 있게끔 저장이 된다면 비밀번호나 아이디같은 정보가 노출될 뿐더러 이를 통해 다른 웹사이트에 대입해보는 브루트포스 공격으로까지 이어질 수 있게 됩니다. 취약점 진단에 들어가기에 앞서 우선 암호화 방식에 대하여 간단하게 말씀드리고 가겠습니다!  > 암호화와 복호화에 사용되는 키가 값으며 , 이 키값은 정보를 송,수신하는 사람들 끼리만 알고있어야 합니다. A(송신자)는 보낼 정보를 암호화키를 사용하여 암호..
[Insecure Bank] 취약한 인증 메커니즘 취약점
·
모바일 앱해킹(Android)/Insecure Bank
이번시간엔 Insecure Bank 를 통하여 '취약한 인증 메커니즘' 취약점에 대하여 알아보겠습니다. *취약한 인증 메커니즘 이란?> 정상적인 인증 절차를 우회하여 잘못된 인증으로 접근권한을 취득하는 취약점으로써, OWASP는 Mobile Top 10 2014-M5에 해당하는 취약점으로 다음과 같은 경우에 해당합니다. 적절하지 않은 앱 퍼미션 설정 여부서비스 권한 상승 행위에 대한 통제 여부기능에 대한 제한 또는 우회 금지 여부불필요하거나 사용하지 않는 액티비티 제거 여부인텐트 사용에 대한 안정성 여부마스터 키 취약점 대응 여부1. 취약점 탐색> 우선 Insecure Bank 앱을 Jadx 로 디컴파일링 한 후 AndroidManifest.xml 코드를 보게 되면 표시된 부분처럼 anroid:expor..