日期:2019-06-07 16:11:49
作者:Bay0net
介绍:Windows 应急响应、取证及溯源相关内容学习记录
0x00、前言
常见的应急分类:
web入侵:网页挂马、主页篡改、Webshell
系统入侵:病毒木马、勒索软件、远控后门
网络攻击:DDOS攻击、DNS劫持、ARP欺骗
0x01、入侵排查过程
1.1 系统账户相关
注意事项:弱口令、22/3389 等端口是否对外
查看账号的方法:
-
net user
(无法列出$用户) -
lusrmgr.exe
(无法找到注册表方式建立的用户) - 查看注册表(最准)
HKEY_LOCAL_MACHINE\SAM\SAM\Domains\Account\Users\
- 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
排查的几个点:
- 回收站、浏览器下载记录、浏览器历史记录
- 时间排序,查看最新的文件
- 修改时间在创建时间之前的文件
5. 日志相关
查看日志:eventvwr.msc
1.5 内存相关
发现问题,可以先 dump 一份内存出来,两种方式:
- 【我的电脑】右键选择【属性】,【高级系统设置】-【高级】-【启动和故障恢复里面的设置】,选择【写入调试信息】中的完全内存转储。
- 命令行执行
NotMyFault64.exe /crash
,生成的文件在%SystemRoot%\MEMORY.DMP
1.6 在线扫描网站
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:查看系统日志