蓝队培训---day2
入侵检测
windows入侵检测
排查思路
按时间线
找在攻击时间范围内,创建的文件
资源管理器
直接资源管理器慢慢审
everything
1 | C:\Users\DeepMountains datemodified:2024/08/15..2024/08/16 ext:exe |
修改以上命令来查就行
信息收集
看网络连接(排查暴露面)
1 | netatat -ano |
0.0.0.0代表全开放,排查从哪攻进来
ESTABLISHED代表建立连接的,可以审查这些ip
查看主机信息
1 | systeminfo |

1 | msinfo32 |

环境变量信息
1 | msinfo32 |

看到详细的系统信息,最主要的是能看到环境变量信息
1 | set |
1 | cmd环境 |

进程信息
1 | tasklist /v |

1 | wmic process get * /value |
1 | 这条命令的作用是格式化输出获取的进程的所有信息 |

或者加个条件判断看单个进程
1 | wmic process where Caption="powershell.exe" get commandline /value |
1 | cmd环境才行 |

收集用户信息
net user
1 | net user |

注册表
win+r打开注册表
1 | regedit |
看是否有隐藏用户
wmic
1 | wmic useraccount get name /value |

持久化排查
注册表
思路
前提条件:知道马的名称
然后直接全局搜索,在数据里搜索就行,因为路径是存在数据这一项
排查点
查看启动项
1 | HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run |

或者
1 | HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\RunOnce |
适合一次性任务

1 | HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\Run |
一般local_machine无权限写,但是当前用户这一条是可写的

排查表项数据有无可疑程序
启动脚本排查
打开组策略查看
win+r打开
1 | gpedit.msc |

计划任务
假设攻击者创建了计划任务,比如
1 | schtasks /create /tn "mirage" /tr "C:\Windows\System32\cmd.exe" /sc minute /mo 1 |
一分钟运行了一次cmd.exe
图形化
win+r启动
1 | taskschd.msc |

一般查图中表项
命令行
1 | schtasks /query /tn "mirage" /v /fo:list |
根据计划任务名称查找
服务启动项
假设攻击者创建了服务
1 | sc create ClipSVCT binpath= "C:\Users\attack$\Favorites\interceptor" displayname= "Client License Service (ClipSVCT)" depend= Tcpip start= auto |
对服务增加了描述
1 | sc description ClipSVCT "提供对 Microsoft Store 的基础结构支持,此服务按需启动." |
思路
看注册表
1 | HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services |
但是也不好找,直接火绒6.0,上专业分析工具
比如看启动项,看未知文件就行了
windows入侵检测练习
分析靶机开放了多少个端口
因为数据包没什么规律,要查端口,不可或缺的筛选条件就是tcp.flags == 0x0012,又知道靶机地址,那么对流量包先进行简易筛选
1 | tcp.flags == 0x0012&&ip.src==172.17.0.101 |

观察到很多条数据都是目的ip为172.16.110.201,那就加入作为筛选条件
1 | tcp.flags == 0x0012&&ip.src==172.17.0.101&&ip.dst==172.16.110.201 |

但是数据依然很多,点击统计->会话->TCP->复制为csv
然后复制到表格文件中,再数据->分列,按照逗号分列就行
然后统计,去重,得到结果为15
更简单的做法就是直接让ai分析
攻击者发现存在漏洞的端口是
提示了是向日葵rce
根据poc,第一步是获取session_id,那么直接搜verify
1 | http contains "verify" |

看到端口为56117
非场外因素的话,就是根据攻击者ip和靶机ip来搜索
1 | http&&ip.src==172.17.0.101&&ip.dst==172.16.110.201 |

这明显是一个扫描行为,扫出漏洞了肯定会利用,那就直接看最后
都是56117端口的数据包
攻击者通过漏洞得到了一个key值,利用该key值可以得到相应的权限进行命令执行,该key值是?
跟第二题一样的思路,就是获得的session值
1 | dmPqDgSa8jOYgp1Iu1U7l1HbRTVJwZL3 |

攻击者通过什么工具下载了恶意的载荷?
照着poc打,会用到cmd参数,直接搜
1 | http.request.uri contains "cmd=" |
然后看最后一条请求,就是用curl命令下载工具(Windows的curl命令就是certutil.exe)
攻击者创建的恶意用户的明文密码是
这个要登远程桌面上去看看了
1 | xfreerdp /dynamic-resolution +clipboard /cert:ignore /v:ip /u:user /p:'passwd' |
1 | 如果是windows的话直接启动远程桌面就行 |
或者直接按照命令来搜
1 | http.request.uri contains "/add" |


攻击者第一次下载的恶意载荷回连攻击者服务器的端口是
导出就那个马就行了
然后上传沙箱就行了
攻击者向恶意服务器上的哪个URI地址去请求需要命令执行的任务?
根据沙箱信息就得到了
CS流量分析练习
攻击者的载荷休眠时间调整为了多少秒?
筛选http的
看到后面的数据包都是3秒3秒有规律的
所以载荷休眠时间是3秒
防护人员添加了策略阻断了CS载荷的回连,阻断策略的ID为?
注意明文传输的,比如telnet ftp
统计->协议分级
有telnet那就主要看telnet数据包
随便点开一个看看就有了,id为1265
CS载荷多少次请求没有获取到任务多少次请求?获取到了任务?
获取任务意味着命令执行带回数据,没有获取到任务以为是保持连接,也就是保活
所以后者注意submit,前者注意activity就行,activity是保活的
1 | http.request.uri contains "submit"&&ip.src==10.1.100.102 |

就七个数据包
1 | http.request.uri contains "activity"&&ip.src==10.1.100.102 |

数据包太多了,那就统计->会话,然后看tcp的
有145个,那减去之前的7个,就是138个
所以138次请求没有获取到任务,7次请求获取到了任务
攻击者创建了一个恶意用户,该用户所属的用户组为?
主要看icmp包,根据环境提示,不看提示就不加过滤语句看协议分级
那就看icmp的包就行
很多,先一个一个慢慢看,第二个数据包就有东西了
右边的十六进制:ascii码显示了类似命令终端的字符
继续往下看,发现,数据包中带有no respones found!的基本都是有可用信息的,那就直接将它作为过滤项
然后看到第四个包有创建用户成功信息
再往下,第七个数据包,有添加组成功的信息
可以看到命令是net localgroup DPBackdoor DPUser /add
尽管失败了,但是可以确认是DPBackdoor这个组
攻击者创建了一个恶意的计划任务,该计划任务的名称为?
根据之前的思路,数据包中带有no respones found!的基本都是有可用信息的
那就继续往下看,看到有个添加计划任务的命令
可以看到名称为callback
失陷主机RDP侦听的端口为?
筛选no response的(因为有数据的包都有这个特征)
看到有个修改注册表项的,并且是修改端口的

并且在这个数据包前有个修改HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server键值项为fDenyTSConnections(数据类型为 REG_DWORD)为1的(0:表示“允许连接”(Deny 为“否”),即开启服务,1:表示“拒绝连接”(Deny 为“是”),即关闭服务)
而这也符合修改rdp端口的逻辑,先禁用rdp服务,然后修改端口,再启用
所以可得端口为22234
勒索病毒排查练习
无流量包,要上机排查,任务目标:清除所有持久化(有3个),并恢复加密的文件
1 | 10.3.4.165 |

首先先恢复桌面,先快捷键打开任务管理器
文件->运行->explorer
启动两次,就能启动桌面了
思路(提示,下班了,人太多来不及做)
发现会周期性的kill掉explorer(就是桌面会周期性的打不开)
说明有个计划任务,那就排查计划任务
先看看可以的计划任务,看完信息再删
根据信息,c盘有个temp目录,那就注册表中搜
在run里找到一个键值
在userini.exe那个键值那里找到可以程序的键值
实操
环境是win server 2008
win+r启动任务计划程序
1 | taskschd.msc |
根据环境特点以及它的下一次运行时间判断这就是要找的计划任务
查看可知,他是要运行图中显示程序
然后没什么可利用信息,这个计划任务可以删除了
这个文件夹中有两个程序
经尝试,这个文件夹删不掉,那么就从注册表中删除
先查找
找到了一个
继续搜又找到一个
将这两个表项都删除以后,那个文件夹就能删了(不知道为什么与提示说的位置有点出入)
至此,持久化被删除完
恢复加密文件就有桌面上的diskgenuis
至此,目标达成







![[记录]尝试shiro有key无链利用,但失败](/img/c1/3.webp)