针对某C/S架构系统的渗透测试

admin 2021年1月16日16:00:50评论631 views字数 1719阅读5分43秒阅读模式
这是 酒仙桥六号部队 的第 147 篇文章
1


前言

    本文主要记录了某次金融类客户项目中遇到的一个C/S架构系统的渗透测试,多个漏洞组合最终导致的内网沦陷。

2


前期准备

  首先打开目标站点

针对某C/S架构系统的渗透测试


  默认页面无任何交互点,使用dirsearch进行简单扫描发现存在/config目录

针对某C/S架构系统的渗透测试


  访问后发现可直接列目录

针对某C/S架构系统的渗透测试


  换用更强大的目录字典之后,扫描出了一个配置界面config.jsp

针对某C/S架构系统的渗透测试


  通过网上搜索这个系统的相关手册得知系统默认用户名为:系统管理员 密码为:12345

  尝试登录发现默认密码已经修改,通过Burp挂载somd5top10w字典爆破无果

针对某C/S架构系统的渗透测试


  目前在Web端暂时没发现什么问题,把注意力回到他的Index页面上,页面下方写了需要运行ActiveX控件,将浏览器调整至兼容模式,安装控件后弹出了客户端安装界面

针对某C/S架构系统的渗透测试


  下载安装完成后,运行客户端以后发现系统默认已经显示了用户号和用户名称等信息

针对某C/S架构系统的渗透测试


  尝试了默认密码12345以及其他常见弱口令均无果,尝试修改用户号为admin发现系统会自动帮我删除掉,怀疑用户号只能为纯数字

针对某C/S架构系统的渗透测试


  这个时候有意的事情就来了,当我尝试输入123、12345等用户号的时候,系统依旧会自动帮我删除输入的内容,但是在输入01、02、9999等用户号的时候,下面会有信息显示

针对某C/S架构系统的渗透测试

针对某C/S架构系统的渗透测试

针对某C/S架构系统的渗透测试


  看到这个我的第一反应是想到了以前在学校期间研究过的X方教务管理系统,某些版本的X方系统是内置了数据库账号密码在程序里,程序直接与数据库交互的,想到这赶紧下载个Cain嗅探一下看看

针对某C/S架构系统的渗透测试

  然而很遗憾,Cain并没有嗅探到数据库信息,那么尝试安装Proxifier,将客户端的流量代理到Burp康康

针对某C/S架构系统的渗透测试

  配置好Proxifier,将流量全部转发出去,然后Burp查看抓到的包

针对某C/S架构系统的渗透测试

  从Burp抓到的包来看,SQL语句是加密传输的,但是翻了几个包以后,忽然发现有个XML的请求,直觉告诉我这里很有可能存在XXE

针对某C/S架构系统的渗透测试


3


SSRF

  尝试将上面Burp抓到的XML请求的包内容进行修改,指向自己的服务器

针对某C/S架构系统的渗透测试

  果然存在XXE,但是测试了命令执行,文件读取等,均无法实现,只能当作SSRF进行简单的内容探测



4

OD调试

   还是回到客户端上,客户端虽然加密传输了SQL语句,但是在程序运行的时候,内部肯定还是要解密成明文来校验的,那么可以尝试使用ollydbg来调试程序,从程序运行过程中读取到他解密后的内容

针对某C/S架构系统的渗透测试

针对某C/S架构系统的渗透测试

针对某C/S架构系统的渗透测试

  最终通过OD抓取到了系统管理员的密码,也成功登陆到了Web端的配置界面,在Web界面里可以看到使用的是SQLServer数据库,但是数据库是内网地址,密码可以通过F12直接查看到

针对某C/S架构系统的渗透测试


5

Quake搜索

    但是问题来了,数据库是内网,目前所拥有的洞并不足以链接到数据库,去反编译程序找加密算法又有点麻烦,回头看了眼Dirsearch的扫描结果,其中有login相关的接口,但是这个客户端明明只和servlet接口通讯,那么这套系统肯定还存在一个登陆接口,到Index页提取特征,使用Quake搜索互联网上的其他这台系统,还真找找不少

针对某C/S架构系统的渗透测试


  通过对互联网上其他这类系统的手工测试,果然发现存在一个login.jsp的登陆界面

针对某C/S架构系统的渗透测试


  在Web登陆界面中,输入用户编码0000,Web页面也会直接返回用户姓名

针对某C/S架构系统的渗透测试


  使用Burp抓包,将地址改为目标IP,发现目标果然只是删除了登录页,但是接口还在

针对某C/S架构系统的渗透测试


  直接在code字段打上标识,SQLMAP一把梭!

针对某C/S架构系统的渗透测试

  很舒服,SQLServer2008的数据库,DBA权限,堆叠查询,测试了下,目标只能DNS出网,CS配置DNS,直接上线!

针对某C/S架构系统的渗透测试


  内网简单的探测了下,因为客户没有授权,所以没有继续深入

针对某C/S架构系统的渗透测试


6

总结

  在这次渗透测试中,目标客户端虽然使用了加密传输,但是客户端本身未做反调试,可以通过Od直接附加进程。

  客户服务器虽然限制了正常的出网,但是未对DNS协议进行限制,导致了CS使用DNS协议直接上线。

  在Quake寻找互联网类似系统进行测试找SQL注入纯粹是因为我对逆向还不是很熟。

  如果是换成其他对逆向比较熟悉的师傅,完全可以做到逆向客户端找到加密算法,来实现SQL命令任意执行。



针对某C/S架构系统的渗透测试

针对某C/S架构系统的渗透测试


本文始发于微信公众号(酒仙桥六号部队):针对某C/S架构系统的渗透测试

  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2021年1月16日16:00:50
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   针对某C/S架构系统的渗透测试https://cn-sec.com/archives/243183.html

发表评论

匿名网友 填写信息