본문 바로가기

Hack The Packet/@ 2012 POC

[JaneBlack]모바일 패킷 분석

# 문제

 

애니팡을 하기위해 스마트폰을 샀다. 어떤 기기인가? 그리고 이 게임의 로더 파일명은 무엇인가?



# 풀이


최근 카카오톡 기반 모바일 게임이 급증하면서, 이에 대한 트래픽은 어떻게 되어 있는지 궁금해졌다. 패킷을 조작하여 점수를 바꿀 수 있는지, 게임을 하지 않고도 점수를 올릴 방법이 있는지 등. 다양한 공격 기법이 가능한지 여부를 확인하기 위해서이다.


본 문제는 이런 공격기법에 대한것보다는, 기본적인 질문으로 구성하였다.

 

1. 기기 정보는?

 

게임 시작과 동시에 캡쳐된 패킷이다. 어떤 요청이 나갔는지 살펴보기 위해 http.request 로 간단히 필터를 걸어 살펴본다. 대부분 비슷한 요청 쿼리를 확인 할 수 있다.

이 가운데, 다른 서버로 디바이스 정보가 나가고 있는 것을 볼 수 있다.

 

 

상세 정보를 살펴보면 os 버전정보 / 디바이스 / 통신사 / 제조사 등을 보내는데, Host가 api.geo.kontagent.ent이다. 이 호스트는 데이터 자료를 분석하는 업체이다. 애니팡에서 통계 정보를 분석하기 위해 이 업체를 사용하고 있는 것으로 알려져있다. (참고, 애니팡 운만 갖고 성공했을까? )


요청 상세 정보는 아래와 같다.

 

GET /api/v1/eaf216803a5042c29866c13354b27237/cpu/?os=android_16&v_maj=google_1&d=Galaxy+Nexus&ts=1351999043343&s=15913619&c=olleh&v_min=0&m=samsung&v_rev=7 HTTP/1.1

User-Agent: Dalvik/1.6.0 (Linux; U; Android 4.1.1; Galaxy Nexus Build/JRO03C)

Host: api.geo.kontagent.net

Connection: Keep-Alive

Accept-Encoding: gzip

 

만약 문제 풀이를 위해 빠르게 키를 찾고자 함이었거나 요청 URL의 파라미터 정보를 간단하게 본다면, 네트워크 마이너의 "파라미터" 탭에서 정보를 더 빠르게 확인할 수 있었을 것이다. 

또는 같은 IP를 사용하는 다른 패킷의 요청 정보의 User-Agent를 이용해서 사용자의 모바일 기기 정보를 얻을 수도 있다. 예를 들어, 아래와 같은 정보이다.

 

User-Agent: Mozilla/5.0 (Linux; Android 4.1.1; Galaxy Nexus Build/JRO03C) AppleWebKit/535.19 (KHTML, like Gecko) Chrome/18.0.1025.166 Mobile Safari/535.19


 

 


2. 게임의 로더 파일명은?


게임이 플래시 기반으로 만들어진 것을 아는 사람이면 .swf 확장자 서치를 통해 로더파일의 이름을 빠르게 찾을 수 있었을 것이다. 이 파일은 게임 시작시 매번 서버로 부터 받아오는 것은 아니다. 이미 기기에 저장되어 있는 이 파일을 통해, 패킷 요청이 나간다. 즉 Referer를 보면 되는데, 요청 패킷의 상세 정보를 보면 이 내용을 확인 할 수 있다. (대회때 많은 사람들이 로더 파일명이라고 해서, 바이너리를 찾으려고 하는 것을 보았다. 모바일 게임은 일반 바이너리보다는 플래시 형태가 많다.)

 

 POST /amfphp/gateway HTTP/1.1

Host: m-anipang7.stzapp.com

Accept: text/xml, application/xml, application/xhtml+xml, text/html;q=0.9, text/plain;q=0.8, text/css, image/png, image/jpeg, image/gif;q=0.8, application/x-shockwave-flash, video/mp4;q=0.9, flv-application/octet-stream;q=0.8, video/x-flv;q=0.7, audio/mp4, application/futuresplash, */*;q=0.5

User-Agent: Mozilla/5.0 (Android; U; en) AppleWebKit/533.19.4 (KHTML, like Gecko) AdobeAIR/3.2

x-flash-version: 11,2,202,224

Connection: Keep-Alive

Referer: app:/AnipangLoader.swf/[[DYNAMIC]]/4

Content-Type: application/x-amf

Content-Length: 244 

 


'Hack The Packet > @ 2012 POC' 카테고리의 다른 글

[우탱]IE_0day 취약점 찾기  (0) 2012.11.21
[GAL][Middle]웹쉘 찾기.  (0) 2012.11.21
필터왕 선발 대회 결과  (0) 2012.11.13
2012 Hack The Packet 본선 결과  (0) 2012.11.12
2012 HTP 온라인 예선 문제풀이  (1) 2012.11.12