취약점 진단 유용 Tool

안드로이드(Nox) 버프 인증서 설치(7.0이상)

H.J.World 2021. 1. 13. 15:21
728x90
반응형

 

기존에는 모바일 취약점 진단 시 녹스 앱플래이어를 사용하게 되면 버프 실행 및 프록시 연결 후 http://burp에 접속해 인증서 다운 후 실행하면 되지만 안드로이드 버전 7.0 이상 버전에서 버프 인증서 오류가 발생하는 경우가 있습니다.

우선 인증서 설치 여부를 확인하기 위해서는 아래와 같이 설정 > 보안 > 신뢰할 수 있는 자격 증명을 클릭합니다.

인증서가 설치되었다면 PortSwigger는 인증서를 확인할 수 있으나 설치가 되어 있지 않아 인증서가 아무것도 존재하지 않는 것을 확인할 수 있습니다.

해당 인증서는 "사용자"가 아닌 "시스템"내에 존재해야합니다.

이게 없다면 인증서를 추가를 해줘야합니다.

간단하게 말하면 기존에 버프에서 인증서를 추출한 뒤, openssl을 이용해서 시스템폴더에 알맞은 형식으로 변환해 주어야 합니다.

일단 점검을 수행하는 PC에서 burp 인증서를 다운로드 해줍니다.

그 후 OpenSSL을 사용해 파일 변환이 필요합니다.

openssl은 아래 URL을통해서 다운로드

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 50MB hard drive space April 21, 2020 - All users and applications should be using the OpenS

slproweb.com

 

1. 다운로드 후 OpenSSL 폴더 \bin 폴더 안쪽에 다운받은 인증서를 이동

 

2. openssl 명령어를 통해서 pem 파일로 변환

 - openssl x509 -inform DER -in <추출한 인증서> -out cacert.pem 

 

3. 변환된 인증서를 통해 해쉬값을 추출

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

 

4. 변환된 인증서를 추출된 해쉬값으로 파일이름을 변경 후 확장자를 .0으로 변경

 

5. 변환한 인증서를 녹스 내 인증서 폴더로 이동하기 위해 녹스 폴더 내에 있는 adb를 실행

 

6. 관리자 권한이 필요하므로, 다음명령어 수행

 - adb root

 - adb mount

 

7. adb를 통해서 추출한 인증서를 녹스 내 인증서 폴더로 전송

 - adb push <파일 위치>.9a5ba575.0 /system/etc/security/cacerts/

 ** 해당 작업 수행 시 mount가 잘되어 있지 않으면 에러가 발생한다. 그때는 "adb remount" 명령어를 수행 

 

8. 녹스 내에 인증서가 잘 저장됐는지 확인하기 위해 shell로 접속 후 인증서 폴서에서 확인

 

728x90
반응형