[Android DIVA] 설치법 부터 취약점 진단까지 모아보기!
·
모바일 앱해킹(Android)/Android DIVA
설치방법 안녕하세요! 오늘은 앱해킹 기법 공부를 위하여 Anroid 용 Diva 설치를 진행하여 보겠습니다! 실습을 진행하면서 디컴파일러 프로그램인 JADX 는 계속 사용할테니 만약 설치를 안하셨다면 밑에 링크로 들어가셔서 설치를 진행하고 오세요!https://github.com/skylot/jadx/releases DIVA app 이란? : 모바일 앱 보안을 공부하며 실습해볼수 있도록 만든 어플을 의미합니다! 총 13가지의 문제로 구성되어있고 각 문제마다의 취약한 부분을 찾는방식이라 앱 해킹 기초를 공부할때 매우좋습니다! 이 앱에서 공부할 수 있는 항목은 크게보면 총 5가지입니다.Diva app의 13가지 문제5가지 분류1 . 취약한 로깅2. 하드코딩 이슈3. 취약한 데이터 저장4. 입력값 검증 이슈5..
[Insecure Bank] 하드코딩 취약점 & 개발자 백도어
·
모바일 앱해킹(Android)/Insecure Bank
안녕하세요! 오늘은 하드코딩 취약점 & 사용자 정보 목록 이슈화 취약점 두가지의 대하여 실습을 통해 알아보겠습니다! [하드코딩 취약점 이란?]> 하드코딩이란 , 객체를 사용하지 않고 코드를 재사용할 수 없도록 코드 안에 변수를 상수로 사용하거나 코드를 다시 컴파일하지 않고서는 바꿀 수 없는 형태로 코딩하는 것을 말합니다. 이렇게 상수값 그대로 코드에 적어버리면 여러 문제점들이 발생하는데 예를들어 관리자 패스워드나 중요정보 , 암호화키 등이 코드에 노출이 될 경우 디컴파일을 통해서 정보가 노출될 수 있습니다! [개발자 백도어 란?] > 백도어란 정상적인 프로그램에 자신만이 들어갈 수 있는 코드를 삽입하여 정당한 인증 절차를 거치지 않고 들어갈 수 있는 뒷문입니다. 개발자들이 보통 유지보수나 디버깅 시 시간..
[Insecure Bank] 안전하지 않은 HTTP 통신 & 파라미터 조작
·
모바일 앱해킹(Android)/Insecure Bank
안녕하세요! 오늘은 안전하지 않은 HTTP 통신 , 파라미터 조작 취약점 2개를 실습을 통해 알아보겠습니다.  [안전하지 않은 HTTP 통신이란?]> 안드로이드 에서도 앱과 서버간의 데이터 통신을 할 때 HTTP통신을 사용합니다. 하지만 HTTP는 보안을 고려하지 않기 때문에 공격자의 스니핑/스푸핑 공격을 이용하여 계정 아이디/비밀번호, 개인 정보를 탈취할 수 있습니다. 중요 정보는 SLL/TLS 통신이 적용된 HTTPS로 안전하게 전송하여야 합니다. [파라미터 조작 취약점이란?]> 안드로이드 앱에서 요청하는 값을 중간에서 가로챈 후 매개변수값을 변조하여 전송합니다. 웹해킹에서도 주로 다루는 내용으로 사용자의 개인 정보 수정, 다른 사용자의 게시물 삭제 및 수정 등이 해당합니다. 예를들어 제가 제 게시물..
[Insecure Bank] 안전하지 않은 SD 카드 저장소
·
모바일 앱해킹(Android)/Insecure Bank
안녕하세요! 오늘은 '안전하지 않은 SD 카드 저장소' 취약점에 대하여 실습과 함께 알아보겠습니다. ['안전하지 않은 SD카드 저장소' 란?]> 애플리케이션이 SD 카드 저장소에 중요한 정보나 파일을 저장하여 발생하는 취약점으로 "OWASP Mobile Top 10 M2: Insecure Data Storage"에 해당합니다. 안드로이드는 데이터를 저장할 때 크게 내부 저장소 , 외부저장소로 나눌수 있습니다. 내부 저장소에 파일을 저장하는 것까지는 문제가 없지만 파일 저장시 암호화를 제대로 안하게 되면 중요 정보가 누출될 수 있고, 외부 저장소에 중요 정보를 저장하게 되면 어느 어플이던지 외부 저장소에 접근이 가능하기 때문에 이 또한 민감한 정보가 유출될 수 있습니다. - 내부 저장소> 안드로이드 플랫폼..
[Insecure Bank] 안드로이드 백업 취약점
·
모바일 앱해킹(Android)/Insecure Bank
안녕하세요! 오늘은 '안드로이드 백업 취약점' 에 대하여 실습을 통해 알아보겠습니다. ['안드로이드 백업 취약점' 이란?]> 안드로이드 에선 백업 데이터를 사용자 PC에 저장할 수 있게 해주는 로컬백업을 지원하게 되었습니다. 이로인해 사용자는 전체 백업을 사용하여 설치된 어플의 apk 파일뿐만 아니라 관련 데이터,저장소의 파일 등을 USB를 통해 연결된 pc에 저장할 수 있게되었습니다. 하지만 android:allowBackup 속성 값이 'true'로 되어있을 경우 공격자 또한 백업데이터를 추출하는게 가능해지고 이 데이터를 분석하여 민감한 개인정보를 얻는것이 가능해집니다.1. 취약점 탐색> 인시큐어 뱅크를 디컴파일하여 AndroidManifest.xml 소스코드를 살펴보면 android:allowBac..
[Insecure Bank] 디버깅 취약점 & 런타임 조작 취약점
·
모바일 앱해킹(Android)/Insecure Bank
안녕하세요! 오늘은 '디버깅 기능 취약점' 그리고 '런타임 조작 취약점' 2개를 실습해보려고 포스팅하였습니다! 디버깅 취약점으로 인해 런타임 조작이 일어날 수 있어서 이 두개의 항목을 묶게 되었습니다! ['디버깅 취약점' 이란?]> Application Debuggable 취약점은 안드로이드 디버깅 모드의 설정 여부에 따라 발생합니다. AndroidManifest.xml 에 포함되는 속성인데 기본적으로 디버깅 모드는 앱이 배포될때 "false" 로 지정되어 있습니다. 하지만 개발중에 편의상 디버깅 옵션을 "true"로 해놓는 경우가 있는데 이 경우 앱의 중대한 보안 결함이 발생할 수 있습니다. ['런타임 조작' 이란?]> 앱이 실행되는 도중 메모리상에 악의적인 행동을 하는 취약점입니다. 메모리상에 올라가..
[Insecure Bank] 안드로이드 키보드 캐시 이슈
·
모바일 앱해킹(Android)/Insecure Bank
안녕하세요! 이번시간에는 '안드로이드 키보드 캐시 이슈' 에 관한 포스팅입니다. ['안드로이드 키보드 캐시 이슈' 란?]> 키보드 캐시 이슈는 사용자가 중요 정보를 클립보드에 저장하면 제삼자가 이러한 정보를 획득할 수 있는 취약점입니다. 키보드 캐시란, 안드로이드 TextView와 같은 컴포넌트에서 사용자가 중요 정보를 클립보드에 복사할 수 있을때 임시로 복사한 데이터를 저장하는 곳입니다. 이 기능을 상당히 편하지만 , 공격자 또한 이 기능을 악용하여 중요 정보를 붙여넣을 수 있으므로 다른 사용자의 인증 정보를 활요하여 별다른 인증 절차 없이 공격자도 인증에 성공할 수 있습니다.1. 취약점 진단1. 우선 NOX기기에 Clipper 라는 어플을 다운로드 받아주세요. 그냥 구글스토어에서 받을 수 있으니 검색..