记解决sharphound在windows server 2012上无法以.ps1脚本命令执行
最近在学习内网渗透,上一节课中学习了内网分析工具bloodhound和sharphound,此文章记录了解决问题的过程
解决
sharphound有两种收集数据的方式
1.利用.ps1脚本收集
powershell -exec bypass -command "Import-Module ./SharpHound.ps1; Invoke-BloodHound -c all"
2利用.exe收集
sharphound.exe -c all
在输入第一种方式的指令后报错
同样的命令在windows server 2016上可以执行,起初猜测是powershell版本问题
windows server 2012
windows server 2016
尝试以.exe方式收集数据,输入命令后会弹窗
估计是要安装新版的.NETFramwork v4.6.2
我查看了自己的NETFramwork版本
那就安装新版本的netFramwork吧
填域管的账户密码才可以安装,真实情况下直接gg
安装成功后会重启PC,再使用sharphound.exe -c all
即可正常运行
在更新完NETFramework后,发现利用.ps1脚本的命令也可以正常运行
总结
此语句最开始执行不了并不是powershell版本问题,而是因为netFrame版本低了。我再次查询了windows server 2012和2016的netFrame的版本
2012
2016
什么是NETFramework?
微软官网对其的解释
破案了,简单理解就是netframework是一种写app的框架,而sharphound是netFramework写的,而我安装的windows server 2012自带的netFramework版本太低导致不能执行命令
标签:sharphound,server,windows,版本,ps1,2012 From: https://www.cnblogs.com/Rzsec/p/16946330.html