[모바일 모의해킹] NoPE로 TCP 패킷 조작하기

1. 들어가며

Burp 인증서 설치 및 안드로이드 패킷 스니핑에 이어 NoPE 플러그인을 이용하여 TCP 패킷을 조작하는 실습을 진행한다.

2. NoPE 설치

Burp Suite > Extender > NoPE Proxy 설치 (검색 결과 우측 탭에서 아래로 스크롤하면 Install 있다.)

또는 공식 깃허브(https://github.com/portswigger/nope-proxy)에서 직접 설치할 수 있다.

3. Proxy Setting

[실습환경]
실습PC: Windows 10 (유선랜 연결된 상태) IP: 192.168.0.33
실습기기: Samsung Galaxy 7(실습 PC와 같은 네트워크 내 위치) IP: 192.168.0.22

[분석도구]
Burp Suite(NoPE Proxy)

[PC 세팅]

0. Burp - Proxy - InterceptIntercept는 끈다.(Intercept is off)

1.PC와 단말기는 동일한 네트워크에 위치
2.DNS 서버로 인터페이스를 구성하는 과정

     (NoPE) Interface: DNS서버를 구성할 인터페이스를 명시

     NATPC의 내부 IP 인터페이스를 지정

     사진에서는 eth3 인터페이스를 사용하므로 11을 입력

3. DNS Listen Port: DNS 정보를 수신할 포트 번호를 구성. 기본 포트인 53으로 설정

4. 설정 완료 후 위의 모든 DNS 트래픽 요청에 대해 캡처할 수 있도록 DNS 서버를 실행

PC와 단말기는 동일한 네트워크를 사용하고 있으므로 모바일 장치의 모든 DNS 요청을 Burp Suite DNS 서버로 재라우팅

인터셉트할 요청을 필터링하여 원하는 패킷을 분석할 수 있다.

[단말기 설정]

모바일 단말기의 네트워크 설정을 변경

1.IP 주소: 단말기에서 DNS 서버 주소를 변경하려면 “IP 주소 설정-고정

            그러면 DNS 서버 주소 설정 가능

            실습의 경우 현재 단말기 IP 주소는 192.168.0.22

            게이트웨이: 기존 게이트웨이 입력

2. DNS 서버 주소: NoPEDNS 응답 IP로 변경

            실습의 경우 192.168.0.33을 입력

[NoPE Proxy]

구성이 제대로 되었다면, 모든 TCP 트래픽 인터셉트 가능하다.

NoPE - DNS History - 좌측 탭에서 목록 확인

다시 Proxy Settings 로 돌아와서

1. Sniffing 하여 확인한 서버 주소, Port 정보를 기입

2. 좌측에 (+) 버튼으로 리스트에 추가 및 Enable 체크

[결과 확인]

TCP 패킷 변조
TCP History

4. 마치며

좋은 플러그인임에도 사용법이 미숙하여 삽질을 많이한 도구이다. 네트워크 어댑터설정 변경, Windows IP 설정 변경 등 많은 시도를 해보았지만 잘 되지 않았다. 결론적으로 DNS 서버를 NoPE가 대신한다고 생각하고 원리를 이해하면 쉽고 매우 간편한 도구이다.

연결이 되지 않거나 불필요한 사항을 몇 가지 정리해 보았다. 삽질의 시간을 조금이나마 단축시킬 수 있었으면 좋겠다.

1. 노트북PC에서 NoPE사용 시 무선네트워크로 진행하면 연결이 되지 않는다. 유선네트워크로 진행하는 것을 권장. 또는 가상머신을 사용해서 다른 네트워크 어댑터를 활용하는 방법도 있다. 하지만 가상머신을 사용하는 경우 너무 많은 네트워크 설정이 번거롭다.

2. Burp 기본 Intercept는 해제한 후 진행한다.

3. 안드로이드 단말기 내 Burp 인증서 설치여부는 관계없다.(TCP 패킷이므로)

반응형