渗透测试中,我们往往会面对十分复杂的内网环境,比如最常见的防火墙,它会限制特定端口的数据包出入,此时就需要内网转发
1.A可以访问B的80端口,但是不能访问B的3389端口。
2.A可以访问B,B可以访问C,但是A不可以访问C,需要通过B转发数据,让A和C进行通信。
正向代理:
正向代理是服务器开放端口,客户端主动访问服务器的端口
我们常说的代理就是指正向代理,正向代理的过程,它隐藏了真实的请求客户端,服务端不知道真实的客户端是谁,客户端请求的服务都被代理服务器代替来请求。
举个例子在国内用浏览器访问 www.google.com 时,因为防火墙的原因拒绝连接,这时候你可以在国外搭建一台代理服务器,让代理帮你去请求google.com,代理把请求返回的相应结构再返回给你。
反向代理:
反向代理是客户端开发端口,服务器连接客户端
反向代理是相对于服务器而言的,当我们请求 www.baidu.com 的时候,背后可能有成千上万台服务器为我们服务,但具体是哪一台,不需要知道,你只需要知道反向代理服务器是谁就好了,www.baidu.com 就是我们的反向代理服务器,反向代理服务器会帮我们把请求转发到真实的服务器那里去,比如说负载均衡。
1.反弹shell:在攻击者机器,获取受害者机器的命令行
2.反弹端口:受害者服务器的某一个端口不能访问,我们通过反弹端口的形式,让攻击者能够访问该端口,也叫端口转发
3.反弹代理:将攻击者的流量转发到内网其他服务器上
条件:能够访问到受害者机器的开放端口
方式:tcp 连接是外网攻击机发起的,连接被控服务器
步骤一:将被控服务器shell反弹到本地的4444端口,并监听4444端口(受害机输入)
步骤二:攻击机连接被控服务器的4444端口(攻击机输入)
1.2利用nc反弹shell
条件:防火墙开启,不允许访问目标端口(可直接关闭目标机防火墙,权限不够时利用nc反向连接)
方式:tcp连接是被控服务器发起,连接外网攻击机
步骤一:外网服务器监听4444端口
(攻击机输入)
步骤二:在被控服务器反弹shell到外网服务器的4444端口
(受害机输入)
2.1 msfconsole
作用:管理生成exp,管理反弹的shell,通过反弹的shell进行后渗透。。。
模块介绍:
exploits:攻击脚本
payloads:攻击载荷(攻击效果控制)
auxiliaru:辅助模块(扫描工具等)
post:后渗透模块(提取信息)
encoders编码模块
nops:无操作生成器
2.2 msfvenom
作用:制作木马
2.3 msfencode
作用:对木马进行编码
2.4 msf使用:
请点击此链接查看我的另一篇文章,介绍了msf具体使用
方式:
利用系统自带的bash和gawk
利用脚本:python、perl、ruby、lua、php、jsp、aspx
利用第三方服务或工具:elnet、xterm、socat、nc
例:
3.1.1 nc发送shell
发送端(公网服务器):
接收端:
3.1.2 nc反弹shell
接收端:
发送端(内网网服务器):
3.2 bash反弹
接收端(hackip,公网):
发送端(受害者):
或者发送端(受害者):
3.3.1 socat反弹(tcp)
接收端(攻击机):
3.3.2 socat反弹(udp)
接收端:
发送端:
3.4 python反弹
接收端(攻击机,外网):
3.5 PHP反弹
接收端:
3.6 JAVA反弹
接收端:
1.访问服务器的3389端口时,由于一些原因无法访问
原因:1.3389端口,防火墙没有开放 2.服务器处于公司内网,对外只发布了80端口 3.3389端口只允许内网连接.................
2.服务器处于公司内网,我们没有办法直接访问服务器
3.服务器处于公司内网,且无法与外网服务器直接通信,无法反弹shell
Lcx简要使用介绍
三种模式
listen:监听,同时监听两个端口:第一个是服务器开放的,第二个是在本地新开一个用来操作的
tran:转发,将一个端口的流量转发到另一个端口
slave: 将一个外网端口和一个内网端口进行连接
先将lcx上传到目标服务器(有时还需要上传到内网边界机),之后再从以下几种转发方式进行选择
LCX正向端口转发
环境:3389端口不对外开放,但是1234端口对外开放
作用:
一般对外的服务器,80,8080,53,21等等,3389端口没有对外开放,但是有其他端口对外开放,此时可以本地端口转发,转发的端口必须没有被其他服务占用
基本:(防火墙允许3389流量通过)
1.被控服务器输入命令将3389端口转发到本地(被控服务器)的1234端口(本地端口转发)
2.攻击机连接被控服务器的1234端口(mstsc远程)
进阶:(防火墙不允许3389端口流量通过)
使用reduh来进行转发:
思路:Mstsc客户端–>reDuh 代理–>HTTP tunne–>Web 服务器–>3389
具体使用过程见本人的另一篇文章,点击此处跳转
LCX反向端口转发
1.攻击机开启监听
2.被控服务器输入命令,将端口转发到攻击机
3. 攻击机连接本地的12345端口(mstsc远程,127.0.0.1:12345)
lcx多级级联反弹内网主机端口
网络配置情况
内网边界机2有两个网卡,一个与攻击机1同网段,一个与目标服务器3同网段(攻击机1的ip:192.168.0.106,内网边界机2的ip:192.168.16.129和10.1.1.1,目标服务器3的ip:10.1.1.2)此时1-2,2-3通,1-3不通
情况一
环境:目标服务器3不能访问外网攻击机1,但是可以访问同网段的内网边界机2,同时目标服务器3的3389端口只能内网边界机2访问
1.攻击机1开启监听
2.内网边界机2输入命令,将端口转发到攻击机1
3.在攻击机1连接本地12345端口(mstsc远程,127.0.0.1:12345)
情况二
环境:目标服务器3不能访问外网攻击机1,但是可以访问同网段的内网边界机2,同时3389端口只能本地访问,但是8080端口对外开放。
1.目标服务器3输入命令将3389端口转发到本地的8080端口
2.在内网边界机2输入命令,将目标服务器3的8080端口转发到攻击机1
3.在攻击机1上监听端口
4.外网攻击机1连接本地12345端口(mstsc远程,127.0.0.1:12345)
条件:
要求至少管理员权限,此工具适用于,有一台双网卡服务器(内网边缘机),你可以通过它进行内网通信,比如连接192.168.206.101:3388端口是连接到192.168.206.100上面的3389,以下操作都是在边缘机进行
1.边缘机添加转发规则
边缘机放行防火墙端口
3.边缘机删除转发规则
4.边缘机查看现有规则
5.之后直接访问边缘机2222端口
tunna基本使用:-s不能中断 -v显示详细信息 -u指定地址 -a指定远程地址
1.上传tunna里的webshell到边缘服务器
2.在攻击机输入命令,将目标服务器3389转发到本地(攻击机)1234
3.直接访问本机的1234端口
1.编辑配置文件
2.关闭服务
3.配置规则
4.保存&&重启服务
基本使用:-L 本地 -R 远程
本地转发(正向代理)
2.攻击机连接本地的4444端口就连接到了目标服务器的3389端口
远程转发(反向代理)
1.边缘服务器输入命令,之后输密码(对应用户)
2.此时攻击机3333端口开启,直接连接本机的3333端口
动态隧道(转发所有流量)
2.攻击机火狐浏览器网络设置里的连接设为访问流量走7000端口隧道(或者直接bp设置代理),之后直接访问基本的一些端口都可以访问
网络配置情况
内网边界机2有两个网卡,一个与攻击机1同网段,一个与目标服务器3同网段(攻击机1的ip:192.168.16.130,内网边界机2的ip:192.168.16.129和10.1.1.1,目标服务器3的ip:10.1.1.2)此时1-2,2-3通,1-3不通
环境
有时我们无法直接访问目标服务器,也就无法反弹shell,此时就需要一个内网的边缘机来进行转发端口,通过这个转发的端口再进行反弹shell
使用方法
1.攻击机输入msfconsole打开msf(msf具体使用见上面链接),选择合适的payload:windows/meterpreter/reverse_tcp
2.选择此payload,并制作对应的木马
选择payload:
制作木马:
3.上传111.exe到目标服务器3
4.攻击机1开启监听
5.内网边界机2输入命令将12345端口转发到攻击机1的4444端口
6.目标服务器3运行111.exe将1234端口发送到内网边界机2,再由内网边界机2将1234端口转发成4444端口发送给攻击机1,攻击机1就会接收到目标服务器3的shell
内网渗透不光只是反弹一个shell,反弹一个端口,我们更需要对内网进行更深一步的扫描和渗透,这时候就需要设置找到一个代理服务器,充当外网和内网数据转发的节点母的,所以出现了反弹代理,也叫反弹socket,进行反弹代理后,就可以访问目标机的所有端口了
正向代理
攻击机为windows
3.攻击机使用bp的optional添加代理(socks5,ip为边缘服务器ip,8000端口),之后直接访问目标服务器基本的一些端口都可以访问
4.此时3389仍然不行,可借助proxifier工具配置攻击机整台机器的代理(proxifier添加代理服务器,ip为边缘服务器ip,8000端口)
5.之后直接访问目标服务器任意端口即可
攻击机为Linux
3.攻击机火狐浏览器网络设置里的连接设为访问流量走8000端口代理(或者直接bp设置代理),之后直接访问目标服务器基本的一些端口都可以访问
4.此时攻击机3389仍然不能访问,可借助proxychains(kali自带)配置攻击机整台机器的代理
4.1 输入gedit /etc/proxychains.conf,按里面的说明进行设置
4.2.输入以下命令即可通过代理访问
反向代理
1.攻击机运行以下命令,将8888端口转发到1080端口
2.在目标服务器上启动SOCKS v5服务,并反弹到攻击机的8888端口
3.攻击机借助proxifier工具配置攻击机整台机器的代理(proxifier添加代理服务器,ip为攻击机ip,1080端口)
4.之后直接访问目标服务器任意端口即可
进阶(内网两层边缘服务器)
情况:
外网与内网存在边界机,内网里分为两个区域,内网区域与dmz区域之间也存在边界机,此时需要两台边界机代理两次
网络配置:
攻击机192.169.0.106,内网边界机1ip:192.168.16.1和10.1.1.1,内网dmz边界机2ip:10.1.1.2和172.1.1.1,dmz区目标服务器ip:172.1.1.2
ew转发(正向)
1.内网dmz边界机2输入命令,开启端口监听
2.内网边界机1输入命令,将攻击机的1080端口转发到内网dmz边界机2的1234端口
3.攻击机借助proxifier工具配置攻击机整台机器的代理(proxifier添加代理服务器,ip为内网边界机1ip,1080端口)
4.之后直接访问目标服务器任意端口即可
ew转发(反向)
1.攻击机输入命令,开启端口监听
2.内网dmz边界机2输入命令,将2345端口进行转发
3.内网边界机1输入命令,将内网dmz边界机2的2345端口转发到攻击机5678端口
4.攻击机借助proxifier工具配置攻击机整台机器的代理(proxifier添加代理服务器,ip为本机ip,1080端口)
5.之后直接访问目标服务器任意端口即可
1.上传reGeorg里合适的tunnel到边缘服务器
2.攻击机输入命令
3.攻击机输入gedit /etc/proxychains.conf ,按里面的说明进行设置proxychains
4.使用proxychains直接代理连接目标服务器即可
1.选择合适的payload并制作木马,之后将木马上传到边缘服务器
2.攻击机配置监听此payload
3.运行边缘服务器的木马,攻击机就收到一个meterpreter(sessions)
4.攻击机输入background将此sessions放到后台运行
5.攻击机输入命令,给边缘服务器添加路由
6.利用此路由生成代理端口1080
7.攻击机输入gedit /etc/proxychains.conf ,按里面的说明进行设置proxychains
8.使用proxychains直接代理连接目标服务器即可
以上就是本篇文章【内网渗透之——内网转发(反弹shell、端口、代理)】的全部内容了,欢迎阅览 ! 文章地址:http://dfvalve.xrbh.cn/news/8914.html 资讯 企业新闻 行情 企业黄页 同类资讯 首页 网站地图 返回首页 迅博思语资讯移动站 http://keant.xrbh.cn/ , 查看更多