如果您在机器上本地重建 TCP/IP 堆栈,由于 RFC 793 - 传输控制协议标准的工作方式如下面的一些答案所述,整体概念是否不起作用?无法访问在高于 65535 的端口上运行的服务。
高于 65535 的端口没有 TCP/UDP 服务。如果它支持 2 16 -1 以上的端口号,则不再是TCP(或 UDP)。
你能有别的……吗?当然。它会不会与 TCP 非常相似?到向后兼容的地步?两个问题都是。
关于创建后门的硬件和设备的讨论太多了,只有政府才能访问以进行监控,我只是好奇这是否可能是他们这样做并避免被发现和被发现的一种方式?
如果我开发了这样一个设备,它将依赖于一个足够普通以至于不起眼的协议。一个未知/非法的协议数据包,之后会产生一些额外的流量,这将是非常可疑的。
隐藏在(几乎)视线中
例如,这样的设备可能会检查有效负载中的某些字节。它们通常是不相关的值;然后,我可以将数据包发送到目标,或者如果它是路由器,甚至没有自己的 IP 地址,发送到目标之外的某个随机甚至可能不存在的主机,伪装成(比如说)HTTPS 请求或 SSH 登录试图。
如果你看到一个你不知道的数据包,你可能会怀疑。但即使你在日志中看到类似
SSH: failed attempt for user maintenance
SSH: failed attempt for user maintenance
SSH: failed attempt for user maintenance
你不会担心,特别是如果你没有用户“维护”。您可能会假设某人在某处发现了针对默认用户为“维护”的某些设备的攻击(见鬼,如果我是政府,我可以销售这样的设备,让它易受攻击,而不是修复它,仅在完全不同的设备上证明这种连接的目的。看到这种尝试你会做的第一件事是什么?要么什么都没有(“无害的蛮力。白痴”),谷歌和耸耸肩(“哦,有人认为我有一个 CheapRouter 2000。白痴” ,可能会写一个防火墙规则来阻止 IP - 除了数据包仍然到达网卡)。
实际发生的是路由器、网卡、主板或其他设备中的恶意固件识别数据包并返回答案。它可以通过伪造覆盖“真实”数据包的响应数据包来做到这一点。
如果您比较来自邪恶路由器的入站和出站流量,则发生非常糟糕的事情的唯一症状是:
带有 SSH 服务器的主机:
--> SSH SYN --> ROUTER --> SSH SYN --> HOST
<-- SSH S+A --- ROUTER <-- SSH S+A <-- HOST
--> SSH ACK --> ROUTER --> SSH ACK --> HOST
...
--> LOGIN ----> ROUTER --> LOGIN ----> HOST
<-- FAIL2------ ROUTER <-- FAIL1 <---- HOST packets are different!
没有 SSH 服务器的主机:
--> SSH SYN --> ROUTER --> SSH SYN --> HOST
<-- SSH S+A --- ROUTER <-- SSH RST <-- HOST wait, WTF?
--> SSH ACK --> ROUTER HOST
...
--> LOGIN ----> ROUTER HOST
<-- FAIL2------ ROUTER HOST
如果您在受感染设备左侧或右侧的电缆上嗅探,您会立即发现没有任何问题。
另一个可疑的事情是发件人显然使用了TCP 快速打开扩展。请注意,即使没有 TCP/FO,您也可以在 SYN 中发送额外数据,它只会被非 FO 和未妥协的设备忽略。