A07.Linux平台的病毒分析与检测

[复制链接]
发表于 4 天前 | 显示全部楼层 |阅读模式
Linux平台的病毒分析与检测

颠末之前的学习,我们已经相识web安全,后门植入,权维恒久化等安全测试方面的技能。在对安全变乱举行应急相应时,除了被上传webshell,植入后门以外,尚有一种常见的情况是,碰到挖矿病毒。感染挖矿病毒后,体系将长时间举行高性能盘算,淹灭大量的CPU和内存资源,严峻影响业务软件的正常运行。这一节将会对Linux挖矿病毒举行分析。
常见的Linux病毒家属

Linux体系情况与Windows体系情况差别,Windows体系告急是以打单病毒家属为主,而Linux体系感染量较大的病毒是以下几个家属。
一、老一辈家属:
BillGates,它在2014年被初次发现,由于其样本中多变量及函数包罗字符串“gates”而得名,该病毒告急被黑客用于DDos,其特点是会更换体系正常步伐(ss、netstat、ps、lsof)举行伪装。
二、新生代家属:

  • DDG,它是现在更新最频仍的恶意软件家属,感染量非常巨大,该病毒的告急目标为蠕虫式挖矿,特点是病毒文件名保持以ddg.和i.sh的规范定名。
  • Miner,挖矿病毒,变种繁多,如SystemdMiner、StartMiner、WatchDogMiner等。感染后体现为CPU非常卡顿,crontab任务非常、网络非常、体系文件被删除等情况,严峻影响用户业务。
  • XorDDos,僵尸网络家属从2014年不停存活至今,因其解密方法大量利用Xor而被定名为XorDDoS,其告急用途是对公网主机举行分布式拒绝服务攻击。特点是样本运用了“多态”及自删除的方式,导致主机不停出现随机名历程,同时接纳了Rootkit技能埋伏通讯IP及端口。
三、IoT(Internet of Things,物联网物联网)家属:
近几年5G物联网物联网的敏捷发展,物联网物联网装备数目呈多少增长,物联网装备已经成为告急的攻击目标。现在的IOT僵尸网络以 DDoS 和挖矿的木马为主。

  • Mirai:是2016年发现的,物联网僵尸网络病毒,专门利用已知或未公开的安全毛病感染无线拍照机、路由器与摄像头等物联网装置。Mirai的出现将一大波安全研究者引入了IoT安全范畴。
  • Gafgyt:该家属与Mirai家属一样在IoT范畴属于相对生动的僵尸网络恶意步伐。
本节实验情况与之前节节利用的情况类似,均利用CentOS-7-x86_64-Minimal-2009.iso镜像搭建。可以继续利用上一节末了的情况继续学习本节内容,也可以新建一台捏造机举行学习。由于病毒的感染性与粉碎性,注意在实验过程中打好快照,以便规复。
病毒样本的获取

本次实验的病毒样本,我们通过abuse.ch公开的在线样本库:https://bazaar.abuse.ch/browse/获取。与别的提供病毒样本的网站相比,这个网站的利益是不必要注册,不必要积分就可以直接下载病毒样本,病毒样本种类齐备,从exe、elf到word、sh脚本,各种跨平台的样本都有,天天都有新的样本上传。
必要注意的是,下载病毒样本后,只能在本身的实验情况里运行,假如未经他人同意,在他人盘算机上运行,造成不良结果的,要负担相应的法律责任。
别的,还要注意,有些病毒会利用毛病主动传播,以是,也要根据病毒的特点,做一些相应的防止扩散的步调。本实验的病毒只能在Linux上运行,而且不会利用别的盘算机的毛病传播。
在网站的搜刮框内,输入tag:miner举行搜刮,搜刮的内容为挖矿病毒范例,搜刮出来的效果有很多,但是由于我们是Linux体系,以是还必要举行筛选,选择sh文件范例的病毒。通过筛选,我们选择SHA256 hash值为:5eba254e47a0d1668333b1718b9049874bd6149661822c86aa26d6e43bd52e5f的挖矿病毒样本,点击其hash值后会跳转到病毒样本简介页面。在这个页面可以看到该病毒样本的具体信息,下翻网页可以看到各个安全厂商对其的检测效果。我们此次就选用该病毒样本举行分析。
点击Download项的“download sample”高亮笔墨跳转到病毒样本下载页面,在该页面点击灰色按钮download即可开始下载,并从该页面可知下载的压缩包文件的解压暗码为infected。
必要阐明的是,挖矿类病毒必要毗连到矿池才华正常运作,而矿池的服务器和IP过一段时间就会被封锁,导致病毒毗连不到矿池所在,因此本节病毒的运作情况无法全部复现。别的,本节的病毒必要在线下载另一些后门步伐,而存放后门步伐的服务器和IP过一段时间也会被关闭或封锁。这导致了能复现的环节更少。讲义的资源包里提供了病毒和病毒运行后下载的一些后门步伐,可以举行静态分析。
运行病毒

准备好挖矿病毒步伐后,登录Linux捏造机,将该步伐上传到体系中。注意此时请为捏造机打好快照,感抱病毒后必要反复测试,而且病毒难以彻底扫除。
起首利用下令top打开体系资源斲丧情况,然后再实验准备好的挖矿病毒步伐,观察资源斲丧情况。
通过top下令可以检察到当前是有pnscan历程占用cpu到达了12.3%,是比力高的。接下来再实验一些常用下令,体系自带的很多步伐如ll、ls、ip address均有报错,已经无法正常利用。
假如关闭top下令,再次实验后,则发现已经检察不到刚才的pnscan历程。由于挖矿病毒修改了体系的动态链接库设置文件/etc/ld.so.preload,加载了病毒本身的恶意动态链接库文件。恶意软件通常会利用Linux动态链接库预加载机制,来实现自身历程的埋伏。此时,体系的top,ls,ps等下令已被病毒通过ld.so.preload机制挟制,体现出来的效果不在正确。
接下来必要利用到一款第三方工具busybox举行分析。BusyBox集成了常用Linux下令和工具,但busybox是静态编译的,不依靠于体系的动态链接库,从而不受ld.so.preload的挟制。
打开busybox官网,https://busybox.net/,下载busybox。
下载后将该文件上传到Linux捏造机中,利用以下下令,将busybox解压、编译并安装。
  1. tar -xjvf busybox-1.35.0.tar.bz2
复制代码
  1. cd busybox-1.35.0/
复制代码
  1. make defconfig && make install
复制代码
安装完成后,利用下令./busybox top再次检察体系资源情况,这时就可以看到被埋伏的历程。
此历程在捏造机里运行一段时间后,主动克制占用CPU的举动,CPU利用率正常。进入了埋伏状态,由于没有实时对病毒历程举行监督,不清晰具体的缘故起因,推测大概是由于没毗连到矿池所在。
病毒脚本代码分析

由于该病毒样本是sh脚本文件,以是我们也可以直接读源代码举行分析。由于病毒涉及到的代码太多,只选取了部门代码举行分析。
病毒会卸载阿里云、腾讯云的安全检测组件。从代码中可以看出病毒会下载uninstall脚本,竣事安全工具的服务,删除安全服务的文件。
通过查找矿池所在、端标语、历程名称,逼迫关闭别的挖矿类历程。
修改体系的动态链接库设置文件/etc/ld.so.preload,加载病毒下载的恶意so库文件,so(Shared Object)文件是Linux下的共享库文件,类似于windows下的dll(Dynamic Link Library,动态链接库)文件。
在764行处,还会下载一个apa.jpg的伪装图片文件,现实上此文件是ELF范例的Linux可实验文件,loadthisfile是病毒本身的函数,颠末比力,apa.jpg与bioset文件完全一样。
别的,apa.jpg是一个ELF格式的可实验文件,而且没有加密,因此也可以利用IDA64打开后,按快捷键F5天生伪代码,举行具体分析,以下为apa.jpg天生的部门伪代码。
别的,病毒还具有修改体系文件权限、下载挖矿步伐xmring,创建authorized_keys实现ssh免密登录等等繁多的恶意操纵,与别的恶意软件相比,挖矿病毒恶意举动云云之多,显得特殊贪婪。
云沙箱在线分析

别的,很多安全公司提供了对恶意软件的在线分析智能服务,将病毒样本上传到网站后,分析引擎会主动对病毒举行分析,得到直观的效果。微步云沙箱是一个非常全面的云沙箱,有多引擎检测、举动署名、实验流程、历程详情、威胁谍报IOC等功能
将病毒的sh文件上传到微步云沙箱https://s.threatbook.cn/后,分析出了具体的效果,以下为部门摘录:
以下是经微步分析出来的病毒步伐的实验流程:
具体的陈诉可以在微步云沙箱的网页中,输入病毒样本的sha256值:5eba254e47a0d1668333b1718b9049874bd6149661822c86aa26d6e43bd52e5f,即可检察到具体的分析陈诉。别的在线分析网站,同样支持这种通过恶意软件样本的MD5、sha256值举行搜刮的方法。
之后,将病毒运行过程中下载的apa.jpg文件,上传到微步云沙箱分析后,也以可以看到这个文件是做了一个恒久化的操纵,通过修改rc.loacl文件实现自启动。
利用ClamAV举行当地检测

ClamAV(Clam AntiVirus)是Linux平台上的开源病毒扫描步伐,接纳多线程配景操纵,可以主动升级病毒库。ClamAV不将杀毒作为告急功能,默认只能查出您盘算机内的病毒,但是无法扫除。
在安装ClamAV防病毒软件之前,我们必要先安装epel软件源:
  1. [root@localhost ~]# yum install -y epel-release //安装软件源
复制代码
  1. [root@localhost ~]# yum clean all && yum makecache //更新缓存
复制代码
安装ClamAV步伐:
  1. yum -y install clamav-server clamav-data clamav-update clamav-filesystem clamav clamav-scanner-systemd clamav-devel clamav-lib clamav-server-systemd
复制代码
设置ClamAV步伐:
起首,编辑设置文件vi /etc/clamd.d/scan.conf,找到第96行左右的以下内容:
  1. #LocalSocket /var/run/clamd.scan/clamd.sock
复制代码
去掉“#”号并生存文件。
接下来,就可以实验下令更新病毒库:
  1. [root@localhost ~]# freshclam
复制代码
病毒库生存的位置是:
/var/lib/clamav/daily.cvd
/var/lib/clamav/main.cvd
末了就可以启动ClamdAV服务和设置开机自启:
  1. [root@localhost ~]# systemctl start clamd@scan
复制代码
  1. [root@localhost ~]# systemctl enable clamd@scan
复制代码
利用下令clamscan就可以扫描文件、目次大概是整个体系:
  1. clamscan targetfile //扫描文件
复制代码
  1. clamscan -r -i /home -l /var/log/clamav.log //递归扫描home目录,并且记录日志日志
复制代码
  1. clamscan -r -i /home --remove -l /var/log/clamav.log //递归扫描home目录,将病毒文件删除,并且记录日志日志
复制代码
  1. clamscan -r -i /home --move=/tmp/clamav -l /var/log/clamav.log //扫描指定目录,然后将感染文件移动到指定目录,并记录日志日志
复制代码
注意:-r -i为递归扫描目次、-l为指定记载日记文件、--remove为删除病毒文件、--move为移动病毒到指定目次。
比方,我如今必要对/etc目次举行扫描,我利用以下下令:
  1. clamscan -r -i /etc --max-dir-recursion=5 -l /var/log/clamav-etc.log
复制代码
就可以递归扫描/etc目次下最深5级目次的文件,而且记载日记文件到/var/log/clamav-etc.log文件中。
再返回的扫描陈诉中,Infected files就是被感染的文件数目。通过检察病毒文件:
  1. cat /var/log/clamav-etc.log | grep "FOUND"
复制代码
就可以看到具体被感染的文件了,从而进一步处理处罚该文件。
安装好ClamAV后,对本实验感染了挖矿病毒后的体系举行扫描,然后检察陈诉。
扫描效果的第一条就是下载的挖矿病毒样本,ClamAV给出了文件路径和病毒范例Rocke家属。第二条就是感染挖矿病毒之后,病毒的主步伐了,进入其文件夹就可以检察到病毒下载的文件了。
本次实验,我们是先安装了病毒,然后才安装的ClamAV杀毒软件。颠末检测,ClamAV可以检测到一部门病毒文件,但不全面,照旧要联合在线分析、人工分析的方法才行。如今,病毒变种很多,完全扫除干净有肯定困难,条件答应的情况下,最好照旧备份数据后,重新安装体系,重新摆设应用。

免责声明:如果侵犯了您的权益,请联系站长及时删除侵权内容,谢谢合作!qidao123.com:ToB企服之家,中国第一个企服评测及软件市场,开放入驻,技术点评得现金.

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

×
回复

使用道具 举报

登录后关闭弹窗

登录参与点评抽奖  加入IT实名职场社区
去登录
快速回复 返回顶部 返回列表