VPN + SOCKS А безопасно ли?

A

ИнфоБот

Во избежание случаев мошенничества администрация форума рекомендует избегать заочной передачи денежных средств или товаров. Совершайте сделки с незнакомыми людьми только через
Гарант Сервис.
plas

plas

Регистрация
25 Янв 2010
Сообщения
8
Реакции
0
Депозит
$0
Ofline
Безопасность webmoney

Много споров и подозрений в интеренете по поводу этой программы,
многие говорят что она шпионит за пользователями, даже небезызвесный
Крис Касперски написал статью про неё и называлась она "Некролог на
WebMoney". Очень нелестно высказываются о ней и другие прользователи.
Чтож, лучше один раз увидеть чем сто раз услышать, и исследовать
программу решил и я. Немного забегая вперед могу сказать что не все
так и плохо, как бы там не расписывали другие люди. В том же "некрологе"
программка была расписана как нечто ужасное, но на самом деле это не
более чем преувеличиения. Итак, приступим.
С сайта вебмани был загружен дистриб проги и успешно установлен на
комп. При установке были включены файловый монитор и монитор реестра,
ничего скрытно она не делает, все что произошло было аккуратно записано
в лог установки и свободно для чтения.
Следующий этап - осмотр того что нам собственно поставили, а файлов
там не слишком и много:
- KeeperID.exe (285 kb)
- WebMoney.exe (178 kb)
- WMClient.dll (2.8 mb)
- WMDispatcher.exe ( 73 kb)
- прочие файлы (анинстал, папки с сертификатами и bexth.dll)
KeeperID и WebMoney запакованы AsProtect ом, но не самой последней
версии, и если это было бы необходимо - можно было распаковать.
Наиболее крупным файлом в поставке был WMClient.dll и именно он
и содержит все основные функции программы, а ехе являлись лишь
хостом для этой длл. Сама длл ничем не запакована. Рассмотрим что же
в действительности делает она.
Миф 1. "Она получает мой mac-адрес!"
Да получает, ну и что? Получение идет абсолютно открыто - подгружается
библиотека netapi32 и затем вызывается стандартная функция NetBIOS для
получения информации о мак-адресе, никаких сокрытий тут не ведется, да и
если вы так боитесь своего мак адреса - ну поменяйте его! В настройках
устройства у большинства сетевых плат есть небольшой пунктик позволяющий
поменять адрес на любой другой. К тому же, исследуя протокол обмена
вебмани с сервером не было найдено передачи мак-адреса в числом виде, так
что это всего лишь мифы. Ну а про протокол обмена будет чуть позже.
Миф 2. "Она получает все о моих PCI девайсах!"
О боже, Крис Касперски как так можно было заявлять, эти текстовые
строки начинающиеся с pci не относятся к PCI девайсам никаким местом. Ведь
ясно видно что

.rdata:1021ECBC aPci_pursedest db '&pci_pursedest=',0
(цитата из статьи "Некролог...", адреса сохранены)

является частью какого то GET запроса, а не строкой позволяющей получить
или вывести информацию о девайсах. К тому же, если глянуть юрл'ы в самой
программе то можно увидеть такое:

https://merchant.webmoney.ru/pci/XMLPay.asp
https://merchant.webmoney.ru/pci/XMLPayTest.asp

Где pci видимо является не сервисом сбора инфы о девайсах , а обычным
интерфейсом для перевода денег с одного счета на другой. Сканер шины
BusHound, ну малоли с девайсами система общается, уж и поговорить нельзя
. В дампе ниче такого нету. К тому же для каждого девайса свои способы
получения сериал номера устройства, и я не думаю что создатели вебмани
угробили столько времени чтобы получить пару сериалов.

Миф 3. "Она ставит драйвера в мою систему!"
Да там есть два драйвера - это winio.sys и citio.sys, но они отнюдь
не выворачивают вашу систему наизнанку в поисках ид всяких устройств и
не оставляют скрытых меток на жестком диске. После детального рассмотрения
было выяснено что драйверы устанавливаются во время ввода пароля с
клавиатуры т.е. блокируют клавиатурные шпионы в системе. Стоит ради
интереса заметить что сделано все это очень культурно - через сабклассинг
окон, что позволяет в принципе защитить любое окошко от перехвата инфы.
Так что в этом пункте стоит только похвалить разработчиков за красивое
решение.

Миф 4. "Она получает списки процессов и модулей!"
Ну в очередной раз не стоит судить о книге по обложке и стоит
разобратся чтоже она делает с этим списком и когда. Вызывается процедура
сбора инфы по хуку, а сам хук ставится на события мыши и клавиатуры. Но,
если детально рассмотреть все что она с ними делает то все становится
очень безобидно. В начале процедуры идет вызов:

.text:100B555D lea eax, [ebp+PerformanceCount]
.text:100B5560 push eax ; lpPerformanceCount
.text:100B5561 call ds:QueryPerformanceCounter

Сразу навевается мысль о неком подобии рандом генератора и используют его
явно не для шифрования, так как это было бы безумием. После этого идет
полоса комманд вычисления с плавающей точкой:

.text:100B55C5 fild [ebp+var_18]
.text:100B55C8 sub esp, 8 ; double
.text:100B55CB fstp [esp+30h+var_30]
.text:100B55CE call __scalb
.text:100B55D3 fstp [ebp+var_20]
.text:100B55D6 add esp, 0Ch
.text:100B55D9 push 2 ; __int32
.text:100B55DB mov eax, dword_10213D04
.text:100B55E0 sub eax, dword_10213CFC
.text:100B55E6 mov [ebp+var_24], eax
.text:100B55E9 fild [ebp+var_24]
.text:100B55EC sub esp, 8 ; double
.text:100B55EF fstp [esp+30h+var_30]
.text:100B55F2 call __scalb
.text:100B55F7 add esp, 0Ch
.text:100B55FA fadd [ebp+var_20]
.text:100B55FD sub esp, 8 ; x
.text:100B5600 fstp [esp+2Ch+var_30+4]
.text:100B5603 call _sqrt_
.text:100B5608 add esp, 8
.text:100B560B fcomp ds:dbl_101DD7A8
.text:100B5611 fnstsw ax
.text:100B5613 test ah, 41h
...

Такое баловство также подразумевает некие операции со случайными числами,
практически сразу после этого идет вызов функции, которая в свою очередь
собирает многостардальный дамп процессов и памяти:

.text:100B5639 mov ecx, obj_processes
.text:100B563F call GetAllProcesses

А внутри этой функции нас ожидает приятный сюрприз:

.text:100B5C5C mov ecx, [ebp+procs_buf]
.text:100B5C5F call GetProcsMods
.text:100B5C64 mov [ebp+var_4], eax
.text:100B5C67 mov edx, [ebp+var_4]
.text:100B5C6A push edx
.text:100B5C6B mov ecx, [ebp+procs_buf]
.text:100B5C6E call CalcMD4OnBuff
.text:100B5C73 push Hooks_doRemove
.text:100B5C75 mov ecx, [ebp+procs_buf]
.text:100B5C78 call Hooks_Control

Вуаля! Собирает всю инфу о процессах в буфер и считает по ней MD4
хэш, и это сразу ставит все на свои места - запущенные процессы и
организация памяти по сути является в некоторой степени случайным элементом
для каждого компьютера, ну а подсчет хэша по этому добру дает хоть и не
слишком хорошее но всеже случайное число. Так что шпионство за процессами
отменяется, да здравствуют случайные числа Для особых скептиков на
этом расследование не было завершено.
Как уже было сказано, был проведен анализ протокола, и на удивление там
опять не оказалось местечка для конфиденциальных данных, даже намека нету
на них. В этом пункте можно спать спокойно ведь это еще один миф

Миф 5. "Она использует DeviceIOControl!"
Чтож, начнем с того зачем вообще эта функция, дабы не лезть со
всякими заявлениями по поводу "низкоуровнего обращения к hdd". Функция
эта действительно предназначена для посылки IO кода некому устройству.
Но обратите внимание, что программа не просто так импортирует эту функцию,
она использует собственные драйвера и та функция как раз отправляет
данные именно этим драйверам, а не жестким дискам
и прочим девайсам. Ну и опять же дабы не быть голословным посмотрим из
каких функций они вызываются:

...
.text:1008DEAA push 80000000h ; dwDesiredAccess
.text:1008DEAF push offset FileName ; "\\\\.\\citio"
.text:1008DEB4 call ds:CreateFileA
...
.text:1008DF0E push eax ; lpInBuffer
.text:1008DF0F push 80002078h ; dwIoControlCode
.text:1008DF14 mov ecx, [ebp+hObject]
.text:1008DF17 push ecx ; hDevice
.text:1008DF18 call ds:DeviceIoControl
...

Как видно из сорца идет открытие драйвера и передача буфера ему и к
великому сожалению не явлется шпионской деятельностью Такие же
разочарования нас ждут по адресам 1008E232, 1017C488, 1017C588, 1017C68E,
1017C7B2 и 1017C906. Но это не все места где используется данная функция,
так же она испольуется в 10084FED, 10085367, 100858A1, 10085C28 и 10085CDC.
На первый взгляд выглядят они просто ужасающе - рядом есть два кросс
референса на строку \\.\PhysicalDrive%d и \\.\Scsi%d ну и естественно
первая мысль которая крадется в голову это чтение и запись на диск всякого
компромата в виде меток или чтение инфы о серийных номерах диска! Но если
успокоится и довести дело до конца, что не было сделано в той же статье
"Некролога...", то можно с уверенностью утверждать - ничего плохого наш
муравей не делает. Используется данные не для шпонства за пользователями,
а просто чтобы создать некий HardwareID и потом передать его на сервер
активации приложений. А отправлется это дело на:

https://######.softactivation.com/XML/XMLGetActivationKey.asp

И тут же рядом с этим линком видим шаблон запроса:

.rdata:101D7E28 agact db '<GetActivationKey.request><login></login><ProductID></Produc'
.rdata:101D7E28 db 'tID><HardwareID></HardwareID><sign></sign></GetActivationKey'
.rdata:101D7E28 db '.request>',0

Делаем вывод что это еще один страшный миф о шпионстве вебмани.

Миф 6. "Неспецифированный протокол"
Ну это совсем не обоснованый пункт, непонятно вообще откуда он
взялся, если даже просто мимолетно взглянуть на код и на строки, то ясно
можно увидеть обычнейший xml, именно его используют для передачи информации
на сервер и с него. В добавок к этому, дабы не передавать все в открытом
виде используется самый обычный ssl протокол, который себя зарекомендовал.
На каком то форуме даже пробегали ссылки на полные документации их
протолоков, хотя имхо это даже лишнее - все ясно из шаблонов которые
встроены прямо в программу.

Чтож, с мифами разобрались, но это еще далеко не все, в вебмани
предусмотрен запрос "безопасности", который происходит при проведении
платежа, давайте рассмотрим что же в действительности получает сервер
вебмани из секретных данных пользователя. Выделив шаблон запроса хмл и
написав комментарии - получилось следующее:

<SecurityReport.Request>
<WMID></WMID> # wmid - ну кудаж без него
<Keeper>
<Version></Version> # версия самого кипера
<Language></Language> # язык кипера
<Activation></Activation> # активация, по видимому номер
<Confirmation></Confirmation> # подтверждение
<KSP> # Инфа о KSP
<Version></Version>
<Name></Name>
<Desc></Desc>
</KSP>
<Keys> # Инфа о ключах
<Size></Size>
<DriveType></DriveType> # тип устройства, по видимому флеш или хард
</Keys>
</Keeper>
<System> # информация о системе
<VersionInfo>
<MajorVersion></MajorVersion> # версия винды
<MinorVersion></MinorVersion>
<BuildNumber></BuildNumber> # номер билда винды
<PlatformId></PlatformId>
<CSDVersion></CSDVersion>
<ServicePackMajor></ServicePackMajor> # инфа о сервис паках
<ServicePackMinor></ServicePackMinor>
<SuiteMask></SuiteMask>
<ProductType></ProductType> # тип продукта
</VersionInfo>
<InternetExplorer> # инфа о интеренет эксплорере
<Version></Version>
<Build></Build>
<MinorVersion></MinorVersion>
</InternetExplorer>
</System>
<Sign></Sign> # подпись, видимо запрос подписывается
</SecurityReport.Request>

В таком запросе я не наблюдаю ни отправки списка процессов, ни
номеров жесткого дистка ни прочей нечисти каким либо образом характеризующей
пользователя. Версии как интернет эксплорера практически одинаковые у
всех так и версии и билды винды так же однотипны. Остается лишь одна
загадка в вебмани - как сервер определяет то что кошелек запущен в вмваре.
Частично разгадка известна - функция NetBios используется классом HWIdentor
который в свою очередь используется классами для подключения к вебмани. А
сама функция нетбиос возвращает нам мак-адрес сетевой карты. Для вмваре
используются специфичные номера по которым она безбожно палится. Обойти
это можно применив патч для вмваре который можно найти в интернете, жаль
что для новых версий приходится его переписывать, так как он не работает
Особенно стоит поблагодарить разработчиков за их внимание к реверсерам
и оставление на протяжении всего ехе всяких полезных строчек с дебаг
информацией, в которой помимо сообщения об ошибке еще указывается и класс
и процедура в который мы сейчас находимся.

Источник: _hxxxp://indetails.info
 
Последнее редактирование:

Для входа на onion-домен сайта, вам требуется установить tor-браузер, скачав его по этой ссылке.
После этого, вы можете зайти на наше зеркало.


ONION Перейти

Статистика форума

Темы
31,630
Сообщения
307,129
Пользователи
80,490
Новый пользователь
vasya7865

Пользователи онлайн

  • JustinloKig
31,630Темы
307,129Сообщения
80,490Пользователи
vasya7865Новый пользователь
Сверху