目的
为了增强网络安全并减少潜在的攻击面,根据总部要求在Windows环境中通过组策略和PowerShell脚本禁用LLMNR、NBT-NS和mDNS。
方法概述
- 使用PowerShell脚本来禁用LLMNR、NBT-NS和mDNS。
- 通过组策略执行PowerShell脚本,并禁用WPAD。
详细操作方法
- 准备PowerShell脚本
创建一个PowerShell脚本(例如,LMS-Disable NBT-NS&mDNS.ps1),包含以下命令:
# 获取当前日期、计算机名和用户
$date = Get-Date -Format "yyyy-MM-dd"
$pcname = $env:computername
$user = $env:USERNAME
# 创建一个自定义对象数组来保存所有收集到的信息
$reportData = @()
# 禁用LLMNR
New-Item "HKLM:\SOFTWARE\Policies\Microsoft\Windows NT\DNSClient" -Force
New-ItemProperty "HKLM:\SOFTWARE\Policies\Microsoft\Windows NT\DNSClient" -Name EnableMultiCast -Value 0 -PropertyType DWORD -Force
# 禁用NBT-NS
$regkey = "HKLM:SYSTEM\CurrentControlSet\services\NetBT\Parameters\Interfaces"
Get-ChildItem $regkey | ForEach-Object { Set-ItemProperty -Path "$regkey\$($_.pschildname)" -Name NetbiosOptions -Value 2 -Verbose }
# 禁用mDNS
New-ItemProperty -Path "HKLM:\SYSTEM\CurrentControlSet\Services\Dnscache\Parameters" -Name EnableMDNS -Value 0 -PropertyType DWORD -Force
# 检查禁用结果
$LLMNR = (Get-ItemProperty "HKLM:\SOFTWARE\Policies\Microsoft\Windows NT\DNSClient" -Name "EnableMulticast" -ErrorAction SilentlyContinue).EnableMulticast
$NBTNS = (ipconfig /all | Select-String "NetBIOS") -ne $null
$mdnsEnabled = (Get-ItemProperty "HKLM:\SYSTEM\CurrentControlSet\Services\Dnscache\Parameters" -Name "EnableMDNS").EnableMDNS
# 创建一个自定义对象来保存所有收集到的信息
$reportItem = [PSCustomObject]@{
Date = $date
ComputerName = $pcname
CurrentUser = $user
LLMNR = $LLMNR
mdnsEnabled = $mdnsEnabled
NBTNS = $NBTNS
}
# 将报告数据追加到 CSV 文件(路径已屏蔽处理)
$csvFilePath = "路径已屏蔽"
$reportItem | Export-Csv -Path $csvFilePath -Encoding UTF8 -NoTypeInformation -Append
# 输出成功提示
Write-Host "Information collected and exported to $csvFilePath."
- 配置组策略以执行PowerShell脚本
- 打开“组策略管理编辑器”(gpedit.msc),新建组策略。

- 将先前准备的脚本添加到相应的策略设置中,确保:

- ps1文件复制到默认文件夹。
- 脚本添加在PowerShell脚本选项卡中。
- 禁用WPAD
- 在本地DNS中创建一个WPAD记录以禁用Web Proxy Auto-discovery Protocol (WPAD)。
注意事项
- 执行前,请确保已备份注册表和重要数据。
- 部分操作可能需要管理员权限。
- 禁用这些协议可能会影响网络发现和其他网络服务。在禁用之前,请在小范围测试。
请注意,上述脚本中的$csvFilePath变量的值已被屏蔽,以防止敏感信息泄露。在实际使用中,您需要提供具体的文件路径。此外,执行这些操作之前,请确保您有适当的权限,并且已经理解了这些更改对系统可能产生的影响。
本文介绍了如何通过PowerShell脚本和组策略在Windows环境中禁用LLMNR、NBT-NS和mDNS,以增强网络安全并减少潜在攻击面。操作包括创建脚本、配置组策略和禁用WPAD,同时提醒了注意事项和权限需求。
2209

被折叠的 条评论
为什么被折叠?



