
漏洞溢出
文章平均质量分 73
inquisiter
这个作者很懒,什么都没留下…
展开
-
CVE-2022-34918漏洞流程图
漏洞流程原创 2022-09-01 14:24:46 · 714 阅读 · 0 评论 -
(CVE-2022-276\66): Exploit esp6 modules linux 内核攻击-分析翻译
添加链接描述翻译 2022-06-02 13:53:38 · 966 阅读 · 0 评论 -
CVE-2022-0995分析(内核越界 watch_queue_set_filter)
漏洞成因此漏洞与CVE-2021-22555利用方式相似。@@ -320,7 +319,7 @@ long watch_queue_set_filter(struct pipe_inode_info *pipe, tf[i].info_mask & WATCH_INFO_LENGTH) goto err_filter; /* Ignore any unknown types */- if (tf[i].type >= sizeof(wfilter->t原创 2022-04-02 11:23:11 · 963 阅读 · 0 评论 -
CVE-2021-22555利用过程翻译
原文链接:https://google.github.io/security-research/pocs/linux/cve-2021-22555/writeup.html本文基本属于翻译,原文解释的很清楚,我按自己的理解来记录下。漏洞位于netfilter。原作者利用此漏洞获得了两万美金的奖励。漏洞比较老,存在将近15年之久,从这个漏洞来看,内核其实类似的漏洞应该还有不少。今年貌似爆出了类似的漏洞 https://github.com/Bonfee/CVE-2022-0995 。今天又看到一个:htt翻译 2022-03-30 16:19:54 · 1318 阅读 · 0 评论 -
CVE-2021-26708 利用四字节释放特定地址,修改内存
看个漏洞吧,挖洞工具还没掌握到精髓。http://www.hackdig.com/04/hack-339887.htm漏洞原因vsock_stream_etssockopt() {struct sock *sk; struct vsock_sock *vsk; const struct vsock_transport *transport; /* ... */ sk = sock->sk; vsk = vsock_sk(sk); trans原创 2021-09-17 16:38:58 · 543 阅读 · 0 评论 -
linux内核泄露地址的方式
早些的时候可以利用dmesg通过缺页错误来泄露内核地址,但新一点的内核把这个修复了。最近看了下,遇到了目前常用的方式,详细分析下。shmat大部分搜到的记录是利用struct shm_file_data { int id; struct ipc_namespace *ns; struct file *file; const struct vm_operations_struct *vm_ops;};#define shm_file_data(file) (*((st原创 2021-09-16 15:54:11 · 539 阅读 · 0 评论 -
kernel exploit 有用的结构体
一、可用于 Leak/AAR/AAW/RIP劫持的结构体说明目前缺少kmalloc-8、kmalloc-16、kmalloc-64、kmalloc-512结构体。shm_file_datasize: 0x20 kmalloc-32内核基址:可泄露。其ns、vm_ops指针可以泄露heap:可泄露。file指向堆区域stack:不能泄露劫持RIP:不能产生:调用shmat()映射共享内存释放:shmctl() ??备注:尝试过重写vm_ops,但是没发现调用fake_vtable函数指转载 2021-09-16 10:54:52 · 640 阅读 · 0 评论 -
syzkaller--->syscalldescription语法
syzkaller本身是个较强大的fuzz工具,使用方法较简单, syz-manager -config my.cfg但难点是编辑特异性的语法魔板,用于特定模块和系统调用的fuzz。公开git上已经包含了说明,但感觉比较晦涩,先按字面意思理一下syscall_descriptions_syntax.md文本1syscall_descriptions_syntax.mdsyscallname "(" [arg ["," arg]*] ")" [type] ["(" attribute*原创 2021-09-15 15:52:08 · 1226 阅读 · 0 评论 -
AFL模糊测试
一、AFL基于覆盖率, qemu llvm等多项技术的fuzzing工具https://github.com/google/AFL二、使用方法2.1安装makemake install2.2编译目标程序2.2.1 程序是用autoconf构建,那么此时只需要执行如下即可CC=/usr/local/bin/afl-gcc CXX=/usr/local/bin/afl-g++ ./configure --disable-sharedmake cleanmake2.2.2 程序不是用a原创 2021-02-07 16:57:17 · 1034 阅读 · 0 评论 -
sudo CVE-2021-3156 攻击利用
漏洞成因攻击过程 char *LC = calloc(0x3000,1); strcpy(LC, "LC_ALL=C.UTF-8@"); memset(LC+15, 'C', size); envp[envp_pos++] = LC;简单讲,本身entry 和service是连在一起的,但是我们提前构造了0xc0的chunk 。 使entry分配到了oxc0的块上,而service的分配由于oxc0的块用完了会分割原始的chunk. 造成usr_arg和s原创 2021-02-05 17:54:40 · 245 阅读 · 0 评论 -
namespace的进一步的学习认知及docker逃逸
35C3 CTF这里参照了https://www.secrss.com/articles/15269题目大体意思是,利用nsjail创建沙箱nsa,映射了user到root的ns空间权限。/tmp/flag被以只读挂载到/flag, procfs挂载到读写。原因就是,子ns空间对文件的操作需要重新挂载文件,但权限只能是父进程ns的资源。也就是说,新的沙箱其实可以访问 /flag文件。 但之后有个namespace的文件,执行后会将新进程加入到nsa,并降低了权限到1。[lier@localhost原创 2020-12-11 15:22:34 · 584 阅读 · 0 评论 -
cve-2019-15666 xfrm_policy
这个漏洞比较强,官方说明漏洞只会导致拒绝服务攻击,但实际上利用得当可以实现提权。影响范围3.x-5.x漏洞成因,数组越界。需要需要插入用户定义的 index timer set。XFRM_MSG_NEWSA请求的路劲添加policy。添加policy需要通过verify_newpolicy_info的认证。但漏洞版本认证缺陷。https://duasynt.com/blog/ubuntu-centos-redhat-privesc--- a/net/xfrm/xfrm_user.c+++ b/n原创 2020-09-09 11:38:59 · 1127 阅读 · 4 评论 -
CVE-2019-11815内核竞态漏洞推测
这个本来向看下利用过程,奈何没找到poc. 感觉自己其实也懂不少原理了,来推测下吧。https://www.freebuf.com/vuls/208256.html补丁位置根据官网漏洞信息,可以知道此漏洞大概是个uaf之类的漏洞。static void rds_tcp_kill_sock(struct net *net){ struct rds_tcp_connection *tc,...原创 2020-04-24 15:09:52 · 525 阅读 · 0 评论 -
CVE-2018-18955user_name_space空间越权漏洞
https://www.exploit-db.com/exploits/45886漏洞原理这个洞前前后后看了好几遍,感觉是明白了。大概是在用户命名空间中NS1创建root用户,然后创建嵌套命名空间NS2。在NS2中映射大于5个id0 0 11 1 12 2 13 3 14 4 15 5 995两个原因造成越权。1.sort_idmaps会复制forward map的映射队...原创 2020-04-20 12:06:14 · 1175 阅读 · 0 评论 -
内核漏洞利用方法
堆喷//CVE-2016-8655#define BUFSIZE 1408char exploitbuf[BUFSIZE];void kmalloc(void){ while(1) syscall(__NR_add_key, "user","wtf",exploitbuf,BUFSIZE-24,-2);}原创 2020-04-14 19:32:12 · 276 阅读 · 0 评论 -
关于内存 页 物理地址 虚拟地址的思考 漏洞利用思考
对于页属性的管理相应思考我看了下,虚拟地址到物理地址的转换很简单,解释虚拟页号对应找到物理页号,偏移计算出物理地址。而且虚拟偏移和物理偏移是一样的。所以这里这是虚拟页好和物理页号不可能是简单的确定映射关系。一定有一个复杂的动态映射算法。这个我先不关心。我想知道的反而是页表权限属性的一些内容。我这里理解页面如果分虚拟和物理,那么页面的执行属性是否也分虚拟和物理。如果区分,那么我们更改属性是否单...原创 2019-10-28 11:46:43 · 252 阅读 · 0 评论 -
linux 内核双机调试
一. 内核修改write protect kernel read-only data structuresset loadable kernel module date as nx and text as RO 编译选项去掉其他默认不变(如果编译arm版本要指定 AARCH=arm64) MakeMake bzImageMake modulesMake modules_...原创 2019-11-13 19:32:26 · 475 阅读 · 0 评论 -
arm64 linux 提权研究
关于漏洞这里只是对核心的缓解技术pxn如何绕过做了些思考,暂时不利用0day溢出。我先自己制造了一个堆溢出覆盖指针的漏洞。旨在研究pxn的一中叫做利用VDSO机制绕过的方式给shellcode找块福地- 通过VDSO绕过PXN前言我们的前提是溢出控制了内核模块某个函数的地址,并且可以传递至少一个参数。我这里是一个。大体思路我们的思路就是这个VDSO, 由于这个共享内存的存在,如果我们能...原创 2019-10-24 10:36:22 · 1043 阅读 · 0 评论 -
house of orange
house of orange本次笔记基于看雪看雪CTF.TSRC 2018 团队赛 第十四题这个东西好像在新版的libc.so中不太好用,不过有点意思记录下吧。house of orange1.分配一个堆块2.溢出topchunk修改size3.申请超出size的堆,topchunk进入unsorted bin。4.申请小于size的堆,old_top分为两块。5.p...原创 2019-01-20 17:56:38 · 444 阅读 · 0 评论 -
DirtyCow Linux权限提升漏洞分析
DirtyCow Linux权限提升漏洞分析 如上图,这个漏洞的特点就是线程竞争导致可以读写的权限被扩大了。其实具体说可能有点绕,就是foll_write标志在row特性执行后去掉了,但是再次执行时却没有检查页表项的有效性,导致我们可以利用另一个线程清空页表。清空的页表由于没有了foll_write权限要求,再次被分配时就不执行row执行机制,导致原本不应该本写的地址拥有了写的权限。...原创 2018-03-09 23:09:20 · 2119 阅读 · 2 评论 -
泄露地址和利用总结
已知libc.so栈执行保护---------->调用libc.so system("/bin/sh")关闭ASLR system在内存中的地址不会变化如果elf中调用了print和read,那么我们就可以搜索内存直接调用。如果开启ASLR, 我们可以根据got得到print@plt和system在libc.so中的偏移得到system的地址。read@plt ...原创 2019-07-17 21:12:28 · 900 阅读 · 1 评论 -
Linux下fastbin利用小结——fd覆盖与任意地址free(House of Spirit)
原文地址:https://www.cnblogs.com/Ox9A82/p/5865420.htmllinux下的fastbin是ctf中pwn题的重点出题点。去年(2015)中,XCTF就有两站是使用fastbin的利用作为pwn400的压轴题来出现,这也是我刚开始接触fastbin的利用,参考了k0sh1师傅写在freebuf上的一篇文章。我写了几个demo来说明问题。目录 1.关于fastb转载 2018-01-02 09:27:40 · 566 阅读 · 0 评论 -
linux 堆块分配
linux 堆块分配关于fastbin我们一般熟悉的堆都是双链表的chunk,但是对于大小为(16 Bytes~ 64 Bytes)的堆块来说则是使用fastbin来进行管理的。fastbin的堆块结构与常规的chunk是完全一样,除了使用的是单链表。fastbinadd-symbol-file /home/driv.ko 0xf...原创 2019-10-06 10:47:41 · 388 阅读 · 0 评论 -
泄露libc
pintf泄露libc虽然存在格式化字符串漏洞,并且GOT表可写,但是程序使用的是printf_chk函数。会检测出形如"%n"和"%12$p"这种利用方式。考虑到main函数由libc_start_main调用,因此栈上的返回地址是一个libc中的地址,利用格式化字符串漏洞能泄露出libc的基址。“%p::%p::%p::%p::%p::%p::%p::%p”。第8个%p就能打印出l原创 2019-01-12 16:37:19 · 1607 阅读 · 0 评论