注意事项
1. 安全中心规则支持通配符和路径
路径中的反斜杠“\”,用双反斜杠"\\"表示,通配符用“.*”表示.
示例:
"C:\Windows\explorer.exe"的正确写法是"C:\\windows\\explorer.exe",在规则中可以写为".*\\explorer.exe" ".*.exe"代表所有的exe文件或包含exe的路径; ".*\\temp\\.*.exe"代表temp目录下的所有exe文件; ".*\\system32\\.*aaa.exe"代表system32目录下的所有文件名尾部包含"aaa"的exe文件; ".*\\123\\.*"代表所有包含"123"文件夹的路径
2. 大小写敏感问题
所有路径(文件、文件夹、注册表),即“Path”,路径内容都不区分大小写。其他固定关键词一般大小写都需要区分,具体参考规则详解中的语法说明。
示例:
".*\\windows\\System32\\RunME.exe" ".*\\Windows\\system32\\runme.exe" 上述两个字符串表达的路径是一样的。
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
规则详解
1. 进程操作
1.1.1.进程启动拦截 黑名单模式
说明:根据文件路径或文件MD5来对即将启动的进程进行检测,如果路径正则表达匹配或者MD5相同则禁止启动.
语法示例:
// 拦截MD5为"89087ae3187d4c69de54bf0"的进程启动,不关心是谁创建的。 ProcStart[Parent(null)][Self(MD5="89087ae3187d4c69de54bf0")]=Deny // 拦截进程名为"ter.exe"的进程启动,不关心是谁创建的。 ProcStart[Parent(null)][Self(Path=".*\\ter.exe")]=Deny // 拦截MD5为"c613e69c3b191bb02c7a191741a1d024"的进程创建路径为"C:\test\ter.exe"的进程。 ProcStart[Parent(MD5="c613e69c3b191bb02c7a191741a1d024")][Self(Path=".*c:\\test\\ter.exe")]=Deny // 拦截进程名包含"explorer.exe"的进程创建进程名包含"123.exe"的进程。 ProcStart[Parent(Path=".*explorer.exe")][Self(Path=".*123.exe")]=Deny // 拦截进程名包含"explorer.exe"的进程创建MD5为"c613e69c3b191bb02c7a191741a1d024"的进程。 ProcStart[Parent(Path=".*explorer.exe")][Self(MD5="c613e69c3b191bb02c7a191741a1d024")]=Deny // 拦截进程名包含"explorer.exe"的进程创建任何进程。 ProcStart[Parent(Path=".*explorer.exe")][Self(Path=".*.exe")]=Deny
语法说明:
名称 | 描述 | 其他 |
ProcStart | 前缀固定关键词,该语句的头部声明,大小写敏感. | |
Parent | 固定关键词, 大小写敏感.用于描述当前启动的进程的父进程信息.如果不关心该进程的父进程,则内部数据填”null”.如果关心该进程的父进程信息,则可选择填入父进程的路径(Path=正则表达)或者父进程的MD5数据(MD5=).路径信息或者MD5的声明信息为Path,MD5,大小写敏感. | |
Self | 固定关键词, 大小写敏感.用于描述当前即将启动的进程信息,可填入路径(正则表达式)或当前进程文件的MD5. | |
Deny | 后缀固定关键词,大小写敏感. |
1.1.2.进程启动拦截 白名单模式
语法示例:
// 拦截进程名包含"explorer.exe"的进程创建任何子进程,除了进程名包含"2.exe"和"33.exe"的子进程。 ProcAccess[Parent(Path=".*explorer.exe")][Self(Path=".*2.exe;.*33.exe;")]=Access // 拦截进程名包含"taskhost.exe"的进程创建任何子进程,除了进程名包含"44.exe"的子进程。 ProcAccess[Parent(Path=".*taskhost.exe")][Self(Path=".*44.exe;")]=Access
说明:放行父进程创建的指定的子进程列表,除此之外的全部拦截.
语法说明:
名称 | 描述 | 其他 |
ProcAccess | 前缀关键词, 该语句的头部声明,大小写敏感 | |
Parent | 父进程路径相关信息Path,表示父进程的路径(正则表达式). MD5表示父进程MD5值 | |
Self | 子进程列表信息Path表示子进程的列表集合,进程与进程之间使用分号分割,每个子进程可使用正则表达式表示. | |
Access | 后缀固定关键词 |
1.2.进程循环查杀
说明:根据文件路径的正则表达式或者文件的MD5,每隔5s对当前活跃进程进行遍历,如果发现匹配,则执行查杀操作.
语法示例:
// 每5秒结束进程名包含"test.exe"的进程 KillProc[Self(Path=".*test.exe")]=Loop // 每5秒结束MD5为"c613e69c3b191bb02c7a191741a1d024"的进程 KillProc[Self(MD5="c613e69c3b191bb02c7a191741a1d024")]=Loop
语法说明:
名称 | 描述 | 其他 |
KillProc | 前缀固定关键词,该语句的头部声明,大小写敏感 | |
Self | 固定关键词,要查杀的目标进程的相关信息,如果要对特定路径(正则表达式)的程序执行查杀操作,则使用”Path”进行声明,并填入正则表达数据;如果对特定MD5的进程执行查杀操作,则使用”MD5”进行声明. | |
Loop | 固定后缀关键词, |
1.3.进程销毁后的操作
说明:对关心的某些进程进行监控,当这些进程退出后进行相应的操作.
语法示例:
// 检测到进程名包含"ecp.exe"的进程退出后,重启系统。 ProcDied[Self(Path=".*ecp.exe")][Action(Restart)][Message(null)]=Access // 检测到MD5为"c613e69c3b191bb02c7a191741a1d024"的进程退出后,运行"c:\1.exe"。 ProcDied[Self(MD5="c613e69c3b191bb02c7a191741a1d024")][Action(RunAgain)][Message("c:\1.exe")]=Access // 检测到进程名包含"ecx.exe"的进程退出后,弹出信息框,提示内容为"FBI warning"。 ProcDied[Self(Path=".*ecx.exe")][Action(Warning)][Message("FBI warning")]=Access
语法说明:
名称 | 描述 | 其他 |
ProcDied | 前缀固定关键词,该语句的头部声明,大小写敏感 | |
Self | 固定关键词,表示关心的进程信息,可以使用路径(正则表达式)或者MD5. | |
Action | 操作关键词,表示要执行的动作. Restart:重启计算机,此时不关心Message中的数据. RunAgain:运行Message中填入的路径的程序. Warning:弹出提示,提示内容为Message中提示信息. | |
Message | 数据关键词,为null或者一个程序的绝对路径或者提示的字符串信息. | |
Access | 后缀关键词,大小写敏感. |
1.4.进程主动启动
说明:通过安全中心来在开机的时候启动一些用户关心的进程.
语法示例:
// 当客户机在时间段“10:00-23:40”启动系统时,运行"c:\to.exe",并且只有95%的概率会执行。 RunProcess[Self(Path="c:\to.exe")][Probability(95)][TimeQuantum(10:00-23:40)]=Access
语法说明:
名称 | 描述 | 其他 |
RunProcess | 前缀固定关键词,该语句的头部声明,大小写敏感. | |
Self | 固定关键词,要启动的进程信息, Path表示该文件的绝对路径. Probability表示该程序的启动概率,概率范围为1-100. TimeQuantum表示启动该程序的时间段.24小时制.范围为:00:00-23:59. | |
Probability | 执行概率,绝对执行设置为100 | |
TimeQuantum | 设置在指定的时间内才会执行. | |
Access | 后缀关键词,大小写敏感. |
1.5. 进程保护
说明:用于保护指定的进程不被恶意访问或结束.
语法示例:
// 保护MD5为"dfb39214a538e71862577661703d7755"的进程,该进程无法被应用层(比如任务管理器)结束掉。 Protect[Process(MD5="dfb39214a538e71862577661703d7755")]=Deny // 保护进程名包含"pad.exe"的进程,该进程无法被应用层(比如任务管理器)结束掉。 Protect[Process(Path=".*pad.exe")]=Deny // 保护进程路径为"C:\\windows\\notepad.exe"的进程,该进程无法被应用层(比如任务管理器)结束掉。 Protect[Process(Path="C:\\windows\\notepad.exe")]=Deny
语法说明:
名称 | 描述 | 其他 |
Protect | 前缀关键词, 该语句的头部声明,大小写敏感 | |
Process | 表示用于保护的进程信息,可以是进程的路径Path(正则表达式)或者进程文件的MD5信息. | |
Deny | 后缀固定关键词 |
2. 模块操作
2.1 dll/sys模块拦截
说明:对于进程即将加载的模块按照文件路径的正则表达式或者hash特征进行拦截;拦截驱动加载。
脚本示例:
// 拦截MD5为"c613e69c3b191bb02c7a191741a1d024"的进程加载路径中包含"ule.dll"的模块。 Module[Host(MD5="c613e69c3b191bb02c7a191741a1d024")][Self(Path=".*ule.dll")]=Deny // 拦截进程名包含"load.exe"的进程加载路径中包含"dule.dll"的模块。 Module[Host(Path=".*load.exe")][Self(Path=".*dule.dll")]=Deny // 拦截任意进程加载hash值为"699358f7f86bcf9422cb75569d9246a6"的模块或驱动。 Module[Host(null)][Self(hash="699358f7f86bcf9422cb75569d9246a6")]=Deny // 拦截任意进程加载名称尾部包含"sqbdrv.sys"的驱动,包括 System 进程。 Module[Host(null)][Self(Path=".*sqbdrv.sys")]=Deny
语法说明:
名称 | 描述 | 其他 |
Module | 前缀关键词, 该语句的头部声明,大小写敏感 | |
Host | 固定关键词,用于描述模块相关的宿主信息.如果不关心宿主,则内容为”null”.如果关心宿主,则可以使用宿主的路径Path(正则表达式)或者宿主文件的MD5信息. | |
Self | 目标模块路径Path(正则表达式)或者特征信息Hash(数据可从维护大师客户端进行采集). | 此处的hash值不同于MD5值,hash值需要从维护大师客户端获取。 操作方法: 在维护大师控制台开启调试模式后,客户机重启系统,按下Ctrl+Alt+Shift+F7后输入管理密码,即可查看进程历史记录,其中包含每个模块的hash值,驱动的hash值从system进程中查看。 |
Deny | 后缀固定关键词 |
3. 文件操作
3.1.1 文件创建/打开/读/写/删除/重命名拦截 黑名单模式
脚本示例:
// 拦截驱动在桌面创建图标(Path中用“system”表示驱动) FileCheck[Self(Path=".*\\Desktop\\.*.lnk")][Process(Path="system")][AccessMode(Create)]=Deny // 拦截进程名包含"pad.exe"的进程读取路径中包含"11.txt"的文件或文件夹内容。 FileCheck[Self(Path=".*11.txt")][Process(Path=".*pad.exe")][AccessMode(Read)]=Deny // 拦截进程名包含"pad.exe"的进程往路径中包含"2222.txt"的文件或文件夹里写入内容。 FileCheck[Self(Path=".*2222.txt")][Process(Path=".*pad.exe")][AccessMode(Write)]=Deny // 拦截进程名包含"test.exe"的进程创建路径中包含"333.txt"的文件或文件夹。 FileCheck[Self(Path=".*333.txt")][Process(Path=".*test.exe")][AccessMode(Create)]=Deny // 拦截任意进程在"test"文件夹下创建名称中后缀包含字符"t"的文件或文件夹。 FileCheck[Self(Path=".*test\\.*t")][Process(null)][AccessMode(Create)]=Deny // 拦截任意进程删除名称中包含字符"333.txt"的文件或文件夹。 FileCheck[Self(Path=".*333.txt")][Process(null)][AccessMode(Delete)]=Deny // 拦截任意进程重命名名称中包含字符"666.exe"的文件或文件夹。 FileCheck[Self(Path=".*666.exe")][Process(null)][AccessMode(Rename)]=Deny // 拦截MD5为"6D1B0DFE929C179B99AD57E7C6D2EDA9"的进程创建任何lnk文件。 FileCheck[Self(Path=".*.lnk")][Process(MD5="6D1B0DFE929C179B99AD57E7C6D2EDA9")][AccessMode(Create)]=Deny
说明:对特定的进程(或者不关心哪个进程)对文件的操作进行拦截,操作的内容包括文件的打开(创建)/读/写/删除/重命名.
语法说明:
名称 | 描述 | 其他 |
FileCheck | 前缀关键词, 该语句的头部声明,大小写敏感. | |
Self | 固定关键词,用于描述目标文件路径信息Path(正则表达式).目录的操作与文件相同. | |
Process | 需要关注的进程信息(用“system”表示驱动),如果不关注则设置为”null”.如果关注,则使用进程的路径信息Path(正则表达式),或MD5 | |
AccessMode | 需要拦截的访问模式,包括打开/创建(Create),读(Read),写(Write),删除(Delete),重命名(Rename). 支持组合操作,使用半角分号分割多个操作,例如: AccessMode(Create;Delete) | |
Deny | 固定后缀关键词,大小写敏感 |
3.1.2 文件读/写拦截 白名单模式
脚本示例:
// 只允许cmd.exe读、写此文件列表:".*123.txt;.*1.dat;.*2.car" FileAccess[Self(Path=".*123.txt;.*1.dat;.*2.car")][Process(Path=".*\\cmd.exe")][AccessMode(read;write)]=Deny // 只允许cmd.exe读此文件列表:".*123.txt;.*1.dat;.*2.car" FileAccess[Self(Path=".*123.txt;.*1.dat;.*2.car")][Process(Path=".*\\cmd.exe")][AccessMode(read)]=Deny // 只允许cmd.exe写此文件:".*123.txt" FileAccess[Self(Path=".*123.txt")][Process(Path=".*\\cmd.exe")][AccessMode(write)]=Deny
说明:只允许特定的进程(必须指定进程)对指定的文件列表进行读或写,该进程对指定的文件列表之外的其他文件的读或写操作全部会被拦截,但是不会拦截创建和删除操作。
语法说明:
名称 | 描述 | 其他 |
FileAccess | 前缀关键词, 该语句的头部声明,大小写敏感. | |
Self | 代表文件列表,用半角分号分割,也可只填写一个文件. | |
Process | 不能为空,必须指定一个进程的路径,即Path的值. | |
AccessMode | read(读)或write(写),一起用则用半角分号分割为“read;write” |
3.2 文件隐藏操作
脚本示例:
//隐藏test目录
FileHide[Self(Path=".*\\test")]=Access
//隐藏路径中包含”ttt”的文件夹或者文件
FileHide[Self(Path=".*ttt.*")]=Access
说明:用于隐藏指定的文件或文件夹,两者的语法相同.
语法说明:
名称 | 描述 | 其他 |
FileHide | 前缀关键词, 该语句的头部声明,大小写敏感. | |
Self | 表示要隐藏的文件/文件夹的路径信息Path(正则表达式). | |
Access | 后缀固定关键词,大小写敏感 |
4. 注册表操作
说明:拦截指定进程(或者不关心进程)对特定注册表的访问,访问的类型包括读/写/删除项/删除键值/重命名
脚本示例:
RegCheck[RegPath(".*version\\run.*")][Process(Path=".*reg.exe")][AccessMode(Read)]=Deny RegCheck[RegPath(".*001\\run.*")][Process(MD5="c613e69c3b191bb02c7a191741a1d024")][AccessMode(Write)]=Deny RegCheck[RegPath(".*test\\run.*")][Process(null)][AccessMode(All)]=Deny RegCheck[RegPath(".*currentversion\\run.*")][Process(null)][AccessMode(Rename)]=Deny RegCheck[RegPath(".*currentversion\\run.*")][Process(null)][AccessMode(Deletekey)]=Deny RegCheck[RegPath(".*version\\run.*")][Process(null)][AccessMode(Deletevalue)]=Deny
语法说明:
名称 | 描述 | 其他 |
RegCheck | 前缀关键词, 该语句的头部声明,大小写敏感. | |
RegPath | 注册表路径信息,信息内容为路径正则表达式. | |
Process | 操作注册表的进程信息.如果不关心,则内容为”null”.或者是进程的路径Path(正则表达式).或者是进程文件的MD5值. | |
AccessMode | 访问模式, 读(Read)/写(Write)/删除项(Deletekey)/删除键值(Deletevalue)/重命名(Rename). 创建项(Create),如果需要全部权限的话则直接使用All. |
5. 回调操作
说明:该脚本用来移除驱动注册的4类回调,分别是进程回调,镜像回调,线程回调以及注册表回调.
脚本示例:
CallBack[Type(Process)][Feature(Name="test.sys")][Action(Remove)]=Access CallBack[Type(Image)][Feature(Name="test.sys")][Action(Remove)]=Access CallBack[Type(Thread)][Feature(Name="test.sys")][Action(Remove)]=Access CallBack[Type(Reg)][Feature(Name="test.sys")][Action(Remove)]=Access
语法说明:
名称 | 描述 | 其他 |
CallBack | 前缀关键词, 该语句的头部声明,大小写敏感. | |
Type | 需要进行移除的回调类型, 进程回调(Process),镜像回调(Image),线程回调(Thread)以及注册表回调(Reg). | |
Name | 驱动文件名 | |
Action | 执行的动作关键词,大小写不敏感. 移除回调,回调将消失,内容为 Remove | |
Access | 后缀固定关键词 |
6. 文件解锁重命名
脚本示例:
UnLockFile[Self(Path="\??\c:\lock.dll")][ReName(Name="\??\c:\22lock.dll")]=Access
含义:解锁C盘的lock.dll,并重命名为22lock.dll
说明:用于解除被驱动层锁定的文件.
语法说明:
名称 | 描述 | 其他 |
UnLockFile | 前缀关键词, 该语句的头部声明,大小写敏感 | |
Self | 用于描述需要进行操作的目标文件,文件信息为文件全路径Path.注意路径之前需要保留DOS路径前缀” \??\”. | |
ReName | 解锁后重命名的后名字Name,也是文件全路径名称. | |
Access | 后缀固定关键词 |
7. 基本网络操作拦截
脚本示例:
NetWork[Protocol(All)][Process(null)][Address(".*:.*->115.239.211.*:443")]=Deny NetWork[Protocol(TCP)][Process(MD5="c613e69c3b191bb02c7a191741a1d024")][Address(".*:.*->126.211.152.32:8800")]=Deny NetWork[Protocol(TCP)][Process(Path=".*360se.exe")][Address(".*:.*->122.228.233.208:.*")]=Deny NetWork[Protocol(UDP)][Process(null)][Address(".*:.*->.*:53")]=Deny NetWork[Protocol(ICMP)][Process(null)][Address(".*:.*->115.236.139.174:.*")]=Deny
说明:
根据协议类型(或者不关心协议类型)对特定的进程(或者不关心进程)访问特定的网络地址进行拦截操作.
语法说明:
名称 | 描述 | 其他 |
NetWork | 前缀关键词, 该语句的头部声明,大小写敏感. | |
Protocol | 协议类型,包括TCP,UDP,ICMP,如果不关心可以直接使用All表示全部. | |
Process | 关心的进程信息,可以使用路径信息(路径正则表达式),或者MD5信息.如果不关心这个进程的话就直接使用null. | |
Address | 网络的本地与对端地址”本地地址:端口号->远端地址:端口号”.地址与端口可使用正则表达. | |
Deny | 后缀固定关键词 |
8. http网络操作
脚本示例:
TCPPkgFilter[Direction(out)][Process(Path=".*rome.exe")][Feature(text=".*m\?rdid=.*")]=Deny TCPPkgFilter[Direction(out)][Process(MD5="923fe895b22b22a9ca03c72f3d15ce20")][Feature(text=".*m\?rdid=.*")]=Deny
说明:用于拦截http接受或发出的包含特征的明文http包,
语法说明:
名称 | 描述 | 其他 |
TCPPkgFilter | 前缀关键词, 该语句的头部声明,大小写敏感. | |
Direction | 数据发送方向,in:接收.out:发出. | |
Process | http通信的进程信息,可以使路径信息Path(正则表达式),也可以是MD5信息. | |
Feature | http包特征,正则表达式形式的特征数据. | |
Deny | 后缀固定关键词 |
9. 窗口规则
脚本示例:
WindowCheck[Proc(".*explorer.exe")][Title(null)][Class(".*StatusTips")][Style(8c000000;00000000)][Rect(800x600)][Action(Hide)]=Deny WindowCheck[Proc(".*.exe")][Title(".*皇家娱乐")][Class(null)][Style(null)][Rect(null)][Action(close)]=Deny
说明:用于对指定的窗体进行关闭或隐藏等操作。
窗口规则可使用维护大师窗口猎手一键生成,维护大师窗口猎手下载
语法说明:
名称 | 描述 | 其他 |
WindowCheck | 前缀关键词, 该语句的头部声明,大小写敏感. | |
Proc | 进程的名称,如果忽略,可设置为".*.exe" | |
Title | 窗口标题,如果忽略,可设置为null | |
Class | 窗口类名,如果忽略,可设置为null | |
Style | 窗口样式,如果忽略,可设置为null. 第一个值代表标准样式,第二个值代表扩展样式. 值必须为8位16进制,若不足8位需要在前面补0,若某个样式缺失或忽略,则设为00000000 | |
Rect | 窗口矩形,如果忽略,可设置为null | |
Action | 对符合条件的窗口执行的操作,不区分大小写. hide 隐藏窗口 close 关闭窗口 kill 结束窗口所属的进程 mini 最小化窗口 move 将窗口移动到不可见的位置. | |
Deny | 后缀固定关键词 |
维护大师窗口猎手:
如果本文章对你有所帮助,可以对本站打赏谢谢。
下载地址
还没有评论,来说两句吧...