前言:
最近因项目需求,简单研究了一下常见远程工具协议,编写了简单的suricata检测规则,在此做个小结,记录一下。🐟
MSRDP:
微软的专有协议,它允许系统用户通过图形界面连接到远程系统,主要分为服务端和客户端。
本次测试数据来源:win11-ubuntu22.04
request:
response:
可以发现RDP协议里有固定的TPKT格式内容,并且有版本相对固定,再往后有|00 00 00 00 00|固定的字节。()
因此思路为:
1.先检测 |03 00 00| 2.向后跳过两个任意字节,检测 |e0| 3.向后5个字节内,全是|00|
suricata规则:
不带凭证的请求: alert tcp any any -> any any (msg:"RDP请求(第一次请求)-yui"; content:"|03 00 00|";content:"|E0|";distance:2;content:"|00 00 00 00 00|";within:5;content:"|01 00 08 00 0B 00 00 00|";within:8;sid:100101;) 带凭证的请求: alert tcp any any -> any any (msg:"RDP请求(携带凭证)-yui"; content:"|03 00 00|";content:"|E0|";