| |
Взлом банкоматов
Банковские автоматы и кредитные карточки уже давно появились на улицах больших
городов и постепенно начинают входить в нашу жизнь. Что есть банкомат с
точки зрения хакера? Правильно, источник халявы и быстрого способа заработать
немного карманных деньжат. Ведь если украсть десяток--другой долларов, кто
будет вас искать?
От банковских работников я слышал, что оправданными с финансовой точки зрения
будут поиски похитителя, умыкнувшего в свой карман по крайней мере 300 вечнозеленых.
Уменьшим эту цифру вдвое для безопасности и примем полученные полтораста
баксов в качестве того потолка, заходить за который не стоит даже в том
случае, если очень--очень хочется купить новый микропроцессор или материнскую
плату, а к ним быстрый модем впридачу.
Впрочем, с юридической точки зрения похищение даже одного доллара - кража.
Поэтому, прежде чем отправляться к ближайшему банкомату с кусачками и отверткой,
запаситесь на всякий случай парой адвокатов и захватите Шварценеггера на
тот случай, чтобы немножко попридержать службу безопасности банка, пока
вы будете сматывать удочки. Для того чтобы получить деньги, мало найти потерянную
карточку и вставить ее в прорезь автомата. Нужно ввести с клавиатуры определенный
код, на карточке не написанный и хранящийся у клиента в голове. Сама по
себе карточка без него бесполезный кусок пластика. К тому же ее бывший владелец,
как только обнаружит пропажу, немедленно позвонит в банк, и у карточки будет
выставлен знак изъятия. Другими словами, она исчезнет в недрах банкомата
и уже больше никогда не попадет к вам в руки. Следовательно, нужно не только
найти карточку, но еще и подсмотреть вводимый ее владельцем пароль и снять
со счета требуемую сумму еще до того, как тот обнаружит пропажу.
Впрочем, если мы уж сумели подсмотреть пароль, то и карточку воровать совершенно
необязательно. Достаточно ее считать. Что и сделали в свое время ребята
из Эстонии. История шумная и известная почти каждому кардеру. В дорогих
ресторанах официант, пока нес карточку клиента, успевал ее считать портативным
устройством размером с пачку от сигарет, изготовленным из обычной магнитофонной
головки, батарейки, усилителя сигналов и записывающего устройства. Ошибка
горячих эстонских парней заключалась в том, что они грабили часто и помногу.
Другими словами, в жадности. А вот в другой истории злоумышленникам повезло
больше. Как-то раз на малолюдной улице одного небольшого городка появился
новый банкомат. Естественно, нашлись такие, что пожелали им воспользоваться.
Опускают в него карточку, вводят нужный пароль. Ждут себе ждут, а банкомат
им отвечает: извините, мол, нету денег, или связи - в общем, выдает неподозрительное
объяснение невозможности выдачи денег. В банке долго понять не могли - как
совершается кража? Почему-то никому и в голову не могла придти мысль, что
этот банкомат-то липовый и установлен злоумышленниками специально для чтения
карт и запоминания паролей. Позже его демонтировали, но злоумышленников,
кажется, так и не нашли. За полтора года (а именно столько он умудрился
простоять) кардеры перекачали на свой счет немалую сумму. Однако же рядовой
хакер скорее найдет оброненную кем-то впопыхах тысячедолларовую купюру,
чем завалявшийся на свалке банкомат. Может быть, есть способ попроще?
Есть, но для этого потребуется умение держать паяльник в руках, чтобы смастерить
себе некий хардваринговый девайс, а также разбираться в сетевых протоколах
на канальном уровне. Идея проста до безобразия: поскольку банкомат в себе
не хранит никакой информации и всегда обращается за ответом в банк, то можно,
врезавшись в кабель между ним и банком, перехватить трафик и фальсифицировать
его нужным нам образом. Ни один банк не в состоянии гарантировать целостность
кабеля на всем его протяжении.
Разумеется, для анализа протокола обмена понадобится персональный компьютер,
а также программа для снятия дампа и представления его в удобочитаемом виде.
Можно, к примеру, воспользоваться компактной и маленькой утилитой pio и
навигатором управления bleak_l, заботливо написанным хакером KPNC для взлома
НТВ, но вполне подходящим и для этого случая.
Единственное, что придется спаять самостоятельно, так это контроллер для
подсоединения к банковскому кабелю. В Сети очень много различных схем и
энтузиастов, предлагающих за относительно небольшие деньги приобрести уже
готовые изделия. Так или иначе, но в дальнейшем будем считать, что такой
девайс у нас есть.
Наши последующие действия
- Врезаемся в линию между банкоматом и авторизационным центом (заметим,
что врезаться придется в разрыв кабеля, так чтобы вы в дальнейшем могли
не только перехватывать, но и блокировать любые проходящие пакеты). Разумеется,
что если мы хотя бы на мгновение прервем целостность кабеля, дело закончится
плачевно. Поэтому поищите в книжках электронные схемы мгновенной коммутации
"на ходу". Аналогичным образом мошенники нейтрализуют сложные
системы электронных сигнализаций. Не тех, что в магазинах, а на порядок
совершеннее.
- Наблюдаем за пересылкой пакетов, не предпринимая никаких действий. Только
наблюдаем, чтобы понять логику. На самом деле это "только" представляет
собой утомительный и кропотливый анализ протоколов и расшифровки всех полей
заголовков пакетов с той целью, чтобы в дальнейшем иметь возможность генерации
и отправки собственных пакетов, не опасаясь того, что они чем-то будут отличаться
от реальных.
- Теперь манипулируем легальной картой (это значит, что по крайней меру
одну карту вы должны будете все же завести) с тем, чтобы понять логику обмена.
В частности, найти и опознать передаваемые банкоматом запросы и возвращаемые
ему ответы.
- Сравним теперь это с просроченной картой, чтобы определить реакцию системы
в такой ситуации, а также найти и идентифицировать коды ошибок (они нам
потом понадобятся).
- Наконец, тяпнем по маленькой для храбрости и, оставив Шварценеггера на
шухере, начнем процесс. Засовываем нашу карту, на счету которой лежат оставшиеся
после экспериментов с банкоматом несколько долларов.
- Наблюдаем, как банкомат шлет запрос, включая номер нашего счета и все
остальное. Мы никак не вмешиваемся в этот процесс.
- Авторизационный центр должен вернуть ответ, в котором содержится много
полезной информации. А среди нее - максимально возможная сумма для снятия.
Вот тут мы перехватываем этот пакет и взамен него шлем другой. Чем он отличается
от оригинального, не стоит, наверное, даже говорить - и так всем ясно. Но
будьте внимательны! Эта сумма может присутствовать сразу в нескольких полях,
кроме того, необходимо скорректировать и поле контрольной суммы, иначе ничего
не получится! Это самый сложный момент во взломе.
- Впрочем, на этом этапе вы еще ничем не рискуете. Если ошибетесь, то просто
перехватите обратный ответ банкомата и не пропустите его. Ведь вы еще помните
коды ошибок, не так ли? А поэтому пробуйте, пока банкомат не "проглотит"
фальсифицированный пакет.
- Ну что же, теперь требуйте от банкомата столько денег, на сколько у вас
хватит совести. В это время банкомат передает банку, сколько денег было
снято. Взаправду. Эту информацию надо перехватить и послать ложный пакет,
что денег снято всего 1 доллар (или сколько у вас там осталось взаправду
на карточке). Будьте очень внимательны. Теперь фальсифицированный пакет
передается уже банку, и любое неверное действие будет необратимо зафиксировано
системой безопасности, и даже Шварценеггеру скоро покажется жарковато.
- Ну вот и все. Осталась маленькая проблема - как обеспечить сходимость
дебета и кредита. Ведь банкомат ведет логи и протоколы всех действий. Подумайте,
как можно обмануть систему.
- Наконец все! Вы отсоединяете свой ноутбук от кабеля, по возможности замаскировав
нелегальное подключение, и отправляетесь в ближайший компьютерный салон
за новым микропроцессором.
- Однако помните, что многие банкоматы сейчас снабжены контрольными телекамерами,
что не есть хорошо. Но к счастью, еще не все. И стальная крыса всегда найдет
для себя щель!
А вообще, чтобы ломать банкоматы, неплохо бы разобраться в их устройстве,
типовом протоколе обмена и программном обеспечении. То есть так или иначе
выбрать себе работу, связанную с их разработкой, созданием или по крайней
мере эксплуатацией. В этом случае вы получите действительно достоверную
информацию об их устройстве, а также слабых и сильных сторонах. А ведь уязвимость
у них действительно есть. Только она неочевидна для постороннего, не работавшего
с ними человека. Но как и любому человеческому творению, этому свойственны
недостатки не в меньшем числе. Однако будете ли вы заниматься мелким жульничеством,
находясь на высокооплачиваемой работе?
|