Android 앱 진단 환경을 구성하기 위해 안드로이드 에뮬레이터인 LDPlayer를 이용하였다.
본 내용에서는 https 통신을 위한 Burp 인증서를 등록하고, 프록시 도구인 Burp Suite를 사용하여 https 패킷을 가로챌 수 있도록 환경을 구성한다.
Android는 버전에 따라 Burp 인증서를 설치하는 방법이 다르다.
안드로이드 버전 7미만은 웹 사이트(http://burp)를 통해 Burp 인증서를 설치할 수 있고,
안드로이드 버전 7이상은 다른 방법으로 해야 한다. 이유는 안드로이드 버전 7 이상부터 SSL Pinning 기능을 지원하여 사용자가 사설 인증서를 설치하면 루트 인증서가 아닌 사용자 인증서로 인식하기 때문에 웹 사이트에서 설치하는 방법이 아닌 다른 방법(ex 시스템 인증서로 설치 방법)으로 진행해야 한다. 본 내용에서는 안드로이드 버전 7 미만의 환경에서 진행한다.(안드로이드 버전 5.1.1에서 진행.)
안드로이드 버전 7 이상 : https://itinformation.tistory.com/259(참고)
안드로이드(Nox) 버프 인증서 설치(7.0이상)
기존에는 모바일 취약점 진단 시 녹스 앱플래이어를 사용하게 되면 버프 실행 및 프록시 연결 후 http://burp에 접속해 인증서 다운 후 실행하면 되지만 안드로이드 버전 7.0 이상 버전에서 버프 인
itinformation.tistory.com
먼저 Burp 인증서를 설치하기 위해 자신의 안드로이드 기기의 버전을 확인해야 한다.
LDPlayer의 경우 (설정 - 태블릿 정보)를 통해 확인할 수 있다.
또한, 현재 자격증명이 없는 것을 확인한다. (설정 - 보안 - 신뢰할 수 있는 자격증명)
이후 LDPlayer 설정에서 Root 권한과 ADB 디버깅 - 원격 디버깅을 설정해준다.
이제 본격적으로 인증서 설치 과정을 진행하자면, PC의 Burp Suite의 프록시 값을 설정해야 한다.
기본적으로 프록시 값이 127.0.0.1로 설정이 되어있는데, 해당 프록시 값을 변경해준다.
본 내용에서는 개인 노트북의 모바일 핫스팟 기능을 활용하여 프록시 값을 지정해주었다.
여기서 모바일 핫스팟의 IP 주소가 어떻게 되는지 잠깐의 의문이 들 수 있다.
다음은 핫스팟 IP 주소를 알아보는 방법 3가지를 설명한다.
1. cmd를 통해 확인
cmd 명령어를 통해 모바일 핫스팟을 새로 켰을 때 무선 LAN 어댑터 로컬 영역에 새로운 ip 주소가 생기는 것을 확인할 수 있다.
2. 핸드폰에 와이파이 연결
핸드폰에 노트북 와이파이를 연결한 후, 연결된 기기의 IP 주소를 통해 확인하는 방법이다.
3. Burp Suite에서 확인
Burp Suite 프록시 주소 설정 부분에서 모바일 핫스팟을 켠 후, 기존에 없던 IP 주소가 생긴 것을 통해 확인할 수 있다.
PC의 Burp Suite에서 프록시 설정 후, LDPlayer의 와이파이 프록시 설정을 해주도록 한다.
(와이파이 - 현재 연결된 와이파이 선택 - 네트워크 수정 - 고급 옵션 - 프록시 설정)
위와 같이 Burp Suite의 프록시 주소와 LDPlayer 와이파이 프록시 주소를 설정해 주면 (http://burp)에 들어갈 수 있다.
프록시 설정이 잘못된 경우 해당 사이트(http://burp)에 접속이 불가능하다.
인증서를 다운로드 받으면 확장자 명이 .der로 되어있는데 .cer로 바꿔서 저장해줘야 한다.
그 후, 다운로드 받은 파일에 들어가서 인증서 저장을 하면 완료가 된다.
해당 인증서를 클릭하여 인증서 이름을 설정해주고, 자격증명을 확인하면 portSwigger라는 자격 증명이 생긴 것을 확인할 수 있다.
최종적으로 PortSwigger가 정상적으로 설치가 되어 https 패킷들을 가로챌 수 있다.