- What is SMB Port and Port Number? Which Protocol Uses Port 445 and Port 139?
- SMB Port 139 or 445
- Check If Port 137,138,139 and 445 Is Open
- SMB Over Netbios
- SMB Over IP
- SMB Security
- SMB1, SMB2, SMB3
- SMB Protocol Operating System Support
- What Ports Need To Be Open For Samba To Communicate With Other Windows/Linux Systems?
- Command To Find Out Required TCP/UDP Ports For SMB/CIFS Networking Protocol
- Sample iptables Rules for CentOS/RHEL 5.x and older
- Sample iptables Rules for CentOS/RHEL 6.x only
- Статья SMB протокол.
- Операционные системы Astra Linux
What is SMB Port and Port Number? Which Protocol Uses Port 445 and Port 139?
Server Message Blocks name shortcut SMB . SMB is a protocol used by Windows Operating systems. SMB provides a lot of windows operating system related services over the network. SMB mainly used for file sharing. In general SMB protocol is used for inter-process communication between the same host processes or remove host processes.
SMB Port 139 or 445
Newcomers to the Windows ecosystem generally confuses port numbers of SMB. SMB service is provided over two ports.
- TCP port 139 is SMB over NETBIOS. NETBIOS is a transport layer protocol designed to use in Windows operating systems over the network.
- TCP 445 is SMB over IP. This is a newer version where SMB can be consumed normally over the IP networks.
Check If Port 137,138,139 and 445 Is Open
If we want to check the ports 137,138,139 and 445 whether they are open we can use netstat command. This list open ports with TCP and UDP protocols.
As we can see from the example the TCP 445 is open and listening mode which means this system will accept connections to the 445 port.
SMB Over Netbios
Actually Netbios protocol works in TCP 139 and UDP 137 and UDP 138. So if we have a secure network that prevents access to the remote hosts we should add firewall allow TCP and UDP 137-139 rule. As an example, we should provide the NetBIOS hostname which is generally the same with DNS/DHCP provided hostname. In this example, we will connect the remote share named backup which is provided by the host.
here we should provide the hostname where NetBIOS can find and connect remote system.
SMB Over IP
SMB over IP is a newer implementation of SMB. We do not need extra intermediate protocols like Netbios in this implementation. We can use SMB directly. As an example, we can use IP addresses in order to use SMB like file sharing.
is sufficient to connect remote SMB share and port over the network.
SMB Security
As the Windows operating system and its protocols are the main targets for attackers we may need to create countermeasures for attacks. There are threads like below.
- NetBIOS worms which can swarm silently over the network.
- PsExec is a tool that is used to remotely manage windows systems.
- SMB Vulnerabilities provides a thread for the systems.
We can prevent these threads by preventing SMB port access between networks or server groups which is not needed.
SMB1, SMB2, SMB3
SMB protocol has 3 versions where SMBv3 is the latest. Where SMB1 is supporting Netbios, SMB2 and SMB3 is only supported over IP which is TCP 445
SMB Protocol Operating System Support
While SMB is created by IBM is mainly developed by Microsoft. SMB is an open protocol which means other platforms can implement SMB freely. Linux supports the SMB protocol too.
Источник
What Ports Need To Be Open For Samba To Communicate With Other Windows/Linux Systems?
- Port 389 (TCP) – for LDAP (Active Directory Mode)
- Port 445 (TCP) – NetBIOS was moved to 445 after 2000 and beyond, (CIFS)
- Port 901 (TCP) – for SWAT service (not related to client communication)
Command To Find Out Required TCP/UDP Ports For SMB/CIFS Networking Protocol
Type the following command:
$ grep -i NETBIOS /etc/services
Sample outputs:
Sample iptables Rules for CentOS/RHEL 5.x and older
To open Samba communication between 192.168.1.0/24 subnet representing the machines on your network which should operate as clients of the Samba server. Edit /etc/sysconfig/iptables under RHEL/CentOS server. Add the following lines, before the final LOG and ROP lines for the RH-Firewall-1-INPUT chain:
- No ads and tracking
- In-depth guides for developers and sysadmins at Opensourceflare✨
- Join my Patreon to support independent content creators and start reading latest guides:
- How to set up Redis sentinel cluster on Ubuntu or Debian Linux
- How To Set Up SSH Keys With YubiKey as two-factor authentication (U2F/FIDO2)
- How to set up Mariadb Galera cluster on Ubuntu or Debian Linux
- A podman tutorial for beginners – part I (run Linux containers without Docker and in daemonless mode)
- How to protect Linux against rogue USB devices using USBGuard
Join Patreon ➔
Feel free to change rules as per your setup. Save and close the file. Restart firewall service, enter:
# /sbin/services iptables restart
Sample iptables Rules for CentOS/RHEL 6.x only
Category | List of Unix and Linux commands |
---|---|
Documentation | help • mandb • man • pinfo |
Disk space analyzers | df • duf • ncdu • pydf |
File Management | cat • cp • less • mkdir • more • tree |
Firewall | Alpine Awall • CentOS 8 • OpenSUSE • RHEL 8 • Ubuntu 16.04 • Ubuntu 18.04 • Ubuntu 20.04 |
Linux Desktop Apps | Skype • Spotify • VLC 3 |
Modern utilities | bat • exa |
Network Utilities | NetHogs • dig • host • ip • nmap |
OpenVPN | CentOS 7 • CentOS 8 • Debian 10 • Debian 8/9 • Ubuntu 18.04 • Ubuntu 20.04 |
Package Manager | apk • apt |
Processes Management | bg • chroot • cron • disown • fg • glances • gtop • jobs • killall • kill • pidof • pstree • pwdx • time • vtop |
Searching | ag • grep • whereis • which |
Shell builtins | compgen • echo • printf |
Text processing | cut • rev |
User Information | groups • id • lastcomm • last • lid/libuser-lid • logname • members • users • whoami • who • w |
WireGuard VPN | Alpine • CentOS 8 • Debian 10 • Firewall • Ubuntu 20.04 |
Comments on this entry are closed.
Thx. very much, nice overview 🙂
Ports 137 and 138 are UDP for samba. Cheers,
Please explain why $ grep -i NETBIOS /etc/services shows:
netbios-ns 137/tcp # NETBIOS Name Service
netbios-ns 137/udp
netbios-dgm 138/tcp # NETBIOS Datagram Service
netbios-dgm 138/udp
netbios-ssn 139/tcp # NETBIOS session service
netbios-ssn 139/udp
I.e. does above mean that 137/udp etc is not used?
Brilliant, thank you.
I believe the only ports that are actually used are the ones listed at the top of the article:
netbios-ns – 137/tcp # NETBIOS Name Service
netbios-dgm – 138/tcp # NETBIOS Datagram Service
netbios-ssn – 139/tcp # NETBIOS session service
microsoft-ds – 445/tcp # if you are using Active Directory
The other ports are superfluous.
Sorry, I made a mistake. The required ports are actually:
TCP 139 445
UDP 137 138
yes, it’s tcp 139 and udp 137,138. for samba, 445 isn’t used.
root@mm1:/var/log/samba # netstat -an|egrep ‘\.(137|138|139)’
tcp4 0 0 *.139 *.* LISTEN
tcp6 0 0 *.139 *.* LISTEN
udp4 0 0 *.138 *.*
udp4 0 0 *.137 *.*
can you please update the article to match correct information?
-A INPUT -p udp -m state –state NEW -m udp –dport 137 -j ACCEPT
-A INPUT -p udp -m state –state NEW -m udp –dport 138 -j ACCEPT
-A INPUT -p tcp -m state –state NEW -m tcp –dport 139 -j ACCEPT
-A INPUT -p tcp -m state –state NEW -m tcp –dport 445 -j ACCEPT
TCP: 139, 445
UDP: 137, 138
Updated for centos/rhel 6.x and 7.x.
Would it be the firewall rules syntax apply for Fedora 23?
Yes, centos/rhel 7.x rules should work with Fedora 23 or above.
Источник
Статья SMB протокол.
Всем привет! В этой статье речь пойдет о таком протоколе как SMB.
В таком деле, как тестирование на проникновение значительную роль играют порты и протоколы, их знание и понимание значительно облегчат вам жизнь при решении какой либо задачи связанной с пентестом.
Принцип работы SMB.
Протокол SMB (Server Message Block) работает на прикладном и представительском уровне модели OSI. И используется для удаленного доступа к файлам, принтерам, Serial-портам, а так же к другим сетевым взаимодействиям между узлами в локальной сети.
Советую прочесть все это в развернутом виде т.к. я коснулся только основ.
Приступим к изучению SMB.
Необходимо узнать поддерживает ли сканируемый хост протокол SMB.
Обнаружение протокола SMB 2.0
> msf exploit (smb2)>set rhosts 192.168.0.XXX
> msf exploit (smb2)>set rport 445
> msf exploit (smb2)>exploit
После выполнения команды exploit видим информацию об открытом SMB протоколе.
Определение версии SMB.
Вводим последовательно следующее:
> msf exploit (smb_version)>set rhosts 192.168.0.ХХХ
> msf exploit (smb_version)>exploit
Получаем информацию о работающей версии SMB, на нашем хосте.
SMB Share Enumeration
Данный модуль определяет, куда обеспечивается общий доступ службой SMB и что доступно для чтения/записи. Он так же собирает информацию о типах доступа, файлах, каталогах, временных отметках и т.д. По умолчанию запрос делается для того, чтобы получить информацию об общем доступе, но если это не получится, то можно вернуться к работе с SRVSVC.
> msf exploit (smb_enumshares)>set rhosts 192.168.0.104
> msf exploit (smb_enumshares)>set smbuser Anon
> msf exploit (smb_enumshares)>set smbpass 3257395756
> msf exploit (smb_enumshares)>exploit
По результату видны названия моих дисков, директорию в которую установлена ОС, есть общий доступ к стандартным ресурсам. И работает специальный ресурс IPC$ (Inter Process Communication) который предназначен для создания именованных каналов, которые компьютеры в сети используют для обмена различной служебной информацией (кроме того, именованные каналы применяются для дистанционного управления сервером).
SMB User Enumeration (SAM EnumUsers)
Определяем, какие существуют локальные пользователи с помощью службы SAM RPC
> msf exploit (smb_enumusers)>set rhosts 192.168.0.ХХХ
> msf exploit (smb_enumusers)>set smbuser Anon
> msf exploit (smb_enumusers)>set smbpass 3288575983
> msf exploit (smb_enumusers)>exploit
Здесь видно, что он один.
SMB SID User Enumeration (LookupSid)
Этот модуль позволит определить какие пользователи существуют путем брутфорсинга SID lookups. Он перечисляет как локальные, так и учетные записи домена, установив ACTION в LOCAL и DOMAIN. (Тут речь идет о значениях реестра)
> msf exploit (smb_lookupsid)>set rhosts 192.168.0.104
> msf exploit (smb_lookupsid)>set smbuser Anon
> msf exploit (smb_lookupsid)>set smbpass 3838983983
> msf exploit (smb_lookupsid)>exploit
Этим способом вы можете найти даже тех пользователей, о существовании которых вы не знали.
Теперь, можно просканировать удаленный хост с помощью Nmap. Результат покажет, что порт, на котором работает SMB, открыт, он находится под номером 445. Используя его, мы собрали всю информацию.
> nmap -sV 192.168.0.104
Открытые порты 445 и 139 являются самыми атакуемыми, на них чаще всего обращаются зараженные машины.
Вывод: Понимание принципов работы портов позволит глубже понять уязвимую систему, принципы работы на ней приложений, даст информацию об иерархии пользователей и так далее. Сбор информации с порта, даст эксплуататору, особые привилегии для манипуляции системой. Таким образом, понимание, что такое порт и как можно его использовать, а так же, как найти информацию о нем на нашем удаленном хосте, существенно поможет нам улучшить навыки тестирования на проникновение, так как выше приведенная информация, является одной из основ.
Источник
Операционные системы Astra Linux
Оперативные обновления и методические указания
Операционные системы Astra Linux предназначены для применения в составе информационных (автоматизированных) систем в целях обработки и защиты 1) информации любой категории доступа 2) : общедоступной информации, а также информации, доступ к которой ограничен федеральными законами (информации ограниченного доступа).
1) от несанкционированного доступа;
2) в соответствии с Федеральным законом от 27.07.2006 № 149-ФЗ «Об информации, информационных технологиях и о защите информации» (статья 5, пункт 2).
Операционные системы Astra Linux Common Edition и Astra Linux Special Edition разработаны коллективом открытого акционерного общества «Научно-производственное объединение Русские базовые информационные технологии» и основаны на свободном программном обеспечении. С 17 декабря 2019 года правообладателем, разработчиком и производителем операционной системы специального назначения «Astra Linux Special Edition» является ООО «РусБИТех-Астра».
На web-сайтах https://astralinux.ru/ и https://wiki.astralinux.ru представлена подробная информация о разработанных операционных системах семейства Astra Linux, а также техническая документация для пользователей операционных систем и разработчиков программного обеспечения.
Мы будем признательны Вам за вопросы и предложения, которые позволят совершенствовать наши изделия в Ваших интересах и адаптировать их под решаемые Вами задачи!
Репозитория открытого доступа в сети Интернет для операционной системы Astra Linux Special Edition нет. Операционная система распространяется посредством DVD-дисков.
Информацию о сетевых репозиториях операционной системы Astra Linux Common Edition Вы можете получить в статье Подключение репозиториев с пакетами в ОС Astra Linux и установка пакетов.
В целях обеспечения соответствия сертифицированных операционных систем Astra Linux Special Edition требованиям, предъявляемым к безопасности информации, ООО «РусБИтех-Астра» осуществляет выпуск очередных и оперативных обновлений.
Очередные обновления (версии) предназначены для:
- реализации и совершенствования функциональных возможностей;
- поддержки современного оборудования;
- обеспечения соответствия актуальным требованиям безопасности информации;
- повышения удобства использования, управления компонентами и другие.
Оперативные обновления предназначены для оперативного устранения уязвимостей в экземплярах, находящихся в эксплуатации, и представляют собой бюллетень безопасности, который доступен в виде:
- инструкций и методических указаний по настройке и особенностям эксплуатации ОС, содержащих сведения о компенсирующих мерах или ограничениях по примене- нию ОС при эксплуатации;
- отдельных программных компонентов из состава ОС, в которые внесены изменения с целью устранения уязвимостей, инструкций по их установке и настройке, а также информации, содержащей сведения о контрольных суммах всех файлов оперативного обновления;
- обновлений безопасности, представляющих собой файл с совокупностью программных компонентов из состава ОС, в которые внесены изменения с целью устранения уязвимостей, а также информации, содержащей сведения о контрольных суммах всех файлов обновлений безопасности, указания по установке, настройке и особенностям эксплуатации ОС с установленными обновлениями безопасности.
Ввиду совершенствования нормативно-правовых документов в области защиты информации и в целях обеспечения соответствия информационных актуальным требованиям безопасности информации, а также обеспечения их долговременной эксплуатации, в том числе работоспособности на современных средствах вычислительной техники, рекомендуется на регулярной основе планировать проведение мероприятий по применению очередных и оперативных обновлений операционной системы.
Источник