sysmon的几个特点分享如下: 1、sysmon会跑在某个vCPU上,我电脑是8核16线程(vCPU0~vCPU15),看到总有一个vCPU的利用率比较高,而且不固定,但基本是在vCPU12~vCPU15 source_id=1001 2、机器空载的时候,sysmon也在不断监测系统并记录日志,因此有持续不断的IO 参考这个录屏文件 3、由于sysmon频繁写磁盘,可能会对ssd寿命有一定影响 可以通过命令停止 sysmon的日志 停止sysmon日志:wevtutil set-log "Microsoft-Windows-Sysmon/Operational" /enabled:false 启用sysmon日志 :wevtutil set-log "Microsoft-Windows-Sysmon/Operational" /enabled:true 创建开机计划任务,停止sysmon的日志 schtasks 的命令 cmd /c "C:\Windows\sysmon.exe -u force" 2>&1 > $null 卸载sysmon,iOA又会把它装回去,iOA依赖sysmon的监测来实现功能
前言 Sysmon是容易下载安装使用的日志审计应用,每个人都可以查看sysmon记录的内容。这些日志被EDR获取的话,能够在这些产品中看到一连串“有趣的东西”。 正文 当我们执行 sysmon.exe -t -i yoursysmonconfig.xml 命令时,突然出现了以下重要的错误信息 ? 这是因为我们提供给sysmon的命令过长,sysmon不得不去进行删减操作。 通过测试发现,sysmon可以显示最多0x2000个字符。也就是说,我们可以在sysmon截断的时候做一些有意义的事情。 当我们执行 powershell <0x2000 spaces> calc 命令时,我们可以看到sysmon只记录到了我执行了powershell命令 ? 但实际上,我最终执行的确是calc。 ? 后续 参考:http://www.hexacorn.com/blog/2018/06/29/sysmon-doing-lines-part-3/
Sysmon和Windows事件日志都是防御者中极为强大的工具。它们非常灵活的配置使他们可以深入了解设备上的活动,从而使检测攻击者的过程变得更加容易。 启动Ghidra并启动sysmon64.exe,我们可以看到它使用ReportEventWWindows API调用来报告事件。 ? 如果您在下面看,您将看到我能够启动Powershell提示而不会触发任何sysmon事件。 因此,现在我们可以使用来开始编写PoC代码了。
rule.xml 此配置用来定义分片规则 mycat:rule 框定rule的配置范围 <mycat:rule xmlns:mycat="http://org.opencloudb/"> </mycat function> Attribute Comment class 使用的类 property 通过 count=3/4 来指定分片数(指定模数) 注意 XML中定义的标签有顺序,如果不按照顺序进行配置 schema.xml 中的顺序为 1.定义 schema 2.定义 dataNode 3.定义 dataHost 如果不按顺序,会无法启动mycat,并且 mycat.log 中会报错 这里只对一套简单基础的配置进行了分析
sysmon 默默无闻的后台监控 golang 里面里面有一个默默无闻的工作者在后台跑着,它的名字叫 sysmon ,你可能在某个地方见到过它。 启动 首先让我们来看看 sysmon 是谁启动的。 // The main goroutine. func main() { ........... if GOARCH ! // register sysmon is not ready for the world to be // stopped. syscall_runtime_doAllThreadsSyscall, sysmon is // sufficiently up to participate in fixups. 不需要 P 只需要 M 即可执行,能休息就休息,没工作时就慢下来,sysmon 主要做了以下几样工作: 检查死锁 检查网络轮训 检查抢占 检查 gc 总之其实 sysmon 其实在背后承担了一些检查的工作
CentOS 9 开局配置CentOS 9 发布有几年了,一直没有尝试使用,CentOS 9 有一些变动。 KKKKKKKK FV CPU: AMD Ryzen 9 3950X (32) @ 3.500GHz ' VKKKKK'. .4 LJ K. .' g' \ -i.bak \ /etc/yum.repos.d/epel-next.repo更新源信息# 更新源信息yum makecache && yum update配置网卡 IP# 配置网卡IPnmcli con mod ens160 ipv4.addresses 192.168.1.16/24; nmcli con mod ens160 ipv4.gateway 192.168.1.1 manual; nmcli con mod ens160 ipv6.dns "2001:4860:4860::8888"; nmcli con up ens160查看网卡配置# 查看网卡配置cat /
,该线程独立于调度器,不需要跟 p 关联即可运行 newm(sysmon, nil)}) sysmon 函数不依赖 P 直接执行,通过 newm 函数创建一个工作线程: func newm(fn MOVQ $0, DX MOVQ $0, R10 // 将 mp,gp,fn 拷贝到寄存器,对子线程可见 MOVQ mp+16(FP), R8 MOVQ gp+24(FP), R9 CMPQ R8, $0 // m JEQ nog CMPQ R9, $0 // g JEQ nog // Initialize m->procid to Linux m_tls(R8), DI CALL runtime·settls(SB) // In child, set up new stack get_tls(CX) MOVQ R8, g_m(R9) 但在这里,fn 就是最开始在 runtime.main 里设置的 sysmon 函数,因此这里会执行 sysmon,而它又是一个无限循环,永不返回。
tomcat配置集群时,有个加密通信拦截器,如果不配置则会有高危漏洞,例如CVE-2022-29885。 因此需要在集群配置中增加加密通信配置<Cluster className="org.apache.catalina.ha.tcp.SimpleTcpCluster" channelSendOptions org.apache.catalina.tribes.group.interceptors.EncryptInterceptor" encryptionKey="AE5BFD2541CB89421D72B0C0249E3C55"/> 就是我们的加密通信配置秘钥可以使用
虽然本系列文章叫做从0开始配置vim,似乎我们从一开始就要写vimrc配置文件,但是我们并没有这么做。 拥有这些基础知识之后,在阅读其他人写的配置或者自己配置将会变得更加容易。当然关于vim我们还有很多内容没有讲,例如该如何自定义命令,如何弹出一个窗口,以及到最后如何编写自己的插件。 如果后续在配置过程中涉及到新的内容,我将会给大家进行讲解,尽量让大家明白我们配置的每行代码都有哪些作用,让大家不仅仅是照着抄一遍,而是能举一反三,根据自己的习惯打造完全属于自己的 vim。 相应的准备工作 开始配置前,让我们进行一些准备工作。 我们采用 neovim 进行配置,也打算使用 纯 lua 进行配置。如果你用的是 vim,请安装下载最新的 neovim。 基础配置 我们在 init.lua 中写入如下内容作为基础配置 -- 设置文件编码格式为 utf-8 vim.g.encoding = "utf-8" -- 设置终端编码格式为 utf-8 vim.o.termencoding
sysmon导致句柄泄漏致使windows应用频繁出现IO错误图片停止、禁用、卸载sysmon的话,是执行这个,卸载必须加forceStop-Service -name SysmonSet-Service Sysmon -StartupType DisabledC:\Windows\sysmon.exe -u force
本篇文章介绍通过部署Sysmon并将日志发送到SIEM来探测横向渗透。 工具: Sysmon + Splunk light 安装配置: sysmon -i -n ? 本地查看sysmon事件日志,打开事件查看器 - Microsoft - Windows - Sysmon - Operational 如下图可以看到sysmon记录到powershell.exe进程创建 将下列配置写入inputs.conf文件: [WinEventLog://Microsoft-Windows-Sysmon/Operational]disabled = falserenderXml = 在splunk中查询当前主机的sysmon日志: sourcetype="XmlWinEventLog:Microsoft-Windows-Sysmon/Operational" ? 然后在Splunk中可以看到Sysmon事件已经导入: sourcetype="XmlWinEventLog:Microsoft-Windows-Sysmon/Operational" ?
以上是 VNC 的介绍(复制的) 因为今天刚在阿里云花两百多大洋买了个服务器,思考了许久决定用 Debian9,为了方便桌面化管理,所以准备配置一下 VNC 服务 准备:Debian 服务器一台 下面开始教程 第一步:安装桌面环境 Debian9 默认情况下是没有桌面环境的,所以我们先来准备好桌面环境 这里我准备安装 GNOME 桌面环境 首先 SSH 连接上服务器 更新你的软件包列表 apt-get update 服务器 我这里用的是 TightVNC 服务器 首先安装 TightVNC apt-get install tightvncserver 安装完成后使用 vncserver 命令进行 vnc 服务器的初始配置 ,设置安全密码并创建初始配置文件 vncserver 第一次启动系统会让你输入两次密码确认远程连接密码 创建好后会询问是否创建仅查看(view-only)密码,可以作为用来向别人展示操作的密码,当然这并不是必须的
Centos Stream 9 配置多IP 我有500个IP ,要绑定在同一台linux机器上, OS为Centos9 . last_usable_address), # 最后一个可用IP "prefix": str(network.prefixlen), #掩码长度 } 假设我们有200台服务器 ,每台服务器要配置 gateway}\n" index+=1 with open(conf_path, 'w') as f: f.write(conf) 执行脚本之后 得到 配置文件 src 10x.xx.xx.x 此时, 我们到cd 到服务器 /etc/NetworkManager/system-connections/ 这个目录, 能看到以 .nmconnection 结尾的配置文件 然后重启网络服务即可 sudo systemctl restart NetworkManager 验证配置IP是否生效 hostname -I 此时就能看到我们配置的500个IP.
3 配置过程 拓扑图 配置 1、按上述搭建好拓扑图,标注好IP规划信息后,接下来先开始配置PCIP地址、网关信息、设备名。 PC1配置如下:(初学者其他PC、Server参考如下,这里不再一一示范) 配置SW1上行口的IP地址、修改设备名、创建VLAN 200: [Huawei]sys SW1 [SW1]VLAN 200 3台接入交换机,修改默认设备名、创建VLAN、划分access接口、与三层交换机配置trunk。 (接入交换机跟以往普通vlan配置一样没变化,supervlan关键配置在三层交换机上。) : [SW1]ip route-static 0.0.0.0 0.0.0.0 20.1.1.1 [SW1] 在R1配置静态路由: [R1]ip route-static 192.168.1.0
Caddy 是一个用 Golang 开发的高效 Web Server,相比 Nginx,它的配置和使用要简单很多,能自动开启 HTTPS、并且支持 HTTP/2 和 QUIC。 接着,重新加载 systemd daemon,让配置生效。 配置Caddy 这部分的内容我不打算详细记录,主要是官方文档已经写的很详细了。 下面是我的配置, example.com { proxy / 127.0.0.1:9001 { header_upstream Host {host} header_upstream 写完配置后输入 sudo systemctl start caddy.service 启动 Caddy。输入 journalctl --boot -u caddy.service 可以查看日志。
Centos9 网卡配置文件已修改,如下 [root@bogon ~]# cat /etc/NetworkManager/system-connections/ens18.nmconnection 复制代码使用下面的 nmcli 命令设置网关, [root@chenby ~]# nmcli con mod ens18 ipv4.gateway 192.168.1.1; 复制代码设置手动配置
BIND9 BIND9是用于搭建DNS服务器的一个软件应用。 记录写法为:主机名 TTL值 IN 记录类型 值 在bind9里的所有配置文件中 所有的域名最后都必须带有".",这个"."意味着根域的意思所以必须要有,不然启动服务的时候会报语法错误。 [root@localhost named]# cat host.com.zone.jnl ;BIND LOG V9 ▒8▒▒JhostcomX6ns1hostcomchai simplefishcnQ ▒Q▒Q▒serverhostcom<▒iJhostcomX6ns1hostcomchai simplefishcnQ▒Q▒Q▒Q▒[root@localhost named]# RNDC管理BIND9 rndc可以对bind9进行热更新,可以对某个域的解析单独进行重载。
9-SpringBoot配置-项目内部配置文件加载顺序 SpringBoot配置-项目内部配置文件加载顺序 加载顺序为从上到下的排列顺序,高优先级配置的属性会生效 file:. 可以看到配置已经生效了,那么下一步我们在另一个优先级更高的目录进行配置。 /config/:当前项目下的/config目录下 对于整个工程来说,优先级最高的配置则是 工程目录下的 config 目录的配置文件,可以看到覆盖了所有配置。 5.验证优先级低的配置文件 【未覆盖的参数】也会被加载到 在上面我们只演示了不同位置配置文件的加载优先级,而优先级比较低的配置文件只有同名参数才会被覆盖,如果是不同名的参数则不会被覆盖。 ,但是不同名的配置则会加载生效。
前情提要: 微软轻量级系统监控工具sysmon内核实现原理 微软轻量级监控工具sysmon原理与实现 前两次我们分别讲了sysmon的ring3与ring0的实现原理,但是当初使用的版本的是8.X的版本 ,最新的版本10.X的sysmon功能有所增加,经过分析代码上也有变化。 OpenProcess事件 内核事件类型是:9 ? ? ProcessPid; DWORD DataChunkLength[3]; CHAR Data[1]; }; 在data块里会输出:NamePipeFileName 和ImageFileName 两个数据 9. 今天的续篇就此结束,sysmon还是可以挖掘很多很实用得东西,比如每个事件里得ProcessGuid 并不是随机生成得,而是有一定算法得,具体读者可以自行研究发现。 ?
SwiftOnSecurity的配置文件并没有映射ATT&CK矩阵,所以只能非常遗憾地将其作为一个本地的SYSMON日志记录配置文件;而另外一位大佬ion-storm,他fork的ThreatIntelligence SIEM的SYSMON配置文件却刚好做了ATT&CK矩阵的映射,参见:https://github.com/ion-storm/sysmon-config。 如此,我们就可以想办法将SPLUNK+SYSMON+ATT&CK关联起来了,很可惜,这位大佬的文档已经几年不更新了,所以他的配置文件需要自行修改。 而与此同时,另外一位大佬olafhartong编写了“sysmon-modular”,分门别类地将SYSMON的各级事件日志详细地分类并规整为一份完整的,系统的ATT&CK矩阵映射的SYSMON配置文件 page=videos/derbycon9/stable-36-endpoint-detection-super-powers-on-the-cheap-with-sysmon-olaf-hartong