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子系统进行深入分 ...
随机推荐
- fedora22切换用户windows分区不能自动挂载
新建立一个用户后,然后登陆后,再次登出,登陆原来的账户windows分区不能自动挂载
- 为自己的爬虫更换代理和HTML头部
import requestsimport reimport randomimport time class download(): def __init__(self): self.iplist = ...
- Python Day7
概述 面向对象高级语法部分 静态方法.类方法.属性方法 类的特殊方法 反射 静态方法 通过@staticmethod装饰器即可把其装饰的方法变为一个静态方法,什么是静态方法呢?其实不难理解,普通的方法 ...
- Java数据结构——带权图
带权图的最小生成树--Prim算法和Kruskal算法 带权图的最短路径算法--Dijkstra算法 package graph; // path.java // demonstrates short ...
- ImageView的常用属性
ImageView的一些常用属性,并且这些属性都有与之对应的getter.setter方法: android:adjustViewBounds:设置ImageView是否调整自己的边界来保持所显示图片 ...
- 如何合并两个Docker 镜像
http://www.open-open.com/lib/view/open1437746544709.html 在你的机器上使用docker pull来从Docker Hub下载镜像. docker ...
- Yii2中如何将Jquery放在head中的方法
原文地址: https://my.oschina.net/kenblog/blog/547602 方法一(推荐):针对jquery进行components配置,指定Yii2自带jquery自带资源出现 ...
- 全文搜索 Lucene.Net
Lucene简介 首先说明的是--Lucene.Net只是一个全文检索开发包,不是一个成型的搜索引擎, 它的功能就是负责将文本数据按照某种分词算法进行切词,分词后的结果存储在索引库中,从索引库检索数据 ...
- 错误 Metadata file 'C:\Common\bin\Debug\Common.dll' could not be found
一个通用方法de类库/总是报这个错误/很明显就是没有成功生成程序集... 但是就是找不到哪里的错误!!!! 如果是代码写错的话,可能会直接提示在哪个文件中哪行代码写错了,然后dll生成不了,但是这个错 ...
- python 学习 : 一个简单的秒表
游戏说明:绿色数字(左边表示成功停止在整秒的次数,右边表示停止的总次数) 点击stop,如果小数点后为0,即你停止的时间是整秒数,右上方斜杠左边数字加一 把代码复制到这个网页code run he ...