题目要求
靶机配置了ssh,可以账号test、密码123通过ssh登录到靶机进行攻击。(靶机IP地址见题目中网络拓扑图)
在靶机的用户文件夹下配置了具有root权限的可执行文件demo,demo的源代码保存在demo.c中。
请利用demo完成提权攻击,获取藏在/root文件夹下的flag
解题方法思考
进入靶机。
执行demo。
嘶,这个输出感觉非常眼熟。在之前做SUID提权实验的时候我好像用过这个命令。
查询资料后,确定它是id命令。
查看demo.c也验证了这一点。
demo.c代码的含义就是,先把此进程的权限提升到suid,这样可以临时拥有root权限,然后执行id命令。
这个过程也非常眼熟——详见环境变量漏洞提权实验。
所以复刻这个实验过程即可得到flag。
实验步骤
1.明确目录结构。
home tmp
test
demo demo.c
2.在垃圾桶/tmp中建立一个id命令,把id提升权限, 并把/tmp添加进环境变量。
3.在垃圾桶里执行demo,whoami发现已经获得root权限。
4.查看/root下的flag文件,得到flag。