越权漏洞反制钓鱼网站

本文详细介绍了如何利用越权漏洞反制钓鱼网站,从事件背景、信息收集、弱口令和SQL注入漏洞挖掘,到越权漏洞的逐个突破,展示了从攻到守的全过程。在反制过程中,作者通过端口扫描、目录扫描和源码审计,成功找到并利用了多个越权修改密码的漏洞,最终梳理出攻击者的信息。文章强调了反制不仅仅是漏洞挖掘,还包括攻击者资产的搜集和身份信息的追踪。
摘要由CSDN通过智能技术生成

这次的案件源自于很久以前外部HC单位对某司的钓鱼攻击。文章中的源码是ASP版本的钓鱼框架紫X,但是ASP源码中存在越权访问漏洞所以可以才得以打到攻击者的后台。在同段IP的扫描中根据中间件的版权信息可以获取同类型的钓鱼管理后台。详细内容在后续章节逐一介绍攻破思路和方法。

一、事件背景

企业邮箱收到了仿造Outlook Web App界面的钓鱼邮件。应该是想要钓鱼我们公司员工的邮箱账户。攻击者Outlook钓鱼页面:

二、反制过程

渗透测试是红队人员对目标单位的攻击,反制是目标单位的蓝队人员对红队人员的反向渗透测试。所以把这个反红队过程也叫做反制。反制和渗透测试一个正常网站没有差别。除了对目标IP的信息收集、漏洞挖掘外增加了同类系统扩展扫描、受控范围定位、人头威胁情报的搜索。通用行业的渗透讲究找出漏洞防患于未然,反制更多是对攻击者的一系列资产搜集,然后挖出受控者和攻击者的身份信息为主。

信息收集

面对单个IP的信息收集,常用的方法是敏感文件、端口扫描、弱口令测试、旁站域名。这里有一个技巧,主要的C2找不到后台的时候,扫描端口再做目录扫描是可以有几率得到其他后台信息的。攻击者一样会做应用和管理后台分离访问。图中的2301端口就是可疑端口,下图是端口扫描的结果:

弱口令漏洞挖掘

除了SSH和RDP暴力破解外,这些服务性质的端口是可以尝试的。扫描出来的21服务类端口FTP做口令破解,可以看到FTP有匿名访问,但登录之后访问不到WEB文件。

祭出dirsearch对后台做目录扫描, 对80端口扫描不出敏感文件的时候,换到不同端口再尝试扫描网页文件。这次切换的是2301端口敏感文件扫描得到后台页面:http://xxx.xxx.xxx.xxx:2301/admin.asp。其中比较有用的信息,MANAGEQQ 管理系统,紫X設計工作室(WWW.CKZZ.NET)

扫描出来的后台已经暴露出钓鱼程序名称、版本年限、端口、源码里面也有特别的字符,在百度网盘搜索引擎搜索能得到很多结果。 花时间在找源码的过程比较长,复现文章时网盘搜索已经搜索不出来了,仅存的几个ASP源码已经取消分享。以下是我在百度网盘搜索引擎里搜索得到的紫X钓鱼源码架构截图:

搭建起来版本号是20150502的,跟目标源码长得不太一样。但是测试的几个文件都是跟目标站一样的。后台样式截图如下:

ASP代码审计跟审计其他脚本语言区别不大,我觉得小语种代码审计虽然没有编辑器可以很方便调试输出结果,但是利用输出语句和条件判断、终止语句能跑起来就可以实现对小语种代码审计,因为调试器起到的作用就是断点和输出变量的作用而已,熟悉原理一样可以实现调试和分析。
ASP调试和执行SQL语句的方法说明:

输出语句
Response.Write ""&username&"' ------ '"&password&""

数据库操作
set rs=server.CreateObject("adodb.recordset") ‘建立一个数据集
set rs=server.CreateObject("adodb.recordset") ‘建立一个数据集的实例
rs.open ...... ‘打开一个记录集
rs.addnew ‘添加记录到数据表末端
rs.update ‘更新数据表记录

这款ASP钓鱼源码比较简单,没有上传、命令执行类漏洞可以直接利用,XSS之前已经黑盒子试过了没有反馈,感觉应该是做了过滤。况且已经扫到后台地址,拿到源码后先看看有没有机会可以越权进后台页面拿到受控者的数据。
从配置文件开始找起,在WEB根目录里的Web.box文件89行,可以看到访问2301端口是指向管理后台目录\wwwroot_Manager_##_#@#。

# 设置NetBox.HttpServer对象
Set http3 = CreateObject("NetBox.HttpServer")
# 监听2301端口
If http3.Create("", "2301") = 0 Then
# 添加访问目录
Set www = http3.AddHost("", "\wwwroot\_Manager_##_#@#")
www.EnableScript = true
www.AddDefault "ckzz_ec.asp"
http3.Start
end if

搜索紫X設計工作室(WWW.CKZZ.NET) 在wwwroot_manager_##_#@#\index.asp找到了后台登录验证页面。自己下载一个netbox加载web.box就可以脱离紫X已经封装好的源码了, 因为配置参数都是默认有的。后台的界面比较少,没找到可以不登录就直接访问的页面。遂放弃~

SQL注入

源码很多地方都是没有过滤就调用外部传参的变量。管理员表Manager,字段名ZY_UserName、ZY_PassWord。密码加密方式有点变态,SQL注入出来密文稍微复杂点的明文密码肯定是解不开了。

数据库表名搜索到的查询语句部分传参到数据库中查询,但是SQL注入读取出来的密码很难解开的。原理是先用sha256加密了一次除去密码的空格,然后用base64Encode编码后再sha256加密一次,具体源码部分如下:

# 数据库查询部分
sql="Select * from Manager where ZY_UserName='" &am
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值