HTB-Escape
- 信息收集
 - 立足
 - sql_svc -> Ryan
 - Ryan -> Administrator
 - 扩展
 - NTLM简单介绍
 

信息收集

 

 可以从中获取两个域名。
 
看看 rpc服务是否有可以收集的信息。
 
看看samba。
 
 rpc的Public共享文件有一个关于SQL Server的pdf。
 
阅读它!
 
从中能得到几个用户名Brandon、Ryan、Tom。还有一个可能的新用户的凭证:PublicUser:GuestUserCantWrite1。想通过crackmapexec来试试连接。
 
 用法是对的,但是不知道为什么用户名一直没有变化。
 
使用impacket-mssqlclient。
 
 使用help获取帮助。

 额,不能执行xp_cmdshell。

使用enable_xp_cmdshell开启也没有权限。
 
试试能不能在数据库里发现什么。获取数据库:SELECT name FROM master.dbo.sysdatabases;。
 
 似乎不能通过收集数据库的信息来。额,试试中继攻击。
 

 将哈希复制到文件夹并使用john或hashcat尝试破解(sql_svc开头那一段都是hash)。
 
使用凭证sql_svc:REGGIE1234ronnie登录samba收集信息。哈哈,啥都收集不到。还是看看winrm吧。
 
立足
使用evil-winrm登录。
 
开始漫长的信息收集之旅,还记得前面我们在pdf中发现的Ryan么?
 
可能我们会先搞定Ryan用户。
sql_svc -> Ryan
目标很明确,首先去看看MSSQL的相关信息。
 
 可能Ryan用户在登陆的时候发现密码输入错误决定重新输入,结果失误导致密码直接当成用户输入,被日志记录下来。
 
 试一试吧。
 
 
Ryan -> Administrator
弄了半天没发现什么新的收获,可以跟着这个checklist走一遍看看。额,大致走了一遍回来发现啥都没有发现。
 
可能提权的方向要向AD靠拢。在一段尝试之后,发现证书可能存在易损版本。
 

Certify.exe request /ca:dc.theshire.local-DC-CA /template:VulnTemplate /altname:localadmin
 

 修改对应部分的值:
 
C:\Users\Ryan.Cooper\Documents\Certify.exe request /ca:dc.theshire.local-DC-CA /template:VulnTemplate /altname:localadmin
 
看起来遇见了问题。
 
 更换了一个Cerity后正常。
 

 将cert.pem的内容复制下来到攻击机上,然后在攻击机上执行下面的命令。
openssl pkcs12 -in cert.pem -keyex -CSP "Microsoft Enhanced Cryptographic Provider v1.0" -export -out cert.pfx
 
密码我设置为空。
 
上传pfx文件。
 
继续跟着走。
 因为密码是空,所以没有使用/password: 。

成功通过Administrator的身份认证后,发现似乎作用不怎么大。经过搜索发现可以通过/getcredentials获取管理员的NTLM。
 
 
扩展
NTLM简单介绍
首先在Microsoft官网文档可以看到NTLM。先把注意力放在左边,NTLM的上一级是SSP,SSP的上一级是SSPI。
 
看看官文对SSPI的介绍。

SSP

又出来一个新的名词安全包

 看的有点迷糊,以我这个脑子只能理解个大概,对我而言太抽象了。简单来说SSPI定义一个接口,SSP来实现这个接口。SSP是一个dll文件,可以自己编写属于自己的SSP。
再来看看NTLM,官网的中文版文档翻译总是怪怪的。
 
 简单来说:
 NTLM是一种身份验证,它使用质询/响应(challenge/response)的验证机制。它的验证流程如下图所示:
 
 太好了,大致知道了NTLM的验证过程。那么前面是如何利用smb服务来对MSSQL进行中继攻击的?
首先需要知道几个名词。
 LLMNR(Link Local Multicast Name Resolution)链路本地多播名称解析,在网络中如果主机尝试对特定主机进行解析,但可能因为某些原因导致DNS不可用或者错误的输入了主机名时,主机会对当前网络中的其他主机使用LLMNR进行通信询问对方是否知道那个特定主机。

 

 NBT-NS(NetBIOS Name Service)则是通过 NetBIOS 名称识别本地网络上的系统,和LLMNR的识别
 方法不同而已。所以说这两是在Micrsoft系统对DNS查找失败时,会使用这两进行本地主机解析。
 xp_dirtree对指定目录的进行目录查询,可以用于网络路径。并且如你所见,它可以配合responder和impacket-smbserver来实现中继攻击。


















