1. 简介

该样本是前几周爆发的THINKPHP漏洞中,被批量上传的一个病毒样本。如图所示。

2. 分析

该样本未经混淆,加壳,所以直接拖到IDA中即可分析。
首先从main函数开始。做一些初始化的函数,然后fork进程,父进程退出,子进程继续执行,推测是为了更好的迷惑。
如图

然后设置sid,更改病毒运行目录为根目录,设置信号。主要是忽略SIGPIPE信号,防止进程出错。参考 https://blog.csdn.net/qq_34888036/article/details/81014529

随后调用initConnection函数去尝试连接服务器。如果连接成功的话,继续往下执行代码,如果不成功的话,则进程sleep 5秒,然后继续。如图

在initConnection中,mainCommSock是已经建立成功的socket描述符,因为这个函数在运行期间可能会调用多次,所以如果已经成功建立好socket连接的话,则直接返回就行,否则尝试重新连接一次远控服务器。该函数主要作用是尝试168.235.82.199:69建立tcp连接。并检测是否可以连接。socket宏定义这块,参考https://blog.csdn.net/liuxingen/article/details/44995467

回到main函数中,然后开始获取诸如linux发行版名称,系统位数等信息,发送给远控服务器。如图

getOS和getPortz函数都比较简单,读取相应的文件,然后判断一下文件内容。如图

然后跳转到loc_40392E处,接收服务器的指令。如果接收成功,没有出错,则跳转到loc_4034E8去处理指令。否则跳转回initConnection重新执行一遍。

loc_403618处,首先调用listfork,fork一遍子进程用于处理请求,然后将结果trim一下。判断一下受不是以0x21开头,如果不是的话,则继续从远控服务器接收指令。如果是的话,则开始处理消息体

随后各种乱七八糟的跳转,跳转到processcmd中。这个函数主要用来解析远控服务器发来的指令。处理完指令后,继续等待服务器的指令,然后重新执行一遍上面的流程。

将服务器的结果解析成命令和参数,随后调用processcmd去处理。

processcmd比较长,这里阉割了很多功能,具体可以看下面的附录。该样本中只有tcp dos, udp dos,astd。tcp dos根据解析出来的参数,想起发出dos攻击。如图

udp dos攻击的代码

最奇怪的是astd攻击,根据ip和port,建立udp 连接,向其发送一段hex编码的数据,很奇怪。如图

3. 清除

很容易清除,杀掉进程就行,没有篡改系统文件。这个应该是专门针对于嵌入式设备的病毒,为了兼容性考虑。所以没有大量的混淆和加壳。

4. 相关

样本地址 http://168.235.82.199/GaXZMIng 目前已经被删除
相关样本代码,对的,这个也是基于一套开源的QBOT改出来的
https://github.com/CanadianJeff/QBOT-ART-OF-WAR/blob/master/client.c
https://pastebin.com/aV9Uw4jD

demon病毒样本分析的更多相关文章

  1. Android版本的"Wannacry"文件加密病毒样本分析(附带锁机)

    一.前言 之前一个Wannacry病毒样本在PC端肆意了很久,就是RSA加密文件,勒索钱财.不给钱就删除.但是现在移动设备如此之多,就有一些不法分子想把这个病毒扩散到移动设备了,这几天一个哥们给了一个 ...

  2. ocky勒索软件恶意样本分析1

    locky勒索软件恶意样本分析1 1 locky勒索软件构成概述 前些时期爆发的Locky勒索软件病毒这边也拿到了一个样本,简要做如下分析.样本主要包含三个程序: A xx.js文件:Jscript脚 ...

  3. ocky勒索软件恶意样本分析2

    locky勒索软件恶意样本分析2 阿尔法实验室陈峰峰.胡进 前言 随着安全知识的普及,公民安全意识普遍提高了,恶意代码传播已经不局限于exe程序了,Locky敲诈者病毒就是其中之一,Locky敲诈者使 ...

  4. [转] 一个U盘病毒简单分析

    (转自:一个U盘病毒简单分析 - 瑞星网   原文日期:2014.03.25) U盘这个移动存储设备由于体积小.容量大.便于携带等优点,给人们的存储数据带来了很大的便利.但正是由于这种便利,也给病毒有 ...

  5. 一个DDOS病毒的分析(一)

    一.基本信息 样本名称:Rub.EXE 样本大小:21504 字节 病毒名称:Trojan.Win32.Rootkit.hv 加壳情况:UPX(3.07) 样本MD5:035C1ADA4BACE78D ...

  6. 一枚Android "短信小偷" 病毒的分析

    一.样本简介 样本来自于吾爱破解论坛链接地址为http://www.52pojie.cn/thread-410238-1-1.html,样本不是很复杂有空就分析了一下.Android病毒样本还是很有意 ...

  7. 一个简单的Android木马病毒的分析

    一.样本信息 文件名称: 一个安卓病毒木马.apk 文件大小:242867 byte 文件类型:application/jar 病毒名称:Android.Trojan.SMSSend.KS 样本MD5 ...

  8. 【病毒分析】对一个vbs脚本病毒的分析

    [病毒分析]对一个vbs脚本病毒的分析 本文来源:i春秋社区-分享你的技术,为安全加点温度 一.前言 病毒课老师丢给我们一份加密过的vbs脚本病毒的代码去尝试分析,这里把分析过程发出来,供大家参考,如 ...

  9. Mac下门罗币矿工样本分析

    背景 今天遇到一个JSONRPC的告警,怀疑挖矿木马,IOC是132.148.245.101,无其他信息,随即google一波. 查询网络 遇到了,主动下载样本分析,下载地址:http://rjj.q ...

随机推荐

  1. ES6学习之二

    本文的学习来自技术胖大神的教程:https://jspang.com/ 1扩展运算符和rest运算符 扩展运算符和rest运算符,它们都是…(三个点). 它们有很多相似之处,甚至很多时候不用特意去区分 ...

  2. $Noip2012/Luogu1083$ 借教室

    $Luogu$ $Sol$ 区间整体加减? 差分+树状数组维护前缀和! 那每给一个人借完教室之后都要判断一下现在合不合法?那复杂度比暴力还不如些... 注意到这里的单调性,假设给前$x$个人借完教室之 ...

  3. 如何解决Selenium句柄、多窗口问题

    有时我们在打开浏览器浏览网页时,当点击网页上某些链接时,它不是直接在当前页面上跳转,而是重新打开一个新标签页面,对于这种情况,想在新页面上操作,就得先切换窗口了.获取窗口的唯一标识用句柄表示,所以只需 ...

  4. 「Luogu P2278」[HNOI2003]操作系统 解题报告

    题面 一道模拟题,模拟CPU的处理过程?!省选模拟题 思路: 模拟退火大法+优先队列乱搞 要注意的点 1.空闲时,CPU要处理进程 2.当队列中没有进程时,要先进行判断,然后访问 3.当优先级高的进程 ...

  5. Vue+Vant+Vuex实现本地购物车功能

    通常,我们做移动端商城的时候,通常会有购物车模块,那购物车模块有两种实现方式,一是储存在后台通过接口获取到购物车信息,二是存在用户手机本地,第一种方法只要调用接口获取比较简单,这里介绍的是第二种方法, ...

  6. ElementUi 表格取消全选框,用文字表示

    Echarts ElementUi 表格取消全选框,用文字表示 1.先看看实现的图 一. 添加添加复选框列 <el-table v-loading="zongShipLoading&q ...

  7. java 多线程 快速入门

    ------------恢复内容开始------------ java 多线程 快速入门 1. 进程和线程 什么是进程? 进程是正在运行的程序它是线程的集合 进程中一定有一个主线程 一个操作系统可以有 ...

  8. BigInteger&BigDecimal类

    BigInteger类 当需要处理超过 long 数值范围的大整数时,java.math 包中的 BigInteger 类提供任意精度的整数运算. 构造方式 //构造方法,将BigInteger的十进 ...

  9. 一个C#开发者重温Java的心路历程

    前言 我们都知道软件开发是工科,不是理科:本质上和电工.钳工是一样的. 也就是说,软件技术成长也与电工.钳工的技术成长是一样的,靠的是练,而不是学. 所以,很多时候,我们称应届大学生是一张白纸,啥也不 ...

  10. python打印图形

    i = 0 while i < 5: # print('*****') 效果与下行相同 print('*'*5) i+=1 print('\n\n') i = 1 while i < 6: ...