정뾰안 - 정보보안 블로그
Nox에 Burpsuite 인증서 등록 본문
Nox에 Burpsuite 인증서 등록
Nox를 설치하고 Burpsuite 인증서를 등록해서 Nox 내에서 동작하는 앱의 네트워크 패킷을 Burpsuite로 잡아보려고 한다. 여기서는 Burpsuite와 Nox 설치 이후 과정부터 진행할 예정이다. 만약 Burpsuite 설치가 되어있지 않다면 본 블로그의 'Burpsuite 설치 및 인증서 등록' 게시글을 먼저 참고해주길 바란다. 또한 Nox 설치 및 루팅에 관한 설명 및 과정은 본 블로그의 'Nox 설치 및 루팅' 게시글을 참고해주길 바란다.
Burpsuite 설치 및 인증서 등록
Burpsuite 설치 및 인증서 등록
Burpsuite 설치 및 인증서 등록◇ Burpsuite 설치, 인증서 등록을 하기에 앞서 왜 Burpsuite에 인증서를 등록해야 할까?HTTPS는 원래 ‘중간에서 엿보는 사람’을 막기 위한 기술이기 때문에 중간에 낀 사
yeongiee.tistory.com
Nox 설치 및 루팅
Nox 설치 및 루팅
1. Nox 루팅 설명안드로이드에서 설정 → 휴대전화 정보 → 빌드 번호를 여러 번 누르면 ‘개발자가 되었습니다’라는 메시지가 뜨고 개발자 옵션이 활성화된다. 이 과정에서 시스템 내부적으로
yeongiee.tistory.com
Burpsuite 설치 및 인증서 등록
◇ Burpsuite 공식 홈페이지에서 Burpsuite 설치파일을 다운로드한 뒤 설치한다. 인증서 등록 과정까지 완료된 상태에서 진행하였으며, 앞서 설명한 바와 같이 본 게시글에서 그 과정은 생략한다.
Nox 설치
◇ Nox 공식 홈페이지에서 Nox 설치파일을 다운로드한 뒤 설치한다. 루팅은 선택사항이며, 본 게시글에서 설치과정은 생략한다.
OpenSSL 설치
◇ OpenSSL 설치파일을 다운로드 받는다. OpenSSL은 오픈소스 암호화 라이브러리로 암호화, SSL/TLS 프로토콜 구현, 인증서 관련 작업 등의 기능을 제공한다. https://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 October 8, 2025 - OpenSSL 3.6 is available. Users should currently i
slproweb.com

◇ 다운로드 받은 설치파일을 실행해서 OpenSSL을 설치한다.




Burpsuite 인증서 등록
◇ Burpsuite 설치 완료한 인증서(cacert.der)를 OpenSSL의 bin 하위 경로로 이동한다.

◇ DER 형식의 X.509 인증서(cacert.der)를 PEM 형식(cacert.pem)으로 변환한다. DER는 바이너리 형식이고 PEM은 Base64 텍스트 형식이다. 대부분의 OpenSSL 명령이 PEM 형식을 요구하기 때문에 읽기·편집·도구 사용 용이성을 위해 PEM으로 변환한다.
cd C:\Program Files\OpenSSL-Win64\bin
openssl.exe x509 -inform DER -in cacert.der -out cacert.pem

◇ bin 하위 경로에 cacert.pem 파일이 생성된 것을 확인한다.

◇ PEM 인증서(cacert.pem)의 주체(subject) 정보를 기반으로 OpenSSL 옛 방식(subject_hash_old)의 해시값을 출력한다. 그런데 왜 OpenSSL 옛 방식 해시값을 사용할까? 과거 Linux의 /etc/ssl/certs/ 구조에서는 각 인증서를 subject_hash.0, subject_hash.1 형태로 저장하여 사용했지만 OpenSSL 1.1 이후 해시 방식이 바뀌면서 그 형태가 달라졌다. 하지만 여전히 옛 방식과 호환해야 할 때는 subject_hash_old 사용하기 때문에 옛 방식 해시값을 사용하는 것이다.
openssl x509 -inform PEM -subject_hash_old -in cacert.pem

◇ subject_hash_old 해시값 파일(9a5ba575)이 생성된 것을 확인 후 파일명을 9a5ba575.0으로 변경한다.
그렇다면 왜 변경하는 걸까? OpenSSL은 CA 인증서를 ‘해시값.번호’ 형태로 저장해야 인식이 가능하다. 9a5ba575는 인증서의 subject 이름을 해싱한 값이며, .0은 같은 해시를 가진 인증서 중 첫 번째(0번)이라는 의미이다. 보통 하나의 해시값에 인증서는 하나이기 때문에 .0을 사용한 것이다.
참고로 subject_hash / subject_hash_old 는 인증서의 Subject DN(Distinguished Name) 을 기반으로 생성된다. 따라서 CA 인증서의 subject(주체) 이름은 대체로 유일하며 같은 subject(주체)를 가진 두 인증서를 동시에 배포하지 않기 때문에 해시가 충돌할 일이 거의 없다. 그래서 보통 해시 파일은 .0 하나만 생성된다.

◇ 생성한 인증서를 디바이스 /system/etc/security/cacerts 경로에 저장한다.
이때 디바이스 /system/etc/security/cacerts 경로에 권한이 있어야 저장이 가능하다. /system은 Android 시스템 파티션이며, 기본적으로 보안 및 안정성 때문에 ro(read-only) 권한으로 지정되어 있다. 따라서 인증서를 저장하기 전 /system 파티션을 읽기/쓰기 모드로 재마운트하여 권한을 먼저 변경해야 한다. 사진에 ①번 부분이 권한 변경 전 저장 시도하여 오류가 난 부분이다. 권한 변경 후에 저장하면 ②번 부분처럼 문제없이 저장이 가능하다.
adb shell
mount -o rw,remount /system
exit
adb push 9a5ba575.0 /system/etc/security/cacerts

◇ 인증서가 디바이스에 잘 저장됐는지 확인한다.
adb shell
cd /system/etc/security/cacerts
ls | grep 9a5ba575.0
◇ 이후 디바이스 설정에서 '신뢰할 수 있는 자격증명' 활성화 및 프록시 설정을 한다. WiFi는 기본 WiFi를 사용했고, 프록시는 수동 설정(프록시 호스트 이름은 : 호스트 PC의 IP)했다.

Burpsuite 세팅
◇ Burpsuite에서 All interfaces로 설정한다.
- 메뉴 위치 : Proxy > Proxy settings > Proxy listeners > Edit 또는 Add

◇ Nox에서 앱을 실행시켜 패킷을 잡아본다. 문제없이 Burpsuite 인증서 및 프록시 설정을 완료했다.

'Mobile' 카테고리의 다른 글
| Sideloadly (iOS 앱 설치) (0) | 2026.01.07 |
|---|---|
| Frida 설치(+Nox) (1) | 2025.12.31 |
| Nox 설치 및 루팅 (0) | 2025.12.25 |
| Frida 기초 (0) | 2025.12.24 |
| Dopamine 탈옥(아이폰SE + iOS 15.8.3) (0) | 2025.12.24 |