通常,黑客会使用隐蔽网络来躲避防火墙和IDS等。在本文中,你将学习如何通过不可检测的网络从目标主机窃取数据。这种类型的网络被称为隐蔽信道,而这些流量在网络监控设备/应用和网络管理员看来像是一般的正常流量。两个端点用户可以利用隐蔽信道,进行无法被检测到的网络通信。
红队通过合法的网络使用隐蔽信道在红队活动中进行数据泄露,数据泄漏是在两个端点之间秘密共享数据的过程。
声明:本文仅用于技术探讨,严禁用于其他用途。
什么是隐蔽信道(covert channel)?
隐蔽一词意味着“隐藏或不可检测”,而信道是“通信模式”,因此隐蔽信道表示不可检测的通信网络。了解加密通信和隐蔽通信之间的区别非常重要。在隐蔽通信中,数据流被未经授权的一方篡改和持久。然而,加密通信并不掩盖通过加密在两个端点之间传输的数据进行通信的事实。
covert channel 的类型
网络隐蔽存储信道:发送者直接或间接些目标值,接收者直接或间接接读目标值。
网络隐蔽时间信道:发送者通过时域上调制使用资源(例如CPU)发送信息,接收者能够观测到并对信息进行解码。
与存储隐蔽信道相比,时间隐蔽信道又称为无记忆通道,它不能长久存储信息。发送者发送的信息接收者必须及时接受,否则传送的信息将会消失。
使用 Tunnelshell 进行隐蔽信道攻击
几乎可以使用任何协议来建立隐蔽信道。绝大多数隐蔽信道研究都是基于第3层(网络)和第4层(传输)协议,如ICMP,IP和TCP。经常使用的还有第7层(应用)协议诸如HTTP和DNS。这种机制用于在不提醒网络防火墙和IDS的情况下传送信息,而且netstat无法检测到。
Tunnelshell 简介
Tunnelshell是一个用C编写的程序适用于Linux用户,它使用客户端 – 服务器范例。服务器打开/bin/sh客户端可以通过虚拟隧道进行访问。它支持多种协议,包括TCP,UDP,ICMP和RawIP。此外,数据包可以分段处理以躲避防火墙和I