应急响应-综合汇总

1.应急响应介绍

2.Linux和Windows入侵排查方法

3.Linux应急案例

4.Windows应急案例之页面篡改

5.溯源排查之道

6.日志分析

# 应急响应流程

## 1.沟通

# 联系客户,咨询当前服务器状态,发生的准确时间点,服务器上有什么业务,提供异常截图,事件

发生后有木有做过处理,做了哪些处理,之前有没有发生过安全事件,是否有完整的日志,服务器上是否存在安全设备。

## 2.确认

# 初步了解服务器相关信息,要求客户对服务器的重要数据进行备份,然后提供给我们应急服务器的账号密码,如果服务器上存在对应的web服务,需要提供对应的web域名,整理客户描述的信息,进行初步确认,判断是不是安全事件,切不可盲目相信他人所述,如果是安全事件提供对应的止损方案

## 3.深入分析

# 分析服务器上的进程,网络连接,计划任务,日志,查找异常项,帮助客户恢复服务器正常状态,刻画攻击路径

## 4.沟通

# 保持跟客户的持续沟通,不要让客户感觉你没有在处理事件,及时同步处理进展,有不知道的信息就

主动问客户获取,客户提供越多信息,对我们完成应急越有帮助

## 5.总结

# 整理并输出完整的应急报告

# 注意事项

# 1.由于应急需要注意时效性,客户一般都是非常着急的,尽可能快速定位到问题,

解决问题才是最重要

# 2.止损第一

# 3.不要造成二次伤害

# 应急响应整体思路

# 1.应急响应的整体思路,就是上层有指导性原则的思路,下层有技能,知识点与工具,

共同推进和保障应急响应流程的全生命周期

'''

应急响应 https://www.freebuf.com/articles/terminal/192859.html

3W1H:W - Who,What,Why 1H - How 做应急响应要带着疑问来做事情,一定要收集清楚这些信息。网络拓扑是怎么样的,需求是啥,发生了是事情,能做什么,用户用了什么产品,产品版本多少,病毒版本是多少,多少主机中了,主机是普通PC还是服务器,服务器是做什么的 ..... 信息收集的越多,对应急响应越有利

易失性原则:做应急响应免不了要做信息收集和取证的,但这里是有一定的先后顺序的,即最容易丢失的证据,应该最先收集,其它的依次类推

要素原则:做应急响应,主要是抓关键证据,即要素,这些要素包括样本,流量,日志,进程及模块,内存,启动项

避害原则:要做到趋利避害,不能问他还没有解决,反而引入了新的问题,譬如,自己使用的工具被感染而不知情,给用户使用不恰当的工具或软件造成客户主机出现问题,给别人发样本,不加密,不压缩,导致别人误点中毒,最极端的场景就是给别人发勒索样本不加密压缩,导致别人误点中毒

'''

# 事件介绍

网络攻击事件:

* 安全扫描攻击:攻击者利用扫描器对目标进行漏洞探测,并在发现漏洞后进一步利用漏洞进行攻击

* 暴力破解攻击:对目标系统账号密码进行暴力破解,获取后台管理员权限

* 系统漏洞攻击:利用操作系统,应用系统中存在的漏洞进行攻击

* Web漏洞攻击:通过SQL注入漏洞,上传漏洞,XSS漏洞,等各种Web漏洞进行攻击

* 拒绝服务攻击:通过大流量DDoS或者CC攻击目标,使用目标服务器无法提供正常服务

* 其他网络攻击行为

恶意程序事件:

* 病毒,蠕虫:造成系统缓慢,数据损坏,运行异常

* 远控木马:主机被黑客远程控制

* 僵尸网络程序:(肉鸡行为):主机对外发起DDoS攻击,对外发起扫描攻击行为

* 挖矿程序:造成系统资源大量消耗

Web恶意代码:

* Webshell后面:黑客通过Webshell控制主机

* 网页挂马:页面被植入带病毒的内容,影响访问者安全

* 网页暗链:网站被注入博彩,色情,游戏等广告内容

信息破坏事件:

* 系统配置遭篡改:系统中出现异常的服务,进程,启动项,账号等等

* 数据库内容篡改:业务数据遭到恶意篡改,引起业务异常和损失

* 信息数据泄露事件:服务器数据,会员账号遭到窃取并泄露

其他安全事件:

* 账号被异常登录:系统账号在异地登录,可能出现账号密码泄露

* 支付盗刷

事件处理流程

* 一般像web攻击类安全事件,处理方法就是加WAF,增加攻击者的攻击成本,然后查找漏洞,修复漏洞

,如果是CMS漏洞,需要根据官方修复建议进行修复

* 挖矿类安全事件,先暂停挖矿进程,修改远程木马下载地址为本地host,然后排查处理

* 信息泄露类安全事件,要根据泄露数据样本判断是哪里存在漏洞,然后采取相应的措施

* 支付类安全事件,禁止支付密钥,关闭提现业务

总结:

  * 沟通 - 》 确认 -》 异常发现与追踪 -》 事件处理 -》 事件总结

  * https://mp.weixin.qq.com/s/H_ewge2jOCgFz-SelVFkUw

  # Linux排查方法

  * 系统完整性 rpm -Va

  * 进程 top, ps -aux, lsof

  * 网络连接  netstat -tunlpa

  * 开机启动项  /etc/init.d/* /etc/rc*.d  /etc/rc.local

  * webshell查杀 河马webshell查杀  自动脚本

  * 计划任务

    - cat /var/log/cron | grep "bash"

    - cat /var/log/cron | grep "wget"

    - cat /var/log/cron | grep "cat"

    - cat /var/log/cron | grep "id"

    - cat /var/log/cron | grep -E -o "(([0-9]{1,3})\.([0-9]{1,3})\.([0-9]{1,3})\.([0-9]{1,3}))"

    - cat /etc/crontab

    - /var/spool/cron/*

    - /etc/cron.d/

    - /etc/cron.daily/

    - /etc/cron.hourly/

    - /etc/cron.weekly/

    - /etc/cron.monthly/

  * 查看登录情况

  历史登录成功IP和账号,当前登录成功账号IP

  cat /var/log/secure

  last

  * 查看ssh key

  cat .ssh/authorized_keys

  * 用户及hosts

  /etc/passwd

  /etc/hosts

  * 查看动态链接库

  echo $LD_PRELOAD

  Linux预加载库

  /etc/ld.so.preload

  /usr/local/lib

  查看每个命令加载的动态链接库

  ldd `which top`

  * 日志分析

  Linux日志存放 /var/log/

  /var/log/message 记录系统重要信息的日志,这个日志文件会记录Linux系统的绝大多数重要信息

  /var/log/cron 记录系统定时任务相关日志

  /var/log/btmp 记录错误登录日志,不能直接使用vi查看,需要使用lastb

  /var/log/lastlog 记录系统中所有用户最后一次登录事件的日志,不能使用vi 使用lastlog

  /var/log/secure 记录验证和授权方面的信息,只要设计账号和密码的程序都会记录,比如ssh 登录,su切换用户,sudo授权

  - 定位有多少个IP爆破主机的root账号

  grep "Failed password for root" /var/log/secure | awk '{print $11}' | sort | uniq -c | sort -nr| more

  - 登录成功的IP有哪些

  grep "Accepted " /var/log/secure | awk '{print $11}' | sort | uniq -c | sort -nr | more

  # Windows 排查方法

  * 系统状态排查  查看CPU 内存 网络占有率

  * 文件分析

    - 临时文件  黑客往往可能将病毒放在临时目录,或者将病毒相关文件释放到临时目录,因此需要检查临时目录是否存在异常文件。

    假设系统盘在C盘,则通常情况下的临时目录如下:

    C:\Users\\shit\Local Settings\Temp

    C:\Documents and Settings\\shit\Local Settings\Temp

    C:\Users\\shit\桌面

    C:\Documents and Settings\\shit\桌面

    C:\Users\\shit\Local Settings\Temporary Internet Files

    C:\Documents and Settings\\shit\Local Settings\Temporary Internet Files

    - 浏览器相对文件  黑客可能通过浏览器下载恶意文件,或者盗取用户信息,因此需要检查下浏览器的历史访问记录,文件下载记录,cookie信息,对应相关文件目录如下:

    C:\Users\\shit\Cookies

    C:\Documents and Settings\\shit\Cookies

    C:\Users\\shit\Local Settings\History

    C:\Documents and Settings\\shit\Local Settings\History

    C:\Users\\shit\Local Settings\Temporary Internet Files

    C:\Documents and Settings\\shit\Local Settings\Temporary Internet Files

    - 最近文件  检查下最近打开了哪些文件,可疑文件有可能就在最近打开的文件中,打开一下这些目录即可看到:

    C:\Users\\shit\Recent

    C:\Document and Settings\shit\Recent

    - 文件修改时间  可以根据文件夹内文件列表时间进行排序,查找可疑文件,一般情况下,修改时间越近的文件越可疑

    - system32和hosts文件

    System32也是常见的病毒释放目录,因此也要检查下改目录,hosts文件是系统配置文件,用于本地DNS查询的域名设置,可以强制将某个域名对应到某个IP上,因此需要检查hosts文件有没有被黑客恶意篡改

    这里以hosts文件为例,如上图,检查3种异常:

    1.知名站点,检查对应IP是否真的归属该站点,防止”钓鱼“

    2.未知站点,检查该域名和IP是否恶意

    3.无法访问的安全站点,即IP是否指向127.0.0.1 0.0.0.0等本地地址,无效地址

    - 网络连接

    使用命令 netstat -ano 查看当前的网络连接,排查可疑的服务,端口,外连的IP

    如发现netstat定位出的pid有问题,可再通过tasklist命令进一步追踪该可疑程序(tasklist | findstr PID)

    - 流量分析

    流量分析可以使用wireshark 主要分析下当前主机访问了哪些域名,URL,服务,或者有哪些外网IP在访问本地主机的哪些端口,服务和目录,又使用了何种协议等等

    例如:使用了Wireshark观察到,主机访问了sjb555.3322.org 这种动态域名,即可粗略猜测这是一个C&C服务器

    - 漏洞与补丁信息

    使用命令systeminfo ,查看系统版本信息以及补丁信息,确认当前系统是否存在漏洞,是否以及打了相应的补丁

    - 进程分析

    * 进程名字异常

    * 进程信息分析

    - 启动项排查

    黑客为了保持病毒能够开机启动,登录启动或者定时启动,通常会有相应的启动项,这里有个非常好的工具,Autoruns(www.sysinternals.com)

    - 用户排查

    net user

    - Tips

    * 删除guest用户

      - 按键 "win + r" 输入regedit打开注册表;

      - 展开 "HKEY_LOCAL_MACHINE\SAM\SAM", 右键 "权限";设置管理员完全控制权限

      - 关闭注册表,重新打开

      "HKEY_LOCAL_MACHINE\SAM\SAM\Domains\Account\Users\Names\Guest"

      - 将注册表对应的类似"0x2f3", 进行删除

      "HKEY_LOCAL_MACHINE\SAM\SAM\Domains\Account\Users\000002f3"和

      "HKEY_LOCAL_MACHINE\SAM\SAM\Domains\Account\Users\Names\Guest"这两个键即可

    - 常用的工具和命令

    Webshell查杀

    D盾

    深信服WebShellkiller

    CloudWalker(牧云)

    - 木马病毒类查杀

    ClamAV

    RKHunter

    Chkrootkit

    - 进程分析

    火绒剑

    - 流量分析

    Wireshark

    Tcpdump

    - 启动项分析

    Autoruns

    - 其他辅助工具

    IP分析

    超级文件监控工具V1.0

# Linux木马案例(一)

  * 系统完整性

  rpm -Va

  * 进程

  lsof

  ps aux

  ps -ef

  ps aux --sort=start_time

  top

  * 网络连接

  netstat -tunlpa

  * 开机启动项

  /etc/init.d/*

  /etc/rc*.d/

  /etc/rc.local

  ls -altr /etc/rc.local

  * webshell查杀

  河马webshell查杀

  自写脚本

  find / -ctime +1 -ctime -30

  * 计划任务

  ls -altr /var/spool/cron

  ls -altr /etc/cron.daily/

  ls -altr /etc/cron.weekly/

  ls -altr /etc/cron.hourly/

  ls -altr /etc/cron.monthly/

  ls -altr /etc/crontab

  * 查看登录情况

  last

  cat /var/log/secure* | grep "Access"

  cat /var/log/secure* | grep "Fail" 

  * 查看key

  cd /root/.ssh

  cat authorized

  * 用户及hosts

  cat /etc/passwd

  cat /etc/hosts

  * 查看动态链接库

  echo $LD_PRELOAD

  strace -f ls

  Linux预加载库

  /etc/ld.so.preload

  /usr/local/lib

* 木马处理

  核心:找异常(尽可能多的找出异常)

  lsof -f -p 3322

  find -ctime +1 -ctime -7 | more

* 隐藏木马处理

使用busybox

busybox ps

1.rpm -Va

2.busybox ls -altr /etc/cron.d

发现存在root的计划任务

3.busybox cat /etc/cron.d/root

通过微步在线的威胁情报查询域名是否是恶意挖矿之类的域名

4.busybox ls -altr /etc/cron.daily/

5.busybox ls -altr /etc/cron.weekly/

6.busybox ls -altr /etc/cron.hourly/

7.busybox ls -altr /etc/cron.monthly/

8.busybox ls -altr /etc/crontab

9.busybox cat /etc/crontab

10.busybox ls -altr /var/spool/cron/

查看可疑的基础 top 如果查看不出来,那么使用busybox

busybox top

busybox ps aux

查看Linux动态链接库

busybox echo $LD_PRELOAD

根据lsof查看进程pid的位置

lsof -f -p 2290

可疑隐藏木马位置

计划任务,进程,文件,动态链接库

偷梁换柱

1.隐藏原理

  * 通过替换系统中常见的进程查看工具(比如:ps top lsof)的二进制程序,导致原先查看进程相关信息的工具(ps,top,lsof)等都被掉包了

2.防护手段

  * 从干净的系统上拷贝这些工具到备份至当前系统,对比前后的输出是否一致,不一致,则说明被替换了

  * 检测这些工具的hash值是否与系统初始化的时候值不一致,如果是,则说明被替换了

  * 专业一点的话,使用一些系统完整性检查工具,比如tripwrie,aide等

  * 部署主机入侵检查工具(比如ossec),监控系统文件是否被替换,如有替换,则会报警记录

3.Hook系统调用型

  隐藏原理

  ps,top等工具的工作原理,以ps工作原理为例说明这些进程信息查看工具的原理


  /proc 是一个虚拟文件系统,是VFS的一个实现形式,/proc中包含了内核信息

  硬件信息,进程信息等,ps等工具就是通过分析/proc文件系统中进程相关目录的信息获取进程信息汇总,Hook系统调用型的进程隐藏方式都是通过拦截或者迷惑ps等工具从/proc获取分析结果的过程,而不是真的/proc文件系统生成本身。

  ps首先会调用openat系统函数获取/proc目录的文件句柄,然后调用系统函数getdents递归获取/proc目录下所有文件信息(包括子目录),然后开始open函数打开/proc/进程pid/stat, /proc/进程pid/status, /proc/进程pid/cmdline 文件开始获取进程信息,然后打印给你看,攻击者通过劫持getdents 等系统调用函数或libc中的readdir函数,实现对特定进程名进程的隐藏,以达到进程隐藏的目的

  劫持getdents等系统调用函数或libc中的readdir函数等系统调用一般来说3个途径

  1. 修改内核调用,比如getdents的源码

  2. 修改libc库中readdir函数的源码

  3. 利用环境变量LD_PRELOAD 或者配置ld.so.preload文件以使得恶意的动态库先于系统标准库加载,以达到架空系统标准库中相关函数的目的,最终实现对特定进程的隐藏

  Linux木马隐藏方式

  * 防护手段

  1.检查LD_PRELOAD环境变量是否有异常

  2.检查ld.so.preload等配置文件是否有异常

  3.写个python小工具,直接读取/proc中的内容,对比ps等工具的结果,如果对不上,则存在被劫持的可能

  4.使用sysdig(有开源版,可以监控ps等的调用过程,观察是否有恶意动态库被加载,strace有类似功能) 或者

  prochunter

  * 伪造进程名类型

    - 隐藏原理

    在恶意代码中通过设置具有迷惑性的进程名字,以达到躲避管理员检查的目的

    - 挂载覆盖型

    利用mount -bind 将另外一个目录挂载覆盖至/proc/目录下指定进程ID的目录,我们知道ps,top等工具会读取/proc目录下的所有文件,获取进程信息,如果将进程ID的目录信息覆盖,则原来的进程信息将从ps的输出结果中隐匿

# Windows应急响应挂马篡改

  * 挂马是指在获取网站或者网站服务器的权限后,在网页文件中插入一段恶意代码或者广告

  常见的网页挂马方式有:

  - iframe框架挂马,就是加iframe标签

  - script挂马,通过各种方法加载js代码

  - 图片挂马,伪装成图片,内容是恶意代码

  - Global.asax挂马,篡改入口文件挂马

  - IIS URL重写

  - 修改dll挂马

  * 检测网站挂马工具

  - URL Snooper:URL嗅探工具,会自动抓取网站中的连接

  - D盾:Windows下webshell检测工具

  - 超级字符串批量替换工具:查找文件中是否包含特定字符

  - 超级文件监控工具:监控目录下发生改变的文件

  * 清除恶意代码

  - 清除网站中的恶意代码首先需要知道哪些文件被挂马了,判断方法如下:

    1.通过直接查看代码,从代码中找出挂马代码

    2.通过查看网站目录修改时间,通过时间进行判断

    3.工具监控,查找恶意代码

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 203,271评论 5 476
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 85,275评论 2 380
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 150,151评论 0 336
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,550评论 1 273
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,553评论 5 365
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,559评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,924评论 3 395
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,580评论 0 257
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,826评论 1 297
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,578评论 2 320
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,661评论 1 329
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,363评论 4 318
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,940评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,926评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,156评论 1 259
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 42,872评论 2 349
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,391评论 2 342