demon病毒样本分析
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病毒样本分析的更多相关文章
- Android版本的"Wannacry"文件加密病毒样本分析(附带锁机)
一.前言 之前一个Wannacry病毒样本在PC端肆意了很久,就是RSA加密文件,勒索钱财.不给钱就删除.但是现在移动设备如此之多,就有一些不法分子想把这个病毒扩散到移动设备了,这几天一个哥们给了一个 ...
- ocky勒索软件恶意样本分析1
locky勒索软件恶意样本分析1 1 locky勒索软件构成概述 前些时期爆发的Locky勒索软件病毒这边也拿到了一个样本,简要做如下分析.样本主要包含三个程序: A xx.js文件:Jscript脚 ...
- ocky勒索软件恶意样本分析2
locky勒索软件恶意样本分析2 阿尔法实验室陈峰峰.胡进 前言 随着安全知识的普及,公民安全意识普遍提高了,恶意代码传播已经不局限于exe程序了,Locky敲诈者病毒就是其中之一,Locky敲诈者使 ...
- [转] 一个U盘病毒简单分析
(转自:一个U盘病毒简单分析 - 瑞星网 原文日期:2014.03.25) U盘这个移动存储设备由于体积小.容量大.便于携带等优点,给人们的存储数据带来了很大的便利.但正是由于这种便利,也给病毒有 ...
- 一个DDOS病毒的分析(一)
一.基本信息 样本名称:Rub.EXE 样本大小:21504 字节 病毒名称:Trojan.Win32.Rootkit.hv 加壳情况:UPX(3.07) 样本MD5:035C1ADA4BACE78D ...
- 一枚Android "短信小偷" 病毒的分析
一.样本简介 样本来自于吾爱破解论坛链接地址为http://www.52pojie.cn/thread-410238-1-1.html,样本不是很复杂有空就分析了一下.Android病毒样本还是很有意 ...
- 一个简单的Android木马病毒的分析
一.样本信息 文件名称: 一个安卓病毒木马.apk 文件大小:242867 byte 文件类型:application/jar 病毒名称:Android.Trojan.SMSSend.KS 样本MD5 ...
- 【病毒分析】对一个vbs脚本病毒的分析
[病毒分析]对一个vbs脚本病毒的分析 本文来源:i春秋社区-分享你的技术,为安全加点温度 一.前言 病毒课老师丢给我们一份加密过的vbs脚本病毒的代码去尝试分析,这里把分析过程发出来,供大家参考,如 ...
- Mac下门罗币矿工样本分析
背景 今天遇到一个JSONRPC的告警,怀疑挖矿木马,IOC是132.148.245.101,无其他信息,随即google一波. 查询网络 遇到了,主动下载样本分析,下载地址:http://rjj.q ...
随机推荐
- centos7搭建Fabric基础环境
一.首先升级centos最新内核 参考https://www.cnblogs.com/sky-cheng/p/12146054.html 二.卸载旧版本docker [root@localhost ~ ...
- Linux下离线安装gdb及常用命令汇总
以redhat6.5虚拟机作为例子,由于工作性质,大部分情况linux的软件安装,是采用离线方式的. 1.离线安装gdb 像gcc.g++或者gdb这种常用的工具软件,一般虚拟机都会安装的,如未安装, ...
- JavaScript数据类型 - Symbol
ES5:对象的属性名只能是字符串,当给对象添加新属性时,很容易造成属性名冲突,从而覆盖了原有的属性. ES6:所以ES6中引入了symbol数据类型,他表示独一无二的值,避免了属性名的冲突,此时对象的 ...
- python django 基本环境配置
创建虚拟环境: python -m venv django启动虚拟环境: .\venv\Scripts\activate下载django: pip install django查看django命令: ...
- K8s生产架构
部分图片显示问题,特附上有道云笔记中的链接:http://note.youdao.com/noteshare?id=df78492d2c25383975c67f3eadf0bbd9&sub=4 ...
- 2019 年百度之星 初赛一 1002 Game
传送门 Problem Description 度度熊在玩一个好玩的游戏.游戏的主人公站在一根数轴上,他可以在数轴上任意移动,对于每次移动,他可以选择往左或往右走一格或两格.现在他要依次完成 n 个任 ...
- UGUI ScrollView中显示模型和特效
游戏开发中有时候会遇到在UI上显示模型和特效的需求,这次需要在ScrollView上显示.我们使用UGUI的Screen Space - Camera模式,修改模型和特效的layer使之显示在UI上面 ...
- 在idea中运行GitHub项目
1.首先在本地建一个文件夹,比如qm 2. 在GitHub中找到你所运行项目的路径 3.在idea中[File]-->[New]--->[Project from Version Cont ...
- 在浏览器窗口内移动的div
------------今天研究了一个最简单的屏保效果----------- 效果图如下:效果很神奇,就是这个div在浏览器窗口不断的灵活移动 代码却很简单 <!DOCTYPE html> ...
- C#实现DataTable转.CSV文件
将DataTable转换成CSV文件是一种常见的转换形式,主要通过遍历Table的每行,再对每行遍历每列,实现对数据的读取,然后用分隔符分隔Table的每个栏位数据,把读取的字符写入到CSV文件中.这 ...