Издательский дом ООО "Гейм Лэнд"ЖУРНАЛ ХАКЕР #94, ОКТЯБРЬ 2006 г.

Некролог на Web-Money Keeper

Крис Касперски

Хакер, номер #094, стр. 094-062-3


Внутри Keeper'а

Последняя версия Keeper'а проходила под номером 3.0.0.2 и занимала порядка ~1,9 Мб. После установке на диске в папке WebMoney образовалось множество файлов, среди которых были WebMoney.exe (пусковой файл, размером 183,024 байт, упакованный, по сообщению PEiD, протектором ASProtect 1.2x - 1.3x) и WWClient.dll (динамическая библиотека, реализующая основной функционал, размер — 3331,824 байт, не упакована).

Собственно говоря, WebMoney.exe можно сразу отбросить в сторону, не тратя силы на распаковку — все равно ничего интересного там нет. Но прежде нужно запустить монитор реестра и посмотреть, в какие ветви реестра лезет Keeper и не пытается ли он получить доступ к той информации, разглашать которую мы не хотим?

Даже невооруженным глазом видно, что сразу же после запуска Keeper ринулся определять имя чипа сетевой карты («AMD PCNET Family PCI Ethernet» в данном случае), имя машины («W2K»), и, если покопаться в дампе памяти, там можно обнаружить и MAC-адрес моей сетевой карты: 00-0C-29-F6-6C-3C (виртуальный, естественно). Кстати, чтобы узнать свой MAC-адрес, достаточно запустить штатную утилиту ipconfig c ключом /all (см. рис).

«Честные» программы не нуждаются в MAC-адресах и работают с сетью через TCP/IP-протоколы. Зачем же тогда Keeper'у потребовался наш MAC-адрес? А вот зачем! MAC-адрес уникален для каждой карты, и, хотя его теоретически возможно сменить на другой, даже без использования программатора, это считается веской уликой при расследовании преступления.

Значит, все-таки Keeper палит наш компьютер! И насколько глубоко? Берем в руки IDA Pro, загружаем WWClient.dll внутрь, и пока оно там дизассемблируется (а дизассемблироваться оно будет долго), достаем из заначки непочатую бутылку пива, затягиваемся сигаретой и думаем, думаем, думаем…

Лучше всего начинать анализ с поиска текстовых строк. Их легко найти в окне «Name Windows», вызываемом комбинацией клавиш <Shift-F4>. Тестовые ASCIIZ-строки начинаются с префикса «a». Действительно, здесь притаилось немало непуганой дичи:

Текстовые строки «pic_xxx», обнаруженные в Keeper'е

.rdata:1021ECB0 aPci_wmtid db 'pci_wmtid=',0 ; DATA XREF: sub_100901C0+C45o

.rdata:1021ECBC aPci_pursedest db '&pci_pursedest=',0 ; DATA XREF: sub_100901C0+CCCo

.rdata:1021ECCC aPci_pursesrc db '&pci_pursesrc=',0 ; DATA XREF: sub_100901C0+D53o

.rdata:1021ECDC aPci_amount db '&pci_amount=',0 ; DATA XREF: sub_100901C0+DDAo

.rdata:1021ECEC aPci_marker db '&pci_marker=',0 ; DATA XREF: sub_100901C0+E61o

.rdata:1021ECFC aPci_desc db '&pci_desc=',0 ; DATA XREF: sub_100901C0+EE8o

Назад на стр. 094-062-2  Содержание  Вперед на стр. 094-062-4