netcat-e: GAPING_SECURITY_HOLE

Опытный подобный в соответствии с Ubuntu 9.10, в то время как это работало в Ubuntu 9.04.

Имел libmagic1 и libmagic-dev установленный со следующим:

$ file --version
file-5.03
magic file from /etc/magic:/usr/share/misc/magic

/etc/magic имеет только пару комментариев (в 9,10 и 9.04)
/usr/share/misc/magic символьная ссылка на ../file/magic

Мне удалось решить проблему путем понижения файла и libmagic. Я установил эти версии от Бойкого:

  • libmagic1_4.26-2ubuntu3_amd64.deb
  • file_4.26-2ubuntu3_amd64.deb

Вещи, кажется, работают теперь, но я не знаю, вызовет ли это другие проблемы.

5
задан 19 February 2011 в 10:54
3 ответа

Я могу использовать "netcat-e" для запуска другого приложения, например, IMAP или pop3. разделите "#ifdef GAPING_SECURITY_HOLE", может содержать ошибку, которая позволяет Вам выполнять оболочку, которая является, почему это - ifdefed по умолчанию. ifdef переносящий критического по отношению к безопасности раздела.

1
ответ дан 3 December 2019 в 01:47

из объявления первоначальной версии:

Обязательный удар поставщика: Если бы "nc" стал стандартной утилитой несколько лет назад, то коммерческие поставщики, вероятно, упаковали бы его корень setuid и с -DGAPING_SECURITY_HOLE включенный, но не зарегистрированный. Надеются, что netcat поможет людям в нахождении и фиксации дыр легкой задачи этого вида, которые продолжают появляться путем разрешения более легкого экспериментирования с "чистым металлом" сетевого уровня.

Не то, чтобы это делает что-либо более ясным...

1
ответ дан 3 December 2019 в 01:47

Хотя у меня нет окончательного ответа, я считаю, что зияющая дыра в безопасности присутствует только в том случае, если в вашем nc включено -e и установлен корень setuid. (Так как nc часто используется для привязки к портам, он может быть упакован setuid root, чтобы позволить всем пользователям привязывать к привилегированным портам ниже 1024.)

В этой ситуации, nc -e выполнил бы -e данный процесс от имени root - что означает, что он позволил бы любому пользователю запустить любой процесс от имени root. Уверен, вы поймёте, что это зияющая дыра в безопасности. Напротив, если вы запустите свой собственный процесс и используете каналы для подключения его к nc, то этот процесс не будет запущен от имени root, если только у вас нет другого способа повысить его (например, доступ к sudo).

Как отметил grawity, netcat оригинальное объявление о выпуске жаловалось, что

коммерческие поставщики, скорее всего, упаковали бы setuid root [netcat] и с -DGAPING_SECURITY_HLE включили, но не задокументировали.

Это придает вес моей теории, я думаю. :)

.
2
ответ дан 3 December 2019 в 01:47

Теги

Похожие вопросы