MozhuCY's blog.

写在前面

字数统计: 1.7k阅读时长: 6 min
9102/07/29 Share

2019-7-28

手动置顶一下(x
今天把mac玩炸了,那台的blog也没了,blog也好久没更了,最近写了大概6篇东西也没有发出来,今天配好环境,出来发一下

之前的日期全都消失掉了,所以可能会有很神奇的东西出现在随机的位置,自己也没有记住大概日期,有需要的师傅随便看下好了..

今后应该是除了CTF开始整理一些漏洞挖掘方面的东西了,以及一些好玩的逆向技术

挖坑待填:

  • Mshell (doing)
  • Android (doing)
  • angr/braf
  • anti ollvm

2019-7-29

C++ lambda (函数式,闭包

这也是之前看了的但是没有记录的东西,在这里写一下

1
2
3
4
auto func = []() ->  void
{

}

差不多这样,[]里面可以是=或者&用来表示对此区域变量的取值,还可以[=,&a],对其他取值,a取引用,()里面放参数,然后返回值,函数体,编译时要记得加std=c++11

2020-2-22

继续开始记录,迁移一下WordPress
决定了,准备秋招,每天定个计划吧,7月份以前,继续虚拟化的学习,不得不说虚拟化还是很有难度的,要学的东西还有很多

3月前,弄完这些东西

  • 阅读qemu-kvm的资料,总结一篇关于qemu-kvm的虚拟化的文章(CPU/内存/IO)
  • 时间允许的话自己写一个PCI设备试试看,然后做一些CTF题目.

2020-2-24

这两天做了两个qemu的题目,总体挺简单的,可能是先复现过两个CVE,感觉这种题没什么意思,不过也清楚地看到了就算是以前感觉很厉害的虚拟机逃逸的CTF题目,其实和实战只能说是接近,毕竟差得很远呢

果然有了目标以后,干劲就足了,希望能一直维持下去.毕竟选择了秋招,就不能让自己后悔自己的决定,全力以赴吧.

感觉DMA QEMUTimer部分还是有学习的空间,今天的babyqemu让我对DMA机制了解的更多了,但是还是得开个专题总结一下,还有PCI BAR什么的,虚拟化的概念真的有很多,不过还好原理都是相通的(比如PCI的知识可以在一些硬件学习网上学习到,所以应该各种虚拟化软件都有这种东西

人人人儿子给我看了gVisor,了解了一点容器的知识,各种不懂的概念在脑子里也逐渐有了一些模样了.

这几天再做一些题目吧,可能目前为止qemu类的题目能有个6/7道,先做完熟悉一下,然后再开始分部分总结基础知识.

2020-2-25

今天做到了一个vga设备的题目,和pci设备有一些不一样的地方了.看了看后面的题目,发现大多都是套路题目了.
准备先总结一下pci设备,从前到后整理出一篇笔记,然后再继续后面的题目,今天和老师聊了一下,看来还是不能去考虑闭源虚拟化软件的挖掘,要先弄清楚qemu的io/cpu/内存虚拟化,慢慢积累吧

晚上走神了刷了几个算法题…快慢指针思路还是很厉害的

总体来说前几天一直在重复一件事情,要逃离自己的舒适圈了(今天状态感觉不是很好).

重新拾起Linux kernel源码,感觉对二进制的理解还不够.

2020-2-26

总结了一下PCI设备,再次阅读QOM/CPU/内存等虚拟化过程

2020-2-27

继续看了一下PCI设备以及内存虚拟化,学习Linux-kernel

2020-2-28

继续看kernel,思考总结内存虚拟化问题

2020-2-29

看内存虚拟化,好像遇到瓶颈了

2020-3-1

闲着无聊写了小调试器

2020-3-2

看了这几年QEMU的洞,这周的计划

  • 了解slirp
  • 梳理网络包发送的流程,由上到下,做一个总结
  • 继续看内存虚拟化

2020-3-4

继续梳理slirp,学fuzz,全网搜漏洞

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
#include <stdio.h>
#include <stdlib.h>
#include <stdint.h>

struct ip{
uint8_t a:1,b:1,c:1,d:1,e:1,f:1,g:1,h:1;
};

int main()
{
register int t asm("eax");
struct ip a;
a.a = 1;
a.e = 1;
a.h = 1;
printf("%02x\n",*(uint8_t *)&a);
}

还能这样玩

2020-3-5

看了MemoryRegion AddressSpace RAMBlock qemu内存虚拟化,一直在调试slirp上层函数.慢慢对内存虚拟化有了理解了

MemoryRegion作为主体,AddressSpace连接了GPA,RAMBlock连接了HVA,他们以链表的结构管理

了解了一下ip分片,明天继续调试

2020-3-9

连打了三天比赛,借着比赛把内核调试环境搭起来了,学到了一些新知识,这次主要做的是PWN,其实也没做几个,kernel条件竞争也没打成.VM逃逸也一样,都是一些很简单的利用,基于unicorn的sandbox pwn的实现之前比赛还没有见过,在学长的协助下,赛后复现了一下,整体做下来,感觉出题师傅的代码水平挺强的,但是感觉…这个漏洞利用过程有一点刻意.然后又是安卓,frida一把梭,各种hook,然后好不容易命令执行了,无奈不会web…,还有个vmp,跑起来,找内存,找到了代码,然后改跳转,就能出flag.

这也是今年第一次打比赛,感觉做题速度比原来慢了一些.也看到了和师傅们的差距233333

QEMU的内存管理梳理的差不多了,不知道按照这进度什么时候可以开始挖洞,不过在这个过程中,其实对一些东西的理解还是在慢慢变深的//以及越来越会用google了

2020-3-13

今天把一些有关实习的东西都弄好了,然后准备开始实习的生活了

在熟悉afl,准备刷一下rode0day,在大体熟悉后

2020-3-19

写DBI的demo,看了YouTube上的一个人fuzz计算器………..(不过还挺好玩的

2020-3-20

fuzz跑了一周了,什么都没跑出来(无任何改动的AFL

明天就去北京了,希望入住什么的可以顺利一些

这几天在看一些优秀的fuzz工具,以及一些工具实现的底层原理, 还是不太了解怎么对一个目标的模块进行高效的fuzz,继续学习吧

2020-4-13

入职快一个月了,在家办公期间挖了两个垃圾洞,路由器的命令注入

QTVA-2020-1361306

QTVA-2020-1363937

开了一个路由器的头

继续看QEMU,自己写了一个PCI设备,

梳理Intel-VT的流程,编写内核模块

原文作者:MozhuCY

原文链接:http://mozhucy.cn/9102/07/29/杂谈/

发表日期:July 29th 9102, 12:00:00 am

更新日期:April 13th 2020, 8:40:00 pm

版权声明:本文采用知识共享署名-非商业性使用 4.0 国际许可协议进行许可

CATALOG
  1. 1. 2019-7-28
  2. 2. 2019-7-29
  3. 3. 2020-2-22
  4. 4. 2020-2-24
  5. 5. 2020-2-25
  6. 6. 2020-2-26
  7. 7. 2020-2-27
  8. 8. 2020-2-28
  9. 9. 2020-2-29
  10. 10. 2020-3-1
  11. 11. 2020-3-2
  12. 12. 2020-3-4
  13. 13. 2020-3-5
  14. 14. 2020-3-9
  15. 15. 2020-3-13
  16. 16. 2020-3-19
  17. 17. 2020-3-20
  18. 18. 2020-4-13