본문 바로가기
모바일/안드로이드

Android 7 버전 이상 버프인증서 설치 -2

by DeokWoo 2020. 4. 9.

■ 환경구성

- Android 7 버전 이상 기기 ( 실습은 Nox - Android 7.1 )

- 칼리 리눅스(kali-linux-2020.1a-installer-amd64)

 

- 이전 https://ndw29.tistory.com/12?category=847906  실습 과정을 통해 http/https 패킷은 정상적으로 잡히는 것을 확인할 수 있었다. 하지만 일부 webview, 브라우저 통신 시 보안 인증서 에러로 인해 통신이 제대로 잡히지 않았다. 이유는 버프 인증서의 기간이 구글의 인증서 허용 기간을 초과했기 때문이다. 이 문제점을 해결하기 위해 인증서 허용 기간 내 사용자 인증서를 생성하여 시스템 위치에 인증서를 설치하는 과정을 진행하려고 한다.

 

1. 칼리리눅스를 통해 사용자 인증서 생성

 

- 칼리 리눅스 터미널 접속 후 openssl 설치

 

openssl 설치 명령어 입력 화면

 

- 폴더(certification) 생성 후 oenssl.cnf 파일을 생성한 폴더로 복사

 

openssl.cnf 파일을 생성한 폴더로 복사하는 과정 화면

 

- openssl.cnf 파일을 이용하여 개인키 생성 / Country Name만 KR로 입력하고 이후 입력은 임의로 입력해도 상관없다.

 

개인키 생성 화면

- 생성한 개인키 DER 형식으로 변환

 

DER 형태로 변환하는 화면

- 생성한 개인키 pkcs8 형식으로 변환

 

pkcs8 형태로 변환하는 화면

 

- 디렉터리 내 5개의 파일이 생성된 것을 확인할 수 있다.

 

디렉터리 목록 출력 화면

 

- ca.der 파일을 ca.pem 파일로 변환

 

ca.der --> ca.pem 변환 화면

 

- ca.pem 내 해시 값 추출(cefa3ed8)

 

해시 값 추출 화면

 

- ca.pem 파일을 추출한 해시 값.0 형태로 변경

 

ca.pem 파일을 추출한 해시값.0 파일명으로 변경 화면

 

- 파일 관리자 메뉴를 통해 파일들이 존재하는 디렉터리로 이동한 뒤, PC로 파일 이동

 

생성된 인증서 파일 PC로 이동시키는 화면

 

- cmd 창 하나 열고, adb 명령어를 통해 기기 쉘 화면으로 접속한다. 위 과정에서 추출한 인증서 파일을 시스템 위치에 복사해야하는데, 시스템 디렉터리 기본 권한이 읽기 권한밖에 없어서 복사가 되지 않는다. 이럴 때는 mount 명령어를 사용하여 권한 변경을 하고 나서, 파일 복사를 하면 정상적으로 복사가 되는것을 확인할 수 있다.

 

system 위치에 생성한 인증서 파일 복사하는 화면

 

- 기기 재부팅 후 [보안 - 신뢰할 수 있는 자격증명 - 시스템]에 인증서가 정상적으로 설치된것을 확인할 수 있다.

 

시스템 내 인증서 정상 설치 확인 화면

 

- 버프 프록시 키고나서 [ Proxy - Options - Import / export CA certificate - Import - Certificate and private key in DER format ] 클릭 후 생성한 인증서 파일을 넣어준다. 

 

생성한 der 파일 import 시켜주는 화면

 

- 버프 프록시 설정 후 인터넷 브라우저 접속 시 인증서 에러 없이 정상적으로 통신이 이루어지는것을 확인할 수 있다.

 

인증서 에러 없이 웹 브라우저 정상 통신 확인 화면

'모바일 > 안드로이드' 카테고리의 다른 글

안드로이드 루팅(Magisk 앱)  (0) 2023.12.21
Android 7 버전 이상 버프인증서 설치 -1  (1) 2020.04.09