โปรโตคอลการออกอากาศ NetBIOS ผ่าน TCP/IP และ LLMNR ใช้ในเครือข่ายที่ทันสมัยที่สุดสำหรับความเข้ากันได้กับ Windows เวอร์ชันเก่าเท่านั้น โปรโตคอลทั้งสองมีความอ่อนไหวต่อการปลอมแปลงและการโจมตี MITM ใน Metasploit มีโมดูลสำเร็จรูปที่ช่วยให้คุณสามารถใช้ประโยชน์จากช่องโหว่ในโปรโตคอลการออกอากาศ NetBIOS และ LLMNR เพื่อสกัดกั้นข้อมูลประจำตัวของผู้ใช้ในเครือข่ายท้องถิ่น (รวมถึงแฮช NTLMv2) เพื่อปรับปรุงความปลอดภัยเครือข่ายของคุณ คุณต้องปิดใช้งานโปรโตคอลเหล่านี้ในเครือข่ายโดเมน มาดูวิธีปิดใช้งานโปรโตคอล LLMNR และ NetBIOS ใน Windows 10/Windows Server 2019 ด้วยตนเองหรือผ่านนโยบายกลุ่ม
สารบัญ:
- โปรโตคอลการแก้ไขชื่อหลายผู้รับแบบลิงก์ภายใน (LLMNR)
- NetBIOS บนโปรโตคอล TCP/IP
- การปิดใช้งาน LLMNR บน Windows โดยใช้ GPO
- ปิดใช้งาน NetBIOS ผ่าน TCP/IP บน Windows 10/Windows Server 2019
- จะปิดการใช้งาน NetBIOS ผ่าน TCP/IP ผ่าน Group Policy ได้อย่างไร
Link-Local Multicast Name Resolution (LLMNR) Protocol
LLMNR (UDP/5355, Link-Local Multicast Name Resolution) ใช้ใน Windows ทุกรุ่นตั้งแต่ Vista และอนุญาตให้ไคลเอนต์ IPv6 และ IPv4 แก้ไขชื่อของคอมพิวเตอร์ใกล้เคียงโดยไม่ต้องใช้เซิร์ฟเวอร์ DNS เนื่องจากคำขอออกอากาศในส่วนเครือข่าย L2 ในพื้นที่ โปรโตคอลนี้ถูกใช้โดยอัตโนมัติหากไม่มี DNS (ในกลุ่มงาน Windows โปรโตคอลนี้ใช้สำหรับการค้นหาเครือข่าย) ดังนั้นหากมีเซิร์ฟเวอร์ DNS ในโดเมน ก็ไม่จำเป็นต้องใช้โปรโตคอลนี้
NetBIOS ผ่านโปรโตคอล TCP/IP
NetBIOS ผ่าน TCP/IP หรือ NBT-NS (UDP/137,138; TCP/139) เป็นโปรโตคอลการออกอากาศซึ่งเป็นบรรพบุรุษของ LLMNR และใช้ในเครือข่ายท้องถิ่นเพื่อเผยแพร่และค้นหาทรัพยากร โดยค่าเริ่มต้น รองรับ NetBIOS ผ่าน TCP/IP สำหรับอินเทอร์เฟซเครือข่ายทั้งหมดใน Windows ทุกรุ่น
บน Windows คุณสามารถแสดงสถิติ NetBIOS และการเชื่อมต่อ TCP/IP ปัจจุบันผ่าน NBT ได้โดยใช้คำสั่ง nbtstat เพื่อให้ได้ชื่อคอมพิวเตอร์ตามที่อยู่ IP:
nbtstat -A 192.168.131.190
อย่างที่คุณเห็น nbtstat พบคอมพิวเตอร์ในเครือข่ายท้องถิ่นโดยใช้โปรโตคอล NetBIOS และส่งคืนชื่อเครื่องนั้น
คุณสามารถแสดงบันทึกทั้งหมดเกี่ยวกับคอมพิวเตอร์ข้างเคียงบนเครือข่ายท้องถิ่นเดียวกันในแคช NetBIOS:
nbtstat -c
NetBIOS และ LLMNR โปรโตคอลช่วยให้คอมพิวเตอร์ในเครือข่ายท้องถิ่นสามารถค้นหากันและกันได้หากเซิร์ฟเวอร์ DNS ไม่พร้อมใช้งาน บางทีอาจมีความจำเป็นในสภาพแวดล้อมเวิร์กกรุ๊ป แต่ในเครือข่ายโดเมน โปรโตคอลทั้งสองนี้สามารถปิดใช้งานได้
เคล็ดลับ . ก่อนการนำนโยบายเหล่านี้ไปใช้ในโดเมนเป็นจำนวนมาก เราขอแนะนำอย่างยิ่งให้ทดสอบคอมพิวเตอร์และเซิร์ฟเวอร์ที่ปิดใช้งาน NetBIOS และ LLMNR และหากโดยปกติไม่มีปัญหาในการปิดใช้งาน LLMNR การปิดใช้งาน NetBIOS อาจทำให้การทำงานของอุปกรณ์รุ่นเก่าเป็นอัมพาตการปิดใช้งาน LLMNR บน Windows โดยใช้ GPO
คุณสามารถปิดใช้งานโปรโตคอล LLMNR บนคอมพิวเตอร์ Windows ผ่านรีจิสทรีโดยใช้คำสั่ง 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 สามารถปิดใช้งานบนคอมพิวเตอร์และเซิร์ฟเวอร์โดยใช้นโยบายกลุ่ม วิธีดำเนินการ:
- เปิด
gpmc.msc
สร้าง GPO ใหม่ หรือแก้ไข GPO ที่มีอยู่ซึ่งใช้กับเวิร์กสเตชันและเซิร์ฟเวอร์ทั้งหมด - ไปที่ การกำหนดค่าคอมพิวเตอร์ -> เทมเพลตการดูแลระบบ -> เครือข่าย -> ไคลเอ็นต์ DNS ;
- เปิดใช้งาน ปิดการแก้ปัญหาชื่อมัลติคาสต์ นโยบายโดยเปลี่ยนค่าเป็น เปิดใช้งาน ;
- รอขณะอัปเดตการตั้งค่า GPO บนไคลเอ็นต์ หรืออัปเดตด้วยตนเองโดยใช้คำสั่ง:
gpupdate /force
การปิดใช้งาน NetBIOS ผ่าน TCP/IP บน Windows 10/Windows Server 2019
หมายเหตุ NetBIOS อาจใช้โดย Windows เวอร์ชันเก่า (2000, XP ฯลฯ) และอุปกรณ์ที่ไม่ใช่ Windows บางอย่าง ดังนั้นควรทดสอบในแต่ละสภาพแวดล้อมก่อนปิดใช้งานคุณสามารถปิดการใช้งาน NetBIOS บน Windows ได้ด้วยตนเองดังนี้:
- เปิดคุณสมบัติการเชื่อมต่อเครือข่าย
- เลือก TCP/IPv4 และเปิดคุณสมบัติ
- คลิก ขั้นสูง จากนั้นไปที่ ชนะ และเลือก ปิดใช้งาน NetBIOS ผ่าน TCP
- บันทึกการเปลี่ยนแปลง
หากคุณมีอะแดปเตอร์เครือข่าย (หรือ VLAN) หลายตัวในคอมพิวเตอร์ คุณจะต้องปิดใช้งาน NetBIOS ในคุณสมบัติของแต่ละรายการ
คุณสามารถตรวจสอบ NetBIOS ผ่านสถานะ TCP/IP สำหรับอะแดปเตอร์เครือข่ายได้จากพรอมต์คำสั่งของ Windows:
ipconfig /all |find "NetBIOS"
NetBIOS over Tcpip . . . . . : Disabled
คุณสามารถปิดใช้งาน NetBIOS สำหรับอะแดปเตอร์เครือข่ายเฉพาะผ่านทางรีจิสทรีได้เช่นกัน อะแดปเตอร์เครือข่ายแต่ละตัวมีรีจิสตรีคีย์แยกต่างหากภายใต้ HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\NetBT\Parameters\Interfaces มี TCPIP_GUID ของมัน
หากต้องการปิดใช้งาน NetBIOS สำหรับอะแดปเตอร์เฉพาะ ให้ไปที่คีย์ reg และเปลี่ยนค่าของ NetbiosOptions พารามิเตอร์เป็น 2 (ค่าเริ่มต้นคือ 0)
คุณสามารถปิดใช้งาน NetBIOS บนโดเมนไคลเอ็นต์ที่ได้รับที่อยู่ IP จากเซิร์ฟเวอร์ Windows DHCP โดยใช้ตัวเลือก DHCP พิเศษ
- เรียกใช้
dhcpmgmt.msc
คอนโซล เชื่อมต่อกับเซิร์ฟเวอร์ DHCP และเลือกการตั้งค่าโซนตัวเลือกขอบเขต (หรือเซิร์ฟเวอร์ – ตัวเลือกเซิร์ฟเวอร์); - ไปที่ ขั้นสูง และเลือก ตัวเลือก Microsoft Windows 2000 ใน คลาสผู้ขาย รายการแบบเลื่อนลง
- เปิดใช้งาน 001 Microsoft ปิดการใช้งานตัวเลือก Netbios และเปลี่ยนค่าเป็น 0x2
จะปิดการใช้งาน NetBIOS ผ่าน TCP/IP ผ่านนโยบายกลุ่มได้อย่างไร
ไม่มีตัวเลือก GPO แยกต่างหากที่อนุญาตให้ปิดใช้งาน NetBIOS ผ่าน TCP/IP สำหรับอะแดปเตอร์เครือข่ายทั้งหมดใน Group Policy Editor หรือเวอร์ชันล่าสุดของ Administrative Templates สำหรับ Windows 10/Windows Server 2019 ใช้สคริปต์การเข้าสู่ระบบ PowerShell ต่อไปนี้เพื่อปิดใช้งาน NetBIOS ทั้งหมด อะแดปเตอร์เครือข่าย:
$regkey = "HKLM:SYSTEM\CurrentControlSet\services\NetBT\Parameters\Interfaces"
Get-ChildItem $regkey |foreach { Set-ItemProperty -Path "$regkey\$($_.pschildname)" -Name NetbiosOptions -Value 2 -Verbose}
บันทึกรหัสนี้ไปที่ disableNetbios.ps1 คัดลอกไปยังไดเร็กทอรี GPO ของคุณและรันบนไคลเอนต์ผ่าน การกำหนดค่าคอมพิวเตอร์ -> นโยบาย -> การตั้งค่า Windows -> สคริปต์ -> การเริ่มต้น-> สคริปต์ PowerShell
หากนโยบายการดำเนินการ PowerShell ปัจจุบันของคุณบล็อกไม่ให้สคริปต์นี้ทำงานบนคอมพิวเตอร์ Windows คุณต้องลงนามในสคริปต์ PS1 หรือเรียกใช้ในโหมดบายพาสหมายเหตุ . เพื่อให้การเปลี่ยนแปลงนี้มีผล คุณต้องเปิด/ปิดอะแดปเตอร์เครือข่ายหรือรีสตาร์ทคอมพิวเตอร์
จากนั้นเปิดพรอมต์คำสั่งและเรียกใช้คำสั่งต่อไปนี้เพื่อตรวจสอบว่า NetBIOS ถูกปิดใช้งานสำหรับอะแดปเตอร์เครือข่ายของคุณ (ยกเว้นอินเทอร์เฟซทันเนล):
wmic nicconfig get caption,index,TcpipNetbiosOptions