Сейчас на форуме: igorcauret, Rio (+6 невидимых)

 eXeL@B —› Вопросы новичков —› Общие методики и подходы для обхода проверки валидности на сервере
Посл.ответ Сообщение


Ранг: 79.4 (постоянный), 183thx
Активность: 0.110
Статус: Участник

Создано: 10 мая 2015 05:34
· Личное сообщение · #1

Добрый день всем!
Меня интересует Общие методики обхода проверки валидности на сервере
1-На какие API нужно ставить BP ?
2- есть ли другие подходы?
----------
Прошу сильно не ругать . Это мне нужно для развития знания, а так нет не кокой программы под рукой



Ранг: 419.0 (мудрец), 647thx
Активность: 0.460.51
Статус: Участник
"Тибериумный реверсинг"

Создано: 10 мая 2015 09:17
· Личное сообщение · #2

вАлидности?
в смысле, речь идет об онлайн-активации, HWID? или не




Ранг: 79.4 (постоянный), 183thx
Активность: 0.110
Статус: Участник

Создано: 10 мая 2015 12:44
· Личное сообщение · #3

Онлайн проверки подленности ключи



Ранг: 92.1 (постоянный), 83thx
Активность: 0.110
Статус: Участник

Создано: 10 мая 2015 13:39 · Поправил: vovanre
· Личное сообщение · #4

AKAB ->

1) Отснифать url запроса (если http) и и искать в памяти, а далее как обычно, смотришь какой ответ нужен и подставляешь его.
2) Бряк на send и тоже самое что и в первом.

| Сообщение посчитали полезным: AKAB

Ранг: 95.1 (постоянный), 247thx
Активность: 0.260.01
Статус: Участник

Создано: 10 мая 2015 15:38 · Поправил: unknownproject
· Личное сообщение · #5

vovanre пишет:
Отснифать url запроса (если http)

Да хоть протокол ftp или php.Снифер дернет запросы по любому порту, если не по-рукожопски написан.
Похекать через соседей проще и дернуть бд, получив рута.Бажных ядер полно и сплоитов навалом.

-----
TEST YOUR MIGHT





Ранг: 1053.6 (!!!!), 1078thx
Активность: 1.060.81
Статус: Участник

Создано: 10 мая 2015 15:44
· Личное сообщение · #6

нет никаких методик, берется в руки дизасм того языка на котором писано приложение
и разбирается до уровня когда становится понятно как работает чекер

| Сообщение посчитали полезным: AKAB


Ранг: 328.7 (мудрец), 73thx
Активность: 0.170.01
Статус: Участник

Создано: 10 мая 2015 17:48
· Личное сообщение · #7

даже и не знал что ключи бывают подленные

| Сообщение посчитали полезным: plutos

Ранг: 92.1 (постоянный), 83thx
Активность: 0.110
Статус: Участник

Создано: 10 мая 2015 17:56
· Личное сообщение · #8

unknownproject пишет:
Да хоть протокол ftp или php

Протокол php?



Ранг: 0.0 (гость)
Активность: 0.250
Статус: Участник

Создано: 10 мая 2015 22:57
· Личное сообщение · #9

Сниффер, перенаправление на скрипт сервера, медитация над запросами, патч\декрипт, взлом сервера, фаззинг, миссия невыполнима (бывает и такое).
Ничем не отличается от взлома донгла, нет серебряной пули и какого то одного универсального решения.



Ранг: 20.4 (новичок), 8thx
Активность: 0.030
Статус: Участник

Создано: 10 мая 2015 23:10
· Личное сообщение · #10

AKAB
Если имеется конкретная цель, то неплохо выложить exe



Ранг: 95.1 (постоянный), 247thx
Активность: 0.260.01
Статус: Участник

Создано: 11 мая 2015 00:21
· Личное сообщение · #11

vovanre пишет:
Протокол php?

Выразился грубо.В php есть специальная обертка для работы с потоками.
Пруф и практическое использование в рамках бага:
https://rdot.org/forum/showthread.php?p=3050

-----
TEST YOUR MIGHT




Ранг: 1.2 (гость), 1thx
Активность: 0.010
Статус: Участник

Создано: 11 мая 2015 05:43 · Поправил: Alexin
· Личное сообщение · #12

Если http/https:
Ставиться Proxifier и локальный прокси типа Charles.
Дальше все ответы от серва сохраняются,в hosts пишется 127.0.0.1 адрес сайта.
Ну а дальше Wamp\Denwer,любая платформа на выбор.
Api без понятий,что Process Monitor покажет.
unknownproject пишет:
Похекать через соседей проще и дернуть бд, получив рута.Бажных ядер полно и сплоитов навалом.

А это уже незаконно и на парочку статей тянет.

| Сообщение посчитали полезным: AKAB


Ранг: 79.4 (постоянный), 183thx
Активность: 0.110
Статус: Участник

Создано: 07 июня 2015 08:16
· Личное сообщение · #13

вот есть такая прога, которая требует онлайн-активации
TrustyFilesPro
http://rghost.net/6tj5hTlcp
3.9 MB
---------------
вопрос:
1-привязана прога к железу или нет, и к чему именно она привязана?
конечно она ползует
GetComputerName — Имя компутора.
GetVolumeInformation — Получение информации о носителе.
2- с чего начать , чтобы зломать её?



Ранг: 419.0 (мудрец), 647thx
Активность: 0.460.51
Статус: Участник
"Тибериумный реверсинг"

Создано: 07 июня 2015 10:10 · Поправил: ELF_7719116
· Личное сообщение · #14

AKAB пишет:
вот есть такая прога, которая требует онлайн-активации
TrustyFilesPro

Одно могу сказать точно: TrustyFiles.dat, который валяется рядом - натуральный PE x86, где пошифрвоаны первые две (три) секции. Скорее всего, он расшифровается динамически, с помощью
Code:
  1. 00418C49  |.  8B4424 14     MOV EAX,DWORD PTR SS:[ESP+14]
  2. 00418C4D  |.  8B4C24 2C     MOV ECX,DWORD PTR SS:[ESP+2C]
  3. 00418C51  |.  8D5424 18     LEA EDX,[ESP+18]
  4. 00418C55  |.  52            PUSH EDX                                 ; /pBytesWritten => OFFSET LOCAL.64
  5. 00418C56  |.  8B5424 24     MOV EDX,DWORD PTR SS:[ESP+24]            ; |
  6. 00418C5A  |.  50            PUSH EAX                                 ; |Size => [LOCAL.65]
  7. 00418C5B  |.  51            PUSH ECX                                 ; |Buffer => [LOCAL.59]
  8. 00418C5C  |.  52            PUSH EDX                                 ; |BaseAddress => [LOCAL.62]
  9. 00418C5D  |.  56            PUSH ESI                                 ; |hProcess
  10. 00418C5E  |.  FF15 18934F00 CALL DWORD PTR DS:[<&KERNEL32.WriteProce ; \KERNEL32.WriteProcessMemory

По-моему там AES (Rijanel?)

По словам PiD, мы имеем дело с вполне определенной защитой:
Code:
  1. [!] nTitles Verifier detected !


Неприятно, что защита гадит системную папку:
Code:
  1. C:\WINDOWS\system32\F87BC3D352.dll
  2. C:\WINDOWS\system32\#AgentTestFile.tmp
  3.  
  4. 00443403  |> \50            PUSH EAX                                 ; /<%s>
  5. 00443404  |.  8D8424 C00000 LEA EAX,[ESP+0C0]                        ; |
  6. 0044340B  |.  50            PUSH EAX                                 ; |<%s> => OFFSET LOCAL.67
  7. 0044340C  |.  8D6F 1C       LEA EBP,[EDI+1C]                         ; |
  8. 0044340F  |.  68 08005000   PUSH OFFSET 00500008                     ; |Format = "%s\%s.dll"
  9. 00443414  |.  55            PUSH EBP                                 ; |Arg1
  10. 00443415  |.  E8 B35B0300   CALL 00478FCD                            ; \TrustyFiles.00478FCD


Тут вроде должна лежать лицензия с расширением dls:
Code:
  1. C:\Documents and Settings\All Users\Application Data\Protexis\State\279643F3.dls


Парсинг HDD:
Code:
  1. 00453C1C  |.  E8 3FF8FFFF   CALL 00453460                            ; HDD get
  2. 00453C21  |.  33FF          XOR EDI,EDI
  3. 00453C23  |.  3BC7          CMP EAX,EDI
  4. 00453C25  |.  0F85 27030000 JNE 00453F52
  5. 00453C2B  |.  8BCD          MOV ECX,EBP
  6. 00453C2D  |.  E8 0EFBFFFF   CALL 00453740                            ; [TrustyFiles.00453740
  7. 00453C32  |.  3BC7          CMP EAX,EDI
  8. 00453C34  |.  0F85 18030000 JNE 00453F52
  9. 00453C3A  |.  8BCD          MOV ECX,EBP
  10. 00453C3C  |.  E8 7FFDFFFF   CALL 004539C0                            ; [TrustyFiles.004539C0
  11. 00453C41  |.  3BC7          CMP EAX,EDI
  12. 00453C43  |.  0F85 09030000 JNE 00453F52


+ .text:004A29F6 0014 SHA1 / SHA0 / RIPEMD-160 initialization [32.le.20&]
Code:
  1. 004A29F0  /$  8B4424 04     MOV EAX,DWORD PTR SS:[ESP+4]
  2. 004A29F4  |.  33C9          XOR ECX,ECX
  3. 004A29F6  |.  C700 01234567 MOV DWORD PTR DS:[EAX],67452301
  4. 004A29FC  |.  C740 04 89ABC MOV DWORD PTR DS:[EAX+4],EFCDAB89
  5. 004A2A03  |.  C740 08 FEDCB MOV DWORD PTR DS:[EAX+8],98BADCFE
  6. 004A2A0A  |.  C740 0C 76543 MOV DWORD PTR DS:[EAX+0C],10325476
  7. 004A2A11  |.  C740 10 F0E1D MOV DWORD PTR DS:[EAX+10],C3D2E1F0
  8. 004A2A18  |.  8948 14       MOV DWORD PTR DS:[EAX+14],ECX
  9. 004A2A1B  |.  8948 18       MOV DWORD PTR DS:[EAX+18],ECX
  10. 004A2A1E  |.  8948 5C       MOV DWORD PTR DS:[EAX+5C],ECX
  11. 004A2A21  |.  B8 01000000   MOV EAX,1
  12. 004A2A26  \.  C3            RETN

OpenSSL (сравнительно свежий? - return 1)

Добавлено:
Кстати, если PE заголовок главного файла TrustyFiles.dat не врёт (и защита его не трогает), то exe'шник откомпилирован в Borland C++ (следует из точки входа). Эт я к тому, что для брута ключа у нас есть первые байты Entry Point. Впрочем, склонен думать, что единый ключик программа-оболочка получает от сервера, а HWID нужен только для привязки по кол-ву активаций (типа EA Origin).

| Сообщение посчитали полезным: AKAB


Ранг: 79.4 (постоянный), 183thx
Активность: 0.110
Статус: Участник

Создано: 08 июня 2015 14:28 · Поправил: AKAB
· Личное сообщение · #15

ELF_7719116
скажите пожалуйсто, взлать её можно или не стоит возиться с ней?
мене передали вот это
http://rghost.net/8xSPm7Kpj

35KRK-35XYC-C9974-TBYCS serial number

17EF-5BF5-71F6-6085-80AA activation code
может это поможет как то её взлать




Ранг: 756.3 (! !), 113thx
Активность: 0.610.05
Статус: Участник
Student

Создано: 08 июня 2015 17:55
· Личное сообщение · #16

AKAB пишет:
может это поможет как то её взлать

если ELF_7719116 всё правильно описал, то при запуске с машины для которой куплен ключик, словишь правильный ключ для расшифровки и можно будет отвязать проверку полностью

-----
z+Dw7uLu5+jqLCDq7vLu8PvpIPHs7uMh




Ранг: 419.0 (мудрец), 647thx
Активность: 0.460.51
Статус: Участник
"Тибериумный реверсинг"

Создано: 08 июня 2015 19:02
· Личное сообщение · #17

AKAB пишет:
17EF-5BF5-71F6-6085-80AA activation code

Я так мыслю, что по аналогии с SecuROM PA, activation code должен быть завязан с парсингом HDD + MD5 от этих данных. Т.е., чтобы у себя отвязать наверняка, нужно знать точный HWID машины, для которой ключик генерился. Хотя... с тем же SecuROM я просто мог насрать на это требование, т.к. знал, где можно пропатчить условные переходы, которые влияли на проверку.

Добавлено спустя 1 час 48 минут
Во-о-о-общем, выкладываю гайд по паркуру среди асм инструкций для экспресс-прохождения активации без интернет-подключения , валидного серийника и прочих публичных данных
Заранее предупреждаю, что, в любом случае, это только обход логики действия программы в процессе активации и конечный результат - попытка запустить target.exe (.dat) с мусором вместо ключа.

1. Первое окно. Ставим галочку, что серийник у нас есть типа.
2. Вводим в окне серийника какую либо херь (мусор), жмем далее
3. Должна сработать точка останова тут:
Code:
  1. коннектимся к 
  2. https://license.ntitles.net/xml.activate.asp?dlic=(HWID???)&rsn=(Ваш бла-бла серийник)&id=4102
  3.  
  4. 00424C22  |.  E8 A986FFFF   CALL wrapper to inet connection                ; \TrustyFiles.wrapper to inet connection
  5. 00424C27  |.  3BC3          CMP EAX,EBX // EAX = 0, как обычно

В регистре EAX вбиваем 0 (несмотря на то что инета нет, ну похер же ), и несемся далее
4. В окне персональной информации опять вбиваем бред сивой кобылы и ждем "Next", останов срабатывает в двух местах:
Code:
  1. 0041D9F9  |.  E8 52FE0000   CALL connet to internet (WSA)                  ; \TrustyFiles.connet to internet (WSA)
  2. 0041D9FE  |.  3BC3          CMP EAX,EBX //<--- EAX = 0
  3. 0041DA00  |.  0F85 A3020000 JNE 0041DCA9
  4.  
  5. +
  6.  
  7. 0040ECC2  |.  B9 B81D5400   MOV ECX,OFFSET 00541DB8
  8. 0040ECC7  |.  C68424 140200 MOV BYTE PTR SS:[ESP+214],14
  9. 0040ECCF  |.  E8 3C44FFFF   CALL SECONDARY CHECK                           ; \TrustyFiles.SECONDARY CHECK
  10. 0040ECD4  |.  8BF8          MOV EDI,EAX                                    ; 2 //<--- EAX = 0
  11. 0040ECD6  |.  3BFB          CMP EDI,EBX
  12. 0040ECD8  |.  75 5E         JNE SHORT 0040ED38

в обоих случаях EAX = 0.

5. Получаем Activation Success и обязательно должна быть установлена галочка "Launch TrustyFiles" (или как эт хрень называется). Ради этой галочки и стоило делать весь этот недолгий паркур.

Попадаем короче в эту важную функу (я уверен, что она самая интересная):
Code:
  1. Launch function!
  2. 00403FB0  /$  55            PUSH EBP                                       ; TrustyFiles.00403FB0(guessed Arg1,Arg2,Arg3,Arg4,Arg5,Arg6,Arg7)
  3. 00403FB1  |.  8BEC          MOV EBP,ESP
  4. 00403FB3  |.  6A FF         PUSH -1

там еще несколько доп проверок лицензии идут (я их еще не прочекал на данынй момент), но в итоге, эта функа должна и обяззана выйти на
Code:
  1.     00418C5E  |.  FF15 18934F00 CALL DWORD PTR DS:[<&KERNEL32.WriteProce ; \KERNEL32.WriteProcessMemory

в чем и есть профит описанного действа.

Если есть лицензия (serial number & activation code) + машина, на которой вся эта дрянь танцует, то разобрав 00403FB0, по идее должны получить готовый эксешник. Ну, в кранем случае, бряк на вызов WriteProcessMemory должен дать нам все расшифрованные секции/данные/ресурсы (вспомните Armadillo, SecuROM 5.xx... да и вообще, WriteProcessMemory часто где и кем использовалась)

f5c0_08.06.2015_EXELAB.rU.tgz - images_of_activation_process.7z

| Сообщение посчитали полезным: AKAB


Ранг: 1053.6 (!!!!), 1078thx
Активность: 1.060.81
Статус: Участник

Создано: 08 июня 2015 23:44
· Личное сообщение · #18

почему топик еще не закрыт вместе с хитрым афтаром ?
из саморазвития и познавания топик плавно скатился для взлома и теперь будут еще и простенькие примерчики подсовывать


 eXeL@B —› Вопросы новичков —› Общие методики и подходы для обхода проверки валидности на сервере
:: Ваш ответ
Жирный  Курсив  Подчеркнутый  Перечеркнутый  {mpf5}  Код  Вставить ссылку 
:s1: :s2: :s3: :s4: :s5: :s6: :s7: :s8: :s9: :s10: :s11: :s12: :s13: :s14: :s15: :s16:


Максимальный размер аттача: 500KB.
Ваш логин: german1505 » Выход » ЛС
   Для печати Для печати