摘要: 渗透测试 | HTB-Heist实战

文中所涉及的技术、思路和工具仅供以安全为目的的学习交流使用,任何人不得将其用于非法用途以及盈利等目的,否则后果自行承担!

—————— —————— —————

01 信息收集

本次实验的靶机ip为

10.10.10.149  

首先使用nmap进行端口扫描,粗略扫描开放了

80   135   445  

三个端口

nmap 10.10.10.149  

image.png

但是nmap工具如果不设置-p-参数,只会扫描部分低端口,使用全端口扫描命令,并识别端口运行的服务。发现目标开放了一个5985端口。

nmap -A -p- 10.10.10.149  

image.png

02 Get User

首先访问80端口,发现该端口运行中http服务,打开之后是一个登录框。用户名的格式为邮箱形式,尝试SQL注入没有结果。发现页面下方有24 x 7 support,联想到CTF中的自动触发XSS的bot。没有注册和忘记密码界面,似乎无法做更多尝试。使用DirBuster爆破web目录,发现了attachment,js,和css三个目录,不能识别是否是某个CMS,似乎无法使用现有的CMS漏洞获取webshell。

image.png

点击 Login as guest 发现有HazardSupport Admin的聊天记录,其中Hazard还将自己的Cisco路由器的配置信息发了出来。进入attachment目录查看配置文件,发现其中暴露了三个加密的密码。

image.png

使用kali自带的hash identify无法鉴别此密码,鉴于用户提到了这个配置文件是Cisco路由器的配置文件,猜测此密码为Cisco路由器的密码加密模式。Cisco路由器的密码分为两种,一种为Type 5是不可逆的,一种为Type 7是可逆的。后两个密码开头为02的是Type 7密码,可以登陆此网址进行在线解密。将两个密码进行解密后的结果为

$uperP@ssword   Q4)sJu\Y8qz*A3?d  

image.png

密码开头为<pre>不能识别此Latex公式:

1</pre>的就是Type 5密码,我是用kali自带的破解神器hashcat来进行解密,字典选择的是rockyou.list。经过查询hashcat中支持破解Cisco的加密密码。

image.png

使用如下命令破解改密码,因为我已经破解过所以可以直接查看

image.png

image.png

现在我们有两个用户名和三个密码,此时脑洞一下,之前向管理员请求帮助的用户名叫Hazard,我把它也列入所知的用户名列表中。

image.png

使用smbclient连接靶机的445端口的smb服务,需要登录凭证来登陆,一次尝试上面的账号密码组合验证使用Hazard + stealth1agent的组合可以成功登陆,使用如下命令登陆,有三个共享目录其中的IPC$目录可以进入。

image.png

使用impacket工具中的lookupsid.py可以在smb服务中列出windows所有的用户,使用如下命令

image.png

image.png

现在我们获得了更多的用户,接下来在5985端口中运行的服务中使用ruby语言写的脚本winrm_shell.rb获取shell,需要使用一组登录凭证,从以下的组合中进行尝试。经过尝试Chase+Q4)sJu\Y8qz*A3?d的组合可以成功登陆。

image.pngimage.png

winrm_shell.rb**(此版本有upload功能)脚本内容如下

image.png

image.png

image.png

使用如下命令登陆

ruby winrm_shell.rb  

image.png

成功登陆,获得user。

03 Get Root

接下来就是windows提权,在这个靶机中大多数查看版本的命令都不能执行,例如systeminfo等等会显示Access denied。用tasklist命令查看正在运行的进程也无法执行,不过还好我们这里的ruby_shell是一个powershell。powershell是基于.NET的命令shell,可以把cmd当作它的子集,也就是说可以使用如ps或Get-Process等命令列出进程,发现有很多firefox的进程在运行。仔细联想一下如果Support Admin使用了firefox从web端登陆回答了Hazard的问题,那么会不会在firefox内存中留下密码呢?

Get-Process  

image.png

这里需要使用procdump工具将跟firefox相关的进程dump出来。首先在靶机上是没有procdump工具的,我们需要利用power_shell的功能将本地的工具上传到靶机上。使用命令

image.png

image.png

上传完毕之后查看我们刚才使用Get-Process命令查看的进程列表,将firefox相关的进程dump出来,使用如下命令

image.png

上传完毕之后查看我们刚才使用Get-Process命令查看的进程列表,将firefox相关的进程dump出来,使用如下命令

image.png

如下图,现在我们已经将所有的关于firefox的进程dump了出来,下一步就是要从这些内存文件中找到Support Admin登录记录

image.png

分析内存文件的方法有很多,在这里我们使用strings工具将dmp文件中的可打印字符串输出。在输出文件中查找password关键字,获得Support Admin登陆凭证4dD!5}x/re8]FBuZ。然后使用登陆密码在5985端口登陆,成功登陆超级管理员账号,rooted

image.png

01 信息收集

本次实验的靶机ip为

10.10.10.149  

首先使用nmap进行端口扫描,粗略扫描开放了

80   135   445  

三个端口

nmap 10.10.10.149  

image.png

但是nmap工具如果不设置-p-参数,只会扫描部分低端口,使用全端口扫描命令,并识别端口运行的服务。发现目标开放了一个5985端口。

nmap -A -p- 10.10.10.149  

image.png

原文链接:https://www.freebuf.com/column/232292.html


上一篇:从防护角度看一句话木马的发展...
下一篇:​揭秘!为何扫个码,你微信号...