V2EX cnevil
 cnevil's recent timeline updates
cnevil

cnevil

V2EX member #453038, joined on 2019-11-14 13:44:14 +08:00
cnevil's recent replies
@andlp 换个好点的 ai 吧。。
1. 核心触发原语:AF_ALG 与特定加密算法
脚本开头使用了 a = s.socket(38, 5, 0)。其中 38 对应的是 AF_ALG ( Linux Kernel Crypto API 的用户态接口)。
接着它绑定了特定的加密算法:a.bind(("aead", "authencesn(hmac(sha256),cbc(aes))"))。
algif_aead 是内核中处理 AEAD (认证加密)的核心模块。
authencesn 是一种用于 IPsec 的加密包装器,它需要处理扩展序列号( ESN )。在计算 HMAC 时,它需要对序列号的字节进行重新排列,这会导致它在目标缓冲区中执行一次 4 字节的临时写入( Scratch Write )。
2. 内存越权:splice 与页缓存投毒
脚本中使用了 os.splice (对应 C 语言的 splice() 系统调用)。splice 可以在两个文件描述符之间移动数据,而不需要将数据复制到用户空间(即零拷贝)。
在这个 payload 中,攻击者通过 splice 将目标文件(这里是高权限的可执行文件 /usr/bin/su )映射到了加密套接字( Socket )的内存空间中作为“密文”输入。
漏洞的致命点在于:algif_aead 模块在执行加密操作时,默认是 “原地操作”( in-place ) 的(即源缓冲区和目标缓冲区是同一个)。当输入数据是通过 splice 从普通文件映射过来时,目标散列表( Scatterlist )实际上直接指向了该文件在内核中的 页缓存( Page Cache )。
3. 利用过程:积少成多的 4 字节写入
当脚本调用 u.recv() 触发解密操作时,底层的 authencesn 算法会将攻击者通过 sendmsg 传入的 4 字节序列号( seqno_lo ,即 payload 中的恶意指令片段),直接覆盖写入到由于原地操作而共享的“目标缓冲区”中。
因为目标缓冲区就是 /usr/bin/su 的页缓存,这就导致内核的只读页缓存被直接篡改了 4 个字节。
payload 中的 while i<len(e): c(f,i,e[i:i+4]); i+=4 是一个循环。它将一大段经过 zlib 压缩的 Shellcode (提权恶意代码)解压后,每次 4 个字节,利用上述机制一点点“缝合”进内核中 /usr/bin/su 的内存映像里。
4. 提权执行
当 4 字节循环写入完成后,内核中缓存的 /usr/bin/su 已经被注入了恶意的 Shellcode 。
此时脚本执行 g.system("su")。由于 Linux 内核会优先从页缓存中读取文件执行,加上 su 本身带有 setuid 属性(执行时拥有 root 权限),被投毒的 Shellcode 就会以 root 权限运行,从而完成提权
------
3. Linux 本该有的保护机制去哪了?(漏洞的真正命门)
是的,Linux 有一个极其核心的机制:内存权限控制( Memory Management Permission )。
在这个漏洞场景中,攻击者是用只读( Read-Only )权限打开的 /usr/bin/su 。
按照 Linux 正常的逻辑,当 authencesn 算法试图把那 4 字节的脏数据写到 /usr/bin/su 的页缓存时,内存管理系统( MM subsystem )应该立刻跳出来大喊:“停下!这个页面是只读的!”然后触发一个缺页异常( Page Fault ),直接把操作干掉,甚至把当前的进程杀掉( Segmentation Fault )。
如果这个机制生效,那 4 字节根本写不进去!
那为什么没生效呢?这恰恰是这个漏洞( CVE )最核心的代码 Bug 所在:
内核的 algif_aead 模块在处理 splice 传过来的内存页( Page )时,它底层调用的是 kmap_atomic 之类的底层函数去直接映射物理内存。
这个底层的写入操作绕过了 VFS (虚拟文件系统)的写权限检查,也绕过了正常的 Copy-on-Write (写时复制)机制。它盲目地假设:“既然你把这个缓冲区指定为加密/解密的输出目标( dst ),那它一定在前面已经被检查过是可写的了。”
安全运维更偏网络,安服、运营更偏应用安全,想跨过去还是需要一定的知识储备的
行业整体肯定是不如以往,但你起码也说下在什么地方,一线城市能力足够的话找个工作没问题的。不过安服不出差就有点难,头部几个大公司人员储备多的可能还好,例如北京公司就负责北京这块的业务,其他地方有各地的办事处啥的,但完全不出差也难
研究得越多越玄学,实际可能 IP 只占一部分,或者说很小一部分,我和我同事都是 8 块钱的机场,我用了俩月随便换节点,日本美国都用过还经常掉 IP 直连被客户端提示连不上,一点事都没,他号半天就没了
有受众自导自演罢了 认识的大佬没有一个像这样上蹿下跳的
怀念国补时候 2700 的 mac mini
Feb 11
Replied to a topic by ljiaming19 程序员 零信任 vpn 是智商税吗
按照零信任的设计思路,是需要应用去和零信任做对接的,但就目前各公司用的情况来看,还是当做普通的 VPN 在用,连网关分配一个 IP 然后通过虚拟网卡和隧道直接访问资源,权限还是靠所谓“零信任”给分配的,和 VPN 没感觉有任何区别
跟 MITM 有啥关系,没听说过中间人还能 RCE 的 这说法这不是忽悠傻子吗。。
这都算好的了,只图圈你使用费这点米
你搜 wps 搜狗输入法 chrome 这种更绷不住 都是银狐组织的钓鱼网站
bing 现在已经是一坨中的一坨了
从业人员告诉你 这都是自动化的探测、利用手段,你拿到了也是没什么鸟用的东西
要是对安全感兴趣可以先从渗透测试开始,搞这些自己都不知道是什么东西的东西,还想要利益
这很难评,祝你成功吧
About     Help     Advertise     Blog     API     FAQ     Solana     3721 Online   Highest 6679       Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 18ms UTC 04:22 PVG 12:22 LAX 21:22 JFK 00:22
Do have faith in what you're doing.
ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86