妙用secedit命令:命令行下可绕过windows密码策略

妙用secedit命令:命令行下可绕过windows密码策略

很多人在windows渗透提权中,在拿到shell后,通常都会新建用户并提升为管理员开远程桌面连接。而远程桌面连接默认是不允许空密码连接的。但通常大多数云服务器都是默认设置了密码策略的,这就导致了我们无法为新建用户设置密码。

我以某云服务器为例,拿到shell后,在菜刀的虚拟终端中新建用户

提示:密码不满足密码策略的要求。检查最小密码长度、密码复杂性和密码历史的要求。

若账户为空密码,远程桌面连接则会出现

而要想禁用密码复杂度,通常是在本地策略组中修改。

而我在最近大量的渗透测试中发现。secedit命令可用来绕过windows密码策略。

secedit   这个命令可能大多数人没怎么用过。我也是偶然发现它的强大。


secedit

该命令是Windows NT 系列中的一个命令,它是组策略工具的命令行版本,通过跟一个组策略模板比较来配置分析系统组策略安全。组策略是建立Windows安全环境的重要手段,尤其是在Windows域环境下。一个出色的系统管理员,应该能熟练地掌握并应用组策略。在窗口界面下访问组策略用gpedit.msc,命令行下用secedit.exe。

参数

/configure 配置组策略
/analyze 分析组策略
/import 导入组策略
/export 导出组策略
/generaterollback 生成回滚和配置模板
/validate 验证配置文件中的语法
/db <database file name> 必须参数,指定包含要分析的存储文件的数据库,如果数据库为新数据,/cfg参数为必须。
/cfg <configuration file name> 指定安全模板的路径和名称,仅当/db参数时使用,如果不指定,则执行存储在数据中的数据。
/overwrite 是否覆盖
/log <log file name> 指定处理的日志文件名称和路径,如果不指定,则使用默认。
/quiet 是否静默模式
/areas 指定允许系统的安全区域,如果不指定,则默认所有取悦,每个区域使用空格分隔开。
/mergedpolicy 合并并导出域和本地安全策略。

secedit /export /cfg  1.inf
先导出组策略文件到当前目录下,命名为1.inf,分析该文件的内容。
将PasswordComplexity 修改为0重新导入即可关闭密码复杂度。
但该文件的内容较多,而且我们只需要修改这一项参数即可。所以没必要将所有内容全部导入。
在我研究之后发现可将内容缩减成几行,即必须的那部分。
[version]
signature=”$CHICAGO$”
[System Access]
PasswordComplexity = 0
而在命令行下可以用echo来写入到文件中。
echo [version] > 1.inf && echo signature=”$CHICAGO$” >> 1.inf && echo [System Access] >> 1.inf && echo PasswordComplexity = 0 >> 1.inf
再导入组策略文件
secedit /configure /db temp.sdb /cfg 1.inf
此时在当前目录下会生成两个文件,1.inf 和 temp.adb。temp.sdb  是   ( /db <database file name> 必须参数,指定包含要分析的存储文件的数据库,如果数据库为新数据,/cfg参数为必须。)   的中间文件。
所以将所有命令组合起来得到,并删除产生的文件
echo [version] > 1.inf && echo signature=”$CHICAGO$” >> 1.inf && echo [System Access] >> 1.inf && echo PasswordComplexity = 0 >> 1.inf && secedit /configure /db temp.sdb /cfg 1.inf && del 1.inf temp.sdb
这时我们便新建用户成功,并提升到了管理员权限。
现在用我们新建的管理员账户远程桌面连接这台云服务器成功!
总结:secedit命令非常强大,能更高效地进行渗透提权。
赞赏

微信赞赏支付宝赞赏

Zgao

愿有一日,安全圈的师傅们都能用上Zgao写的工具。

目前为止有一条评论

在阿里云服务器上批量抓鸡 – 静湖's blog 发布于11:11 下午 - 12月 28, 2019

[…] 通过phpmyadmin写入一句话木马getshell 妙用secedit命令:命令行下可绕过windows密码策略 […]