0x01 前言在 HVV 实战中拿下的典型外网资产拆解从登录框突破、Shiro 绕过 WAF 到 OA 后台 getshell 的完整链路。从默认口令爆破、前端逻辑绕过等基础操作到 Shiro 重编译适配、OA 漏洞踩坑调试等进阶技巧全程还原真实攻防场景中的关键决策与避坑要点。无论是新手入门学习外网打点思路还是资深从业者补充实战经验都能从中获取启发。以下是实战案例的详细拆解干货满满欢迎各位师傅交流指正现在只对常读和星标的才展示大图推送建议大家把渗透安全HackTwo“设为星标”否则可能就看不到了啦末尾可领取挖洞资料/加圈子 #渗透安全HackTwo0x02 漏洞详情从最基础的登录框突破登录框作为hw出现场次最多的角色也是最容易出洞的下面介绍一些自己常用的测试方法登录爆破小技巧像这种系统的爆破我们有两种解决方法分析前端加密算法写脚本模拟对密码进行加密固定密码为123456 000000 使用常见的用户名作为字典进行爆破两种方法各有优劣我更倾向于第二种在比赛打点效率会更高分析加密算法更适用于红队检测项目使用爆破的账号密码登入后台便可以继续寻找后台上传点看到图片类型这里限制上传的文件格式直接添加aspx文件格式类型成功getshell修改返回数据包参数进入后台有些时候网站登录状态是根据前端判断的这时候我们就可以直接修改返回包进行绕过前端判断登录逻辑根据返回包的ret值决定当返回值为1则成功登录成功进入后台插件探测常见sql注入和log4j漏洞sql注入插件推荐https://github.com/smxiazi/xia_sql如需要二开版本可加入星球获取最新版基本原理是通过发送多个数据包根据返回数据长度判断是否存在注入除了被动扫描以外我们还可以通过手动添加单引号、双引号去查看返回包若存在类似报错则可能存在sql注入sqlmap一把梭log4j插件推荐https://github.com/TheKingOfDuck/burpFakeIP通过burp插件fuzz数据包的header头成功探测出登录框的log4j漏洞但要注意的的是很多dnslog平台已被防火墙标黑因此推荐使用ceye或者自搭建dnslog平台系统默认口令后台1day漏洞利用随着攻防比赛愈发频繁公网能直接利用的前台漏洞越来越少大多数都被批量扫描修复过了但我们可以利用系统的默认口令结合1day进行利用如若依存在默认口令admin/admin123进入后台就可以通过计划任务或反序列化执行命令很多时候我们碰到OA系统拿OA漏洞检测工具扫一下没漏洞就放弃了其实像这种OA系统还可能会存在默认口令的问题默认口令系统管理员system/system集团管理员(A8-v5集团版) group-admin/123456单位管理员(A8-V5企业版) admin1/admin123456审计管理员(所有版本) audit-admin/seeyon123456前台使用账号密码有时候不能登录可发送下面数据包获取cookiePOST /seeyon/rest/authentication/ucpcLogin HTTP/1.1 Host: User-Agent: Mozilla/5.0 (Windows NT 10.0; rv:78.0) Gecko/20100101 Firefox/78.0 Content-Length: 71 Content-Type: application/x-www-form-urlencoded Accept-Encoding: gzip UserAgentFromxxlogin_usernameaudit-adminlogin_passwordseeyon123456获取cookie之后就可以使用补丁较新的后台洞进行深入利用这次使用copyfile这个后台洞但实战后发现这个漏洞存在一些坑点写入webshell时候报错了POST /seeyon/ajax.do?methodajaxActionmanagerNameportalCssManagerrnd111 HTTP/1.1 Accept: */* Content-Type: application/x-www-form-urlencoded;charsetUTF-8 Content-Length: 70 Host: 192.168.91.17 Connection: Keep-Alive User-Agent: Apache-HttpClient/4.5.13 (Java/1.8.0_321) Accept-Encoding: gzip,deflate arguments%5B%22xxxxxx%22%5DmanagerMethodgenerateCssFileByCssStr本地开环境调试一下fuzz发现是双引号所导致可通过前面加\解决还有其他的问题总结如下写seeyon路径下会404可以换写到root目录下webshell的双引号需要前面加入反斜杠即“换成\复制的文件名不能与之前的相同否则会复制失败//后需要进行换行经过一首歌的时间最终成功getshell同样X微OA的默认账号密码有sysadmin/1sysadmin/Weaver2001等等差点擦肩而过的shiro漏洞被动扫描识别shiro指纹使用afrog、Wappalyzer等指纹识别器有时候无法直接识别shiro框架抓包使用hae插件被动扫描识别网站特征https://github.com/gh0stkey/HaEWAF拦截绕过使用工具检测到key但利用链爆破时候被拦截了访问网站发现被拦截了换个ip继续冲工具直接打不行准备改用burp手动发包但是问题又来了挂着burp网站直接无法访问了改用yakit能正常发包猜测可能是burp特征被识别了这时候想到最近看的github项目决定尝试一下https://github.com/sleeyax/burp-awesome-tls未使用插件前burp指纹特征被识别抓包被拦截使用插件后正常抓包最终通过 OPTIONS 请求方式 静态资源 uri 路径 缩短payload长度成功绕过WAF缩短payload长度可使用4raIn师傅的项目https://github.com/antiRookit/ShortPayload成功getshellYso重编译拿下某企业shiro系统某个目标资产搜集到一个shiro框架系统通过工具探测到存在默认密钥kPHbIxk5D2deZiIxcaaaA存在JRMP利用方式但JRMP执行失败可能原因Yso自带的CB链版本和目标环境CB链版本不一致用1.8.3重新进行编译使用新的yso成功执行命令另外防止其他队伍从目标得分还可以修改shiro默认keyJS源代码抽丝剥茧从单点到逐个击破fuzz未授权webpack接口右键源代码——查看检索js——在后面添加.mapcurl -O http://xx.xx.xx.xx/\*.js.map之后会下载一个js.map使用reverse-sourcemap进行还原npm install --global reverse-sourcemapreverse-sourcemap --output-dir 生成的目录 app.6804b239.js.map可寻找各种未授权的接口进行进一步的利用使用脚本提取路径提取后的结果可作为字典放到burp进行fuzzueditor编辑器漏洞捡漏查看源码发现使用了ueditor组件或者全局进行检索 ueditor发现ueditor路径构建表单上传 1.jpg?.aspxinvalidPattern.Replace处通过正则替换后成为 1.jpg.aspx后经过GetExtension()得到扩展名 aspx 最后返回处理后的木马路径亚马逊S3存储桶接管在js里翻找发现网站背景图片来源于s3存储桶地址访问该地址发现为NoSuchBucket表示可以接管亚马逊云注册相应的存储桶填入相应的名称和区域即可接管后再次访问会变为UnauthorizedAccess从任意文件读取到部署war包getshell框架识别根据返回的rememberme判断为shiro框架直接拿工具打一波发现找不到密钥正常正常毕竟现在公网的shiro经过多轮hw基本也绝迹了挖掘注释接口问题不大尝试从系统其他方面入手从js里全局搜索downloadupload这些字段可能存在任意文件上传或读取漏洞通常开发人员为了省事可能会直接把前端功能代码注释掉而不把相应后端接口删除这时候就会给我们留下可乘之机像这里我们通过检索download发现一个被注释的下载接口拼接路径尝试进行任意文件读取shiro权限绕过拼接路径后访问发现会重定向到首页这时候开始怀疑漏洞是否存在但转念一想可能是权限问题这时候想到shiro框架有个容易被忽略的点那就是权限绕过shiro权限绕过分析https://xz.aliyun.com/t/12643直接拼接会重定向到首页resources/js/xxxxxx/downloadFile?url/../../../../etc/passwd/..;/可绕过resources/js/xxxxxx/..;/../../downloadFile?url/../../../../etc/passwd通过/..;/成功读取主机文件能读取文件那肯定是不够的我们目标是getshell尝试读数据库密码但扫描端口发现未对外开放这时候查看扫描结果发现8080端口是开放的直接读取/conf/tomcat-users.xml文件获取tomcat的密码使用获取的账号密码登录部署war包成功getshell从旁站获取源码到任意文件上传提取网站特征查看网站特定js、开发厂商信息如技术支持XXXXXXX公司通过fofa、hunter测绘平台寻找旁站旁站备份文件扫描导出同cms站点列表扫描旁站备份文件云盘搜索泄露源码我只能说凌风云是个好东西代码审计获取源码后我们优先挖掘任意文件上传这类能getshell的漏洞查看web.xml搜索.SaveAsupload查找可利用的点像下面这个代码我们通过检索发现两处疑似上传的接口跟进PreviewImageUploadServlet.class定义保存文件的路径默认为/img/faces如果请求中包含名为path的参数则将保存路径设置为该参数的值创建一个MultipartRequestParser实例用于解析请求并将结果存储在PreviewImageInfo对象中PreviewImageInfo info (PreviewImageInfo)parser.parse(request, com.chinasofti.ordersys.servlets.common.PreviewImageInfo);跟进PreviewImageInfo.class没有进行过滤因此我们可以构建表单直接上传某访客系统从actuator到百万数据泄露查看burp历史记录发现系统会向后端请求/gateway接⼝拼接路径进行目录扫描发现⼀堆actuator端点使用最近新出的几个漏洞均没打成功heapdump泄露尝试从其他地方入手发现存在heapdump泄露使用工具查看泄露了些什么内容https://github.com/whwlsfb/JDumpSpide发现一些账号密码但都是在内网无法直接利用继续从中寻找机会把里面的接口和url拼接路径到Burp批量跑⼀下这时候发现一个可以的注册接口感觉有戏创建用户获取token凭证使用该接口创建用户但创建后的用户不能直接登录到系统但可以通过新增的账密获取token凭证可结合接口文档使用token凭证调用接口查询获取大量用户敏感数据从nacos任意用户注册到接管企业云HVV中最爱的nacos全身上下都是价值连城的宝贝关键是好找指纹特征HTTP Status 404 – Not Found 以及 8848端口直接访问404拼接nacos路径可以看到目标系统漏洞检测这些漏洞可以利用Nacos综合漏洞利用工具V7.8一键检测Tips:Nacos等工具可加入内部星球获取最新版nacos任意用户注册关键在于登入后台查看配置文件里的账密信息获取accesskeyid和accesskeysecrets后可使用工具接管云推荐工具https://github.com/teamssix/cf/releaseshttps://github.com/mrknow001/aliyun-accesskey-Tools/releases/tag/v1.3获取到云数据库的账密直接navicat连接0x03总结汇集多年 HVV 外网打点实战案例涵盖登录框突破、Shiro 绕过 WAF、OA 后台 getshell 等核心场景。从基础的默认口令爆破、前端逻辑绕过到进阶的漏洞调试与适配技巧全程还原真实攻防中的决策与避坑要点喜欢这类文章或挖掘SRC技巧文章师傅可以点赞转发支持一下谢谢