Перейти к публикации

Sallos

Новичoк
  • Публикации

    4
  • Зарегистрирован

  • Посещение

Репутация

1 Neutral

1 подписчик

Блок посетителей профиля отключен и не будет отображаться другим пользователям

  1. этим клиентом пользовался у него часто слетал перевод. Единственный недостаток, который для себя обнаружил, а так эта опция чисто для школьников поприкалываться.
  2. TeamViewer — всем известная прога для удалённого доступа к рабочему столу. Поэтому довольно интересно посмотреть, как она хранит пароли. Если вкратце, пароли хранятся в реестре Windows в зашифрованном виде. Для шифрования используется алгоритм AES-128-CBC и секретный ключ 0602000000a400005253413100040000. Такой метод сохранения паролей и связанное с ним повышение привилегий официально зарегистрированы 7 февраля 2020 года как уязвимость CVE-2019-18988 https://nvd.nist.gov/vuln/detail/CVE-2019-18988 (применима ко всем версиям TeamViewer до 14.7.1965 включительно). Начинающий специалист по безопасности, который обнародовал эту уязвимость, наткнулся на неё случайно. Он рассказывает, что работал у клиента и во время резервного копирования заметил ключи реестра TeamViewer, которые назывались OptionsPasswordAES и SecurityPasswordAES. https://whynotsecurity.com/blog/teamviewer/ Впоследствии ему стало интересно, что это за ключи и как вообще TeamViewer хранит пароли. Он импортировал их на свежую систему на виртуальной машине и запустил сканер BulletPassView https://www.nirsoft.net/utils/bullets_password_view.html, который собирает пароли в системе. Сканер выдал пароль TeamViewer открытым текстом. Сканер BulletPassView Затем с помощью программы Cheat Engine (для взлома игр под Windows) специалист провёл поиск этого пароля в оперативной памяти — и нашёл его опять же открытым текстом. Позже выяснилось, что данная уязвимость уже зафиксирована два года назад как CVE-2018-14333 https://www.cvedetails.com/cve/CVE-2018-14333/. Потом пришло время проверить, откуда в памяти у клиента TeamViewer берётся ключ: с сервера или с локального хоста. Оказалось, что сетевой трафик отсутствует, но пароль в памяти всё равно есть. Реверс-инжиниринг бинарника TeamViewer с помощью IDA Pro, API Monitor http://www.rohitab.com/apimonitor, procdump https://docs.microsoft.com/en-us/sysinternals/downloads/procdump и Frida https://frida.re/ занял несколько недель, но ничего не дал, хотя парень по ходу дела освоил несколько новых инструментов, так что процесс нельзя назвать бесполезным. В ходе поиска информации оказалось, что немало людей уже задавалось вопросом, как найти в ресурсах AES-ключи для игр Unity. Оказалось, что это совсем несложный процесс, для которого достаточно использовать дебаггер https://blog.jamie.holdings/2019/03/23/reverse-engineering-aes-keys-from-unreal-engine-4-projects/. Спустя шесть часов он нашёл фрагмент кода TeamViewer, отвечающий за AES-шифрование: Код: ================================================= "ServerPasswordAES"=hex:88,44,d7,0a,b2,96,2a,3d,63,16,3c,ff,e4,15,04,fb ================================================= Takes 8844d70ab2962a3d63163cffe41504fb into xmm0 Takes 5B659253E5E873D26723B7D5EAC06E3B into xmm1 pxor xmm0, xmm1 movdqa xmmword ptr ds:[eax],xmm0 [eax] = D3214559577E59EF04358B2A0ED56AC0 movdqa xmm1,xmmword ptr ds:[esi] | [esi] = 25C8C8BD4298BB32A57EECBDBD045BBB movdqa xmm0,xmmword ptr ds:[eax] | [eax] = D3214559577E59EF04358B2A0ED56AC0 aesdec xmm0,xmm1 | One round of an AES decryption, using Equivalent Inverse Cipher, 128-bit data (state) from xmm1 with 128-bit round key from xmm2/m128; store the result in xmm1. movdqa xmmword ptr ds:[eax],xmm0 | [eax] = 6F AA 98 76 DE 11 7D 8D 7E B6 EE 61 2D 3D 15 52 movdqa xmm1,xmmword ptr ds:[esi+10] | [esi+10]=[008FDE10]=79 DC 78 A6 67 50 73 8F E7 E6 57 8F 18 7A B7 06 add esi,20 | dec ecx | ecx = 3 aesdec xmm0,xmm1 | do the actual decryption movdqa xmmword ptr ds:[eax],xmm0 | [eax]=[008FDC90]=E3 58 26 46 A7 37 12 40 85 1C C0 43 7D 1F 1E 30 Three more rounds of aesdec then aesdeclast xmm0, xmm1 .| Last round of AES decryption, using Equivalent Inverse Cipher, 128-bit data (state) from xmm2 with a 128-bit round key from xmm3/m128; store the result in xmm1. 008FDC90 01 00 01 00 67 24 4F 43 6E 67 62 F2 5E A8 D7 04 ....g$OCngbò^¨×. Этот код берёт из реестра несколько байт ServerPasswordAES и расшифровывает их с помощью ключа, полученного путём XOR'а прописанных значений esi и eax. В результате получается ключ 0602000000a400005253413100040000, а значение IV равняется 0100010067244F436E6762F25EA8D704. В версии TeamViewer 14 новый скриптовый движок позволяет повысить привилегии до NT AUTHORITY\SYSTEM, прочитав пароль TeamViewer в реестре с правами юзера. Ну и ещё можно расшифровать некоторые чужие пароли, погуглив [SecurityPasswordAES], [OptionsPasswordAES], [SecurityPasswordExported] или [PermanentPassword] с параметром поиска [filetype:reg]. TeamViewer закрыла эту уязвимость в последних версиях. Как теперь программа шифрует пароли, ещё не разобрались.
  3. Sallos

    Угон без смс

    daa
  4. Sallos

    Угон без смс

    Может кто знает и на кидает пару тем, как слить бабки с карточки, зная все её данные, но без смс подтверждения?
×
×
  • Создать...