0%

CVE-2019-13272复现

0x00 环境搭建

0x00 确定内核版本

首先找到漏洞来源:

https://bugs.chromium.org/p/project-zero/issues/detail?id=1903

之后找到漏洞修补的commit

1574594505159

然后找到漏洞的影响的内核commit 和修补之后的commit

1574594551295

然后,用git命令diff一下

1
git diff 550d1f5bda33fa3b203d8cf8df1396825dbfd213 6994eefb0053799d2e07cd140df6c2ea106c41ee

看一下,改了哪些部分,然后,git回滚到漏洞的commit

1
git reset --hard 550d1f5bda33fa3b203d8cf8df1396825dbfd213

0x01 编译内核

编译内核,参考:

https://github.com/google/syzkaller/blob/master/docs/linux/setup_ubuntu-host_qemu-vm_x86-64-kernel.md

这个库,真的好用。。。。

0x02 构建文件系统

我觉得最好的方案是按照那个md构建文件系统,就能用ssh连接到kernel,不用每次都打包文件系统了

其他的方案:

这个自由度高一点,自己得动手,一步步的做,而syzkaller一步到位

  • busybox 网上博客很多不再赘述

构建的时候,有个问题是他要下载好多包,都是国外的,所以,本地就很慢,我的解决方案是:

  • 用国外的vps构建系统,然后,打包,开一个nginx服务,本地开个vpn在chrome下载

我也试过bash直接挂代理,效果不佳。。。。

0x03 遇到的问题

  • Failed to start Raise network interfaces

参考:
https://groups.google.com/forum/#!searchin/syzkaller/Failed$20to$20start$20Raise$20network$20interfaces%7Csort:date/syzkaller/ryXUTw9RlJs/btNnI2IDAgAJ

  • ssh连接不上

参考:

https://www.jianshu.com/p/9dbb1dea5929