🔄 Losowy artykuł
Szlaki górskie Pociągiem dookoła Polski Podróże kulinarne Hotele-unikaty świata Parkingi przy lotniskach Łowiska Europy Campingi dla kamperów Imprezy — atrakcje w Polsce Poradnik pilota drona Wydarzenia i bilety Promocje bankowe Kamery na żywo Oferty Centrum Podróży Koliber Triper.pl Trip.FazaFM.com — plany podróży

NetBIOS

NetBIOS (ang. Network Basic Input/Output System) – interfejs programistyczny i protokół sieciowy opracowany w 1983 roku przez firmę Sytek na zlecenie IBM[1]. Zapewnia podstawowy interfejs łączenia aplikacji z innymi aplikacjami w innych komputerach znajdujących się w tej samej sieci lokalnej oraz umożliwia współdzielenie danych. NetBIOS działa w 5. warstwie (sesji) modelu OSI[2]. W sieciach TCP/IP działa jako NetBIOS over TCP/IP (NetBT)[1]. Jego częścią jest usługa nazw NetBIOS (ang. NetBIOS Name Service, w skrócie NBT-NS albo NBNS), dzięki której komputery w sieci lokalnej ustalają nawzajem swoje adresy IP na podstawie nazw, rozgłaszając zapytania do wszystkich maszyn w swoim segmencie sieci[1][3]. Systemy Windows sięgają po nią, gdy nazwy nie uda się ustalić przez DNS ani przez LLMNR[4].

NetBIOS over TCP/IP

NetBIOS definiuje dwa elementy: interfejs na poziomie sesji, czyli standardowe API, przez które aplikacje przekazują oprogramowaniu sieciowemu polecenia wejścia-wyjścia, oraz protokół zarządzania sesjami i transportu danych. Program korzystający z tego API działa z każdym oprogramowaniem protokołu, które obsługuje interfejs NetBIOS, np. z NetBEUI albo z NetBIOS over TCP/IP (NetBT). Działanie NetBT opisują dokumenty RFC 1001 i RFC 1002[1].

NetBT udostępnia trzy usługi, z których każda korzysta z osobnego portu[1][5]:

  • usługa nazw (rejestracja i rozwiązywanie nazw) – port 137 UDP,
  • usługa datagramów – port 138 UDP,
  • usługa sesji – port 139 TCP.

Usługa datagramów przesyła dane bezpołączeniowo, bez zachowania kolejności i bez gwarancji dostarczenia. Datagram może trafić do konkretnej nazwy albo zostać rozgłoszony (broadcast) do grupy nazw. Usługa sesji działa połączeniowo, zachowuje kolejność przesyłanych komunikatów i gwarantuje ich dostarczenie. Korzysta z połączeń TCP, które nawiązuje, podtrzymuje i zamyka[1].

Usługa nazw NetBIOS (NBT-NS)

Każdy zasób NetBIOS w sieci ma 16-bajtową nazwę NetBIOS, unikatową albo grupową. W systemach Windows usługi tworzą swoje nazwy z nazwy komputera, uzupełnionej spacjami do 15 znaków, a szesnasty znak określa rodzaj usługi. Usługa udostępniania plików i drukarek używa na przykład znaku o kodzie 0x20[6].

Uruchamiany komputer rejestruje swoje nazwy, rozgłaszając w sieci żądanie rejestracji albo kierując je do serwera nazw NetBIOS, takiego jak WINS. Jeżeli nazwa jest już zajęta, inny komputer albo serwer nazw odpowiada odmową. Gdy aplikacja chce połączyć się z innym komputerem, NetBT ustala jego adres IP, rozgłaszając zapytanie o nazwę w sieci lokalnej albo wysyłając je do serwera nazw[1]. Sposób rozwiązywania nazw zależy od typu węzła NetBIOS określonego w RFC 1001[6]:

  • B-node (ang. broadcast) – rejestruje i rozwiązuje nazwy przez rozgłaszanie zapytań,
  • P-node (ang. peer-peer) – pyta bezpośrednio serwer nazw i nie rozgłasza zapytań,
  • M-node (ang. mixed) – najpierw rozgłasza zapytanie, a gdy nie uzyska odpowiedzi, pyta serwer nazw,
  • H-node (ang. hybrid) – najpierw pyta serwer nazw, a gdy nie uzyska odpowiedzi, rozgłasza zapytanie.

Komputery z systemem Windows 2000 działały domyślnie jako B-node, a po skonfigurowaniu serwera WINS jako H-node[6].

Rozgłaszanie zapytań ma dwie wady. W dużych sieciach zwiększa obciążenie, a ponieważ routery zwykle nie przekazują rozgłoszeń, pozwala rozwiązywać wyłącznie nazwy komputerów w tej samej sieci lokalnej[6]. NetBT działa przy tym tylko w sieciach IPv4. W systemach Windows Vista i Windows Server 2008 Microsoft wprowadził obsługujący także IPv6 protokół LLMNR, który pełni podobną funkcję w sieci lokalnej. Rozwiązując nazwę jednoetykietową, Windows Vista odpytuje najpierw DNS, potem LLMNR, a jeżeli i to zawiedzie, a NetBT jest włączony, rozgłasza do trzech zapytań NetBIOS[4].

Bezpieczeństwo

Ponieważ zapytania NBT-NS trafiają do wszystkich komputerów w segmencie sieci, każdy z nich, w tym komputer napastnika, może na nie odpowiedzieć. Wykorzystuje to zatruwanie NBT-NS, sklasyfikowane w MITRE ATT&CK razem z zatruwaniem LLMNR jako podtechnika T1557.001. Napastnik odpowiada na zapytania wysyłane na port 137 UDP, podając się za poszukiwany komputer. Jeżeli ofiara łączy się z zasobem wymagającym uwierzytelnienia, przesyła mu nazwę użytkownika i skrót Net-NTLMv2 (zwany też NTLMv2), który można potem łamać offline albo przekazać dalej w ataku typu relay[7]. Przedrostka Net- używa się, aby odróżnić ten skrót, powstający przy uwierzytelnianiu w sieci, od przechowywanego lokalnie skrótu NTLM, z którym bywa mylony[7]. Do takich ataków służą m.in. narzędzia NBNSpoof, Metasploit i Responder. Jako przeciwdziałanie MITRE wskazuje wyłączenie NetBIOS, LLMNR i mDNS tam, gdzie nie są potrzebne, blokowanie ich ruchu oraz podpisywanie pakietów SMB, które zatrzymuje ataki typu relay[3].

Amerykańska CISA opisuje wyłączenie NetBIOS jako osobne przeciwdziałanie o identyfikatorze CM0052. Zaleca wyłączenie NetBIOS over TCP/IP na wszystkich urządzeniach w sieci, a jeśli nie jest to możliwe, ograniczenie ruchu NetBIOS do określonych adresów IP i blokowanie go na styku z internetem. Usługę wyłącza się w ustawieniach karty sieciowej. Zasady grupy tego nie umożliwiają, dlatego na wielu komputerach naraz robi się to skryptem PowerShell[5]. W sieciach z serwerem DHCP firmy Microsoft NetBIOS over TCP/IP można też wyłączyć centralnie opcją 001 (Microsoft Disable Netbios Option) o wartości 0x2, o ile komputery klienckie pobierają ustawienie NetBIOS z serwera DHCP[8].

Zobacz też

Przypisy

  1. ↑ a b c d e f g TCP/IP Application Interfaces. Microsoft Learn (archiwum dokumentacji Windows 2000 Server). [dostęp 2026-10-04]. (ang.).
  2. ↑ Brett Glass. Understanding NetBIOS. „BYTE”, s. 301-306, styczeń 1989. ISSN 0360-5280. [dostęp 2026-10-04]. (ang.). 
  3. ↑ a b Adversary-in-the-Middle: Name Resolution Poisoning and SMB Relay, Sub-technique T1557.001. MITRE ATT&CK. [dostęp 2026-10-04]. (ang.).
  4. ↑ a b The Cable Guy – November 2006: Link-Local Multicast Name Resolution. Microsoft Learn (archiwum TechNet), 2006-11. [dostęp 2026-10-04]. (ang.).
  5. ↑ a b Disable NetBIOS Service (CM0052). Cybersecurity and Infrastructure Security Agency, 2025-03-14. [dostęp 2026-10-04]. (ang.).
  6. ↑ a b c d NetBIOS Name Resolution. Microsoft Learn (archiwum dokumentacji Windows 2000 Server). [dostęp 2026-10-04]. (ang.).
  7. ↑ a b Marcello Salvati: Practical guide to NTLM Relaying in 2017. byt3bl33d3r, 2017-06-02. [dostęp 2026-10-04]. (ang.).
  8. ↑ How to disable NetBIOS over TCP/IP by using DHCP server options. Microsoft Learn, 2026-02-12. [dostęp 2026-10-04]. (ang.).
ℹ Źródło: artykuł „NetBIOS” w polskiej Wikipedii. Treść dostępna na licencji CC BY-SA 4.0; lista autorów w historii edycji. Wersja może się różnić od aktualnej na Wikipedii (kopia odświeżana okresowo).
💳 Revolut
Karta wielowalutowa do podróży — płacisz za granicą bez przewalutowań.
Odbierz kartę →
💰 ZEN.COM
Konta multiwalutowe i karty — płatności bez granic z poziomu aplikacji.
Sprawdź ZEN →
🌍 Wise
Przelewy za granicę po realnym kursie — bez ukrytych marż.
Wypróbuj Wise →
Linki polecające — obowiązują regulaminy usług.
FazaFM.com — radio i newsy Hrubek.pl — Hrubieszów blisko Ciebie Gorzkie Groszki — blog