Android 7.0 이상 Burp Suite 인증서 설치

energy·2022년 7월 17일
0

android

목록 보기
1/3

안드로이드 7.0 버전 이상부터 Burp Suite 인증서가 시스템과 사용자로 구분되게 되었다.
그래서 기존 처럼 인증서 파일을 기기에 직접 설치하는 방법을 사용하면, 사용자 인증서로 설치되게 되며, Burp Suite 패킷 캡쳐 시 인증서 오류가 발생하는 경우가 생긴다.
따라서 인증서 파일을 시스템 인증서로 직접 저장하는 방법을 진행한다.


1. Burp Suite에서 인증서 추출

Burp Suite [Proxy] - [Options] - [Import/export certificate] 기능을 통해 인증서 파일을 추출한다.



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

cacert.cer 인증서 파일 추출 확인

λ ls -al
-rw-r--r-- 1 enrgy 197121  940  7월 17 23:32 cacert.cer

추출한 인증서 파일이 존재하는 경로에 접근하여 openssl을 통해 인증서를 변환한다.

λ openssl x509 -inform DER -in cacert.cer -out cacert.pem

변환한 cacert.pem 인증서 파일의 해쉬 값을 추출한다.

λ openssl x509 -inform PEM -subject_hash_old -in cacert.pem
9a5ba575
-----BEGIN CERTIFICATE-----
MIIDqDCCApCgAwIBAgIFAJ8hTYkwDQYJKoZIhvcNAQELBQAwgYoxFDASBgNVBAYT
C1BvcnRTd2lnZ2VyMRQwEgYDVQQIEwtQb3J0U3dpZ2dlcjEUMBIGA1UEBxMLUG9y
dFN3aWdnZXIxFDASBgNVBAoTC1BvcnRTd2lnZ2VyMRcwFQYDVQQLEw5Qb3J0U3dp
Z2dlciBDQTEXMBUGA1UEAxMOUG9ydFN3aWdnZXIgQ0EwHhcNMTQwNjMwMTI1MDM2
WhcNMzIwNjMwMTI1MDM2WjCBijEUMBIGA1UEBhMLUG9ydFN3aWdnZXIxFDASBgNV
BAgTC1BvcnRTd2lnZ2VyMRQwEgYDVQQHEwtQb3J0U3dpZ2dlcjEUMBIGA1UEChML
UG9ydFN3aWdnZXIxFzAVBgNVBAsTDlBvcnRTd2lnZ2VyIENBMRcwFQYDVQQDEw5Q
b3J0U3dpZ2dlciBDQTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAJvJ
eyFaALAioma7nqdTWfph5l4yN0YqX8fVs5kktHKxi4VO/v7Tgzd3uKMP9AzrpKPC
vTxZlhISJdS4+0DLIfFdHi5BrKjHbzyhfOUcuENOl4cFKq71yB5wwXoEfV19t7cx
fsYVEbDIQhErBWt8fAp34n8iryUA1dQ8kZdFPDSlWBcEXISNbOBGet42+XESVUT6
G9SlVoBWvVew+dV++qRlAYkWwvJajEGs1UpWZPDMQbKxljCdsDJ0OktASnS2p0ys
pv3vwlc1HE9mYrUv0Des/2YSO5fd4BbBG7SOOfY0IgGCUIDyOhOXQgGaCppmESbi
JY0y1y3dVruLLLnBgAECAwEAAaMTMBEwDwYDVR0TAQH/BAUwAwEB/zANBgkqhkiG
9w0BAQsFAAOCAQEAL22P1B18YEpwSqfZ6lh9mee5U1z0ZfWUIegtqaqm6h260R3Q
Bam5yxngjgQ+lCP86uH0pjO48jOoViiyoToCug+wk+X6TLqlOSnwB/0AHzHvD6rr
ZxFH7R9k0jHMY86dlycXoJ4Fea+ZLrPIPQbRt7q2I8Qo91PK3nfXObxj/6nHBfac
L4p2zdw8uOK7QsM0+HrNPYzKm8OAszLQeo5gRiG8k+XfDiedkjkbBf9TDySxXcYW
oKpoZZ1okt+0B9u3PjKi/xxFktXAnhjPSVQAOZQEHXYQjDI7wpjYbqnctdR7g43y
7pvECPfjC4bObdgyXUjeDfBbOiasUznQSx+9rg==
-----END CERTIFICATE-----

cacert.pem 파일명을 해쉬 값 9a5ba575.0 으로 변경한다.

λ mv cacert.pem 9a5ba575.0



3. 시스템 인증서 디렉토리 저장

ADB push 명령어를 이용하여 인증서 파일을 기기에 저장한다.

λ adb push 9a5ba575.0 /data/local/tmp
9a5ba575.0: 1 file pushed, 0 skipped. 2.1 MB/s (1352 bytes in 0.001s)

/system/etc/security/cacerts 디렉토리에 인증서 파일을 저장해야 하는데, 해당 디렉토리는 Read-only file system이기 때문에 쓰기 권한에 대한 mount 설정이 필요하다.

# mount -o rw,remount /

쓰기 권한 mount 설정 후 인증서 파일을 해당 디렉토리에 복사한다.

# cp 9a5ba575.0 /system/etc/security/cacerts/

# ls -l /system/etc/security/cacerts/ | grep 9a5ba575
-rw-r--r-- 1 root root 1352 2022-07-17 23:40 9a5ba575.0

쓰기 권한 사용 후에는 다음 명령어를 통해 다시 원상복구 시킨다.

# mount -o ro,remount /



4. 인증서 설치 확인

[설정] - [생체 인식 및 보안] - [기타 보안 설정] - [인증서 확인] 에서 확인 가능하다.

0개의 댓글