Maginot DNS攻击评估报告
Maginot DNS 漏洞评估脚本说明评估脚本获取measure.py源码
1.漏洞说明来源[USENIX Security ‘23]The Maginot Line: Attacking the Boundary of DNS Caching Protection
基本原理介绍该漏洞是一种针对条件DNS服务器(CDNS) 的新型缓存投毒攻击。CDNS是一种被配置为同时充当递归解析器和转发器的特殊DNS服务器。
攻击的核心在于利用CDNS在处理转发查询时存在的Bailiwick检查缺陷。
CDNS的递归模式和转发模式共享同一个全局缓存。
攻击者诱导CDNS查询一个被配置为转发的域名(例如 attacker.com),该查询被发送到攻击者控制的权威服务器。
攻击者控制的权威服务器在响应中,恶意地包含了一条针对其他任意域(甚至是顶级域,如 .org)的伪造NS记录。
由于CDNS在转发模式下未能正确地限制权限范围,它错误地接受并缓存了这条越权的NS记录。
这个恶意NS记录污染了全局缓存。此后,任何通过该CDNS对目标域(如 .org)的查询都将被劫持到攻击者指定的恶意服务器,从而实现 ...
Maginot DNS攻击复现报告
Maginot DNS攻击复现报告一、摘要本报告旨在记录并分析论文[USENIX Security ‘23]《The Maginot Line: Attacking the Boundary of DNS Caching Protection》中所提出的Maginot DNS缓存投毒攻击的复现过程。实验通过构建一个包含易受攻击的条件DNS服务器(CDNS)、攻击者控制的权威服务器以及客户端的隔离网络环境,对BIND9和Microsoft DNS两种主流软件进行了测试。
攻击的核心在于利用CDNS在处理转发查询时存在的Bailiwick检查缺陷。攻击者诱导CDNS向其控制的权威服务器发起一个转发查询,然后在响应中恶意地包含针对其他域(甚至是顶级域,如.org)的伪造NS记录。由于CDNS的转发和递归模式共享全局缓存,这个被错误接受的恶意记录成功污染了缓存,从而劫持了目标域的所有后续解析请求。实验结果直观地验证了Maginot DNS攻击的强大威力与现实危害。
二、原理分析Maginot DNS攻击与传统的Kaminsky攻击在目标和原理上均有显著区别。它并非依赖暴力猜测,而是利用了特定D ...
Poison Over Forwarders攻击评估报告
Poison Over Forwarders评估说明评估脚本获取measure.py源码
1.漏洞说明来源[USENIX Security 2020]Poison Over Troubled Forwarders: A Cache Poisoning Attack Targeting DNS Forwarding Devices
基本原理介绍该漏洞是一种针对DNS转发器的新型缓存投毒攻击。与传统攻击不同,它利用IP分片和由攻击者控制的权威DNS服务器来绕过常见的DNS安全防御机制(如端口随机化、0x20编码等)。
强制分片: 攻击者控制一个权威DNS服务器。当有DNS查询请求时,该服务器通过构造一个包含超长CNAME记录链的DNS响应,必须对该响应进行IP分片
分片注入: 一个被分片的DNS响应包,只有第一个分片包含UDP和DNS头部信息(如事务ID、端口号等)。攻击者利用这一点,在第一个合法分片到达前,向DNS转发器注入伪造的第二个分片
重组缓存: DNS转发器接收到合法的第一个分片和伪造的第二个分片后,会将它们重组。由于伪造的分片篡改了CNAME链的末尾,将其指向了受害者域名( ...
Poison Over Forwarders攻击复现报告
Poison Over Forwarders 攻击复现报告一、摘要本报告详细记录了对[USENIX Security 2020]《Poison Over Troubled Forwarders: A Cache Poisoning Attack Targeting DNS Forwarding Devices》中所述攻击的复现过程。该攻击是一种针对 DNS 转发设备的新型缓存投毒技术,它巧妙地利用了IP协议层面的分片与重组机制,从而绕过了传统的、依赖于传输层(如源端口随机化)的DNS安全防御措施。
我们通过 Docker 构建了一个包含易受攻击的 DNS 转发器(dnsmasq)、攻击者控制的权威服务器和攻击者客户端的隔离网络环境。实验中,攻击者首先向转发器注入一个精心构造的、伪造的 IP 第二分片,然后触发一个对攻击者域名的查询,诱使其权威服务器返回一个超大的、会被合法分片的DNS响应(实验复现中采用的是超长CNAME链)。转发器在重组IP包时,错误地将合法的第一个分片与伪造的第二个分片结合,最终导致其 DNS 缓存被植入指向攻击者指定域名(例如victim.cn)的恶意 IP 地址 ...
Kaminsky攻击复现报告
kaminsky复现报告一、摘要本报告旨在记录并分析经典的 Kaminsky DNS 缓存投毒攻击的复现过程。我们通过 Docker 构建了一个包含易受攻击的递归DNS服务器、攻击者和合法权威服务器的隔离网络环境。实验中,攻击者通过向递归服务器查询一系列不存在的随机子域名,并抢在合法响应前发送大量伪造的DNS响应包,成功地在其缓存中植入了恶意的 NS 记录。实验结果表明,攻击成功后,所有对目标域名的查询均被重定向至攻击者指定的服务器,直观地验证了 Kaminsky 攻击的巨大危害性。
二、原理分析Kaminsky 攻击的核心并非直接猜测并伪造目标域名(如www.example.com)的 A 记录,而是通过污染其父域(example.com)的权威 NS 记录来获得整个域的解析控制权。其攻击逻辑如下:
攻击者向受害者递归服务器(10.10.0.6)查询一个随机且不存在的子域名,例如 random-string.example.com。由于缓存中没有该记录,递归服务器必须向外查询。
递归服务器会向其配置的根/权威服务器(本例中为被攻击者控制的10.10.0.8)发起请求。攻击者通过让1 ...
Linux主机Headless与Headed无缝热插拔切换
Linux主机物理屏与虚拟屏切换指南书接上文,虽然我们已经实现了Linux主机的虚拟屏设置,可以很好的使用该“无头”服务器,但是如果我们希望给他外接物理显示屏则必须删除虚拟驱动设置,然后再重启。主包觉得这样太过麻烦了,是不是可以让系统自动检测当前是否有显示屏接入,如果接入显示屏那我们采用真实显卡设置,否则采用DUMMY虚拟驱动?
如何启动虚拟屏参见“无头”Linux主机远程桌面使用指南中“使用X11桌面协议”与“配置X.org服务器”
启动虚拟屏进阶对于上篇博文中提到的开机服务,可以设置为用户层面的服务,此时无需指定DISPLAY,这意味着鲁棒性更强vim ~/.config/systemd/user/x11vnc.service
[Unit]Description=x11vnc server for the current graphical sessionAfter=graphical-session.target[Service]ExecStart=/usr/bin/x11vnc \ -remap /home/chi/.x11vnc_remap \ -xkb \ -fore ...
“无头”Linux主机远程桌面使用指南
无显示器使用Linux主机(Ubuntu 24.04.2 LTS)实录前言五一的时候,主包拥有了自己第一台主机(mini版)。因为觉得有ssh控制就已经很满足了,所以并没有察觉到显示屏的重要性。直到卸载Win10安装Ubuntu后,由于联发科网卡反复出现网络问题(吐槽一嘴,Linux的联发科的驱动真的不太行,建议直接换Intel原生态的网卡),导致不得不需要显示屏才能控制主机(故琢磨一天,总结了几种方案)
视频采集卡 + OBS studio(推荐)懒人版,需要有一台可以使用HDMI或者DB线的笔记本电脑(?),总之就是一台宿主机
宿主机安装OBS studio软件,充当主机视频信号载体
主机接HDMI线连接视频采集卡,视频采集卡接入宿主机
OBS studio新增一个视频窗口,初始化部分应该是可以检测到视频采集卡的,然后就大功告成了
大致方案为,找到源,添加视频采集设备,然后按照识别到的视频采集卡设备进行设置,例如我是UGREEN HDMI Capture,其他配置一律默认即可
远程控制软件 + Xorg服务器(不推荐!!!)可能需要借用一个显示屏配置一下ToDesk()
安 ...
机器学习复习
ML 期末突击方差与偏差靶心与飞镖:一个绝佳的比喻想象一下你正在玩射飞镖,目标是靶心(Bullseye)。靶心就是我们想要预测的真实值。你射出的每一支飞镖,都是一次模型的预测。
我们用不同的训练数据子集训练出的不同模型,就像你一次次地投掷飞镖。
低偏差,低方差 (Low Bias, Low Variance) - 理想情况
表现:所有的飞镖都紧密地集中在靶心周围。
解读:模型既准确(低偏差)又稳定(低方差)。每次训练出的模型都能准确预测。这是我们的终极目标。
高偏差,低方差 (High Bias, Low Variance) - 欠拟合
表现:所有的飞镖都紧密地聚集在一起,但离靶心很远。
解读:模型很稳定,每次预测的结果都差不多(低方差),但它系统性地出错了,离真实值很远(高偏差)。模型太简单了,比如用一条直线去拟合一个二次曲线的数据。
低偏差,高方差 (Low Bias, High Variance) - 过拟合
表现:飞镖围绕着靶心散布得很开,没有聚集在一起。
解读:平均来看,预测是围绕真实值的(低偏差),但每次预测的结果都非常不稳定(高方差)。模型学到了太多训练数 ...
OS理论复习
OS_RElec1 Introductionlec2 Bootlec3 Memory Managementlec4 Process/Thread进程与线程并发
若干个程序同时在系统中运行,这些程序在执行的时间上是重叠的
并行
多个程序,它们在同一时间度量下同时运行在不同的处理机上,则称两个程序是并行执行的
并行则一定并发,而并发不一定并行。因为并发只是在宏观维度下两个程序在执行时间上是重叠的,在这期间,它们可能是运行在同一处理机的不同时间段,,也可能运行在完全不同的处理机上。并行则要求两个程序运行在完全不同的处理机上。
竞争
多个程序读写同一个共享数据的结果依赖于它们的执行顺序
进程进程的定义
进程是对CPU资源的一种抽象
进程与程序不同。进程可以简单理解为程序运行的过程。同时其是系统进行资源分配与调度(线程发明前)的基本单位
进程包含程序、数据、进程控制块
进程的控制
就绪状态:进程获取除处理机外所有所需资源,等待分配处理机资源
执行状态:占用处理机资源。处于此状态下的进程数小于等于CPU数目
阻塞状态:正在执行的进程,由于发生某种事件而暂时无法执行,便放弃了处理机 ...