Odczyt haseł z Nowego
W aplikacji Nowe GG (Gadu-Gadu 8.0), zmieniono kodowanie hasła serwera. Póki co
algorytm nie jeszcze bliżej znany, jednakże zaprezentowanym poniżej sposobem można
odczytać hasło serwera z plików konfiguracyjnych, niekoniecznie pochodzących z naszego
komputera.
Metoda ta sprawdza się oczywiście w przypadku gdy hasło jest zapamiętane w programie
(autologowanie) oraz gdy nie zostało użyte hasło profilu. W momencie wykorzystania przez
użytkownika hasła profilu ważniejsze pliki konfiguracyjne jak i archiwum są szyfrowane
algorytmem AES256 oraz Blowfish (informacja podana przez GG) i wówczas pozostaje tylko
metoda Brute Force.
Pliki konfiguracyjne znajdują się w folderze :
C:\Documents and Settings\uzytkownik\Dane aplikacji\Nowe Gadu-Gadu\numergg\
Ważną kwestią jest to iż hash hasła pomimo tego iż zmienia się po każdym zamknięciu
programu to jednak ciągle jest on „użyteczny”. Znajduje się on w pliku Profile.xml pod
pozycją:
<ProfilePassword> ..... .... ... </ProfilePassword>
Jednakże sam hash nie wystarczy do odczytu hasła, niezbędna jest znajomość dwóch pozycji
z tego samego pliku, a mianowicie:
<ProfileUid> ........ </ProfileUid>
.................
<ProfileName>.......</ProfileName>
Najprościej jest skopiować cały folder wybranego profilu, a raczej jego 3 najważniejsze pliki:
•
Profile.xml
•
ProfileBasic.xml
•
Status.xml (to można sobie w sumie odpuścić)
Tyle tylko, iż GG zabezpieczyło się przed takim bezmyślnym kopiowaniem plików stosując
również odczyt klucza sprzętowego, którym jest numer seryjny woluminu C. Aby
zautomatyzować cały ten proces stworzyłem program do kopiowania niezbędnych plików z
profili oraz pobrania numer seryjnego woluminu.
Program ponadto posiada możliwość uruchomienia z parametrem „–auto” , dzięki czemu po
włożeniu np.: pendrive’a automatycznie bez okienek etc.) sczyta i zapisze numer seryjny oraz
skopiuje wszystkie profile. W paczce z programem jest przykładowy plik autorun.inf do
wrzucenia na nośnik. Mając te pliki wystarczy, iż wrzucimy je do naszego folderu:
C:\Documents and Settings\uzytkownik\Dane aplikacji\Nowe Gadu-Gadu\
Programem VolumeID 2.0 (w paczce) zmieniamy numer seryjny naszej partycji C na numer z
pliku wolumin.txt. Przykład użycia:
Start -> Uruchom -> cmd -> ścieżkadopliku\volumeid.exe c: 1A56-338A
Natomiast jeśli ktoś wolał hash hasła serwera , numer gg i nazwę konta skopiować ręcznie,
wówczas zmuszony jest do utworzenia nowego konta bądź edycji już istniejącego i w nim na
zmianę następujących rzeczy:
•
nazwę folderu (która jest numerem gg) na nazwę konta (numer gg) z którego pobrano
hash hasła
•
w pliku Profile.xml należy zmienić odpowiednio pozycję:
<ProfileUid>....</ProfileUid>
<ProfilePassword>.....</ProfilePassword>
<ProfileName>......</ProfileName>
•
w pliku ProfileBasic.xml, podmieniamy pozycję:
<UID>.......</UID> (to samo co w ProfileUid)
<Name>.......</Name> (to samo co w ProfileName)
Mając skopiowane pliki konfiguracyjne bądź podmienione odpowiednie pozycję można się
zalogować już bez zapytania o hasło, jednakże nas interesuje informacja co to za hasło. Do
tego celu posłuży nam OllyDBG v2.0 (w paczce). A więc uruchamiamy program i ładujemy
gg.exe (File->Open):
Następnie CTRL+G (Go To -> Expression) i wpisujemy adres 006CB030. Od tego adresu
zaczyna się funkcja dekodująca hash, więc wciskamy tu F2 (breakpoint) oraz kolejny raz F2
pod adresem 006CB05A.
Dla pewności wciskamy przycisk << z górnego menu. I po restarcie naciskamy F9 przenosząc
się do 1 breakpointa, a następnie jeszcze 6 razy F9 (przejście z pierwszego breakpointa do
drugiego, następnie z drugiego do pierwszego i tak 3 razy). Gdy jednak po 1 lub 2 pętli
uruchomi nam się Gadu-Gadu to znak, iż coś mamy źle ustawione (pliki konfiguracyjne lub
wolumin). Lecz gdy przejdzie 3 pętla to w prawej dolnej ćwiartce okna roboczego mamy
takie okienko z informacjami:
Przewijając paskiem kilka linii do góry, wówczas ukarze nam się nasze hasło:
Nasze hasło to oczywiście 123456 natomiast liczba 06 oznacza jego długość. I tak oto póki co
można odczytać hasło z nowego GG. Metoda odczytu hasła wprost z pamięci procesu tutaj się
nie sprawdza gdyż hasło to jest tylko przez niewielką chwile przechowywane w pamięci
(tylko przy starcie i zalogowaniu) i znajduję się pod różnymi adresami po każdym
uruchomieniu otoczone „śmieciami”.
Autorem poradnika jest Rafał Jelito.
http://rafal.jelito.org/index.php
http://legalne.info/1093/Odczyt-hasel-z-Nowego-Gadu-Gadu