linux xorddos样本分析1
样本行为
该样本为国庆期间接到的一个应急,发现为今年比较流行的xorddos,遂分析一番。
运行之后,查看进程,可以发现可疑进程ydxrooqtno,以及ppkzkneour。
多次运行发现除了ydxrooqtno之外,其余进程的id,名称一直在改变。
查看该进程镜像,可以看到该进程的文件镜像在/usr/bin/ydxrooqtno。
通过lsof发现的结果一致。
进入/usr/bin目录下,通过命令ls –lt | head查看最近时间内该目录文件的修改情况,与样本运行之后,被拷贝到/usr/bin目录下的行为一致。
查看是否有针对该程序的自启动,发现该程序被设置了自启动选项。
通过该条脚本列举该进程打开打开的所有文件,在目录/proc/pid/fd中保存了进程打开的所有文件,文件名为文件描述符,目录中每个软连接都会指向进程打开的实际文件。更详细的/proc/pid目录内容可查看一下链接http://blog.chinaunix.net/uid-16979052-id-3476223.html,运行脚本之后发现,该进程应该开启了sock与远程服务器进行通信。
既然开启了sock,通过netstat –lnp看看中招的linux中开启的网络和端口情况,似乎与我们的样本并没有很大的关系,通信的端口被隐藏了?使用了rookit技术?
还原虚拟机,重启运行样本,这次我们打开wireshark,同时使用strace启动该样本,starce常用来跟踪进程执行时的系统调用和所接收的信号,通过它,我们可以很方便的监控到整个样本的行为,更详细的内容见http://www.cnblogs.com/ggjucheng/archive/2012/01/08/2316692.html。
通过wireshark的抓包发现,确实开启的远程通信的socket
查询ip,来自与一台香港的主机
反查一下域名,发现该ip下并没有对应的域名
之后会访问ip为211.110.1.32的服务器并从该服务器上下载名为dd.rar的压缩包。
下载之后发现此处的dd.rar文件经过了加密
到这里我们通过工具对该样本有了一个简单的了解,首先样本运行之后会将启动目录下的文件删除,并将自身拷贝到/usr/bin目录下,之后在/etc/init.d目录下建立自启动项,同时通过ps查看可以发现样本运行之后,会同时启动至少四个以上的守护进程,这些进程的名称及pid随时发生变化,从而导致通过常规的方式很难杀死样本进程,同时样本进程会与103.240.141.68以及211.110.1.32进行通信,样本通过rootkit技术将通信时使用到的端口进行了隐藏。
Strace记录
程序运行之后,会建立计划任务,如下图所示在cron.hourly中建立了gcc.sh文件,并写入相应的启动脚本,详情见http://www.jb51.net/article/15008.htm。
Init.d启动脚本设置,即该处实际上进行了两处重启动的设置,起到双保险的作用。
获取系统cpu信息。
建立socket连接。
建立http连接,下载配置脚本。
linux xorddos样本分析1的更多相关文章
- linux xorddos样本分析2
逆向分析 之后我们通过ida对该样本进行更深入的分析样本的main函数中,一开始会调用函数dec_conf对样本中的大量加密的字符串进行解密,如下图所示.
- 一个linux的样本分析
不久前收到的一个linux样本,之前linux平台下的样本见得并不多,正好做个记录. 样本启动之后,会将自身重命名拷贝到/usr/bin下,并删除自身,如此处就将自身文件amdhzbenfi命名为us ...
- 《Unix/Linux网络日志分析与流量监控》获2015年度最受读者喜爱的IT图书奖
<Unix/Linux网络日志分析与流量监控>获2015年度最受读者喜爱的IT图书奖.刊登在<中华读书报>( 2015年01月28日 19 版) 我的2015年新作刊登在< ...
- Linux Bluetooth内核分析
目录 1. 初始化 2. hci部分 Linux提供了对Bluetooth的支持,核心代码位于net/bluetooth 1. 初始化 主要由subsys_initcall调用函数bt_init()来 ...
- Linux之kernal分析与启动20160610
说一下LINUX内核的分析与启动: 一. 内核启动流程,据此配置内核(机器ID) 1.1 修改Makefile 1.2 选择默认配置 : make s3c2410_defconfig 1.3 make ...
- linux源码分析2
linux源码分析 这里使用的linux版本是4.8,x86体系. 这篇是 http://home.ustc.edu.cn/~boj/courses/linux_kernel/1_boot.html ...
- Linux网络地址转换分析
Linux网络地址转换分析 地址转换用来改变源/目的端口,是netfilter的一部分,也是通过hook点上注册相应的结构来工作. Nat注册的hook点和conntrack相同,只是优先级不同,数据 ...
- linux串口驱动分析
linux串口驱动分析 硬件资源及描写叙述 s3c2440A 通用异步接收器和发送器(UART)提供了三个独立的异步串行 I/O(SIO)port,每一个port都能够在中断模式或 DMA 模式下操作 ...
- Linux input子系统分析
输入输出是用户和产品交互的手段,因此输入驱动开发在Linux驱动开发中很常见.同时,input子系统的分层架构思想在Linux驱动设计中极具代表性和先进性,因此对Linux input子系统进行深入分 ...
随机推荐
- Alpha阶段第一次Scrum Meeting
Scrum Meeting Alpha 情况简述 Alpha阶段第一次Scrum Meeting 敏捷开发起始时间 2016/10/18 00:00 敏捷开发终止时间 2016/10/20 00: ...
- IBatisNet使用教程
1.是数据持久层,对应.NET方向的有Ibatis.NET,只要用来处理数据库表结构和程序实体之间映射,ado.net是用来处理和数据库直接通信的,取出数据(object,int,string,da ...
- druid数据库密码加密程序编写
第一步:引入 druid-1.0.1.jar 架包 第二步: 编写程序 package nihao; import com.alibaba.druid.filter.config.ConfigTool ...
- 利用反射手写代码实现spring AOP
前言:上一篇博客自己动手编写spring IOC源码受到了大家的热情关注,在这里博客十分感谢.特别是给博主留言建议的@玛丽的竹子等等.本篇博客我们继续,还是在原有的基础上进行改造.下面请先欣赏一下博主 ...
- yii2 session的使用方法
yii2打开session use yii\web\Session; $session = Yii::$app->session; // check if a session is alread ...
- 面试题目——《CC150》排序与查找
面试题11.1:给定两个排序后的数组A和B,其中A的末端有足够的缓冲空间容纳B.编写一个方法,将B合并入A并排序. package cc150.sort_search; public class Me ...
- 英文写作——冠词的使用(Use 0f Articles)
1.使用'a','an','the'和不使用冠词的基本规则: <1>泛指,不可数名词不能有任何冠词 <2>泛指,可数,复数名词前不能有冠词 <3>泛指,可数,单数名 ...
- SQL Server附加数据库时报1813错误的解决方案
SQL Server附加数据库时报1813错误的解决方案 无法打开新数据库 'ASR'.CREATE DATABASE 中止. 文件激活失败.物理文件名称'E:\SqlServer\MSSQL\D ...
- redis3.2 最新版本启动配置文件redis.conf详细说明
Redis.conf文件内容详细说明: # 默认redis不是以后台进程的方式启动,如果需要在后台运行,需要将这个值设置成yes # 以后台方式启动的时候,redis会写入默认的进程文件/var/ru ...
- B:Wordpress不同分类调用不同的模板
这里指的是默认文章类型的模板(single.php,category.php) 应用场景: 默认文章默认有2个大类(新闻资讯.游戏资料) 新闻资讯下的所有子分类调用"新闻资讯列表模板,新闻内 ...