Security/Mobile

[안드로이드] Burp 인증서 설치

Omoknooni 2022. 7. 16. 14:51

진단 일을 하면 웹과 앱의 비율이 6:4 ~ 7:3 정도 되는 것 같다.

앱은 또 안드로이드와 IOS 두가지로 나뉘는데, 오늘은 이러한 앱 진단을 하기 위한 기본적인 세팅을 해볼까 한다.

 

먼저 안드로이드(이하 AOS) 어플의 진단을 위한 세팅 중 하나인 Burp suite 인증서 설치를 해보자

 

필자는 안드로이드 진단에서는 주로 에뮬레이터는 Nox를 쓰고, 프록시 툴은 Burp Suite를 쓴다.

 

우선 PC와 에뮬레이터간 연결이 필요하다.

Nox와 실 안드로이드 디바이스에서의 인증서 설치과정은 동일하다

 

  • nox, Burp Suite 실행
  • Proxy > Options > Proxy Listeners에서 add

  • nox와 통신할 포트, All interface로 설정

  • nox에서 연결된 wifi > 네트워크 수정 > 프록시 '수동'
    • 프록시 호스트 이름 : pc에서 네트워크 연결된 ip를 적어준다.
    • 프록시 포트 : 아까 burp에서 설정해준 포트 값

  • nox 인터넷 > http://burp 접속 후 인증서 다운로드

  • adb 접속 > mv cacert.der cacert.cer

  • 보안 > 자격증명 저장소 > SD카드에서 설치

 

인증서를 설치하려면 기본적인 화면잠금 등의 정책이 필요하다. 설정해주고 넘어가자

 

잠금까지 설정하면 인증서가 설치됨을 볼 수 있는데, 방금 설치한 인증서의 에러가 발생한다.

안드로이드 7로 넘어오면서 사용자가 설치한 인증서는 시스템 상의 인증서와 저장위치가 분리되어 저장되어 이런 문제가 발생하는 것인데, 설치한 인증서를 시스템 레벨로 넣어주어야한다.

 

  • 다시 adb 연결 > cd /data/misc/user/0/cacerts-added (방금 설치한 인증서 확인)
  • mount -o rw,remount /system
  • 마운트 시킨 후 /system/etc/security/cacerts 경로로 인증서 이동

 

프록시가 잘 잡히는 것을 확인