Study/App

[App]모바일 burp 프록시 환경 구성하기

seomj 2022. 9. 7. 22:27

1. 네트워크 프록시 설정

설정 > WIFI > WiredSSID

 

'WiredSSID'를 길게 누르면 아래와 같은 화면이 나온다.

여기서 '네트워크 수정'을 선택

 

해당 페이지에서 설정이 필요

고급옵션

프록시: 수동

프록시 호스트 이름: 버프 슈트 실행할 pc의 ip주소

프록시 포트: 버프 슈트에도 같은 포트를 설정해 주어야 함

 

 

2. 버프 슈트 설정

Proxy > Options 로 들어간 후

'Proxy Listeners'에 Add

 

모바일에서 설정해준 포트와 ip를 입력

 

제대로 등록이 되었는지 확인

Running에 체크가 되어 있어야 함

 

여기까지 설정 후 모바일에서 인터넷 연결 시도를 하면 다음과 같은 경고창이 뜬다.

 

이를 해결하기 위해 인증서를 설치해주어야 한다.

 

※주의할 점

안드로이드 7.0 이상부터는 기존에 http://burp 혹은 인증서를 sdcard에 넣어서 설치하는 방식으로 불가능하다.

사용자 인증서와 시스템 인증서의 권한 차이 - 기존 방식은 사용자 인증서로 인증서가 설치되기 때문에 시스템에 넣어주어야 함

이거 때문에 삽질...

 

 

3. 인증서 다운로드

'Import / export CA certificate' > Certificate in DER format 선택 후 Next

 

Select file 버튼을 눌러 인증서가 저장될 경로와 파일명을 지정, der 확장자로 지정

 

 

4. 인증서 해쉬값 추출

openssl을 사용

http://slproweb.com/products/Win32OpenSSL.html

 

Win32/Win64 OpenSSL Installer for Windows - Shining Light Productions

Minimum system requirements: Windows XP or later 32MB RAM 200MHz CPU 30MB hard drive space Recommended system requirements: Windows XP or later 128MB RAM 500MHz CPU 300MB hard drive space September 9, 2021 - OpenSSL 3.0 is available. Users should currently

slproweb.com

 

openssl을 설치한 폴더 내 bin 폴더로 burp.der 이동

 

openssl 명령어를 사용하여 pem 파일로 변환

openssl x509 -inform DER -in <추출한 인증서> -out cacert.pem

 

변환한 인증서 통해 해쉬값 추출

openssl x509 -inform PEM -subject_hash_old -in cacert.pem

 

해당 해쉬값으로 파일명 변경, 확장자 .0으로 지정

 

 

5. 인증서 등록

/system 폴더 권한 설정

mount -o rw,remount /system

 

설정 후 명령어를 사용하여 파일 이동

adb push <인증서> /system/etc/security/cacerts/

 

이동된 것을 확인

 

 

실행 결과