泛星安全团队第18篇文章
文章内容为学习记录,请勿利用文章内的相关技术从事非法测试,如因此产生的一切不良后果与文章作者和本公众号无关。
日常安服项目中经常遇到客户那边遭通报,省级运营商下发通报到单位,访问了恶意的僵尸网络域名,需要对僵尸网络进行处理,一般情况下调整防火墙安全策略僵尸网络拒绝、杀毒软件查杀,也有客户要求找到对应病毒文件。
Sysmon 介绍
系统监视器 (Sysmon) 是一种 Windows 系统服务和设备驱动程序,一旦安装在系统上,就会在系统重启后保持驻留状态,以监视系统活动并将其记录到 Windows 事件日志。它提供有关进程创建、网络连接和文件创建时间更改的详细信息。通过使用 Windows 事件收集 或 SIEM 代理收集它生成的事件并随后对其进行分析,可以识别恶意或异常活动,并了解入侵者和恶意软件如何在网络上运行。
Sysmon 功能
-
使用当前进程和父进程的完整命令行记录进程创建。
-
使用 SHA1 (默认) 、MD5、SHA256 或 IMPHASH 记录进程图像文件的哈希。
-
可以同时使用多个哈希。
-
在进程创建事件中包含进程 GUID,以允许事件关联,即使 Windows 重用进程 ID 也是如此。
-
在每个事件中包含会话 GUID,以允许关联同一登录会话上的事件。
-
使用其签名和哈希记录驱动程序或 DLL 的加载。
-
此时会打开日志,以便对磁盘和卷进行原始读取访问。
-
(可选)记录网络连接,包括每个连接的源进程、IP 地址、端口号、主机名和端口名称。
-
检测文件创建时间的变化,以了解文件真正创建的时间。修改文件创建时间戳是恶意软件通常用于掩盖其轨迹的技术。
-
如果注册表中发生更改,则自动重新加载配置。
-
规则筛选以动态包含或排除某些事件。
-
在启动过程的早期生成事件,以捕获由复杂的内核模式恶意软件所创建的活动。
Sysmon 参数
-i <config> 安装服务,指定配置文件
-c dump当前配置/重新指定配置文件/设置默认配置
-s 显示当前配置
-u 卸载
本文主要通过sysmon对僵尸网络域名进程捕捉,在配置文件上只针对dns日志做监控记录。配置文件如下:
<Sysmon schemaversion="4.82">
<EventFiltering>
<DnsQuery onmatch="exclude"/>
</EventFiltering>
</Sysmon>
sysmon安装指定配置文件
这里我简单编写了一个定时请求dns域名程序(有dns缓存的问题,始终生成一个请求日志)
package main
import (
"fmt"
"github.com/robfig/cron/v3"
"net"
"os"
)
func Botnet() {
dns := "e"
ns, err := net.LookupHost(dns)
if err != nil {
fmt.Fprintf(os.Stderr, "Err: %s", err.Error())
return
}
fmt.Println(ns)
}
func CronTasks(TimePeriod string, CronFunc func()) {
c := cron.New()
_, err := c.AddFunc(TimePeriod, CronFunc)
if err != nil {
fmt.Println(err)
return
}
go c.Start()
defer c.Stop()
select {}
}
func main() {
CronTasks("@every 3s", Botnet)
}
运行之后打开火绒剑网络连接里面进程请求地址和ping获取到的地址是一样的
在sysmon日志里面过滤查找事件ID为22的事件日志,日志路径C:WindowsSystem32winevtLogsMicrosoft-Windows-Sysmon%4Operational.evtx
可以看到对应请求域名的进程,进程运行的用户还有解析到的地址,跟我们在火绒剑分析到的是一样的,使用logparser条件查询日志,提区我们需要的信息。
LogParser.exe -i:EVT -o:DATAGRID "SELECT TimeGenerated,EXTRACT_TOKEN(Strings,4,'|') as domain,EXTRACT_TOKEN(Strings,8,'|') as user,EXTRACT_TOKEN(Strings,7,'|') as image,EXTRACT_TOKEN(Strings,3,'|') as ProcessId FROM C:UsersadminDesktop111.evtx where EventID=22"
输出结果
可以将内容输出或者复制到excel进一步过滤定位请求僵尸网络域名进程,本文内容只是sysmon在应急中的简单使用,sysmon强大不止检测检测僵尸网络域名进程
https://learn.microsoft.com/zh-cn/sysinternals/downloads/sysmon
往期回顾
·END·
原文始发于微信公众号(泛星安全团队):应急处置 | 僵尸网络处理
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论