如何进行高效的应急响应:一份必备的笔记!
2023-6-8 20:46:45 Author: Z2O安全攻防(查看原文) 阅读量:16 收藏

点击上方[蓝字],关注我们

建议大家把公众号“Z2O安全攻防”设为星标,否则可能就看不到啦!因为公众号现在只对常读和星标的公众号才能展示大图推送。操作方法:点击右上角的【...】,然后点击【设为星标】即可。

本文仅用于技术讨论与学习,利用此文所提供的信息而造成的任何直接或者间接的后果及损失,均由使用者本人负责,文章作者及本公众号不为此承担任何责任。

应急响应

应急响应事件分类

应用层

  1. 1. 网站植入WebShell
  2. 2. 网页挂马
  3. 3. 暗链
  4. 4. 数据篡改(色情/博彩)

主机层

  1. 1. 挖矿
  2. 2. DDOS
  3. 3. 勒索病毒
  4. 4. SSH爆破
  5. 5. 数据库入侵
  6. 6. 远控后门

网络层

  1. 1. DDOS攻击
  2. 2. CC攻击
  3. 3. DNS/HTTP劫持
  4. 4. ARP欺骗

排查思路

image-20230522163352685

一、Windows

1、排查思路

  • • 查看日志

  • • 查看端口/外连情况**(netstat -pantu)**

  • • 查看进程**(tasklist)**

  • • 查看系统账户

  • • 查看启动项

  • • 查看注册表

  • • 查看定时任务

2、查看账号

  • • 思路

查看是否存在弱口令
查看lusrmgr用户列表,是否存在未知用户、影藏用户(特征为用户名后存在$符)
查看lusrmgr组列表,查看是否存在未知账户。
  • • 命令

query user //查看当前系统登录的会话

logoff ID //把指定用户踢出会话
    
net user //查看本地用户
    
lusrmgr.msc //查看账号

  • • 工具

D盾
Pchunter

3、查看端口

  • • 思路

查看有无异常端口连接
使用netstat查看异常进程,并查找到PID
查看异常外连IP
查看有无重要的端口外连,类似于22(SSH)、3389(RDP)
被注入的进程属性里会多出**.NET Assemblies和.NET Performance**两个菜单
  • • 命令

netstat //查看端口网络外连情况
    -a  显示所有连接和监听端口
    -n  以数字形式显示地址和端口号
    -o 显示与每个连接相关的进程ID
    -t 显示TCP协议的连接情况
    -u 显示UDP协议的连接情况
    -p proto 显示proto指定的协议的连接 proto有TCP、UDP、TCPv6、UDPv6。如果与-s选项一起使用以显示按协议统计信息
  • • 工具

火绒剑 #着重关注未知文件、外部IP
DNSQuerySniffer #着重关注红色端口号、A记录、状态码

4、查看进程

  • • 思路

打开任务管理器,查看资源占用情况
运行msinfo32查看正在运行任务
  • • 命令

taskmgr.exe  #任务管理器

tasklit #列出所有进程

tasklist /svc #列出每个进程所调用的服务

taskkill /T /F /PID #结束某进程

  • • 工具

火绒剑
Pchunter #关注无厂商名、签名验证、描述信息的可疑进程

5、启动项与计划任务

  • • 思路

运行msconfig,打开系统配置,查看是否存在异常的启动项(win7以后取消)
可以在任务管理器中打开(taskmgr.exe)查看启动项
  • • 命令

net statistics workstation  #查看系统开机事件

schtasks  #CMD查看系统计划任务

taskschd.msc   #win+r运行,查看任务计划程序

wmic startup get command,caption  #查看程序启动信息

wmic service list brief  #查看主机服务信息

  • • 工具

autoruns #查看启动项、计划任务
PChunter #查看启动项,黑色-微软进程;蓝色-非微软进程;红色-可疑进程、隐藏服务;

6、日志分析

  • • 思路

打开事件查看器,如果存在大量的登录失败事件ID则代表对相关的账号进行了爆破
  • • 主要日志

#系统日志
%SystemRoot%\System32\Winevt\Logs\System.evtx

#安全日志
%SystemRoot%\System32\Winevt\Logs\Security.evtx

#应用程序日志
%SystemRoot%\System32\Winevt\Logs\Application.evtx 

  • • 事件日志分析

事件ID说明
4624登录成功
4625登录失败
4634注销成功
4647用户启动的注销
4672使用超级用户进行登录
4720创建用户
7045服务创建
  • • 命令

eventvwr.msc #win+r打开事件查看器
  • • 工具

7、文件分析

  • • 思路

查看有无新键的文件夹
分析最近打开的可疑文件
  • • 命令

%UserProfile%\Recent #win+r运行,分析最近打开的可疑文件

#查看有无新键的用户文件夹
 Window 2003         C:\Documents and Settings
 Window 2007及以后       C:\Users\
 
 msinfo32 #查看系统信息

8、Windows命令

#获取本地用户列表 
net user
        
#查看当前会话 
net  session
               
#查看当前运行的服务 
net start
    
#远程连接  
net use
    
#查看当前用户下的共享目录    
net share

#查看网络连接       
netstat  -ano

#查看操作系统的详细配置信息 
systeminfo

#获取进程信息
wmic  process    

#获取系统进程信息
tasklist

二、Linux

1、排查思路

  • • 查看账户

  • • 查看端口

  • • 查看进程

  • • 启动项与定时任务

  • • 日志分析

  • • 文件分析

  • • 历史命令

2、查看账号

  • • 思路

查看用户信息文件,查看是否存在UID为0的用户、新增的用户
查看当前已登录用户及会话时常
查看用户登录信息
查看sudo用户列表,除去Root账号外,是否存在其他账号拥有sudo权限
禁用和删除可以用户账号
  • • 基础知识

用户信息文件:/etc/passwd
用户组信息文件:/etc/group
用户密码文件:/etc/shadonw
  • • 命令

#查看目前登录系统的用户信息,一共有五列,其每一列对应的含义如下
#第一列显示用户名词
#第二列显示用户的连接方式。tty/:0代表用户直接连接电脑,pts代表远程登录
#root     pts/0        2023-05-29 11:28 (xxx.xxx.xxx.xxx)
who

#提出用户,如果想提出以上的用户则
pkill -kill -t pts/0

#查看用户登录的信息
last

#显示系统中所有用户最近一次登录信息
lastlog

#显示登录失败用户的信息
lastb

3、查看端口和进程

  • • 思路

查看端口外连情况,分析可疑进程
查看本地有无重要端口被连接
查看有无可疑IP外连,可以用微步在线检测
查看当前运行那些进程,分析可疑的进程
  • • 命令

#查看端口连接情况
netstat -pantu 

#查看进程,分析异常的进程名、PID、可疑的命令行
ps -aux

#查看异常进程
ps -aux | grep $PID

#查看pid所对应的进程文件路径
ls -l /proc/$PID/exe

#结束进程
kill -9 $PID

#查看指定端口对应的进程
lsof -i:80

#查看指定PID的调用情况
lsof -p 666

#动态展示系统整体运行情况,查看有无资源占用过高的jing
top

4、启动项与定时任务

  • • 系统运行级别

运行级别含义
0关机
1单用户模式,可以想象为windows的安全模式,主要用于系统修复
2不完全的命令行模式,不含NFS服务
3完全的命令行模式,就是标准字符界面
4系统保留
5图形模式
6重启
#查看自启动服务
cat /etc/cron*

#查看某个用户的计划任务
crontab -l

#编辑定时任务
crontab -e

#删除当前用户的定时任务
crontab -r

#查看有无异常开机启动命令
more /etc/rc.local

#查看服务自启动状态
chkconfig
#当我们需要开机启动自己的脚本时,只需要将可执行脚本丢在/etc/init.d目录下,然后在/etc/rc.d/rc*.d中建立软链接即可,S开头代表加载时自启动
ln -s /etc/init.d/sshd /etc/rc.d/rc3.d/S100ssh 

5、日志分析

  • • 关键日志文件

日志文件说明
/var/log/cron记录系统定时任务相关日志
/var/log/massage记录Linux操作系统常见的系统和服务错误信息
/var/log/btmp记录登录失败的信息, 也可以使用命令lastb
/var/log/lastlog记录系统中所有用户最后一次成功登录的时间, 也可以使用命令lastlog
/var/log/wtmp永久记录所有用户的登录、注销信息,同时记录系统的启动、重启、关机事件;也可以使用命令last
/var/log/utmp只记录当前用户的信息;也可以使用命令w,who,user
/var/log/secure记录验证和授权方面的信息,如SSH登录、用户切换、SUDO授权的部分操作
/var/log/yum.log查看Centos软件安装日志
/var/log/apt查看Ubuntu软件安装日志
  • • 思路

查看ssh登录日志
查看登录成功的IP
查看有多少IP尝试登录root账号

6、文件分析

  • • 关键文件

文件名说明
/etc/passwd用户信息文件
/etc/crontab定时任务文件
/etc/anacrontab异步定时任务文件
/etc/rc.d/rc.local开机启动项
  • • 思路

查看敏感目录下是否存在影藏文件
发现可疑文件使用`stat`查看创建修改时间
如果前期信息收集知道木马的创建时间,可疑根据时间查找文件
查看历史命令
  • • 命令

#查找近7天内修改的文件
find / -mtime -7 -ls | more

#查看历史命令
cat .bash_history

7、Linux常用命令

#查看资源占用
top

#查看进程
ps -aux

#查看网络连接
netstat -pantu

#查看开123端口的进程
lsof -i:123

#显示错误的登录信息
lastb

#显示系统用户最近的的登录信息
last

#显示所有用户最近的登录信息
lastlog

#查看定时任务
crontab -l

事件分析

挖矿病毒

1、代表

  • • DTStealer (又名“永恒之蓝下载器木马”)

  • • WannaMine

  • • 隐匿者(MyKings)

  • • 紫狐

2、特征

  • • 电脑CPU占用率过高

  • • 大量对外网络连接

  • • 存在异常的定时任务

3、排查思路

  • • netstat查看网络连接, 发现异常的进程

  • • 使用ps查看进程状态,发现异常下载进程

  • • 打开其下载的文件,发现其为挖矿的Shell脚本

  • • 排查开机启动项、定时任务、服务等

  • • 查看系统日志、中间件日志等,找到攻击者攻击原因

  • • 删除定时任务

  • • 终止异常进程

  • • 修复漏洞

Webshell木马查杀

排查思路

  • • 定位时间和范围

    • • 工具扫描定位位置

    • • 定位创建时间

    • • 查看Web根目录的.htaccess文件

  • • 查找危险命令、危险函数

# php文件
  find    网站目录/* -type f -name "*.php" |xargs grep "eval"
  find    网站目录/* -type f -name "*.php" |xargs grep "base64_decode"
  find    网站目录/* -type f -name "*.php" |xargs grep "@$"
# jsp文件
  find    网站目录/* -type f -name "*.jsp" |xargs grep "getRuntime"
  find    网站目录/* -type f -name "*.jsp" |xargs grep "exec"
  find    网站目录/* -type f -name "*.jsp" |xargs grep "AES"
# asp文件
  find    网站目录/* -type f -name "*.asp" |xargs grep "execute"
  find    网站目录/* -type f -name "*.asp" |xargs grep "eval"
  find    网站目录/* -type f -name "*.asp" |xargs grep "ExecuteGlobal"
  • • 查看异常端口和进程

  • • Webshell查杀工具

    • • D盾

    • • 河马

  • • Web日志审计

    • • 查看access.log文件

  • • 漏洞分析:分析可能存在漏洞的地方

  • • 漏洞修复:清除Webshell并进行加固

溯源

查看GitHub用户绑定的邮箱

1、Github搜索某一个词条,打开搜索结果

2、打开commits历史提交记录

3、打开一条历史记录

4、Url后添加.patch则可查看

image-20230604170622549

QQ号码查看IP归属查询接口

接口+qq号,然后打开链接,跳转到QQ,

https://h5.qzone.qq.com/v2/wezone/jump?_wv=3&_proxy=1&schema=mqqapi%3A//qcircle/openmainpage%3Ffrom%3Dhomepage%26sharecategory%3D1%26shareentrance%3D2%26uin%3D

hvv招募

2023Hvv大招募,蓝队中高级位置还有很多!参加的师傅扫描下面二维码提交简历,也可以添加下面的微信私信回复"hvv",拉你入hvv项目群!

知识星球

致力于红蓝对抗,实战攻防,星球不定时更新内外网攻防渗透技巧,以及最新学习研究成果等。常态化更新最新安全动态。专题更新奇技淫巧小Tips及实战案例。

涉及方向包括Web渗透、免杀绕过、内网攻防、代码审计、应急响应、云安全。星球中已发布 300+ 安全资源,针对网络安全成员的普遍水平,并为星友提供了教程、工具、POC&EXP以及各种学习笔记等等。

交流群

关注公众号回复“加群”,添加Z2OBot好友,自动拉你加入Z2O安全攻防交流群(微信群)分享更多好东西。(QQ群可直接扫码添加)

关注我们

关注福利:

回复“app" 获取  app渗透和app抓包教程

回复“渗透字典" 获取 针对一些字典重新划分处理,收集了几个密码管理字典生成器用来扩展更多字典的仓库。

回复“书籍" 获取 网络安全相关经典书籍电子版pdf

回复“资料" 获取 网络安全、渗透测试相关资料文档

点个【 在看 】,你最好看


文章来源: http://mp.weixin.qq.com/s?__biz=Mzg2ODYxMzY3OQ==&mid=2247497858&idx=1&sn=82cc0176f89aeb0bb737578983e91ea5&chksm=ceab13c2f9dc9ad44618568d24cbb47b37b902a5801ed6e32762016be9a5604dd8ace41bb4b3#rd
如有侵权请联系:admin#unsafe.sh