服务器是否可以根据数据包内容关闭 TCP 会话?

网络工程 通讯协议 日志记录
2021-08-01 22:21:31

我正在分析在执行恶意文件期间捕获的命令和控制流量的 pcap。首先,发送了针对恶意域的 DNS 请求,在收到响应并尝试连接到远程目标(紫色)的 TCP 连接后,服务器响应,[RST, ACK]这意味着服务器确实立即关闭了会话。 在此处输入图片说明

我知道这种响应的可能原因之一是目标端口未侦听,这是[RST, ACK]可以有效地将其视为“目标端口未侦听”的最常见原因还是还有其他可能性?具体来说,我想知道目标服务器是否有可能因为源发送的数据与不需要的源主机的某些条件(例如指示源主机是虚拟机)匹配而关闭了会话。我知道“自定义 TCP 协议”用于此恶意软件的命令和控制。

我理解为什么会话关闭的具体答案需要服务器端的可见性,因此我不是在寻找类似的东西,但我试图对可能发生的事情进行有根据的猜测。

1个回答

在 SYN 请求后收到 RST 意味着 TCP 握手失败。没有传输用户数据。

这是否由于目标端口未侦听、防火墙响应或其他过滤而发生取决于目标主机/网络。从外面看没有办法确定。

RST 可能由目标端的任何决定引起,包括源地址、源端口、缺少先前的活动以及您能想到的任何其他有效的东西。

当然,通过建立的连接(您没有直接在 SYN 后面使用 RST),目标也可以根据内容关闭套接字。