본문 바로가기
안드로이드 앱 해킹(진단)/인시큐어뱅크

Android-InsecureBankv2 환경 구성

by kk-nic 2024. 11. 12.

모바일 앱 취약점 진단을 위해서 기존에 많이 사용 하는 InsecureBankv2 와 DIVA로

테스트 진행 예정이다. 먼저는 InsecureBankv2 앱으로 해보자.

 

InsecureBankv2 와 DIVA 란?

모바일 애플리케이션 보안 학습을 위해 설계된 모의 취약점 학습 애플리케이션이다.

두 애플리케이션 모두 안드로이드에서 동작한다.

iOS 에서의 대표적인 취약점 학습 애플리케이션은 “DVIA-v2” 가 있다.

 

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 insecurities - dineshshetty/Android-InsecureBankv2

github.com

인시큐어뱅크 취약점 리스트(24.11.11)

24년 11월 11일 기준 위와 같은 취약점들이 존재하는 애플리케이션이다.

전부 다 테스트를 해보지 않고, 약 10가지? 정도만 학습 할 예정이다.

 

■ 환경 구성 ( 테스트 OS : Windows 11 64bit)

  1. 녹스 앱 플레이어
  2. InsecureBankv2 ZIP 파일
  3. 서버환경

준비물 1) 녹스 플레이어

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 stable.

www.bignox.com

테스트 버전 → 7.0.6.1 버전 사용

최신버전으로 설치해도 무방하다.

 

설치가 끝나면 기본 설정 세팅부터 하자.

 

설정 저장 → 녹스 재실행 후 설정 적용된다.

 

 

준비물 2) InsecureBankv2 app

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 insecurities - dineshshetty/Android-InsecureBankv2

github.com

ZIP 파일을 다운받자. (다운 받기 전에 V3, 알약 같은 보안 프로그램들은 전부 꺼야 한다)

 

다운을 받으면, Windows Defender 에서 바이러스 발견 됬다고 하면서, 지워버릴것이다.

윈도우 키 → “바이러스 및 위협 방지” → 허용된 위협 → 보호기록 항목에 들어가면,

위협이 차단 된 인시큐어뱅크 항목이 있을 것이다.

항목 클릭 → 작업 → 허용 클릭

이제는, 다운이 된다.

 

C드라이브 바로 아래 특정 폴더를 만들어 놓고, 그안에서 압축을 풀어 놓자.

(폴더명은 영어로 해야 한다. 앱이 설치되어있는 절대경로의 한글이나 스페이스가 있게되면, 다양한 오류를 만날 수 있다. 때문에, 윈도우 계정 또한 한글이름이 아닌, 영어이름(계정)과 스페이스없이 생성하는 것을 추천한다.)

절대경로 : C:\InsecureBankv2\Android-InsecureBankv2-master

 

준비물 3) 서버 환경

서버 실행하기 위해 파이썬 환경 구축 → 아나콘다 환경 구축

(기존의 파이썬이 설치가 되어있다면, 삭제 후 아나콘다 설치 권장)

https://www.anaconda.com/download

 

Download Anaconda Distribution | Anaconda

Download Anaconda's open-source Distribution today. Discover the easiest way to perform Python/R data science and machine learning on a single machine.

www.anaconda.com

설치 한 버전 → Anaconda3-2024.10-1-Windows-x86_64.exe (Python 3.12)

아다콘다 설치 중 이 옵션 체크 하고 인스톨 해야한다. ( 환경 변수에 등록해야, 다른 경로에서 아나콘다 실행 가능함)

 

설치가 끝나면 CMD 열기

conda --version → 아나콘다 버전 확인.

python --version → 파이썬 버전 확인.

이 명령어들이 안먹으면, 환경 변수에 등록이 안된 것이다.

이제, 아나콘다 설치는 끝.

 

준비물은 끝!

 

이제부터는 테스트 환경 설정을 해보자.

① 서버 구축

②인시큐어뱅크 앱 설치

③서버와 인시큐어뱅크앱 통신 테스트

-> 차례 대로 해보자.

 

①서버 구축

이제는 아나콘다는 이용해서 서버를 구축해보자.

인시큐어뱅크가 파이썬 3점대에 동작이 되지 않는다. 2점대로 낮춰야한다.

현재는 파이썬 3점대(3.12.7) 설치 되어있다. 그래서 가상환경을 구축해서 2점대로 낮춰야한다.

(파이썬 가상환경을 윈도우에서 구축하기 위해서 아나콘다 사용하는 것)

 

윈도우 키 클릭 → Anaconda Prompt 실행

conda create -n python2 python=2.7 -y

 

설치가 완료 되면

conda activate python2 → 방금 설치한 환경 활성화

conda deactivate → 환경 비활성화

 

conda activate python2 엔타

프롬프터가 바뀐다. python 2.7 버전으로 구축한 가상환경 내로 들어온 것.

이제 여기서 뭘 하느냐?

아까 설치해서 압축을 풀었던 파일들중에 AndroLabServer 폴더 내부로 들어가서 절대경로 복사.

Anaconda Prompt 창 에서 그 경로로 들어가야한다.

경로 절대경로 : C:\InsecureBankv2\Android-InsecureBankv2-master\AndroLabServer

pip install -r requirmenets.txt → 설치해야할 파이썬 모듈 설치

설치 과정에서 명령어가 중단이 된 것 같으면(커서가 안움직임) 엔터를 쳐주면 다음으로 넘어간다.

 

requirmenets.txt → 설치해야할 파이썬 모듈들이 나열 되어있다.

 

이중에 web.py  버전을 맞춰줘야 한다.

pip install web.py==0.37

 

이제 app.py  파일을 실행 시키자. app.py 가 서버 역할을 할 것이다.

python app.py

방화벽 엑세스 허용 팝업 → 허용

위 사진처럼 서버로 동작하고, 8888 포트로 요청을 기다리는 상태가 된다. (listen 상태)

 

실제로 리스닝 상태인지 확인해보자.

새로운 CMD → netstat -ano | findstr 8888

 

 

②인시큐어뱅크 앱 설치

 

InsecureBankv2.apk 파일을 녹스 플레이어 내부로 마우스로 드래그 앤 드랍으로 떨구면, 설치가 자동으로 진행된다.

 

 

설치완료.

인시큐어뱅크 앱을 실행하자.

 

먼저 나의 IP를 파악 (cmd - ipconfig)

인시큐어뱅크앱에서는 우상단 점세개 클릭 → Preferences

 

서버 아이피 항목에 나의 로컬 아이피를 기입 후 제출

 

여기까지 모든 환경 구성이 끝났다.

 

③서버와 인시큐어뱅크앱 통신 테스트

계정정보 기입 후 로그인 (로그인 버튼 클릭 전까지는 서버는 아무런 액션 없음)

계정정보는 깃헙에서( dinesh/Dinesh@123$ or jack/Jack@123$ )

로그인 버튼 클릭 후 서버에서는 요청 정보(계정정보) 가 찍히고

인시큐어뱅크앱에서는 로그인되어, 다음 화면으로 전환 된 것이 확인 된다.

 

이제, 하나씩 취약점 진단테스트를 해보자.