[NOX] 안드로이드(Nox) 버프 스위트(burp suite) 보안 인증서 등록 방법
기존 녹스 앱플레이어를 사용하면 버프 스위트 실행 및 프록시 연결 후 http://burp에 접속하여 인증서를 다운해 실행하면 됐으나 안드로이드 버전 7.0 이상 버전부터 해당 방법을 사용할 때 오류가 나타난다
이는 Android 7 버전 이상부터 사용자 자격증명을 신뢰하지 않기 때문에 시스템 자격증명으로 변경해주어야 하기 때문이다
해당 과정을 거쳐도 설정 → 보안 → 신뢰할 수 있는 자격 증명을 클릭해보았을 때 PortSwigger 인증서를 확인할 수 없다
해당 인증서는 "사용자"가 아닌 "시스템"내에 존재해야하므로 다음과 같은 과정을 통해 인증서를 추가해주어야 한다
[요약] PC에서 버프스위트 인증서를 추출한 후, openssl을 이용해 시스템 폴더에 알맞은 형식으로 변환해 nox에 설치
1. OpenSSL 설치(git)
- 아래 깃허브를 fork 한 후 생성된 레포지토리를 git bash를 이용하여 clone 해준다
2. burp suite에서 인증서 Export
- 버프 스위트는 community를 사용했으며 해당 과정에서는 pro가 아니더라도 상관없다
- Proxy → Options → Import / export CA certificate 에서 인증서 추출이 가능하다
- 원하는 위치에 인증서를 저장한다
- 인증서 저장 시 파일의 이름 형식을 [저장할 인증서 이름].der로 지정해 주어야 하다
3. OpenSSL Pem으로 변환
- 다음 명령어를 통해 OpenSSL Pem으로 변환 가능하다
openssl x509 -inform DER -in [인증서 저장 시 사용한 파일명].der -out [인증서 저장 시 사용한 파일명].pem
openssl x509 -inform PEM -subject_hash_old -in [인증서 저장 시 사용한 파일명].pem
mv [인증서 저장 시 사용한 파일명].pem 9a5ba575.0
4. adb를 통해 변환한 파일을 nox 플레이어에 설치
- 변환한 인증서를 C:/Program Files (x86)/Nox/bin/ 아래로 옮겨준다
- adb를 사용하여 생성한 인증서 파일을 nox 플레이어로 옮긴다음 권한을 변경해준다
adb root
adb remount
adb push [새로 만들어진 인증서].0 /system/etc/security/cacerts/
chmod 644 /system/etc/security/cacerts/<새로 만들어진 인증서>.0
5. 자격증명 재확인
- 위의 과정을 거친 후 Nox를 재부팅한 후 설정 → 보안 → 신뢰할 수 있는 자격증명을 보면 다음과 같이 증명서가 사용자에서 시스템으로 바뀌어 있는 것을 확인할 수 있다
'Study > Android' 카테고리의 다른 글
[Android] Custom Binary Blocked by FRP Lock 해결하기 with Galaxy 9 (4) | 2022.12.23 |
---|---|
[Android] ADB와 연결된 Device가 unauthorized라고 표시될 때 해결 방법 (0) | 2022.12.19 |
[Android] manifest → application → android:logo 안될 때 (0) | 2022.05.26 |
[Android] WebView 인터넷(http) 접근 거부 해결방법 (0) | 2022.05.26 |
[Android] 남은 액티비티 종료 후 앱 재실행하기 (0) | 2022.02.05 |