Zasady działania

UWAGA: PODANE INFORMACJE POCHODZĄ Z NIEZNANEGO ŹRÓDŁA, NIE ZNAM AUTORA

Witam dziś wszystkich, po ostatnich weryfikacjach zasad działania gry, nadszedł czas na mały komentarz w tej sprawie.

Gra jest w zasadzie przeglądarkowa, komunikuje się ze światem poprzez port 8080 co bardzo ułatwia analizę tego co się dzieje i jak to działa. Producent tym razem zastosował TOKEN, czyli unikalny identyfikator, nadawany graczowi przy 1 logowaniu a właściwie przypuszczam że przy osiągnięciu 5 lvl (co umożliwia nadanie nazwy). Na pewno pobierane dane z telefonu to : kod kraju, system operacyjny wraz z jego wersją, producent telefonu. Obawiam się że pobranych danych jest znacznie więcej – pamiętacie problemy przy zmianie softu i utracie konta?

Token jest obliczany na podstawie następujących parametrów, dla iPhone :

type=ios
mac=02:00:00:00:00:00
locale=pl_PL
device=iPhone3,1
credentials[mac]=02:00:00:00:00:00
credentials[ida]=tutaj 32 znaki HEX (część 1)
idaenabled=0
credentials[idv]=tutaj 32 znaki HEX (część 2)
v=1.8.2

oraz iPad :

type=ios
mac=02:00:00:00:00:00
locale=pl_PL
device=iPad2,4
credentials[mac]=02:00:00:00:00:00
credentials[ida]=tutaj 32 znaki HEX (część 1)
idaenabled=1
credentials[idv]=tutaj 32 znaki HEX (cześć 2)
v=1.8.2

znaki HEX, są unikalne dla danego sprzętu, generowane są na podstawie algorytmu, nad którym spokojnie sobie pracuję. Używany jest przez producenta dla wszystkich gier (Gra Wojny, Gra Rycerzy, Jaskiniowey, Mafia … itd). Jak widać, ma znaczenie typ systemu (ios), lokalizacja (pl_PL), sprzęt (iPad, iPhone) oraz credentials (stała wartoś dla danego sprzętu). Czyli można przypuszczać, że mając takie informacja – mam nadzieję że znajdę wszystkie niezbędne wymagania (w rozsądnym czasie) – będę możliwość wygenerowania TOKENa dla dowolnego usera, znając jego … wersje systemu operacyjnego oraz sprzęt – a że jest tego ograniczona ilość, umożliwi to zabawę dalszą …

Zacznijmy zabawę  dalszą, co otrzymujemy po rejestracji :

hxxp://live.mobilewar.gfsrv.net/player/register?…. (tutaj już nie zanudzam szczegółami….)

zwrotnie dostajemy 2 wartości … 32 znakowe oddzielone | … później tylko 1 z nich jest używana już zawsze i wszędzie … do identyfikacji, to właśnie ten TOKEN, oznaczany w wysyłanych danych jako [i]. Praktycznie z tego powodu nie wymaga podawania hasła na urządzeniu. Każde logowanie, każda opracja jest właśnie tym oznaczana. 2 liczna 32 znakowa, oznacza identyfikator logowania, zawierający godzinę, datę oraz kilka dodatkowych danych (w trakcie analizy). Jest to już mniej istotne, bo można zawsze sobie to spokojnie wygenerować legalnie i bez problemow.

Dla przykładów TOKEN (jako liczna 32 znakowa : ‚tttttttttttttttttttttttttttttttt’, unikalny nymer sesji czasowej : ‚11111111111111111111111111111111’ lub ‚2222222222222222222222222222222’ itd). Pozostałe dane także zostaną ‚zmyślone’ aby że tak powiem, uniemożliwić identyfikację sprzętu.

Całoś jest na razie samym wstępem i domysłami, przypuszczeniami … co to funkcjonowaniu gry. Część kodu źródłowego, cały czas ulega zmianie. Od 14.06 do 16.06.2014 zmieniono sposób zabezpieczenia gry, wprowadzono dodatkowy kod java … weryfikujący oraz jeśli się nie mylę identyfikujący dodatkowo czas. Przez 2 doby nie działały booty atakujące graczy i farmiące. Obecnie działają już normalnie i utrudniają życie normalnie grającym.

Z uwagi na dodatkowe pytania i zagadanienia, proszę zwrócić uwagę że producent cały czas poprawia grę i zabezpieczenia. Jeśli ktoś Wam oferuje płatne usługi typu ‚hack tools’, proszę tego nie brać poważnie! Tylko można stracić kasę (płatne SMSy), wprowadzić sobie wirusy na telefon, komputer – stracić kase z konta itd. NIE MA PROSTEGO oszukiwania w grze. Opisane tutaj metody i zasady można użyć właściwie tylko i wyłącznie w celu automatyzacji farmienia, zbijania własnych morali, pomocy w atakowaniu upierdliwców – złośliwość – nawet jak jesteśmy słabsi, możemy znacznie utrudnić im grę. Ale to właściwie wszystko. Nie dostaniecie wszystkiego, ale … tylko garść wiadomości z dosyć obszernej analizy technicznej gry. Niestety, nie znalazłem osób mających zapał, wiedzę i chęci do pomocy w zabawie – samemu mi się po prostu nie chce, ja się tym tylko bawię.

Wracając do zabawy, każda gra jest taka sama, różnicą jest tylko i wyłącznie ikonka graficzna na telefonie. Producent pozwala nam ściągnąć nic innego jak zwykłą przeglądarką … identyfikującą się jako :

User-Agent: mobile…/1.8.2 CFNetwork/672.1.14 Darwin/14.0.0

oraz

 User-Agent: Mozilla/5.0 (iPad; CPU OS like Mac OS X) AppleWebKit/537.51.2 (KHTML, like Gecko) Mobile

W tej chwili, jest troszkę utrudnień z logowaniem przed dowolną przeglądarkę internetową … ale to chwilowy i mały problem. Nie ma się czym przejmować. Zadajmy pytanie o zwykłego usera …

GET /profile/index/id/9999999?i=tttttttttttttttttttttttttttttttt&h=11111111111111111111111111111111&t=0000000000&m=0&dpr=2.0 HTTP/1.1
Host: live.mobilewar.gfsrv.net
Cookie: localAssets=1; PHPSESSID=unikalny_numer_sesji

To są podstawowe dane … bo jest ich znacznie więcej, ale nie mają tutaj znaczenia … otrzymujemy cały kod HTMLa :

HTTP/1.1 200 OK
Date: Sat, 11 Jun 2014 22:27:34 GMT
Server: Apache
Expires: Thu, 19 Nov 1981 08:52:00 GMT
Cache-Control: no-store, no-cache, must-revalidate, post-check=0, pre-check=0
Pragma: no-cache
Vary: Accept-Encoding
Content-Length: 39701
Connection: close
Content-Type: text/html; charset=utf-8

Ciekawostkę dałem na BOLD. W dalszej części :

<div id=”content” class=””>
<div id=”contentinner”>
<!– Tabs (top) –>
<div id=”tabsOuter_first”>
<div class=”tabsOuter”>
<div class=”tabsWrap”>
<ul class=”tabs clearfix”>
<li  class=”active” data-label=”profile/nav/info”><a href=”/profile/info/id/9999999„>Info</a></li>
<li  data-label=”profile/nav/comments”><a href=”/profile/comments/id/9999999„>Komentarze</a></li>
</ul>
</div>
<div class=”tabsNav tabsNav_prev inactive”></div>
<div class=”tabsNav tabsNav_next”></div>
</div>
</div>
<!– Content –>
<div class=”profile_header”>
<div class=”profile_avatar”></div>
<h3>NAZWA</h3>
<p class=”playerType”><span class=”iconLang iconLang_fr„></span>
<small>Ranga 228</small> <em class=”spacing”>&middot;</em> <small>Wielkość‡ sojuszu 1002</small></p>
</div>
<form action=”/fight/index/id/9999999/i/tttttttttttttttttttttttttttttttt/h/11111111111111111111111111111111/t/0000000000″ method=”post” class=”attackEnemy”>
<input type=”hidden” name=”id” value=”9999999” />
<button class=”button btnFury oneTimeClick”><span>Atakuj</span></button>
</form>

To naprawdę dobre informacje, dające nam od razu wszystko co potrzebujemy, aby ‚gościa’ atakować … zawsze i wszędzie, bez względu na to czy go widzimy, mamy w sojuszach, czy zmienił nazwę i czy chce się ukryć, TO NIE MA ZNACZENIA. Czyli podstawowe dane do zweryfikowania:

atakujemy kiedy chcemy, gracza o unikalnym i niezmienialnym ID 9999999:

hxxp://live.mobilewar.gfsrv.net/fight/index/id/9999999/i/tttttttttttttttttttttttttttttttt/h/11111111111111111111111111111111/t/0000000000

informacja o graczy, ilość sojuszy, jednostek, poziom itd :

hxxp://live.mobilewar.gfsrv.net/profile/info/id/9999999

komentarze gracza :

hxxp://live.mobilewar.gfsrv.net/profile/comments/id/9999999

Tak jak mówiłem, można wykonać komendę … i zmienić ID do ataku … na dowolny … i tutaj są właśnie skrypty do tego. Mi się nie chce pisać za bardzo samemu, bo i po co?

Postaram się tylko zebrać wszystkie informacje o graczach … poprzez przejście … od

hxxp://live.mobilewar.gfsrv.net/profile/info/id/1

do

hxxp://live.mobilewar.gfsrv.net/profile/info/id/9999999

Zbierając całość w jednym pliku … i będzie zawierał

  • id
  • nazwę
  • narodowość
  • poziom
  • wielkość sojuszu

Reszta jest chyba malo istotna … a wszystko dostajemy jak na tacy poprzez powyższe polecenia.

Widzicie różnicę w grach ?

hxxp://live.mobilewar.gfsrv.net/profile/info/id/9999999

hxxp://live.mobilemiddleages.gfsrv.net/profile/info/id/9999999

hxxp://live.mobilestoneage.gfsrv.net/profile/info/id/9999999

To tak na wstępie … bo czasu zawsze za mało … a danych jest od groma …

Konfigurowanie PROXY

Tak na wstępie, bo widzę że nikt się nie kwapi nawet do zabawy, postaram się troszkę ułatwić.

Zaczynamy oczywiście od przygotowania odpowiedniego programu BURP. Jest to aplikacja zajmująca raptem 7 MB w formacie JAR – dla wersji darmowej. Przeważnie lokalne PROXY konfiguruje się w tak, aby nasłuchiwało na interfejsie lokalnym oraz porcie 8080. W tym wypadku PROXY musi nasłuchiwać na interfejsie, do którego można wysyłać zapytania z urządzenia mobilnego (port może być oczywiście dowolny).

Teraz należy skonfigurować przekierowanie PROXY na urządzeniu mobilnym. Ważne, aby oba urządzanie znajdowały się w tej samej podsieci – czyli prościej mówiąc – podłączyć się należy do tego samego punktu WiFi. Poniżej przykładowa konfiguracja dla iOS’a i Androida, po więcej informacji odsyłam na stronę SEKURAKa:

Adresem PROXY jest oczywiście komputer z uruchomionym programem BURN …

 Teraz można zacząć zabawę już na poważnie … i czasami znacznie ułatwiając życie … ale na początek i na zachętę pokażę jak na telefonie wpłacić jedną kwotę, zmodyfikować ją poprzez PROXY i co dokładnie zostaje przesłane na serwer … producenta.

Mamy pełną konfigurację jw. Jest uruchomiony program BURN na komputerze, pracującym jako PROXY. Uruchamiamy grę na telefonie, natychmiast są wysyłane komunikaty na serwer, które FORWARD’ujem (program, zatrzymuje na chwilkę zapytania do serwera producenta, kliknięcie Forward powoduje przesłanie dalej wiadomości). Dokonujemy wpłaty, w tym przypadku 1000$:

Przechodzimy do ekranu komputera, gdzie z kwoty wykazanej:

modyfikujemy na:

i klikamy Forward … patrzymy na telefonie co zostało zaksięgowane:

Ufff … zdziwiony? Całkiem coś innego … cóż, to dopiero początek zabawy … w następnym odcinku, może postaram się pokazać, jak atakować cały czas jednego gościa, którego bardzo nie lubimy i nie mamy jego kodu …

Teraz może z uwagi na ilość pytań, wyjaśniam podstawową zasadę działania.

TELEFON <—> PROXY <—> PRODUCENT

Gramy na telefonie, ale wszystkie polecenia przechodzą przez serwer proxy i z niego trafiają do producenta. Całą zabawą jest modyfikacja ruchu wychodzącego jego automatyzacja i wykonywanie wielokrotne tej samej czynności (np. zapraszanie – do tego jest już zamieszczony skrypt). Całą zabawę polecam od przeczytania takiego małego … opisu, jak instalować ANDROIDA … na virtualboxie :

http://fixedbyvonnie.com/2014/02/install-android-4-4-kitkat-windows-using-virtualbox/

Naprawdę warto … się z tym zapoznać. W tym momencie jako TELEFON stawiamy maszynę wirtualną, aby w przypadku wpadki, producent nie skasował nam prawdziwego konta, a tylko TESTOWE, virtualne … a co nam szkodzi.

A to wszystko to dopiero początek …

Jak stracić konto

Tym zaczepnym tematem, rozpoczynamy serię dla ‚hakjerów’ …

Jak łatwo stracić konto? Oczywiście używając bootów, skryptów ułatwiających grę, skryptów wysyłających zaproszenia, atakujące itd, itp. Nie mam zamiaru ułatwiać wszystkiego czy też opisywać wszystkiego od A do Z. Tak samo postępują twórcy skryptów, istniejących na necie. Aby w ogóle do tej tematyki podejść proszę zapoznać się z pewnymi materiałami. Jak poznacie podstawy reszta będzie już łatwa i zrozumiała. Późniejsza decyzja będzie już podjęta sądzę z rozsądkiem i wiedzą … oraz możliwymi następstwami.

Wszystkie zamieszczone informacje oraz systemy są w 100% legalne … nielegalne jest tylko ich użycie w ‚niecnym’ celu. Mam nadzieję że część z Was, pierwszy raz się spotyka z taką tematyką. Dlatego delikatnie, najpierw czytamy, później sprawdzamy, testujemy i na samym końcu jest zabawa. Z doświadczenia wiem, że nie wolno testować niczego, czego nie jesteśmy pewni, na własnym komputerze! Utrata danych może trwać ułamek sekundy. Złośliwość ‚radzących’ jest zatrważająca i zadziwiająco skuteczna. Jeszcze raz proszę o rozwagę, więcej nie będę o tym wspominał.

Całość ma na celu EDUKACJĘ oraz poprawę bezpieczeństwa, poprzez poznanie.

Na początek zapraszam do lektury :

http://sekurak.pl/owasp-zap-narzedzie-ulatwiajace-testowanie-aplikacji-webowych/

dodatkowo, proszę zapoznać się z czymś takim jak :

http://bezpieka.org/instalacja-virtualbox-na-windows_2013

nie wspominając o możliwościach narzędzia :

http://kali-linux.pl/
http://sekurak.pl/bezpieczenstwo-sieci-wi-fi-czesc-1/

ale to już rozważania na dużą ilość wolnego czasu, może się komuś będzie chciało testować dodatkowo zabezpieczenia WŁASNEJ sieci WIFI, własnych aplikacji itd.