记解决sharphound在windows server 2012上无法以.ps1脚本执行
记解决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版本太低导致不能执行命令
浙公网安备 33010602011771号