목차
Fiddler와 Burp suite를 연동하는 이유
휴대폰의 패킷을 BurpSuite만으로도 캡처가 가능하지만, 요청 속도가 매우 느리다. 이때 Fiddler와 연동을 하여 속도를 증가시킬 수 있다.
Fiddler 설치
classic 버전을 설치해야 한다.
Fiddler 인증서 생성 툴 설치
Fiddler 설치 후, CertMaker for iOS and Android 를 설치해야 한다.
Fiddler 설정하기
1.
PC에 Fiddler 인증서 설치
Tools → Options → HTTPS 탭 → Actions 버튼 → Trust Root Certificate 클릭 후, 인증서 설치
2.
HTTPS 탭에서 옵션 설정
3.
Connections 탭에서 옵션 설정
4.
Gateway 탭에서 옵션 설정
휴대폰에서 인증서 설치하기
1.
연결된 네트워크를 길게 터치 → 네트워크 설정 관리 탭 클릭
2.
프록시를 수동 으로 설정 후, 프록시 호스트 이름에는 연결된 PC IP 주소, 프록시 포트는 8888 로 설정한다.
3.
웹 브라우저에서 http://ipv4.fiddler:8888 에 접속하면 다음과 같은 화면을 볼 수 있다. 여기서 FiddlerRoot certificate 버튼을 클릭하여 인증서를 다운로드한다.
4.
다운로드 후, 자동으로 등록할 수 있는데 이름은 아무거나 해도 상관없다.
사용자 인증서 시스템 인증서로 옮기기 (Android 7+)
안드로이드 7+ 부터 정책 변경으로 사용자 인증서를 시스템 인증서로 옮겨야 사용 가능하다.
1.
사용자 인증서를 추출한다.
•
Fiddler 같은 경우 /sdcard/Download 경로에 저장된다. 시스템 인증서로 옮길 인증서(*.cer) 파일을 adb pull 명령어로 추출한다.
개인마다 인증서 이름과 인증서가 저장된 경로는 다를 수 있다.
adb pull /sdcard/Download/FiddlerRoot.cer
Python
복사
2. 추출한 인증서를 시스템 폴더에 알맞은 형식으로 변환해주어야 한다.
3. 앞서 명령어로 얻어온 해시값을 사용하여 변환한 인증서(cacert.pem) 파일의 이름을 변경한다.
•
이름은 <해시 값>.0 형태의 *.0 확장자 파일로 이름을 변경해야한다.
4. 이름을 변경한 인증서 파일을 시스템 경로에 넣어준다.
•
시스템 인증서가 저장된 위치는 /system/etc/security/cacerts/ 이다. 하지만 system폴더에 접근하기 위해 권한이 필요하다.
그럴때는 아래 명령어를 사용하거나, 권한이 필요하지 않은 /sdcard/ 위치에 adb push 명령어로 인증서를 넣어준 후 명령어로 옮겨도 된다.
adb push e5c3944b.0 /sdcard/
- adb 관리자 쉘 에서 system 폴더 마운트
# mount -o rw,remount /system
- 인증서 파일 이동
# mv /sdcard/e5c3944b.0 /system/etc/security/cacerts/
Plain Text
복사
위 과정을 모두 완료하면 사용자 인증서가 정상적으로 시스템 인증서로 이동한것을 확인할 수 있다.
아이폰 인증서 설치 후 추가 인증
아이폰은 인증서 설치 후, 추가적으로 신뢰 설정작업을 해야한다.
일반 → 인증서 신뢰 설정 → 설치한 인증서 신뢰 설정 (초록색으로 설정)
Fiddler + BurpSuite 연동하기
연동하는 원리는 다음과 같다.
1.
8888 번포트로 핸드폰의 정보 전송
2.
Fiddler 로 정보 수신
3.
Fiddler 의 Gateway 기능으로 8888번 포트에 수신된 정보가 127.0.0.1:8080 으로 전송
4.
BurpSuite 에서 127.0.0.1:8080 프록시에 수신된 정보 탐지
BurpSuite에서는 따로 설정할 부분은 없다. 다만, Fiddler와 BurpSuite의 작동순서는 다르게 해줘야 한다.
BurpSuite를 먼저 동작시킨 후, Fiddler를 동작 시켜야 정상적으로 연동이 된다.