出品|MS08067实验室(www.)
总结与反思: 靶机信息 KALI地址:10.10.12.115 扫描结果如下: 可以看到目标机器存在MSSQL,SMB服务 发现snmp服务不存在 那么我们尝试下匿名的用户去访问,发现资源被枚举出来了 这里的Reports不是系统自带的,所以我们对Reports进行信息挖掘 那么我们用smbclient来访问Reports目录,并执行命令操作 发现目录里面有一个 excel文件,我们把他下载回来 “xls是2003版本下的文件,不管有没有宏程序的话都是xls文件。 Excel不会执行宏XLSX文件,即使它们包含宏代码,因此含有宏的文件可以保存为xlsm文件” 这个“Currency Volume Report.xlsm”是存在宏的,这里我们用下OLE工具套件来分析office宏 然后我们用olevba去分析我们刚刚下载来的XLSM文件 我们可以发现里面的MSSQL连接字符串 然后我们使用mssqlclient.py进行登录,如果你没这个py脚本可以从下面的项目地址获得项目地址:https://github.com/sdfzy/impacket 进行登录,发现登录失败 我们需要开启Windows Authentication,才能正常登录 然后我们访问下cmd,发现被禁止 因为我们的权限不够,但是我们可以用Responder对服务器上的凭证进行窃取 关于Responder的原理和窃取可以看这个文章: 原理是,通过LLMNR/NBT-NS欺骗攻击,让MSSQL去访问我们伪造的服务,当MSSQL去执行时就会把它自己的凭证发给我们,我们通过破解它的凭证在返回去登录MSSQL,得到高权限 Responder地址: 我们开启Responder,-I填的是我们连接HTB的网络接口,可以通过ifconfig查 然后我们去MSSQL执行命令 之后我们的Responder就能窃取到凭证 我们把hash内容另存为Querier.NetNTLMv2 然后我们用hashcat去破解下 进入后 / + NetNTLM 进行搜索 可以看到NetNTLMv2模式代码为5600 也可以用john来破解NetNTLMv2密码 然后我们用获取到的凭证再次用mssqlclient.py登录 help下 开启cmd功能 来测试查看cmd是否真的开启 命令是正常执行的 然后我们编辑下reverse.ps1脚本在底下加上,IP写上你自己的IP,端口写上你nc监听的端口 然后还是老样子用python开启简单HTTP服务,让靶机把我们的reverse.ps1下载并执行 然后我们就得到一个shell,这里我是用了rlwrap来解决shell中(删除键,方向键等)输出不正常问题 然后我们就能得到user的flag 接下来就是开始提权 这里可能需要等几分钟出结果 这里我们看到一个服务滥用 我们尝试利用下 发现john确实加进来了,我们利用smbmap利用下,这里需要增加-d参数写上域的名字 然后发现这个john的权限也不够 我们换一个提权方式 这里还有一组管理员的账号和密码我们再次进行尝试,成功! 提权成功,我们已经拿到system权限了,这里就不演示cat root flag了 这里还有一种是GPP漏洞的利用,原理跟上面是差不多的。 GPP提权 Groups.xml 我们仍然需要解密密码,这可以通过以下方式轻松完成gpp-decrypt: 这里看到这里的密码也是我们上面获取到的密码一样 转载请联系作者并注明出处!
|
|
来自: python_lover > 《待分类》