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

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

  • 入侵后需要被关注的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. ASP.NET Core应用的错误处理[2]:DeveloperExceptionPageMiddleware中间件如何呈现“开发者异常页面”

    在<ASP.NET Core应用的错误处理[1]:三种呈现错误页面的方式>中,我们通过几个简单的实例演示了如何呈现一个错误页面,这些错误页面的呈现分别由三个对应的中间件来完成,接下来我们将 ...

  2. kafka学习笔记:知识点整理

    一.为什么需要消息系统 1.解耦: 允许你独立的扩展或修改两边的处理过程,只要确保它们遵守同样的接口约束. 2.冗余: 消息队列把数据进行持久化直到它们已经被完全处理,通过这一方式规避了数据丢失风险. ...

  3. webapi - 模型验证

    本次要和大家分享的是webapi的模型验证,讲解的内容可能不单单是做验证,但都是围绕模型来说明的:首先来吐槽下,今天下午老板为自己买了套新办公家具,看起来挺好说明老板有钱,不好的是我们干技术的又成了搬 ...

  4. SDWebImage源码解读_之SDWebImageDecoder

    第四篇 前言 首先,我们要弄明白一个问题? 为什么要对UIImage进行解码呢?难道不能直接使用吗? 其实不解码也是可以使用的,假如说我们通过imageNamed:来加载image,系统默认会在主线程 ...

  5. .Net Core上也可以使用的二维码组件

    我Fork了QRCoder,并且兼容了.Net Core,图形库用的是ZKWeb.System.Drawing Github: https://github.com/zkweb-framework/Q ...

  6. 记录一则Linux SSH的互信配置过程

    需求:四台Linux主机,IP地址为192.168.10.10/11/12/13,配置登录用户的互信 1.各节点ssh-keygen生成RSA密钥和公钥 ssh-keygen -q -t rsa -N ...

  7. Hadoop的安装与设置(1)

    在Ubuntu下安装与设置Hadoop的主要过程. 1. 创建Hadoop用户 创建一个用户,用户名为hadoop,在home下创建该用户的主目录,就不详细介绍了. 2. 安装Java环境 下载Lin ...

  8. 数据分布转换:非正态 -> 正态

    来源:丁香园论坛:SPSS上的把非正态分布数据转换为正态分布数据 一楼 可以应用变量变换的方法,将不服从正态分布的资料转化为非正态分布或近似正态分布.常用的变量变换方法有对数变换.平方根变换.倒数变换 ...

  9. [翻译]Orchard如何工作

    Orchard一直是博主心中神一般的存在,由于水平比较菜,Orchard代码又比较复杂看了几次都不了了之了.这次下定决心要搞懂其工作原理,争取可以在自己的项目中有所应用.为了入门先到官网去学习一下相关 ...

  10. ABP(现代ASP.NET样板开发框架)系列之16、ABP应用层——数据传输对象(DTOs)

    点这里进入ABP系列文章总目录 基于DDD的现代ASP.NET开发框架--ABP系列之16.ABP应用层——数据传输对象(DTOs) ABP是“ASP.NET Boilerplate Project ...