How to Shorten BurpSuite Certificate Validity Period
Burp 인증서 export하여 살펴보면 유효기간이 지나치게 길게(30년 이상) 설정되어 있음.
따라서, Android 7 버전 이상의 시스템 영역에 burp 인증서를 설치하고 싶은 경우 기간 짧은 사용자 인증서를 직접 생성(openssl blah blah ~)해서 넣어줘야 하는 번거로움이 있음.
왜냐하면, 구글에서 시스템 영역의 인증서 유효기간을 39개월로 정했기 때문.(최근에는 이 기간도 줄어들었는지 24개월짜리 인증서도 에러발생하였음)
Burp가 기본적으로 생성하는 인증서의 기간을 짧게 만들 수는 없을까? 라는 고민에서 출발하여 얻은 결론을 소개하고자 함.
JEB로 BurpSuite jar파일 디컴파일하여 "b8b.class"를 살펴보면(class는 버전마다 다를수 있음. 본인은 "regenerate" 문자열을 검색하여 인증서 생성 클래스를 찾았음), 인증서 시작 기간을 2014년으로 설정하고, 종료기간을 현재로부터 20년뒤로 설정하였기 때문에 위와 같은 유효기간을 가진 인증서가 생성되었다고 추측해볼 수 있음.
IDA로 "b8b.class"파일을 열어서 인증서 시작 기간을 2014년으로 설정하는 부분으로 이동.
해당 부분의 Hex View는 다음과 같으며, 2014가 아닌 2020으로 시작 기간을 설정하도록 hex값 패치를 수행.
인증서 종료 기간을 20년으로 설정하는 부분으로 이동.
해당 부분의 Hex View는 다음과 같으며, 20년이 아닌 1년으로 종료 기간을 설정하도록 hex값 패치를 수행.
패치한 class파일을 jar 파일의 원본 class파일과 교체하여 넣어주고, 버프를 실행하여 "Regenerate CA certificate" 클릭.
버프 인증서 Export하여 살펴보면 다음과 같이 1년짜리 기간짧은 인증서가 생성되었음을 확인 가능.
※ 도움이 되셨다면 공감이나 댓글 부탁드려요.