攻防演练之迂回技战法真实案例

在攻防演练面对一套系统无从下手时,应该怎么采用迂回打法的思路通过代码审计拿0day砸进去呢?且看该案例

目标

开局一个登录框,目标这个样子,记为A,通过常规测试没有突破,从html中提取一些关键字,通过测绘平台搜一下,看能不能打同类型站点获取源码,然后审计出漏洞点。

image.png

搜索结果,我一般挑选云厂商的机子打,因为在云上的机器一般有多个站点可以打且防护做的不到位。

2.png

突破

又对A同类型站点测试后依然没有突破,挑选其中一个ip信息收集后,发现开放的站点B,如图

image-20240812150025404

注入进入后台,可以直接上传webshell

image-20240812151138869

然后把使用A的源码打包下载,本地审计后,通过 登录绕过+文件上传 组合拳成功拿下A的同类型测试站

image-20240813002434255

image-20240812151858933

曲折

然后去打目标A的时候发现了不对劲,对应的接口没有成功

image-20240812152153158

回头重新看有什么细节不对

目标A登录包:

image-20240812152340096

测试站登陆包:

image-20240812152443030

在手上的源码里没有搜到 getPhoneByLoginName 这个接口,那就是目标A的版本与测试站的版本不同 ,白忙活 :(

重来

再次提取A的特征,重新通过测绘搜索同类型站点,这次就三个资产,再次信息收集,通过云主机ip的其他端口站点进行打点。

image-20240812153109806

成功进来,但是这个byd站点很多,根本找不到哪一个网站是目标源码,而且是低权限+360

image-20240812153338858

先提一下权

image-20240812153732110

然后列一下开启的站点:C:\Windows\System32\inetsrv\appcmd list site,成功找到

image-20240812153858101

然后打包源码,dnspy启动

image-20240812154447700

审计后发现登录流程分为三步

  1. 通过用户名验证手机号是否存在
  2. 登录时需要手机验证码
  3. 通过 /Login/loginUser 再次验证用户

但是真正赋予登录session的是第三步

image-20240812223123837

其中第三步本质还是通过验证账号密码,根本不需要手机验证码参与验证,也就是说只要知道账号和密码,就能无视验证码,直接构造/Login/loginUser对应的数据包即可。

image-20240812223648915

但是账号密码我怎么知道,回过头看拿下的测试站,互联网上站点数量这么少并且机器上有很多站点,那么很有可能这个站点就是开发商的定制开发测试站,定制开发完交给客户,那么必有一定的测试文件以及数据库文件。

拿下

通过对目录的仔细翻找,成功找到与目标站有关系的信息,包含一个用户名与明文密码

image-20240812224611712

甚至历史数据库

image-20240812224759633

凭借这些信息,成功登录目标站

image-20240812225008169

已经后台了,getshell轻轻松松

image-20240813002542924

顺带一个waf后缀绕过

image-20240812233001314

总结

通过 找源码->审计->未授权RCE同系统站点->渗透测试->RCE->审计->未授权RCE 的迂回打法思路,在攻防演练中会有奇效。引用远海师傅的图:

QQ_1724137073008.png

QQ_1724137092834.png

  • 发表于 2024-09-09 09:00:02
  • 阅读 ( 4145 )
  • 分类:渗透测试

2 条评论

我是小学生
您好 您文章里提到的 测绘平台 是哪个平台呢 我想实操一下试试
请先 登录 后评论
PumpkinBridge
hunter
请先 登录 后评论
请先 登录 后评论
Y0ng
Y0ng

1 篇文章

站长统计