CN114465753A - 远程操作行为识别方法、装置、电子设备及存储介质 - Google Patents

远程操作行为识别方法、装置、电子设备及存储介质 Download PDF

Info

Publication number
CN114465753A
CN114465753A CN202111509963.0A CN202111509963A CN114465753A CN 114465753 A CN114465753 A CN 114465753A CN 202111509963 A CN202111509963 A CN 202111509963A CN 114465753 A CN114465753 A CN 114465753A
Authority
CN
China
Prior art keywords
psexec
remote operation
operation behavior
remote
function
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN202111509963.0A
Other languages
English (en)
Other versions
CN114465753B (zh
Inventor
林岳川
孙诚
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Qianxin Technology Group Co Ltd
Secworld Information Technology Beijing Co Ltd
Original Assignee
Qianxin Technology Group Co Ltd
Secworld Information Technology Beijing Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Qianxin Technology Group Co Ltd, Secworld Information Technology Beijing Co Ltd filed Critical Qianxin Technology Group Co Ltd
Priority to CN202111509963.0A priority Critical patent/CN114465753B/zh
Priority claimed from CN202111509963.0A external-priority patent/CN114465753B/zh
Publication of CN114465753A publication Critical patent/CN114465753A/zh
Application granted granted Critical
Publication of CN114465753B publication Critical patent/CN114465753B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/14Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
    • H04L63/1408Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic by monitoring network traffic
    • H04L63/1416Event detection, e.g. attack signature detection
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/02Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
    • H04L67/025Protocols based on web technology, e.g. hypertext transfer protocol [HTTP] for remote control or remote monitoring of applications
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/12Protocols specially adapted for proprietary or special-purpose networking environments, e.g. medical networks, sensor networks, networks in vehicles or remote metering networks
    • H04L67/125Protocols specially adapted for proprietary or special-purpose networking environments, e.g. medical networks, sensor networks, networks in vehicles or remote metering networks involving control of end-device applications over a network
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/22Parsing or analysis of headers

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • Computing Systems (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Medical Informatics (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Telephonic Communication Services (AREA)
  • Selective Calling Equipment (AREA)

Abstract

本发明提供一种远程操作行为识别方法、装置、电子设备及存储介质,在对新创建进程的监控进程中,确定PsExec所创建的目标服务进程;为所述目标服务进程中的指定函数设置钩子函数;其中,所述指定函数用于实现基于PIPE管道的通信;在所述目标服务进程的通信过程中,通过所述钩子函数获取并解析远程通信的PsExec协议数据;根据所述远程通信的PsExec协议数据的解析结果,获取远程操作行为的数据。本发明通过在目标服务进程里设置钩子函数,监控PIPE管道通讯函数,精确识别区分来自内网远程PsEexc命令的操作行为,进一步提升了安全监控防护能力。

Description

远程操作行为识别方法、装置、电子设备及存储介质
技术领域
本发明涉及网络安全技术领域,尤其涉及一种远程操作行为识别方法、装置、电子设备及存储介质。
背景技术
通过利用PsExec进行远程操作的行为是本领域技术人员常用的一种远程操作行为手段,PSExec是微软Sysinternals免费系统管理工具集软件之一,工具本身天生具有正常微软签名的身份,PsExec最强大的功能之一是在远程系统和远程支持工具(如IpConfig)中启动交互式命令提示窗口,以便显示无法通过其他方式显示的有关远程系统的信息。
在现有的远程操作行为识别检测手段中,有通过识别监控PsExec服务启动子进程程序的行为,这会导致无法正常获取到远程电脑的IP地址,除此之外,由于未创建PsExec服务项和管道名而导致远程操作行为识别检测手段会绕过此PsExec进行远程操作的行为。
因此,现有的远程操作行为识别检测手段缺陷是无法精确识别检测出基于PsExec的远程操作行为。
发明内容
本发明提供一种远程操作行为识别方法、装置、电子设备及存储介质,用以解决现有的远程操作行为识别检测手段无法精确识别检测出基于PsExec的远程操作行为的问题,实现通过在目标服务进程里设置钩子函数,监控PIPE管道通讯函数,精确识别区分来自内网远程PsEexc命令的操作行为,提升安全监控防护能力。
第一方面,本发明提供一种远程操作行为识别方法,包括:
在对新创建进程的监控进程中,确定PsExec所创建的目标服务进程;
为所述目标服务进程中的指定函数设置钩子函数;其中,所述指定函数用于实现基于PIPE管道的通信;
在所述目标服务进程的通信过程中,通过所述钩子函数获取并解析远程通信的PsExec协议数据;
根据所述远程通信的PsExec协议数据的解析结果,获取远程操作行为的数据。
进一步,所述在对新创建进程的监控过程中,确定PsExec所创建的目标服务进程,包括:
监控新创建的进程;
判断新创建的进程的名称是否为PSEXESVC.exe,在新创建的进程的名称为PSEXESVC.exe的情况下,确定所述新创建的进程为PsExec所创建的目标服务进程;
在新创建的进程的名称不是PSEXESVC.exe的情况下,检测所述新创建的进程的原始名称是否为PSEXESVC.exe,在所述新创建的进程的原始名称为PSEXESVC.exe的情况下,确定所述新创建的进程为PsExec所创建的目标服务进程。
进一步,所述为所述目标服务进程中的指定函数设置钩子函数,包括:
为所述目标服务进程中的CreateNamedPipeW函数设置第一钩子函数;其中,所述第一钩子函数用于记录创建PIPE管道的名称和句柄数据;
在PsExec支持交互模式的情况下,为所述目标服务进程中的ReadFile函数设置第二钩子函数;其中,所述第二钩子函数用于获取并解析远程通信的PsExec协议数据;
在PsExec支持非交互模式的情况下,为所述目标服务进程中的CryptDecrypt函数设置第二钩子函数。
进一步,所述在所述目标服务进程的通信过程中,通过所述钩子函数获取并解析远程通信的PsExec协议数据,包括:
在所述目标服务进程启动后,通过所述第一钩子函数记录创建PIPE管道的名称和句柄数据;
根据所创建的PIPE管道的名称和句柄数据,通过所述第二钩子函数获取通过所述PIPE通道传输的远程通信的PsExec协议数据;
通过所述第二钩子函数解析所述远程通信的PsExec协议数据。
进一步,所述根据所述远程通信的PsExec协议数据的解析结果,获取远程操作行为的数据,包括:
根据所述远程通信的PsExec协议数据的解析结果,获取远程操作行为的命令数据、参数数据以及远程终端的地址信息。
进一步,在获取远程操作行为的数据之后,方法还包括:
根据所述远程操作行为的数据,对所述远程操作行为进行安全检测。
进一步,所述根据所述远程操作行为的数据,对所述远程操作行为进行安全检测,包括:
将所述远程操作行为的数据传输至威胁行为识别引擎,得到安全检测结果。
进一步,所述根据所述远程操作行为的数据,对所述远程操作行为进行安全检测,还包括:
根据所述远程操作行为的安全检测结果,对所述远程操作行为进行防护拦截。
第二方面,本发明还提供了一种远程操作行为识别装置,包括:确定模块、函数设置模块、解析模块、获取模块,其中:
确定模块,用于在对新创建进程的监控进程中,确定PsExec所创建的目标服务进程;
函数设置模块,用于为所述目标服务进程中的指定函数设置钩子函数;其中,所述指定函数用于实现基于PIPE管道的通信;
解析模块,用于在所述目标服务进程的通信过程中,通过所述钩子函数获取并解析远程通信的PsExec协议数据;
获取模块,用于根据所述远程通信的PsExec协议数据的解析结果,获取远程操作行为的数据。
第三方面,本发明还提供一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现如上述任一种所述远程操作行为识别方法的步骤。
第四方面,本发明还提供一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现如上述任一种所述远程操作行为识别方法的步骤。
第五方面,本发明还提供一种计算机程序产品,包括计算机程序,所述计算机程序被处理器执行时实现如上述任一种所述远程操作行为识别方法的步骤。
本发明提供的一种远程操作行为识别方法、装置、电子设备及存储介质,在对新创建进程的监控进程中,确定PsExec所创建的目标服务进程;为所述目标服务进程中的指定函数设置钩子函数;其中,所述指定函数用于实现基于PIPE管道的通信;在所述目标服务进程的通信过程中,通过所述钩子函数获取并解析远程通信的PsExec协议数据;根据所述远程通信的PsExec协议数据的解析结果,获取远程操作行为的数据。实现通过在目标服务进程里设置钩子函数,监控PIPE管道通讯函数,精确识别区分来自内网远程PsEexc命令的操作行为,提升安全监控防护能力。
附图说明
为了更清楚地说明本发明或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明一个实施例提供的一种远程操作行为识别方法的流程示意图;
图2是本发明另一个实施例提供的一种远程操作行为识别方法的流程示意图;
图3是本发明另一个实施例提供的一种远程操作行为识别装置的结构框图;
图4是本发明另一个实施例提供的电子设备的结构框图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合本发明中的附图,对本发明中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
图1是本实施例提供的一种远程操作行为识别方法的流程示意图,该远程操作行为识别方法,参见图1,该方法包括:
步骤101:在对新创建进程的监控进程中,确定PsExec所创建的目标服务进程;
其中,PsExec是微软著名的Sysinternals免费系统管理工具集软件之一,它使得用户无需手动安装客户端软件即可执行其他系统上的进程,并且可以获得与控制台应用程序相当的完全交互性。PsExec最强大的功能之一是在远程系统和远程支持工具中启动交互式命令提示窗口,以便显示无法通过其他方式显示的有关远程系统的信息,对于批量大范围的远程运维起到很好的效果。
需要进一步说明的是,因PsExec对远程电脑执行命令时,需要在目标系统电脑里创建一个服务进程来执行命令,该服务进程默认为PSEXESVC.exe,同时PSEXEC也支持通过-r参数自定义名称来执行,也就是说,服务进程的名称可以人为更改,所以,这里需要使用系统底层机制的进程创建回调,来监控进程创建。
具体地,监控新创建的进程,判断新创建的进程的名称是否为PSEXESVC.exe,在新创建的进程的名称为PSEXESVC.exe的情况下,确定所述新创建的进程为PsExec所创建的目标服务进程;在新创建的进程的名称不是PSEXESVC.exe的情况下,检测所述新创建的进程的原始名称是否为PSEXESVC.exe,在所述新创建的进程的原始名称为PSEXESVC.exe的情况下,确定所述新创建的进程为PsExec所创建的目标服务进程。
步骤102:为所述目标服务进程中的指定函数设置钩子函数;
其中,所述指定函数用于实现基于PIPE管道的通信,PIPE管道通过调用系统函数创建,用于实现父子进程间的通信。
钩子函数,为在系统没有调用指定函数之前,钩子函数可以优先捕获指定函数调用,获取得到函数控制权,对该函数进行额外加工处理。
需要进一步说明的是,一是因为PsExec对远程电脑执行命令是基于PIPE管道模式进行通讯,二是因为PsExec通讯协议数据是加密的,三是由于PsExec不仅支持交互模式的执行结果显示,而且还支持非交互模式的执行结果显示,所以要想更全面监控该通讯数据,就需要对目标服务进程中的CreateNamedPipeW,ReadFile,CryptDecrypt函数预设Hook钩子函数。
具体地,为所述目标服务进程中的CreateNamedPipeW函数设置第一钩子函数;其中,所述第一钩子函数用于记录创建PIPE管道的名称和句柄数据;在PsExec支持交互模式的情况下,为所述目标服务进程中的ReadFile函数设置第二钩子函数;其中,所述第二钩子函数用于获取并解析远程通信的PsExec协议数据;在PsExec支持非交互模式的情况下,为所述目标服务进程中的CryptDecrypt函数设置第二钩子函数。
步骤103:在所述目标服务进程的通信过程中,通过所述钩子函数获取并解析远程通信的PsExec协议数据;
需要进一步说明的是,PsExec协议数据本身是经过加密的,所以,本申请为了实现对PsExec协议数据的全方位监控,通过钩子函数获取并解析远程通信的PsExec协议数据。
具体地,在所述目标服务进程启动后,通过所述第一钩子函数记录创建PIPE管道的名称和句柄数据;根据所创建的PIPE管道的名称和句柄数据,通过所述第二钩子函数获取通过所述PIPE通道传输的远程通信的PsExec协议数据;通过所述第二钩子函数解析所述远程通信的PsExec协议数据。
步骤104:根据所述远程通信的PsExec协议数据的解析结果,获取远程操作行为的数据。
具体地,根据所述远程通信的PsExec协议数据的解析结果,获取远程操作行为的命令数据、参数数据以及远程终端的地址信息数据。
举例来说,攻击者在A机器(192.168.1.101))执行PSExec远程执行命令“psexec-i\\192.168.1.120ipconfig/all”,该命令的效果是对受害者B机器(192.168.1.120)执行了ipconfig/all命令,如果受害者B机器里部署了所述远程操作行为的识别方法,那么此处命令数据是ipconfig、参数数据/all、地址是:192.168.1.101。
本实施例提供了一种远程操作行为识别方法,通过在对新创建进程的监控进程中,确定PsExec所创建的目标服务进程;为所述目标服务进程中的指定函数设置钩子函数;其中,所述指定函数用于实现基于PIPE管道的通信;在所述目标服务进程的通信过程中,通过所述钩子函数获取并解析远程通信的PsExec协议数据;根据所述远程通信的PsExec协议数据的解析结果,获取远程操作行为的数据,精确识别了来自内网远程PsEexc命令的操作行为,提升了安全监控防护能力。
基于上述实施例的内容,在本实施例中,所述步骤101在对新创建进程的监控过程中,确定PsExec所创建的目标服务进程具体可通过如下方式实现:
监控新创建的进程;
判断新创建的进程的名称是否为PSEXESVC.exe,在新创建的进程的名称为PSEXESVC.exe的情况下,确定所述新创建的进程为PsExec所创建的目标服务进程;
在新创建的进程的名称不是PSEXESVC.exe的情况下,检测所述新创建的进程的原始名称是否为PSEXESVC.exe,在所述新创建的进程的原始名称为PSEXESVC.exe的情况下,确定所述新创建的进程为PsExec所创建的目标服务进程。
需要进一步说明的是,由于攻击者利用PsExec进行远程攻击时,为了避免网络攻击检测检出其意图,会对创建的进程名称进行改变,比如通过-r参数自定义名称来代替PSEXESVC.exe,从而躲过网络攻击检测手段的检测,达到利用PsExec命令执行攻击行为。
判断新创建的进程的名称是否为PSEXESVC.exe的方法可以是相关技术人员编写的判断进程名称是否为PSEXESVC.exe的相关算法,在此不作进一步限定。
具体地,监控新创建的进程;根据相关算法判断新创建的进程的名称是否为PSEXESVC.exe,在新创建的进程的名称为PSEXESVC.exe的情况下,确定所述新创建的进程为PsExec所创建的目标服务进程;在新创建的进程的名称不是PSEXESVC.exe的情况下,检测所述新创建的进程的原始名称是否为PSEXESVC.exe,在所述新创建的进程的原始名称为PSEXESVC.exe的情况下,确定所述新创建的进程为PsExec所创建的目标服务进程。
本实施例提供了一种远程操作行为识别方法,通过判断新创建的进程的名称是否为PSEXESVC.exe,在新创建的进程的名称为PSEXESVC.exe的情况下,确定所述新创建的进程为PsExec所创建的目标服务进程;在新创建的进程的名称不是PSEXESVC.exe的情况下,检测所述新创建的进程的原始名称是否为PSEXESVC.exe,在所述新创建的进程的原始名称为PSEXESVC.exe的情况下,确定所述新创建的进程为PsExec所创建的目标服务进程,从而避免了操作者通过修改进程名称而绕过网络检测技术的检测,不遗漏任何一个原始名称为PSEXESVC.exe的新创建进程,为后续能够精确识别来自内网远程PsEexc命令的操作行为奠定基础,初步提升了安全监控防护能力。
基于上述实施例的内容,在本实施例中,所述步骤102中为所述目标服务进程中的指定函数设置钩子函数具体可通过如下方式实现:
为所述目标服务进程中的CreateNamedPipeW函数设置第一钩子函数;其中,所述第一钩子函数用于记录创建PIPE管道的名称和句柄数据;
在PsExec支持交互模式的情况下,为所述目标服务进程中的ReadFile函数设置第二钩子函数;其中,所述第二钩子函数用于获取并解析远程通信的PsExec协议数据;
在PsExec支持非交互模式的情况下,为所述目标服务进程中的CryptDecrypt函数设置第二钩子函数。
其中,CreateNamedPipeW函数为所述目标服务进程中创建的一个命名管道函数,返回的句柄由管道的服务器端使用;ReadFile函数为从文件指针指向的位置开始将数据读出到一个文件中,且支持同步和异步操作的函数;CryptDecrypt函数为数据加密函数。
需要进一步说明的是,交互式模式为需要人和系统进行人机对话交互信息,终端和远程端建立连接后,远程端shell会等待人工输入,并执行人工提交的命令,最后终端侧显示命令执行的处理结果信息,非交互模式则是不需要人和系统进行人机对话交互信息。举例来说,交互场景,最常见就是用户登陆场景,当你输入账号密码,提交后系统会给你提示返回登陆成功或失败的信息,这个就是交互;非交互就是人工输入账号密码提交后,系统没有任何回馈。
在本实施例中,当执行Psexec时会带上-d参数,就是交互式模式执行命令,本申请是通过解析远程PsExec协议数据,该数据协议里有一处标志数据会存储-d参数的信息,能够表述判断是否为交互模式。
具体地,为所述目标服务进程中的CreateNamedPipeW函数设置第一钩子函数用于记录创建PIPE管道的名称和句柄数据;在PsExec支持交互模式的情况下,为所述目标服务进程中的ReadFile函数设置第二钩子函数用于获取并解析远程通信的PsExec协议数据;在PsExec支持非交互模式的情况下,为所述目标服务进程中的CryptDecrypt函数设置第二钩子函数同样用于获取并解析远程通信的PsExec协议数据。
本实施例提供了一种远程操作行为识别方法,通过为所述目标服务进程中的CreateNamedPipeW函数设置第一钩子函数用于记录创建PIPE管道的名称和句柄数据;在PsExec支持交互模式的情况下,为所述目标服务进程中的ReadFile函数设置第二钩子函数用于获取并解析远程通信的PsExec协议数据;在PsExec支持非交互模式的情况下,为所述目标服务进程中的CryptDecrypt函数设置第二钩子函数同样用于获取并解析远程通信的PsExec协议数据,通过对目标服务进程中的各个指定函数设置钩子函数,更全面、更精确地识别了来自内网远程PsEexc命令的操作行为,提升了安全监控防护能力。
基于上述实施例的内容,在本实施例中,所述步骤104根据所述远程通信的PsExec协议数据的解析结果,获取远程操作行为的数据,具体可通过如下方式实现:
根据所述远程通信的PsExec协议数据的解析结果,获取远程操作行为的命令数据、参数数据以及远程终端的地址信息数据。
其中,所述远程通信的PsExec协议数据的解析结果是由为所述目标服务进程中的ReadFile函数设置第二钩子函数或是所述目标服务进程中的CryptDecrypt函数设置第二钩子函数而得到的,具体是由目标服务进程中的ReadFile函数还是所述目标服务进程中的CryptDecrypt函数设置第二钩子函数得到,取决于PsExec是支持交互模式还是非交互模式。
可以理解的是,所获取的远程操作行为的命令数据、参数数据以及远程终端的地址信息数据均为远程操作者利用PsExec命令执行的操作行为的相关数据,对于检测分析远程操作行为具有十分重要的意义。
具体地,通过在PsExec支持交互模式的情况下,为所述目标服务进程中的ReadFile函数设置第二钩子函数,或在PsExec支持非交互模式的情况下,为所述目标服务进程中的CryptDecrypt函数设置第二钩子函数,获取并解析远程通信的PsExec协议数据,并根据所述远程通信的PsExec协议数据的解析结果,获取远程操作行为的命令数据、参数数据以及远程终端的IP地址信息数据。
本实施例提供了一种远程操作行为识别方法,通过根据所述远程通信的PsExec协议数据的解析结果,获取远程操作行为的命令数据、参数数据以及远程终端的地址信息数据,更全面地获取了远程操作行为的数据,更精确地识别了来自内网远程PsEexc命令的操作行为,提升了安全监控防护能力。
基于上述实施例的内容,在本实施例中,所述步骤104根据所述远程通信的PsExec协议数据的解析结果,获取远程操作行为的数据之后,具体包括:
根据所述远程操作行为的数据,对所述远程操作行为进行安全检测。
其中,进行安全检测的手段可以是通过行为识别引擎或是本领域技术人员编写的相关算法,在此不做具体限定。
具体地,将所述远程操作行为的数据传输至威胁行为识别引擎,得到安全检测结果,根据所述远程操作行为的安全检测结果,对所述远程操作行为进行防护拦截。
其中,威胁行为识别引擎是用来识别输入的远程操作行为的数据是否存有潜在威胁的功能程序,可通过本领域专业人员通过编写相关算法实现,也可以是通过预设的行为规则实现,在此不作具体限定。
举例来说,上述根据所述远程通信的PsExec协议数据的解析结果,获取远程操作行为的数据,为远程操作行为的命令数据、参数数据以及远程终端的地址信息数据,将这些数据传输至威胁行为识别引擎,识别出此数据威胁行为指数为3星级,从而识别出此数据危险程度很高,得出此数据为不安全远程操作行为,并对此行为进行拦截。
基于上述实施例,需要进一步说明的是,此处威胁行为识别引擎将威胁行为程度分为3个不同等级对应不同威胁行为指数星级,威胁程度高的为3星级,威胁程度中等的对应为2星级,威胁程度低的为1星级,在威胁程度为2星级以上,所述威胁行为识别引擎会对所述远程操作行为进行防护拦截。
本实施例提供了一种远程操作行为识别方法,通过根据所述远程操作行为的数据,对所述远程操作行为进行安全检测,并将所述远程操作行为的数据传输至威胁行为识别引擎,得到安全检测结果,根据所述远程操作行为的安全检测结果,对所述远程操作行为进行防护拦截,精确识别了来自内网远程PsEexc命令的操作行为,并根据监测结果进行防护拦截,阻止攻击者进一步扩大攻击面,提升了安全监控防护能力。
图2是本申请另一个实施例提供的一种远程操作行为识别方法的流程示意图,参考图2。本实施例因PsExec对远程电脑执行时,需要在目标系统电脑里创建一个服务进程来执行命令,该服务进程默认为PSEXESVC.exe,同时PSEXEC也支持通过-r参数自定义名称来执行,所以,这里需要使用系统底层机制的进程创建回调,监控进程创建,当该进程为PSEXESVC.exe时,则往该进程安装监控模块,如果该进程非PSEXESVC.exe时,则通过检测文件信息原始名如果是PSEXESVC.exe,则往该进程安装监控模块。
PsExec对远程电脑执行命令进行通讯是基于PIPE管道模式,PsExec通讯协议数据是加密,而且PsExec支持交互和非交互模式的执行结果显示,所以要监控该通讯数据,需要对CreateNamedPipeW,ReadFile,CryptDecrypt进行预设Hook函数。
当PsExeSvc进程启动时,CreateNamedPipeW的预设Hook函数会记录创建PIPE管道的名称和句柄数据,当接收到远程PIPE管道通讯数据时,根据PsExec执行时参数选择交互模式,预设Hook函数的CryptDecrypt或ReadFile会解析远程通讯的PsExec协议数据。
通过解析PsExec协议数据,可以获取到远程执行命令,参数数据和远程电脑IP,把这些数据传递到威胁行为识别引擎进行安全鉴定,最终根据鉴定结果判定拦截。
下面对本发明提供的一种远程操作行为识别装置进行描述,下文描述的一种远程操作行为识别装置与上文描述的一种远程操作行为识别方法可相互对应参照。
图3为本实施例提供的远程操作行为识别装置的结构框图,该装置包括确定模块301、函数设置模块302、解析模块303、获取模块304,其中:
确定模块301,用于在对新创建进程的监控进程中,确定PsExec所创建的目标服务进程;
其中,PsExec是微软著名的Sysinternals免费系统管理工具集软件之一,它使得用户无需手动安装客户端软件即可执行其他系统上的进程,并且可以获得与控制台应用程序相当的完全交互性,PsExec最强大的功能之一是在远程系统和远程支持工具中启动交互式命令提示窗口,以便显示无法通过其他方式显示的有关远程系统的信息,对于批量大范围的远程运维起到很好的效果。
需要进一步说明的是,因PsExec对远程电脑执行命令时,需要在目标系统电脑里创建一个服务进程来执行命令,该服务进程默认为PSEXESVC.exe,同时PSEXEC也支持通过-r参数自定义名称来执行,也就是说,服务进程的名称可以人为更改,所以,这里需要使用系统底层机制的进程创建回调,来监控进程创建。
具体地,监控新创建的进程,判断新创建的进程的名称是否为PSEXESVC.exe,在新创建的进程的名称为PSEXESVC.exe的情况下,确定所述新创建的进程为PsExec所创建的目标服务进程;在新创建的进程的名称不是PSEXESVC.exe的情况下,检测所述新创建的进程的原始名称是否为PSEXESVC.exe,在所述新创建的进程的原始名称为PSEXESVC.exe的情况下,确定所述新创建的进程为PsExec所创建的目标服务进程。
函数设置模块302,用于为所述目标服务进程中的指定函数设置钩子函数;
其中,所述指定函数用于实现基于PIPE管道的通信,PIPE管道通过调用系统函数创建,用于父子进程间的通信。
钩子函数,为在系统没有调用该函数之前,钩子函数可以优先捕获该函数调用,获取得到函数控制权,对该函数进行额外加工处理。
具体地,为所述目标服务进程中的CreateNamedPipeW函数设置第一钩子函数;其中,所述第一钩子函数用于记录创建PIPE管道的名称和句柄数据;在PsExec支持交互模式的情况下,为所述目标服务进程中的ReadFile函数设置第二钩子函数;其中,所述第二钩子函数用于获取并解析远程通信的PsExec协议数据;在PsExec支持非交互模式的情况下,为所述目标服务进程中的CryptDecrypt函数设置第二钩子函数。
解析模块303,用于在所述目标服务进程的通信过程中,通过所述钩子函数获取并解析远程通信的PsExec协议数据;
需要进一步说明的是,PsExec协议数据本身是经过加密的,所以,本申请为了实现对PsExec协议数据的全方位监控,通过钩子函数获取并解析远程通信的PsExec协议数据。
具体地,在所述目标服务进程启动后,通过所述第一钩子函数记录创建PIPE管道的名称和句柄数据;根据所创建的PIPE管道的名称和句柄数据,通过所述第二钩子函数获取通过所述PIPE通道传输的远程通信的PsExec协议数据;通过所述第二钩子函数解析所述远程通信的PsExec协议数据。
获取模块304,用于根据所述远程通信的PsExec协议数据的解析结果,获取远程操作行为的数据。
具体地,根据所述远程通信的PsExec协议数据的解析结果,获取远程操作行为的命令数据、参数数据以及远程终端的地址信息数据。
举例来说,攻击者在A机器(192.168.1.101))执行PSExec远程执行命令“psexec-i\\192.168.1.120ipconfig/all”,该命令的效果是对受害者B机器(192.168.1.120)执行了ipconfig/all命令,如果受害者B机器里部署了所述远程操作行为的识别方法,那么此处命令数据是ipconfig、参数数据/all、地址是:192.168.1.101。
本实施例提供了一种远程操作行为识别装置,通过确定模块301用于在对新创建进程的监控进程中,确定PsExec所创建的目标服务进程;函数设置模块302用于为所述目标服务进程中的指定函数设置钩子函数;其中,所述指定函数用于实现基于PIPE管道的通信;解析模块303,用于在所述目标服务进程的通信过程中,通过所述钩子函数获取并解析远程通信的PsExec协议数据;获取模块304用于根据所述远程通信的PsExec协议数据的解析结果,获取远程操作行为的数据,精确识别了来自内网远程PsEexc命令的操作行为,提升了安全监控防护能力。
可选的,所述确定模块301还包括:
用于监控新创建的进程;
判断新创建的进程的名称是否为PSEXESVC.exe,在新创建的进程的名称为PSEXESVC.exe的情况下,确定所述新创建的进程为PsExec所创建的目标服务进程;
在新创建的进程的名称不是PSEXESVC.exe的情况下,检测所述新创建的进程的原始名称是否为PSEXESVC.exe,在所述新创建的进程的原始名称为PSEXESVC.exe的情况下,确定所述新创建的进程为PsExec所创建的目标服务进程。
本实施例提供了一种远程操作行为识别装置,通过判断新创建的进程的名称是否为PSEXESVC.exe,在新创建的进程的名称为PSEXESVC.exe的情况下,确定所述新创建的进程为PsExec所创建的目标服务进程;在新创建的进程的名称不是PSEXESVC.exe的情况下,检测所述新创建的进程的原始名称是否为PSEXESVC.exe,在所述新创建的进程的原始名称为PSEXESVC.exe的情况下,确定所述新创建的进程为PsExec所创建的目标服务进程,从而避免了操作者通过修改进程名称而绕过网络检测技术的检测,不遗漏任何一个原始名称为PSEXESVC.exe的新创建进程,为后续能够精确识别来自内网远程PsEexc命令的操作行为奠定基础,初步提升了安全监控防护能力。
可选的,所述函数设置模块302还包括:
用于为所述目标服务进程中的CreateNamedPipeW函数设置第一钩子函数;其中,所述第一钩子函数用于记录创建PIPE管道的名称和句柄数据;
在PsExec支持交互模式的情况下,为所述目标服务进程中的ReadFile函数设置第二钩子函数;其中,所述第二钩子函数用于获取并解析远程通信的PsExec协议数据;
在PsExec支持非交互模式的情况下,为所述目标服务进程中的CryptDecrypt函数设置第二钩子函数。
本实施例提供了一种远程操作行为识别装置,通过为所述目标服务进程中的CreateNamedPipeW函数设置第一钩子函数用于记录创建PIPE管道的名称和句柄数据;在PsExec支持交互模式的情况下,为所述目标服务进程中的ReadFile函数设置第二钩子函数用于获取并解析远程通信的PsExec协议数据;在PsExec支持非交互模式的情况下,为所述目标服务进程中的CryptDecrypt函数设置第二钩子函数同样用于获取并解析远程通信的PsExec协议数据,通过对目标服务进程中的各个指定函数设置钩子函数,更全面、更精确地识别了来自内网远程PsEexc命令的操作行为,提升了安全监控防护能力。
可选的,所述获取模块304还包括:
用于根据所述远程通信的PsExec协议数据的解析结果,获取远程操作行为的命令数据、参数数据以及远程终端的地址信息数据。
本实施例提供了一种远程操作行为识别装置,通过根据所述远程通信的PsExec协议数据的解析结果,获取远程操作行为的命令数据、参数数据以及远程终端的地址信息数据,更全面地获取了远程操作行为的数据,更精确地识别了来自内网远程PsEexc命令的操作行为,提升了安全监控防护能力。
可选的,所述装置还包括:安全检测模块,其中:
安全检测模块,用于根据所述远程操作行为的数据,对所述远程操作行为进行安全检测。
具体地,将所述远程操作行为的数据传输至威胁行为识别引擎,得到安全检测结果,根据所述远程操作行为的安全检测结果,对所述远程操作行为进行防护拦截。
本实施例提供了一种远程操作行为识别装置,通过安全检测模块,用于根据所述远程操作行为的数据,对所述远程操作行为进行安全检测,并将所述远程操作行为的数据传输至威胁行为识别引擎,得到安全检测结果,根据所述远程操作行为的安全检测结果,对所述远程操作行为进行防护拦截,精确识别了来自内网远程PsEexc命令的操作行为,并根据监测结果进行防护拦截,阻止攻击者进一步扩大攻击面,提升了安全监控防护能力。
图4为本发明实施例提供的一种电子设备的实体结构示意图,如图4所示,该电子设备可以包括:处理器(processor)410、通信接口(Communications Interface)420、存储器(memory)430和总线440,其中,处理器410,通信接口420,存储器430通过总线440完成相互间的通信。总线440可以用于电子设备与传感器之间的信息传输。处理器410可以调用存储器430中的逻辑指令,以执行如下方法:在对新创建进程的监控进程中,确定PsExec所创建的目标服务进程;为所述目标服务进程中的指定函数设置钩子函数;其中,所述指定函数用于实现基于PIPE管道的通信;在所述目标服务进程的通信过程中,通过所述钩子函数获取并解析远程通信的PsExec协议数据;根据所述远程通信的PsExec协议数据的解析结果,获取远程操作行为的数据。
此外,上述的存储器430中的逻辑指令可以通过软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
另一方面,本发明实施例提供一种非暂态计算机可读存储介质,该非暂态计算机可读存储介质存储计算机指令,该计算机指令使计算机执行上述实施例所提供的一种远程操作行为识别方法,例如包括:在对新创建进程的监控进程中,确定PsExec所创建的目标服务进程;为所述目标服务进程中的指定函数设置钩子函数;其中,所述指定函数用于实现基于PIPE管道的通信;在所述目标服务进程的通信过程中,通过所述钩子函数获取并解析远程通信的PsExec协议数据;根据所述远程通信的PsExec协议数据的解析结果,获取远程操作行为的数据。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。
又一方面,本发明还提供一种计算机程序产品,所述计算机程序产品包括存储在非暂态计算机可读存储介质上的计算机程序,所述计算机程序包括程序指令,当所述程序指令被计算机执行时,计算机能够执行上述各方法所提供的一种远程操作行为识别方法,该方法包括:在对新创建进程的监控进程中,确定PsExec所创建的目标服务进程;为所述目标服务进程中的指定函数设置钩子函数;其中,所述指定函数用于实现基于PIPE管道的通信;在所述目标服务进程的通信过程中,通过所述钩子函数获取并解析远程通信的PsExec协议数据;根据所述远程通信的PsExec协议数据的解析结果,获取远程操作行为的数据。
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。

Claims (12)

1.一种远程操作行为识别方法,其特征在于,包括:
在对新创建进程的监控进程中,确定PsExec所创建的目标服务进程;
为所述目标服务进程中的指定函数设置钩子函数;其中,所述指定函数用于实现基于PIPE管道的通信;
在所述目标服务进程的通信过程中,通过所述钩子函数获取并解析远程通信的PsExec协议数据;
根据所述远程通信的PsExec协议数据的解析结果,获取远程操作行为的数据。
2.根据权利要求1所述的远程操作行为识别方法,其特征在于,所述在对新创建进程的监控过程中,确定PsExec所创建的目标服务进程,包括:
监控新创建的进程;
判断新创建的进程的名称是否为PSEXESVC.exe,在新创建的进程的名称为PSEXESVC.exe的情况下,确定所述新创建的进程为PsExec所创建的目标服务进程;
在新创建的进程的名称不是PSEXESVC.exe的情况下,检测所述新创建的进程的原始名称是否为PSEXESVC.exe,在所述新创建的进程的原始名称为PSEXESVC.exe的情况下,确定所述新创建的进程为PsExec所创建的目标服务进程。
3.根据权利要求1所述的远程操作行为识别方法,其特征在于,所述为所述目标服务进程中的指定函数设置钩子函数,包括:
为所述目标服务进程中的CreateNamedPipeW函数设置第一钩子函数;其中,所述第一钩子函数用于记录创建PIPE管道的名称和句柄数据;
在PsExec支持交互模式的情况下,为所述目标服务进程中的ReadFile函数设置第二钩子函数;其中,所述第二钩子函数用于获取并解析远程通信的PsExec协议数据;
在PsExec支持非交互模式的情况下,为所述目标服务进程中的CryptDecrypt函数设置第二钩子函数。
4.根据权利要求3所述的远程操作行为识别方法,其特征在于,所述在所述目标服务进程的通信过程中,通过所述钩子函数获取并解析远程通信的PsExec协议数据,包括:
在所述目标服务进程启动后,通过所述第一钩子函数记录创建PIPE管道的名称和句柄数据;
根据所创建的PIPE管道的名称和句柄数据,通过所述第二钩子函数获取通过所述PIPE通道传输的远程通信的PsExec协议数据;
通过所述第二钩子函数解析所述远程通信的PsExec协议数据。
5.根据权利要求1所述的远程操作行为识别方法,其特征在于,所述根据所述远程通信的PsExec协议数据的解析结果,获取远程操作行为的数据,包括:
根据所述远程通信的PsExec协议数据的解析结果,获取远程操作行为的命令数据、参数数据以及远程终端的地址信息。
6.根据权利要求1至5任一项所述的远程操作行为识别方法,其特征在于,在获取远程操作行为的数据之后,方法还包括:
根据所述远程操作行为的数据,对所述远程操作行为进行安全检测。
7.根据权利要求6所述的远程操作行为识别方法,其特征在于,所述根据所述远程操作行为的数据,对所述远程操作行为进行安全检测,包括:
将所述远程操作行为的数据传输至威胁行为识别引擎,得到安全检测结果。
8.根据权利要求7所述的远程操作行为识别方法,其特征在于,所述根据所述远程操作行为的数据,对所述远程操作行为进行安全检测,还包括:
根据所述远程操作行为的安全检测结果,对所述远程操作行为进行防护拦截。
9.一种远程操作行为识别装置,其特征在于,包括:确定模块、函数设置模块、解析模块、获取模块,其中:
确定模块,用于在对新创建进程的监控进程中,确定PsExec所创建的目标服务进程;
函数设置模块,用于为所述目标服务进程中的指定函数设置钩子函数;其中,所述指定函数用于实现基于PIPE管道的通信;
解析模块,用于在所述目标服务进程的通信过程中,通过所述钩子函数获取并解析远程通信的PsExec协议数据;
获取模块,用于根据所述远程通信的PsExec协议数据的解析结果,获取远程操作行为的数据。
10.一种电子设备,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现如权利要求1至8任一项所述一种远程操作行为识别方法的步骤。
11.一种非暂态计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至8任一项所述一种远程操作行为识别方法的步骤。
12.一种计算机程序产品,包括计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至8任一项所述一种远程操作行为识别方法的步骤。
CN202111509963.0A 2021-12-10 远程操作行为识别方法、装置、电子设备及存储介质 Active CN114465753B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202111509963.0A CN114465753B (zh) 2021-12-10 远程操作行为识别方法、装置、电子设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202111509963.0A CN114465753B (zh) 2021-12-10 远程操作行为识别方法、装置、电子设备及存储介质

Publications (2)

Publication Number Publication Date
CN114465753A true CN114465753A (zh) 2022-05-10
CN114465753B CN114465753B (zh) 2024-06-28

Family

ID=

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8127316B1 (en) * 2006-11-30 2012-02-28 Quest Software, Inc. System and method for intercepting process creation events
US20170244754A1 (en) * 2016-02-19 2017-08-24 Secureworks Corp. System and Method for Detecting and Monitoring Thread Creation
CN109067815A (zh) * 2018-11-06 2018-12-21 深信服科技股份有限公司 攻击事件溯源分析方法、系统、用户设备及存储介质
CN109753791A (zh) * 2018-12-29 2019-05-14 北京奇虎科技有限公司 恶意程序检测方法及装置
CN111191224A (zh) * 2019-07-08 2020-05-22 腾讯科技(深圳)有限公司 虚拟机检测的对抗方法、装置及计算机可读存储介质
CN111273967A (zh) * 2019-12-30 2020-06-12 上海上讯信息技术股份有限公司 适用于Android系统的远程钩子设置方法、装置及电子设备
CN112351017A (zh) * 2020-10-28 2021-02-09 北京奇虎科技有限公司 横向渗透防护方法、装置、设备及存储介质
CN112929365A (zh) * 2021-02-05 2021-06-08 深信服科技股份有限公司 一种远程命令检测方法、装置及电子设备

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8127316B1 (en) * 2006-11-30 2012-02-28 Quest Software, Inc. System and method for intercepting process creation events
US20170244754A1 (en) * 2016-02-19 2017-08-24 Secureworks Corp. System and Method for Detecting and Monitoring Thread Creation
CN109067815A (zh) * 2018-11-06 2018-12-21 深信服科技股份有限公司 攻击事件溯源分析方法、系统、用户设备及存储介质
CN109753791A (zh) * 2018-12-29 2019-05-14 北京奇虎科技有限公司 恶意程序检测方法及装置
CN111191224A (zh) * 2019-07-08 2020-05-22 腾讯科技(深圳)有限公司 虚拟机检测的对抗方法、装置及计算机可读存储介质
CN111273967A (zh) * 2019-12-30 2020-06-12 上海上讯信息技术股份有限公司 适用于Android系统的远程钩子设置方法、装置及电子设备
CN112351017A (zh) * 2020-10-28 2021-02-09 北京奇虎科技有限公司 横向渗透防护方法、装置、设备及存储介质
CN112929365A (zh) * 2021-02-05 2021-06-08 深信服科技股份有限公司 一种远程命令检测方法、装置及电子设备

Similar Documents

Publication Publication Date Title
CN111984975B (zh) 基于拟态防御机制的漏洞攻击检测系统、方法及介质
CN111651754B (zh) 入侵的检测方法和装置、存储介质、电子装置
US11120124B2 (en) Method for detecting a deviation of a security state of a computing device from a desired security state
CN109727027B (zh) 账户识别方法、装置、设备及存储介质
CN110933103A (zh) 反爬虫方法、装置、设备和介质
CN110806965A (zh) 自动测试方法、装置、设备和介质
CN110881051A (zh) 安全风险事件处理方法、装置、设备及存储介质
CN109039812B (zh) 端口检测方法、系统和计算机可读存储介质
CN113886814A (zh) 一种攻击检测方法及相关装置
CN111125708B (zh) 漏洞检测方法及装置
CN113239366B (zh) 一种电力工控设备的漏洞无损检测方法及系统
CN111327632B (zh) 一种僵尸主机检测方法、系统、设备及存储介质
CN111291377A (zh) 一种应用漏洞的检测方法及系统
CN112087455B (zh) 一种waf站点防护规则生成方法、系统、设备及介质
CN114465753A (zh) 远程操作行为识别方法、装置、电子设备及存储介质
CN114465753B (zh) 远程操作行为识别方法、装置、电子设备及存储介质
CN111538994A (zh) 一种系统安全检测及修复方法、装置、存储介质及终端
KR101624276B1 (ko) 모바일 어플리케이션의 아이콘 도용 여부를 탐지하는 방법 및 그 장치
CN115062304A (zh) 风险识别方法、装置、电子设备及可读存储介质
CN113190836A (zh) 一种基于本地命令执行的web攻击行为检测方法及系统
CN111027053A (zh) 一种Android应用程序具有防Activity劫持的检测方法和系统
CN110706221A (zh) 图片定制化的验证方法、验证设备、存储介质及装置
CN113806789A (zh) 一种基于游戏内存隐私保护系统
CN116347046B (zh) 基于可视化移动终端控制的家庭监护方法及系统
CN111427767A (zh) 应用系统的攻击测试方法、装置、计算机设备和存储介质

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
CB02 Change of applicant information

Country or region after: China

Address after: Room 332, 3 / F, Building 102, 28 xinjiekouwei street, Xicheng District, Beijing 100088

Applicant after: QAX Technology Group Inc.

Applicant after: Qianxin Wangshen information technology (Beijing) Co.,Ltd.

Address before: Room 332, 3 / F, Building 102, 28 xinjiekouwei street, Xicheng District, Beijing 100088

Applicant before: QAX Technology Group Inc.

Country or region before: China

Applicant before: LEGENDSEC INFORMATION TECHNOLOGY (BEIJING) Inc.

CB02 Change of applicant information
GR01 Patent grant