해킹 사례 · 1 min read · Oct 19, 2025

개발자가 무료 맥주를 얻기 위해 안드로이드 앱을 해킹한 방법

무료 맥주를 얻기 위해 안드로이드 앱을 해킹하는 상상을 해보세요! 이것이 폴란드의 개발자 쿠바 그레츠키가 한 일이며, 그는 차가운 맥주를 얻었습니다.

전 세계의 대부분의 펍과 레스토랑은 잠재 고객을 유인하기 위해 안드로이드 앱에서 무료 맥주, 저녁 식사 또는 점심 쿠폰을 제공합니다. 그레츠키는 이러한 제안을 해킹하여 무언가를 얻는 것이 가치가 있다고 생각했습니다. BreakDev.org에 게시된 글에서 쿠바 그레츠키는 EatApp 안드로이드 앱을 해킹하여 비콘을 우회하고 무료 맥주를 얻는 방법을 설명합니다.

폴란드의 펍과 레스토랑은 보너스 포인트와 보상을 수여하기 위해 스마트폰 앱에서 구매를 확인하기 위해 블루투스 비콘을 사용합니다. 그레츠키는 방송 신호를 해킹하여 맥주를 얻었습니다.

그레츠키는 블로그 게시물에서 “예를 들어, 한 곳에서는 5포인트에 무료 맥주를 제공하며, 구매한 맥주마다 1포인트를 부여합니다. 즉, 그곳에서 5개의 맥주를 구매할 때마다 무료 맥주를 받을 수 있습니다.”라고 말합니다.

그가 한 방법

블루투스 비콘은 무선 센서로, 라디오 신호를 방송하여 스마트폰이 이를 수신하여 마이크로 위치 및 맥락 인식을 잠금 해제합니다. 이는 레스토랑과 펍이 구매를 확인하고 고객에게 포인트, 제안 및 쿠폰을 수여하는 데 도움을 줍니다. 그레츠키는 폴란드의 대부분의 비콘이 Estimote라는 회사에서 제조된다는 것을 발견했습니다.

그레츠키는 Estimote의 앱 문서를 연구하여 비콘이 전송하는 정보에 대한 입력을 얻었습니다. 또한, 그는 어떤 애플리케이션을 통해 비콘 방송을 듣는 것을 단순화하기 위해 안드로이드 라이브러리에 접근했습니다. 그는 방송 범위가 최대 70미터라는 것을 발견했으며, 이론적으로 보상을 승인하는 데 사용되는 방송 값이 공중으로 방송된다는 것을 알게 되었습니다.

그가 범위를 좁힐 수 있게 되자, 그는 개발자 앱을 사용하여 비콘에서 중요한 정보를 수집했습니다. 그런 다음 그는 HTTP/HTTPS 윈도우 프록시인 Fiddler를 사용하여 레스토랑의 전화에서 서버와의 통신을 가로채고 해독하여 애플리케이션이 서버와 어떻게 통신하는지 알아냈습니다.

Fiddler가 설정되자, 그는 대상 레스토랑의 비콘이 근처에 없었기 때문에 대신 장소의 place_id를 사용했지만 관련된 4자리 PIN을 추측할 수 없었습니다.

4자리 PIN을 무차별 대입하는 동안, 그는 5번의 실패한 시도 후 30분 동안 계정이 잠겼습니다. 그는 레스토랑에 있는 동안 3G/4G에서 사용할 VPN을 설정했습니다. 이는 안드로이드 6.0에서 VPN을 연결하기 위한 약간의 우회가 필요했지만, 그레츠키는 개발자 앱으로 실시간 패킷 캡처를 테스트하기 위해 레스토랑을 방문하기 시작했고, 세 번째 장소에서 성공하여 UUID, Major number, Minor number의 방송 값을 수집했습니다.

그레츠키는 sslsplit 패킷을 명확한 텍스트 형식으로 해독하는 간단한 스크립트를 공개하여 요청 승인 패킷에서 감지된 값과 개발자 앱의 실시간 방송에서 감지된 값이 동일하다는 것을 확인할 수 있었습니다.

이 값들이 모든 제휴 레스토랑에서 지속적으로 방송되고 있어 해커에게 여러 가지 취약점을 노출할 가능성이 높습니다. 그러나 그레츠키는 이 과정을 통해 얻은 맥주에 만족했습니다.

그는 자신의 블로그에서 전체 과정을 설명했습니다.

Share: X/Twitter LinkedIn

새 게시물을 받은 편지함에서 받기

스팸은 없습니다. 언제든지 구독 해지 가능합니다.