【HTB系列】靶机Querier的渗透测试

2019-09-25 15:34:12 浏览数 (1)

本文作者:是大方子(Ms08067实验室核心成员)

总结与反思: 1.收集信息要全面 2.用snmp-check检查snmp目标是否开启服务 3.smbmap尝试匿名用户anonymous来枚举目标的共享资源,可能会枚举成功 4.使用smbclient连接到smb进行命令操作 5.使用ole来分析宏 6.使用mssqlclient.py来连接MSSQL 7.mssqlclient.py开启Windows Authentication参数来,保证正常登录 8.使用mssqlclient.py开启cmd_shell 9.利用Responder窃取服务器的凭证 10.利用 | 、less 、 关键词 快速查找内容 11.使用hashcat破解NetNTLMv2密码 12.使用john破解NetNTLMv2密码 13.利用mssql来执行cmd命令 14.使用PowerShell攻击框架里的Invoke-PowerShellTcp.ps1脚本反弹shell 15.使用powershell远程下载反弹shell脚本执行 16.使用 rlwrap 来解决shell中输出不正常问题(删除,方向键是字符问题) 17.使用cmd远程下载提权信息收集脚本PowerUp.ps1 18.使用smbmap(TheNETBIOS connection with the remote host timed out)的时候需要通过-d添加域的名字 19.利用域内获取的账号密码尝试使用psexec进行命令执行

【前提smb服务开启,并且有权进行读写】 20. 利用GPP漏洞得到管理员密码

靶机信息

KALI地址:10.10.12.115 先用Nmap进行信息收集

扫描结果如下:

可以看到目标机器存在MSSQL,SMB服务 我们在检查下snmp服务是否存在

发现snmp服务不存在 那么我们现在根据nmap的结果来进行测试。 我们用smbmap来尝试枚举下目标的资源,发现访问被禁止

那么我们尝试下匿名的用户去访问,发现资源被枚举出来了

这里的Reports不是系统自带的,所以我们对Reports进行信息挖掘

那么我们用smbclient来访问Reports目录,并执行命令操作

发现目录里面有一个 excel文件,我们把他下载回来

“xls是2003版本下的文件,不管有没有宏程序的话都是xls文件。 2007做了区分,XLSM文件XLSX文件都是excel2007文件,但前者是含有宏启用,Excel中默认情况下不自动启用宏。

Excel不会执行宏XLSX文件,即使它们包含宏代码,因此含有宏的文件可以保存为xlsm文件”

这个“Currency Volume Report.xlsm”是存在宏的,这里我们用下OLE工具套件来分析office宏 用apt安装ole套件

然后我们用olevba去分析我们刚刚下载来的XLSM文件

我们可以发现里面的MSSQL连接字符串

然后我们使用mssqlclient.py进行登录,如果你没这个py脚本可以从下面的项目地址获得项目地址:https://github.com/sdfzy/impacket 把mssqlclient.py拷贝出来

然后进行登录,发现登录失败

我们需要开启Windows Authentication,才能正常登录

然后我们访问下cmd,发现被禁止

因为我们的权限不够,但是我们可以用Responder对服务器上的凭证进行窃取

关于Responder的原理和窃取可以看这个文章:

https://blog.csdn.net/nzjdsds/article/details/94314995

原理是,通过LLMNR/NBT-NS欺骗攻击,让MSSQL去访问我们伪造的服务,当MSSQL去执行时就会把它自己的凭证发给我们,我们通过破解它的凭证在返回去登录MSSQL,得到高权限

Responder地址:

https://github.com/sdfzy/Responder

我们开启Responder,-I填的是我们连接HTB的网络接口,可以通过ifconfig查

然后我们去MSSQL执行命令

之后我们的Responder就能窃取到凭证

我们把hash内容另存为Querier.NetNTLMv2

然后我们用hashcat去破解下 首先我们查下NetNTLMv2的模式代码是多少

进入后 / NetNTLM 进行搜索

可以看到NetNTLMv2模式代码为5600 然后我们就可以开始破解

也可以用john来破解NetNTLMv2密码

然后我们用获取到的凭证再次用mssqlclient.py登录

help下

开启cmd功能

我们来测试查看cmd是否真的开启

命令是正常执行的 我们使用nishang的反弹shell脚本 nishang项目地址:

https://github.com/sdfzy/nishang

然后我们编辑下reverse.ps1脚本在底下加上,IP写上你自己的IP,端口写上你nc监听的端口

然后还是老样子用python开启简单HTTP服务,让靶机把我们的reverse.ps1下载并执行

然后我们就得到一个shell,这里我是用了rlwrap来解决shell中(删除键,方向键等)输出不正常问题

然后我们就能得到user的flag

接下来就是开始提权 这里我们使用PowerSploit里面的提权信息收集脚本PowerUp.ps1 项目地址:

https://github.com/PowerShellMafia/PowerSploit 一样把脚本拷贝过来,并让靶机下载执行

这里可能需要等几分钟出结果

这里我们看到一个服务滥用

我们尝试利用下

发现john确实加进来了,我们利用smbmap利用下,这里需要增加-d参数写上域的名字

然后发现这个john的权限也不够

我们换一个提权方式

这里还有一组管理员的账号和密码我们再次进行尝试,成功!

提权成功,我们已经拿到system权限了,这里就不演示cat root flag了

这里还有一种是GPP漏洞的利用,原理跟上面是差不多的。

只是需要自己手动破解密码

GPP提权 我们可以通过找到组策略里面的管理员密码并破解出来

Groups.xml

我们仍然需要解密密码,这可以通过以下方式轻松完成gpp-decrypt:

这里看到这里的密码也是我们上面获取到的密码一样 MyUnclesAreMarioAndLuigi!!1!

0 人点赞