Android/InsecureBankv2 31

인시큐어뱅크 앱 취약점 - 취약한 인증 메커니즘

인시큐어뱅크 앱 취약점 - 취약한 인증 메커니즘 취약점 소개 취약한 인증 메커니즘은 정상적인 인증 절차를 우회하여 잘못된 인증으로 접근 권한을 취득하는 취약점이다. 취약한 인증 메커니즘은 다음과 같은 경우에 해당한다. 적절하지 않은 앱 퍼미션 설정 여부 서비스 권한 상승 행위에 대한 통제 여부 기능에 대한 제한 또는 우회 금지 여부 불필요하거나 사용하지 않는 액티비티 제거 여부 인텐트 사용에 대한 안정성 여부 마스터 키 취약점 대응 여부 이번 취약점에서는 AndroidManifest.xml을 액티비티 속성으로 로그인 인증 없이 권한을 우회해 볼 것이다. 취약점 진단 다음 코드는 AndroidManifest.xml 코드이다. 코드를 살펴보면 안드로이드 액티비티의 속성이 android.exported=”tr..

인시큐어뱅크 앱 취약점 - 브로드캐스트 리시버 결함

인시큐어뱅크 앱 취약점 - 브로드캐스트 리시버 결함 취약점 소개 브로드캐스트 리시버란 안드로이드 시스템의 중요 요소 중 하나이다. 브로드캐스트란 ‘방송하다’라는 의미가 있으며, 브로드캐스트 리시버는 ‘방송 수신자’라는 의미로 유추할 수 있다. 안드로이드 시스템에서 특정 이벤트가 발생 시 시스템은 시스템 브로드캐스트 메세지를 이벤트가 수신되도록 신청한 모든 앱에 보내고, 브로드캐스트는 이를 수신한다. 표준 브로드캐스트 액션 종류 ACTION_BOOT_COMPLETED 부팅이 끝났을 때 (RECEIVE_BOOT_COMPLETED 권한 등록 필요) ACTION_CAMERA_BUTTON 카메라 버튼이 눌렸을 때 ACTION_DATE_CHANGED ACTION_TIME_CHANGED 폰의 날짜, 시간이 수동으로 ..

ADB(Android Debug Bridge) 개요와 기본 사용법

ADB(Android Debug Bridge) 개요와 기본 사용법 ADB란? ADB(Android Debug Bridge)는 안드로이드 에뮬레이터, PC에 실제 연결된 장치를 제어하는 안드로이드 디버깅 도구 중 하나이다. 사용 방법과 위치 안드로이드 스튜디오에서는 이 기능을 GUI로 제공하는데, ADB는 커맨드 라인으로 직접 명령어를 입력해서 안드로이드 기기와 통신할 수 있다. 안드로이드 스튜디오를 설치한 적이 있다면 안드로이드 SDK에 ADB가 포함되어 있으니 별도 설치하지 않아도 된다. 폴더는 안드로이드 SDK를 설치한 폴더 하위에 platform-tools 디렉터리에 ADB가 포함되어 있다. 이 파일은 클라이언트, 서버, 데몬을 포함하는 클라이언트-서버 프로그램이다. ADB의 3요소 클라이언트: 안..

Android Drozer 설치

Android Drozer 설치 드로저 설치 드로저(Drozer)는 모바일 앱 취약점 진단 프레임워크로 안드로이드 시스템에 접근하여 앱을 동적으로 진단할 수 있는 도구이며, 서버와 클라이언트로 동작한다. 드로저 공식 홈페이지에서 윈도우 기반의 드로저 설치 파일을 다운로드 받고, 설치파일을 로컬PC에 설치한다. https://labs.withsecure.com/tools/drozer Drozer Comprehensive security and attack framework for Android. labs.withsecure.com msi 설치에서 파이썬2.7을 설치했던 경로를 아래 하단 location 부분에 설정해주고 설치하면 된다. 명령 프롬포트를 이용해 drozer-agent.apk를 설치한다. dr..

BytecodeViewer를 활용한 APK 분석

BytecodeViewer를 활용한 APK 분석 apktool, JD-GUI의 모든 기능을 하나로 합친 듯한 기능을 가진 BytecodeViewer를 이용하여 APK 파일을 분석할 수 있다. APK 파일을 디컴파일하여 바이트 코드 형태로 보여주고, 클래스 파일 → 자바 파일로 변환한 소스파일도 복원해 함께 보여준다. 즉, 한 쪽에는 자바 디컴파일 소스 코드를 보여주고 다른 한 쪽에는 바이트 코드를 보여주어 바이트 코드를 수정하기에 유용하다. 또한, 다른 도구에 비해 분석 속도가 매우 빠른 것이 장점이다. BytecodeViewer는 아래 링크에서 파일을 다운받을 수 있다. https://github.com/Konloch/bytecode-viewer/releases Releases · Konloch/byt..

apktool, JD-GUI를 이용한 모바일 애플리케이션 디컴파일

apktool, JD-GUI를 이용한 모바일 애플리케이션 디컴파일 디컴파일 도구 일반적으로 사용하는 디컴파일 도구는 다음과 같다. apktool: https://ibotpeaches.github.io/Apktool/ dex2jar: https://github.com/pxb1988/dex2jar Java Decompiler(JD-GUI): http://java-decompiler.github.io/ Apktool - A tool for reverse engineering 3rd party, closed, binary Android apps. A tool for reverse engineering 3rd party, closed, binary Android apps. It can decode resource..

인시큐어뱅크(InsecureBankv2) 앱 설치

인시큐어뱅크(InsecureBankv2) 앱 설치 파일 다운로드 아래 링크에서 인시큐어뱅크 앱 소스를 다운로드 받을 수 있다. 인시큐어뱅크 백엔드 서버, 안드로이드 애플리케이션 소스 등이 포함되어 있다. https://github.com/dineshshetty/Android-InsecureBankv2 GitHub - dineshshetty/Android-InsecureBankv2: Vulnerable Android application for developers and security enthusiasts to learn ab Vulnerable Android application for developers and security enthusiasts to learn about Android insecu..

Nox 개발자 옵션 활성화

Nox 개발자 옵션 활성화 녹스 에뮬레이터 설정 변경 녹스 앱의 설정이 아닌 녹스 에뮬레이터 설정이다. 바탕화면에서 설정을 클릭한다. 태블릿 정보 클릭 설정의 맨 아래 쪽의 태블릿 정보를 클릭한다. 빌드 번호 연속 클릭 빌드 번호를 연속으로 클릭한다. 연속으로 클릭하면 설정 화면 목록에 이 추가된 것을 확인할 수 있다. USB 디버깅 허용 USB 디버깅을 허용하면 설정이 완료된다. 새 프로젝트 만들기 안드로이드 스튜디오에서 새 프로젝트를 만들어 RUN 시켜본다. 메뉴에서 실행할 에뮬레이터를 samsung으로 시작하는 에뮬레이터로 설정하고 RUN을 누르게 되면 아래 화면처럼 안드로이 스튜디오에서 개발한 앱을 녹스 에뮬레이터에서 확인할 수 있다.

Nox 설치와 환경 설정

Nox 설치와 환경 설정 Nox 설치 안드로이드 스튜디오의 에뮬레이터 속도가 다소 느리기 때문에 녹스를 설치한다. 다수 에뮬레이터를 동작시켜 동시 진단이 가능하다는 장점이 있다. Nox 설치는 아래의 링크로 다운받을 수 있다. https://kr.bignox.com/ Noxplayer – Fastest and Smoothest Android Emulator for PC & Mac – Free and Safe Play the most popular mobile games and run apps on PC with NoxPlayer, the best Android Emulator. Supports Android 9. Compatible with Windows & Mac. Much faster and more..

Android Studio 설치 & 가상 에뮬레이터 설정

Android Studio 설치 아래의 링크에서 Android Studio의 최신 버전을 설치할 수 있다. https://developer.android.com/studio 전부 다 Next 버튼을 눌러 설치한다. 설치를 완료하면 다음과 같이 Standard와 Custom을 선택하는 창이 있는데 Standard를 선택하고 Next를 눌러준다. 라이센스 조항에 관련된 항목인데 옆에 목록을 하나씩 선택 후 전부 Accept(수락)한 후 Finish를 클릭하면 안드로이드 스튜디오를 설치할 수 있다. 다운로드가 완료되면 다음과 같이 안드로이드 스튜디오 초기 화면을 볼 수 있다. 가상 에뮬레이터 설정 초기 화면에서 Virtual Device Manager를 선택하여 Android Virtual Device의 이름..