使用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 隔离容器的运行环境 ...
随机推荐
- LeetCode 628. Maximum Product of Three Numbers三个数的最大乘积 (C++)
题目: Given an integer array, find three numbers whose product is maximum and output the maximum produ ...
- 第三周:构造一个简单的LINUX系统MENUOS
吕松鸿 + 原创作品转载请注明出处 + <Linux内核分析>MOOC课程http://mooc.study.163.com/course/USTC-1000029000 一.Linux内 ...
- centos 64位 下hadoop-2.7.2 下编译
centos 64位 下hadoop-2.7.2 下编译 由于机器安装的是centos 6.7 64位 系统 从hadoop中下载是32位 hadoop 依赖的的库是libhadoop.so 是3 ...
- Matlab批量处理指定文件夹下的所有音频文件
filedir='E:/source/Wavfile/*.wav'; % 设置路径 outfiledir='E:/output/Wavfile/'; infiledir='E:/source/Wavf ...
- PAT 甲级 1115 Counting Nodes in a BST
https://pintia.cn/problem-sets/994805342720868352/problems/994805355987451904 A Binary Search Tree ( ...
- [转]MySQL 数据库事务隔离级别
然后说说修改事务隔离级别的方法: 1. 全局修改,修改 mysql.ini 配置文件,在最后加上 1 #可选参数有:READ-UNCOMMITTED, READ-COMMITTED, REPEATAB ...
- Alpha、伪Beta 发布后,严一格的个人感想与体会
伪Beta发布在4月15日下午2.30左右结束,严一格所在的“爆打”团队产品发布成功.下面是我的想法和体会~ 1.作为“爆打”团队中的一员,我对我们团队可以成功发布Alpha版本和伪Beta版本感到由 ...
- 常用OLAP引擎
l presto Presto是Facebook开发的分布式大数据SQL查询引擎,专门进行快速数据分析. 特点: 可以将多个数据源的数据进行合并,可以跨越整个组织进行分析. 直接从HDFS读取数据, ...
- linux执行jmeter脚本报错
今天做性能测试发现,报错为100% windows上面执行又是成功的,最后在linux的jmeter脚本中加了一个BeanShell PostProcessor prev.setDataEncodin ...
- CentOS7下安装Scrapy
更新yum[root@localhost ~]# yum -y update1安装gcc及扩展包[root@localhost ~]# yum install gcc libffi-devel pyt ...