使用Sysmon和Splunk探测网络环境中横向渗透
当前很难在网络中探测攻击者横向渗透,其中原因有很难获取必要的日志和区别正常与恶意行为。本篇文章介绍通过部署Sysmon并将日志发送到SIEM来探测横向渗透。
工具:
Sysmon + Splunk light
安装配置:
sysmon -i -n

本地查看sysmon事件日志,打开事件查看器- Microsoft - Windows - Sysmon - Operational。如下图可以看到sysmon记录到powershell.exe进程创建:

将下列配置写入inputs.conf文件:
[WinEventLog://Microsoft-Windows-Sysmon/Operational] disabled = false renderXml = true

在splunk中查询当前主机的sysmon日志:
sourcetype="XmlWinEventLog:Microsoft-Windows-Sysmon/Operational"

安装Splunk插件(Splunk "Add-on for MicrosoftSysmon"
)插件下载地址:https://splunkbase.splunk.com/app/1914/#/overview
下载加压插件并将插件放到:
C:\ProgramFiles\Splunk\etc\apps

重启Splunk Light.
然后在Splunk中可以看到Sysmon事件已经导入:
sourcetype="XmlWinEventLog:Microsoft-Windows-Sysmon/Operational"

Sysmon事件ID
在下面的案例中,我们关注如下了两类事件
Event ID 1: Process creation 进程创建
Event ID 3: Network connection 网络连接
时间ID完整介绍见Sysmon官方文档:https://technet.microsoft.com/en-us/sysinternals/sysmon
检测到攻击者建立了SMB会话:

攻击者使用了类似的命令建立SMB会话:
net use \\192.168.1.88

在splunk中搜索Sysmon事件,识别出可疑的SMB会话(445端口):
sourcetype="XmlWinEventLog:Microsoft-Windows-Sysmon/Operational"192.168.1.90 445 | table _time, EventCode, EventDescription, host, SourceIp,src_port, User, DestinationIp, DestinationPort, Image, ProcessID, Protocol

在被攻击机器上面执行下面的命令,看到攻击者建立的SMB会话:
netstat nao | find"ESTABLISHED"

然后通过分析当前的Windows事件日志,辨别进程的创建/终止,网络连接的建立/销毁来区别正常与异常的SMB会话。
探测攻击者使用PowerShell进行横向渗透
PowerShell初始化 Windows RemoteManagement (WinRM) 的时候会通过5985和5986端口。在这个例子中,攻击者在被攻击机器上面远程执行脚本,或者连接了受害者机器。

在Splunk中,我们可以通过下面的Sysmon事件来辨识出 恶意的行为,我们可以攻击者使用WinRM
远程连接了被攻击机器的5896端口:
sourcetype="XmlWinEventLog:Microsoft-Windows-Sysmon/Operational"5985 OR 5986 | table _time, EventCode, EventDescription, host, SourceIp,src_port, User, DestinationIp, DestinationPort, Image, ProcessID, Protocol

我们可以看到受害者机器上面WinRM Remote PowerShell 进程(wsmprovhost.exe)启动了ping.exe和systeminfo.exe这两个进程,而且我们可以看到执行的命令参数。
sourcetype="XmlWinEventLog:Microsoft-Windows-Sysmon/Operational"wsmprovhost.exe | table _time, EventCode, EventDescription, host, Image,ProcessID, ParentProcessId, CommandLine

上面的案例经常会发生在大家的网络环境中,有时候攻击者会使用原生的系统工具来使隐藏恶意行为,所以熟悉自己网络环境中的正常行为非常重要。
原文: <http://www.incidentresponderblog.com/2016/09/detecting-lateral-movement-using-sysmon.html>
相关文章:
tracking_hackers_on_your_network_with_sysinternals_sysmon.pdf
使用Sysmon和Splunk探测网络环境中横向渗透的更多相关文章
- 在低带宽或不可靠的网络环境中安装 Visual Studio 2017
在低带宽或不可靠的网络环境中安装 Visual Studio 2017 2017-4-141 分钟阅读时长 作者 https://docs.microsoft.com/zh-cn/visualstu ...
- 使用pipework将Docker容器配置到本地网络环境中
使用pipework将Docker容器配置到本地网络环境中 需求 在使用Docker的过程中,有时候我们会有将Docker容器配置到和主机同一网段的需求.要实现这个需求,我们只要将Docker容器和主 ...
- 使用pipework将Docker容器桥接到本地网络环境中
在使用Docker的过程中,有时候我们会有将Docker容器配置到和主机同一网段的需求.要实现这个需求,我们只要将Docker容器和主机的网卡桥接起来,再给Docker容器配上IP就可以了.pipew ...
- 嵌入式 hi3518平台获取网络环境中的ip、netmask、broadcast等信息
<span style="font-family:Courier New;"> /********************************** (C) COPY ...
- Neutron VxLAN + Linux Bridge 环境中的网络 MTU
1. 基础知识 1.1 MTU 一个网络接口的 MTU 是它一次所能传输的最大数据块的大小.任何超过MTU的数据块都会在传输前分成小的传输单元.MTU 有两个测量层次:网络层和链路层.比如,网络层 ...
- Linux网络管理2---(网络环境查看命令、网络测试命令)
1.网络环境查看命令 ifconfig命令 查看或临时修改网络状态的命令 可以看到IP.子网掩码……信息 关闭和启动网卡 ifdown 网卡设备名(比如: ifdown eth0):禁用该网卡设备 i ...
- 在 Linux 平台及 IPv4 环境中构建 IPv6局域网 测试环境
在 Linux 平台及 IPv4 环境中构建 IPv6 测试环境 1 IPv6简介 IPv6(Internet Protocol Version 6)作为 IPv4 的升级版本,它是作为一共软件升级安 ...
- 网络通讯中 bind函数的作用
面向连接的网络应用程序分为客户端和服务器端.服务器端的执行流程一般为4步,客户端程序相对简单,一般需要两个步骤. 服务器端执行流程4步如下: (1)调用socket函数,建立一个套接字,该套接字用于接 ...
- 理解Docker(6):若干企业生产环境中的容器网络方案
本系列文章将介绍 Docker的相关知识: (1)Docker 安装及基本用法 (2)Docker 镜像 (3)Docker 容器的隔离性 - 使用 Linux namespace 隔离容器的运行环境 ...
随机推荐
- Estimation And Gain
Estimation: Almost every is spent on ergod the text and build the dictionary. Gains: I have never us ...
- Linux内核分析第五章读书笔记
第五章 系统调用 在操作系统中,内核提供了用户进程与内核进行交互的一组接口,这些接口在应用程序和内核之间扮演了使者的角色,保证系统稳定可靠,避免应用程序肆意妄行. 5.1 与内核通信 系统调用在用户空 ...
- Linux内核分析:完成一个简单的时间片轮转多道程序内核代码
PS.贺邦 原创作品转载请注明出处 <Linux内核分析>MOOC课程 http://mooc.study.163.com/course/USTC-1000029000 1.m ...
- 冲刺Two之站立会议5
昨天对视频音频的内容查询收集了相关资料,今天就主要对此进行了加工.先是使两台PC进行通信,不断进行测试.改进:测试.改进.最后初见成效,但还是没有达到我们最初的标准.
- 接上 操作系统java项目设计图纸 一步一步在进化
- 从零开始学Kotlin-数据类型(2)
从零开始学Kotlin基础篇系列文章 基本数据类型 Kotlin 的基本数值类型包括 Byte.Short.Int.Long.Float.Double 等: 数据-------位宽度 Double-- ...
- [转帖]ESXi 网卡绑定 增加吞吐量的方法
VMware ESX 5.0 网卡负载均衡配置3种方法 http://blog.chinaunix.net/uid-186064-id-3984942.html (1) 基于端口的负载均衡 (Rout ...
- Windows 下 Docker 的简单学习使用过程之二 Docker For windows
1. Docker For windows 最新版也支持到了 docker ce 18.06 (这个博客的编写时间是 2018.8.17 当时是最新的) 2. 下载安装. 大概500m 左右的安装文件 ...
- 【BOM】浏览器对象模型
1.navigator :保存浏览器配置信息的对象 常用 navigator.plugins: 显示浏览器中所有插件信息的集合 navigator.cookieEnabled: 判断是否开启cooki ...
- redis后台启动配置
在cmd窗口启动redis,窗口关闭后再次操作会报错. 将redis安装为服务,可使其在后台启动,无须担心误操作关闭服务窗口. 配置如下: 进入redis目录,输入如下命令执行即可: redis-se ...