반응형
Burp의 경우 기본적으로 20년 이상의 만료 기간을 가지고 있지만, Android 7부터는 최장 만료 기간이 39개월로 설정되면서 39개월보다 짧은 인증서를 임의로 생성해야 합니다.
임의의 사용자 인증서 생성
1. 360일 만료기간 및 RSA 암호화 알고리즘을 이용하여 server.key 개인키를 생성합니다.
openssl req -x509 -days 360 -nodes -newkey rsa:2048 -outform der -keyout server.key -out ca.der
2. 개인키를 DER 파일로 변환합니다.
openssl rsa -in server.key -inform pem -out server.key.der -outform der
3. server.ky.der 파일을 pkcs8 포맷으로 변환합니다.
openssl pkcs8 -topk8 -in server.key.der -inform der -out server.key.pkcs8.der -outform der -nocrypt
4. Proxy Tab -> Options -> Proxy Listeners -> Import/export CA Certificate 버튼을 클릭한 뒤, Import의 Certificate and Private key in DER Format을 클릭합니다.
5. 위에서 생성한 ca.der 및 server.key.pkcs8.der 파일을 등록합니다.
6. 이후 Export의 Certificate in DER Format을 클릭하여 der 파일을 burp.der로 저장합니다.
7. 추출한 burp.der 파일을 burp.pem으로 변환합니다.
openssl x509 -inform DER -in burp.der -out burp.pem
8. 변환한 pem 파일의 hash 값을 확인합니다.
openssl x509 -inform PEM -subject_hash_old -in burp.pem
9. 이후 burp.pem 파일명을 {hash}.0으로 변경합니다.
10. Android 단말기 내의 시스템 인증서 폴더에 해당 파일을 업로드 한 뒤 리부팅합니다.
> adb push ddc3ce49.0 /data/local/tmp/
> adb shell
> su
# mount -o rw,remount /system
# mv /data/local/tmp/ddc3ce49.0 /system/etc/security/cacerts/ddc3ce49.0
# reboot
11. 해당 단말기에서 Burp를 통해 프록시 연결을 할 경우, 정상적으로 통신되는 것을 확인할 수 있습니다.
'Hack > Mobile' 카테고리의 다른 글
[iOS] frida-ios-dump for Windows (0) | 2022.03.17 |
---|---|
Android Snapshot 위치 (0) | 2022.03.08 |
iOS 버전 별 Bundle 및 설정 파일 위치 (0) | 2022.02.04 |
Android Smail Code Injection (0) | 2022.02.03 |
[iOS] Burp Suite SSL Network Connection Loss Solution (0) | 2021.10.14 |
댓글