녹스와 PC의 프록시 연결 시 SSL인증서 오류가 발생한다. 이를 해결하기 위해서는 버프스위트 SSL인증서를 openssl로 변환하여 설치하는 과정이 필요하다. 매우 복잡하지만 아래의 과정을 따라하여 성공하길 바란다.
1. 녹스 설치 및 USB 디버깅 활성화
아래의 게시글을 참고하여 녹스에서 개발자 옵션 및 USB 디버깅을 활성화 한다.
2023.08.08 - [Mobile App 취약점 진단/AOS App 진단] - 녹스(Nox) 개발자 옵션 및 USB 디버깅 활성화 방법
2. 버프슈트 설치 및 실행
PC에서 아래의 사이트에 접속하여 BurpSuite Community 버전을 다운로드하고 설치한다.
※ Enterprise Edition, Professional은 유료버전이라 30일 이용 제약이 있다.
3. 버프슈트 인증서 준비
타이틀바의 Setting 또는 Proxy settings 클릭 → Proxy 탭 클릭 → Import / export CA certificate 클릭
"Certificate in DER format" 선택 → Next → 인증서를 저장할 경로 지정 → 저장할 파일의 이름 입력 → Save → Next → Close
4. openssl 설치
아래의 사이트에 접속하여 자신의 운영체제 환경에 맞는 설치파일을 다운로드 한다. Light 버전을 설치해도 무방하다.
https://slproweb.com/products/Win32OpenSSL.html
다운로드한 openssl 설치파일을 실행하여 설치를 진행한다.
설치가 끝난 마지막 화면을 제외하고 모두 Default(기본) 세팅을 유지한채 설치를 진행하면 된다.
※ 설치의 마지막 화면은 도네이션(후원) 금액을 결정하는 화면이다.
5. openssl을 통한 인증서 변환
C:\Program Files\OpenSSL-Win64\bin 경로로 버프슈트 인증서(cacert.der)를 옮긴다.
경로 입력란에 "cmd"를 입력하여 명령 프롬프트를 실행시킨뒤 아래와 같은 명령어를 입력한다.
# der 파일을 pem 형식으로 변환
openssl.exe x509 -inform DER -in cacert.der -out cacert.pem
# 변환된 인증서에서 해쉬값 추출
openssl.exe x509 -inform PEM -subject_hash_old -in cacert.pem
cacert.pem 파일명을 해쉬값으로 변경하고 확장자를 0으로 변경한다.
6. 인증서를 녹스로 이동
adb를 이용하여 인증서를 녹스로 이동한다. 명령어는 아래와 같다.
adb connect 127.0.0.1:62001
adb devices
adb shell
# mount -o rw,remount /system
# exit
adb push .\9a5ba575.0 /system/etc/security/cacerts/
adb shell
# mount -o ro,remount /system
7. 녹스에서 프록시 설정
상단 Taskbar 를 아래로 내린다음 WIFI 버튼을 길게 클릭한다.
이후 표시된 WiredSSID를 길게 클릭한뒤 네트워크 수정 버튼을 누른다.
프록시를 수동으로 설정하고 PC의 IP주소를 입력한뒤 포트를 8080으로 바꾸고 저장을 누른다.
8. PC의 Burp Suite의 설정
Settings → Add → Bind to port : 8080 → All interfaces → OK → *:8080만 Running 상태로 변경
위와 같이 설정하면 녹스에서의 웹통신을 PC의 버프슈트에서 볼 수 있다.
'Mobile App 취약점 진단 · 모의해킹 > AOS App 취약점 진단 · 모의해킹' 카테고리의 다른 글
[AOS 취약점 진단] 01강 - 구글 계정 생성 (0) | 2023.11.11 |
---|---|
녹스(Nox) 개발자 옵션 및 USB 디버깅 활성화 방법 (0) | 2023.08.08 |
안드로이드 APK 파일 인증서 등록 방법 정리 (0) | 2023.04.11 |
안드로이드 APK 파일 디컴파일/리패키징 방법 (0) | 2023.04.11 |
안드로이드 앱(app)으로부터 apk 파일 추출 방법 정리 (0) | 2023.04.11 |