本来打算起名 揭秘数字安全产品断网机制:从 SetTcpEntry 到 NsiSetAllParameters 感觉太装了算了还是低调一点的好。
在当前的安全防护体系中,越来越多的国产安全产品(如数字等)采用“云依赖”模式 —— 核心规则、主动防护、样本查杀全部由云端驱动。根据最新的银狐样本发现小黑们针对数字做了定向断网,一旦失去网络连接,它的“战斗力”将迅速下降。偶然想起来在闲鱼还见到有人卖 所谓的 0day断网,想来也是这种方法。今天来浅浅的剖析一下。透过小小的样本来带各位进行深度的思考,如何最大化的规避。
某度搜索的前几位都是银狐,不做评价~
我们直奔主题 GetTcpTable(2) 和 SetTcpEntry
GetTcpTable2函数 https://learn.microsoft.com/en-us/windows/win32/api/iphlpapi/nf-iphlpapi-gettcptable2
GetTcpTable2 用于检索系统当前的 TCP 连接信息(IPv4 和 IPv6),包括连接的本地地址、远程地址、状态等。
原型如下:
IPHLPAPI_DLL_LINKAGE ULONG GetTcpTable2(
[out] PMIB_TCPTABLE2 TcpTable,
[in, out] PULONG SizePointer,
[in] BOOL Order
);
参数说明:
TcpTable
: 指向 MIB_TCPTABLE2 结构体的指针,保存返回的 TCP 表。SizePointer
: 输入/输出参数,表示缓冲区大小(以字节为单位)。如果缓冲区不够,函数会返回 ERROR_INSUFFICIENT_BUFFER 并通过该参数返回所需大小。Order
: 是否按照连接的本地地址升序排列。SetTcpEntry函数 https://learn.microsoft.com/en-us/windows/win32/api/iphlpapi/nf-iphlpapi-settcpentry
SetTcpEntry 用于修改一个现有的 TCP 连接的状态,比如强制关闭连接(改为 DELETE_TCB 状态)。
原型如下:
IPHLPAPI_DLL_LINKAGE DWORD SetTcpEntry(
[in] PMIB_TCPROW pTcpRow
);
参数说明:
pTcpRow:
指向 MIB_TCPROW 的指针,用于指定要更改的 TCP 条目。.