*严正声明:本文仅限于技术讨论与分享,严禁用于非法途径。
事情起因
事情是这样子的,那天逛着街路过一家手机店,当场被店门口招揽客人的销售员拦下,硬塞了一张活动条和充电宝给我说什么充电宝免费送,但要到店里边填个卷就行了,七月的天异常的热,反正也没什么急事进去蹭蹭空调也不错,进店后里面的店员向我要了号码说是要查一下积分,通过短信查询告知我号码的积分是一千八百多,细节来了:这里他表现的很惊讶问我的积分为什么那么高,积分高的话这里好啊那里好的给我一顿吹嘘使我膨胀,后面他拿出个清单说你这积分已经可以领平板电脑了,清单上面有手充电宝、小风扇、手机、电饭锅和平板电脑等等,当然平板电脑排在最高积分那,按照常人的选择大部分人都会选择平板电脑我也不例外的选择了平板,出来逛个街白嫖个平板它不香么,我再三的跟他确认可以免费拿的吗,他是的是的回答,可正中了他的套路。
后面是另一位店员来接待我,把我拉到了店的最里边然后给我说到这边来跟你了解一些情况还有拿新的平板给你,问我有几张卡呀每个月所用的话费是多少,还有说这活动呢是针对一些信用高的用户做的回馈,然后让我打开支付宝看我的信用,我每月的花呗都会还本来信用就蛮高的,他又一顿的给我吹嘘我的信用有多高多高的使我膨胀,他又问我你这号码确定会使用一年以上吗之后他拿出一张表上面写着预存话费3999送平板什么什么字样,他见我犹豫了又给我列了一堆的公式各种计算话费跟你平时充值的费用一年下来多少多少的,涉世未深的我还觉得挺有道理的,总之从一进店开始就一直被牵着鼻子走,然后他问我要了身fen证号说什么后台做个审核还特地强调说有些信用不好不是谁都可以通过的,他说给我审核两分钟,实际是直接给我开了个户,然后在我签字那个表盖了审核通过的字样,这里细节来了:第一审核通过了或者没通过他都没跟我确认要不要开户,第二他直接在你户里给你预存了3999话费并不是让你先支付后预存的,这就是所谓的“免费送”这时我已经感觉到不对劲了想走不办理了,但被告知账户已帮我预存了话费不让走,无奈只好给他支付宝一顿操作又套现又转账的把我花呗都套走了。
回到家越发越觉得不对劲,越发越后悔,网上一搜关于这类的活动一抓一大把而且一模一样越看是越生气啊。
最主要的呢,送的平板也是八百多的根本不值预存话费的这个价,且居然有卡死的现象,于是乎我决定深挖瞧瞧。
信息收集
通过验证短信发过来的短域名链接复制到浏览器解析得到网址xx.xxxx.xx好家伙这网址一看就不是移动官方旗下的,在通过站长工具查询该网址解析到阿里云且未启用cdn,该域名持有者系广东一家某科技公司,域名到今年11月份就到期了,在通过搜索该企业发现经营异常这四个大字,我这好几千的话费肯定是凉透了。
通过对得到的域名用nmap -p 1-65355 xx.xxxx.xx进行全端口扫描瞧瞧都开放了哪些服务,再从其服务进行入手,可以看到也就只有80跟22端口,唯一有用的信息就是22端口知道对方是Linux服务器的。
在通过对80端口访问web服务得到以下信息,这界面也是短信内容里短域名所跳转过来的界面。
它的URL形式是/admin/user/login明显的用户登陆界面,众所周知admin是管理的意思,直觉让我逐层递减目录访问,果不其然跳转到了admin/login的商家管理界面。
漏洞挖掘
目前初步找出两个登陆界面,后台登陆是没有验证码的可进行爆破操作,但前提条件是知道商家的手机号,这里就先正常登陆我自己的用户瞧瞧里面有无可利用的地方,功能很简单并无可利用的地方头像处也无法进行编辑上传等操作该界面也只是提供显示话费的总额,我猜他们搭这样一个平台也只是显示个数字前几个月唬住消费者。
决定退出用户用burp抓个包分析分析传输的数据,输入正确的手机号验证码以及短信验证码开启抓包,可看到参数都是以明文传输的,验证码这些均与正确那我如果替换成别的用户是不是可以达到一个水平越权漏洞了呢,mobile处替换号码成功登陆别的用户斩获水平越权漏洞一枚。
一样的个人中心一样的无任何利用的地方,转战后台登陆框框,像这类的后台二话不说直接使用burp抓个登陆的POST包在保存到本地txt文件使用sqlmap跑一跑说不定有意外的收获,因为是阿里云的服务器本地跑百分百的被拦截,所以我选择用与它相同的阿里云服务器去跑,username,password,remenbaer这三个均不存在注入。
没事,抓个包发个包看看响应回来的数据,可以看到账号的内容直接输出在了value的标签上。
构造xss payload闭合插它!!”><script>alert(/xss/)</script>然后在重新发包斩获反射性xss一枚。
Getshell
挖到的那个两个漏洞太鸡肋了,思路也暂时断了回过头再分析分析抓到的数据包,一直没太注意响应包仔细一看发现rememberMe=deleteMe字样,shiro反序列化漏洞呀。
直接怼上exp,这里直接查看源代码取网站内的静态文件填入做检测。
可看到命令执行框内是可输入的证明存在该漏洞相反不存在则不可输入,且在/css的同级目录下生成了5663.js的验证文件,访问测试是否成功写入文件。
成功写入文件,接下来写入shell冰蝎连接执行whoami查看当前权限,Linux的环境直接root最高权限省去了需要提权的麻烦。
权限有了,并且服务器对外开放22端口可以直接写入公钥免密登陆,但考虑对方是阿里云的服务器异地登陆的话会有短信提醒动静太大所以没执行该方案,继续挖掘有用的信息,翻了半天翻到了个数据库的配置文件,数据库连接的地址是172.xx.xx.xx(各位师傅技艺高超内网地址也给码上防止爆菊)一看就知道是内网的ip站库分离啊,想办法代理转发出来连接瞧瞧。
冰蝎上有个Socks代理配合Proxifier在加上Navicat Premium数据程序管理进行隧道代理打入其内网数据库,常规的配置好Proxifier后添加程序进行连接,可问题来了反反复复试了好几次一点连接就直接数据异常,十有八九的被拦截了。
在内网代理这块踩了不少的坑总而言之还是自己经验不足,也有各位师傅指点使用adminer.php(这里手动@Uncia大佬),adminer确实不错很轻量便捷只需上传web目录即可但奈何使处的环境是Java环境只支持jsp脚本adminer也只有php的脚本。
内网代理
既然adminer不支持冰蝎也代理不出,那咱们就自己搭一条代理的隧道出来,在这里踩了不少的坑尝试利用reDuh和Tunna要么就是没流量要么就是连上一下子就断开,不知道是不是我的姿势不对还是受当前环境的限制,最终在GitHub上找到reGeorg神器。
reGeorg 可以说是 reDuh 的升级版,主要是把内网服务器的端口通过 http/https 隧道转发到本机,形成一个回路,用于目标服务器在内网或做了端口策略的情况下连接目标服务器内部开放端口,它利用 webshell 建立一个 socks 代理进行内网穿透,因为当前环境是java所以我们上传.jsp的转发文件到网站目录下。
上传脚本后访问其脚本,显示Georg says, ‘All seems fine’,代理成功。
后在本地执行python2 reGeorgSocksProxy.py -p 9999 -u http://xx.xxxx.xx/tunnel.jsp在命令行界面同样显示Georg says, ‘All seems fine’即可。
打开Proxifier基本配置好监听本地127.0.0.1的9999端口,然后设置代理规则添加Navicat程序,其他动作选择Direct关闭状态唯独只允许Navicat流量通过。
配置完后,右键Navicat以Proxifier本地代理模式打开。
可以看到已稳定链接且Python窗口有流量传输(切记代理过程中请勿关闭窗口)。
实锤骗局
数据库咱也连上了,看看会员表里的账号,通过筛选member会员表里的name字段查找自己的名字,果不其然自己就躺在那里数据的时间跟被套路的时间相吻合。
如何实锤?很简单库里的第一批用户是2019年5月份的,到现在也相差一年了,这是不是骗局登录19年的账号看看返现记录就一幕了然,就随机抽取一位幸运玩家结合前面的水平越权漏洞登录其账号。
这都过去一年时间了果然也就只首次返现一次,前几个月唬住消费者过后又以各种理由的欺骗你,总之永远吃亏的还是消费者。
写到最后
至于为何写这篇文章,因为我也是受害者我想通过这样的方式去剖析它让大家更直观的了解这个局以免更多的人被套路,你去办理的时候他们会跟你说这是移动授权下来的活动(之前也是这么跟我说的),但这一路下来可以看出跟移动半毛钱关系没有,只不过是他们自主搭建的一个平台,里边的余额也只是唬住你,有这么一个平台一个数字显示出来让你放心而已,至于首月到账的那几百块也只是从你那套的好几千手动给你充值给几百而已。
不说了,接下来的一年里我要吃土还花呗了嘤嘤嘤,给人套了好几千还给人家免费渗透一波,商家登录系统那我估计还会有更多的猫腻,但渗透测试点到为止,我的目的就是证明这是不是一个骗局既然实锤了咱们也没必要在深入了。
我们所做的安全对抗,正如同没有硝烟的战争,战争的结果除了输赢之分,还有正义与非正义之别,唯一的区别就是我们要时刻站在正义的视角,探索了其漏洞原理,却不因此对其造成损害。
来源:freebuf.com 2020-07-03 20:22:44 by: 夜无名
请登录后发表评论
注册