深切理会BokBot的中间人攻击方式(下) | 申博官网
登录
  • 欢迎进入申博官网!
  • 如果您觉得申博官网对你有帮助,那么赶紧使用Ctrl+D 收藏申博官网并分享出去吧
  • 这里是申博官方网!
  • 申博官网是菲律宾sunbet官网品牌平台!
  • 申博开户专业品牌平台!

深切理会BokBot的中间人攻击方式(下)

申博_新闻事件 申博 144次浏览 已收录 0个评论

申博网络安全巴士站

申博-网络安全巴士站是一个专注于网络安全、系统安全、互联网安全、信息安全,全新视界的互联网安全新媒体。

————————————-

八、流量操纵:署理视角

BokBot的署理模块依赖于流量操纵来盗取受害者的敏感信息。受害者浏览器天生的Web流量与目标url列表(webinjects)举行婚配,若是婚配胜利,署理将实行以下操纵之一:重定向到垂纶网站(webfake);页面抓取;页面截图;或是疏忽此条音讯。对要求的相应须要婚配后再肯定是不是将HTML或Javascript注入页面并返回给受害者。

深切理会BokBot的中间人攻击方式(下)

图3:BokBot WebFake流程概述

8.1、Web注入DAT文件

BokBot主模块下载的DAT文件是构造化的二进制文件,个中包罗一系列目标url、目标HTML/Javascript代码块和要注入的Javascript/HTML代码块。在初始化历程当中,该DAT文件迁就每一个webinject种别分红多个列表。webinject种别列表是由一系列webinject类构建的。剖析后,每一个元素都具有以下构造:

深切理会BokBot的中间人攻击方式(下)

8.2、页面抓取

页面抓取处置惩罚函数对URL或HTML主体实行婚配,以肯定是不是应当抓取页面的信息并将其发送到C2。页面抓取的目标是银行帐户展现页面,以抓取目标的帐户信息。

· Type 33、34

这两种范例是运用准确的URL字符串或正则表达式来婚配受害者要求的URL。一旦婚配完成,HTML主体和婚配的URL都被发送到C2。每一个目标url都与包罗受害者账户信息的页面相干,比方:

chaseonline.chase.com/gw/secure/ena
client.schwab.com/Accounts/Summary/Summary.aspx

· Type 64

此范例将扫描网页主体,寻觅与帐户余额、平安考证题目和其他小我数据相干的文本(“帐户余额”、“以后余额”等)。若是找到,URL、HTML主体和婚配的文本将被紧缩并发送到C2。

8.3、页面截图

当URL与Type 49注入婚配时,能天生屏幕截图。历程以下:截图用Windows GDI+ API截取,天生位图,写入tmp文件,读入缓冲区,紧缩,然后发送到C2。位图被写入AppData下的当地暂时目次,文件名是独一的alpha字符字符串。比方:AppData\Local\Temp\alksfjlkdsfk.tmp。

只管我们写此篇剖析申报时研讨的BokBot版本中,web注入没有供应细致的示例,但我们有理由置信这些屏幕截图将包罗与贸易和银行帐户相干的敏感细节。

8.4、代码注入

代码注入的事情体式格局是婚配URL,或许对HTML元素实行婚配和替代。

· Type17、19

Type 17和19用于隐蔽页面中的元素、猎取表单数据、注入代码、替代代码,和让webfake猎取受害者的信任感。这两种范例的区分在于,Type 17不依赖于正则表达式来婚配和替代HTML和Javascript。

深切理会BokBot的中间人攻击方式(下)

· Type 81

Type 81是被署理服务器完整疏忽的url列表。如许做的目标是为了制止在告白、谈天或电子邮件客户端插进去告白时能够涌现的复杂情况。要乞降相应由署理转发给受害者,此段代码是无需修正的。

8.5、Webfake垂纶站点

BokBot运用webinject建立目标网站的副本,这些副本网站称为webfake。经由过程重写URI将流量转发到webfake站点。本节引见用于将流量重定向到webfake的每种注入范例。这些都是在Web浏览器不知情的情况下发作的。

深切理会BokBot的中间人攻击方式(下)

图4:BokBot WebFake示例

· Type 50

Type 50要求对从客户端吸收到的uri实行准确婚配(没有正则表达式)。当婚配胜利时,URL被重写为指向webfake站点,要求被发送到副本页面。对该要求的相应由署理服务器剖析并发还给受害者。

深切理会BokBot的中间人攻击方式(下)

· Type 51

若要婚配单个图标/gif/位图/其他称号,则运用正则表达式婚配和替代:

婚配的正则表达式:^https:\/\/www\.amazon\.[a-z]{2,5}\/.*\/style\/images\/(.*)\.(png’|gif)$

替代URI:hxxps://hospirit[.]com/amazon/style/images/$1.$2

hospirit的IP地点:185.68.93.136

该正则表达式将用PNG或GIF文件的称号替代值“$1”和“$2”。这个重写的要求将从署理服务器发出。

深切理会BokBot的中间人攻击方式(下)

· Type 52

Type 52要求似乎是搜检子字符串的URL,然后提取该数据,然则我们用于撰写本篇申报的BokBot样本中不包罗Type 52的重写历程。

· URL重写绕过

若是每次受害者试图登录目标网站时都运用雷同的webfake历程,那末这也会成为一个题目。一旦收集了受害者的信息,就不再须要重写url来指向webfake站点。相反,要求应当不经修正就发送到真正的网站。为了确保这一点,BokBot保持了一个位于HKCU\Software\Classes\CLSID注册表项下的子键列表。

为此,须要为每一个目标站点天生独一的称号。 此种别中包罗的每种注入范例都包罗Webfake模板字段,比方:

深切理会BokBot的中间人攻击方式(下)

上图中,黄色标注局部的值,其作用是天生独一注册表项称号的种子(在“考证要求”一节中有更细致的引见)。每一个目标站点都包罗一个类似于上面凸起展现的值,或许一个运用URL主机名的标识符(比方,“amazon”)。

若是注册表子键存在,署理服务器将向C2发送一个要求,以肯定是不是应当重写要求。若是C2的相应不是两个字节之一(“0x2D”或“0x2B”),则不会重写正当URL来指向webfake站点。

8.6、考证要求

考证要求由Bot API javascript天生(背面将引见),用于向C2发送数据,或许在注册表中插进去/删除/查询值。运用多种考证要求范例,每一种都由署理服务器处置惩罚。

深切理会BokBot的中间人攻击方式(下)

表4:考证敕令

· Type 96

为了展现“Site Down for Maintenance”音讯或向受害者供应正当的网站(绕过URL重写要求),注入javascript代码的Bot API能够天生Type 96的banknameS要求。

深切理会BokBot的中间人攻击方式(下)

通报给要求主体的值将被写入注册表,并由Bot API和处置惩罚URL重定向要求范例的代码实行。

每一个站点都供应一个唯一的ID,该ID经由过程banknameS参数发送到署理服务器。此值用于天生UUID,它将是注册表项的称号。统统这些条目都是在以下注册表途径下建立的:HKCU\Software\Classes\CLSID。

建立密钥以后,位于Type 96要求主体中的值被散列并写入注册表子密钥中的(默许)值字段。

· Type 97、98

Type 97和98的考证都将由Bot API注入的javascript天生,并将对Type 96要求建立的注册表项实行操纵。Type 97查询注册表以检察值是不是存在,Type 98将删除键。

· Type 100

要末Verification Type 100直接通报给C2(Type 2),要末要求关照署理服务器以某种体式格局与C2(Type 1)交互。这些要求是HTTP POST或HTTP GET要求,个中包罗从歹意javascript代码收集的信息。

8.7、小结

让我们以cashanalyzer网站注入回忆本节的内容:起首,署理服务器从Web浏览器吸收接见www.cashanalyzer.com的要求,接着署理轮回遍历种种webinject列表以婚配URL,继而找到婚配项。

深切理会BokBot的中间人攻击方式(下)

署理服务器从Webfake Template字段的第一局部猎取2299737dfa5c070dc29784f1219cd511值,并运用它天生一个UUID来肯定是不是设置了“站点住手保护”页面(请参阅“8.6、考证要求”一节)。若是存在,则向C2发送一个要求,以肯定块页是不是应当运用新的时候更新或删除。

一旦举行了块页搜检,署理服务器将接收Webfake Template的其他局部,并用web协定(HTTP/HTTPS)和URL hospirit.com/cashanalyzer替代前面的://字符串。至于URL的途径和查询,content/main?a=2299737dfa5c070dc29784f1219cd511&b=#gid#&c=#id#被附加到URL的末端。项目ID和Bot ID值离别替代#gid#和# ID #参数值令牌。

深切理会BokBot的中间人攻击方式(下)

要求将发送到webfake。发送相应并举行其他搜检以肯定是不是有任何婚配的注入范例。若是没有找到婚配,相应将被转发还受害者的浏览器而不举行修正。浏览器没法感知网页已被重定向了,且从用户视角看,初始URL仍然在浏览器地点栏中。

当浏览器相应时,将从webfake发送分外的要求来加载相干javascript文件。在本例中,main.js是从webfake加载的。浏览器要求从重定向的网站下载javascript文件,署理服务器再次实行webinject婚配例程。结果是找到了一个Type 19的婚配项。

深切理会BokBot的中间人攻击方式(下)

当重定向的网站相应要求时,“Code to Inject”值将被注入main.js代码。如今,统统收集目标的帐户信息的须要组件都已到位。

一旦收集了表单数据,署理服务器将发送和处置惩罚Verification Type 100要求。这些要求是POST要求,表单数据包罗在要求体中,由署理处置惩罚后,表单数据将经由过程向C2通讯线程发送旌旗灯号发送到C2。

深切理会BokBot的中间人攻击方式(下)

要求参数能够经由过程“七、署理与C2的通讯”一节举行剖析。

署理服务器处置惩罚webinjects的体式格局有多种转变。然则,这个例子足以展现全部事情流程。

九、流量操纵:浏览器视角

因为注入的javascript API有许多变体,以是我们不试图笼统归结每一个注入的高等历程的共同点,本节将继承以上一节中引见的cashanalyzer.com为例。闻一知十,此类剖析也可用于相识其他注入的事情道理。

在本节中,前两小节将引见站点怎样与受害者、署理和C2之间举行交互。末了的“9.8、小结”一节则汇总引见。

9.1、Bot API:中心Javascript模块

如前所述,main.js文件包罗了Bot API代码。此代码供应了与署理、C2和网页HTML元素交互所需的统统,以确保受害者在输入帐户信息时能无缝链接。

9.2、令牌状况

令牌的状况是一个数字指导器,用于标识Bot API下一步应当接纳甚么操纵。有五种象征性的状况:

深切理会BokBot的中间人攻击方式(下)

表5:令牌状况

好比,若是涌现某种毛病,令牌状况被设置为3或4,这将触发javascript中的逻辑挪用viewBlock要领(下一节中报告)并加载“Site Down for Maintenance”(网站正在保护)页面。

9.3、页面视图的体系构造

为了确保以准确的递次收集准确的信息,Bot API依赖于传统的视图/掌握器体系构造。在本例中,掌握器是由进击者掌握的webfake站点。Bot API客户端关照C2它已准备好吸收敕令,服务器相应敕令,此敕令用于加载下一页面视图。

深切理会BokBot的中间人攻击方式(下)

Windows x86 Shellcode开辟:寻觅Kernel32.dll地点

前言 针对一个已经学习了Linux Shellcode开发,并开始在Windows上尝试的研究人员来说,这一过程可能要比想象的更加艰难。Windows内核与Linux完全不同。尽管如此,但Linux内核要比Windows更容易理解,原因在于其开源的特性,并且与Windows

表6:页面视图敕令

Bot API吸收到该敕令后,将修正相干HTML元素的CSS展现字段来展现此代码块。运用webfake的典范会话将接纳以下步调:

1.加载登录页面视图

· 受害者输入账户信息并提交表单

· 在处置惩罚登录表单时,将展现一个守候页面

2.加载平安令牌页视图

· 受害者进入平安令牌

· 在处置惩罚平安令牌表单时,将展现一个守候页面

3.加载了姓名/姓氏/电话号码页面视图

· 受害者输入此信息

· 在处置惩罚此表单时,将展现另一个守候页面

下面的“9.8、小结”中将对此举例引见引见。

9.4、守候页面

当受害者试图登录网站时,署理将要求转发给webfake站点,而该站点将要求转发给正当站点,因而会有一段余暇期。为了制止引发任何疑心,Bot API会展现一个守候页面。

深切理会BokBot的中间人攻击方式(下)

图5:登录后守候页面

该网站有多个版本,每一个版本对应一个帐号信息收集历程:登录信息;平安令牌信息;平安题目标谜底;和收集受害者姓名和地点的表格。

9.5、通讯:Bot API要求到C2

署理服务器运用Validation Type 100要求将代表Bot API的敕令转发到C2。这些要求中包罗一个base64编码的字符串。该字符串解码为JSON花样的一系列参数。

深切理会BokBot的中间人攻击方式(下)

表7形貌了每一个参数的寄义。在这类情况下,Bot API关照C2该页面还没有初始化(无效)。

深切理会BokBot的中间人攻击方式(下)

表7:Bot API C2通讯的URL参数

Bot API按期发送Heatbeat(Type 1)要求。这些要求用作保持与C2的延续通讯的手腕,并为Bot API供应吸收敕令的序言。

9.6、通讯:C2相应Bot API

来自C2的相应包罗了指定Bot API依据初始要求须要实行哪些操纵的敕令。每次提交表单后,C2都邑吸收到一条敕令,关照Bot API接下来要加载哪一个页面。这些相应也是base64编码的JSON。

深切理会BokBot的中间人攻击方式(下)

在本例中,敕令ID为“99”,内容是示知Bot API从新加载原始站点。这将重置统统表单,消灭统统站点块并加载原始页面。表8涵盖了C2相应的各个字段:

深切理会BokBot的中间人攻击方式(下)

表8:C2相应字段

能够看到,表8的id字段与表6的内容是一致的。

9.7、站点保护页面

只需Bot API的令牌状况设置为“3”或“4”,就会展现一个毛病页面,指出存在技术题目(图6)。只需存在与C2,webfake,署理服务器通讯的题目,或许当webfake与实在网站通讯时发作毛病,令牌会被设置为这两种状况之一。

深切理会BokBot的中间人攻击方式(下)

图6:BokBot署理的“Site Down for Maintenance”页面

修复日期是经由过程在以后时候上增加一个小时天生的。在展现网站以后,经由过程发送一个Type 96 Verification要求在注册表中设置这个时候戳。一旦计时器逾期,将发送一个Type 98 Verification要求来从注册表中删除壅塞时候。

日记纪录

Bot API赓续地将日记数据作为base64编码的JSON发送回C2。下面是解码后的JSON工具:

深切理会BokBot的中间人攻击方式(下)

此数据块有一系列键-值对,个中h键中包罗了日记,也就是值。这些日记是形貌性的,关于进击者来讲异常有效。

9.8、小结

9.8.1、初始浏览器要求

用户的浏览器向cashanlyzer.com发送要求,要求被署理阻拦后重写,并发送到webfake站点,署理再将相应发送回受害者。页面内容还包罗以下javascript代码,用于从进击者掌握的站点加载javascript文件:

深切理会BokBot的中间人攻击方式(下)

这个main.js要求由署理转发,并在相应中注入以下代码:

深切理会BokBot的中间人攻击方式(下)

此代码将挪用main.js中界说的String.prototype.init要领。init要领包罗歹意Bot API javascript模块,并将终究挪用main函数来初始化和加载webfake站点。

深切理会BokBot的中间人攻击方式(下)

图7:Cashanalyzer伪登录页面

在实行搜检以肯定是不是须要加载块页面以后,Bot API挪用viewStep要领并将字符串“login”通报给它,“login”是包罗登录表单的HTML <div>工具的元素id。

深切理会BokBot的中间人攻击方式(下)

该元素的展现字段将从none切换为block,并展现登录页面(图7)。以后用户就可以够在该页面输入登录信息并单击“continue”。统统输入的数据都被放入C2要求构造中,并发送到webfake站点。

深切理会BokBot的中间人攻击方式(下)

上面凸起展现的段落中,第一局部是用户帐户凭证,第二局部是日记信息。日记信息会关照另一端的用户登录视图已加载,末了一个视图是守候页面。

当Bot API赓续发送心跳要求,守候来自webfake站点的相应时,受害者看到的守候页面会涌现杂沓。

深切理会BokBot的中间人攻击方式(下)

处置惩罚完成后,Web服务器会相应一个敕令来禁用登录页面,并使下一页面展现,在本例剖析中,该敕令是加载用户联络信息表单。

深切理会BokBot的中间人攻击方式(下)

其他步调是自诠释的:后续操纵由致使守候时候的表单构成,然后是其他表单,直到抵达末了一步。

9.8.2、完毕历程

收集完统统信息后,Bot API向署理服务器发送一个Validation Type 96的要求,但注册表中设置的值不是时候戳,而是字符串“true”,以下所示。

深切理会BokBot的中间人攻击方式(下)

此要求指导署理服务器运用(默许)值建立 ‘HKCU\Software\Classes\CLSID\{7570CC99-D32B-6883-1375-9D2881583EFB)‘ 注册表项,并设置为四字节二进制值。设置完成后,任何进一步的接见实验都邑绕过统统重写URL的实验(注入范例50,51,52),并将加载正当网站。

要加载正当网站,页面须要革新,以后用户就可以登录到正当的cashanalyzer.com网站。固然,若是用户要接见的网站仍与webinject婚配,那末照样会被手机信息(收集帐户余额数据等)。

十、CrowdStrike Falcon是怎样阻挠BokBot沾染的

CrowdStrike Falcon Prevent™新一代防病毒软件在启用历程壅塞时能胜利阻挠BokBot,历程以下。

BokBot天生一个svchost子历程,注入主模块,然后svchost历程天生并注入多个子历程。图8中的流程树是运用已开启流程壅塞功用的Falcon Prevent,检察BokBot时的示例。以下所示,位于第一个svchost历程内部的BokBot的主模块启动了几个歹意子历程。

深切理会BokBot的中间人攻击方式(下)

图8:未启用历程壅塞的BokBot历程树

若是没有启用防备功用,客户仍然会收到歹意运动的关照,然则不会自动接纳任何防备行动。

10.1、可疑历程壅塞

Falcon Prevent能阻挠BokBot的主模块和统统子模块的实行,同时启用了历程壅塞的Falcon Prevent能够杀死父历程svchost上的BokBot沾染。图9是启用了流程壅塞的Falcon UI中的流程树,能够看到svchost流程被停止了。图10诠释了停止此流程的缘由。

深切理会BokBot的中间人攻击方式(下)

图9:启用历程壅塞的BokBot历程树

深切理会BokBot的中间人攻击方式(下)

图10:BokBot历程停止申明

可疑历程阻挠是基于歹意软件行动的防护示例。纵然歹意软件运用了Falcon的进击目标(IOA)中未纪录的行动,Falcon也能够经由过程应用下一代AV机械进修或Crowdstrike Intelligence团队收集的谍报来防备歹意软件的实行。

十一、目标

BokBot哈希值

本文样本运用了以下哈希:

深切理会BokBot的中间人攻击方式(下)

文件地位:

深切理会BokBot的中间人攻击方式(下)

注册表:

深切理会BokBot的中间人攻击方式(下)

收集监听器:

深切理会BokBot的中间人攻击方式(下)

进击者掌握的网站:

Windows x86 Shellcode开辟:寻觅Kernel32.dll地点

前言 针对一个已经学习了Linux Shellcode开发,并开始在Windows上尝试的研究人员来说,这一过程可能要比想象的更加艰难。Windows内核与Linux完全不同。尽管如此,但Linux内核要比Windows更容易理解,原因在于其开源的特性,并且与Windows


申博|网络安全巴士站声明:该文看法仅代表作者自己,与本平台无关。版权所有丨如未注明 , 均为原创丨本网站采用BY-NC-SA协议进行授权
转载请注明深切理会BokBot的中间人攻击方式(下)
喜欢 (0)
[]
分享 (0)
发表我的评论
取消评论
表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址