现代浏览器通常不支持h2c(安全原因),但服务器可能仍支持。h2c伪装/隧道原理:当客户端(攻击者)向反向代理发送一个请求升级到h2c的HTTP/1.1请求时。 此时,代理认为连接协议已更改(可能为非HTTP),不再检查后续通过此连接隧道传输的内容。攻击者现在可以通过这个建立的HTTP/2隧道直接向后端发送任意HTTP/2请求,绕过代理的检查和限制。 HTTP/2隧道请求被禁止的/private路径。 禁用或正确处理h2c:如果不需要,禁用h2c支持。如果需要,确保代理正确处理h2c升级请求,而不是盲目转发。 无论是利用Content-Length头部欺骗后端的H2.CL攻击,还是通过CRLF注入伪造请求的狡猾手法,抑或是利用h2c升级机制建立直接隧道的隐蔽方式,这些技术都揭示了同一个核心问题:系统的安全性取决于最薄弱环节的实现质量
也称为HTTP去同步)攻击,但它仍然允许您绕过重要的边缘服务器访问控制,在使用WebSocket支持测试服务时,这是一个很好的补充 但是如果我们不需要欺骗后端,只需要通过设计维护一个基于HTTP的TCP隧道呢 如果边缘代理不知道h2c,它会转发客户端的h2c升级请求吗? 如果边缘代理成功地将我的h2c升级转发到后端服务器并且该服务器接受了该升级,我可以绕过提供的TCP隧道中的代理限制吗? NGINX反向代理上的端点发送HTTP/1.1升级请求 代理将升级和连接头转发到后端,后端以"101交换协议"响应,并准备接收HTTP2通信 从后端接收到101响应后,代理将连接"升级"到非托管TCP隧道 ,h2cSuggler发送对受限/标志的附加请求 不再监视TCP隧道中的通信的代理将请求转发到后端服务器 服务器使用标志进行响应 如上所示,我们成功绕过了代理的访问控制来访问私有端点(在这里试用该工具和 ,您可以执行原始攻击,它将沿着每个代理创建的一系列中间TCP隧道传递数据 通过这种类型的请求走私("隧道走私")您可以通过HTTP/2复用发送任意数量的请求,此外正如我们从先前的研究中所知,HTTP请求走私会导致各种各样的攻击
在这篇文章中,你会了解到通过ICMP命令控制和ICMP隧道进行数据窃取的RED TEAM行动,使用这两种方法在网络中产生的畸形流量,有助于规避防火墙规则。 利用ICMP协议进行命令控制 我们发布的很多内容中都讨论了C2通道,又叫做命令控制,具体内容可以在这里找到。而在这篇文章中,你会了解到如何将ICMP协议用作命令控制通道。 和我们预期的结果完全一样,而且由于数据是利用PING请求/回复报文通过网络层传输,因此并不需要指定服务或者端口。这种流量是无法被基于代理的防火墙检测到的,因此这种方式可能绕过一些防火墙规则。 ? ICMP隧道搭建 ICMP隧道是指将TCP连接通过ICMP包进行隧道传送的一种方法。在此我们会获取一个被封装到ICMP包中的ssh会话。 通过ICMP连接SSH 到这里应该通过ICMP包建立了一个点对点隧道。服务端的隧道IP是10.0.0.1,客户端的隧道IP是10.0.0.2。
实现DNS隧道的关键要点: (1)、规避DNS缓存机制 (2)、可利用DNS查询类型及其载荷编码 (3)、如何应道域名系统采用的C/S机制,即Server不可能发起连接——Client会定时向Server 相关介绍请参考利用DNS隧道进行隐蔽通信和远程控制。 (1)、dns2tcp:支持直连模式的DNS隧道,只实现了简单的DNS隧道,相关命令和控制服务需要自行搭建,且已在kali系统中直接集成。 (3)、测试隧道是否建立成功并可以数据数据(非必须) 1)、在服务端搭建一个Openssh-Server,即搭建SSH服务端并配置SSH登录,相关详细操作可参考利用SSH隧道加密、隐蔽C&C通信流量。 ,本次实验直接生成最简单PowerShell利用脚本 ? 五、总结与思考 本文方式实现的利用DNS隧道构建的隐蔽C&C信道较为隐蔽,因为DNS协议是当前网络中重要部分之一。大部分企业网络总会允许内网与指定DNS服务器(受信任)的查询、请求数据流量。
本文将向您介绍如何通过使用隧道代理来解决这一问题,并帮助您成为一名高效、顺畅的数据采集专家。 1.了解隧道代理 首先,我们需要明确什么是隧道代理(tunnel proxy)。 3.配置代理设置 根据所选隧道代理提供商的要求,进行以下配置: -获取分配给您的IP地址、端口号等信息; -在爬虫程序中添加相应代码或使用专门工具来实现请求通过该隧道代理发送; 4.多线程与异步处理 这样能够最大化地利用系统资源。 5.设置适当延迟时间 在访问目标网站时,请确保设置适当且不过于频繁的延迟时间(例如每次请求之间休眠几秒钟)。 借助隧道代理技术,您可以高效利用无阻塞的方式进行数据采集。通过选择可靠稳定的提供商、合理配置代理设置、使用多线程和异步处理,并结合适当延迟时间与监控调试等策略,您将成为一名出色的数据采集高手。
通过 ssh 的端口转发(又称 ssh 隧道)技术,可以实现这种远程调试功能。 下文中,sshc 指 ssh 客户端,sshd 指 ssh 服务器。 利用 ssh 隧道建立远程调试环境 组网环境下设备角色如下: 代理机:把一个具有公网 IP 的中间服务器用作 ssh 代理,将这台代理机称作代理 A(Agent)。 在代理机 shell 中查看是否有未关闭的 ssh 隧道: sudo netstat -anp | grep 10022 若打印形如: tcp 0 0 0.0.0.0:10022 关闭 ssh 隧道既可在代理机 A 上进行(关闭相应的 sshd 进程),也可在目标机 T 上进行(关闭相应的 ssh 进程) 4. 每次只能访问一台目标机。 为保证安全,打开 ssh 隧道时尽量使用无登录权限的用户,并且此用户的密码建议经常更新 5.
PWNAT 是一款非常好用的通信隧道创建工具。可以帮助用户在两个 NAT 网络中建立直接连接,而无需使用中介服务器或者端口映射。 查看帮助 pwnat -h 参数说明 参数名称 参数所代表的含义 -c pwnat 客户端所使用的参数,用以与服务器端连接 -s pwnat 服务器端所使用的参数,用以与客户端连接 -6 通信隧道使用
黑客通常使用 DNS 隧道绕过网络防火墙和过滤器,利用这种技术进行指挥和控制(C2)以及虚拟专用网络(VPN)操作。DNS 隧道技术也有合法的应用,如绕过审查。 通过 DNS 隧道进行数据外渗和注入,图源:Unit 42 Palo Alto Networks 的 Unit 42 安全研究团队最近在涉及受害者跟踪和网络扫描的恶意活动中发现了更多使用 DNS 隧道的情况 TrkCdn 业务中使用的域名的生命周期,图源:Unit 42 Unit 42 的报告还强调了一个类似的活动,该活动利用 DNS 隧道跟踪垃圾邮件的发送,被称为SpamTracker。 SecShow 活动 分析人员发现的第二个活动代号为「SecShow」,利用 DNS 隧道扫描网络基础设施。 攻击者会在 DNS 查询中嵌入 IP 地址和时间戳,以绘制网络布局图,发现潜在的配置漏洞,并利用这些漏洞进行渗透、数据窃取或拒绝服务。
在Windows平台下使用Plink.exe工具的SSH功能搭建SSH隧道。 2.1 SSH隧道介绍 SSH 会自动加密和解密所有 SSH 客户端与服务端之间的网络数据。 SSH隧道的实现主要使用SSH的参数配置进行端 口转发,即将所需传输的数据内容通过加密的SSH隧道进行转发。 快速部署后期漏洞利用模块,内置模块有键盘记录、 Mimikatz、绕过UAC、内网扫描等等,并且能够适应通信躲避网络检测和大部分安全防护工具的查杀,简单来说 Empire类似于渗透神器Metasploit PowerShell利用脚本 注:生成的Powershell代码直接复制并保存,以备在受控windows主机(win7、win10)执行。 (3) 利用SSH的端口转发搭建SSH隧道。 (4) 配置C&C和SSH参数使二者配合实现加密、隐藏恶意流量的目的。 本文思想源于FreeBuf大神"興趣使然的小胃",特此感谢。
别担心,今天我来分享一个利用Python隧道爬虫ip实现的方法,帮助你们轻松搭建全局爬虫ip网络,解决反爬的难题 首先,我们要明白什么是隧道爬虫ip 隧道爬虫ip,顾名思义,就是在网络上建立起一个隧道来隐藏我们的真实 通过这个隧道,我们能够实现通过爬虫ip服务器发送和接收网络请求。这就为我们构建全局爬虫ip网络提供了便利。 那么,我们该如何利用Python来实现隧道爬虫ip呢?接下来,我将给你们一个简单的指南。 前者用于发送HTTP请求,后者用于实现爬虫隧道ip。 通过以上几个简单的步骤,我们就能实现利用Python隧道爬虫ip来构建全局爬虫ip网络了。这样,我们就能轻松地解决网站反爬的问题,顺利完成数据爬取任务。 总结一下,利用Python隧道爬虫ip实现全局爬虫ip网络其实并没有想象中的那么复杂。选择好爬虫ip提供商、安装必要的Python库、编写代码实现爬虫隧道ip,你就可以顺利地爬取数据了。
192.168.142.113(windows 2008 x64) 攻击机网段:192.168.0.0/24 MSF IP:192.168.0.12(可以是任意公网 IP) 接下来使用的建立 TCP 隧道的工具 192.168.142.110/hackable/uploads/shell.exe 然后执行 shell.exe,发现 msf 上线了: 切换到 meterpreter 查看 IP: 至此问题解决,通过跳板机建立 TCP 隧道
ICMP隧道简介 ICMP是一个比较特殊的协议,在一般的通信协议里如果两台设备要进行通信,肯定需要开放端口,而在ICMP协议下就不需要,最常见的ICMP消息为ping命令的回复,攻击者可以利用命令行得到比回复更多的 常用的ICMP隧道工具有icmpsh、PingTunnel、icmptunnel、powershell icmp等。 ,可以跨平台使用,为了避免隧道被滥用,可以为隧道设置密码。 ,以Web服务器182.168.188.134为ICMP隧道跳板进行传送 相关参数说明: -p:指定ICMP隧道另一端的IP -lp:指定本地监听的端口 -da:指定要转发的目标机器的IP -dp 检查ICMP数据包的协议标签,例如:icmptunnel会在所有的ICMP Payload前面添加"TUNL"标记来标识隧道——这就是特征。
ICMP隧道 ICMP隧道是一个比较特殊的协议。在一般的通信协议里,如果两台设备要进行通信,肯定要开放端口,而在ICMP协议下就不需要。 最常见的ICMP消息为Ping命令的回复,攻击者可以利用命令得到比回复更多的ICMP请求。在通常情况下,每个Ping命令都有相对应的回复与请求。 上篇文章我讲了Icmpsh反弹shell的使用过程:利用ICMP(icmpsh)协议反弹Shell - 渗透红队笔记 这篇文章我们来了解一下Icmp的一些特殊情况反弹shell技术。 ICMP隧道反弹Shell PingTunnel ---- PingTunnel 也是一款常用的ICMP隧道工具,可以跨平台使用。为了避免隧道被滥用,它可以为隧道设置一个密码。 )为ICMP隧道跳板进行传输。
目录 前言 一、概述 1、简介 2、原理 3、使用 (1)服务端 (2)客户端 二、实践 1、场景 2、建立隧道 (1)攻击机监听 (2)目标机发送 (3)攻击机转换 3、抓包看看 源码与分析 (1)icmp_tran.py (2)tran.sh 2、检测与绕过 (1)异常ICMP数据包数量 (2)异常ICMP包长度 (3)payload内容 结语 前言 本文研究ICMP隧道的一个工具 :内网渗透系列:内网隧道之ICMP隧道 3、使用 (1)服务端 tucpdump监听并下载文件 sudo tcpdump -i eth0 icmp and icmp[icmptype]=icmp-echo attacker-IP> 二、实践 1、场景 攻击机(服务端):kali 192.168.10.128 目标机(客户端):ubuntu 192.168.10.129 目标机可以ping通攻击机 2、建立隧道 tcpdump -i eth0 icmp and icmp[icmptype]=icmp-echo -XX -vvv -w output.txt (2)目标机发送 准备一个test.zip文件 建立隧道发送
内网隐藏通信隧道技术——EW隧道 EarthWorm中的应用 在研究人员的渗透测试中,EW很好用,体积小,Linux为30kb左右,windows为56kb左右。 该工具能够以“正向”、“反向”、“多级级联”等方式打通一条网络隧道,直达网络深处,现在使用人数较多,如果在真实环境下使用,需要免杀 下载地址:https://github.com/idlefire/ew :10.10.21.2 172.16.5.2 财务核心机器:172.16.5.5 正向SOCKS v5服务器 以下命令使用目标为其拥有一个外网IP地址的情况: 在内网web服务器与外网代理机器之间架设隧道 只能访问内网资源,无法访问外网 域控 在代理机器,内网域控,内网web服务器上进行模拟: 先在代理机器上执行: ew -s lcx_listen -l 1080 -e 888 即在公网代理机器中添加转接隧道 ,将1080端口收到的代理请求转发给888端口 B主机执行,利用socksd方式启动999端口的SOCKS代理: ew -s ssocksd -l 999 A主机执行,即将代理机器的888端口和B主机的
frp的好处是利用内网或防火墙后的机器,对外网环境提供http或https服务。对于http和https服务支持基于域名的虚拟主机,支持自定义域名绑定,使多个域名可以共用一个80端口。 利用处于内网或防火墙后的机器,对外网环境提供tcp和udp服务,例如在家里通过ssh或者web访问公司内网环境内的主机或者业务进行办公。 首先在外网vps上启动frps服务,在内网的web服务器与域控之间建立一条frps隧道,内网web服务器启动frps,域控启动frpc服务,相互连接,建立起一条一级代理隧道,此时web服务器就作为跳板了 利用处于内网或防火墙后的机器,对外网环境提供TCP和UDP服务,例如在家里通过SSH访问处于公司内网环境的主机 对于其它穿透隧道工具的不足: Earthworm不能过杀软,秒杀 Tunnel非常不稳定, web都动不动就崩溃,更别说支持3389 ptunnel环境在内网多限制情况不可利用,局限性大 DNS隧道穿透,适合僵尸网络
介绍 HTTP隧道指的是,“利用HTTP的CONNECT方法在两台网络受限的计算机间建立网络链接,通常一方是在受限网络的内部,一方在外部,借外部方来代理内部方的流量”。 该隧道由中间的“代理服务器”创建,通常部署于“DMZ”区域。 在隧道中可以传输一些被限制的协议,最终借由“代理服务器”跳出受限网络。 # 以下来自服务器的数据 HTTP/1.1 200 OK ... ---- 非CONNECT方法建立HTTP隧道 建立HTTP隧道可以是任何方法,它只是一种思想,而CONNECT是最为常见的方式而已 建立HTTP隧道的场景中,“客户端”部署在保护(受限)网络的内部,而“代理”则部署在外部。 ---- 代理认证 这里的“代理认证“指的是”代理“对”客户端“进行身份认证,认证通过后才允许建立HTTP隧道。
利用SSH反向隧道实现树莓派本地服务的公网访问 在物联网开发中,我们经常需要将本地设备(如树莓派)上运行的服务暴露到公网,方便远程访问和管理。 本文将详细介绍如何使用SSH反向隧道技术,通过一台公网服务器作为跳板,实现从公网访问树莓派本地服务的目的,并补充SSH配置文件的编辑细节,确保操作更清晰可落地。 什么是SSH反向隧道? 与正向隧道(从本地访问远程服务)不同,反向隧道能突破内网无公网IP的限制,让外部网络通过公网服务器间接访问内网中的树莓派服务,且所有数据传输均通过SSH加密,安全性较高。 后台运行隧道(避免终端关闭后断开) 默认情况下,树莓派的SSH隧道会随终端窗口关闭而断开。 终止SSH隧道(如需关闭) 若需停止已建立的隧道,需先找到对应的SSH进程,再终止进程: 在树莓派终端输入以下命令,查找隧道对应的进程:ps aux | grep "ssh -R 0.0.0.0:8082
网络层隧道技术之ICMP隧道(pingTunnel/IcmpTunnel) 目录 ICMP隧道 使用ICMP搭建隧道(PingTunnel) 使用ICMP搭建隧道 (Icmptunnel) ICMP隧道 ICMP隧道简单实用,是一个比较特殊的协议。 最常见的ping命令就是利用的ICMP协议,攻击者可以利用命令行得到比回复更多的ICMP请求。在通常情况下,每个ping命令都有相应的回复与请求。 在一些网络环境中,如果攻击者使用各类上层隧道(例如:HTTP隧道、DNS隧道、常规正/反向端口转发等)进行的操作都失败了,常常会通过ping命令访问远程计算机,尝试建立ICMP隧道,将TCP/UDP数据封装到 使用ICMP搭建隧道(PingTunnel) PingTunnel是一款常用的ICMP隧道工具,可以跨平台使用,为了避免隧道被滥用,还可以为隧道设置密码。
然而,我们最近检测到三起近期利用DNS隧道技术进行的非传统C2(命令与控制)和V*N(虚拟私人网络)用途的活动: 扫描(scanning): 在扫描过程中,攻击者利用DNS隧道技术扫描受害者的网络基础设施 除了C2和V*N目的外,攻击者还可以利用DNS隧道技术进行追踪和扫描,正如我们在最近的隧道技术活动中所观察到的那样。 5.SpamTracker DNS隧道攻击活动 我们的第二个案例是一个利用DNS隧道技术追踪垃圾邮件发送的活动。 1.SecShow DNS隧道攻击活动 我们发现了一个新的攻击活动,其中威胁攻击者利用隧道技术定期扫描受害者的网络基础设施,并执行反射攻击。 限制解析器的服务范围,仅接受必要的查询 及时更新解析器软件版本,以防止N-day漏洞的利用 五.总结 攻击者可以利用DNS隧道技术执行与DNS隧道不相关的各种操作。