2022-09-26
/上一部分对afl-fuzz
的总流程进行了概要性的阐述,接下来将会对关键的代码模块进行详细的分析。
先对afl-fuzz
过程中反馈与监控机制的实现进行分析,反馈是指afl
在对目标程序的模糊测试过程中,目标程序可以将本次运行过程中的状态反馈给afl
。本文主要介绍该afl
是如何具体实现分支信息的记录以及更高效的运行目标程序的。
2022-09-22
/PPL表示“受保护的流程”,但在此之前,只有“受保护的流程”。Windows Vista / Server 2008引入了受保护进程的概念,其目的不是保护您的数据或凭据。其最初目标是保护媒体内容并符合DRM(数字版权管理)要求。Microsoft开发了此机制,以便您的媒体播放器可以读取例如蓝光,同时防止您复制其内容。当时的要求是映像文件(即可执行文件)必须使用特殊的Windows Media证书进行数字签名(如Windows Internals的“受保护的过程”部分所述)。
2022-09-20
/好久以前,在我完成 Glibc2.23 的基本堆利用学习以后,IO_FILE 的利用就被提上日程了,但苦于各种各样的麻烦因素,时至今日,我才终于动笔开始学习这种利用技巧,实属惭愧。
近几年,由于堆利用的条件越来越苛刻,加之几个常用的劫持 hook 被删除,IO 的地位逐渐有超过堆利用的趋势,因此为了跟上这几年的新潮,赶紧回来学习一下 IO 流的利用技巧。
2022-09-06
/codeql是一款强大的静态扫描工具,通过codeql强大的自定义规则我们可以编写sql语句来搜索源码中我们可能感兴趣的代码。ctf中高版本libc的利用方法中很多都用利用了IO函数,即利用stdin/stdout/stderr->vtable 修改虚表指针指向对我们有用的伪造的vtable又或者其他存在可利用函数的_IO_xxx_jumps虚表,如:house_of_kiwi,因此我便诞生了使用codeql查找libc中所有跳转到IO的函数调用的想法,更方便的分析libc中的利用点,也看看能不能找出house_of_kiwi中使用的malloc_assert->fflush利用点。
2022-09-01
/第一部分介绍了afl
插桩编译的过程,思考了很久才定下第二部分写些什么。本来打算第二部分详细解释插桩部分和forkserver
的代码的,但是感觉如果对afl-fuzz
的整体流程没有大致掌握的话,直接去描述细节会让人不理解为什么afl
这部分要这样去设计,因此决定在第二部分将afl-fuzz
的主要流程(main
)和部分不是关键代码的函数给说清楚,后续再逐步对关键代码模块进行详细分析,j继而实现对afl
模糊测试的解析。
2022-08-30
/任何需要管理员访问令牌的程序都必须征得同意(即UAC弹窗),但是存在一个意外,即父进程和子进程之间存在关系,即子进程从父进程中继承访问令牌,这是UAC 绕过的基础。本文将选择UACME中的3种不同的ByPass UAC的例子,为各位讲解ByPass UAC的原理。然后分析UAC的基本基本原理,继而寻找ByPass UAC的通用检测策略,本文行文仓促,如有错误,请各位积极指正。
2022-08-22
/书接上回《CVE-2022-34918 netfilter 分析笔记》。
在上一篇文章中,我将360在blackhat asia 2022上提出的USMA利用方式实践于 CVE-2022-34918的利用过程中,取得了不错的利用效果,即绕过了内核诸多的防御措施。
但唯一的缺点是,上次的利用脚本需要攻击者预先知道内核中的目标函数偏移,而这往往是实际利用中最难获得的。这也正是DirtyCow,DirtyPipe这些逻辑类漏洞相比于内存损坏类漏洞最大的优势。
这篇文章我们再以CVE-2022-34918为模板,尝试让USMA在利用过程中不再依赖内核中的地址偏移,从而内存损坏型漏洞的exp能够和逻辑类漏洞一样具有普适性。
2022-08-08
/前段时间2022虎符决赛结束,赛后从学长那看到了题目,其中出现了一道PowerPC64架构的pwn题,从架构方面来说比较少见,刚好之前看过一道PowerPC架构32位栈溢出的题目,于是放到一起整理一下。
2022-08-05
/2022-07-18
/我们如果想要实现进程隐藏在3环通常会使用到PEB断链去达到隐藏进程的效果,但是那只是表面上的进程隐藏,所有内存的详细信息都会被储存在vad树里面,这里我们就来探究在64位下如何隐藏可执行内存
2022-07-15
/Malleable PE 直译就是可拓展PE,通常来说,很多同学在做免杀的时候,会针对Loader进行免杀,并不会考虑针对beacon进行免杀,这就导致了很多杀软/EDR的内存防护能针对默认设置的beacon进行查杀。C2Profile提供了很好地操作beacon的方法,C2Profile不仅仅可以自定义beacon的通信属性(例如uri,header等等),还可以对beacon进行操作,从而实现免杀的目的。
2022-07-07
/这题是 GLIBC 2.27-3ubuntu1.5 的版本,想着 2.27 可以直接 free 两次,但是这个 2.27-3ubuntu1.5 patch 了 double free,还加了 key,double_free 就没那么好搞,所以这题我用的是任意写 free_hook 为 system 进行getshell
2022-06-24
/这里的rwctf_station-escape的主要基于长亭师傅在知乎的文章进行,在此基础上进行了比较详细的exp分析和调试
2022-06-23
/2022年1月14日,一个编号为CVE-2022-23222的漏洞被公开,这是一个位于eBPF验证器中的漏洞,漏洞允许eBPF程序在未经验证的情况下对特定指针进行运算,通过精心构造的代码,可以实现任意内核内存读写,而这将会造成本地提权的风险。