iOS Burp Suite 구성
Tip
AWS 해킹 배우기 및 연습하기:
HackTricks Training AWS Red Team Expert (ARTE)
GCP 해킹 배우기 및 연습하기:HackTricks Training GCP Red Team Expert (GRTE)
Azure 해킹 배우기 및 연습하기:
HackTricks Training Azure Red Team Expert (AzRTE)
HackTricks 지원하기
- 구독 계획 확인하기!
- **💬 디스코드 그룹 또는 텔레그램 그룹에 참여하거나 트위터 🐦 @hacktricks_live를 팔로우하세요.
- HackTricks 및 HackTricks Cloud 깃허브 리포지토리에 PR을 제출하여 해킹 트릭을 공유하세요.
iOS 기기에 Burp 인증서 설치
보안 웹 트래픽 분석과 SSL pinning을 위해, Burp Suite는 Burp Mobile Assistant를 이용하거나 수동으로 구성할 수 있습니다. 아래는 두 방법에 대한 요약 가이드입니다:
Burp Mobile Assistant로 자동 설치
Burp Mobile Assistant는 Burp 인증서 설치, 프록시 구성 및 SSL Pinning 설정 과정을 단순화합니다. 자세한 안내는 PortSwigger’s official documentation에서 확인하세요.
수동 설치 단계
- 프록시 구성: iPhone의 Wi‑Fi 설정에서 Burp를 프록시로 설정합니다.
- 인증서 다운로드: 기기 브라우저에서
http://burp로 이동해 인증서를 다운로드합니다. - 인증서 설치: 다운로드한 프로파일을 설정 > 일반 > VPN 및 기기 관리에서 설치한 후, 인증서 신뢰 설정에서 PortSwigger CA에 대한 신뢰를 활성화합니다.
인터셉션 프록시 구성
이 설정은 iOS 기기와 인터넷 사이의 트래픽을 Burp로 분석할 수 있게 하며, 클라이언트 간 트래픽을 허용하는 Wi‑Fi 네트워크가 필요합니다. 해당 네트워크가 없을 경우, usbmuxd를 통한 USB 연결이 대안이 될 수 있습니다. PortSwigger의 튜토리얼에서 device configuration 및 certificate installation에 대한 자세한 지침을 제공합니다.
OpenVPN + iptables REDIRECT를 통한 투명 프록시
대상 앱이 구성된 HTTP 프록시를 무시하는 경우, 대안은 iOS 기기를 연구자가 제어하는 VPN 게이트웨이 뒤에 두고 트래픽을 Burp 또는 mitmproxy로 투명하게 리디렉션하는 것입니다.
이는 자체적으로 certificate pinning bypass가 아닙니다. 이는 장치 트래픽이 per-app 또는 per-device 프록시를 구성하지 않고도 인터셉션 프록시에 도달하도록 네트워크 경로만 해결합니다. 앱이 실제로 certificate pinning을 수행하면, pinning을 별도로 우회하기 전까지는 HTTPS 복호화가 실패합니다.
일반적인 흐름:
- Linux 호스트에서 OpenVPN 서버를 실행하고 iOS 기기를 연결하여 트래픽이
tun0에 도착하도록 합니다. - Burp 또는
mitmproxy를 VPN 리스너 IP의 포트8080에 바인딩합니다. - 리디렉션된 클라이언트는 프록시를 인식하지 못하고 목적지에 직접 연결하는 것처럼 통신하므로 Burp에서 invisible proxying을 활성화합니다.
tun0으로 들어오는 TCP80과443을 로컬 프록시 리스너로 리디렉트합니다.- 게이트웨이에서 프록시된 트래픽이 나갈 수 있고 응답이 VPN을 통해 돌아오도록 egress 인터페이스에
POSTROUTINGMASQUERADE 규칙을 추가합니다. - iOS 기기에 인터셉션 프록시의 CA를 설치하고 신뢰하도록 하여 시스템 신뢰 저장소만 사용하는 앱이 생성된 leaf 인증서를 수용하도록 합니다.
예제 규칙:
# Redirect VPN client traffic into the local interception proxy
iptables -t nat -A PREROUTING -i tun0 -p tcp --dport 80 -j REDIRECT --to-ports 8080
iptables -t nat -A PREROUTING -i tun0 -p tcp --dport 443 -j REDIRECT --to-ports 8080
# Allow VPN client traffic to egress back to the Internet
iptables -t nat -A POSTROUTING -s 10.8.0.0/24 -o eth0 -j MASQUERADE
노트:
- 대상 앱을 변경하거나 iOS Wi-Fi 설정에서 명시적 프록시를 구성하지 않고 forced interception을 원할 때 유용합니다.
443을 Burp로 리디렉션하는 것은 설치된 CA를 신뢰하는 앱이나 TLS validation / pinning이 이미 우회된 앱에서만 작동합니다.- upstream repository의 예제 스크립트는 IP를 받아
POSTROUTING규칙에/24를 추가합니다. 실제로는 고정된/24를 가정하지 말고 actual VPN client subnet을 사용하세요. - Burp를 사용하는 경우 Proxy –> Options –> Edit listener –> Request handling –> Support invisible proxying를 활성화하세요.
mitmproxy는 VPN listener IP에 바인딩되고 transparent-mode 요구사항이 충족되면 동일한 구성에서 사용할 수 있습니다.
탈옥된 기기용 고급 구성
탈옥된 기기를 사용하는 경우, SSH over USB (via iproxy)는 트래픽을 Burp로 직접 라우팅하는 방법을 제공합니다:
- Establish SSH Connection: iproxy를 사용해 SSH를 localhost로 포워딩하여 iOS 장치가 Burp가 실행되는 컴퓨터에 연결할 수 있도록 합니다.
iproxy 2222 22
- Remote Port Forwarding: iOS 장치의 포트 8080을 컴퓨터의 localhost로 포워딩하여 Burp 인터페이스에 직접 접근할 수 있게 합니다.
ssh -R 8080:localhost:8080 root@localhost -p 2222
- Global Proxy Setting: 마지막으로 iOS 기기의 Wi-Fi 설정에서 수동 프록시를 구성하여 모든 웹 트래픽을 Burp로 보내도록 합니다.
전체 네트워크 모니터링/스니핑
HTTP가 아닌 기기 트래픽의 모니터링은 모든 형태의 데이터 트래픽 캡처가 가능한 도구인 Wireshark를 사용해 효율적으로 수행할 수 있습니다. iOS 기기의 실시간 트래픽 모니터링은 Remote Virtual Interface를 생성하여 가능하며, 그 절차는 this Stack Overflow post에 자세히 설명되어 있습니다. 시작하기 전에 macOS 시스템에 Wireshark를 설치해야 합니다.
절차는 다음의 주요 단계들을 포함합니다:
- iOS 기기와 macOS 호스트를 USB로 연결합니다.
- 트래픽 모니터링에 필요한 iOS 기기의 UDID를 확인합니다. 이는 macOS Terminal에서 명령을 실행하여 수행할 수 있습니다:
$ rvictl -s <UDID>
Starting device <UDID> [SUCCEEDED] with interface rvi0
- UDID를 확인한 후에는 Wireshark를 열고 데이터 캡처를 위해 “rvi0” 인터페이스를 선택합니다.
- 특정 IP 주소와 관련된 HTTP 트래픽만 캡처하는 등의 대상 모니터링을 위해서는 Wireshark의 Capture Filters를 사용할 수 있습니다:
Burp Cert Installation in Simulator
- Export Burp Certificate
In Proxy –> Options –> Export CA certificate –> Certificate in DER format
.png)
- Drag and Drop 인증서를 시뮬레이터 안으로 끌어다 놓으세요
- 시뮬레이터에서 Settings –> General –> Profile –> _PortSwigger CA_로 이동하여, 인증서를 확인하세요
- 시뮬레이터에서 Settings –> General –> About –> _Certificate Trust Settings_로 이동하여, PortSwigger CA를 활성화하세요
.png)
축하합니다, iOS 시뮬레이터에 Burp CA Certificate를 성공적으로 구성했습니다
Tip
iOS simulator는 MacOS의 proxy 구성을 사용합니다.
MacOS Proxy Configuration
Burp를 프록시로 구성하는 단계:
- Go to System Preferences –> Network –> Advanced
- In Proxies tab mark Web Proxy (HTTP) and Secure Web Proxy (HTTPS)
- In both options configure 127.0.0.1:8080
.png)
- Click on Ok and then Apply
References
Tip
AWS 해킹 배우기 및 연습하기:
HackTricks Training AWS Red Team Expert (ARTE)
GCP 해킹 배우기 및 연습하기:HackTricks Training GCP Red Team Expert (GRTE)
Azure 해킹 배우기 및 연습하기:
HackTricks Training Azure Red Team Expert (AzRTE)
HackTricks 지원하기
- 구독 계획 확인하기!
- **💬 디스코드 그룹 또는 텔레그램 그룹에 참여하거나 트위터 🐦 @hacktricks_live를 팔로우하세요.
- HackTricks 및 HackTricks Cloud 깃허브 리포지토리에 PR을 제출하여 해킹 트릭을 공유하세요.


