CN111431887B - 一种反向Shell的监测方法、装置、终端设备及介质 - Google Patents

一种反向Shell的监测方法、装置、终端设备及介质 Download PDF

Info

Publication number
CN111431887B
CN111431887B CN202010195535.4A CN202010195535A CN111431887B CN 111431887 B CN111431887 B CN 111431887B CN 202010195535 A CN202010195535 A CN 202010195535A CN 111431887 B CN111431887 B CN 111431887B
Authority
CN
China
Prior art keywords
communication
key
data
host
control host
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.)
Active
Application number
CN202010195535.4A
Other languages
English (en)
Other versions
CN111431887A (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.)
Sangfor Technologies Co Ltd
Original Assignee
Sangfor Technologies 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 Sangfor Technologies Co Ltd filed Critical Sangfor Technologies Co Ltd
Priority to CN202010195535.4A priority Critical patent/CN111431887B/zh
Publication of CN111431887A publication Critical patent/CN111431887A/zh
Application granted granted Critical
Publication of CN111431887B publication Critical patent/CN111431887B/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/12Applying verification of the received information
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/06Network architectures or network communication protocols for network security for supporting key management in a packet data network
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer And Data Communications (AREA)

Abstract

本申请公开了一种反向Shell的监测方法、装置、终端设备及介质,该方法首先是获取目标主机接收到的通信数据,从而判断通信数据中是否包含有表征传输密钥行为的数据,如果有,则确定发送通信数据的控制主机以确定该通信数据的来源,然后再获取目标主机与控制主机通信所采用的通信密钥,通过该通信密钥就可以解密控制主机发送至目标主机的请求数据,从而可以对请求数据进行验证以确定是否进行反向Shell。由此可见,本技术方案,通过与目标主机的通信流量入手,并不是直接针对静态文件,所以即使静态文件被加壳和混淆处理,也能够通过通信密钥还原静态文件,能够规避直接对静态文件进行检测所带来的困难。

Description

一种反向Shell的监测方法、装置、终端设备及介质
技术领域
本申请涉及计算机技术领域,特别是涉及一种反向Shell的监测方法、装置、终端设备及介质。
背景技术
Shell是指为使用者提供操作界面的软件(命令解析器),它类似于磁盘操作系统(DOS)下的command.com和后来的cmd.exe。反向Shell是一种往远程机器发送Shell命令的技术,由于反向Shell能够绕过防火墙等其它防御措施,进而对远程机器执行root命令,所以对于反向Shell的监测及其重要。
在特定网络环境中,往往一台主机需要与其它主机建立网络连接,实现特定的功能,在此环境下,该主机就会面临被其它主机实施反向Shell的操作。现有技术中,为了监测是否存在反向Shell,通常采用的方法是利用杀毒软件扫描两个主机传输的文件,但是当文件被做过杀毒软件免杀的操作后,例如加壳或混淆处理,使得杀毒软件无法进行有效监测。
由此可见,如何有效监测反向Shell是本领域技术人员亟待解决的问题。
发明内容
本申请的目的是提供一种反向Shell的监测方法、装置、终端设备及介质,能够监测被加壳和混淆处理的反向Shell。
为解决上述技术问题,本申请提供一种反向Shell的监测方法,包括:
获取目标主机接收到的通信数据;
当所述通信数据中包含有表征传输密钥行为的数据时,确定发送所述通信数据的控制主机;
获取所述目标主机与所述控制主机通信所采用的通信密钥;
利用所述通信密钥解密所述控制主机发送至所述目标主机的请求数据以便进行验证。
优选地,所述通信密钥为对称加密算法的密钥,所述传输密钥行为具体为传输所述控制主机的公钥;
所述获取所述目标主机与所述控制主机通信所采用的通信密钥包括:
断开所述目标主机与所述控制主机的网络连接;
分别与所述目标主机和控制主机建立网络连接;
向所述目标主机发送第一公钥;
获取所述目标主机发送的加密数据,其中,所述加密数据为通过所述第一公钥将所述通信密钥加密的数据;
利用与所述第一公钥对应的私钥解密所述加密数据以得到所述通信密钥;
向所述控制主机发送获取公钥的请求;
获取所述控制主机发送的第二公钥;
利用所述第二公钥将所述通信密钥加密,并发送至所述控制主机,以便所述控制主机利用与所述第二公钥对应的私钥解密以得到所述通信密钥。
优选地,还包括:
接收所述目标主机发送至所述控制主机的响应数据;
通过所述通信密钥解密所述响应数据,并存储解密后的响应数据;
将解密后的响应数据通过所述通信密钥再次加密,并发送至所述控制主机。
优选地,当所述通信数据中包含有表征传输密钥行为的数据时,还包括:
存储表征所述传输密钥行为的数据。
优选地,所述利用所述通信密钥解密所述控制主机发送至所述目标主机的请求数据以便进行验证包括:
接收所述控制主机发送至所述目标主机的请求数据;
通过所述通信密钥解密所述请求数据,并存储解密后的请求数据;
当所述请求数据为表征动态链接库文件的数据,且所述动态链接库文件的特征符合反向Shell的特征时,确定存在反向Shell;
将解密后的请求数据通过所述通信密钥再次加密,并发送至所述目标主机。
优选地,当确定存在反向Shell后,还包括:
将所述动态链接库文件存储;
确定所述动态链接库文件的攻击属性。
优选地,所述确定发送所述通信数据的控制主机包括:
通过五元组参数确定发送所述通信数据的控制主机。
为解决上述技术问题,本申请提供一种反向Shell的监测装置,包括:
第一获取模块,用于获取目标主机接收到的通信数据;
记录模块,用于当所述通信数据中包含有表征传输密钥行为的数据时,确定发送所述通信数据的控制主机;
第二获取模块,用于获取所述目标主机与所述控制主机通信所采用的通信密钥;
监测模块,用于利用所述通信密钥解密所述控制主机发送至所述目标主机的请求数据以便进行验证。
为解决上述技术问题,本申请提供一种终端设备,包括存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序时实现如所述的反向Shell的监测方法的步骤。
为解决上述技术问题,本申请提供一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如所述的反向Shell的监测方法的步骤。
本申请所提供的反向Shell的监测方法,首先是获取目标主机接收到的通信数据,从而判断通信数据中是否包含有表征传输密钥行为的数据,如果有,则确定发送通信数据的控制主机以确定该通信数据的来源,然后再获取目标主机与控制主机通信所采用的通信密钥,通过该通信密钥就可以解密控制主机发送至目标主机的请求数据,从而可以对请求数据进行验证以确定是否进行反向Shell。由此可见,本技术方案,通过与目标主机的通信流量入手,并不是直接针对静态文件,所以即使静态文件被加壳和混淆处理,也能够通过通信密钥还原静态文件,能够规避直接对静态文件进行检测所带来的困难。
此外,本申请提供的反向Shell的监测装置、终端设备及计算机存储介质与上述方法相对应,效果同上。
附图说明
为了更清楚地说明本申请实施例,下面将对实施例中所需要使用的附图做简单的介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本申请实施例提供的一种反向Shell的监测方法的流程图;
图2为本申请实施例提供的目标主机与控制主机正常的交互时序图;
图3为本申请实施例提供的一种终端设备与目标主机和控制主机交互的示意图;
图4为本申请实施例提供的一种反向Shell的监测装置的结构图;
图5为本申请实施例提供的一种终端设备的结构图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下,所获得的所有其他实施例,都属于本申请保护范围。
本申请的核心是提供一种反向Shell的监测方法、装置、终端设备及介质。
为了使本技术领域的人员更好地理解本申请方案,下面结合附图和具体实施方式对本申请作进一步的详细说明。
本申请提供的反向Shell的监测方法可以应用于通过网络连接的任意两台主机,例如,可以是基于内网场景中两台网络连接的主机。为了进行区别,两台主机分别为目标主机和控制主机,其中,目标主机是控制主机要进行反向Shell的对象。在具体实施中,反向Shell的监测方法可以由除目标主机和控制主机之外的第三主机来实现,也可称之为终端设备,在此场景下,需要用户预先在目标主机上进行权限配置,以便终端设备可以获取目标主机的通信数据,进行反向Shell的监测。可以理解的是,以上的权限配置可以由用户灵活调整,即可以开通反向Shell的监测功能,也可以关闭反向Shell的监测功能。在这里,这个终端设备可以和目标主机集成,也可以和控制主机集成,或者也可以是独立的终端设备。
图1为本申请实施例提供的一种反向Shell的监测方法的流程图。如图1所示,该方法包括:
S10:获取目标主机接收到的通信数据。
在具体实施中,目标主机可以与多个主机进行网络连接,因此,目标主机接收到的通信数据可以来自多个主机,通过目标主机开放的权限就可以获取目标主机接收到的全部通信数据。
S11:当通信数据中包含有表征传输密钥行为的数据时,确定发送通信数据的控制主机。
需要说明的是,与目标主机网络连接的主机并非都会进行反向Shell,所以目标主机接收到的通信数据也不一定都是可疑对象。本步骤中,通过判断通信数据中是否包含有表征传输密钥行为的数据来锁定可疑主机,即控制主机。可以理解的是,如果进行反向Shell时,对应的数据没有加壳或混淆,则可以利用预先存储的杀毒软件进行查杀,但是如果对应的数据被加壳或混淆,则控制主机发送至目标主机的通信数据中必然是包含有密钥传输行为的数据,也就是说,控制主机必然要与目标主机进行密钥协商,否则,当控制主机对数据进行加壳或混淆处理后,目标主机无法正确解密对应的数据,也就无法实现控制主机反向Shell的目的。换句话说,只要控制主机要通过对数据进行加壳或混淆的方式进行反向Shell,其前提一定要与目标主机进行密钥协商,也就是说发送至目标主机的通信数据一定会包含有表征密钥传输行为的数据。
在具体实施中,可以预先建立检测规则库,该规则库中包含有相应的特征,通过判断通信数据中的特征是否与检测规则库中的特征相匹配实现对通信数据的识别。如果当前通信数据不存在密钥传输行为,则返回继续检测,直到检测到通信数据中包含有表征传输密钥行为的数据。当检测到有密钥传输行为时,需要进一步确定包含该密钥传输行为的通信数据是由哪个主机发送的,此时,该主机就是控制主机。可以理解的是,确定发送通信数据的控制主机有多种方法,可以是IP地址等,本实施例不作限定。作为优选地实施方式,确定发送通信数据的控制主机具体是通过五元组参数,即源IP地址、源端口、目的IP地址、目的端口和传输层协议这五个量组成的一个集合。采用五元组参数的好处在于,当Shell后门通过例如域名解析系统隧道此类用户数据报协议进行数据传输时,可以准确识别流量的归属性。
S12:获取目标主机与控制主机通信所采用的通信密钥。
在上文中,提到了,既然控制主机要与目标主机进行密钥传输行为,则该密钥传输行为的目的就是要与目标主机协商密钥,而至于所用到的密钥是直接放在有密钥传输行为对应的数据中,还是采用其它方式,本实施例不做限定。本步骤中,只是要获取二者在以后的通信数据中采用的通信密钥即可。需要说明的是,至于如何获取,本实施例不作限定,可以是目标主机开放对应的权限,从而将通信密钥告知终端设备,也可以由下文中提到的方法实现。
S13:利用通信密钥解密控制主机发送至目标主机的请求数据以便进行验证。
由于在上一步骤中得到了控制主机与目标主机的采用的通信密钥,所以二者的通信数据都可以通过通信密钥进行解密,所以对于中间来说,控制主机发送至目标主机的请求数据不再是加壳或混淆处理的数据,相当于是明文数据,进一步对明文数据进行判断就可以确定是否为真正的反向Shell。
需要说明的是,本申请中提到的请求数据是与响应数据进行区分,请求数据是控制主机发送至目标主机的数据,而响应数据是目标主机发送至控制主机的数据。
本实施例提供的反向Shell的监测方法,首先是获取目标主机接收到的通信数据,从而判断通信数据中是否包含有表征传输密钥行为的数据,如果有,则确定发送通信数据的控制主机以确定该通信数据的来源,然后再获取目标主机与控制主机通信所采用的通信密钥,通过该通信密钥就可以解密控制主机发送至目标主机的请求数据,从而可以对请求数据进行验证以确定是否进行反向Shell。由此可见,本技术方案,通过与目标主机的通信流量入手,并不是直接针对静态文件,所以即使静态文件被加壳和混淆处理,也能够通过通信密钥还原静态文件,能够规避直接对静态文件进行检测所带来的困难。
上述实施例中,对于传输密钥行为中的密钥不作限定,本实施例中,传输密钥行为具体为传输控制主机的公钥,通信密钥为对称加密算法的密钥。图2为本申请实施例提供的目标主机与控制主机正常的交互时序图。如图2所示,交互的步骤如下:
S20:控制主机将自身的公钥传输至目标主机;
S21:目标主机用该公钥将自己生成的通信密钥加密;
S22:目标主机将加密后的通信密钥发送至控制主机;
S23:控制主机利用自身的私钥将加密后的通信密钥解密得到通信密钥,并利用通信密钥将请求数据加密;
S24:控制主机将加密后的请求数据发送至目标主机;
S25:目标主机利用通信密钥将加密后的请求数据解密得到请求数据,并执行请求数据得到对应的响应数据,利用通信密钥将响应数据加密;
S26:目标主机将加密后的响应数据发送至控制主机;
S27:控制主机利用通信密钥将加密后的响应数据解密。
以上步骤是目标主机和控制主机的交互过程,可以理解的是,以上步骤有的可以重复执行,本实施例不再赘述。本实施中,之所以在密钥传输行为中传输的是公钥,是因为公钥和私钥是成对使用的,是非对称加密算法,安全性更好,但是加密和解密过程的计算量较大,所以适合加密数据量较小的数据,并且通信密钥是对称加密算法的密钥,本申请数据量较小,适合用公钥加密,能够提供密钥的安全性。目标主机和控制主机传输的请求数据和响应数据的数据量较大,如果采用非对称加密算法,则会造成加密和解密过程的计算量过大,而采用对称加密算法,则能够降低计算量。本实施例中,非对称加密算法可以为RSA加密算法,对称加密算法可以为高级加密标准(AES)。
在此基础上,作为优选地实施方式,获取目标主机与控制主机通信所采用的通信密钥包括:
断开目标主机与控制主机的网络连接;
分别与目标主机和控制主机建立网络连接;
向目标主机发送第一公钥;
获取目标主机发送的加密数据,其中,加密数据为通过第一公钥将通信密钥加密的数据;
利用与第一公钥对应的私钥解密加密数据以得到通信密钥;
向控制主机发送获取公钥的请求;
获取控制主机发送的第二公钥;
利用第二公钥将通信密钥加密,并发送至控制主机,以便控制主机利用与第二公钥对应的私钥解密以得到通信密钥。
图3为本申请实施例提供的一种终端设备与目标主机和控制主机交互的示意图。如图3所示,对于终端设备来说,断开目标主机与控制主机的网络连接后,目标主机与控制主机所使用的通信密钥和公钥都会时效,所以终端设备要重新得到通信密钥。目标主机的工作方式之一就是接收到公钥,就会将用公钥加密通信密钥,并发送至对方,所以终端设备向目标主机发送第一公钥,目标主机就会利用第一公钥加密新的通信密钥发送至终端设备,此时,相当于终端设备与目标主机协商好通信密钥。由于真正的控制端为控制主机,所以还需要将通信密钥告知控制主机,具体为:终端设备向控制主机发送获取公钥的请求,则控制主机就向终端设备返回第二公钥。目标主机在接收到第二公钥后,按照目标主机接收到公钥的流程将通信密钥采用第二公钥加密,并发送至控制主机,控制主机就会利用与第二公钥对应的私钥解密,从而得到通信密钥。此时,相当于目标主机、终端设备和控制主机都协商好通信密钥,那么后续的交互都可以将相应的数据通过通信密钥加密或解密。对于目标主机来说,由于获取到了目标主机和终端设备的通信密钥,所以对于二者传输的数据都可以解密,进而可以判断是否存在反向Shell。
需要说明的是,以上步骤是获取目标主机与控制主机通信所采用的通信密钥的几个必要步骤,但是这些步骤并没有严格的执行顺序,例如,可以先向控制主机发送获取公钥的请求以便获取第二公钥,然后再向目标主机发送第一公钥,在拿到通信密钥后,再利用第二公钥将通信密钥加密,并发送至控制主机。也就是说,以上步骤只要满足逻辑上的顺序关系即可,具体的执行顺序不作限定。
在上述实施例的基础上,还包括:
接收目标主机发送至控制主机的响应数据;
通过通信密钥解密响应数据,并存储解密后的响应数据;
将解密后的响应数据通过通信密钥再次加密,并发送至控制主机。
为了更好的掌握控制主机和目标主机的控制过程,本实施例中,将目标主机的响应数据发送至控制主机,控制主机在接收到响应数据后,可以进行下一请求数据的发送。此外,通过将解密后的响应数据存储,可以为后续追溯提供数据支持。
在上述实施例的基础上,当通信数据中包含有表征传输密钥行为的数据时,还包括:存储表征传输密钥行为的数据。通过存储表征密钥传输行为的数据可以方便进行后续追溯。
在上述实施例的基础上,利用通信密钥解密控制主机发送至目标主机的请求数据以便进行验证包括:
接收控制主机发送至目标主机的请求数据;
通过通信密钥解密请求数据,并存储解密后的请求数据;
当请求数据为表征动态链接库文件的数据,且动态链接库文件的特征符合反向Shell的特征时,确定存在反向Shell;
将解密后的请求数据通过通信密钥再次加密,并发送至目标主机。
本实施例中,是对请求数据进行特征检测,如果控制主机要对目标主机进行反向Shell,则请求数据中会包含有动态链接库文件,并且动态链接库文件符合反向Shell的特征。通过存储解密后的请求数据可以还原攻击指令,保留了控制主机的攻击记录,为后期溯源取证提供了帮助。此外,将解密后的请求数据通过通信密钥再次加密,并发送至目标主机,使能目标主机与控制主机之间能够实现正常通信。
进一步的,当确定存在反向Shell后,还包括:
将动态链接库文件存储;
确定动态链接库文件的攻击属性。
本实施例中,确定动态链接库文件的攻击属性可以利用现有的杀毒软件实现,具体采用何种杀毒软件,本实施例不作限定。
在上述实施例中,对于反向Shell的监测方法进行了详细描述,本申请还提供反向Shell的监测装置对应的实施例。图4为本申请实施例提供的一种反向Shell的监测装置的结构图。如图4所示,该装置包括:
第一获取模块10,用于获取目标主机接收到的通信数据;
记录模块11,用于当通信数据中包含有表征传输密钥行为的数据时,确定发送通信数据的控制主机;
第二获取模块12,用于获取目标主机与控制主机通信所采用的通信密钥;
监测模块13,用于利用通信密钥解密控制主机发送至目标主机的请求数据以便进行验证。
作为优选地实施方式,该装置还包括:
接收模块,用于接收所述目标主机发送至所述控制主机的响应数据;
解密模块,用于通过所述通信密钥解密所述响应数据,并存储解密后的响应数据;
加密模块,用于将解密后的响应数据通过所述通信密钥再次加密,并发送至所述控制主机。
作为优选地实施方式,当所述通信数据中包含有表征传输密钥行为的数据时,该装置还包括:
存储模块,用于存储表征所述传输密钥行为的数据。
作为优选地实施方式,所述存储模块,还用于当确定存在反向Shell后,将所述动态链接库文件存储;
确定模块,用于确定所述动态链接库文件的攻击属性。
由于装置部分的实施例与方法部分的实施例相互对应,因此装置部分的实施例请参见方法部分的实施例的描述,这里暂不赘述。
本实施例提供的反向Shell的监测装置,首先是获取目标主机接收到的通信数据,从而判断通信数据中是否包含有表征传输密钥行为的数据,如果有,则确定发送通信数据的控制主机以确定该通信数据的来源,然后再获取目标主机与控制主机通信所采用的通信密钥,通过该通信密钥就可以解密控制主机发送至目标主机的请求数据,从而可以对请求数据进行验证以确定是否进行反向Shell。由此可见,本技术方案,通过与目标主机的通信流量入手,并不是直接针对静态文件,所以即使静态文件被加壳和混淆处理,也能够通过通信密钥还原静态文件,能够规避直接对静态文件进行检测所带来的困难。
图5为本申请实施例提供的一种终端设备的结构图,如图5所示,终端设备包括:存储器20,用于存储计算机程序;
处理器21,用于执行计算机程序时实现如上述实施例中的反向Shell的监测方法的步骤。
本实施例提供的终端设备可以包括但不限于笔记本电脑或台式电脑等。
其中,处理器21可以包括一个或多个处理核心,比如4核心处理器、8核心处理器等。处理器21可以采用DSP(Digital Signal Processing,数字信号处理)、FPGA(Field-Programmable Gate Array,现场可编程门阵列)、PLA(Programmable Logic Array,可编程逻辑阵列)中的至少一种硬件形式来实现。处理器21也可以包括主处理器和协处理器,主处理器是用于对在唤醒状态下的数据进行处理的处理器,也称CPU(Central ProcessingUnit,中央处理器);协处理器是用于对在待机状态下的数据进行处理的低功耗处理器。在一些实施例中,处理器21可以在集成有GPU(Graphics Processing Unit,图像处理器),GPU用于负责显示屏所需要显示的内容的渲染和绘制。一些实施例中,处理器21还可以包括AI(Artificial Intelligence,人工智能)处理器,该AI处理器用于处理有关机器学习的计算操作。
存储器20可以包括一个或多个计算机可读存储介质,该计算机可读存储介质可以是非暂态的。存储器20还可包括高速随机存取存储器,以及非易失性存储器,比如一个或多个磁盘存储设备、闪存存储设备。本实施例中,存储器20至少用于存储以下计算机程序201,其中,该计算机程序被处理器21加载并执行之后,能够实现前述任一实施例公开的反向Shell的监测方法的相关步骤。另外,存储器20所存储的资源还可以包括操作系统202和数据203等,存储方式可以是短暂存储或者永久存储。其中,操作系统202可以包括Windows、Unix、Linux等。数据203可以包括但不限于通信数据等。
在一些实施例中,终端设备还可包括有显示屏22、输入输出接口23、通信接口24、电源25以及通信总线26。
本领域技术人员可以理解,图5中示出的结构并不构成对终端设备的限定,可以包括比图示更多或更少的组件。
本申请实施例提供的终端设备,包括存储器和处理器,处理器在执行存储器存储的程序时,能够实现如下方法:首先是获取目标主机接收到的通信数据,从而判断通信数据中是否包含有表征传输密钥行为的数据,如果有,则确定发送通信数据的控制主机以确定该通信数据的来源,然后再获取目标主机与控制主机通信所采用的通信密钥,通过该通信密钥就可以解密控制主机发送至目标主机的请求数据,从而可以对请求数据进行验证以确定是否进行反向Shell。由此可见,本技术方案,通过与目标主机的通信流量入手,并不是直接针对静态文件,所以即使静态文件被加壳和混淆处理,也能够通过通信密钥还原静态文件,能够规避直接对静态文件进行检测所带来的困难。
最后,本申请还提供一种计算机可读存储介质对应的实施例。计算机可读存储介质上存储有计算机程序,计算机程序被处理器执行时实现如上述方法实施例中记载的反向Shell的监测方法的步骤。
可以理解的是,如果上述实施例中的方法以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
以上对本申请所提供的反向Shell的监测方法、装置及介质进行了详细介绍。说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。应当指出,对于本技术领域的普通技术人员来说,在不脱离本申请原理的前提下,还可以对本申请进行若干改进和修饰,这些改进和修饰也落入本申请权利要求的保护范围内。
还需要说明的是,在本说明书中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。

Claims (10)

1.一种反向Shell的监测方法,其特征在于,包括:
获取目标主机接收到的通信数据;
当所述通信数据中包含有表征传输密钥行为的数据时,确定发送所述通信数据的控制主机;
获取所述目标主机与所述控制主机通信所采用的通信密钥;
利用所述通信密钥解密所述控制主机发送至所述目标主机的请求数据以便进行验证;
其中,所述传输密钥行为具体为传输所述控制主机的公钥;所述获取所述目标主机与所述控制主机通信所采用的通信密钥包括:
断开所述目标主机与所述控制主机的网络连接;
分别与所述目标主机和控制主机建立网络连接;
向所述目标主机发送第一公钥;
获取所述目标主机发送的加密数据,其中,所述加密数据为通过所述第一公钥将所述通信密钥加密的数据;
利用与所述第一公钥对应的私钥解密所述加密数据以得到所述通信密钥;
向所述控制主机发送获取公钥的请求;
获取所述控制主机发送的第二公钥;
利用所述第二公钥将所述通信密钥加密,并发送至所述控制主机,以便所述控制主机利用与所述第二公钥对应的私钥解密以得到所述通信密钥。
2.根据权利要求1所述的监测方法,其特征在于,所述通信密钥为对称加密算法的密钥。
3.根据权利要求2所述的监测方法,其特征在于,还包括:
接收所述目标主机发送至所述控制主机的响应数据;
通过所述通信密钥解密所述响应数据,并存储解密后的响应数据;
将解密后的响应数据通过所述通信密钥再次加密,并发送至所述控制主机。
4.根据权利要求1所述的监测方法,其特征在于,当所述通信数据中包含有表征传输密钥行为的数据时,还包括:
存储表征所述传输密钥行为的数据。
5.根据权利要求1所述的监测方法,其特征在于,所述利用所述通信密钥解密所述控制主机发送至所述目标主机的请求数据以便进行验证包括:
接收所述控制主机发送至所述目标主机的请求数据;
通过所述通信密钥解密所述请求数据,并存储解密后的请求数据;
当所述请求数据为表征动态链接库文件的数据,且所述动态链接库文件的特征符合反向Shell的特征时,确定存在反向Shell;
将解密后的请求数据通过所述通信密钥再次加密,并发送至所述目标主机。
6.根据权利要求5所述的监测方法,其特征在于,当确定存在反向Shell后,还包括:
将所述动态链接库文件存储;
确定所述动态链接库文件的攻击属性。
7.根据权利要求1所述的监测方法,其特征在于,所述确定发送所述通信数据的控制主机包括:
通过五元组参数确定发送所述通信数据的控制主机。
8.一种反向Shell的监测装置,其特征在于,包括:
第一获取模块,用于获取目标主机接收到的通信数据;
记录模块,用于当所述通信数据中包含有表征传输密钥行为的数据时,确定发送所述通信数据的控制主机;
第二获取模块,用于获取所述目标主机与所述控制主机通信所采用的通信密钥;
监测模块,用于利用所述通信密钥解密所述控制主机发送至所述目标主机的请求数据以便进行验证;
其中,所述传输密钥行为具体为传输所述控制主机的公钥;所述第二获取模块具体用于:断开所述目标主机与所述控制主机的网络连接;分别与所述目标主机和控制主机建立网络连接;向所述目标主机发送第一公钥;获取所述目标主机发送的加密数据,其中,所述加密数据为通过所述第一公钥将所述通信密钥加密的数据;利用与所述第一公钥对应的私钥解密所述加密数据以得到所述通信密钥;向所述控制主机发送获取公钥的请求;获取所述控制主机发送的第二公钥。
9.一种终端设备,其特征在于,包括存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序时实现如权利要求1至7任一项所述的反向Shell的监测方法的步骤。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1至7任一项所述的反向Shell的监测方法的步骤。
CN202010195535.4A 2020-03-19 2020-03-19 一种反向Shell的监测方法、装置、终端设备及介质 Active CN111431887B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010195535.4A CN111431887B (zh) 2020-03-19 2020-03-19 一种反向Shell的监测方法、装置、终端设备及介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010195535.4A CN111431887B (zh) 2020-03-19 2020-03-19 一种反向Shell的监测方法、装置、终端设备及介质

Publications (2)

Publication Number Publication Date
CN111431887A CN111431887A (zh) 2020-07-17
CN111431887B true CN111431887B (zh) 2022-09-30

Family

ID=71548142

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010195535.4A Active CN111431887B (zh) 2020-03-19 2020-03-19 一种反向Shell的监测方法、装置、终端设备及介质

Country Status (1)

Country Link
CN (1) CN111431887B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114884715A (zh) * 2022-04-27 2022-08-09 深信服科技股份有限公司 一种流量检测方法、检测模型训练方法、装置及相关设备

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101695038A (zh) * 2009-10-27 2010-04-14 联想网御科技(北京)有限公司 检测ssl加密数据安全性的方法及装置
US8856910B1 (en) * 2011-08-31 2014-10-07 Palo Alto Networks, Inc. Detecting encrypted tunneling traffic
CN107517183A (zh) * 2016-06-15 2017-12-26 华为技术有限公司 加密内容检测的方法和设备
CN108282551A (zh) * 2018-03-07 2018-07-13 成都众网行科技有限公司 报文识别处理方法、装置、监听设备及可读存储介质
CN109600226A (zh) * 2019-01-25 2019-04-09 中国人民解放军国防科技大学 基于随机数隐式协商的tls协议会话密钥还原方法
CN110581836A (zh) * 2018-06-11 2019-12-17 阿里巴巴集团控股有限公司 一种数据处理方法、装置及设备

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101695038A (zh) * 2009-10-27 2010-04-14 联想网御科技(北京)有限公司 检测ssl加密数据安全性的方法及装置
US8856910B1 (en) * 2011-08-31 2014-10-07 Palo Alto Networks, Inc. Detecting encrypted tunneling traffic
CN107517183A (zh) * 2016-06-15 2017-12-26 华为技术有限公司 加密内容检测的方法和设备
CN108282551A (zh) * 2018-03-07 2018-07-13 成都众网行科技有限公司 报文识别处理方法、装置、监听设备及可读存储介质
CN110581836A (zh) * 2018-06-11 2019-12-17 阿里巴巴集团控股有限公司 一种数据处理方法、装置及设备
CN109600226A (zh) * 2019-01-25 2019-04-09 中国人民解放军国防科技大学 基于随机数隐式协商的tls协议会话密钥还原方法

Also Published As

Publication number Publication date
CN111431887A (zh) 2020-07-17

Similar Documents

Publication Publication Date Title
WO2022126980A1 (zh) 一种数据传输方法、装置、终端及存储介质
US8966642B2 (en) Trust verification of a computing platform using a peripheral device
US8850216B1 (en) Client device and media client authentication mechanism
US9245154B2 (en) System and method for securing input signals when using touch-screens and other input interfaces
US20190018961A1 (en) Method for decrypting data encrypted by ransomware
CN110214440A (zh) 寻址可信执行环境
US9961048B2 (en) System and associated software for providing advanced data protections in a defense-in-depth system by integrating multi-factor authentication with cryptographic offloading
CN109558739B (zh) 程序运行方法、装置、终端及可读介质
CN110249336A (zh) 使用签名密钥对可信执行环境的寻址
US10581819B1 (en) Network traffic scanning of encrypted data
Taubmann et al. TLSkex: Harnessing virtual machine introspection for decrypting TLS communication
CN110166489B (zh) 一种物联网中数据传输方法、系统、设备及计算机介质
US11086986B2 (en) Processing control apparatus, processing control method, and non-transitory recoding medium
WO2020146081A1 (en) Private exchange of encrypted data over a computer network
US9444622B2 (en) Computing platform with system key
CN110235134A (zh) 使用洁净室供应来寻址可信执行环境
CN112165490A (zh) 一种加密方法、解密方法、存储介质及终端设备
WO2019134276A1 (zh) 一种保护网页代码的方法、存储介质、电子设备和系统
CN113141335B (zh) 网络攻击检测方法及装置
US20140108818A1 (en) Method of encrypting and decrypting session state information
US10735465B2 (en) Securing an endpoint in a computer network
CN111431887B (zh) 一种反向Shell的监测方法、装置、终端设备及介质
McLaren et al. Decrypting live SSH traffic in virtual environments
CN107992760B (zh) 秘钥写入方法、装置、设备及存储介质
KR101630462B1 (ko) 키보드 보안 장치 및 방법

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
GR01 Patent grant
GR01 Patent grant