挖矿
:
每隔一个时间点,比特币系统会在系统节点上生成一个随机代码,互联网中的所有计算机都可以去寻找此代码,谁找到此代码,就会产生一个区块。而比特币的发行是基于奖励的,每促成一个区块的生成,该节点便获得相应奖励,这样大家就有动力投入资金去维护整个交易网络的正常运行。这个寻找代码获得奖励的过程就是挖矿。但是要计算出符合条件的值需要进行上万亿次的哈希运算,这个过程需要大量的算力,于是部分黑客就会通过入侵服务器的方式来控制别人的计算机帮助自己挖矿。
挖矿木马
:
攻击者通过各种手段将挖矿程序植入受害者的计算机中,在受害者不知情的情况下利用其计算机的算力
进行挖矿,从而获取利益,这类非法植入用户计算机的挖矿程序就是挖矿木马。挖矿木马一般为自动化扫描、攻击、部署挖矿进程的脚本,攻击者首先将挖矿脚本放在远程主机上,通过常见或最新爆出的可命令执行的自动化漏洞利用脚本获得主机的控制权后,登陆主机,利用wget或curl直接下载远程挖矿进程部署脚本,执行脚本进行挖矿进程的部署、隐藏、持久化和痕迹清除等工作。挖矿木马为了能够长期在服务器中驻留,会采用多种安全对抗技术,如修改任务计划、修改防火墙配置、修改系统动态链接库等,使用这些技术手段严重时可能造成服务器业务中断。
算力(也称哈希率)
:
是比特币网络处理能力的度量单位。即为计算机(CPU)计算哈希函数输出的速度。比特币网络必须为了安全目的而进行密集的数学和加密相关操作。 例如,当网络达到10Th/s的哈希率时,意味着它可以每秒进行10万亿次计算。
在通过挖矿得到比特币的过程中,我们需要找到其相应的解m,而对于任何一个六十四位的哈希值,要找到其解m,都没有固定算法,只能靠计算机随机的hash碰撞,而一个挖矿机每秒钟能做多少次hash碰撞,就是其“算力”的代表,单位写成hash/s,这就是所谓工作量证明机制POW(Proof Of Work)。
1、通过已知漏洞获得主机控制权;
2、下载远程挖矿脚本;
3、删除本机中可能存在的其他挖矿进程;
4、生成特征文件避免重复感染;
5、判断主机系统类型和位数,隐藏并运行挖矿进程;
6、如果有GPU则进行GPU挖矿;
7、挖矿进程的驻留与持久化;
8、部分有蠕虫功能的脚本还会以当前主机为跳板,利用已知漏洞和弱口令进行局域网扫描,以控制更多主机;
9、清除痕迹。
2.1、利用漏洞传播
为了追求高效率,攻击者一般会通过自动化脚本扫描互联网上的所有机器,寻找漏洞,然后部署挖矿进程。因此,大部分的挖矿都是由于受害者主机上存在常见漏洞,如Windows系统漏洞、服务器组件插件漏洞、中间件漏洞、Web漏洞等,利用系统漏洞可快速获取相关服务器权限,植入挖矿木马。
2.2、通过弱密码暴力破解传播
挖矿木马会通过弱密码暴力破解进行传播,但这种方法攻击时间较长。
2.3、通过僵尸网络传播
利用僵尸网络也是挖矿木马重要的传播方法,如利用Mykings、 WannaMine、Glupteba等控制大量主机。攻击者通过任务计划、数据库存储过程、WMI等技术进行持久化攻击,很难被清除,还可随时从服务器下载最新版本的挖矿木马,控制主机挖矿。
2.4、采用无文件攻击方法传播
通过在PowerShell中嵌入PE文件加载的形式,达到执行“无文件”形式挖矿攻击。新的挖矿木马执行方法没有文件落地,会直接在PowerShell.exe进程中运行,这种注入“白进程”执行的方法更加难以实施检测和清除恶意代码。
2.5、利用网页挂马传播
在网页内嵌入挖矿JavaScript脚本,用户一旦进入此类网页,脚本就会自动执行,自动下载挖矿木马。
2.6、利用软件供应链攻击传播
软件供应链攻击是指利用软件供应商与最终用户之间的信任关系,在合法软件正常传播和升级过程中,利用软件供应商的各种疏忽或漏洞,对合法软件进行劫持或篡改,从而绕过传统安全产品检查,达到非法目的的攻击。例如,2018年12 月出现的DTLMiner是利用现有软件升级功能进行木马分发,属于供应链攻击传播。攻击者在后台的配置文件中插入木马下载链接,导致在软件升级时下载木马文件。
2.7、利用社交软件、邮件传播
攻击者将木马程序伪装成正规软件、热门文件等,通过社交软件或邮件发送给受害者,受害者一旦打开相关软件或文件就会激活木马。
2.8、内部人员
私自安装和运行挖矿程序机构、企业内部人员带来的安全风险往往不可忽视,需要防范内部人员私自利用内部网络和机器进行挖矿获取利益。
1、Outlaw
Outlaw僵尸网络首次被发现于2018年11月,当时其还只是一个通过漏洞入侵IoT设备和Linux服务器并植入恶意程序组建僵尸网络的组织,主要从事DDoS攻击活动,在暗网中提供DDoS出租服务。在后续的发展过程中,受虚拟货币升值影响,也逐步开始在僵尸网络节点中植入挖矿木马,并利用僵尸网络对外进行渗透并扩张,获得更为庞大的计算资源,旨在挖矿过程中获取更多的虚拟货币。
挖矿木马家族 | 针对平台 | 传播方式 | 利用漏洞 | 挖矿币种 |
---|---|---|---|---|
Outlaw | Linux | 漏洞利用 、 SSH暴力破解 | shellshock Flaw、Drupalgeddon2漏洞 | 门罗币(XMR) |
2、Tor2Mine
Tor2Mine挖矿组织从2018年开始出现,以擅长挖取加密货币和提供恶意软件而闻名,该组织曾部署过其他恶意软件,包括信息窃取恶意软件AZORult、远程访问工具Remcos、DarkVNC后门木马和窃取剪贴板上的加密货币数据盗取更多钱。Tor2Mine名字的由来是因为在某些变种中使用了Tor网关与虚拟货币的C2服务器进行通信,因此叫做Tor2Mine。在2021年,Tor2Mine变得非常活跃,使用 PowerShell脚本尝试禁用安全软件、执行挖矿程序并执行Mimikatz远程脚本获取Windows凭据以获得管理权限。使用这些窃取的凭据,Tor2Mine可以主动传播,如果没有完全清除或者没有安全软件保护,它将继续侵害受感染网络上的其他系统。
挖矿木马家族 | 针对平台 | 传播方式 | 利用漏洞 | 挖矿币种 |
---|---|---|---|---|
Tor2Mine | Windows | 漏洞利用 | 未知 | 门罗币(XMR) |
2021年12月,研究人员发现Tor2Mine使用新变种开始传播,Tor2Mine使用 PowerShell脚本尝试禁用安全软件、执行挖矿程序并获取Windows凭据。使用这些窃取的凭据,Tor2Mine 可以主动传播,如果没有完全清除或者没有安全软件保护,它将继续侵害受感染网络上的其他系统。
3、Team***
Team***是一个针对云主机和容器化环境进行攻击的网络威胁组织,该组织最早出现于2019年10月,入侵目标系统后植入挖矿木马和僵尸网络程序,利用目标系统资源进行挖矿并组建僵尸网络。经过近几年发展,该组织控制的僵尸网络规模庞大,所使用的攻击组件更新频繁;该组织引起网络安全防御方的持续关注和跟踪,对其攻击活动给予多次披露。
挖矿木马家族 | 针对平台 | 传播方式 | 利用漏洞 | 挖矿币种 |
---|---|---|---|---|
TeamTNT | Windows、Linux | 漏洞利用、凭证窃取 | Docker Remote API未授权访问漏洞 | 门罗币(XMR) |
Team***对Kubernetes平台发起攻击,近50000个IP遭受攻击;Team***利用Kubernetes平台暴露的API接口,写入并执行恶意脚本,安装门罗币挖矿程序,部署网络扫描工具masscan和banner探测工具Zgrab,后续下载并安装IRC Bot。经研究人员监测发现,本次攻击活动时间在2021年3月至5月间,涉及50000个目标IP地址,其中,中国和美国的IP地址命中率最高。
4、H2Miner
H2Miner挖矿木马最早出现于2019年12月,爆发初期及此后一段时间该挖矿木马都是针对Linux平台,直到2020年11月后,开始利用WebLogic漏洞针对Windows平台进行入侵并植入对应挖矿程序。此外,该挖矿木马频繁利用其他常见Web组件漏洞,入侵相关服务器并植入挖矿程序。例如,2021年12月,攻击者利用Log4j漏洞实施了H2Miner挖矿木马的投放。
挖矿木马家族 | 针对平台 | 传播方式 | 利用漏洞 | 挖矿币种 |
---|---|---|---|---|
H2Miner | Windows、Linux | 漏洞利用 | SaltStack RCE(CVE-2020-11651)、ThinkPHP5 RCE、Apache Solr’ s DatalmportHandler (CVE-2019-0193)、Redis未授权RCE、Confluence 未授权RCE(CVE-2019-3396) 、WebLogic RCE 漏洞(CVE -2020-14882/14883)、Log4j漏洞(CVE- 2021-44228) | 门罗币(XMR) |
2021年春节期间,H2Miner挖矿团伙趁春节假期安全运维相对薄弱,利用多个漏洞武器攻击我国云上主机,并利用失陷主机实施挖矿,大量消耗受害主机CPU资源,严重影响了相关主机正常服务运行。
5、Satan DDoS
Satan DDoS是一个具备DDoS和投放挖矿程序的僵尸网络,恶意软件的作者将他们的恶意软件称之为“Satan DDoS”,为了区别于Satan勒索软件,Unit42研究人员将其称为“Lucifer”。该僵尸网络最早出现时间是在2020年5月29日,初期利用CVE-2019-9081漏洞入侵具备Laravel Framework 5.7.x版本组件的服务器,植入挖矿程序和僵尸网络程序,实现僵尸网络的组建,形成庞大的挖矿和对外DDoS攻击的能力。在后期,该僵尸网络该利用多个漏洞和暴力破解传播挖矿程序和扩展僵尸网络。
挖矿木马家族 | 针对平台 | 传播方式 | 利用漏洞 | 挖矿币种 |
---|---|---|---|---|
Satan DDoS/Lucifer | Windows、Linux | 漏洞利用、暴力破解 | CVE-2014-6287、CVE-2018-1000861、CVE-2017-10271、ThinkPHP RCE漏洞(CVE-2018-20062)、CVE-2018-7600 、CVE-2017-9791、CVE-2019-9081、PHPStudy Backdoor RCE、CVE-2017-0144、CVE-2017-0145、CVE-2017-8464 | 门罗币(XMR) |
6、Sysrv-hello
Sysrv-hello挖矿木马最早被发现于2020年12月3日,初始样本感染大量服务器,经变种传播,一直持续至今。该挖矿木马具备多种功能,如端口扫描功能,Linux网关探测功能、WebLogic、Tomcat、MySQL等应用的RCE漏洞利用功能,植入挖矿木马功能。
挖矿木马家族 | 针对平台 | 传播方式 | 利用漏洞 | 挖矿币种 |
---|---|---|---|---|
Sysrv-hello | Windows、Linux | 漏洞利用 | Mongo Express RCE (CVE-2019-10758)、XXL-JOB Unauth RCE、XML-RPC (CVE-2017-11610)、Saltstack RCE ( CVE-2020-16846)、ThinkPHP RCE、Drupal Ajax RCE (CVE-2018-7600) | 门罗币(XMR) |
Sysrv-hello新变种于2021年4月20日开始传播,经分析确认,新变种能够在目标系统上检查是否存在相关网页文件或网站目录,以此判定系统是否提供Web服务。若目标系统提供Web服务,则将挖矿木马移动至对应路径中,并修改其中的网页文件,实现用户访问该网页时下载并执行该挖矿木马,进一步扩展挖矿木马传播范围。
7、云铲
2021年2月,安天CERT在网络安全监测中发现一起针对Linux系统挖矿木马事件。经分析研判,该挖矿木马自身中硬编码了一段某云平台网段IP地址,并对该网段IP地址进行22端口弹出和暴力破解,基于其攻击特性,安天CERT将该挖矿木马命名为“云铲”。
挖矿木马家族 | 针对平台 | 传播方式 | 利用漏洞 | 挖矿币种 |
---|---|---|---|---|
云铲 | Linux | 暴力破解 | 无 | 门罗币(XMR) |
8、HolesWarm
HolesWarm是一个跨平台的蠕虫病毒,最早爆发于2021年6月,在一个月时间内使用了20多种漏洞对目标系统进行漏洞利用并植入挖矿木马。该蠕虫病毒使用的漏洞覆盖的组件和应用较多,这些组件和应用在国内使用频繁。如用友,致远等OA办公软件和Tomcat、WebLogic、Shiro、Structs 2等组件。
挖矿木马家族 | 针对平台 | 传播方式 | 利用漏洞 | 挖矿币种 |
---|---|---|---|---|
HolesWarm | Windows、Linux | 漏洞利用 | Hadoop Yarn未授权命令执行漏洞、用友GRP-U8注入-命令执行漏洞、Struts2 RCE命令执行漏洞、XXL-JOB未授权添加任务命令执行漏洞 | 门罗币(XMR) |
2021年6月上旬以来,在近一个月时间内,一个蠕虫病毒迅速传播扩散并植入挖矿木马。在此期间利用漏洞多达20余种,漏洞利用的对应软件包括用友、致远等OA办公软件,及其它Tomcat、WebLogic、Structs 2、Spring等组件,以至于被业界称之为“漏洞利用之王”,该挖矿木马同时也被命名为“HolesWarm”。
9、WannaMine
WannaMine主要针对搭建WebLogic的服务器,也攻击PHPMyadmin、Drupal等Web应用。WannaMine将染毒机器用“无文件”攻击方法构建一个健壮的僵尸网络,并且支持内网自更新。WannaMine通过WMI类属性存储shellcode,并使用“永恒之蓝”漏洞攻击武器及“Mimikatz+WMIExec"攻击组件,在同一局域网进行横向渗透,以隐藏其恶意行为。2018年6月,WannaMine增加了DDoS模块,改变了以往的代码风格和攻击手法。2019年4月,WannaMine舍弃了原有的隐藏策略,启用新的C2地址存放恶意代码,采用PowerShell内存注入执行挖矿程序和释放PE木马挖矿的方法进行挖矿,增大了挖矿程序执行成功的概率。
挖矿木马家族 | 针对平台 | 传播方式 | 利用漏洞 | 挖矿币种 |
---|---|---|---|---|
WannaMine | Windows | 漏洞利用 | 永恒之蓝等 | 门罗币(XMR) |
10、Mykings (隐匿者)
Mykings在2017年被多家安全厂商披露,至今仍然处于活跃状态,也是迄今为止发现的最复杂的僵尸网络之一。Mykings主 要利用“永恒之蓝”漏洞,针对MsSQL、Telnet、 RDP、 CCTV等系统组件或设备进行密码暴力破解。Mykings在暴力破解时还集成了丰富的弱密码字典和针对MsSQL的多种命令执行方法。暴力破解成功后,利用扫描攻击进行蠕虫式传播。Mykings不仅局限于挖矿获利,还与其他黑产家族合作完成锁首页、DDoS攻击等工作。
挖矿木马家族 | 针对平台 | 传播方式 | 利用漏洞 | 挖矿币种 |
---|---|---|---|---|
Mykings (隐匿者) | Windows | 暴力破解 | MsSQL、Telnet、 RDP、 CCTV等系统组件或设备进行密码暴力破解 | 门罗币(XMR) |
11、Bulehero
Bulehero被披露于2018年8月,其专注于攻击Windows服务器,由于最早使用bulehero.in域名,因此被命名为Bulehero。早期,Bulehero并非使用bulehero.in这个域名作为载荷下载URL,而是直接使用IP地址173.208.202.234。Bulehero不仅使用弱密码暴力破解,并且利用多个服务器组件漏洞进行攻击,攻击主要分为Windows系统漏洞、Web组件漏洞、各类弱密码暴力破解攻击三种类型。
2018年12月,Bulehero成为首个使用远程代码执行漏洞入侵服务器的病毒,而这次入侵也使Bulehero控制的僵尸机数量暴涨。
挖矿木马家族 | 针对平台 | 传播方式 | 利用漏洞 | 挖矿币种 |
---|---|---|---|---|
Bulehero | Windows | 漏洞利用、暴力破解 | Windows系统漏洞、Web组件漏洞、各类弱密码暴力破解攻击、远程代码执行 | 门罗币(XMR) |
12、“匿影”挖矿木马
2019年3月,出现了一种携带NSA全套武器库的新变种挖矿木马“匿影”,该挖矿木马大肆利用功能网盘和图床隐藏自己,在局域网中利用“永恒之蓝”和“双脉冲星”等漏洞进行横向传播。由于该挖矿木马具有极强的隐蔽性和匿名的特点,因此给安全厂商的分析检测增加了难度。自该挖矿木马被发现以来,其进行不断更新,增加了挖矿币种、钱包ID、矿池、安装流程、代理等基础设施,简化了攻击流程,启用了最新的挖矿账户,同时挖掘PASC币、门罗币等多种数字加密货币。
挖矿木马家族 | 针对平台 | 传播方式 | 利用漏洞 | 挖矿币种 |
---|---|---|---|---|
匿影 | Windows | 漏洞利用 | 永恒之蓝、双脉冲星 | 门罗币(XMR) |
13、DDG
DDG被披露于2017年10月,是一个Linux系统下用go语言实现的挖矿木马。2018年, DDG-跃成为继Mykings之后,收益第二多的挖矿木马。DDG利用Orientdb 漏洞、Redis未授权访问漏洞、SSH弱密码进行入侵。入侵主机后会下载i.sh的恶意脚本和DDG恶意程序,然后启动
disable.sh脚本清理其他挖矿程序,在与攻击者控制的中控服务器通信后启动挖矿程序,挖掘门罗币等获利。
挖矿木马家族 | 针对平台 | 传播方式 | 利用漏洞 | 挖矿币种 |
---|---|---|---|---|
DDG | Linux | 漏洞利用、暴力破解 | Orientdb漏洞、Redis未授权访问漏洞、SSH弱密码 | 门罗币(XMR) |
14、MinerGuard
2019年4月,MinerGuard爆发, 其与DDG一样是由go语言实现的挖矿木马,但不同的是它可跨Windows和Linux两个平台进行交叉感染。其利用Redis未授权访问漏洞、SSH弱密码、多种Web服务漏洞进行入侵,成功入侵主机后会运行门罗币挖程序,并且通过多个网络服务器漏洞及暴力破解服务器的方法传播。攻击者可以随时通过远程服务器为MinerGuard发送新的病毒模块,且通过以太坊钱包更新病毒服务器地址。
挖矿木马家族 | 针对平台 | 传播方式 | 利用漏洞 | 挖矿币种 |
---|---|---|---|---|
MinerGuard | Windows、Linux | 漏洞利用、暴力破解 | Redis未授权访问漏洞、SSH弱密码、多种Web服务漏洞 | 门罗币(XMR) |
15、Kworkerds
Kworkerds于2018年9月爆发,是一个跨Windows和Linux平台的挖矿木马,它最大的特点是通过劫持动态链接库植入rootkit后门。Kworkerds主要利用Redis未授权访问漏洞、SSH弱密码、WebLogic远程代码执行等进行入侵,入侵后下载mr .sh/ 2mr.sh恶意脚本运行,植入挖矿程序。该挖矿木马在代码结构未发生重大变化的基础上频繁更换恶意文件下载地址,具备较高的活跃度。
挖矿木马家族 | 针对平台 | 传播方式 | 利用漏洞 | 挖矿币种 |
---|---|---|---|---|
Kworkerds | Windows、Linux | 漏洞利用 | Redis未授权访问漏洞、SSH弱密码、WebLogic远程代码执行 | 门罗币(XMR) |
16、Watchdogs
Watchdogs是2019年4月爆发的Linux系统下的挖矿木马。Watchdogs利用SSH弱密码、WebLogic远程代码执行、Jenkins漏洞 、ActiveMQ漏洞等进行入侵,还利用新公开的Confluence RCE漏洞大肆传播。 其包含自定义版本的UPX加壳程序,会尝试获取root权限,进行隐藏。
挖矿木马家族 | 针对平台 | 传播方式 | 利用漏洞 | 挖矿币种 |
---|---|---|---|---|
Watchdogs | Linux | 暴力破解 | SSH弱密码、WebLogic远程代码执行、Jenkins漏洞 、ActiveMQ漏洞、Confluence RCE | 门罗币(XMR) |
挖矿木马入侵Windows服务器的常用漏洞 | |
---|---|
攻击平台 | 漏洞编号 |
WebLogic | CVE-2017-3248、CVE-2017-10271、CVE-2018-2628、CVE-2018-2894 |
Drupal | CVE-2018-7600、CVE- 2018-7602 |
Struts2 | CVE-2017-5638、CVE-2017-9805、CVE-2018-11776 |
ThinkPHP | ThinkPHPv5 GetShell |
Windows Server | 弱密码暴力破解、CVE-2017-0143 |
PHPStudy | 弱密码暴力破解 |
PHPMyAdmin | 弱密码暴力破解 |
MySQL | 弱密码暴力破解 |
Spring Data Commons | CVE-2018-1273 |
Tomcat | 弱密码暴力破解、CVE-2017-12615 |
MsSQL | 弱密码暴力破解 |
Jekins | CVE-2019-1003000 |
JBoss | CVE-2010-0738、CVE-2017-12149 |
Docker | Docker未授权漏洞 |
Nexus Repository | Nexus Repository Manager 3远程代码执行漏洞 |
ElasticSearch | ElasticSearch未授权访问漏洞 |
Hadoop Yarn | Hadoop Yarn REST API 未授权漏洞 |
Spark | Spark REST API未授权漏洞 |
如何判断遭遇挖矿木马攻击:
1、被植入挖矿木马的计算机会出现CPU使用率飙升、系统卡顿、部分服务无法正常运行等现象。
2、通过服务器性能监测设备查看服务器性能,从而判断异常。
3、挖矿木马会与矿池地址建立连接,可通过查看安全监测类设备告警判断。
点击查看Windows入侵排查
点击查看Linux入侵排查
当发生应急响应事件时,应急响应工程师需要对挖矿木马事件进行初步判断,了解事态现状、系统架构、感染时间等,并确定感染面;还要及时提供临时处置建议,对已被挖矿的服务器/主机下线隔离,对未被挖矿的服务器/主机做好防护。挖矿木马会与矿池地址建立连接,可以利用安全监测类设备查看挖矿范围。
部分带有蠕虫功能的挖矿木马在取得当前服务器/主机的控制权后,会以当前服务器/主机为跳板,对同一局域网内的其他机器进行漏洞扫描和利用。所以在发现挖矿现象后,在不影响业务的前提下应及时隔离当前服务器/主机,如禁用非业务使用端口、服务,配置ACL白名单,非重要业务系统建议先下线隔离,再做排查。
将被感染服务器/主机做完基本隔离后,就要确认哪些是挖矿木马正在运行的进程,以便执行后续的清除工作。
挖矿程序的进程名称一般表现为两种形式:
1、程序命名为不规则的数字或字母;
2、伪装为常见进程名,仅从名称上很难辨别。所以在查看进程时,无论是看似正常的进程名还是不规则的进程名,只要是CUP占用率较高的进程都要逐一排查。
1、查看挖矿木马文件创建时间
通过挖矿木马文件创建的时间,可以判断其初始运行时间。但单从文件属性来查看有时也不准确,挖矿程序常会利用任务计划方法定时运行,每次运行将会更新文件运行时间。
2、查看任务计划创建时间
挖矿木马通常会创建任务计划,定期运行,所以可以查看任务计划的创建时间。但任务计划也可能存在更新的情况,若进行了二次更新,则会刷新更新时间。另外,还有的挖矿木马拥有修改文件创建时间和任务计划创建时间的功能,以此达到伪装的目的。
3、查看矿池地址
挖矿木马会与矿池地址建立连接,所以可通过安全监测类设备查看第一次连接矿池地址的时间,也可以作为判断依据。
了解网络部署环境才能够进一步判断传播范围。需要了解的内容包括:网络架构、主机数据、系统类型、相关安全设备(如流量设备、日志监测)等。如果内网没有划分安全域,那么病毒也可能会在内网中大面积传播;如果内网划分了安全域,那么可有效减小感染面积。
挖矿木马一般会创建恶意的进程连接矿池,利用系统内存、CPU、GPU资源来进行挖矿,同时会利用系统功能来实现病毒的持久化,如创建用户、服务、任务计划、注册表、启动项等,甚至可能会修改防火墙策略。因此,在初步排查阶段就应该检查是否存在恶意用户,检查网络是否与异常IP地址建立连接,检查进程、服务、任务计划等,来判断主机是否已感染了挖矿木马。
Windows系统排查方法:
1、检查用户信息
攻击者为了能够在系统中持久化驻留,可能会创建新的用户,如k8h3d用户,该用户是很流行的供应链攻击中的驱动人生挖矿蠕虫病毒创建的一个后门用户。
使用net users
命令,可查看系统用户情况;
打开计算机管理-->本地用户和组
中可查找可疑用户及隐藏用户(用户名以$结尾的为隐藏用户);
有时攻击者也会克隆正常的用户名来隐蔽自己,通过注册表方法查找克隆用户;
通过专门的工具查找克隆用户,如使用LP_Check工具进行排查。
2、网络连接排查
大多数挖矿木马一般会通过“永恒之蓝”漏洞在内网传播,如驱动人生挖矿蠕虫病毒,Nrs挖矿木马等。所以当看到一个进程对一个网段主机发送大量的445请求时,基本可以判断其为恶意进程,然后再通过恶意进程PID确定挖矿木马位置。
使用netstat -ano | find "445"
命令,可查看网络连接,发现本地IP地址及大量访问其他主机的445端口。
查看网络连接也可以使用TCPView工具。TCPView工具可用于检测当前系统中的进程及其对应的连接状态。 进程标记为绿色时表示该连接为新发起的,标记为红色时表示该连接为结束状态。
3、进程排查
若存在恶意网络连接,则可根据进程PID定位具体的位置;若没有发现恶意网络连接,则需要对主机的进程进行排查。
当恶意进程排查相对困难时,可以使用PCHunter工具进行协助。但要注意,针对重要业务在线服务器及比较旧的系统,尽量不要使用PCHunter,因为其易触发蓝屏,导致服务器重启或业务中断等。
4、任务计划排查、服务排查
大部分挖矿木马会持久化驻留,主要通过建立任务计划的方法定期在后台执行。在Windows系统中打开任务计划程序窗口
,可查看异常的任务计划。
5、日志排查
系统日志记录着Windows系统及其各种服务运行的细节,起着非常重要的作用。默认情况下,Window系统日志存放在%SystemRoot%\System32\Winevt\Logs
中,分别为:Application.evtx (应用程序日志)、Security.evtx (安全性日志)、System.evtx (系统日志)
。可以使用系统自带的事件查看器查看安全性日志,如查看是否存在大量审核失败的日志(暴力破解)等。
进行挖矿木马应急响应时常用的有关检测事件ID:
4728:表示把用户添加进安全全局组,如Administrators组;
4797:表示试图查询账户是否存在空白密码;
4624:表示在大部分登录事件成功时会产生的日志;
4625:表示在大部分登录事件失败时会产生的日志(解锁屏幕并不会产生这个日志);
4672:表示在特权用户登录成功时会产生的日志,如登录Administrator, 一般会看到4624和4672日志一起出现;
4648:表示一些其他的登录情况。
Linux系统排查方法:
处理Linux系统的挖矿木马时,需要检查用户信息、进程等。
1、检查用户信息
查看系统所有用户信息可使用命令cat /etc/passwd
,检查中需要与管理员确认是否有可疑用户。
可使用如下命令判断可疑用户:
lastlog
:可查看系统中所有用户最后的登录信息;
lastb
:可查看用户错误登录列表;
last
:可查看用户最近登录信息(数据源为/var/log/wtmp、var/log/btmp、/var/log/utmp) , wtmp存储登录成功的信息、btmp存储登录失败的信息、utmp存储当前正在登录的信息;
who
:可查看当前用户登录系统的情况;
awk -F: 'length ($2) ==0 {print $1}' /etc/shadow
:可查看是否存在空口令账户。
2、检查进程
ps aux
:查看系统进程。一般,挖矿木马在Linux系统的运行命令行会带一个矿池网站的参数,并且可以看到该进程占用大量CPU资源。根据挖矿占用大量CPU资源和与矿池建立连接的特征基本可以确定该进程为挖矿进程。
netstat -antp
:可查看进程、端口及对应的PID,然后根据PID,利用Is -alh /proc/PID
命令,可查看其对应的可执行程序,查看是否存在可疑文件,对其进行分析,以确认是否为恶意文件。也可以通过挖矿链接地址进行确认。
top
:排查CPU占用率较高的可疑进程。发现可疑进程后,使用lsof -p PID
命令,查看PID对应的可执行程序,使用Isof -i :port
命令,查看指定端口对应的程序。
经过上述步骤,一 般能够定位到异常进程及文件。在发现恶意挖矿流量,但没有发现异常进程的情况下,挖矿进程有可能被隐藏或当前使用的命令被替换。
在这种情况下,可以使用`rpm -Va`命令来检测,检测出的变动参数如下:
S:表示文件的长度发生了变化;
M:表示文件的访问权限或文件类型发生了变化;
5:表示MD5发生了变化;
D:表示设备节点的属性发生了变化;
L:表示文件的符号链接发生了变化;
U:表示文件/子目录/设备节点的owner发生了变化;
G:表示文件/子目录/设备节点的group发生了变化;
T:表示文件最后-次修改的时间发生了变化。
如果遇到top、ps和netstat一类的命令被修改的的情况,那么再查看进程或网络连接可能就不准确了,可以使用BusyBox工具进行查看。
如果是恶意进程,可以使用kill -9 PID
命令来结束进程,然后使用rm -f filename
命令来删除病毒。如果root用户无法删除相关文件,那么很可能是因为文件被添加了i(加锁)属性,使用lsattr filename
命令,可查看文件属性,然后使用chattr -i filename
命令,可移除i(加锁)属性,进而删除文件。
另外,挖矿木马通常利用定时任务来实现持久化驻留,简单查杀进程和程序不一定能完全解决问题。因此可使用crontab -l
命令,查看任务计划。
以上指定的所有命令很可能会被攻击者恶意替换,所以可使用以下方法判断:
1、可在命令目录查看相关系统命令的修改时间,如使用ls -alt /bin
命令查看;
2、可查看相关文件的大小,若明显偏大,则很可能被替换;
3、可使用rpm -Va
命令,查看发生过变化的软件包,若一切校验均正常,则将不会产生任何输出;
4、可使用第三方查杀工具,如chkrootkit、rkhunter等 。
3、日志排查
在查找日志之前,可以在网上搜索挖矿程序名和矿池名,有很大概率可以发现之前“中招”的用
户案例或安全厂商提供的类似分析文档,以便快速排查入侵原因。
1、查看任务计划日志:
crontab -l:
查看当前的任务计划有哪些,是否有后]木马程序启动相关信息;
ls /etc/cron*:
查看etc目 录任务计划相关文件;
cat /var/log/cron:
查看任务计划日志;
ls /var/spool/mail:
查看相关日志记录文件;
cat /var/spool/mail/root:
发现针对80端口的攻击行为(当Web访问异常时,及时向当前系统配置的邮箱地址发送报警邮件的信息。
2、查看自启动日志:
cat /var/log/messages:
查看整体系统信息,其中也记录了某个用户切换到root权限的日志;
cat /var/log/secure:
查看验证和授权方面的信息,如sshd会将所有信息(其中包括失败登录)记录在这里;
cat /var/log/lastlog:
查看所有用户最近的信息,二进制文件,需要用lastlog查看内容;
cat /var/log/btmp:
查看所有失败登录信息,使用last命令 可查看btmp文件;
cat /var/log/maillog:
查看系统运行电子邮件服务器的日志信息;
cat ~/.bash_ history:
查看之前使用过的shelI命令。
1、阻断矿池地址的连接
:
挖矿程序有外连行为,应用安全设备阻断矿池地址,在网络层阻断挖矿木马与矿池的通信。
2、清除挖矿定时任务、启动项等
:
清除挖矿木马、清除可疑的定时任务、清楚可疑启动项等。
3、禁用可疑用户
由挖矿木马程序创建的用户,可能作为攻击跳板或用作其他攻击操作,当确认为异常用户后,
需及时禁用或删除。
4、定位挖矿木马文件的位置并删除
Windows系统
:
使用netstat -ano
系统命令可定位挖矿木马连接的PID,再通过tasklist
命令可定位挖矿木马的进程名称,最后通过任务管理器查看进程,找到挖矿木马文件的位置并清除。
Linux系统
:
使用netstat -anpt
命令查看挖矿木马进程、端口及对应的PID,使用ls -alh /proc/PID
命令查看挖矿木马对应的可执行程序,最后使用kill -9 PID
命令可结束进程,使用rm -rf filename
命令删除该文件。
5、全盘杀毒、加固
实施以上操作后,仍需继续观察是否还有反复迹象,是否还有进程或任务计划没有清理干净。
使用杀毒软件全盘杀毒,并对系统、应用做安全加固。
1、避免使用弱密码;
2、及时打补丁,定期维护服务器;
3、禁止服务器主动发起外部连接请求,对于需要向外部服务器推送共享数据的情况,应使用白名单的方法,在出口防火墙加入相关策略,对主动连接的IP地址范围进行限制。
4、有效加强访问控制策略,细化策略粒度,按区域、按业务严格限制各网络区域及服务器之间的访问,采用白名单机制,只允许开放特定的业务必要端口,其他端口一律禁止访问,仅允许管理员访问管理端口,如FTP、 数据库服务、远程桌面等端口。
5、配置并开启相关关键系统、应用日志,对系统日志进行定期异地归档、备份,避免在发生攻击时,无法对攻击途径、行为进行溯源,加强安全溯源能力。
6、建议部署全流量监控设备,可及时发现未知攻击流量,以及加强攻击溯源能力,有效防止日志被轮询覆盖或被恶意清除,有效保障服务器沦陷后可进行攻击排查,分析原因。
7、定期开展系统、应用、网络层面的安全评估、渗透测试、代码审计工作,主动发现目前存在的安全隐患。
8、加强日常安全巡检制度,定期对系统配置、网络设备配置、安全日志及安全策略落实情况进行检查,常态化信息安全管理工作。
9、浏览网页或启动客户端时注意CPU/GPU的使用率,避免访问被标记为高风险的网站、避免下载来源不明的客户端和外挂等辅助软件。