介绍:Windows 应急响应、取证及溯源相关内容学习记录

0x00、前言

常见的应急分类:


web入侵:网页挂马、主页篡改、Webshell
系统入侵:病毒木马、勒索软件、远控后门
网络攻击:DDOS攻击、DNS劫持、ARP欺骗

0x01、入侵排查过程

1.1 系统账户相关

注意事项:弱口令、22/3389 等端口是否对外
查看账号的方法:

  1. net user(无法列出$用户)
  2. lusrmgr.exe(无法找到注册表方式建立的用户)
  3. 查看注册表(最准)HKEY_LOCAL_MACHINE\SAM\SAM\Domains\Account\Users\
  4. D 盾有查看账户的功能

查看登录日志:
eventvwr.msc,然后使用Log Parser进行日志审计。
BTW:可以通过改注册表的方式,来建立隐藏的账户

1.2 进程、端口相关

查看开放的端口:netstat -ano
重点看状态是 ESTABLISHED 的端口:netstat -ano | findstr 'estab'
查看路由:netstat -rn
查看系统信息:msinfo32,依次点击软件环境→正在运行任务,可以看到当前的进程
查找 PID 对应的进程:tasklist | findstr PID
杀死进程:


taskkill /f /pid 123 /t
taskkill /f /im explorer.exe /t

查看进程对应的文件:依次输入wmic--process
显示 进程--PID--服务:tasklist /svc
查看 Windows 服务所对应的端口:
%system%/system32/drivers/etc/services(一般 %system% 就是 C:\Windows )
遇到可疑的 IP,可以使用微步在线查看 IP 的信誉,alfred 快速搜索:
https://x.threatbook.cn/nodev4/ip/{query}
防火墙配置:netsh firewall show all

1.3 启动项、计划任务、服务

1. 启动项相关
开机启动文件夹:【开始】>【所有程序】>【启动】
对应的路径:C:\Users\xxxx\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup
系统配置的启动项:msconfig
注册表的启动项:


HKEY_CURRENT_USER\software\micorsoft\windows\currentversion\run HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Run HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Runonce

组策略:gpedit.msc依次选择【计算机配置】【Windows 设置】【脚本】【启动】
使用工具:Autoruns
2. 服务相关
查看服务:services.msc
3. 系统信息
查看系统信息及补丁:systeminfo
4. 可疑文件和目录
自动生成的用户目录:


Window 2003 C:\Documents and Settings
Window 2008R2 C:\Users\

最近打开的文件:%UserProfile%\Recent
排查的几个点:

  1. 回收站、浏览器下载记录、浏览器历史记录
  2. 时间排序,查看最新的文件
  3. 修改时间在创建时间之前的文件

5. 日志相关
查看日志:eventvwr.msc

1.5 内存相关

发现问题,可以先 dump 一份内存出来,两种方式:

  1. 【我的电脑】右键选择【属性】,【高级系统设置】-【高级】-【启动和故障恢复里面的设置】,选择【写入调试信息】中的完全内存转储。
  2. 命令行执行NotMyFault64.exe /crash,生成的文件在%SystemRoot%\MEMORY.DMP

利用Volatility进行入侵痕迹分析 - 先知社区

1.6 在线扫描网站

virscan 多引擎扫描
腾讯哈勃分析系统
Jotti恶意软件扫描系统
ScanVir 针对计算机病毒、手机病毒、可疑文件

0x02、Windows 日志分析

2.1 日志目录


Windows 2000 / Server2003 / Windows XP 的日志目录
\%SystemRoot%\System32\Config\*.evt

Windows Vista / 7 / 10 / Server2008 的日志目录
\%SystemRoot%\System32\winevt\Logs\*.evtx

系统日志(System.evtx):驱动程序、系统组件和应用软件的崩溃以及数据丢失错误等

应用程序日志(Application.evtx):记录程序运行方面的事件

安全日志(Security.evtx):登录日志、对象访问日志、进程追踪日志、特权使用、帐号管理、策略变更、系统事件。安全日志也是调查取证中最常用到的日志。默认设置下,安全性日志是关闭的,管理员可以使用组策略来启动安全性日志,或者在注册表中设置审核策略,以便当安全性日志满后使系统停止响应

修改配置策略,默认的话只会记录一些简单的,可以按照下面这个改配置
修改方法:开始 → 管理工具 → 本地安全策略 → 本地策略 → 审核策略

查看日志:eventvwr.msc
查看当前的审核策略:auditpol /get /category:*

2.2 常见事件 ID

ID 对应 日志

(2000/XP/2003) (Vista/7/8/2008/2012) 描述 日志名称
528 4624 成功登录 Security
529 4625 失败登录 Security
680 4776 成功/失败的账户认证 Security
624 4720 创建用户 Security
636 4732 添加用户到启用安全性的本地组中 Security
632 4728 添加用户到启用安全性的全局组中 Security
2934 7030 服务创建错误 System
2944 7040 IPSEC服务服务的启动类型已从禁用更改为自动启动 System
2949 7045 服务创建 System

登录类型

登录类型 描述 说明
2 交互式登录(Interactive) 用户在本地进行登录。
3 网络(Network) 最常见的情况就是连接到共享文件夹或共享打印机时。
4 批处理(Batch) 通常表明某计划任务启动。
5 服务(Service) 每种服务都被配置在某个特定的用户账号下运行。
7 解锁(Unlock) 屏保解锁。
8 网络明文(NetworkCleartext) 登录的密码在网络上是通过明文传输的,如FTP。
9 新凭证(NewCredentials) 使用带/Netonly参数的RUNAS命令运行一个程序。
10 远程交互,(RemoteInteractive) 通过终端服务、远程桌面或远程协助访问计算机。
11 缓存交互(CachedInteractive) 以一个域用户登录而又没有域控制器可用

2.3 日志分析工具 - Log Parser

下载链接
Log Parser Rocks! More than 50 Examples!


登录成功的所有事件
LogParser.exe -i:EVT –o:DATAGRID  "SELECT *  FROM c:\Security.evtx where EventID=4624"

指定登录时间范围的事件:
LogParser.exe -i:EVT –o:DATAGRID  "SELECT *  FROM c:\Security.evtx where TimeGenerated>'2018-06-19 23:32:11' and TimeGenerated<'2018-06-20 23:34:00' and EventID=4624"

提取登录成功的用户名和IP:
LogParser.exe -i:EVT  –o:DATAGRID  "SELECT EXTRACT_TOKEN(Message,13,' ') as EventType,TimeGenerated as LoginTime,EXTRACT_TOKEN(Strings,5,'|') as Username,EXTRACT_TOKEN(Message,38,' ') as Loginip FROM c:\Security.evtx where EventID=4624"

登录失败的所有事件:
LogParser.exe -i:EVT –o:DATAGRID  "SELECT *  FROM c:\Security.evtx where EventID=4625"

提取登录失败用户名进行聚合统计:
LogParser.exe  -i:EVT "SELECT  EXTRACT_TOKEN(Message,13,' ')  as EventType,EXTRACT_TOKEN(Message,19,' ') as user,count(EXTRACT_TOKEN(Message,19,' ')) as Times,EXTRACT_TOKEN(Message,39,' ') as Loginip FROM c:\Security.evtx where EventID=4625 GROUP BY Message"

LogParser.exe -i:EVT –o:DATAGRID  "SELECT TimeGenerated,EventID,Message FROM c:\System.evtx where EventID=6005 or EventID=6006"

0x03、快捷指令

系统相关


1. compmgmt.msc---计算机管理
【包括 计划任务、事件查看器、共享文件夹、本地用户和组、设备管理器、磁盘管理、服务、WMI】
2. devmgmt.msc----设备管理器 【包含于compmgmt】
3. lusrmgr.msc----本地用户和组【包含于compmgmt】4. perfmon.msc----计算机性能监测程序 【包含于compmgmt】
5. diskmgmt.msc---磁盘管理实用程序 【包含于compmgmt】
6. fsmgmt.msc-----共享文件夹管理器 【包含于compmgmt】
7. services.msc---本地服务设置    【包含于compmgmt】
8. eventvwr.msc---事件查看器     【包含于compmgmt】
9. wmimgmt.msc----打开windows管理体系结构(WMI) 【包含于compmgmt】
10. gpedit.msc----组策略
11. regedt32------注册表编辑器    【与 regedit 类似】
12. Msconfig.exe--系统配置实用程序 【包括引导、服务、启动项和工具】
13. rsop.msc------组策略结果集 
14. regedit.exe---注册表 
15. dcomcnfg------打开系统组件服务 【包括 组件服务、事件查看器、服务】
16. wscript-------windows脚本宿主设置 
17. certmgr.msc---证书管理实用程序 【排查电脑内恶意证书】
18. secpol.msc----本地安全策略 
19. services.msc--本地服务设置 
20. gpedit.msc----组策略
21. sigverif------文件签名验证程序 【可以快速筛选出来没有通过签名验证的程序】

程序快速启动


1. explorer-------打开资源管理器 
2. notepad--------打开记事本
3. charmap--------打开字符映射表 
4. calc-----------打开计算器 
5. taskmgr--------打开任务管理器
6. mstsc----------远程桌面连接 
7. write----------打开写字板 
8. mspaint--------打开画图板 
9. magnify--------放大镜实用程序 
10. mmc-----------打开控制台  
11. Sndvol32------打开音量控制程序 
12. eudcedit------打开造字程序 
13. cliconfg------SQL SERVER 客户端网络实用程序
14. osk-----------打开屏幕键盘 
15. odbcad32------ODBC数据源管理器 
16. iexpress------捆绑工具,系统自带【可以用来制作免杀马】

磁盘相关


1. cleanmgr-------打开磁盘清理工具
2. chkdsk.exe-----Chkdsk磁盘检查

检查相关


1. dxdiag---------检查DirectX信息
2. winver---------检查Windows版本
3. sfc /scannow---扫描错误并复原
4. sfc.exe--------系统文件检查器

0x04、常用的命令

net 相关


查看域中当前的主机列表:
net view /domain

查看当前域中的用户
net user /domain

增加一个本地用户
net user username password /add

将新增的用户加到本地管理员组
net localgroup "Administrators" username /add

查看域中的密码策略
net accounts /domain

查看本地组
net localgroup "Group"

查看域中的组信息
net group /domain

查看域中指定组的成员
net group "Domain group" /domain

查看当前机器所在的域名
net config workstation

查看当前服务器所在的域名
net config server

系统显示相关


显示系统信息
systeminfo

查看远程主机的系统信息
systeminfo /S ip /U domain\user /P Pwd

显示进程和服务信息
tasklist /svc

显示所有进程以及DLL信息
tasklist /m

显示进程和所有者
tasklist /v

查看远程主机的进程列表
tasklist /S ip /v

显示具体的服务信息(包括二进制路径和运行使用)
sc qc Spooler

网络信息


打印路由表
route print

保存当前主机上的所有WiFi信息
netsh wlan export profile folder=. key=clear

设置当前配置禁用防火墙
netsh advfirewall set currentprofile state off

设置端口转发
netsh interface portproxy add v4tov4 listenport=3000 listenaddress=l.l.l.l connectport=4000 connectaddress=2.2.2.2

启用远程访问
reg add "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server" /v fDenyTSConnections /t REG_DWORD /d 0 /f

启用远程协助
reg add "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server" /v fAllowToGetHelp /t REG_DWORD /d 1 /f

修改远程访问端口
reg add "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server\WinStations\RDP-Tcp" /v PortNumber /t REG_DWORD /d 12345 /f

一些工具


Procexp -----查看进程的详细信息,比如 加载的 dll 文件、签名、内存使用等
autoruns ----查看计划任务、自启动、服务等信息
TCPView -----查看网络连接的情况
PSExec ------轻量级的 telnet 工具

Registry Workshop:好用的注册表工具
Event Log Explorer:查看系统日志

Reference

应急响应实战笔记 - bypass
进入注册表的一些常用命令 - CSDN