System: FreeBSD 7-8 Exploit & Patch

Локальный эксплоит поднимает права от обычного юзера до root:
http://seclists.org/fulldisclosure/2009/Nov/371

Запускает сплоит от юзера, получаем рута.

Патчим это дело:
cd /usr/src/libexec/rtld-elf
cp rtld.c rtld.c.bak
ee rtld.c

Находите кусок
if (!trust) {
unsetenv(LD_ «PRELOAD»);
unsetenv(LD_ «LIBMAP»);
unsetenv(LD_ «LIBRARY_PATH»);
unsetenv(LD_ «LIBMAP_DISABLE»);
unsetenv(LD_ «DEBUG»);

и меняете его на

if (!trust) {
if (unsetenv(LD_ «PRELOAD») || unsetenv(LD_ «LIBMAP») ||
unsetenv(LD_ «LIBRARY_PATH») || unsetenv(LD_ «LIBMAP_DISABLE») ||
unsetenv(LD_ «DEBUG») || unsetenv(LD_ «ELF_HINTS_PATH»)) {
_rtld_error(«environment corrupt; aborting»);
die();
}
}

Далее пишете make && make install, теперь можете снова проверить сплоит, он уже не работает.

Реклама
  1. No trackbacks yet.

Добавить комментарий

Заполните поля или щелкните по значку, чтобы оставить свой комментарий:

Логотип WordPress.com

Для комментария используется ваша учётная запись WordPress.com. Выход / Изменить )

Фотография Twitter

Для комментария используется ваша учётная запись Twitter. Выход / Изменить )

Фотография Facebook

Для комментария используется ваша учётная запись Facebook. Выход / Изменить )

Google+ photo

Для комментария используется ваша учётная запись Google+. Выход / Изменить )

Connecting to %s

%d такие блоггеры, как: