freeBuf
主站

分类

漏洞 工具 极客 Web安全 系统安全 网络安全 无线安全 设备/客户端安全 数据安全 安全管理 企业安全 工控安全

特色

头条 人物志 活动 视频 观点 招聘 报告 资讯 区块链安全 标准与合规 容器安全 公开课

官方公众号企业安全新浪微博

FreeBuf.COM网络安全行业门户,每日发布专业的安全资讯、技术剖析。

FreeBuf+小程序

FreeBuf+小程序

服务器遭遇挖矿怎么办?
2020-07-05 10:58:22

背景

根据某安全公司安全威胁检测到在2019年中,恶意软件拦截量为181.07亿次,其中挖矿类恶意软件感染占比最多(58%),其次为远程木马(占比14%),企业或组织内文件共享等机制也使得感染型病毒的比例在9%左右。恶意软件一哥挖矿软件攻击势头非常猛,加密货币挖矿流量较去年增长约100%,在类型上也趋向隐性更好的币种,隐蔽性更好的无文件挖矿也给企业或组织带来了严峻的考验。image.png

什么是挖矿

        我们先来了解下虚拟货币,以比特币为例,比特币是一种由开源的P2P软件产生的网络虚拟货币,它不依靠特定货币机构发行,通过特定算法的大量计算产生,比特币经济使用整个P2P网络中众多节点构成的分布式数据库来确认并记录所有的交易行为。
矿工需要为比特币网络提供的算法来换取比特币,每一个比特币的节点都会收集所有尚未确认的交易,并将其归集到一个数据块中,矿工节点会附加一个随机调整数,并计算前一个数据块的SHA-256散列运算值。挖矿节点不断重复进行尝试,直到它找到的随机调整数使得产生的散列值低于某个特定的目标,因此挖矿需要耗费大量的计算机CPU资源。

如何确认服务器在挖矿

        由于挖矿对计算机的性能要求比较高,老谋深算的矿工就把罪恶的双手伸向了企业,通过各种手段入侵到各个单位的内网,运行挖矿程序,利用别人的计算资源挖矿,自己坐享其成,的确是高手高手高高手。如何快速地识别内网中是否有挖矿成为了当下网络环境中重要的环节,可以从以下几个方面快速定位

1.检查系统资源

Windows
       计算机一旦执行了挖矿程序,会占用大量的CPU资源,此时服务器就会变得异常卡顿。可以通过任务管理器查看服务器资源占用情况,可以看到CPU占用100%
Linux
执行top命令查看当前进程负载,可以看到这个watchbog的进程CPU占用100%,而Linux的正常进程是watchdog,很明显,这个进程是黑客估计混淆视听的。

2.查看计划任务&启动项

Windows
从任务管理中可以看到,有一条使用powershell执行的命令,每5分钟执行一次
Linux
执行crontab -l查看计划任务。可以看到这个计划任务是用于下载挖矿脚本的地址

3.查看安全日志

攻击者渗透到内网后,首选的横向攻击是RDP暴力破解,选择一台机器作为肉机,扫描内网的3389端口,扫描完成后进行暴力破解。此时我们可以查看系统的安全日志,查看是否有事件ID为4625的日志。
Windows
Linux
查看主机登录日志
grep "Accepted " /var/log/secure* | awk '{print $1,$2,$3,$9,$11}'
查看爆破的源IP
grep "Failed password" /var/log/secure|grep -E -o "(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)"|uniq -c
查看爆破日志的用户名密码
grep "Failed password" /var/log/secure|perl -e 'while($_=<>){ /for(.*?) from/; print "$1\n";}'|uniq -c|sort -nr
在态势感知上看到黑客上传一个jsp脚本,请求体中是远程执行的命令,响应体返回当前用户的负载信息

4.查看网络安全设备日志

很多公司都会部署防火墙或态势感知等安全设备,当内网有机器发起挖矿时,通常都能够被安全设备检测到,如下图所示,很明显,这个就是驱动人生的远控木马。

5.威胁情报

当我们不能确定服务器访问的域名是否是恶意时,可以借助威胁情报来判断,我个人常用的威胁情报是微步和virustotal,中西结合。

根据步骤2中的编码,通过base64解码,得到黑客后门地址

到微步上查询beahh.com域名,确认为恶意域名

通过以上的几个环节,相信我们已经有足够的证据确认服务器是否在挖矿。

挖矿木马处置流程

在上一步我们已经识别到了机器在挖矿,接下来就要开始进行收拾这些可恶的家伙了

1.结束挖矿进程

Windows
将占用CPU高的进程结束,但挖矿很狡猾,通常有守护进程,当结束后过一会又会被重新拉起,这时我们需要观察任务管理器中哪些进程比较可疑,可以查看进程的数字签名,很多挖矿进程是伪造证书或无证书,我们需要静下心来慢慢分析,推荐使用进程分析工具:processexplorer、processmonitor,绿色无公害
Linux
枚举进程命令行
ps -aux
结束进程
kill -9 pid

2.删除计划任务&启动项

Windows
Linux
crontab -e

3.使用杀毒软件查杀

Windows
可以使用公司采购的商业软件查杀,也可以使用免费的杀毒软件,如360、火绒等等
Linux

若有购买商业杀毒软件可以使用商业杀毒软件,否则可以使用开源的杀毒软件

安装chkrootkit 进行扫描:

Wget https://nchc.dl.sourceforge.net/project/rkhunter/rkhunter/1.4.4/rkhunter-1.4.4.tar.gztar -zxvf rkhunter-1.4.4.tar.gzcd rkhunter-1.4.4./installer.sh --installrkhunter -c

安装rkhunter 进行扫描

Wget https://nchc.dl.sourceforge.net/project/rkhunter/rkhunter/1.4.4/rkhunter-1.4.4.tar.gztar -zxvf rkhunter-1.4.4.tar.gzcd rkhunter-1.4.4./installer.sh --installrkhunter -c

4.在网关处阻断恶意域名外联

每个企业使用的产品都不一样,可以根据实际情况配置相关策略即可。

溯源 

当服务器被植入挖矿程序,并进行处置后,为了避免再次被入侵,我们需要找出0号机器,也就是最开始被黑客入侵的机器。另外,发生安全事件后,我们还需要向领导进行工作汇报,这个溯源的过程也是证明我们安全人员专业能力的时候了,是时候刷一波存在感了,要不然领导会说:要你有何用。

 

1.应用层面

只要在安全圈子的安全从业人员相信经常会听到XXX系统爆出远程代码执行漏洞,XXX中间件权限绕过漏洞,因此,当服务器在挖矿时,我们首先要检查该业务系统所采用的框架或中间件是否存在漏洞,比如weblogic 反序列化漏洞,攻击者可以利用漏洞进行远程代码执行;Tomcat的manager管理后台配置错误也同样可以远程代码执行。必要时,可以做一次渗透测试,确保在应用层的安全性。

举个栗子,有些开发为了部署方便,启用了Tomcat的管理后台,更可恶的是还是用了弱密码,在这个页面可以上传war包,进而实现远程命令执行。

2.主机层面

这种一般都是通过钓鱼邮件或从网上下载的恶意文件导致的,说到这里,就不得不说一下驱动人生,在2018年12月份,电脑驱动管理软件驱动人生被黑客植入恶意代码,具备远程代码执行功能,启动后会将用户计算机的详细信息发往木马服务器,并接受远程指令执行下一步操作,同时该木马还携带永恒之蓝漏洞攻击模块,更高级的攻击方式是利用minikatz抓取本地密码,并存入字典,进行横向暴力破解,如此一来,实现分布式攻击,分布式挖矿。

查看系统安全日志,检查是否有事件ID为4625审核失败的日志,并根据源IP找到攻击源,如此类推,可以一层一层地找到更多的肉机。有时候可能会出现日志被覆盖的情况,可能无法找到跳板机,此时可以借助态势感知等网络设备查看内网的攻击链。

Linux服务器可以参考上面提到的查日志的方法进行溯源。

加固建议

1.加强基线安全

之所以内网成为了挖矿重灾区,很大原因是使用了弱口令,包括很多开发人员,为了方便,将登陆口令设置为弱口令甚至空口令,有些员工会说,我的电脑没联网啊,怎么会被攻击呢?殊不知,内网也有被攻陷的一天。部署堡垒机,所有服务器必须通过堡垒机登录,缩小攻击面,如果是Linux服务器,可以使用证书登录而不是密码,这种被爆破的几率就小了很多。针对办公电脑开启远程桌面的情况,我们可以定期扫描公司内网开启3389、22端口的机器,并进行暴力破解。这样子我们就知道内网存在哪些风险点。

2.关闭不必要服务

关闭相关共享端口(135、137、138、139、445)及不必要的端口。应用管理后台尽量不开放到外网。

3.打补丁

打补丁是老生常谈的话题,像永恒之蓝这类的补丁在部署的时候就应该打上。但有些服务器不能随便打补丁,会影响业务。针对这种情况,可以通过虚拟补丁或IPS来避免漏洞被利用。

4.安装终端防病毒

杀毒软件可以拦截暴力破解,清除病毒文件,保护最后一道防线。市面上杀毒软件参差不齐,选择一款适合的杀毒软件至关重要。可以在病毒检测准确度、防爆破、基线检查、漏洞检查/修复、资源占用大小、管理易用性、webshell查杀、僵尸网络、市场占有率、系统兼容性等各个维度来进行选购。

5.部署安全网关

服务器上的木马下载器会连接黑客的远控服务器,下载病毒文件,安全网关可以有效拦截木马下载器下载,黑客也就无法远程操控服务器。安全DNS也是一个不错的选择,大部分公司都会在内网部署DNS服务器,部署安全DNS可以在主机解析恶意域名时就拦截。

6.定期信息安全意识培训

研究表明,75%的信息安全事件是人为造成,因此降低人的不安全行为可至关重要,而在安全意识培训中,钓鱼邮件演练是比较有效让员工提升安全意识的有效手段之一。信息安全意识培训涉及的内容较多,这里不细说,有机会开个专栏讲解信息安全意识培训。
个人水平有限,先写这么多,以上是小弟的一些经验总结,希望能与大家引起共鸣,更希望抛砖引玉。若有不足之处,敬请批评指出,不吝赐教。
# 系统安全 # 系统安全 # 木马 # 恶意软件
本文为 独立观点,未经允许不得转载,授权请联系FreeBuf客服小蜜蜂,微信:freebee2022
被以下专辑收录,发现更多精彩内容
+ 收入我的专辑
+ 加入我的收藏
相关推荐
  • 0 文章数
  • 0 关注者