date

Yeap

wjllz是人间大笨蛋

2018-11-14

这段时间发生了好多事, 发QQ空间又太幼稚, 所以留这个地方让自己写写东西, 散散心情.

windows-kernel-exploit系列其实基本的思路都写完了, 剩下的要开始自己研究了. 也不知道自己的博客更新速度会是多少, 老挑重复的东西写不太好.

最近开始看direct-x的攻击面. 目前看到的可能是漏洞的地方是三个.

[+] 两个整数溢出
[+] 一个除0错误

分析能力太弱, 所以自己还没有构造出POC, 在一番查找之后, 终于找到了完整的可以触发的POC, 这个周末的计划是把这个洞调了. 对着k0师傅的博客看(因为目前主要的任务我是学习direct-x这个体系, 对这个体系的了解没有, 所以就不要自己瞎分析了). 找到的相关文章是这些:

[+] poc-1: 
        ==> https://github.com/k0keoyo/Dark_Composition_case_study_Integer_Overflow
        ==> https://whereisk0shl.top/post/2018-01-17
[+] poc-2:
        ==> https://paper.seebug.org/414/

把这两个洞分析完. 再去看看剩下的四个ppt:

[+] https://github.com/redogwu/study-pdf/blob/master/44Con-Gaining%20Remote%20System%20Subverting%20The%20DirectX%20Kernel.pdf
[+] https://github.com/redogwu/study-pdf/blob/master/Over%20the%20Edge%2C%20Pwning%20the%20windows%20kernel.pdf
[+] https://github.com/redogwu/study-pdf/blob/master/win32k%20_dark_composition_finnal_finnal.ppt
[+] https://github.com/redogwu/study-pdf/blob/master/11-Tarakanov.pdf

有想过直接去验证自己的漏洞, 但是总感觉… 如果是建立在基础不牢固的运气好这种机会挖到的洞, 也不属于我. 所以还是把这些基础打好了再说吧. 真想早点去验证的话就努力一点早一点把这些ppt看完.

希望是洞.

还有一些个人的事, 有些事蛮绝望的… 但是不管怎样呢. 都要往前面走下去. 我想把我余下的部分尽量做好一些.

Wish you? Maybe or not…

最后, wjllz是人间大笨蛋.

2018-11-15

成都真是越来越冷了. 呼呼.

今天下了一天的镜像… 怠惰… 哇, 妈妈我错了. 我一定好好学习.

怠惰的时候看了国产零零漆, 星爷唱李香兰那里好帅.

从什么时候开始不能听粤语歌了呢, 大概听着有点烦躁. 所以在尝试着日语歌和国语歌. 感觉还行.

计划的话. 还是昨天的计划.

呼呼, 成都的冬天真的是越来越冷了. 但是我越来越喜欢冬天了. 总感觉阴天摸得着, 要快乐一些.

最后, wjllz是人间大笨蛋.

2018-11-16

今天真的是很有收获的一天, 因为天府杯.

怎么说呢, 能明显的感受到自己的技不如人. 明年的时候, 希望能够把牌子上的观众两个字换成选手.

看到了很多打pwn2own的师傅, 自己的偶像站在自己的面前的时候, 感觉好激动.

还有还有, 从这些老师身上, 突然就燃起了某种可能性. 感觉自己不仅能学知识. 还能够从他们身上学到做人. 这是最开心的了. 只是不知道自己能不能收到面试通知.

回来赶了几个小时, 把ppt上的一个exp写了. 因为看错了一个点. 本来准备write_what_where_dword的, 结果看错了. 自己构造完之后才发现自己构造的是write_what_where_byte… 下次一定好好看代码. 后来改了下. 然后ok了.

代码在这里, 不过不算分析完. 因为我只是把满足自己利用的条件分析了. 我想把整个调用链分析完. 这样才能和direct-x更亲近一些.

调试的trick是和师父说的那样.

[+] 用好windows 7. 因为它的缓解措施比较少. 所以很方便自己去调试验证一些fengshui布局, 或者林林总总.

开心, 明天继续看天府杯. 想找老师们聊一下, 学一点挖洞的思路.

汪!

最后, wjllz是人间大笨蛋.

2018-11-17

天府杯终于完了哇. 这两天的时间基本白天看比赛, 然后晚上悄悄写点代码. 但是觉得自己收获颇丰.

one

看见了很多很强很强的师傅. 像TK老师这种, 总觉得属于前辈的人. 想说超过这种话大概很难很难的. 需要时间慢慢去积累. 但是muhe师傅, 大宝师傅. 都是同龄人. 我总觉得要和他们好好学习. 好好努力. 然后不断地去改正, 对比, 进步. 姐姐和我说技不如人. 我觉得嗯, 就是这样. 但是只要敢坦坦荡荡的承认. 那么总有机会存在某种可能性赶上.

two

厚着脸皮和古河老师聊了下挖洞的想法之类的. 古河老师说那种自己独立分析的POC. 起码得做个几十个. 嗯嗯, 这方面自己还有很长的距离要走.

另外. 古河老师说挖洞的时候. 有个想法自己居然和老师类似. 很开心.

[+] 微软有很多漏洞的安全版本是类似的. 比如漏洞的版本是这样.
    A
[+] 安全的版本是这样.
    A + B
[+] 如果看到这种代码
    A + B
    A + B
    A + B
    A     ==> here
    A + B
    A + B
[+] 用这种方法挖洞没准会有搜获. A那里很有可能是漏洞.

本来准备找sky老师和Ranchoice老师也继续取经的. 但是我看到的时候他们都好像很忙. 转眼就不见了… 好遗憾…

计划

上个漏洞的利用写完了. 要做完整的分析了. 思路是这样的.

[+] 借用EXP(记得__debugbreak())完成程序逆序调用链的分析.
[+] 借用EXP完成程序正序调用链的分析.
[+] 从漏洞分析入手, 设想是自己做如何写出POC

cansecwest的第二个漏洞利用的分析由于POC在我这里触发不了. 所以借助于上一个的知识. 我自己要独立写出POC.

接下来就是44conhitbRanchoice老师的ppt上的漏洞. 自己要独立的都分析一遍(我还是很想写出利用…. 对利用有偏爱…).

接着就是屯的可能是洞的POC编写.

[+] 分析那些数据可不可控. 如何控制.

喔喔! 要忙起来了.

最后, wjllz是人间大笨蛋.

2018-11-18

构建POC… 卡住…

我寻思着我和师傅们用的Google不是同一个呀… 学习学习

不对, 我明白了. 自己卡住的点是发现自己并不能和师傅们一样. 去获取合适的有效的资料. 那么:

[+] 一个一定有效的比较愚笨的方法是. 自己逆向一遍. 然后一步一步去凑参数.

可不能偷懒.

最后, wjllz是人间大笨蛋.

2018-11-19

构建POC ing… 有点乱. 果然这方面上的能力还需要提升.

要开始在实验室闭关了.

fighting!

最后, wjllz是人间大笨蛋.

2018-11-20

cansecwest的两个exp快写完了, 另外一个还差一点点. poc到exp的编写呢. 我觉得重要的一个技巧是动态调试.

[+] 在你需要的控制的数据周围下断点. 先观察POC的传入值, 然后不断change, 观察怎么影响内核层次的值.

另外一个方面是double free.

[+] first free --> 空闲 --> UAF(1)
[+] spray --> 填充
[+] second free -> 空闲 --> UAF(2)
[+] 填充fake struct
[+] pwn

之后是关于direct-x的攻击面的. 我现在开始觉得自己的分析能力蛮弱的. 所以要进行大量的分析与沉淀. sky老师提过, 要对手里的每一个0day负责. 所以我构建出POC之后还是蛮想写利用的… 不知道对不对…

To do list(有特殊标记D是含有可用资料的):

[+] cve-2017-0077
[+] cve-2018-8165
[+] cve-2018-8401
[+] cve-2018-0806
[+] cve-2018-0805(D)
[+] cve-2016-0176(D)
[+] cve-2018-0977(D)
[+] cve-2018-8121(D && kernel info leak)
[+] cve-2017-8465(D)
[+] cve-2017-8580(D)

相关资料:

[+] https://github.com/progmboy/kernel_vul_poc/blob/master/windows/cursor_poc/poc.cxx

最后, wjllz是人间大笨蛋.

2018-11-21

one

突然想起一张蛮重要的图, 挖洞用的.

从这张图里面能够刨出来漏洞挖掘的趋势.

不会fuzz的话, 想挖洞就得从这种零散的资料里面搜集了… 过段时间刨一点fuzz的资料来看的说.

two

找到了keen lab的一个关于cve-2016-0176的资料. 很值得一看(也是接下来的目标).

[+] https://keenlab.tencent.com/zh/2016/11/18/A-Link-to-System-Privilege/
[+] https://github.com/long123king/tokenext/blob/master/doc/Did_You_Get_Your_Token.pdf 
[+] https://github.com/redogwu/study-pdf/blob/master/Rainbow_over_the_Windows.pdf

粗糙的看了下, 看了这个之后.

[+] direct-x --> dxgkrnl.sys
[+] 在pwn2own里面, 自己的角色能够做点什么微小的工作.

所以是很OK的搜获.

three

pgboy1998师傅的珍贵的资料. 学习学习

[+] https://github.com/progmboy/vul_analyze_doc

另外一个资料. 历年的ppt:

[+] https://infocon.hackingand.coffee/

four

下午的时候想了下, 可持续的发展的话, 我还能扩展的方向有这些:

[+] 虚拟机
[+] 浏览器
[+] linux内核
[+] IOS内核

嗯嗯, 得和老师他们一样, 看什么都能一眼看到本质的技能才行. 这样转变才快.

当然, 前提是先能够精通一个, 再去想其他的.

练习+思考+联系(repeat模式).

five

9A师傅聊了一下. 有点羡慕实验室的生活… 因为在实验室资源相对会多一些. 总比单打独斗好. 期待面试ing… 要加油.

最后, wjllz是人间大笨蛋.

2018-11-22

把以前粗糙分析的洞(cve-2015-0057)重新分析了一遍. 尝试了模仿如果是自己如果来构造POC会是怎么构造.

最大的搜获是可以把win32k迁移到direct-x试试.

接下来的思路找一个经常调用的函数, 看看栈回溯. 你看, 没有资料的时候, 就只有这种笨笨的方法.

晚上整理下twitter, 发现几个有用的资料.

//有用的推文
[+] https://twitter.com/_qaz_qaz/status/1062373562269474817?s=19

[+]https://twitter.com/jq0904/status/1062168435818283008?s=19

[+] https://twitter.com/kiqueNissim/status/1045829683655454720?s=19

To-list越来越长了, 哭唧唧.

每次单打独斗都会很麻烦, 进展慢, 且不确定正不正确. 但是一个比较好的地方是, 通一通百. 所以先慢慢忍着, 一定可以的.

最后, wjllz是人间大笨蛋.

2018-11-23

学习路线

和一个很敬佩的师傅交流了下. 谈了接下来的学习路线:

[+] 开始分析补丁, 写POC和利用(我定的版本是rs3, 因为相对好写一些.)
    ==> 补丁分析比较的这一部分. 我觉得是我现阶段必须做的. 因为我是适合调试学习的人. 这种实战性的积累对我的帮助会非常大.
[+] 做一些个人的研究, 比如针对某个缓解措施的研究.
    ==> 这一部分是比较难出成果的. 所以放在晚上12:00以后做,
[+] 挖洞: 针对`dxgkrnl.sys`这个文件进行逆向分析和POC编写.
    ==> 这一部分的工作能够帮我熟悉direct-x这个体系
[+] 阅读一些其他的paper. 扩充自己知识体系.

To do list

同时干这些事是一件非常麻烦的事, 不分清楚的话就会感觉一直在忙. 但是其实啥都没做. 所以每个星期每一天都需要做详细的计划.

[+] 明天分析`cve-2018-8562`这个洞(这个星期的主要工作)
[+] 晚上10:00以后进行挖洞的尝试.
[+] 晚上做自己的独立研究

emmmm. 这一部分的东西要践行了之后再进行调整…

一个利用方法

晚上闲着瞎看的时候看到一个利用方法. 以前知道, 但是没有用实际的cve写过.



方法倒是蛮简单的, 我觉得另外一个比较重要的点是, 如果有那种残缺的读写的, 可以考虑改变这种类似cbSize的思路. 这种思路不仅适用于cbWndExtra. 还适用于pool等类似的结构.

一点小小的吐槽

重新看了下自己写的0057的利用… 现在看来是真的笨… 因为当时自己很多东西只能靠自己来写… 走了好多弯路… 太丑了…

好期望能够接到面试的电话哇. 但是也要做最坏的打算…

最后, wjllz是人间大笨蛋.

2018-11-24

one

计划这种东西永远赶不上变化.. 果然. 忘了还有每周一次的大创任务了…

8562的洞的调试思路是这样的.

[+] 8453(累积更新) --> win32k A
[+] 8562(delta更新) --> win32k B
[+] A + B bindiff --> 确定漏洞类型+位置
[+] xref(图) --> 确定触发函数
[+] 动态调试, 确定调用路径, 构造POC.
[+] pwn

目前xref部分已经做完了. 还差一丢丢.

写出完整的利用代码的话自己应该会公开exp和博客. 1 day的利用貌似还蛮赚钱的, 但是我的kernel路经常苦于能够参考的代码太少. 所以先做一些用爱发电的事.

所以我昨天为毛冲动要把我电脑重装… 虚拟机都不在了哇…. 难受.jpg.

two

一点零散的笔记

user space(from alex blog)

[+] tagWND(https://dl.packetstormsecurity.net/papers/attack/CVE-2014-4113.pdf)
[+] haldispatchtable

three

重新看了下学习初期的洞, 感觉我们都被NCC group误导了….

最后, wjllz是人间大笨蛋.

2018-11-25

贼好的一篇文章:

[+] http://cvr-data.blogspot.com/

最后, wjllz是人间大笨蛋.

2018-12-07

好久没更新日记了…

一直在准备面试… 虽然希望很渺茫, 但总感觉机会到了手里面还是要尝试着去抓一下.

direct-x方面zdi公布了四个POC. 真是太好了. 要好好调一下. 写一下利用.

[+] https://github.com/redogwu/PoC
[+] https://www.thezdi.com/blog/2018/12/4/directx-to-the-kernel

另外一个方面是师父教我的. 可以看看厉害的前辈们在干嘛来挖洞. Google Project真是一个令人敬佩的团队. 看了下james老师的公开的资料.

[+] https://bugs.chromium.org/p/project-zero/issues/list?can=1&q=owner%3Aforshaw%40google.com%20&num=100&start=100

准备挑cve-2017-0213调一下. 因为这对于后面direct也很有用. 另外一个方面需要经常浏览这个网站. 多学学james老师的挖洞思路. 逻辑漏洞… 我感觉我好像也很喜欢的样子.

[+] 我身高只有169.9, 腿长85厘米. 迈一步大概只能五十厘米. 所以多多少少要比别人慢一些. 所以怎么也得多花一点时间.

最后, wjllz是人间大笨蛋.

2018-12-08

资料:

[+] https://labs.mwrinfosecurity.com/blog/mwr-labs-pwn2own-2013-write-up-kernel-exploit/
[+] https://www.fidusinfosec.com/nomachine-road-code-execution-without-fuzzing-cve-2018-6947/(卧槽 好资料啊!!!!)

感觉自己进展有点慢…. james老师的洞好难理解… 呼呼. 但是通一通百… 所以剩下的就是保持信心. 稳稳地做下去就行了.

最后, wjllz是人间大笨蛋.

2018-12-09

资料搜集一下:

[+] https://www.fireeye.com/blog/threat-research/2016/05/windows-zero-day-payment-cards.html

最后, wjllz是人间大笨蛋.

2018-12-20

最近在做一些hyper-v的事. 结束之后放上来.

然后是一点开心的事. 和一个很久很久没能说话的人终于开口说话了.

难过的是. 期末复习和一些重要的事撞上了… 唔. 心情矛盾.

以及. 师父说的真的太对了. 不懂的东西和英文无关, 不懂的东西就算给你中文你也看不懂…

这可太狠了.

最后, wjllz是人间大笨蛋.

2018-12-23

放一些自己收集的关于Hyper-v的资料. 因为争取了师傅同意. 就放上来了. 嗯. 我想做和师傅他们一样的事. 以前说过的. 虽然现在还很弱.

hyper-v的资料

常见的需要用的网站(工具)

hyperv symbol

guest调试机子支持 一代和二代

vmx.h的下载(用于静态分析)

hyperv hypercall的识别

hyperv hypercall的文档网站(TLFS)

bindiff调试小技巧(目的是为了装载strcpy等公用函数的符号)

常量图

常见的需要用的网站(学习)

first step to hyper-v(理论)

Virtualization Based Security part2(理论)

Virtualization Based Security part1(理论)

VBS_Internals.pdf(理论)

Battle of SKM and IUM(理论)

Ring 0 to Ring -1 Attacks(理论)

A Dive in to Hyper-V Architecture and Vulnerabilities(理论 tensec演讲的ppt有翻译)

Hardening Hyper-V through offensive security research(调试目标)

Hyper-V vmswitch.sys VmsMpCommonPvtHandleMulticastOids Guest to Host Kernel-Pool Overflow(调试)

Windows 10 Device Guard and Credential Guard Demystified(理论)

Hyperv debugging 环境设置(调试)

Hyper-v Internal(调试)

Analysis of the attack surface of windows 10”, Rafal Wojtczuk BlackHat 2016 (slides)

Analysis of the attack surface of windows 10”, Rafal Wojtczuk BlackHat 2016 (whitepaper)

hyper v的一个很慷慨的师傅

一些厉害的师傅(hyper-v相关)的twitter

peter老师
AmarSaar老师
Alex老师

关于我

最近开始看hyper-v. 但是一直没时间调… 因为这几天恰逢期末考试. 各科的实验报告. 实验代码… 实在麻烦… 但是我觉得不能当借口用… 我尽力吧. 能做多少做多少…

碰到的困难基本上都是硬件的.

[+] 网速过慢... 下了两个虚拟机居然整整下了一天. 哭哭.
[+] 电脑还是太菜了.
    --> 虚拟机里面嵌套虚拟机. 感觉虚拟机里面的鼠标像是喝醉了.
    --> 不太好调试. 有点卡.
[+] 编译内核估计也得花很久. 也就是说我得好好去珍惜每一次调试成功的机会.

--分割线--技术部分---
[+] hyper-v的资料可太缺了. 我好不容易收集才收集那么多..
[+] 看了freebuf的一个师傅的分析. 我很羡慕他. 能够不看源码自己就能搞出这么多东西. 多多学习. 这里多耐性的知识积累就好了.
[+] 先构建知识体系.
    --> 挪用内核.
    --> 羡慕实验室的师傅们有POC看. 哭唧唧.

[+] 今天晚上能编译完内核么...

另外一方面…

晚上和朋友聊了一下感情的事. 朋友失恋了… 突然想起了自己… 我不知道怎么说. 我并不觉得谈恋爱是一种自然规律。 必须. 只是碰见了我喜欢的人还是想尝试一下. 但是得先把自己弄好才行. 先等一下吧.

只是比较麻烦的一件事事, 我不知道到时候我会怎么处理. 我最好的两个朋友之一在这个学校, 是个女生… 谈了恋爱之后会丢掉自己的朋友么… 突然就觉得大学不谈恋爱也蛮好的… 不知道. 乱的一匹.

最后, wjllz是人间大笨蛋.

2019-01-01

白天的时候看了下windows-internal的东西. 都是一些理论的东西.

晚上思考了下人生. 得好好规划一下后面. 觉得该做些比较详细的计划.

明天的话需要去做完两个木马的实验. 得快点做完. 才能继续往前面走… 然后后天的时候开始正式调试漏洞.

记录一下资源(3c):

[+] https://github.com/saaramar/Publications/blob/master/35C3_Windows_Mitigations/Modern%20Windows%20Userspace%20Exploitation.pdf

最后, wjllz是人间大笨蛋.

×

纯属好玩

扫码支持
扫码打赏,你说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

文章目录
  1. 1. Yeap
  2. 2. 2018-11-14
  3. 3. 2018-11-15
  4. 4. 2018-11-16
  5. 5. 2018-11-17
    1. 5.1. one
    2. 5.2. two
    3. 5.3. 计划
  6. 6. 2018-11-18
  7. 7. 2018-11-19
  8. 8. 2018-11-20
  9. 9. 2018-11-21
    1. 9.1. one
    2. 9.2. two
    3. 9.3. three
    4. 9.4. four
    5. 9.5. five
  10. 10. 2018-11-22
  11. 11. 2018-11-23
    1. 11.1. 学习路线
    2. 11.2. To do list
    3. 11.3. 一个利用方法
    4. 11.4. 一点小小的吐槽
  12. 12. 2018-11-24
    1. 12.1. one
    2. 12.2. two
      1. 12.2.1. user space(from alex blog)
    3. 12.3. three
  13. 13. 2018-11-25
  14. 14. 2018-12-07
  15. 15. 2018-12-08
  16. 16. 2018-12-09
  17. 17. 2018-12-20
  18. 18. 2018-12-23
    1. 18.1. hyper-v的资料
      1. 18.1.1. 常见的需要用的网站(工具)
      2. 18.1.2. 常见的需要用的网站(学习)
      3. 18.1.3. 一些厉害的师傅(hyper-v相关)的twitter
    2. 18.2. 关于我
  19. 19. 2019-01-01
,