
설명
모바일 취약점 진단을 하다보면 간혹 HTTP 프록시 패킷이 캡처가 안되는 앱들이 존재한다.
프록시 차단 솔루션과는 별개로 HTTP 프로토콜을 사용하지않는다거나 하는 경우에 패킷이 안잡히는 걸로 알고있음
이럴 때는 Burpsuite의 Extender인 NoPE Proxy를 사용하여 패킷을 캡처할 수 있다.
Nope Proxy는 이전에 TCP 패킷을 캡처하는 방법으로 한번 포스팅을 했지만
2022.04.27 - [기타] - [Tip] 버프슈트(Burp Suite) NopE Proxy를 이용하여 모바일 및 PC 프로그램 TCP 패킷 캡처
[Tip] 버프슈트(Burp Suite) NopE Proxy를 이용하여 모바일 및 PC 프로그램 TCP 패킷 캡처
앱이나 웹 또는 CS 프로그램 등 진단을 하다보면 HTTP 통신이 아니라 TCP로 통신하여 일반적인 프록시 방법으로 패킷 캡처가 안되는 경우가 종종 있다. TCP 패킷은 WireShark로 캡처했을 때 아래 그림
hyotwo.tistory.com
앱 통신이 TCP 패킷이 아닌데도 패킷이 캡처가 안될 때도 존재한다.
이럴 때 NopE Proxy를 통해 단말기에 DNS 스푸핑을 하게되면 Nope Proxy의 DNS History에 그 패킷의 기록들이 쌓이는데 History에 패킷이 적재된다는 것은 패킷을 잘 잡고있다는 뜻이고
해당 패킷을 다시 Burp로 보내줌으로써 패킷을 캡처하여 인터셉트하고 변조를 할 수 있다.
Burp 환경설정
처음 Nope Proxy를 켜게되면 아래 사진처럼 이더넷이든 무선랜이든 사용할 수 있는 네트워크 인터페이스들이 있다.
사용하는 네트워크 인터페이스를 아래 사진과 같이 지정해줘야한다.
그리고 DNS 스푸핑으로 패킷을 받으면 버프에서는 80포트와 443포트로 그 패킷에 대해 캡처를 해야하기 때문에
그 아래 Add 80 & 443 to Burp를 눌러 아래 그림과같이 Proxy Listeners의 설정을 해준다.
단말기 환경설정
단말기 또한 IP 설정 및 DNS를 자동이 아닌 수동으로 맞춰줘야한다.
DNS 주소는 Burp에서 열었던 DNS 서버를 통해서 들어와야하기 때문에 PC 주소로 설정한다.
- ios 설정화면
- 안드로이드 설정화면
단말기에는 따로 HTTP 패킷을 캡처할 때 처럼 Proxy 설정을 해주지않아도 된다.
HTTP Proxy 캡처가 아니라 DNS Spoofing이기 때문
패킷 캡처
설정을 다 마쳤다면 Proxy History에 아래와같이 단말기의 패킷이 프록시에 캡처가된다
그리고 DNS History에도 패킷이 캡처되는 것을 볼 수 있다.
이렇게 DNS 트래픽을 가져와 패킷이 캡처된다면 평소 HTTP 패킷을 캡처할 때와 같이 패킷을 캡처할 수 있다.
'모바일' 카테고리의 다른 글
[Android/ios 공통] 오브젝션(Objection) 프리다(Frida)를 활용한 앱 분석 도구 (0) | 2022.05.03 |
---|