| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 1 | 2 | 3 | 4 | 5 | 6 | |
| 7 | 8 | 9 | 10 | 11 | 12 | 13 |
| 14 | 15 | 16 | 17 | 18 | 19 | 20 |
| 21 | 22 | 23 | 24 | 25 | 26 | 27 |
| 28 | 29 | 30 | 31 |
- node.js
- 가명정보처리
- 한국정보보호산업협회
- 마감임박
- 덧셈 암호
- 모듈러 연산
- 백엔드입문
- 한국산업인력공단
- Writeup
- 포너블
- package.json
- 한국정보보호산업협회기자단
- 디오판투스 알고리즘
- 유클리드_알고리즘
- 개인정보보호
- 무료교육
- 개인정보보호교육
- 국가인적자원개발컨소시엄
- 곱셈 암호
- package-lock.json
- pwnable.tw
- function scope
- 확장 유클리드 알고리즘
- 웹 프레임워크
- 동적타이핑
- arrow function
- 호이스팅
- 개인정보안전성
- 백엔드
- 개인정보보호위원회
- Today
- Total
짱짱해커가 되고 싶은 나
[안드로이드 취약점 진단] 2-1. 분석 환경 설정 (인시큐어뱅크, apktool, dex2jar, jadx, BytecodeViewer) 본문
[안드로이드 취약점 진단] 2-1. 분석 환경 설정 (인시큐어뱅크, apktool, dex2jar, jadx, BytecodeViewer)
동로시 2022. 6. 9. 11:06우선, '안드로이드 모바일 앱 모의해킹' 도서의 인시큐어뱅크 가상 금융 앱과 '쉽게 배우는 안드로이드 앱 취약점 진단' 책을 바탕으로 공부할 예정이다. 안드로이드 스튜디오 다시 깔기 싫어서.. 일단 안 깔고 진행해볼 예정 ㅎㅎ.. ..
인시큐어뱅크 설치
1. 인시큐어뱅크
현재 총 25개의 취약점을 테스트할 수 있다. 자세한 리스트는 깃허브 readme를 읽어보면 된다.
깃 clone으로 받아보장
https://github.com/dineshshetty/Android-InsecureBankv2
인시큐어뱅크는 서버, 안드로이드 앱 소스, apk 파일 등으로 구성된다.
- AndroLabServer: 백엔드 서버
- InsecureBankv2: 안드로이드 소스
- InsecureBankv2.apk
- Usage Guide.pdf: 사용자 가이드
2. nox에 인시큐어뱅크 앱 설치
- adb 연결

- adb에 앱 설치


3. 인시큐어뱅크 서버 구동
python2로 실행시켜야한다..
그리고 easy_install flask sqlalchemy simplejson cherrypy를 해줘야하는데!!
이런 귀여운 에러가 난다 ^^;;; 설치했는데 pip2로도 했는데.. 후..😤


끄앙 해결했따~~!! 🤣
문제는 바로 이놈! egg 머시기~!!!

pip2 install sqlalchemy --upgrade를 해주면 잘된다. 엉엉 ㅜ_ㅜ

nox가서 실행시켜주면 잘 된다 ^_^ 앱 취약점 뿌시기 직전~

4. 인시큐어뱅크 앱 설정
앱의 우측 상단 : 의 preferences를 누른당
서버 ip에 내 로컬 ip를 설정하면 된다.

- id: jack / pw: Jack@123$
- id: dinesh / pw: Dinesh@123$
로그인하면 서버에 로그인 로그 뿅! > <

소스 코드가 없을 때 APK 파일 분석
- apktool
- dex2jar
- JD-GUI
- BytecodeViewer
- jadx
- jeb
1. apktool
apk 파일로 압축되어 있는 resourses.arsc, classes.dex, XML 파일들을 디버깅 파일 형태로 변환해주고, 수정한 후에 다시 수정된 apk 파일로 생성할 수 있는 도구
디컴파일
apktool d [앱 파일] -o [소스 폴더 경로]


여기서 smali 라는 폴더의 smali 파일들을 조작하면 동작을 제어할 수 있다고 한다.
Rebuild
소스 코드를 수정한 다음에 다시 재빌드 할 때는 apktool b {소스 폴더 경로} -o {앱 파일}
2. dex2jar
apk 파일이나 apk 파일에 포함도니 classes.dex 파일을 java class 파일로 변환해주는 도구
(안드로이드 실행파일 - dex, dex 파일을 달빅 가상머신에서 구동시키는 것, 달빅 VM은 구동되는 app마다 생성되는 형태)
(java -> 컴파일 -> .class -> dex 파일 생성 (java 바이트 코드 -> dalvik 바이트 코드)
설치는 git readme를 보고 따라하면 된다.
dex2jar을 사용하기 위해 인자값으로 apk 파일이나 dex 파일만 넘겨주면 된다. -> jar 파일이 생성된 걸 확인!


이 jar 파일을 사용자가 읽을 수 있는 형태로 변환하기 위해서는 java 파일로 디컴파일해야 한다.
JD-GUI나 jadx, jeb를 통해 열면 자동으로 디컴파일 결과를 보여준다.
(jeb는 유료 😥 몇 번 써봤는데 jadx 보다 jeb가 더 좋은 것 같긴했다)
3. jadx-gui

4. BytecodeViewer
악성코드 앱을 분석할 때도 사용할 수 있는 툴이다.
java, 안드로이드, dex, jars 파일 등과 같은 소스 코드 리버싱 분석 도구다.
apk 파일을 디컴파일해서 바이트코드 형태와 클래스 파일을 자바파일로 변환해 소스 파일 복원도 함께 보여준다.
통합 툴 느낌?
jar 파일을 실행하면 저런 창이 뜨고 저기에 dex 파일을 드래그하면 된다.

왼쪽은 자바 디컴파일된 소스코드, 오른쪽은 바이트코드다.
-> 2개를 같이 보여줘서 바이트코드 수정할 때 매우 유용하다.

'모바일' 카테고리의 다른 글
| [안드로이드 취약점 진단] 2-3. 드로저(drozer) (0) | 2022.06.09 |
|---|---|
| [안드로이드 취약점 진단] 2-2. adb (0) | 2022.06.09 |
| [안드로이드 취약점 진단] 1-4. 안드로이드 앱 취약점 점검 기준 (0) | 2022.06.08 |
| [안드로이드 취약점 진단] 1-3. 안드로이드 파일시스템 및 프로젝트 파일 구성 (0) | 2022.06.07 |
| [안드로이드 취약점 진단] 1-2. 안드로이드 애플리케이션 구성요소 (0) | 2022.06.07 |