dc-4
相对于前面的几个靶机,dc-4的难度较低,学到的知识点如下:
-
执行命令可以通过bp抓包,修改命令以达到自己想要实现的目的
比如这题,可以通过修改命令改成nc监听来查看文件,更加的方便 -
搜集讯息,在jim目录下的文件中找到了ssh的密码,利用hydra爆破得到charles的密码,利用ssh登陆
-
ssh登陆后,sudo -l 查看可以使用root权限无密码的命令,发现teehee
-
teehee提权的两种方法如下
1.查看帮助 teehee–help
发现利用可以利用a参数添加新的root权限的用户
#如:admin:x:0:0::/home/admin:/bin/bash x表示有密码保护
#[用户名]:[密码]:[UID]:[GID]:[身份描述]:[主目录]:[登录shell]
设置uid和gid都为0,那么这个用户就相当于root
echo “test::0:0:::/bin/bash” | sudo teehee -a /etc/passwd
再切换为test,即成功提权
2.Linux crontab是用来定期执行程序的命令。
本题可以利用其写入将root权限设置为永久
f1 f2 f3 f4 f5 program
其中 f1 是表示分钟,f2 表示小时,f3 表示一个月份中的第几日,f4 表示月份,f5 表示一个星期中的第几天。program 表示要执行的程序。
当 f1 为 * 时表示每分钟都要执行 program,f2 为 * 时表示每小时都要执行程序,其馀类推;
当 f1 为 a-b 时表示从第 a 分钟到第 b 分钟这段时间内要执行,f2 为 a-b 时表示从第 a 到第 b 小时都要执行,其馀类推;
当 f1 为 */n 时表示每 n 分钟个时间间隔执行一次,f2 为 */n 表示每 n 小时个时间间隔执行一次,其馀类推;
当 f1 为 a, b, c,... 时表示第 a, b, c,... 分钟要执行,f2 为 a, b, c,... 时表示第 a, b, c...个小时要执行,其馀类推
* * * * *
- - - - -
| | | | |
| | | | +----- 星期中星期几 (0 - 7) (星期天 为0)
| | | +---------- 月份 (1 - 12)
| | +--------------- 一个月中的第几天 (1 - 31)
| +-------------------- 小时 (0 - 23)
+------------------------- 分钟 (0 - 59)
echo “* * * * * root chmod 4777 /bin/sh” | sudo teehee -a /etc/crontab
表示在/etc/crontab下写入定时计划,一分钟后由root用户给 /bin/bash 命令加权限(chmod 4777即开启suid和rwx权限):
切换编译器:/bin/sh 即成功提权。