• 应急响应排查思路


    当线上服务器发现异常以后,无非就是常见的几种现象:

    Web入侵:挂马、篡改、Webshell
    系统入侵:系统异常、RDP爆破、SSH爆破、主机漏洞
    病毒木马:远控、后门、勒索软件
    信息泄漏:刷裤、数据库登录(弱口令)
    网络流量:频繁发包、批量请求、DDOS攻击

    被黑之后可按照如下方法逐一操作

    1.跟开发运维确认被黑机器的用途、重要程度,能否断网处理,如果不能,先做下白名单处理,限制源ip访问,防止黑客继续深入

    2.查找进程, ps -ef 查找进程id,根据进程process-id查看 进程所在的路径 ls -al  /proc/process-id/exe 即可查找进程所在的文件绝对路径。也可以用lsof -p process-id 和 lsof -i listen-port|ip-address|

    但需要注意如下点

      1)虽然通过ps,netstat可以查看进程和网络连接,但是很多时候,你使用ll,stat命令查看ps,netstat等文件的时候,发现这些常用命令都被黑客替换了,这样查看的时候是看不到恶意的进程的,需要从正常的机器上拷贝完整的命令到该机器上再执行即可

      pstree -a -pn 查看进程比较好看一些

      2)当遇到僵尸进程(多个进程互相守护,一个进程被杀死,另外一个进程立马启动,总也杀不死的情况),首先需要定位到可执行文件的路径,锁定常用的可执行文件路径,禁止新的文件生成,命令为:

           chattr +i  /usr/bin/ /usr/sbin/ /bin ...

      使该目录不可读不可写不可删除文件,同时修改恶意文件的权限为000  

         chmod 000 bad-binary-file

      3)当定位一个异常进程后,注意查看该进程的启动时间,假设的Feb 27  那么你就要注意查看一下常用的进程的文件的修改时间(如sshd),是否是Feb 27,这样可以简单的确认,sshd是否被植入了后门文件,命令如下:

       ls -al /bin /usr/bin /usr/sbin/ /sbin/ | grep "Feb 27"

    3.查日志,通过查看常见的登陆日志确定黑客的攻击路径,ssh弱口令?中间件上传木马?等等,常见的日志文件

      1)nginx或者apache的access_log,使用grep命令过滤黑客日志,定位404状态码,500状态码等方法

      2)/var/log/secure 该日志记录了系统登陆成功和失败的日志,可利用cat /var/log/secure|grep "Accepted"或者cat /var/log/secure|grep "Failed"|wc -l 确定黑客爆破次数,登陆信息等,但是该日志很可能会被黑客删除,一种解决办法就是修改系统的登陆bash脚本,将系统的登陆信息以syslog的形式丢出去,即使黑客把日志删除了,登陆信息也可以查到

      3)last命令记录了系统最近被登陆的信息,也可能被删除,last命令读取的是 /var/log/wtmp文件,/var/run/utmp同样也保存了登陆信息,区别

      /var/log/wtmp文件中保存的是登录过本系统的用户的信息

      /var/run/utmp文件保存的是当前正在本系统中的用户的信息

      想要查看上面两个文件需要使用last -f /var/log/wtmp|/var/run/utmp

      lastlog命令,记录系统中所有用户最近一次登录信息。

      lastb命令,记录用户错误的登录列表 对应的数据源 /var/log/btmp

      4)history命令,如果黑客执行了history -c 命令,那么历史记录会被清楚,但是查看 cat ~/.bash_history还是可以查看历史命令,要想彻底删除历史记录,需要先执行history -c 然后history -w 这样~/.bash_history文件也会被清空了,

    4.查最近更改过的文件,巧用find 命令参考另外一篇详解

    5.查开机启动项和定时任务

    开机启动项排查 

    定时任务排查 http://www.cnblogs.com/Kevin-1967/p/7219120.html

    6.后门排查

    chkrootkit  www.chkrootkit.org 

    rkhunter  rkhunter.sourceforge.net

  • 相关阅读:
    什么是回归测试?
    单元测试、集成测试、系统测试的侧重点是什么?
    一个测试工程师应具备那些素质?
    你所了解的的软件测试类型都有哪些,简单介绍一下。
    Python
    爬虫-urllib3模块的使用
    爬图片(附,源码)
    MySQL存储引擎:MyISAM和InnoDB的区别
    员工管理系统
    MySQL锁(二)表锁:为什么给小表加字段会导致整个库挂掉?
  • 原文地址:https://www.cnblogs.com/Kevin-1967/p/7241303.html
Copyright © 2020-2023  润新知