Некролог на 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 |