진단 일을 하면 웹과 앱의 비율이 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 경로로 인증서 이동
프록시가 잘 잡히는 것을 확인