Information Security/Android

안드로이드 9 Burp 인증서 설치(ERR_CERT_VALIDITY_TOO_LONG 해결)

hackcatml 2020. 3. 20. 21:35
반응형

안드로이드 7이상에서는 예전처럼 burpsuite 인증서를 설치하면 다음과 같은 에러 발생

 

이유는 Burp인증서는 기본적으로 20년 이상 짜리가 생성되는데, 구글에서 Android System Root인증서의 경우 최장 39개월로 정하였기 때문.

따라서, 기간이 짧은 사용자 인증서를 생성하여 System Root 인증서 위치로 옮겨줘야 함

 

이하 갤럭시 s9(안드로이드9) 및 칼리에서 버프 인증서 설치 진행

 

1. 기간 짧은 사용자 인증서 생성

mkdir certificates && cd certificates

apt-get install openssl

cp /usr/lib/ssl/openssl.cnf ./

 

# Create a private key.

openssl req -x509 -days 730 -nodes -newkey rsa:2048 -outform der -keyout server.key -out ca.der -extensions v3_ca -config openssl.cnf

 

# Convert key to pkcs8 format

openssl rsa -in server.key -inform pem -out server.key.der -outform der

 

# Convert key to pkcs8 format

openssl pkcs8 -topk8 -in server.key.der -inform der -out server.key.pkcs8.der -outform der -nocrypt

여기까지 진행하면 다음과 같은 파일들이 생성되어 있음

 

2. .pem포맷 인증서 생성 및 이름 변경

openssl x509 -inform DER -in ca.der -out ca.pem    // DER포맷 PEM포맷 변경

openssl x509 -inform PEM -subject_hash_old -in ca.pem | head -1    // 인증서 hash값 추출

<hash값>.0으로 ca.pem의 이름 변경

 

3. 안드로이드 기기에 인증서 설치

adb push b0130210.0 /sdcard

adb shell

su - root

mount -o rw,remount /system

mv /sdcard/b0130210.0 /system/etc/security/cacerts/

cd /system/etc/security/cacerts

chmod 644 b0130210.0

 

재부팅하고 설정 --> 생체인식 및 보안 --> 기타 보안 설정 --> 인증서 확인 에서 생성한 인증서 설치된 것 확인

 

4. Burp에 사용자 생성 인증서 import

burp에는 다음 두개의 .der파일을 넣어줌

 

5. 프록시 설정 및 통신

안드로이드 기기 wifi 프록시 설정

 

burp 프록시 리스너 interface추가

 

안드로이드 크롬에서 https 통신 확인

 

※HTTPS 통신이 너무 느린 문제

문제는 이렇게 system CA 인증서를 설치하였다 하여도 burp가 중간에 끼게 되면 통신이 굉장히 느려짐

따라서, 버프 - 피들러 연동하여 환경 구성하는 것을 권장

 

※출처 

https://blog.nviso.eu/2018/01/31/using-a-custom-root-ca-with-burp-for-inspecting-android-n-traffic/

 

 

반응형