Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> ระบบ >> Windows Server

วิธีปิดใช้งานโปรโตคอล NetBIOS และ LLMNR ใน Windows ผ่าน GPO

โปรโตคอลส่งออกแบบกระจายเสียง NetBIOS over TCP/IP และ LLMNR ถูกใช้ในเครือข่ายสมัยใหม่ส่วนใหญ่เพื่อความเข้ากันได้กับ Windows เวอร์ชันเก่าเท่านั้น ทั้งสองโปรโตคอล dễรับการโจมตี Spoofing และ MITM ใน Metasploit มีโมดูลสำเร็จรูปที่ช่วยให้คุณสามารถใช้ช่องโหว่ในโปรโตคอล NetBIOS และ LLMNR แบบกระจายเสียงเพื่อ攔截ข้อมูลประจำตัวผู้ใช้ในเครือข่ายท้องถิ่น (รวมถึง NTLMv2 Hashes) เพื่อปรับปรุงความปลอดภัยของเครือข่ายของคุณ คุณต้องปิดใช้งานโปรโตคอลเหล่านี้บนเครือข่ายโดเมน มาดูวิธีปิดใช้งานโปรโตคอล LLMNR และ NetBIOS ใน Windows 10/Windows Server 2019 แบบมืออาชีพหรือผ่าน Group Policies

โปรโตคอล Link-Local Multicast Name Resolution (LLMNR)

LLMNR (UDP/5355, Link-Local Multicast Name Resolution) ถูกใช้ใน Windows ทุกเวอร์ชันตั้งแต่ Vista และช่วยให้ไคลเอนต์ IPv6 และ IPv4 แก้ไขชื่อคอมพิวเตอร์ข้างเคียงได้โดยไม่ใช้ DNS Server เนื่องจากคำขอแบบกระจายเสียงในเซกเมนต์เครือข่าย L2 ท้องถิ่น โปรโตคอลนี้จะถูกใช้โดยอัตโนมัติหาก DNS ไม่พร้อมใช้งาน (ใน Windows Workgroups โปรโตคอลนี้ใช้สำหรับ Network Discovery) ดังนั้น หากมี DNS Servers ในโดเมน โปรโตคอลนี้จึงไม่จำเป็น

โปรโตคอล NetBIOS Over TCP/IP

NetBIOS over TCP/IP หรือ NBT-NS (UDP/137,138;TCP/139) เป็นโปรโตคอลกระจายเสียงซึ่งเป็นผู้นำของ LLMNR และใช้ในเครือข่ายท้องถิ่นเพื่อเผยแพร่และค้นหาทรัพยากร โดยค่าเริ่มต้น การรองรับ NetBIOS over TCP/IP เปิดใช้งานสำหรับอินเทอร์เฟซเครือข่ายทั้งหมดใน Windows ทุกเวอร์ชัน

บน Windows คุณสามารถแสดงสถิติ NetBIOS และการเชื่อมต่อ TCP/IP ปัจจุบันผ่าน NBT โดยใช้คำสั่ง nbtstat เพื่อดึงชื่อคอมพิวเตอร์จากที่อยู่ IP:

nbtstat -A 192.168.131.190

คุณสามารถแสดงระเบียนทั้งหมดเกี่ยวกับคอมพิวเตอร์ข้างเคียงในเครือข่ายท้องถิ่นเดียวกันในแคช NetBIOS:

nbtstat -c

NetBIOS และ LLMNR โปรโตคอลช่วยให้คอมพิวเตอร์ในเครือข่ายท้องถิ่นค้นหากันได้หาก DNS Server ไม่พร้อมใช้งาน อาจจำเป็นในสภาพแวดล้อม Workgroup แต่ในเครือข่ายโดเมน โปรโตคอลทั้งสองนี้สามารถปิดใช้งานได้

💡 เคล็ดลับ: ก่อนนำไปใช้งานนโยบายเหล่านี้ในโดเมนอย่างกว้างขวาง เราขอแนะนำให้ทดสอบคอมพิวเตอร์และเซิร์ฟเวอร์ที่ปิดใช้งาน NetBIOS และ LLMNR ก่อน และหากปกติแล้วไม่มีปัญหากับการปิดใช้งาน LLMNR การปิดใช้งาน NetBIOS อาจทำให้อุปกรณ์เก่าๆ หยุดทำงาน

การปิดใช้งาน LLMNR บน Windows ผ่าน GPO

คุณสามารถปิดใช้งานโปรโตคอล LLMNR บนคอมพิวเตอร์ Windows ท้องถิ่นผ่าน Registry โดยใช้คำสั่ง PowerShell ต่อไปนี้:

New-Item "HKLM:\SOFTWARE\Policies\Microsoft\Windows NT" -Name DNSClient -Force
New-ItemProperty "HKLM:\SOFTWARE\Policies\Microsoft\Windows NT\DNSClient" -Name EnableMultiCast -Value 0 -PropertyType DWORD -Force

ในสภาพแวดล้อมโดเมน สามารถปิดใช้งานการกระจายเสียง LLMNR บนคอมพิวเตอร์และเซิร์ฟเวอร์โดยใช้ Group Policy:

  1. เปิด gpmc.msc สร้าง GPO ใหม่หรือแก้ไข GPO ที่มีอยู่ซึ่งนำไปใช้กับเวิร์กสเตชันและเซิร์ฟเวอร์ทั้งหมด;
  2. ไปที่ Computer Configuration -> Administrative Templates -> Network -> DNS Client;
  3. เปิดใช้งานนโยบาย Turn off multicast name resolution โดยเปลี่ยนค่าเป็น Enabled;
  4. รอจนกว่าการตั้งค่า GPO บนไคลเอนต์จะอัปเดต หรืออัปเดตด้วยตนเองโดยใช้คำสั่ง: gpupdate /force

หรือคุณสามารถใช้ GPP เพื่อปรับใช้พารามิเตอร์รีจิสทรี EnableMulticast = 0 บนคอมพิวเตอร์โดเมน (บนคีย์รีจิสทรี HKLM\SOFTWARE\Policies\Microsoft\Windows NT\DNSClient)

การปิดใช้งาน NetBIOS over TCP/IP บน Windows 10/Windows Server 2019
⚠ หมายเหตุ: NetBIOS อาจถูกใช้โดย Windows เวอร์ชันเก่า (2000, XP ฯลฯ) และอุปกรณ์บางชนิดที่ไม่ใช่ Windows ดังนั้นควรทดสอบในแต่ละสภาพแวดล้อมเฉพาะก่อนปิดใช้งาน

คุณสามารถปิดใช้งาน NetBIOS บน Windows ด้วยตนเองได้ดังนี้:

  1. เปิดคุณสมบัติการเชื่อมต่อเครือข่าย
  2. เลือก TCP/IPv4 และเปิดคุณสมบัติของมัน
  3. คลิก Advanced แล้วไปที่แท็บ WINS และเลือก Disable NetBIOS over TCP
  4. บันทึกการเปลี่ยนแปลง

หากคุณมีแอดอัปเตอร์เครือข่ายหลายตัว (หรือ VLANs) บนคอมพิวเตอร์ คุณจะต้องปิดใช้งาน NetBIOS ในคุณสมบัติของแต่ละตัว

คุณสามารถตรวจสอบสถานะ NetBIOS over TCP/IP สำหรับแอดอัปเตอร์เครือข่ายจาก Command Prompt ของ Windows:

ipconfig /all | find "NetBIOS"
NetBIOS over Tcpip . . . . . : Disabled

คุณสามารถปิดใช้งาน NetBIOS สำหรับแอดอัปเตอร์เครือข่ายเฉพาะผ่าน Registry ได้เช่นกัน แต่ละแอดอัปเตอร์เครือข่ายมีคีย์รีจิสทรีแยกกันภายใต้ HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\NetBT\Parameters\Interfaces ที่มี TCPIP_GUID ของมัน

เพื่อปิดใช้งาน NetBIOS สำหรับแอดอัปเตอร์เฉพาะ ให้ไปที่คีย์รีจิสทรีของมันและเปลี่ยนค่าของพารามิเตอร์ NetbiosOptions เป็น 2 (ค่าเริ่มต้นคือ 0)

คุณสามารถปิดใช้งาน NetBIOS บนไคลเอนต์โดเมนที่รับที่อยู่ IP จากเซิร์ฟเวอร์ DHCP ของ Windows โดยใช้ DHCP Option เฉพาะ:

  1. รันคอนโซล dhcpmgmt.msc เชื่อมต่อกับเซิร์ฟเวอร์ DHCP และเลือก Scope Options (หรือ Server – Server Options);
  2. ไปที่แท็บ Advanced และเลือก Microsoft Windows 2000 Options ในรายการดรอปดาวน์ Vendor class;
  3. เปิดใช้งาน 001 Microsoft Disable Netbios Option และเปลี่ยนค่าเป็น 0x2.

วิธีปิดใช้งาน NetBIOS Over TCP/IP ผ่าน Group Policy

ไม่มีตัวเลือก GPO แยกต่างหากที่อนุญาตให้ปิดใช้งาน NetBIOS over TCP/IP สำหรับแอดอัปเตอร์เครือข่ายทั้งหมดใน Group Policy Editor หรือเวอร์ชันล่าสุดของ Administrative Templates สำหรับ Windows 10/Windows Server 2019 ใช้สคริปต์ PowerShell Logon Script ต่อไปนี้เพื่อปิดใช้งาน NetBIOS สำหรับแอดอัปเตอร์ทั้งหมดอย่างสมบูรณ์:

$regkey = "HKLM:SYSTEM\CurrentControlSet\services\NetBT\Parameters\Interfaces"
Get-ChildItem $regkey | ForEach-Object { Set-ItemProperty -Path "$regkey\$($_.PSChildName)" -Name NetbiosOptions -Value 2 -Verbose }

บันทึกโค้ดนี้ลงในไฟล์ disableNetbios.ps1 คัดลอกไปยังไดเรกทอรี GPO ของคุณ และรันบนไคลเอนต์ผ่าน Computer Configuration -> Policies -> Windows Settings -> Scripts -> Startup -> PowerShell Scripts

⚠ หมายเหตุ: หากนโยบายการรัน PowerShell Execution Policy ปัจจุบันบล็อกสคริปต์นี้ไม่ให้รันบนคอมพิวเตอร์ Windows คุณต้องลงนามสคริปต์ PS1 หรือรันในโหมด Bypass

สำหรับการเปลี่ยนแปลงนี้ให้มีผล คุณต้องเปิด/ปิดแอดอัปเตอร์เครือข่ายหรือรีสตาร์ทคอมพิวเตอร์

จากนั้นเปิด Command Prompt และรันคำสั่งต่อไปนี้เพื่อตรวจสอบว่า NetBIOS ถูกปิดใช้งานสำหรับแอดอัปเตอร์เครือข่ายของคุณแล้ว (ยกเว้นอินเทอร์เฟซ Tunnel):

wmic nicconfig get caption,index,TcpipNetbiosOptions