Windows tries to access the IPC$ share before the provided one

I have a samba server where I have disabled access to the IPC$ share [1] for security reasons (users and shares enumeration, user info query, ...).

I can access the data shares on this server without problem from any Unix based computer with mount.cifs. However, when I try to access them from Windows computers (tested with Windows 7 and 10), I get an Access denied error just after providing my credentials.

After recording the SMB traffic, I noticed that Windows computers always do a Tree connect request on the IPC$ share before trying to access the share I provided (through map network drive or add network location). My samba server returns Access denied for the IPC$ share and Windows never tries to access the share I want.

So my question is how can I prevent Windows to do this useless request on IPC$ and just access the share I provided? Or at least how can I force Windows to access the real share after the IPC$ one returned Access denied?

Thank you in advance for your help and happy holidays!

Sponge bob

[1] https://www.samba.org/samba/docs/man/Samba-HOWTO-Collection/securing-samba.html#id2618877

2
задан 2 January 2017 в 01:03
1 ответ

Итак, мой вопрос в том, как я могу предотвратить выполнение Windows этого бесполезного запроса ...? Или, по крайней мере, как я могу заставить Windows получить доступ к реальному общему ресурсу после ..?

Ответ: вы не можете! Извините, но это так. Однако, хотя это верный ответ на ваш вопрос, я не хочу показаться бесполезным. Я действительно хочу помочь, поэтому надеюсь, что нижеследующее - лучший совет, который я могу дать, который окажется полезным для вас в вашей ситуации.

Я профессиональный тестер на проникновение и часто использую анонимный общий доступ (например, IPC $) для получать информацию о системах и взламывать их для законных целей тестирования. Ключевым моментом является предотвращение перечисления пользователей и общих ресурсов анонимным пользователем (кем-то без действительных учетных данных). После получения действительных учетных данных обычно есть другие способы перечисления пользователей (например, cat / etc / passwd), и в любом случае это становится менее приоритетным для злоумышленника.

Статья, на которую вы ссылаетесь, содержит следующее:

Если вы используйте этот метод, тогда клиентам будет предоставлен отказ в доступе отвечают, когда они пытаются получить доступ к общему ресурсу IPC $. Эти клиенты не будут иметь возможность просматривать общие ресурсы, а также может не иметь доступа к другим Ресурсы. Это не рекомендуется , кроме случаев, когда по какой-либо причине вы не можете используйте один из других методов, которые только что обсуждались.

Причина, по которой он не рекомендуется, заключается в том, что «Эти клиенты ... также могут быть не в состоянии получить доступ к некоторым другим ресурсам». Примером этого является невозможность Windows получить доступ к каким-либо общим ресурсам на машине. К сожалению, Windows требует доступа к IPC $ для просмотра других общих ресурсов.Если он не видит IPC $, он просто предполагает, что другие общие ресурсы недоступны, и отказывается.

Клиентская реализация Samba в Linux работает несколько иначе и, следовательно, не испытывает той же проблемы. Поскольку нет никакого способа обойти это, я бы просто удостоверился, что общий ресурс IPC $ не передает информацию анонимным пользователям.

Использование Host-based protection и User- Разделы отправленной вами статьи о защите на основе являются хорошими способами предотвращения нежелательного доступа ко всей Samba, включая общий ресурс IPC $ из ненадежных источников, и вполне могут дать вам все, что вам нужно.

Однако есть и другие советы. в указанных разделах этой страницы: https://www.samba.org/samba/docs/man/manpages-3/smb.conf.5.html

Разделы для просмотра:

«Перечисление общих ресурсов на основе доступа»

"просматриваемый" - установка на "нет" для всех общих ресурсов (кроме IPC $) должна препятствовать их отображению, но окна все равно должны иметь доступ к

"гость нормально" - проверьте, предотвращает ли установка значения "нет" для общего ресурса IPC $ Windows обращается к другим общим ресурсам

Если вы используете winbind, установите следующие параметры, чтобы предотвратить их перечисление:

winbind enum groups = no
winbind enum users = no
2
ответ дан 3 December 2019 в 11:30

Теги

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