0%

'逃逸初探'

0x00 docker

docker在特权模式下(这也不算是逃逸吧),可以挂载宿主机的根目录,从而可以读写宿主机的任意文件

我知道的有两种攻击方式:

  • 写入contab文件,contab文件位于 /var/spool/cron/ 下(通过 * export DISPLAY=:0.0 && /usr/bin/xcalc就可以愉快的弹出计算器了,你只需要等一分钟
  • 利用宿主机已有的漏洞,进行攻击

待补(其他利用方式

0x01 qemu

0x00 pci设备攻击面

qemu有一个比较有意思的攻击面,就是pci设备,qemu会把guest机的pci设备的资源文件映射到堆上,来模拟文件,如果对pci设备操作的函数 mmio_readmmio_write 实现不正确,就可能会有堆溢出或者信息泄露的情况出现

0x01 linux pci设备介绍

参考博客:

就不搬运了,对于pci设备,我们需要识别哪一个是我们的想要的pci设备,我们可以利用hexdump,查看 /sys/devices/pci0000:00/ 文件下各个文件的config文件,对应注册的设备的号码和厂商号码来辨认设备

0x00 mmio访问pci设备

之后可以通过mmap的方式来操作resource文件,通过对mmap内存的读写来读写resource文件

1
2
int fd = open("/sys/devices/pci0000:00/0000:00:04.0/resource0", O_RDWR | O_SYNC);
base = mmap(0, 0x1000000, PROT_READ | PROT_WRITE, MAP_SHARED, fd, 0);

0x01 编程访问PMIO

0x02 PMIO和MMIO的区别

待补(源码分析

0x02 vmware

参考博客:

  • https://www.jishuwen.com/d/2YL7
    vmware有一个比较有意思的攻击面,backdoor攻击面,backdoor是host和guest的一种通讯方式,我们可以发送RPCI指令,来触发漏洞
    1
    2
    info-set guest.a payload
    info-get guest.a

待补(vmware-vmx逆向分析