информационная безопасность без паники и всерьез подробно о проекте |
||||||||||||||||||||||
|
||||||||||||||||||||||
|
2 июня 1998, #27 Новость от 4 июня: crack'нутый da.ru. Неуспевшие заценить могут посмотреть сохраненную версию. Я опять вынужден начать этот обзор с клубной темы. Надеюсь им ее исчерпать - писать об этом надоело уже самому. С общедоступной клубной доской происходит неприятная вещь - половина прошедших тест обсуждает его и взлом доски, половина спрашивает, чего же дальше делать. При этом процесс как бы подменяет содержание. Ведь тест сам по себе не очень-то и ценен. Он сознательно сделан достаточно простым, чтобы его прохождение не требовало напряжения всех душевных сил, Он играет чисто прикладную роль - обеспечить некоторый минимальный уровень знаний у людей, желающих писать на клубной доске. Проходить его только ради самоутверждения - так себе удовольствие. Для желающих пройти дальше, получить логин с паролем и доступ в закрытую зону, готовятся более сложные задания. То задание, которое предлагается сейчас - лишь временная мера, то, что оказалось в тот момент под рукой. Приглашаю всех сомневающихся в истинности соотношения IE/NN на нашей главной странице посмотреть независимую статистику по сайту. Она оценивает заходы на несколько страниц за день, мои же счетчики обсчитывают только главную страницу и последний раз сбрасывались пару месяцев назад, так что возможны небольшие расхождения, но общая картина та же - существенный перевес IE. Схожие результаты дает и общая статистика Ranker'а, в которой фигурирует гораздо больше сайтов. IE:NS=57:43%. Пишу здесь, потому как надоели регулярные обвинения в подсуживании IE. Ну а личные пристрастия я никогда не скрывал. С точки зрения web-мастера мне гораздо симпатичнее программа, чье творческое переосмысление html-кода не мешает ей делать в точности то, что сказано. Программа, которая, к примеру, не бросается менять явно прописанные размеры фрейма на несколько пикселей в ту или иную сторону в зависимости от того, максимизировано ли ее окно или нет, от размера экрана, от размера окна и вообще от желания своей несуществующей левой ноги. Такие дела. Вам никогда не хотелось написать свой дебаггер ? Задачка, между прочим, сугубо практическая. Представим такую чисто гипотетическую ситуацию, когда вам в руки попала во всех отношениях приятная программка, обладающая одним ма-аленьким недостатком - ну не хочет она общаться с вами более 30 дней, а поиск по Astalavist'е не дает никакого результата. Программка достаточно умная, отслеживающая банальный перевод даты, причем записывающая критическую информацию в зашифрованном виде в реестр, Связываться с расшифровкой лень, после удаления информации программа просто отказывается работать, переустановка ничего не дает - видимо в многостраничном логе NTRegMon и NTFileMon была пропущена строчка, а переустанавливать все это хозяйство по нескольку раз тоже как-то ломает. (Кстати, NT Internals, где лежали эти очень полезные утилиты, переименовались в System Internals. Зайдя туда, нашел много нового - например, драйвер fat32 для NT, утилитку, представляющую собой текстовый шелл для NT, который можно загрузить с дискетки. Правда предлагается версия с ограниченными возможностями). Но вот неожиданно обнаруживается приятная вещь - код программы настолько прост, что искомый байт, который отделяет вас от счастливого момента работы, находится не то, что с помощью тяжелой артиллерии типа SoftIce или W32Dasm, но просто с помощью встроенного отладчика от Visual C. Радостно правим заветный байт в файле и запускаем... Приходит почему-то This program has performed.... Что за черт ? Может, байт не тот ? Проверяем - тот. Тут приходит понимание, что программа считает свою контрольную сумму, причем быстро выясняется, что она не просто проверяется, а фигурирует в вычислениях. Можно попробовать обойти и это, но обидно - в отладчике же все работает. Впору плюнуть и просто запускать программу из дебаггера. А почему бы и нет ? Берем справочник по Win32 API и обнаруживаем, что все необходимые функции там прямо таки на блюдечке. Далее алгоритм простой. Загружаем в suspended mode, правим нужный байт, и запускаем ее. И все ? Все! #include <windows.h> int WINAPI WinMain(HINSTANCE, HINSTANCE, LPSTR, int) { STARTUPINFO si; PROCESS_INFORMATION pi; ZeroMemory (&si, sizeof(si)); si.cb = sizeof(si); //Загружаем... CreateProcess(NULL, "XXX.exe", NULL, NULL, FALSE, DEBUG_PROCESS|CREATE_SUSPENDED, NULL, NULL, &si, &pi); BYTE n = 0xeb; DWORD nn; //Подправляем... WriteProcessMemory(pi.hProcess, LPVOID(0x408a7a), &n, 1, &nn); //Запускаем... ResumeThread(pi.hThread); DEBUG_EVENT de; while(1) { WaitForDebugEvent(&de, 0); if(de.dwDebugEventCode == EXIT_PROCESS_DEBUG_EVENT) { break; } ContinueDebugEvent(de.dwProcessId, de.dwThreadId,DBG_CONTINUE); } return 1; } Сердце "дебаггера" - цикл с вызовом WaitForDebugEvent. В нашем случае нас интересует только момент завершения приложения, но можно отслеживать и breakpoint'ы, всякие исключительные ситуации, запуск новых процессов, потоков и т.п. А ведь можно прицепиться и к уже запущенному процессу... В общем, есть где развернуться. Наводку на следующую новость получил в процессе написания обзора. Спасибо тезке, подкинувшему ссылку. Counterpane Systems, консалтинговая компания, специализирующаяся в компьютерной безопасности и криптографии (в одном из писем, обсуждавших эту новость, ее специалистов просто назвали "хакерами в костюмах и галстуках"), 1 июня опубликовала пресс-релиз с информацией о проведенном криптоанализе Microsoft'овской реализации протокола PPTP и о дырках, при этом найденных. Вкратце, о чем, собственно речь. PPTP расшифровывается как point-to-point tunneling protocol - средство организации виртуальных сетей путем безопасного соединения локальных сетей, скажем, через Internet. Грубо говоря, межсетевой трафик шифруется и упаковывается внутрь пакетов, пересылаемых открыто через Internet (причем внутренний протокол этих сетей - вовсе не обязательно tcp/tp, им может быть, например, ipx). Довольно удобная и теоретически безопасная система. Misrosoft очень гордилась, когда ее реализация впервые появилась в NT 4.0. В отчете подчеркивается, что найденные дырки относятся исключительно к реализации. Обнаружено пять серьезных недостатков реализации и куча более мелких. Специалисты отмечают, что подобные ошибки нельзя назвать иначе как любительскими, и что компетентная криптографическая экспертиза предотвратила бы выпуск продукта в этом виде.
Ну и напоследок - еще одно упражнение на сравнение. "По WWW - без следов" номер раз и номер два. Лично меня умилил копирайт в конце второй страницы. Оригинал, кстати, уже успел пополниться новыми сведениями. P.S. от 4 июня. События развивались очень быстро. Страница еще успела попасть на Доску Позора ЕЖЕй, после чего прожила менее суток.
|
анонимность
клоуны
конференции
спам
уязвимости
.net
acrobat
activex
adobe
android
apple
beta
bgp
bitcoin
blaster
borland
botnet
chrome
cisco
crypto
ctf
ddos
dmca
dnet
dns
dos
dropbox
eclipse
ecurrency
eeye
elcomsoft
excel
facebook
firefox
flash
freebsd
fsf
github
gnome
google
gpl
hp
https
ibm
icq
ie
intel
ios
iphone
java
javascript
l0pht
leak
linux
livejournal
mac
mcafee
meltdown
microsoft
mozilla
mysql
netware
nginx
novell
ny
open source
opera
oracle
os/2
outlook
password
patch
php
powerpoint
programming
pwn2own
quicktime
rc5
redhat
retro
rip
router
rsa
safari
sco
secunia
server
service pack
shopping
skype
smb
solaris
sony
spyware
sql injection
ssh
ssl
stuff
sun
symantec
torrents
unix
virus
vista
vmware
vpn
wikipedia
windows
word
xp
xss
yahoo
yandex
youtube
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
|
|
|