[목차]
1. Nox 프록시 설정
2. Burp Suite 인증서 설치
3. InsecureBank와 연동 실험
[Nox 프록시 설정]
1. Nox 설정
Nox 메인 > Tools 폴더 > 설정

Wi-fi >

'WiredSSID' 항목 누르고 있다가
'네트워크 수정' 항목 선택 >

고급 옵션 > 프록시 > 수동

자신의 HOST PC IP 확인 후 입력 (127.0.0.1은 안됨)

2. 버프 설정

[버프 인증서 설치]
* 설치 전 주의사항
- 기존 방식인
(1) 버프 인증서를 받아(http://burp)
(2) 확장자명을 cacert.der에서 cacert.crt로 변경 후
(3) 드래그 앤 드롭(또는 adb를 통해)으로 Nox에 넣어
(4) Tool > 설정 > 보안 > SD 카드에서 설치
하는 방식으로는 인증서를 설치하는 경우
다음과 같이 인증서 자격증명이

'사용자' 측에 생기는데
Android 7 버전 이상부터는
'사용자' 자격증명을 신뢰하지 않는다고 하여
인증서를 시스템 측에 설치해야 한다.
(1) 버프 인증서 내려받기
버프 기동 후
Proxy > Options > Provy Listners > Import / export CA certificate
하던지

브라우저에서 http://burp 직접 호출 후 내려받던지 택일

(2) openssl 을 통한 변환작업
: 윈도우의 경우 openssl 바이너리를 별도로 설치 후 사용해야 함 (절차 생략)
http://slproweb.com/products/Win32OpenSSL.html
터미널을 열어 (1)에서 받은 버프 인증서 경로로 이동 후
아래 커맨드 입력
C:> openssl x509 -inform DER -in cacert.der -out cacert.pem
C:> openssl x509 -inform PEM -subject_hash_old -in cacert.pem
C:> move cacert.pem 9a5ba575.0

위 과정은
der 파일을 pem 형식으로 변한 뒤 >
오래된 openssl 1.0.0 버전 이전에
사용된 알고리즘을 통해 인증서의
subject name hash 값을 추출하여 >
파일 명을 9a5ba575.0으로 변환시킨
작업인데

이렇게 변환시킨 이유는
Nox의 시스템 자격증명 폴더 내
설치되어 있는 인증서 형식이 바로
위와 같은 형식이기 때문

(3) 인증서 설치
adb로 해당 인증서를 /sdcard/ 디렉터리에 푸시 해주고

쉘에 접속해 /sbcard/ 내 버프 인증서를
시스템 자격증명 폴더에 옮겨준 뒤 권한부여

정상 설치 확인

[InsecureBank와 연동 실험]
인시큐어뱅크 서버 앱 실행 후
로그인을 시도해 보면

정상적으로 프록시를 거치게 된다.
프록시 설정 정상 완료!
# 인시큐어뱅크의 경우
소스코드가 공개되어 있기 때문에
별도의 소스 추출 작업이나
추출한 dex 파일을
jar로 변환하는 작업이
생략되지만
실무에서
필연적으로 사용해야 하기 때문에
이후 추가 실습에 별도로 정리할 예정
'APP 진단 > Android' 카테고리의 다른 글
7. 안드로이드 앱 진단 실습 (5) - 항목별 진단 실습 2 : 안드로이드 백업 취약점 (4) | 2022.07.02 |
---|---|
6. 안드로이드 앱 진단 실습 (4) - 항목별 진단 실습 1 : 취약한 브로드캐스트 리시버 (0) | 2022.06.24 |
4. 안드로이드 앱 진단 실습 (2) 진단 환경 구성 2 (Frida) (2) | 2022.06.21 |
3. 안드로이드 앱 진단 실습 (1) 진단 환경 구성 : 인시큐어뱅크 (0) | 2022.06.20 |
2. 안드로이드 앱 진단 도구 (0) | 2022.06.20 |