最近对Linux.BackDoor.Gates.6的一个病毒样本进行了分析,通过调查发现Linux盖茨木马是一类有着丰富历史,隐藏手法巧妙,网络攻击行为显著的DDoS木马。这篇文章主要介绍了Linux盖茨木马的分析过程,同时会讲解在Linux环境下恶意软件分析的常用技巧和安全工具的使用方法。

盖茨木马整体情况

此类Linux木马主要恶意特点是具备了后门程序,DDoS攻击的能力,并且会替换常用的系统文件进行伪装。木马得名于其在变量函数的命名中,大量使用Gates这个单词。从网上公开资料可以看出,盖茨木马主要针对中国地区的服务器进行DDoS攻击,有95%的攻击目标都在中国,排名第二的是美国。接下来会对盖茨病毒的一个分支样本,进行更为细致的静态分析和动态分析。

静态分析

3.1.ELF文件信息

在静态分析中,首先会对文件类型进行判断,在Linux环境下,file工具[1]能够对ELF类型进行初步的判断。例如下表中,通过文件信息,能够得出该样本是32位ELF可执行程序,运行于IntelCPU上,静态链接。更重要的一个信息是,该样本没有除去符号表,这就为后续的逆向分析提供了丰富的调试信息。

MD5

6dfc7ea279b50b1f962523d517cd76fb

入口点

8048120

文件信息

ELF32-bitLSBexecutable,Intel80386,version1(SYSV),staticallylinked,forGNU/Linux2.2.5,notstripped

Tips:file命令可以识别文件类型。

3.2.导出符号分析

使用strings工具[2]可以从ELF文件中搜索ASCII字符串,可以发现一些IP信息,加载内核命令,恶意攻击函数名。

Tips:strings命令可以从二进制文件中提取字符串。

IP信息如下:

"abaec 61.132.163.68",

"abafa 202.102.192.68",

"abb09 202.102.213.68",

"abb18 202.102.200.101",

"abb28 58.242.2.2",

"abb33 202.38.64.1",

"abb3f 211.91.88.129",

"abb4d 211.138.180.2",

"abb5b 218.104.78.2",

"abb68 202.102.199.68",

"abb77 202.175.3.3",

"abb83 202.175.3.8",

... ...

加载内核模块命令如下:

"aa3f2insmod/usr/lib/xpacket.ko"

函数名中含有恶意网络攻击的名称:

{

"str": "11CAttackBase",

"offset": "a98fc"

},

{

"str": "13CPacketAttack",

"offset": "a990a"

},

{

"str": "10CAttackUdp",

"offset": "a9928"

},

{

"str": "10CAttackSyn",

"offset": "a9944"

},

{

"str": "11CAttackIcmp",

"offset": "a9960"

},

{

"str": "10CAttackDns",

"offset": "a997c"

},

这些IP信息和函数中的攻击名称很大程度会帮助杀毒软件识别已知的病毒。

后续的静态分析包括静态反汇编,查找导入导出表等,因为逆向的过程是一个动静结合的过程,反汇编部分计划通过后续的动态分析来展现。

动态分析

因为样本没有去掉符号信息,为反汇编和反编译提供了很好的支持。该样本从main()开始,共有4个主要的执行分支:

样本根据CSysTool::CheckGatesType()返回的结果分别会调用这4个函数。本文会首先分析CheckGatesType()的逻辑,然后主要对默认情况进行分析。

4.1.CheckGatesType()分析

在调用该函数之前,样本会将变量g_strMonitorFile赋值为”/usr/bin/pythno” 。

首先,调用CUtility::GetModuleFullPath()获得样本的全路径名称。通过readlink(“/proc/{getpid()}/exe”) 得到。这个动作会被strace[3]捕获。

304520:10:41.345483readlink("/proc/3045/exe","/root/workspace/websevrer",1024)=25

Tips:strace命令可以捕获程序使用的系统调用(包括参数、返回值和执行时间等)以及接收到的signal。

其次,调用CSysTool::GetBackDoorFile()拼接出backdoor文件全路径”/usr/bin/bsd-port/knerl”。

最后,CheckGatesType()的逻辑用表格表示为:

返回值

条件strcmp

0

样本路径==”/usr/bin/pythno”

2

样本路径==”/usr/bin/bsd-port/knerl”

3

样本路径==常用的系统工具

1

默认情况

这里可以看出,当样本替换系统命令之后,执行的行为和默认情况是不同的。这里说明样本具有伪装成系统工具的恶意能力。

linux病毒木马分析,Linux平台“盖茨木马”分析相关推荐

  1. Linux应急响应-盖茨木马的处置方式

    Linux应急响应-盖茨木马的处置方式 Linux盖茨木马是一类有着丰富历史,隐藏手法巧妙,网络攻击行为显著的DDoS木马,BillGates攻击程序采用C/C++语言编写,因相关的程序中分别包含&q ...

  2. 记一次盖茨木马应急响应

    前言:​ 这是一篇两年前的应急响应了,今天拿出来给大家分享一下排查思路 客户阐述 客户说服务器中病毒了,不占用CPU和带宽,但是影响业务:有两拨人去清除过了,但是每次都是没多久就又出来了,形容的比较模 ...

  3. 【安全攻防系列】教你如何 ssh暴力破解、捕捉短连接、清理挖矿病毒、盖茨木马和DDOS病毒

    文章目录 ssh暴力破解 0x00 前言 0x01 应急场景 0x02 日志分析 系统账号情况 /var/log/secure /var/log/auth.log 0x03 处理措施 0x04 我的实 ...

  4. linux 病毒下载软件,Linux病毒和木马防护wmv视频教程

    入侵排查 (1)首先我们要做的就是恢复一些我们常用的用来排查的工具,比如,ls,ps,netstat,lsof等命令. /root/chattr -i -a /bin/ps && rm ...

  5. 安卓linux病毒,如何清除linux病毒

    查看网络防火墙,我们的一个网段IP不停的向外发包,应该是被攻击成了别人的肉鸡了. 首先我们要先确定是哪台机器的网卡在向外发包,还好我们这边有zabbix监控,我就一台一台的检查,发现有一台的流量跑满了 ...

  6. Linux病毒研究与分析

    前言: 在我们日常生活中早就对windows中的病毒习惯了,对付windows中的病毒.我们有很多办法:杀毒软件.专杀工具等,但是这些东西往往主要集中在windows这一领域. 随着网络的发展,很多企 ...

  7. linux 病毒脚本,解析常见的Linux病毒

    Linux的用户也许听说甚至遇到过一些Linux病毒,这些Linux病毒的原理和发作症状各不相同,所以采取的防范方法也各不相同. 为了更好地防范Linux病毒,我们先对已知的一些Linux病毒进行分类 ...

  8. 一个Linux病毒艰辛短暂的一生

    分享一下我老师大神的人工智能教程!零基础,通俗易懂!http://blog.csdn.net/jiangjunshow 也欢迎大家转载本篇文章.分享知识,造福人民,实现我们中华民族伟大复兴! 原贴:h ...

  9. linux 病毒类型,linux系统常见的一些病毒类型和防范

    Linux的用户也许听说甚至遇到过一些Linux病毒,这些Linux病毒的原理和发作症状各不相同,所以采取的防范方法也各不相同. 为了更好地防范Linux病毒,我们先对已知的一些Linux病毒进行分类 ...

最新文章

  1. 征途linux mysql_MySql征途之mysql常用命令
  2. U-NET 图像预处理
  3. qt5 linux 控制台 乱码,qt5.12 解决显示中文乱码问题
  4. 外国人工作证延期、办理外国人居留许可延期
  5. JavaScript-操作DOM对象-删除dom节点
  6. 记录docker-Skywalking集成es7异常处理
  7. 数据库每日一题 2020.04.30
  8. 《金字塔原理》读书摘记
  9. 【C++】快速幂与矩阵快速幂
  10. ant-design vue上传 多文件 、单文件上传
  11. PVE系统更换大硬盘的扩容方法
  12. win10系统安装到服务器失败怎么回事,U盘安装win10系统失败,提示Windows无法安装怎么办...
  13. EMC-电磁兼容-共模干扰与差模干扰
  14. 浅谈音乐与计算机,浅析电脑音乐在音乐教育中的应用
  15. GC8870国产低成本替代TI的DRV8870 3.6A 刷式直流电机驱动器(PWM 控制)
  16. 如何在Excel中将多个单元格中的文本合并到一个单元格中
  17. 操作系统Unix、Windows、Mac OS、Linux的故事
  18. 安卓视线可锁定首行和首列的表格视图
  19. python判断成年_用python判断你是青少年还是老年人
  20. ps aux|grep nginx

热门文章

  1. python实现glove,gensim.word2vec模型训练实例
  2. 安装win下的Anaconda ----针对python3.6.4版本
  3. 浅析Spring——控制反转IoC
  4. GPU加速库AmgX
  5. TensorRT IRNNv2Layer
  6. 2021年大数据HBase(十六):HBase的协处理器(Coprocessor)
  7. 2021年大数据Spark(十七):Spark Core的RDD持久化
  8. 量子力学在计算机上的应用,量子力学在医学科学中的应用
  9. Rendering Problems Exception raised during rendering:
  10. android selector的用法解析