우선 위의 압축파일을 다운받아 해제하고, adb가 Android 단말기와 연결된 상태에서 cert.bat 을 실행하면 된다.
유효기간이 730일인 인증서를 생성하여 Android 단말기의 시스템 인증서 경로인 /system/etc/security/cacerts/ 에 자동으로 삽입하는 스크립트이다.
'ca.der'과 'server.key.pkc8.der' 은 Burp Suite에 수동으로 넣어야 한다. 경로: Burp Suite> Proxy> Options> Import/export CA certificate> Import> Certificate and private key in DER format
아래는 스크립트의 대략적인 내용이다.
이건 openssl.exe 을 통해 730일짜리 인증서를 생성하고, 생성된 인증서의 hash 값으로 파일명을 변경하는 부분.
%openssl% req -x509 -days 730 -nodes -newkey rsa:2048 -outform der -keyout server.key -out ca.der -extensions v3_ca -subj '/C=KR/ST=Seoul/O=SECUWORM/OU=SECUWORM/CN=SECUWORM/' -config %openssl.cnf% 2>NUL
%openssl% rsa -in server.key -inform pem -out server.key.der -outform der 2>NUL
%openssl% pkcs8 -topk8 -in server.key.der -inform der -out server.key.pkcs8.der -outform der -nocrypt
%openssl% x509 -inform DER -in ca.der -out ca.pem
for /f "delims=" %%A IN ('%openssl% x509 -inform PEM -subject_hash_old -in ca.pem ^| head -1') do (set ssl_hash=%%A)
rename ca.pem %ssl_hash%.0
연결된 Android 단말기의 시스템 인증서 경로인 '/system/etc/security/cacerts/' 에 인증서를 삽입하는 부분이다.
모든 동작 후, Android 기기 재부팅 및 인증서 파일을 Burp Suite에 Import 시켜달라는 메시지와 함께 스크립트가 종료된다.
스크립트 정상 실행 결과
스크립트 실행 후, 해당 경로에 파일 3개가 생성된다. 이 중 ca.der 과 server.key.pkcs8.der 은 Burp Suite> Proxy> Options> Import/export CA certificate>Import> Certificate and private key in DER format 위 경로에 각각 수동으로 Import 시켜야 한다.
단말기 내에 인증서가 정상적으로 삽입되는 것을 확인 가능했다.
단말기 재부팅 후에 '설정>보안' 메뉴에서 인증서 삽입이 정상적으로 이루어졌는지 확인해봐야 한다.