榜首部分布景

360互联网安全中心监测到一种运用被侵略效劳器进行门罗币挖矿的僵尸网络,该僵尸网络操控的效劳器数量顶峰时单日到达两万多台。僵尸网络树立初期运用“永久之蓝”缝隙进犯兵器侵略必定数量的核算机并以此作为僵尸网络开展的根底,之后这些核算机扫描其他核算机的1433端口(msSQL效劳端口),测验爆炸方针核算机的msSQL效劳,一旦爆炸成功则登陆SQL Server履行歹意代码。方针核算机被僵尸网络操控之后相同会经过1433端口侵略其他核算机,僵尸网络因而不断扩大操控规划,终究构成现在这样的规划。

僵尸网络的延伸离不开强壮的Bot程序,经过代码同源性能够发现该宗族的Bot程序的诞生最早可追溯到2014年。在2014年到2017年之间,B锡兰叶下珠ot程序进行屡次版别更新,最早的版别仅仅简略的侵略与长途操控,从2017年4月的版别开端, Bot程序学习多款扫描器、爆炸东西以及闻名僵尸网络mirai的完结,增加了多种针对不同协议的扫描爆炸模块,而且完结了一套针对msSQL的“侵略+运用+传达”的进犯模块。Bot程序版别替换及传达量如下图所示。(图示中xx.x.x.x.x(x)表明的是Bot程序的版别,例如17.1.0.0.2(1)表明2017年编译的1.0.0.2版别的Bot程序变种1)

图1-1 Bot程序版别替换及感染量概览图

从图1-1中能够看出,Bot程序自4月底开端传达量开端呈现爆发式增加,这正是作者运用“永久之蓝”缝隙进犯兵器进行僵尸网络树立的时间段。此外,Bot程序有一套完善的更新体系,当Bot程序检测到有新版别发布之后,将自动更新至最新版别。从图1种也不难看出,新版别传达量增加之后,老版别的传达量也相应地下降。

Bot程序当时的首要意图是装置门罗币挖矿机,运用效劳器资源挖矿。截止现在,作者的门罗币钱包现已有高达1975枚门罗币,当时约合人民币167万。

图1-2 作者门罗币钱包概略

Bot程序高度模块化,调集了多种不同的功用,而且具有完善的更新和耐久驻留机制。

对Bot程序的剖析将有助于了解该僵尸网络的传达机制。本文将经过对Bot程序的详细剖析,发掘该僵尸网络的作业原理,并据此评论服1l密炼机务器在面临该僵尸网络时所需的预防措施以及防护战略。

第二部分Bot程序剖析

本文选用Bot程序2017年4月份编译的1.0.0.2版别作为剖析的样本,样本MD5:10ace2e06cc8b5656d38eb2e6ed4f079。

Bot程序由main模块,update模块,Scanner模块,Cracker模块,ServerAgent模块和cService模块6个模块构成,模块之间互有联络,相互协作。以下将对每个模块履行的功用进行剖析。

  1. main模块剖析

Bot程序是以操控台办法存在的,在介绍main模块之前先介绍Bot程序所接纳的发动参数以及参数对应的功用。

表2-1-1 Bot程序所接纳的参数及对应的功用

这些发动参数满意以下几条规矩:

1.当存在“-start”,“-stop”,“-create”和“-delete”中的多个时,只要榜首个参数是有用的,因而作者引进“-run”参数合作“-create”参数以完结创立效劳并发动效劳的操作。

2.“-delete”参数在删去Bot效劳之前会封闭该效劳。

3.当未指定“-syn”参数时默许扫描器为TCP_CONNECT办法。

4.当一起存在“-srv”和“-cli”时只要榜首个参数是是有用的,两者都不存在时默许为“-srv”。

5.当程序发动参数包括“-s”时,将以效劳办法履行main模块,不然以操控台办法履行main模块。

main模块首要是进行一些预备作业以及装备并启用其他模块。在程序预备作业方面,首要包括以下几部分。

(1)获取体系信息。

图2-1-1 获取体系信息

(2)判别体系类型是否为Server。

图2-1-2 判别体系类型

(3)完毕并禁用Network list Service和Network L女性毛ocation Awareness。Network list Service用于辨认核算机已衔接的网络,搜集和存储这些网络的特点,并在更改这些特点时告诉应用程序;Network Location Awareness用于搜集并保存网络装备和方位信息,并在信息改动时告诉应用程序。Bot程序封闭并禁用这些效劳以避免本身的网络通信被记载。

图2-1-3 完毕并禁用Network list Service和Network Location Awareness

(4)完毕并禁用SharedAccess和MpsSvc(Intemet衔接同享和防火墙效劳)以确保Bot程序的网络通信能够正常进行,而且删去日志文件。

图2-1-4完毕并禁用SharedAccess和MpsSvc

完结初始化作业之后,main模块将创立新线程履行update模块。update模块检查Bot程序版别并依据状况进行更新。一起,main模块还作为Scanner模块,Cracker模块和ServerAgent模块的进口。

  1. update模块剖析

update模块是Bot程序进行自更新的模块。当程序履行main模块时,将创立线程履行update模块进行版别检查及必要的更新。update模块每6小时进行一次更新检查。

图2-2-1 创立线程履行update模块

图2-2-2 调用Sleep函数以守时履行update模块

进行更新检查时,update模块首要获取程序当时的版别号,之后经过博客地址“http:邓晶//blog.sina.com.cn/s/blog_16千冬fb721c50102x6hw.html”取得加密后的C&C的ip地址。将加密后的ip地址去除首尾的分隔符(***和@@@),经过base64解密并与0x36异或之后得到实在的ip地址(在本样本中,C&C ip地址为67.229.144.218,以下简称为“ip”)。

http://ip:8888/ver.txt中寄存最新的Bot程序版别号,update模块读取该版别号并与当时Bot程序的版别号进行比照。当两者相一起,则以为程序现已更新到最新版别,继续履行后续功用;当两者不一起,则对程序进行更新。

图2-2-4 比照Bot程序版别和最新版别号

图2-2-5 最新的版别号

若Bot程序未更新到最新版别,则进行更新。最新版别的Bot程序经过途径C://windows/system下的更新程序cabs.exe获取。若cabs.exe不存在,则Bot程序将从http://ip:8888/ups.rar下载cab.exe,并发动该程序进行更新。

图2-2-5 下载更新程序cab.exe并发动更新

cabs.exe会判别当时核算机体系是否为Windows Server,只要当当时核算机体系为Windows Server时才会履行更新。

图2-2-6 判别当时体系是否为Windows Server

假如当时核算机体系为Windows Server,则拜访http://ip:8888/update.txt获取最新的下载列表,并将下载列表下载到c:\\windows\\system途径下,命名为upslist.txt。

图2-2-7 下载下载列表

下载列表中包括两个文件ps.jpg和my1.html。

图2-2-8 下载列表内容

ps.jpg是结尾拼接了一个PE文件的图片。该PE文件便是最新版别的Bot程序。

图2-2-9 藏有最新版别Bot程序的图片

图2-2-10 图片中监测到的PE文件特征

my1.html是一个批处理脚本,功用与Cracker:mssql模块开释的批处理脚本123.dat根本相同,首要是创立一些需求的文件夹并为之后Cracker模块装备环境。

完结下载之后,cabs.exe会完毕Bot程序的进程和效劳,更新相关文件之后再重启Bot进程和效劳。

  1. scanner模块剖析

scanner模块修正自masscan(github:https://github.com/robertdavidgraham/masscan)。masscan是一个快速、灵敏的端口扫描器,在windows下发包速度可到达每秒30万包。

在调用scanner模块进行扫描之前,Bot程序会装备一个excludefile,该文件指定ip段黑名单,在该规划中的ip地址将不会被扫描。ip黑名单以字符串的办法寄存在B悄然兴起的挖矿机僵尸网络:打效劳器挖价值百万门罗币ot程序的资源段中,scanner模块在临时文件夹下创立excludefile,读取资源后将ip黑名单写悄然兴起的挖矿机僵尸网络:打效劳器挖价值百万门罗币入excludefile。

图2-3-1 读取ip黑名单资源并写入excludefile

在Bot程序2017年四月份编译的1.0.0.2版别和五月份编译的1.0.0.3版别的其间一个变种中未发现ip黑名单,在五月份编译的菩珠蓬莱客1.0.0.3版别的另一个变种中发现了ip黑名单。

图2-3-2 寄存在Bot程序资源段中的ip黑名单

关于每一个a类ip,scaner模块扫除去部分b段。因为全网扫描简略遭到监控,经过扫除部分ip地址能够削减被发现的危险。

图2-3-3 scanner模块扫除部分ip地址后扫描全网

scanner模块能够扫描的端口包括1433端口,3306端口,135端口,22端口,445端口,23端口,80端口和3389端口。

图2-3-4 部分scanner模块扫描的端口

scanner模块可经过两种办法进行端口扫描,分别是TCP_SYN扫描和TCP_CONNECT扫描。运用何种扫描办法由参数“-syn”决议,假如发动参数包括“-syn”则挑选运用TCP_SYN办法进行端口扫描,不然挑选TCP_CONNECT办法进行端口扫描。当挑选TCP_SYN办法进行端口扫描时,Bot程序只发送SYN帧,端口敞开回应SYN&ACK怎没牛人娶了中岛美雪帧,端口封闭回应RST帧,;当挑选TCP_CONNECT办法进行端口扫描时,Bot程序测验衔接方针端口,端口敞开则衔接成功,不然衔接失利。

Scanner模块创立的最大扫描线程数由“-t”参数决议,“-t”的最大值为1800。在scanner模块创立扫紫花玉簪描线程的一起会一起创立名为“CrackerWMI”的线程,但是在Bot程序发送的数据包中并未发现意图端口为135(wmi效劳运用的端口)的数据包,估测或许是作者预留的没有完善的功用。

图2-3-5 两种不同的扫描办法

scanner模块会记载敞开特定端口的ip地址,并国际音标手势操且与ServerAgent模块和Cracker模块进行交互完结悄然兴起的挖矿机僵尸网络:打效劳器挖价值百万门罗币“端口扫描+爆炸+侵略”一系列作业。

  1. ServerAgent模块剖析

ServerAgent模块由两部分功用组成。一是向C&C发送扫描成果;二是对端口扫描和爆炸进行相应的装备作业。

ServerAgent模块在scanner模块扫描过程中衔接C&C。当scanner模块扫描到敞开的端口之后,ServerAgent模块将把对应的ip地址和端口号发送至C&C。

图2-4-1 ServerAgent模块衔接C&C

此外,ServerAgent模块下载暗码字典并为Cracker模块装备暗码字典,当scanner模块扫描到某ip地址的特悄然兴起的挖矿机僵尸网络:打效劳器挖价值百万门罗币定端口为敞开状况时,将经过该字典进行爆炸。字典的下载地址为http://ip:8888/wpd.dat,当下载完结之后,ServerAgent模块将从http://ip:8888/wpdmd5.txt获取正确的暗码字典的MD5值并与下载的字典wpd.dat的MD5值进行比照以确认下载文件的正确性。下载的暗码字典wpd.dat是经过加密的,ServerAgent模块读取密钥“cm9vdCpwd2Q=”,对密钥进行base64解密后,运用其解密wpt.dat。解密后的wpd.dat部分内容如下图所示。

图2-4-2 暗码字典的部分内容

wpd.dat实际上是一个xml文件,里边包括mysql,mssql,telnet,wmi,ssh,rdp的暗码字典以及不同的侵略办法履行的shell。此外,wpd博翱公棚.dat中存在一个名为ports的键,当该键的某个子健键值为1时,ServerAgent模块将装备scanner模块使其扫描该子键对应的端口。

图2-4-3 ports键概览

在默许的wpd.dat中,只要mssql子键的值设为1,因而scanner模块只扫描mssql效劳对应的端口(端口号1433)。黑客能够经过装备wpd.dat文件增加、削减、修正扫描端口的数目和类别。

图2-4-4 从抓包数据发现Bot程序只扫描1433端口

风趣的是,ServerAgent模块挑选随机的ip段作为每一轮扫描的ip规划,这和mirai僵尸网络的做法非常相似。如下所示,get_random_ip函数生成的随机ip段为220.176.171.93~220.182.171.87,因而本轮扫描中scanner模块对该ip段进行扫描。

图2-4-5 ServerAgent模块核算并选取随机ip段

图2-4-6 测验中生成的随机ip段

图2-4-7 从抓包数据中发现此轮扫描中Bot程序扫描其随机生成的ip段

Cracker模块剖析

Cracker模块是Bot程序中最重要的模块。该模块用于侵略方针核算机并在方针核算机上履行歹意代码。Cracker模块分为多个小模块,在剖析的样本中包括Cracker:CCTV,Cracker:mssql, Cracker:RDP,Cracker:Telnet四个小模块。依照侵略的端口的不同,Cracker模块供给不同的进犯办法。下面将介绍每一种进犯的完结。

5.1 Cracker:mssql

因为Bot程序默许的暗码字典wpd.dat中指定扫描的效劳为msSQL,因而Cracker:mssql模块是一切Cracker模块中功用最为完善的。在大部分被感染的效劳器的msSQL效劳中都能够发现该模块所履行的歹意动作。

Cracker:mssql模块首要运用爆炸字典爆炸方针的msSQL效劳。假如成功爆炸方针,则登陆SQL Server履行下一步操作。

登陆SQL Server之后,需求在SQL Server中取得履行闻檀的作品集shell的权限,因而Cracker:mssql模块运用多种办法测验取得履行shell的权限,包括:

康复xp_cmdshell。

图2-5-1 康复xp_cmdshell

敞开被制止的xp_cmdshell。

图2-5-2 敞开xp_cmdshell

xp_cmdshell被删去后,运用SP_OACreate履行shell。

图2-5-3 运用SP_OACreate履行shell

敞开CLR enabled选项,运用SQL Server CLR履行shell。

图2-5-4 敞开CLR enabled选项

注册regsvr32.dll履行远端代码所需的组件,运用regsvr32.dll履行shell。

图2-5-5 注册相关组件

经过沙盒履行shell。

2-5-6 经过沙盒履行shell

敞开SQL Agent效劳,运用SQL Agent效劳履行shell。

图2-5-7 敞开SQL Agent效劳马喆新浪博客

Cracker:mssql模块所履行的首要功用首要包括以下几方面:

在c:\\windows\system32\wbem下创立批处理文件dat,并在该文件中写入内容。

图2-5-8 创立123.bat

该批处理文件履行的功用包括对一些程序运转所涉及到的文件和文件夹进行权限设置;运用regsvr32.dll履行远端代码;判别是否存在item.dat,若存在则调用rundll32履行该程序。item.dat是修正异能高手巫金自PCShare(github:https://github.com/isuhao/pcshare)的长途操控程序,C乒坛女将入韩籍&C经过item.dat操控Bot。

创立文件ini,并在该文件中写入内容。

图2-5-9 创立PerfStringse.ini

该文件是个组战略模悄然兴起的挖矿机僵尸网络:打效劳器挖价值百万门罗币板文件,首要是制止一些涉及到的文件的拜访权限。在创立该模板文件之后调用secedit.exe装备组战略。

图2-5-10 调用secedit.exe装备组战略

在c:\\windows\system下创立文件dvr,并在文件中写入内容。

图2-5-11 创立myusa.dvr

myusa.dvr是个ftp下载脚本,首要功用是从down.mys2016.info下载文件1.dat到本地c:\\windows\system途径下,命名为myusago.dvr;下载1.bat到本地c:\\windows\system途径下,命名为backs.bat。

myusago.dvr也是个ftp下载脚本,从down.mys2016.info下载多个文件到本地;backs.bat用于记载体系时间并写入1.txt中。

图2-5-12 myusago.dvr内容

下载的文件中,item.dat是C&C用于操控Bot的长途操控软件;ms.rar实际上便是Bot程序的更新程序cab.exe;ss.bat和Cracker:mssql模块开释的123.bat是同一个文件;未找到op7key.rar文件,猜想与爆炸字典相似。

从myusago.dvr下载的文件不难看出,Bot程序除了履行Cracker:mssql模块中硬编码的歹意代码之外,还经过云端下载相应的歹意程序,这确保与Bot程序相相关的歹意代码能够继续驻留。在剖析的过程中咱们发现,用于进行环境装备和程序运转操控的123.bat批处理脚本是更新最为频频的,从2017年4月份起更新次数超过了10次。

myusago.dvr和myusa.dvr将作为ftp的参数写入命令行中并参加SQL Agent的Job中,每天履行一次。

将Bot程序参加SQL Agent的job中,并顺便参数“-syn 1000”。每次SQL Agent发动时Bot程序也将发动。

图2-5-13 将Bot程序参加SQL Agent的Job中

以Job的办法每20分钟运转一次C:\\Progra~1\mainsoft\install.exe。该程序是一个挂机赚分软件。

图2-5-14 以Job办法履行install.exe

以Job的办法每20分钟履行C:\\windows\debug,C:\\Progra~1\\shengda和C:\\Progra~1\\kugou2010途径下的一切exe。从咱们的监控中发现,Bot程序所开释的挖矿机以及能给黑客带来直接纳益的程序都存在于这几个途径中,黑客经过守时发动这些程序确保收益的连绵不断。

图2-5-15 守时履行C:\\windows\debug下的exe

图2-5-16 守时履行C:\\Progra~1\\shengda下的exe

图2-5-17 守时履行C:\\Progra~1\\kugou2010下的exe

创立ftp下载脚本msinfo.dat,该脚本从down.mys2016.info下载文件到C:\\windows\debug途径下,并命名为bss.exe。之后经过批处理脚本msinfo.bat调用ftp履行下载脚本,下载完结后发动bss.exe,并删去这两个脚本。bss.exe疑似是个远控木马。

图2-5-18 msinfo.dat内容

图2-5-19 msinfo.bat内容

将dat和123.bat参加发动项中。

图2-5-20 将item.dat参加发动项中

图2-5-21 将123.bat参加发动项中

确认权限答应之后,删去SQL用户,并设置SQL SA(超级办理员)帐户及暗码,一起增加多个SQL帐户。完结这步操作之后,黑客正式接收该核算机的SQL Server,办理员无法再经过之前的帐户登录SQL Server。

图2-5-22 增加SQL SA

Cracker:mssql模块还经过SQL Server履行多段shellcode,大部分的shellcode都以SQL Agent的Job办法存在并守时履行。

榜首段shellcode运用wmi中的ActiveScriptEventConsumer类履行脚本代码。该脚本读取http://www.cyg2016.xyz:8888/test.html网页内容,并依据网页内容获取第二组网址,下载文件并履行。

图2-5-23 榜首段shellcode内容

下载的文件包括更新程序cabs.exe和挖矿机lsmosee.exe。挖矿机修正自xmr-stak(github:https://github.com/fireice-uk/xmr-stak-cpu),以32位办法编译,作者在此挖矿机中增加了一个模块,当需求64位挖矿机时,该模块将从C&C下载64位的挖矿机lsmose.exe到本地履行。本样本中,32位挖矿机的途径为“C:\\windows\help”,而64位挖矿机的途径修正为“C:\\windows\debug”。因为作者增加了SQL Agent的Job,使“C:\\windows\debug”途径下的exe文件每20分钟履行一次,猜想作者将挖矿机保存到此目录下是为了确保挖矿机能够安稳运转。

图2-5-24 下载挖矿机和更新程序

第二段shellcode运用js脚本履行歹意代码,脚本功用与榜首段shellcode中的jscript代码相同。

图2-5-25 第二段shellcode内容

第三段shellcode相同运用wmi脚本履行jscript代码,所履行的功用与创立的批处理文件123.bat的功用相同,猜想作者此举为了避免文件123.bat被杀毒软件悄然兴起的挖矿机僵尸网络:打效劳器挖价值百万门罗币铲除而履行的备用计划。

图2-5-26 第三段shellcode内容

第四段shellcode是第三段shellcode的js版别。不难发现,作者关于每段shellcode都预备了wmi和js两种版别,以确保脚本履行的安稳性。

图2-5-27 第四段shellcode内容

第五段shellcode经过康复cmdshell冥炎血影,康复SP_OACreate等办法确保能经过SQL Server履行shell,猜想作者经过Job守时履行这段shellcode以确保shell能长时间存活。

图2-5-28 第五段shellcode内容

第六段shellcode删去C:\\Documents and Settings\Default User\Local Settings\Temporary Internet Files\Content.IE5途径下的文件。因为下载文件时都会在该目录下留下对应的tmp文件,作者此举是为了避免用户经过该目录发现可疑文件,可见作者对痕迹的整理非常仔细。

图2-5-29 第六段shellcode内容

第七段shellcode运用js脚本拜访http://www.cyg2016.xyz:8888/kill.html,该页面是个文件名列表。脚本搜索体系中是否存在与该页面回来的文件名相同的文件,若存在则完毕对应进程并将文件删去。这些文件大多数是一些其他侵略者开释的挖矿机。

图2-5-30 第七段shellcode内容

透过这些文件名咱们发现了一个风趣的现象,在被删去的文件中包括了一些和Bot程序开释的挖矿机文件名非常相似的文件,例如C:\\windows\debug\lsmosee.exe(Bot程序开释的挖矿机是c:\\windows\help\lsmosee.exe和C:\\windows\debug\lsmose.exe)。是作者经过这样的办法进行更新,筛选旧的挖矿机,仍是其他侵略者运用Bot程序守时履行C:\\windows\debug途径下程序的特性坐收渔翁之利就不得而知了。

图2-5-31 待删去文件列表

第八段shellcode将123.bat参加发动项中,此处不再赘述。

第九段shellcode从http://down.mys2016.info:280下载文件到C:\\WINDOWS途径下,并命名为ps.exe。ps.exe实际上是PsExec,一款强壮的长途履行东西,黑客在每台侵略的核算中布置该东西,使每台核算机成为一个操控端,便利构建一个巨大的僵尸网络。

图2-5-32 第九段shellcode内容

第十段shellcode首要是完结SQL提权的一系列操作。

图2-5-33 第十段shellcode内容

第十一段shellcode是运用SQL Server CLR履行shell的payload,从payload中能够发现其拜访http://www.cyg2016.xyz:8888/clr.txt并履行该页面中回来的内容。

图2-5-34payload的部分内容

该页面和http://www.cyg2016.xyz:8888/test.html共同,即下载更新程序和挖矿机到核算机中并运转。

Cracker:mssql模块完结了Bot程序简直一切要完结的功用,包括更新、挖矿、铲除同类程序、守时使命以及SQL Server办理员账户的设置。因为作者现在的暗码字典中将mssql作为仅有进犯方针,因而Cracker:mssql模块如此完善也是能够了解的。若之后作者敞开了其他进犯办法,其他的Cracker模块也将变得愈加完善。

Cracker:Telnet

Cracker:Telnet模块是除了Cracker:mssql模块之外较为完善的一个我的美艳模块。作者充分运用mirai僵尸网络的长处构建了一套相似于mirai的Telnet侵略模块。

在履行Cracker:Telnet模块之前,Bot程序在ServerAgent模块中装备T中首上上策elnet侵略进犯的payload。ServerAgent模块会依据不同的渠道架构从资源段中读取payload并将其转化为十六进制字节码的办法。

图2-5-35 从资源段读取payload

在payload中咱们发现一些mirai相关的标识,经过比照发现Bot程序所运用的payload便是mirai僵尸网络的payload(github:https://github.com/jgamblin/Mirai-Source-Code/tree/master/loader/bins),这些payload适用于不同的渠道架构(arm,arm7,m68k,mips,mpsl,ppc,sh4,spc,x86)。

图2-5-36 payload中mirai的相关标识

除了payload与mirai相同之外,Cracker:Telnet模块也根本修正自mirai源码,包括暗码爆炸功用和侵略功用。

图2-5-3悄然兴起的挖矿机僵尸网络:打效劳器挖价值百万门罗币7 Cracker:Telnet模块中的mirai特征

mirai在经过Telnet侵略之前会装备一个ip地址用于作为report效劳器地址,用于回来扫描成果,在剖析中咱们也发现了一个疑似report效劳器ip地址。假如Bot程序的发动参数中包括“-srv”,则ServerAgent模块会从暗码字典中读取名为telnetip的子键的键值,该键值是个ip地址,之后被传入Cracker:Telnet模块中。假如发动参数中包括“-cli”,Bot程序会从当时目录下的wpdconfig.ini文件中读取ip地址。

图2-5-38 暗码字典中的report效劳器地址

因为Cracker:Telnet模块与mirai相差无几,在此不再赘述,感兴趣的读者能够检查mirai源码(github:https://github.com/jgamblin/Mirai-Source-Code)。

Cracker:RDP

Cracker:RDP模块修正自hydra(github:https://github.com/vanhauser-thc/thc-hydra)的RDP部分。hydra是一款支撑多种网络效劳的强壮的暴力破解东西,Cracker:RDP模块运用了其源码中的rdp.c文件,用于对敞开了RDP效劳端口的核算机进行爆炸。不同于Cracker:mssql模块和Cracker:Telnet模块,Cracker:RDP模块仅仅进行爆炸而未参加任何侵略以及代码履行的功用。

图2-5-39 Cracker:RDP模块扫描端口

Cracker:CCTV

Cracker:CCTV模块是一个CCTV摄像头侵略模块。该模块会向http://Targetip:port/shell?…(…的内容猜想是用户名&暗码)发送GET恳求,一旦恳求回来的状况值不为400,401,403,404或500,则以为该ip地址和端口号对应的CCTV摄像头能够被侵略。

图2-5-40 Cracker:CCTV模块扫描CCTV摄像头

因为在暗码字典wpd.dat中并没有装备CCTV相关的键值,猜想该模块是和Cracker:Telnet模块结合运用的。因为mirai中含有辨认特定IOT设备的代码,而Cracker:Telnet模块又是修正自mirai,猜想当Cracker:Telnet模块发现某台设备为CCTV摄像机时则经过Cracker:CCTV模块进行侵略。

其他模块

在Bot程序前期的版别中(2016年10月编译的版别)峰雨配偶还发现了Cracker:MySQL模块,Cracker:SSH模块和Cracker:WMI模块,这些模块的功用都是在被侵略的核算机中履行shell。

图2-5-41 Cracker:MySQL模块

图2-5-41 Cracker:WMI模块

图2-5-41 Cracker:WMI模块

不过这几个模块在之后的版别中都被移除了,而本来功用简略的Cracker:mssql模块在之后的版别中得到了完善。

cService模块剖析

cService模块用于办理Bot效劳,Bot效劳是Service办法的Bot程序。

当Bot程序的发动参数中包括“-create”时,cService模块创立名为“xWinWpdSrv”的效劳,该效劳以“-s –syn 1500”作为发动参数发动Bot程序。

图2-6-1 创立Bot效劳

当Bot程序的发动参数包括“-delete”时,cService模块删去“xWinWpdSrv”效劳。

图2-6-2 删去Bot效劳

当Bot程序的发动参数包括“-start”时,cService模块发动“xWinWpdSrv”效劳。

图2-6-3 发动Bot效劳

当B麦斯特蛋糕ot程序的发动参数包括“-stop”时,cService模块中止“xWinWpdSrv”效劳。

图2-6-4 中止Bot效劳

Bot程序模块很多,而且各模块之间联系严密,相互合作。此外,Bot程序与其他组件相得益彰,以确保进犯者对核算机的耐久操控以及僵尸网络的不断强大。以下将用一个联系图描绘Bot程序与其他组件之间的相关。

图2-6-5 Bot程序与其他组件联系图

第三部分 防护总结

从僵尸网络当时的进犯要点来看,防备其经过1433端口侵略核算机对错常有必要的。此外,Bot程序还有多种进犯办法没有运用,这些进犯办法或许在未来的某一天被敞开,因而也需求防备或许发生的进犯。对此,咱们总结以下几个防护战略:

1.关于未遭到侵略的效劳器,留意msSQL,RDP,Telnet等效劳的弱口令问题。假如这些效劳设置了弱口令,需求赶快修正;

2.关于无需运用的效劳不要随意敞开,敞开的效劳是黑客侵略的条件。关于有必要运用的效劳,留意相关效劳的弱口令问题;

3.特别留意445端口的敞开状况。因为黑客从前运用永久之蓝缝隙侵略核算机,不扫除黑客故技重施。及时打上补丁更新操作体系对错常有必要的。

4.重视效劳器运转状况,留意CPU占用率和进程列表和网络流量状况能够及时发现体系存在的反常。此外,留意体系账户状况,禁用不必要的账户。

5.关于网络摄像头持有者,主张修正默许暗码以避免黑客直接运用默许暗码爆炸。

该僵尸网络如今首要依托端口扫描和弱口令爆炸进行传达,但其在“永久之蓝”缝隙进犯兵器呈现之初就运用该兵器侵略了必定数量的核算机,可见其关于最新曝光的缝隙运用以及进犯办法的把握非常迅速,因而需时间警觉其或许建议的严重进犯。

附录

相关文件MD5

相关ip地址和域名

暗码字典

原创文章,作者:360安全,转载自:http://www.mottoin.com/article/reverse/105241.html