使用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 隔离容器的运行环境 ...
随机推荐
- 《Linux内核设计与实现》Chapter 18 读书笔记
<Linux内核设计与实现>Chapter 18 读书笔记 一.准备开始 一个bug 一个藏匿bug的内核版本 知道这个bug最早出现在哪个内核版本中. 相关内核代码的知识和运气 想要成功 ...
- php排序学习之-冒泡排序
原理:对一组数据,比较相邻数据的大小,将值小数据在前面,值大的数据放在后面. (以下都是升序排列,即从小到大排列) 举例说明: $arr = array(6, 3, 8, 2, 9, 1); $a ...
- Oracle DROPtable以及Truncate table 的简单测试
1. 一个用户库 有一个业务表比较大 大小是 49g 表的行数为:121546147 一亿两千万行 制作一个虚拟机的快照测试一下 drop table 和 truncate table的性能差距 2. ...
- c++中冒号(:)和双冒号(::)的用法
1.冒号(:)的用法 (1)表示机构内位域的定义(即该变量占几个bit空间) typedef struct _XXX{ unsigned char a:4; unsigned char c; } ; ...
- Delphi 之 菜单组件(TMainMenu)
菜单组件TMainMenu 创建菜单双击TmenuMain,单击Caption就可以添加一个菜单项 菜单中添加分割线只需加“-”就可以添加一个分割线 级联菜单的设计 单击鼠标右键弹出菜单中选择Crea ...
- BZOJ2744 HEOI2012朋友圈(二分图匹配)
先考虑B国.容易发现a xor b mod 2=0即二进制末位相同,那么可以据此将所有人分成两部分,每一部分各自是一个完全图.然后再将a or b有奇数个1的边连上,现在需要求的就是这样一个图里的最大 ...
- Y组合子
Y组合子 Y组合子的用处 作者:王霄池链接:https://www.zhihu.com/question/21099081/answer/18830200来源:知乎著作权归作者所有.商业转载请联系作者 ...
- 【题解】 Codeforces 662A Gambling Nim (线性基)
662A,戳我戳我 Solution: 我们先取\(ans=a[1] \bigoplus a[2] \bigoplus ... \bigoplus a[n]\),然后我们定义\(c[i]=a[i] \ ...
- Javascript实现倒计时和根据某时间开始计算时间
JavaScript 代码 <script type="text/javascript"> var time_start = new Date('2018','7',' ...
- 解题:CF960G Bandit Blues & FJOI 2016 建筑师
题面1 题面2 两个题推导是一样的,具体实现不一样,所以写一起了,以FJOI 2016 建筑师 的题面为标准 前后在组合意义下一样,现在只考虑前面,可以发现看到的这a个建筑将这一段划分成了a-1个区间 ...