根据报错信息可以确定错误来自于rootshell文件
漏洞利用文档中执行 gcc -o rootshell rootshell.c 来得到rootshell文件 下面是rootshell.c文件代码
出现报错的原因就是在靶机环境中没有找到GLIBC_2.34版本
因为反弹shell得到靶机的shell环境比较难用,所以大部分人会在自己主机编译完最后再把文件传入到靶机环境中,这样比较方便
但是当把rootshell.c文件在自己kali主机上使用gcc命令编译时,如果自己主机的GLIBC版本比较高,而dc5靶机的版本较低时就会出现上面的报错
查看 GLIBC_的版本
strings /lib/x86_64-linux-gnu/libc.so.6 | grep GLIBC_
可以看到dc5靶机的GLIBC_版本最高只有2.18 下图中我的kali主机最高为2.38
编译时使用的版本是2.34 而靶机中没有2.34这么高的版本,所以执行时就会报错
解决方法
把rootshell.c 文件先传到dc5靶机中的shell环境中,在靶机shell里进行gcc编译,即可解决问题