ANTICHAT.XYZ    VIDEO.ANTICHAT.XYZ    НОВЫЕ СООБЩЕНИЯ    ФОРУМ  
Баннер 1   Баннер 2

ANTICHAT — форум по информационной безопасности, OSINT и технологиям

ANTICHAT — русскоязычное сообщество по безопасности, OSINT и программированию. Форум ранее работал на доменах antichat.ru, antichat.com и antichat.club, и теперь снова доступен на новом адресе — forum.antichat.xyz.
Форум восстановлен и продолжает развитие: доступны архивные темы, добавляются новые обсуждения и материалы.
⚠️ Старые аккаунты восстановить невозможно — необходимо зарегистрироваться заново.
Вернуться   Форум АНТИЧАТ > Программирование > Реверсинг
   
Ответ
 
Опции темы Поиск в этой теме Опции просмотра

Реверсинг протокола авторизации PKO/TOP/Пиратия
  #1  
Старый 19.02.2009, 03:17
data3000
Новичок
Регистрация: 18.02.2009
Сообщений: 3
Провел на форуме:
16169

Репутация: 10
Question Реверсинг протокола авторизации PKO/TOP/Пиратия

Вообщем первым шагом устанавливается tcp соединение с 85.192.47.44 Destination port: 1973
Отправляем пакет с пустым содержанием получаем ответ вида:
Код:
00 1F-80 00 00 00 03 AC 00 15  
  ..?....¬..
5B 30 32 2D 31 38 20 32-31 3A 31 30 3A 34 38 3A  
  [02-18 21:10:48:
34 36 31 5D 00                                    
  461].
на этот ответ клиет отправляет
Код:
00 54-80 00 00 00 01 AF 00 07   
  .T?....¯..
6E 6F 62 69 6C 6C 00 00-09 64 61 74 61 33 30 30   
  nobill...data300
31 00 00 18 B1 DD 38 E6-43 6B 90 9B 27 EF CA 4C   
  1...±Ý8æCk�›'ïÊL
98 29 B4 09 47 57 F6 33-D5 16 0E 24 00 18 30 30   
  ˜)´.GWö3Õ..$..00
2D 44 30 2D 44 37 2D 30-46 2D 36 41 2D 34 33 2D   
  -D0-D7-0F-6A-43-
30 30 2D 30 30 00 03 8F-00 88 
    00-00..�.ˆ
т.е идет nobill...ИМЯ......ХЭШ

хэш похоже идет 24 байтный, меняется при изменении логина, пароля, даты.

вок кусок процедуры из клиента:
Код:
.text:0041C7D9                                               ; sub_41BF40+6DAj ...
.text:0041C7D9 68 B8+                push    offset aNetlogin ; "netlogin"
.text:0041C7DE 8D 45+                lea     eax, [ebp+var_4C]
.text:0041C7E1 50                    push    eax
.text:0041C7E2 E8 39+                call    sub_404A20
.text:0041C7E7 83 C4+                add     esp, 8
.text:0041C7EA 84 C0                 test    al, al
.text:0041C7EC 74 2F                 jz      short loc_41C81D
.text:0041C7EE B8 10+                mov     eax, 10h
.text:0041C7F3 39 45+                cmp     [ebp+var_6C], eax
.text:0041C7F6 8B 4D+                mov     ecx, [ebp+var_80]
.text:0041C7F9 73 03                 jnb     short loc_41C7FE
.text:0041C7FB 8D 4D+                lea     ecx, [ebp+var_80]
.text:0041C7FE
.text:0041C7FE       loc_41C7FE:                             ; CODE XREF: sub_41BF40+8B9j
.text:0041C7FE 39 45+                cmp     [ebp+var_18], eax
.text:0041C801 8B 45+                mov     eax, dword ptr [ebp+var_2C]
.text:0041C804 73 03                 jnb     short loc_41C809
.text:0041C806 8D 45+                lea     eax, [ebp+var_2C]
.text:0041C809
.text:0041C809       loc_41C809:                             ; CODE XREF: sub_41BF40+8C4j
.text:0041C809 68 B0+                push    offset aNobill  ; "nobill"
.text:0041C80E 51                    push    ecx
.text:0041C80F 50                    push    eax
.text:0041C810 E8 AB+                call    sub_5077C0
.text:0041C815 83 C4+                add     esp, 0Ch
.text:0041C818 E9 CE+                jmp     loc_41F3EB


.text:005077C0       sub_5077C0      proc near               ; CODE XREF: sub_41BF40+8D0p
.text:005077C0                                               ; sub_4C4D50+5Ep ...
.text:005077C0
.text:005077C0       arg_0           = dword ptr  4
.text:005077C0       arg_4           = dword ptr  8
.text:005077C0       arg_8           = dword ptr  0Ch
.text:005077C0
.text:005077C0 8B 44+                mov     eax, [esp+arg_8]
.text:005077C4 8B 4C+                mov     ecx, [esp+arg_4]
.text:005077C8 8B 54+                mov     edx, [esp+arg_0]
.text:005077CC 50                    push    eax
.text:005077CD A1 08+                mov     eax, dword_6C2508
.text:005077D2 51                    push    ecx
.text:005077D3 8B 88+                mov     ecx, [eax+324h]
.text:005077D9 52                    push    edx
.text:005077DA E8 C1+                call    sub_51A5A0
.text:005077DF C3                    retn
.text:005077DF       sub_5077C0      endp


.text:0051A5A0       sub_51A5A0      proc near               ; CODE XREF: sub_5077C0+1Ap
.text:0051A5A0
.text:0051A5A0       hostshort       = word ptr -4E0h
.text:0051A5A0       var_4DC         = dword ptr -4DCh
.text:0051A5A0       var_4A4         = dword ptr -4A4h
.text:0051A5A0       var_4A0         = dword ptr -4A0h
.text:0051A5A0       var_490         = dword ptr -490h
.text:0051A5A0       var_48C         = dword ptr -48Ch
.text:0051A5A0       var_488         = dword ptr -488h
.text:0051A5A0       var_410         = dword ptr -410h
.text:0051A5A0       var_10          = dword ptr -10h
.text:0051A5A0       var_C           = dword ptr -0Ch
.text:0051A5A0       var_4           = dword ptr -4
.text:0051A5A0       arg_0           = dword ptr  4
.text:0051A5A0       arg_4           = dword ptr  8
.text:0051A5A0       arg_8           = dword ptr  0Ch
.text:0051A5A0
.text:0051A5A0 6A FF                 push    0FFFFFFFFh
.text:0051A5A2 68 CC+                push    offset loc_5F6FCC
.text:0051A5A7 64 A1+                mov     eax, large fs:0
.text:0051A5AD 50                    push    eax
.text:0051A5AE 64 89+                mov     large fs:0, esp
.text:0051A5B5 81 EC+                sub     esp, 4D4h
.text:0051A5BB A1 44+                mov     eax, dword_65F044
.text:0051A5C0 8B 15+                mov     edx, dword_6C2508
.text:0051A5C6 55                    push    ebp
.text:0051A5C7 56                    push    esi
.text:0051A5C8 57                    push    edi
.text:0051A5C9 8B BC+                mov     edi, [esp+4ECh+arg_0]
.text:0051A5D0 8B E9                 mov     ebp, ecx
.text:0051A5D2 89 84+                mov     [esp+4ECh+var_10], eax
.text:0051A5D9 8B CF                 mov     ecx, edi
.text:0051A5DB 81 C2+                add     edx, 3ACh
.text:0051A5E1
.text:0051A5E1       loc_51A5E1:                             ; CODE XREF: sub_51A5A0+49j
.text:0051A5E1 8A 01                 mov     al, [ecx]
.text:0051A5E3 41                    inc     ecx
.text:0051A5E4 88 02                 mov     [edx], al
.text:0051A5E6 42                    inc     edx
.text:0051A5E7 84 C0                 test    al, al
.text:0051A5E9 75 F6                 jnz     short loc_51A5E1
.text:0051A5EB 8B B4+                mov     esi, [esp+4ECh+arg_4]
.text:0051A5F2 8B 15+                mov     edx, dword_6C2508
.text:0051A5F8 8B CE                 mov     ecx, esi
.text:0051A5FA 81 C2+                add     edx, 410h
.text:0051A600
.text:0051A600       loc_51A600:                             ; CODE XREF: sub_51A5A0+68j
.text:0051A600 8A 01                 mov     al, [ecx]
.text:0051A602 41                    inc     ecx
.text:0051A603 88 02                 mov     [edx], al
.text:0051A605 42                    inc     edx
.text:0051A606 84 C0                 test    al, al
.text:0051A608 75 F6                 jnz     short loc_51A600
.text:0051A60A 56                    push    esi             ; char *
.text:0051A60B 57                    push    edi             ; int
имеется и клиентская часть и серверная часть (без исходников конечно),

вот всё пытаюсь самостоятельно сгенерировать этот ХЭШ но всё никак не могу найти где он генерируется в клиете, если кто может подскажите чем можите где дальше копать

Последний раз редактировалось data3000; 19.02.2009 в 03:27..
 
Ответить с цитированием

  #2  
Старый 19.02.2009, 03:44
zeppe1in
Постоянный
Регистрация: 12.07.2006
Сообщений: 327
Провел на форуме:
1654818

Репутация: 117
По умолчанию

надо смотреть в отладчике.
 
Ответить с цитированием

  #3  
Старый 19.02.2009, 08:10
neprovad
Постоянный
Регистрация: 19.10.2007
Сообщений: 794
Провел на форуме:
1013791

Репутация: 711


По умолчанию

у peid есть плагин неплохой - Kanal, поможет узнать какие криптобиблиотеки использовались
 
Ответить с цитированием

  #4  
Старый 19.02.2009, 10:35
data3000
Новичок
Регистрация: 18.02.2009
Сообщений: 3
Провел на форуме:
16169

Репутация: 10
По умолчанию

Цитата:
Сообщение от neprovad  
у peid есть плагин неплохой - Kanal, поможет узнать какие криптобиблиотеки использовались
спасибо действительно помогает хоть теперь примерно знаю что используется дальше буду пробовать в отладчике копать
Код:
ADLER32 :: 00147F3A :: 00547F3A
	The reference is above.
BASE64 table :: 00214608 :: 00614608
	Referenced at 00575DD5
	Referenced at 00575E01
	Referenced at 00575E2E
	Referenced at 00575E4C
	Referenced at 00575E8A
	Referenced at 00575ECA
	Referenced at 00575EF4
CRC32 :: 00212A38 :: 00612A38
	Referenced at 00540AD2
	Referenced at 00540AE4
	Referenced at 00540AF9
	Referenced at 00540B0E
	Referenced at 00540B23
	Referenced at 00540B38
	Referenced at 00540B4D
	Referenced at 00540B62
	Referenced at 00540B86
DES [pbox] [char] :: 002147D0 :: 006147D0
	Referenced at 00576D12
DES [pbox] [char] :: 00214B28 :: 00614B28
	Referenced at 00578384
DES [pbox] [char] :: 00214E70 :: 00614E70
	Referenced at 0057889A
DES [sbox] :: 002569E0 :: 006569E0
	Referenced at 004E4F42
	Referenced at 004E4FD4
MD5 :: 0018552E :: 0058552E
	The reference is above.
SHA1 [Compress] :: 001762D4 :: 005762D4
	The reference is above.
SHA1 [Compress] :: 00177A4A :: 00577A4A
	The reference is above.
ZLIB deflate [long] :: 00213310 :: 00613310
	Referenced at 005492FD
 
Ответить с цитированием

  #5  
Старый 19.02.2009, 12:00
data3000
Новичок
Регистрация: 18.02.2009
Сообщений: 3
Провел на форуме:
16169

Репутация: 10
По умолчанию

в серверной части также используетвся
Код:
BASE64 table :: 000549B8 :: 004549B8
DES [pbox] [char] :: 00054B80 :: 00454B80
DES [pbox] [char] :: 00054ED8 :: 00454ED8
DES [pbox] [char] :: 00055220 :: 00455220
MD5 :: 0003896E :: 0043896E
SHA1 [Compress] :: 00031F44 :: 00431F44
SHA1 [Compress] :: 000336BA :: 004336BA
подскажите может кто встречал DES [pbox] [char] "DES key permutation (PBox) (1-based)" что это
 
Ответить с цитированием

  #6  
Старый 19.02.2009, 12:08
Chaak
Познавший АНТИЧАТ
Регистрация: 01.06.2008
Сообщений: 1,047
Провел на форуме:
5321514

Репутация: 3313


Отправить сообщение для Chaak с помощью ICQ
По умолчанию

Дес - алгоритм хэширования, кроме бейс64(ты его сразу узнаешь по разного регистра буквам и иногда по знакам равно на конце) в проге нет.

Дес строго 12 символов в длину. 12 + 12 = 24

Скорей всего, как и в практически любом другом протоколе, используется бинарное пакование данных. Ищи его с помощью отладчика.
Бряк на WM_COMMAND в WndProc(это по нажатию кнопки если).

Последний раз редактировалось ChaaK; 19.02.2009 в 12:17..
 
Ответить с цитированием

  #7  
Старый 19.02.2009, 12:42
geezer.code
Reservists Of Antichat - Level 6
Регистрация: 22.01.2007
Сообщений: 616
Провел на форуме:
7452489

Репутация: 1359


По умолчанию

Цитата:
Сообщение от ChaaK  
Дес - алгоритм хэширования, кроме бейс64(ты его сразу узнаешь по разного регистра буквам и иногда по знакам равно на конце) в проге нет.
DES - data encryption standart - как раз таки алгоритм шифрования. А хэширование - вырожденные случай шифрования, просто всесто 56-битного ключа берется по 7 бит из первых 8 байт шифруемого сообщения, так получаем хэширование вместо шифрования.
 
Ответить с цитированием

  #8  
Старый 19.02.2009, 12:47
geezer.code
Reservists Of Antichat - Level 6
Регистрация: 22.01.2007
Сообщений: 616
Провел на форуме:
7452489

Репутация: 1359


По умолчанию

Цитата:
Сообщение от data3000  
подскажите может кто встречал DES [pbox] [char] "DES key permutation (PBox) (1-based)" что это
pbox - матрица изменения ключа. 56битный ключ - проходит процедуру расширения до 64 бит. после этого кажется перед каждым циклом проходит пермутацию, на основе pbox, это матрица с зараниее известными значениям. pbox - обычно закладываются 1 раз в самом коде.

Последний раз редактировалось geezer.code; 19.02.2009 в 12:50..
 
Ответить с цитированием

  #9  
Старый 19.02.2009, 13:35
ProTeuS
HARDstasy
Регистрация: 26.11.2004
Сообщений: 1,367
Провел на форуме:
4226592

Репутация: 2175


Отправить сообщение для ProTeuS с помощью ICQ
По умолчанию

1. geezer.code все верно сказал
2. data3000. советую 2 способа, первый брякнуться не на коде самой отсылки, а до него, поставив бряку, на пример на винсоковский connect при установке соединения и там смотришь кто куда и за4ем коннектится. а немного далее по коду будет функи генерации пакетов, крипто и все 4то тебе нужно; второй, если не выйдет с первым, в том коде который ты привел выше, брякаешься, жмешь альт+к в отльке, смотришь откуда пришли по стеку, там дизасмишь, перезапускаешь прогу уже с бряками выше в надфункциях и исследуешь пока не найдешь код перекодирования вменяемых данных в шифрованые
 
Ответить с цитированием

  #10  
Старый 19.02.2009, 15:04
zeppe1in
Постоянный
Регистрация: 12.07.2006
Сообщений: 327
Провел на форуме:
1654818

Репутация: 117
По умолчанию

а я бы брякнулся перед отправкой этого хеша поставил на него хардваре брекпойнт на акес и рестарт) он скорее всего копироваца будет много раз но так можно и найти место генерации.
 
Ответить с цитированием
Ответ



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
.NET реверсинг procedure Реверсинг 7 02.04.2010 05:32
Криптоанализ туннельного протокола типа точка-точка(PPTP) от Microsoft bobob Чужие Статьи 3 15.08.2006 00:50
Nik9 Sulf aka Joker Болталка 40 17.07.2006 16:28
Описание Ssh Nova *nix 2 13.07.2006 17:31
Команда исследователей из США представила новую технологию авторизации пользователей. Mobile Мировые новости 0 11.03.2006 12:33



Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 


Быстрый переход




ANTICHAT.XYZ