应急响应技巧

了解事件

发生时间-事件类型(挖矿、勒索)-受影响系统的情况(运行什么服务、端口)
询问客户或运维人员发现异常事件的具体时间以及影响范围。及时隔离防止继续感染影响范围扩大

事件主机需要了解的情况
主机是windows/linux
OA系统/邮件系统/财务系统/web官网等,业务系统是否可关停
是否有弱口令,远程管理端口是否开放
都开放了哪些端口,有什么应用服务,开发的服务是否存在漏洞分析
是否做了映射

异常情况

  • 文件已经被加密,打不开了
  • 设备无法正常启动
  • 勒索信息
  • 挖矿CPU利用率过高
  • 网页挂马/黑链
  • 对外发送异常请求
  • cc通信

处置异常

  • 禁止被感染主机使用U盘,移动硬盘等存储介质,如必须使用做好备份处理工作。主要是隔离被感知的主机
  • 禁用所有无线/有线网卡或直接拔网线
  • 关闭相关风险或者未知端口
  • 划分隔离网络区域
  • 封存主机,相关数据备份
  • 被感染主机应用服务下线
  • 被感染主机部分功能暂停
  • 被感染主机相关账号降权

事件主机分析

查看了解系统的相关信息—排查异常连接—异常进程排查—账号排查—启动项排查—计划任务排查—异常文件分析—日志排查—溯源—恢复

系统基本信息

  • Windows系统
  1. 查看当前系统的补丁信息 systeminfo
  • Linux系统

1.查看系统内核。列出系统arp表,重点查看网关mac地址 arp -a
2. 文件搜索命令 find / -name “.sh”

异常连接排查

  • Windows
  1. 查看目前的网络连接,定位可疑的 ESTABLISHED netstat -ano
    netstat -ano | findstr ESTABLISH
    参数说明:
    -a 显示所有网络连接、路由表和网络接口信息
    -n 以数字形式显示地址和端口号
    -o 显示与每个连接相关的所属进程 ID
    -r 显示路由表
    -s 显示按协议统计信息、默认地、显示 IP
    LISTENING 侦听状态
    ESTABLISHED 建立连接
    CLOSE_WAIT 对方主动关闭连接或网络异常导致连接中断
  2. 查看端口对应的pid
    netstat -ano | findstr “port”
  • Linux
  1. 列出所有打开了网络套接字(TCP和UDP)的进程
    lsof -i
    lsof -i|grep -E “LISTEN|ESTABLISHED”
  2. 列出所有打开的端口及连接状态
    netstat -antlp
    netstat -an
    参数说明
    -a 显示所有连线中的 Socket。
    -n 直接使用 IP 地址,而不通过域名服务器。
    -t 显示 TCP 传输协议的连线状况。
    -u 显示 UDP 传输协议的连线状况。
    -v 显示指令执行过程。
    -p 显示正在使用 Socket 的程序识别码和程序名称。
    -s 显示网络工作信息统计表

异常进程

  • Windows
  1. 查看异常进程 任务管理器
  2. 显示运行在本地或远程计算机上的所有进程 tasklist | findstr 11223
    根据netstat定位出的异常进程的pid,再通过tasklist命令进行进程定位
  3. 根据 wmic process 获取进程的全路径 wmic process | findstr “xx.exe”
  4. 查看进程的详细信息,比如进程路径,进程ID,文件创建日期,启动时间等
    “开始->运行->msinfo32->软件环境 -> 正在运行任务”
  • Linux
  1. 查找进程pid
    netstat -antlp 先找出可疑进程的端口
    lsof -i:port 定位可疑进程pid
  2. 通过pid查找文件
    linux每个进程都有一个对应的目录
    cd /proc/pid号 即可进入到该进程目录中
    ls -ail 结果中exe对应的就是该pid程序的目录
    ls -ail |grep exe
  3. 查看各进程占用的内存和cpu top
  4. 显示当前进程信息 ps
  5. 实现某个进程的精确查找 ps -ef | grep apache
  6. 结束进程 kill -9 pid,如,kill -9 43257
  7. 查看进程树 pstree -p 查找异常进程是否有父进程

账号排查

  • Windows
  1. 图形化界面查看当前的账户和用户组 lusrmgr.msc
  2. 查看当前账户情况 net user
  3. 查看某个账户的详细信息 net user Guest
  4. 查看当前组的情况 net localgroup administrators
  5. 查看当前系统会话,比如查看是否有人使用远程终端登陆服务器 query user
    踢出该用户 logoff ID ID是上面查询出来的。也可能是用户名
  • Linux
  1. 查看utmp日志,获得当前系统正在登陆账户的信息及地址 w
  2. 获得系统前N次的登陆记录 last | more
  3. 查看账号情况 cat /etc/passwd
    /etc/passwd保存着linux系统所有用户的信息,通过查看这个文件,我们就可以尝试查找有没有攻击者所创建的用户或者存在异常的用户。我们主要关注的是第3、4列的用户标识号和组标识号和倒数一二列的用户主目录和命令解析程序。一般来说最后一列命令解析程序如果是设置为nologin的话,那么表示这个用户是不能登录的,所以可以结合我们上面所说的bash_history文件的排查方法。首先在/etc/passwd 中查找命令解释程序不是nologin的用户,然后再到这些用户的用户主目录里,找到 bash_history,去查看这个用户有没执行过恶意命令。/etc/passwd中一行记录对应着一个用户,每行记录又被冒号(:)分隔为7个字段,其格式和具体含义如下:
    用户名:口令:用户标识号:组标识号:注释性描述:主目录:登录Shell
    注意:无密码只允许本机登陆,远程不允许登陆,某个版本之后好像因为安全问题,passwd文件不再有密码了
  4. 查看账号情况 cat /etc/shadow
    root:666oGs1PqhL2p3ZetrE$X7o7bzoouHQVSEmSgsYN5UD4.kMHx6qgbTqwNVC5oOAouXvcjQSt.Ft7ql1WpkopY0UV9ajBwUt1DpYxTCVvI/:16809:0:99999:7:::
    用户名:加密密码:密码最后一次修改日期:两次密码的修改时间间隔:密码有效期:密码修改到期到的警告天数:密码过期之后的宽限天数:账号失效时间:保留
    这里查账号感觉好一点,一般系统的账号都是没有密码的,所以找最长的那几个,那就是有密码的账户,很可能就是被黑客添加的后门账户
  5. linux非root用户文件夹所在位置 /home
  6. 查看所有账户最后一次登陆时间 lastlog
  7. 显示用户登陆错误的记录 lastb 检查暴力破解
  8. 显示用户最近登陆信息 last
    数据源为
    /var/log/wtmp
    /var/log/wtmp.1
    /var/log/btmp
    /var/log/btmp.1
  9. 查看当前登陆用户 who (tty本地登陆 pts远程登录)
  10. 查看当前时刻用户行为 w
  11. 查看登陆多久,多少用户,负载 uptime
  12. 删除user用户 userdel -r user
  13. 创建用户
    useradd admin 创建一个用户,在home目录下不创建文件夹
    passwd admin 修改之前创建的账号的密码
    adduser admin2 是一个比较完善的创建用户的命令,会在home目录下生成一个admin2的文件夹
  14. 删除用户
    userdel admin2 这样删除的话不完全,home目录下的admin2目录不会删除
    userdel -rf admin -r 完全删除一个账户 -f强制删除
    如果遇到账户删除显示已经删除,但创建同名的用户提示用户已存在的情况,尝试以下方法进行删除。
    手动删除passwd、shadow、group里面用户相关字段,以及用户相关的log和mail,并强制删除home目录下用户的文件夹。
    /home
    /etc/passwd
    /etc/group
    /var/spool/mail

启动项排查

  • Windows
  1. 查看开机启动有无异常文件 msconfig
  2. win10开机启动文件夹
    C:\ProgramData\Microsoft\Windows\Start Menu\Programs\StartUp
    快捷查找方法,找一个安装好的程序的快捷方式,右键打开文件位置,再进入该目录下的启动目录即可。StartUp
  3. win7开机启动文件夹
    C:\Users\rpkr\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup
    查找方式,开始>所有程序>启动 ,03查找同此方法
  4. 在注册表中查看开机启动项是否异常
    开始->运行->regedit,打开注册表,查看开机启动项是否正常,特别注意如下三个注册表项:
    HKEY_CURRENT_USER\software\micorsoft\windows\currentversion\run
    HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Run
    HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Runonce
    检查右侧是否有启动异常的项目,如有请删除,并建议安装杀毒软件进行病毒查杀,清除残留病毒或木马
  • Linux
  1. 查看开机启动项内容
    ls -alt /etc/init.d/
    /etc/init.d 是 /etc/rc.d/init.d 的软连接
  2. 启动项文件 more /etc/rc.local
    /etc/rc.d/rc[0~6].d
    ls -l /etc/rc.d/rc3.d/
    ll /etc |grep rc
  3. 定时任务-基本使用
    1.利用crontab创建计划任务
    crontab -l 列出某个用户 cron 服务的详细内容
    2.删除每个用户cront任务(慎重:删除所有的计划任务)
    crontab -r
    3.使用编辑器编辑当前的crontab文件
    crontab -e
    如:*/1 * * * * echo ““hello word”” >> /tmp/test.txt 每分钟写入文件
    4.利用anacron实现异步定时任务调度
    每天运行 /home/bacup.sh 脚本
    vi /etc/anacrontab
    #daily 10 example.daily /bin/bash /home/backup.sh
    当机器在backup.sh期望被运行时是关机的,anacron会在机器开机十分钟后运行它,而不用再等待7天
    ls -al /var/spool/cron/ 查看隐藏的计划任务
    Tips:默认编写的crontab文件会保存在(/var/spool/cron/用户名 例如:/var/loop/cron/root)

计划任务排查

  • Windows
  1. 查看Windows 计划任务 taskschd.msc
    或者 【程序】➜【附件】➜【系统工具】➜【任务计划程序】
  • Linux
  1. 查看当前计划任务有哪些 crontab -l 是否有后门木马程序启动相关信息
  2. 查看分析计划任务 crontab -u <-l, -r, -e>
    解释
    -u 指定一个用户
    -l 列出某个用户的任务计划
    -r 删除某个用户的任务
    -e 编辑某个用户的任务(编辑的是/var/spool/cron 下对应用户的 cron 文件,也可以直接修改
    /etc/crontab 文件)
  3. 查看 etc 目录任务计划相关文件
    ls -al /etc/cron*
    cat /etc/crontab
  4. 此处要注意隐藏的计划任务,在linux中以.开头的文件为隐藏文件,要使用ls -al来查看
  5. 定时任务 - 入侵排查
    重点关注以下目录中是否存在恶意脚本
    /var/spool/cron/*
    /etc/crontab
    /etc/cron.d/*
    /etc/cron.daily/*
    /etc/cron.hourly/*
    /etc/cron.monthly/*
    /etc/cron.weekly/
    /etc/anacrontab
    /var/spool/anacron/*
    可以cat /etc/cron.daily/* 查看目录下所有文件

异常文件分析

  • Windows
  1. 查看文件时间 右键查看文件属性,查看文件时间

  2. Recent 是系统文件夹,里面存放着你最近使用的文档的快捷方式,查看用户recent 相关文件,通过分析最近打开分析可疑文件 %UserProfile%\Recent

  3. 通过文件时间属性来定位可疑文件,根据文件夹内文件列表时间进行排序,查找可疑文件。当然也可以搜索指定日期范围的文件及文件查看文件时间,创建时间、修改时间、访问时间,黑客通过菜刀类工具改变的是修改时间。所以如果修改时间在创建时间之前明显是可疑文件

    Linux

  4. 分析文件日期 stat xx.sh

  5. 返回最近24小时内修改过的文件 find ./ -mtime 0
    返回的是前48~24小时修改过的文件 find ./ -mtime 1
    返回10天内修改过的文件,可以把最近几天的数据一天天的加起来 find ./ -mtime 0 -o -mtime 1 -o -mtime 2
    查找 24 小时内被修改的 php 文件 find ./ -mtime 0 -name “*.php”

  6. 敏感目录的文件分析 [零时/tmp 目录,命令目录/usr/bin /usr/sbin 等], 查看 tmp 目录下的文件 ls –alt /tmp/ | head -n 10这样是按时间顺序查出来的结果

  7. 特殊权限文件查找
    find / *.php -perm 777
    find / -perm 777 |more
    find / *.sh -perm 777|grep .sh

  8. 以 "."开头的具有隐藏属性的文件,当前目录查找 ls -ar |grep “^.”

  9. i 属性是linux文件不可修改权限
    chattr +I filename 给文件添加不可修改权限
    chattr -I filename 将文件的不可修改权限去掉
    lsattr filename 查看文件是否设置了相关权限
    如果设置了该参数,则无论任何人想要删除改文件均需要将此权限去掉

  10. a属性是 linux文件不可修改权限
    chattr +a filename 给文件添加只追加权限
    chattr -a filename 将文件的只追加权限去掉
    lsattr filename 查看文件的相关权限设置
    这个权限让目标只能追加,不能删除,而且不能通过编辑器追加

日志排查

  • Windows
  1. 打开日志管理器 eventvwr.msc
  2. 查看暴力破解问题,筛选事件ID
  • Linux
  1. 查看历史命令记录文件 cat /root/.bash_history |more ,每个账户对应的文件夹下都有这样一个日志文件,或者是history命令直接查
  2. 查看 /var/log/secure 登录日志,可观察其进行暴力破解溯源
  3. linux系统可使用 lastb 和 last 进行查看登录成功失败的IP地址
  4. 重点排查/var/log目录下的日志

溯源

. 分析事件原因

  • 攻击来源,IP,攻击链路
  • 攻击行为分析,弱口令爆破、反序列化漏洞、文件上传、命令执行漏洞等
    输出应急响应报告并且提供加固

恢复

异常文件程序清除 ,恢复业务系统运转、更改账号密码
升级加固系统

工具篇

  • webshell查杀
    D盾_Web查杀:
    http://www.d99net.net/index.asp
    河马webshell查杀:
    http://www.shellpub.com
    百度在线查杀:
    https://scanner.baidu.com/#/pages/intro
    Web Shell Detector:
    http://www.shelldetector.com/
    CloudWalker:
    https://github.com/chaitin/cloudwalker/releases

  • 日志分析工具
    攻击日志分析:
    https://github.com/Lucifer1993/ALB
    Web日志分析:
    https://github.com/JeffXue/web-log-parser
    Windows系统安全登录日志分析工具:
    https://github.com/TheKingOfDuck/logonTracer

  • 在线病毒扫描
    http://www.virscan.org //多引擎在线病毒扫描网 v1.02,当前支持 41 款杀毒引擎
    https://www.virustotal.com //新版多引擎世界在线杀毒网
    https://habo.qq.com //腾讯哈勃分析系统
    https://virusscan.jotti.org //Jotti恶意软件扫描系统
    http://www.scanvir.com //针对计算机病毒、手机病毒、可疑文件等进行检测分析

  • 威胁情报
    CVERC-国家计算机病毒应急处理中心:
    http://www.cverc.org.cn
    微步在线威胁情报社区:
    https://x.threatbook.cn
    火绒安全论坛:
    http://bbs.huorong.cn/forum-59-1.html
    奇安信威胁情报中心:
    https://ti.qianxin.com/
    腾讯御见威胁情报中心(微信公众号)
    黑鸟(微信公众号)

  • 病毒分析
    PCHunter:
    http://www.xuetr.com
    火绒剑:
    https://www.huorong.cn
    Process Explorer:
    https://docs.microsoft.com/zh-cn/sysinternals/downloads/process-explorer
    processhacker:
    https://processhacker.sourceforge.io/downloads.php
    autoruns:
    https://docs.microsoft.com/en-us/sysinternals/downloads/autoruns

  • 病毒查杀
    卡巴斯基:
    http://devbuilds.kaspersky-labs.com/devbuilds/KVRT/latest/full/KVRT.exe
    (推荐理由:绿色版、最新病毒库)
    大蜘蛛:
    http://free.drweb.ru/download+cureit+free
    (推荐理由:扫描快、一次下载只能用1周,更新病毒库)
    火绒安全软件:
    https://www.huorong.cn
    360杀毒:
    http://sd.360.cn/download_center.html

你可能感兴趣的:(应急响应)