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

出品|MS08067实验室(www.ms08067.com)

本文作者:大方子(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 timedout)的时候需要通过-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!



转载请联系作者并注明出处!

Ms08067安全实验室专注于网络安全知识的普及和培训。团队已出版《Web安全攻防:渗透测试实战指南》,《内网安全攻防:渗透测试实战指南》,《Python安全攻防:渗透测试实战指南》,《Java代码安全审计(入门篇)》等书籍。
团队公众号定期分享关于CTF靶场、内网渗透、APT方面技术干货,从零开始、以实战落地为主,致力于做一个实用的干货分享型公众号。
官方网站:https://www.ms08067.com/

扫描下方二维码加入实验室VIP社区
加入后邀请加入内部VIP群,内部微信群永久有效!

原文地址:https://www.cnblogs.com/ms08067/p/14462297.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐


本篇内容主要讲解“sqlalchemy的常用数据类型怎么使用”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“sqlalche...
今天小编给大家分享一下sqlServer实现分页查询的方式有哪些的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家
这篇文章主要介绍“sqlmap之osshell怎么使用”,在日常操作中,相信很多人在sqlmap之osshell怎么使用问题上存在疑惑,小编查阅了各式资料,整理出
本篇内容介绍了“SQL注入的知识点有哪些”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧...
1. mssql权限sa权限:数据库操作,文件管理,命令执行,注册表读取等system。是mssql的最高权限db权限:文件管理,数据库操作等 users-administratorspublic权限:数据库操作 guest-users2、sql server注入执行命令查
sql执行计划如何查看?在SPL庞大的数据中我们不知道如何查看实际数据库中发生了什么事情,有必要定期进行查询优化和索引否则会影响我们后期的SQL的查询速度。那么针对这样的问题我们必须要知道SQL执行的计划,在本文中winwin7小编给大家分享下SQL执
SQL Server 是Microsoft 公司推出的关系型数据库管理系统。具有使用方便可伸缩性好与相关软件集成程度高等优点应用非常广泛。不过在使用中,我们会遇到非常多的错误,面对这么庞大的数据库环境,当然会有精确的错误代码的对照季,下面小编分享的
SQL Server本地账户无法登陆出现错误提示:error:40-Could not open a connenction to SQL Server的问题很常见,对于初学者来说可能不知道如何解决,一起来看看下面的解决方案。解决步骤如下:1、这种情况需要开启 SQL Server service
微软推出的SQL2008是一款非常好用的数据库软件,它稳定、功能强大,为众多企业提供了最佳的数据库解决方案,那么我们如何在Windows中安装它呢,一些朋友对SQL Server 2008的安装过程还不是很熟悉,下面就一起来看看SQL Server 2008详细安装图解...
本页概要如果您使用的是 SQL Server 2005备份和还原Sp_detach_db 和 Sp_attach_db 存储过程关于排序规则的说明导入和导出数据(在 SQL Server 数据库之间复
DBCC CHECKIDENT 检查指定表的当前标识值,如有必要,还对标识值进行更正。 语法 DBCC CHECKIDENT ( 'table_name' [ , { NORESEED
这里对 SQL Server 字符串函数进行分门别类地列出,便于查阅和记忆,相信大家都在其它方面有高深的编程基础,从字面上来说大家都知道这些函数的意义,就不对这些函数作过多的解释了,主要谈些经验,具体
查询及删除重复记录的方法 1、查找表(people)中多余的重复记录,重复记录是根据单个字段(peopleId)来判断select*frompeoplewherepeopleIdin(selectpe
微软发SQL Server 2008第二个CTP预览版from: http://news.csdn.net/n/20070807/107158.html8月7日消息,微软公司本周发布了SQL Serv
症状当您将数据库备份恢复到另一台服务器时,可能会遇到孤立用户的问题。SQL Server 联机丛书中的孤立用户疑难解答主题中没有讲述解决此问题的具体步骤。本文介绍了如何解决孤立用户问题。更多信息虽然术
当登录SQL Server 2005时可能碰到错误: 'No Process is on the Other End of the Pipe'。解决方法:(1)Open up SQL
概要本文描述如何映射标准登录和集成登录来解决在运行 SQL Server 的服务器之间移动数据库时的权限问题。更多信息当您将数据库从一个运行 SQL Server 的服务器移到另一个运行 SQL Se
----------------------------------------问题:该用户与可信的SQL SERVER 连接无关联使用sa用户或自建用户使用“SQL SERVER 身份认证”连接数据
更新日期: 2007 年 5 月 20 日 使用下表可以确定各种版本的 Microsoft SQL Server 2005 支持哪些功能。有关 SQL Server 2005 Enterprise E
当从Excel导入数据到Sql Sever中,可能会出现以下问题:
对于指定的缓冲区大小而言,源列的数据太大