Exploit-Excercise-Nebula-3
Level 03 —— 利用计划任务提权
详情:
检查 flag03 的主目录并记下那里的文件。有一个 crontab 每隔几分钟就会调用一次。要执行此级别,请以 level03 帐户和密码登录。此级别的文件位于 /home/flag03。
Solution:
根据官方的提示,这关有一个Crontab脚本,它会每间隔两分钟自动执行/home/flag03
下的writablel.sh
。(可以用nebula账号登录系统,通过sudo ls /var/spool/cron/crontabs
看到Crontab的设置)
crontab
是 Linux/Unix 系统中用来定时执行任务的一种机制,全称是 “cron table”。它允许你按照设定的时间表,自动执行命令或脚本 —— 类似“闹钟”或“自动任务计划”。
而writable.sh内容如下:
|
这个Crontab脚本做的事是自动执行/home/flag03/writable.d
目录里的文件,之后再删除。ulimit -t 5
限制当前子进程最多只能使用 5 秒 CPU 时间,这个不要紧,最重要的是我们要利用writable.d
这个目录来完成exploit,这个crontab是以flag03
的用户创建的,因此每次执行都是flag03
这个身份,而writable.d
这个目录任何人都可以读写,所以只需要放一个可执行的脚本在writable.d
里,等着它自动运行:
等待两分钟writable.sh
将会被执行,由于writable.sh
的执行,导致writable.d
里的run也会随着被执行,接着我们查看结果。本关很好地体现出权限不严格导致的结果。
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来源 Hxd的博客!