近半年做了很多应急响应项目,针对黑客入侵。但疲于没有时间来总结一些常用的东西,寄希望用这篇博文分享一些安全工程师在处理应急响应时常见的套路,因为方面众多可能有些杂碎。

  个人认为入侵响应的核心无外乎四个字,顺藤摸瓜。我们常常需要找到比较关键的信息后通过一些指令查询或者分析日志,逐步分析黑客的具体步骤。

  • 入侵后需要被关注的Linux系统日志
var/log/cron    记录crontab命令是否被正确的执行,一般会被黑客删除
var/log/lastlog  记录登录的用户,可以使用命令lastlog查看,一般会被黑客删除
var/log/secure  记录大多数应用输入的账号与密码,登录成功与否,一般会被黑客删除
var/log/wtmp  记录登录系统成功的账户信息,等同于命令last,一般会被黑客删除
var/log/faillog  记录登录系统不成功的账号信息,一般会被黑客删除
~/.bash_history  至关重要的日志,往往黑客会使用history -c清理相关的日志,然后使用cat ~/.bash_history仍可查看相关的记录
  • 入侵后需要关注的web服务器日志

  web服务器的种类很多,接触比较多的为apache、tomcat、Nginx为主。无论任何web服务器其实日志需要关注的东西是一致的,即access_log和error_log。一般在确定ip地址后,通过:

find . access_log |grep xargs ip攻击地址
find . access_log| grep xargs 木马文件名

   是一种顺藤摸瓜比较好的排查方式,通过access_log和error_log中的数据我们一般能明确以下几件事情:

  1. 文件是什么时刻上传的,应急响应中确定攻击发生的攻击点十分重要。通过时间点可以有效的查找加密木马,隐蔽的后门等。举例说明:

     今天是2016年11月7日,我通过排查发现攻击点发生在11月5日。站在网站上传目录:

find . -name *.php -ctime -1

     接一些更为复杂的正则来匹配文件:

find ./ -name “*.php” -type f -print0|xargs -0 egrep “(phpspy|c99sh|milw0rm|eval\(gunerpress|eval\(base64_decode|spider_bc)”|awk -F: ‘{print $1}’

       具体的-ctime、-atime、-mtime不再赘述。关于+—号问题,引用一下:

     -mtime n:n为数字,意思是在n天之前的【一天之内】被更改过内容的文件;
-mtime +n:列出在n天之前(不含n天本身)被更改过内容的文档名;
-mtime -n:列出在n天之内(含n天本身)被更改过内容的文档名;
   0为24小时以内

  2.攻击的IP地址是多少,当然一般情况是跳板地址TT

  3.传了什么文件上来

  • 登上服务器就要立刻输入的命令(全是套路,但一般很有用)
ps -ef  查看可疑进程

  一般ps -ef能比较清晰的看出反弹shell,引用下:

http://www.waitalone.cn/linux-shell-rebound-under-way.html

top  处理过几次肉鸡服务器,基本上top能很明显的看出占用资源异常的服务
last  登录时间能不能跟运维人员时间对上
crontab -l   查看例行任务,很多后门程序可以通过crontab完成自启。

  不过有时候crontab -l并不能解决问题,通常还要做如下操作:

cd /etc/crontab
ls

  查看有没有提权痕迹:

cat /etc/passwd  极有可能其他用户出现id,组id 0、0的情况

  如果系统里有lsof命令那就太好了:

lsof -g gid号   通常能找到恶意文件关联的lib文件
  • 一些技巧的的碎碎念
chattr  +i   处理过一起病毒自己会改写crontab的,可以用这个命令把crontab锁住
chmod 000 在删除一些病毒文件时候需要先去除执行权限

  在写这篇博文的时候,查阅资料,发现find还可以这么用:

find / *.jsp  -perm 4777  查找777的权限的文件

  因为我发现任何黑客在入侵完Linux在这一步都避免不了这样喜悦的操作:

yum xxxx
mkdir hehe
chmod 777 *.*
cd hehe
./xxxx
  • 总结
  1. 应急响应感觉确定的优先级是时间,ip、最后是恶意文件。尤其时间最为重要,如果连攻击时间都没法确定,感觉真心没有啥好的切入点,至少不能保证你把后门都查杀干净。
  2. 作为小菜,研读过很多大牛的文章,结合自己做的案例,感觉切入点主要就这么多。但难点是你能否准确判断哪个是正常文件,哪个是恶意文件。以及自己的渗透和黑产知识面是否完备,能准确的猜到黑客干了啥。
  3. 还有一些东西,比如内核啊,启动顺序的一些问题,最近在总结,有机会补全。    

    

一些关于Linux入侵应急响应的碎碎念的更多相关文章

  1. Linux安全事件应急响应排查方法总结

    Linux安全事件应急响应排查方法总结 Linux是服务器操作系统中最常用的操作系统,因为其拥有高性能.高扩展性.高安全性,受到了越来越多的运维人员追捧.但是针对Linux服务器操作系统的安全事件也非 ...

  2. 记一次linux服务器入侵应急响应

    近日接到客户求助,他们收到托管电信机房的信息,通知检测到他们的一台服务器有对外发送攻击流量的行为.希望我们能协助排查问题. 一.确认安全事件 情况紧急,首先要确认安全事件的真实性.经过和服务器运维人员 ...

  3. 服务器入侵应急响应排查(Linux篇)

    总体思路 确认问题与系统现象 → 取证清除与影响评估 → 系统加固 → 复盘整改 常见入侵 ① 挖矿: 表象:CPU增高.可疑定时任务.外联矿池IP. 告警:威胁情报(主要).Hids.蜜罐(挖矿扩散 ...

  4. 安全运维 - Linux系统攻击应急响应

    Linux 应急相应 - 总纲 应急准备: 制定应急策略 组建应急团队 其他应急资源 安全事件处理: 痕迹数据获取 分析.锁定攻击源删除可疑账号关闭异常进程.端口禁用相应异常开机启动项删除异常定时任务 ...

  5. Linux系统应急响应

    目录 排查用户相关的信息 排查进程端口相关的信息 查找恶意程序并杀掉 斩草除根 判断入侵方式,修复漏洞 当我们被告知一台Linux服务器被黑客入侵,黑客利用该服务器进行挖矿,并且在该服务器上放置了木马 ...

  6. Linux应急响应思路详谈

    一.主机篇: 1.自动化初筛,建议使用RootkitHunter (1)安装 $sudo wget https://jaist.dl.sourceforge.net/project/rkhunter/ ...

  7. Linux应急响应入侵排查思路

    0x00 前言 ​ 当企业发生黑客入侵.系统崩溃或其它影响业务正常运行的安全事件时,急需第一时间进行处理,使企业的网络信息系统在最短时间内恢复正常工作,进一步查找入侵来源,还原入侵事故过程,同时给出解 ...

  8. windows应急响应入侵排查思路

    0x00 前言 ​ 当企业发生黑客入侵.系统崩溃或其它影响业务正常运行的安全事件时,急需第一时间进行处理,使企业的网络信息系统在最短时间内恢复正常工作,进一步查找入侵来源,还原入侵事故过程,同时给出解 ...

  9. Linux应急响应(一):SSH暴力破解

    0x00 前言 ​ SSH 是目前较可靠,专为远程登录会话和其他网络服务提供安全性的协议,主要用于给远程登录会话数据进行加密,保证数据传输的安全.SSH口令长度太短或者复杂度不够,如仅包含数字,或仅包 ...

随机推荐

  1. 用dubbo时遇到的一个序列化的坑

    首先,这是标题党,问题并不是出现在序列化上,这是报错的一部分: Caused by: com.alibaba.dubbo.remoting.RemotingException: Failed to s ...

  2. 用CIL写程序:你好,沃尔德

    前言: 项目紧赶慢赶总算在年前有了一些成绩,所以沉寂了几周之后,小匹夫也终于有时间写点东西了.以前匹夫写过一篇文章,对CIL做了一个简单地介绍,不过不知道各位看官看的是否过瘾,至少小匹夫觉得很不过瘾. ...

  3. UITextView 输入字数限制

    本文介绍了UITextView对中英文还有iOS自带表情输入的字数限制,由于中文输入会有联想导致字数限制不准确所以苦恼好久,所以参考一些大神的博客终于搞定,欢迎大家参考和指正. 对于限制UITextV ...

  4. 在 SAE 上部署 ThinkPHP 5.0 RC4

    缘起 SAE 和其他的平台有些不同,不能在服务器上运行 Composer 来安装各种包,必须把源码都提交上去.一般的做法,可能是直接把源码的所有文件复制到目录中,添加到版本库.不过,这样就失去了与上游 ...

  5. 如何快速优化手游性能问题?从UGUI优化说起

    WeTest 导读   本文作者从自身多年的Unity项目UI开发及优化的经验出发,从UGUI,CPU,GPU以及unity特有资源等几个维度,介绍了unity手游性能优化的一些方法.   在之前的文 ...

  6. 微信网页开发之获取用户unionID的两种方法--基于微信的多点登录用户识别

    假设网站A有以下功能需求:1,pc端微信扫码登录:2,微信浏览器中的静默登录功能需求,这两种需求就需要用到用户的unionID,这样才能在多个登录点(终端)识别用户.那么这两种需求下用户的unionI ...

  7. 小兔Java教程 - 三分钟学会Java文件上传

    今天群里正好有人问起了Java文件上传的事情,本来这是Java里面的知识点,而我目前最主要的精力还是放在了JS的部分.不过反正也不麻烦,我就专门开一贴来聊聊Java文件上传的基本实现方法吧. 话不多说 ...

  8. Android 在Android代码中执行命令行

    1.路径最好不要是自己拼写的路径/mnt/shell/emulated/0/wifidog.conf 最好是通过方法获取的路径,不然可能导致命令无效  (挂载点的原因) public static f ...

  9. 我的MYSQL学习心得(十三) 权限管理

    我的MYSQL学习心得(十三) 权限管理 我的MYSQL学习心得(一) 简单语法 我的MYSQL学习心得(二) 数据类型宽度 我的MYSQL学习心得(三) 查看字段长度 我的MYSQL学习心得(四) ...

  10. 我设计的ASP.NET笔试题,你会多少呢

    本笔试题考查范围包括面向对象基础.HTML.CSS.JS.EF.jQuery.SQL.编码思想.算法等范围. 第1题:接口和抽象类有何区别? 第2题:静态方法和实例方法有何区别? 第3题:什么是多态? ...