【干货】记一次对某客户端的安全测试

admin 2022年1月6日03:58:07评论97 views字数 1900阅读6分20秒阅读模式

来源:https://xz.aliyun.com/t/10253

起因

  • 此次接到的项目是对某客户端进行安全测试。之前的工作内容除了偶尔测测 App 之外,大部分的测试目标还是以 B/S 架构的 Web 为主,这是第一次对 C/S 架构的客户端进行测试,所以也是两眼一抹黑,只能先按照测 Web 的常规思路来了。

常规思路

抓包

  • 首先查看目标客户端是否存在代理配置功能(大多数没有)

  • 可以看到只有个简单的登录功能,并无代理配置功能

Proxifier + BurpSuite

  • 查看 BurpSuite 中配置的代理地址及端口

  • 在 Proxifier 中添加代理服务器(ip、port 为 BurpSuite 中配置的代理地址及端口)

【干货】记一次对某客户端的安全测试

  • 配置好后,进行检查,测试与 BurpSuite 的连通性(BurpSuite 中有流量即为成功连通)

【干货】记一次对某客户端的安全测试

  • 在 Proxifier 中添加代理规则

【干货】记一次对某客户端的安全测试

  • BurpSuite 成功拦截到客户端的登录请求

【干货】记一次对某客户端的安全测试

数据包分析

  • 成功拦截到数据包之后,便打算对其进行分析,结果一看就绝望了,请求包跟响应包均被加密

【干货】记一次对某客户端的安全测试

【干货】记一次对某客户端的安全测试

尝试 Web 访问

  • 之前测 App 时遇到过手机端流量被加密但 PC 端未加密的情况,遂复制请求链接尝试 Web 访问,并未获取到有效信息

【干货】记一次对某客户端的安全测试

  • 由于该客户端内相关功能的请求参数均以 POST 方式传输,流量均被加密,所以暂时放弃,转变思路打算从服务器入手

柳暗花明

WebSphere

  • 对目标服务器进行端口扫描,发现开放的端口还挺多,9043、9060分别为 WebSphere 默认的管理控制台安全端口、管理控制台端口

【干货】记一次对某客户端的安全测试

  • 默认登录地址为 /ibm/console,此处用默认的用户标识 admin 成功登录

【干货】记一次对某客户端的安全测试

一波三折

更换 jsp 文件内容

  • 按理说成功进入 WebSphere 管理控制台,拿到 shell 只是顺理成章的事情,但是事情远没有我想象中的那么容易,首先使用之前打好的 war 包进行上传

【干货】记一次对某客户端的安全测试

  • 选择 war 包,填好上下文之后报错

关于这个报错,我上网搜索了好久最终汇总了几种原因以及解决方案,分别是重启 WebSphere、war 包中包含的文件内容格式有误、打 war 包时所用的 jdk 与目标 WebSphere 的 jdk 版本不一致、修改一些 WebSphere 的配置文件。

  • 将 war 包中的 jsp 文件内容修改为打印字符串(无害内容),重新打包后上传,依旧报错

更换 jdk 版本

  • 从前面抓取到的数据包中可知目标使用的 jdk 版本为 1.5.0_21,遂下载对应版本的 jdk 使用 jar 命令对无害 jsp 文件打 war 包后上传,依旧报错

Myeclipse 构造 war 文件

通过此前的多次尝试均未解决这个报错,于是卡在这个步骤上好久,最后通过查阅资料得知,WebSphere 6.x 版本默认支持的 Web 应用是2.3(web.xml 配置的 web-app_2_3.dtd),所以选择使用 Myeclipse 来生成 war 文件

  • Myeclipse 新建 web 项目

  • 将 jsp 文件放至 WebRoot 目录下

  • 导出项目为 war 文件

  • 生成的 war 文件目录结构如下

  • 选择生成的 war 文件并填写上下文进行上传

  • 步骤 1-4 无需操作,点击下一步

  • 步骤 5 点击完成后,记得选择保存到主配置

  • 安装完成后应用程序状态为已停止,点击启动即可成功启动

坑点

jsp 文件需使用 Godzilla 生成的 webshell,刚开始使用 Behinder v3.11生成的,虽然可以上传成功,但是会提示页面存在,无法获取密钥,猜测可能与目标 jdk 版本过低有关,具体原因不明。




【往期推荐】

【内网渗透】内网信息收集命令汇总

【内网渗透】域内信息收集命令汇总

【超详细 | Python】CS免杀-Shellcode Loader原理(python)

【超详细 | Python】CS免杀-分离+混淆免杀思路

【超详细 | 钟馗之眼】ZoomEye-python命令行的使用

【超详细 | 附EXP】Weblogic CVE-2021-2394 RCE漏洞复现

【超详细】CVE-2020-14882 | Weblogic未授权命令执行漏洞复现

【超详细 | 附PoC】CVE-2021-2109 | Weblogic Server远程代码执行漏洞复现

【漏洞分析 | 附EXP】CVE-2021-21985 VMware vCenter Server 远程代码执行漏洞

【CNVD-2021-30167 | 附PoC】用友NC BeanShell远程代码执行漏洞复现

【奇淫巧技】如何成为一个合格的“FOFA”工程师

【超详细】Microsoft Exchange 远程代码执行漏洞复现【CVE-2020-17144】

【超详细】Fastjson1.2.24反序列化漏洞复现

  记一次HW实战笔记 | 艰难的提权爬坑

走过路过的大佬们留个关注再走呗【干货】记一次对某客户端的安全测试

往期文章有彩蛋哦【干货】记一次对某客户端的安全测试

【干货】记一次对某客户端的安全测试

一如既往的学习,一如既往的整理,一如即往的分享。【干货】记一次对某客户端的安全测试

如侵权请私聊公众号删文

  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2022年1月6日03:58:07
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   【干货】记一次对某客户端的安全测试http://cn-sec.com/archives/556522.html

发表评论

匿名网友 填写信息