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

Ломка WebMoney

Crack (crack@rsteam.ru)

Xakep, номер #067, стр. 067-042-1

Как крадут электронные деньги

Много говорилось о том, что взломать платежную систему WebMoney невозможно. Так вот, господа, это полная лажа! Систему взломали уже через несколько дней после ее появления, причем для этого заюзали баг, который известен уже несколько тысячелетий. Это buffer overflow в мозгах пользователей: изощренными методами социальной инженерии мошенники заставляли юзеров расставаться с увесистыми суммами. А недавно я написал хитроумную программу, после запуска которой на компьютере жертвы все его электронные деньги переводились на мой счет.

Как все начиналось?

За окном была непогода: порывы сильного ветра выворачивали наизнанку зонты немногочисленных прохожих, холодный дождь лил как из ведра. Казалось, солнце уже никогда не выглянет и не согреет своим теплом эти старые, видавшие виды дома, как призраки проглядывавшие сквозь туманную пелену шторма. Я сидел дома в теплом свитере за чашкой горячего ароматного кофе, смотрел в окно и думал, как же в кайф быть в тепле, как мне уютно и хорошо. Мне безумно хотелось заняться чем-то творческим, нужно было ловить момент. Ведь когда на улице хорошая погода, светит солнце и тепло, невозможно сосредоточиться: друзья зовут гулять, клубиться и веселиться. А в непогоду самое время сидеть дома и заниматься любимым делом - программировать. Я как раз думал над одной задачей. Давно хотел написать программу, которая, используя Win API, вызывает функции стороннего приложения. В качестве объекта для испытаний я решил выбрать клиента платежной системы WebMoney, поскольку никогда не испытывал избытка в денежных средствах. И не прогадал ;).

Полетели!

Первым делом я принялся изучать работу WebMoney Keeper'а, программы-клиента платежной системы, при помощи которой пользователи работают со своим электронным кошельком. И сразу же заметил два возможных метода кражи денег.

Уязвимое место №1

Первый способ добычи денег заключается в похищении файлов ключей. Напомню, что для работы с кошельком недостаточно знать его номер и пароль - необходимы специальные файлы, которые служат своего рода ключами. Соответственно, если похитить эти файлы, доступ к кошельку заметно упрощается. Но тут есть несколько проблем. Прежде всего, необходимо знать, где лежат эти файлы. Получить ответ на этот вопрос совсем несложно. Для этого программа-троян должна при помощи функций Win API зайти в настройки клиента, получить нужный хэндл поля ввода, где хранится путь к ключам, и считать оттуда информацию. Для этого я использую функцию wm_gettext, принимающую два параметра: количество читаемых байт и имя переменной, куда следует занести результат выполнения функции.

Вторая проблема, с которой я столкнулся, заключается в следующем. В клиенте существует опция, позволяющая любому юзеру увеличить объем файла с ключом до пары гигабайт, что полностью исключит возможность похищения ключей. Но и эта проблема решается очень просто: опять же, при помощи Win API можно программно выключить эту опцию и убрать тем самым нужную галочку, после чего ключи опять приобретут земные размеры. Для этого необходимо использовать сообщение bm_setcheck.

Содержание  Вперед на стр. 067-042-2
ttfb: 3.6559104919434 ms