样本行为

该样本为国庆期间接到的一个应急,发现为今年比较流行的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的更多相关文章

  1. linux xorddos样本分析2

    逆向分析 之后我们通过ida对该样本进行更深入的分析样本的main函数中,一开始会调用函数dec_conf对样本中的大量加密的字符串进行解密,如下图所示.

  2. 一个linux的样本分析

    不久前收到的一个linux样本,之前linux平台下的样本见得并不多,正好做个记录. 样本启动之后,会将自身重命名拷贝到/usr/bin下,并删除自身,如此处就将自身文件amdhzbenfi命名为us ...

  3. 《Unix/Linux网络日志分析与流量监控》获2015年度最受读者喜爱的IT图书奖

    <Unix/Linux网络日志分析与流量监控>获2015年度最受读者喜爱的IT图书奖.刊登在<中华读书报>( 2015年01月28日 19 版) 我的2015年新作刊登在< ...

  4. Linux Bluetooth内核分析

    目录 1. 初始化 2. hci部分 Linux提供了对Bluetooth的支持,核心代码位于net/bluetooth 1. 初始化 主要由subsys_initcall调用函数bt_init()来 ...

  5. Linux之kernal分析与启动20160610

    说一下LINUX内核的分析与启动: 一. 内核启动流程,据此配置内核(机器ID) 1.1 修改Makefile 1.2 选择默认配置 : make s3c2410_defconfig 1.3 make ...

  6. linux源码分析2

    linux源码分析 这里使用的linux版本是4.8,x86体系. 这篇是 http://home.ustc.edu.cn/~boj/courses/linux_kernel/1_boot.html  ...

  7. Linux网络地址转换分析

    Linux网络地址转换分析 地址转换用来改变源/目的端口,是netfilter的一部分,也是通过hook点上注册相应的结构来工作. Nat注册的hook点和conntrack相同,只是优先级不同,数据 ...

  8. linux串口驱动分析

    linux串口驱动分析 硬件资源及描写叙述 s3c2440A 通用异步接收器和发送器(UART)提供了三个独立的异步串行 I/O(SIO)port,每一个port都能够在中断模式或 DMA 模式下操作 ...

  9. Linux input子系统分析

    输入输出是用户和产品交互的手段,因此输入驱动开发在Linux驱动开发中很常见.同时,input子系统的分层架构思想在Linux驱动设计中极具代表性和先进性,因此对Linux input子系统进行深入分 ...

随机推荐

  1. wpf 客户端 添加qq客服咨询

    使用qq推广 站点:http://shang.qq.com/v3/widget.html 复制里面的html代码: <a target=" src="http://wpa.q ...

  2. <<< 如何查看自己是外网还是内网

    判断的方法很简单,就是看你的网络中有没有路由器,不管是有线路由还是无线路由,只要你的网络中用了路由,那你就是内网,用路由器的网络有一个特点,那就是只要路由器在开着,那你开了电脑之后就可以直接上网,不需 ...

  3. ubuntu14.04 下安装有道词典

    安装步骤 1.ubuntu14.04.1版本下是不能直接安装有道词典的,首先需要把14.04.版升级为14.04.2版. 在终端窗口中输入以下命令: sudo apt-get update sudo ...

  4. 【原创】Weblogic 反序列化远程命令执行漏洞GetShell&Cmd Exploit

    这工具写到半夜四点,做个记录. 已发布至freebuf,链接:http://www.freebuf.com/vuls/90802.html

  5. Python学习笔记——条件和循环

    1.条件表达式 >>> x = 3 >>> x = 1 if x<3 else 2 >>> x 2 2.for语句用于序列类型 <1& ...

  6. jquery实现简单瀑布流布局(续):图片懒加载

    # jquery实现简单瀑布流布局(续):图片懒加载 这篇文章是jquery实现简单瀑布流布局思想的小小扩展.代码基于前作的代码继续完善. 图片懒加载就是符合某些条件时才触发图片的加载.最常见的具体表 ...

  7. String类的compareTo()方法的源码解析

    private final char value[]; 字符串会自动转换为一个字符数组. public int compareTo(String anotherString) { //this -- ...

  8. OPenCL

    OpenCLhttp://baike.baidu.com/link?url=7uHWCVUYB3Sau_xh3OOKP-A08_IvmT1SJixdAXKezCuCfkzeSQDiSmesGyVGk8 ...

  9. [Nhibernate]二级缓存(二)

    目录 写在前面 文档与系列文章 更新数据 二级缓存管理 总结 写在前面 本篇文章也算nhibernate入门系列的结尾了,在总结nhibernate系列的过程中,遇到了很多问题,学习的过程也是解决bu ...

  10. HTML5在canvas中绘制复杂形状附效果截图

    HTML5在canvas中绘制复杂形状附效果截图 一.绘制复杂形状或路径 在简单的矩形不能满足需求的情况下,绘图环境提供了如下方法来绘制复杂的形状或路径. beginPath() : 开始绘制一个新路 ...