[Nox] 안드로이드 버프 인증서 설치(Android 7.0+)

1. Nox

안드로이드 모의해킹에서 녹스는 앱의 에뮬레이팅을 통한 동적 분석, 루트(Root)권한 설정 및 해제가 용이하여 자주 활용한다. 다만 에뮬레이터 환경에서 동작하는 만큼 에뮬레이터 탐지가 적용된 앱의 경우 실행이 어렵다는 단점이 있다.

하지만 진단기기 준비의 어려움 물리적으로 다른 기기에서의 교차진단이 필요할 경우 사용할 수 있는 대안이 될 수 있다.

2. 환경

녹스(Nox) 플레이어 7.0.2.1(설치 : kr.bignox.com/)

Burp Suite(Community Edition 2022.5.1)

3. 권장 설정(옵션)

필수 설정은 아니지만 모의해킹 수행을 위한 Nox 설정을 안내한다.

(필수) 시스템 설정 > 일반 > 시작항목 > ROOT켜기

(옵션) 시스템 설정 > 성능 > 그래픽 모드 > 호환+모드

(옵션) 시스템 설정 > 성능 > 해상도 설정 > "스마트폰" , 540x960

4. 인증서 준비

안드로이드 7 이상 버전 부터 인증서의 위치가 "사용자(User)"가 아닌 "시스템(System)"경로에 위치해야 한다.

1. 인증서 준비

OpenSSL을 통한 인증서 변환 작업이 필요하다.

http://slproweb.com/products/Win32OpenSSL.html

 

Win32/Win64 OpenSSL Installer for Windows - Shining Light Productions

Minimum system requirements: Windows XP or later 32MB RAM 200MHz CPU 30MB hard drive space Recommended system requirements: Windows XP or later 128MB RAM 500MHz CPU 300MB hard drive space September 9, 2021 - OpenSSL 3.0 is available. Users should currently

slproweb.com

위 페이지에서 운영체제에 맞는 OpenSSL을 다운로드한다. Light버전에도 필요한 기능이 포함되어 있으므로 light 선택

Win64 OpenSSL v3.0.2 Ligth - exe 설치

2. Burp 인증서 다운로드

Burp Suite에서 Proxy > Options에서 진행한다.

1. Import / export CA certificate

2. Certificate in DER format (Next)

인증서 저장 위치를 설정한다.

OpenSSL이 설치된 경로에 저장한다.

C:\Program Files\OpenSSL-Win64\bin\cacert.der

** Program Files 경로에 파일이 바로 export 되지 않는 경우가 있으니 다른 경로에 다운로드 후 복사하여 파일 생성 확인 후 작업한다. **

3. openssl 이용하여 pem 파일로 변환

관리자 권한으로 cmd 실행 후 다음 명령 실행

1. pem 파일로 변환

openssl x509 -inform DER -in cacert.der -out cacert.pem

2. 변환된 인증서에서 해쉬값 추출

openssl x509 -inform PEM -subject_hash_old -in cacert.pem

3. 변환된 인증서에서 추출된 해쉬값으로 파일명 변경후 확장자 .0으로 변경

파일명 변경

4. 인증서 nox로 복사

adb를 통해 파일을 복사한다.

adb 연결이 되지 않을 경우 nox 연결 진행

adb connect 127.0.0.1:62001

adb push [로컬 파일 경로] [nox 파일 경로]

adb push .\9a5ba575.0 /system/etc/security/cacerts/

파일 복사 여부는 adb shell 에서 직접 경로 접근 후 파일 존재를 확인하면 된다.

파일 이동, 복사 시 readonly filesystem 등 에러가 발생하는 경우 다음의 명령을 adb쉘 내에서 시도한다.

mount -o rw,remount /system

 

여전히 문제가 발생하면 아래의 글을 참고한다.

2023.03.29 - [Security/Mobile] - [Android] '/dev/block/dm-0' is read-only 해결

 

버프 인증서 등록을 마쳤으며, 버프에서 연결하는 방법을 다음 포스트에서 다룬다.

반응형