CN116861418B - 面向32位Windows沙盒的渗透测试方法、装置、设备及存储介质 - Google Patents
面向32位Windows沙盒的渗透测试方法、装置、设备及存储介质 Download PDFInfo
- Publication number
- CN116861418B CN116861418B CN202311133695.6A CN202311133695A CN116861418B CN 116861418 B CN116861418 B CN 116861418B CN 202311133695 A CN202311133695 A CN 202311133695A CN 116861418 B CN116861418 B CN 116861418B
- Authority
- CN
- China
- Prior art keywords
- bit
- test program
- test
- execution
- sandbox
- 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
Links
- 244000035744 Hura crepitans Species 0.000 title claims abstract description 64
- 230000035515 penetration Effects 0.000 title claims abstract description 43
- 238000010998 test method Methods 0.000 title claims abstract description 15
- 238000012360 testing method Methods 0.000 claims abstract description 76
- 238000000034 method Methods 0.000 claims abstract description 35
- 238000012790 confirmation Methods 0.000 claims abstract description 7
- 238000012545 processing Methods 0.000 claims description 16
- 239000000758 substrate Substances 0.000 claims 1
- 230000007123 defense Effects 0.000 abstract description 3
- 230000006870 function Effects 0.000 description 9
- 238000004891 communication Methods 0.000 description 8
- 238000004590 computer program Methods 0.000 description 8
- 230000008569 process Effects 0.000 description 6
- 238000010586 diagram Methods 0.000 description 5
- 230000007246 mechanism Effects 0.000 description 4
- 230000006399 behavior Effects 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 230000000694 effects Effects 0.000 description 2
- 230000003993 interaction Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000001681 protective effect Effects 0.000 description 2
- 230000002159 abnormal effect Effects 0.000 description 1
- 238000004458 analytical method Methods 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 238000013473 artificial intelligence Methods 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000002955 isolation Methods 0.000 description 1
- 238000010801 machine learning Methods 0.000 description 1
- 239000013307 optical fiber Substances 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 230000001953 sensory effect Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/55—Detecting local intrusion or implementing counter-measures
- G06F21/554—Detecting local intrusion or implementing counter-measures involving event detection and direct action
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/52—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity ; Preventing unwanted data erasure; Buffer overflow
- G06F21/53—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity ; Preventing unwanted data erasure; Buffer overflow by executing in a restricted environment, e.g. sandbox or secure virtual machine
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/602—Providing cryptographic facilities or services
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/445—Program loading or initiating
- G06F9/44521—Dynamic linking or loading; Link editing at or after load time, e.g. Java class loading
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Health & Medical Sciences (AREA)
- Bioethics (AREA)
- General Health & Medical Sciences (AREA)
- Debugging And Monitoring (AREA)
- Storage Device Security (AREA)
Abstract
本公开的实施例提供了一种面向32位Windows沙盒的渗透测试方法、装置、设备及存储介质,应用于攻防技术领域,所述方法包括:将测试程序投入待测的32位Windows沙盒中;测试程序为32位测试程序并内嵌64位执行代码,64位执行代码为加密代码;使测试程序在沙盒中运行,并在运行中从32位模式切换至64位模式,执行64位执行代码进行相关测试;分析64位执行代码的执行情况,并根据执行情况生成渗透测试报告;其中,测试程序根据待测的32位Windows沙盒所在服务器的确认指令执行操作。以此方式,可以有效开展面向32位Windows沙盒的渗透测试。
Description
技术领域
本公开涉及计算机技术领域,进一步的涉及攻防技术领域,尤其涉及一种面向32位Windows沙盒的渗透测试方法、装置、设备及存储介质。
背景技术
渗透测试,是一项在计算机系统上进行的授权模拟攻击,旨在对其安全性进行评估,是为了证明网络防御按照预期计划正常运行而提供的一种机制。这个过程包括对系统的弱点、技术缺陷或漏洞的主动分析,这个分析是从一个攻击者可能存在的位置来进行的。
Windows系统普遍配置有沙盒,沙盒为恶意代码的运行提供隔离环境,沙盒一旦识别出恶意代码,则会告知系统,系统即不再运行恶意代码。但一些能够逃逸Windows沙盒的恶意代码随之而来,并对用户造成了一定的困扰。
因此,需要面向Windows沙盒进行全面有效的渗透测试,通过模拟恶意攻击的方法,及时明确潜在风险,以便相关人员及时做出针对性防护措施。
发明内容
本公开提供了一种面向32位Windows沙盒的渗透测试方法、装置、设备及存储介质。
根据本公开的第一方面,提供了一种面向32位Windows沙盒的渗透测试方法。该方法包括:
将测试程序投入待测的32位Windows沙盒中;测试程序为32位测试程序并内嵌64位执行代码,64位执行代码为加密代码;
使测试程序在沙盒中运行,并在运行中从32位模式切换至64位模式,执行64位执行代码进行相关测试;
分析64位执行代码的执行情况,并根据执行情况生成渗透测试报告;其中,
测试程序根据待测的32位Windows沙盒所在服务器的确认指令执行操作。
在第一方面的一些可实现方式中,64位执行代码中包含一个或多个用于完成测试任务的指令。
在第一方面的一些可实现方式中,在运行中从32位模式切换至64位模式,包括:
利用测试程序中的第一运行模式切换代码将测试程序从32位模式切换至64位模式运行。
在第一方面的一些可实现方式中,利用测试程序中的第一运行模式切换代码将测试程序从32位模式切换至64位模式运行,包括:
利用测试程序中的第一运行模式切换代码中的push指令和retf指令,对CPU中的CS段寄存器相关内容进行替换,以实现将测试程序从32位模式切换至64位模式运行。
在第一方面的一些可实现方式中,执行64位执行代码进行相关测试,包括:
利用测试程序中的64位shellcode解密64位执行代码,获取64位相关的Windows编程接口使64位执行代码进行相关测试。
在第一方面的一些可实现方式中,分析64位执行代码的执行情况,并根据执行情况生成渗透测试报告,包括:
分析64位执行代码的执行情况;
若接收到64位执行代码所反馈的测试任务完成信息,则利用测试程序中的第二运行模式切换代码将测试程序从64位模式切换至32位模式运行;并利用程序结束代码在32位模式中结束;
根据64位执行代码的执行情况生成渗透测试报告。
在第一方面的一些可实现方式中,利用第二运行模式切换代码将测试程序从64位模式切换至32位模式运行,包括:
利用测试程序中的第二运行模式切换代码中的pushi指令和retfq指令,对CPU中的CS段寄存器相关内容进行替换,使测试程序从64位模式切换至32位模式运行。
根据本公开的第二方面,提供了一种面向32位Windows沙盒的渗透测试装置。该装置包括:
第一处理模块,将测试程序投入待测的32位Windows沙盒中;测试程序为32位测试程序并内嵌64位执行代码,64位执行代码为加密代码;
第二处理模块,使测试程序在沙盒中运行,并在运行中从32位模式切换至64位模式,执行64位执行代码进行相关测试;
第三处理模块,分析64位执行代码的执行情况,并根据执行情况生成渗透测试报告;其中,
测试程序根据待测的32位Windows沙盒所在服务器的确认指令执行操作。
根据本公开的第三方面,提供了一种电子设备。该电子设备包括:至少一个处理器;以及与至少一个处理器通信连接的存储器;存储器存储有可被至少一个处理器执行的指令,指令被至少一个处理器执行,以使至少一个处理器能够执行如以上所述的方法。
根据本公开的第四方面,提供了一种存储有计算机指令的非瞬时计算机可读存储介质,计算机指令用于使计算机执行如以上所述的方法。
在本公开中,利用内嵌64位执行代码的32位测试程序对待测的32位Windows沙盒所在服务器进行渗透测试,以模拟恶意攻击行为的方式,对待测的32位Windows沙盒所在服务器的安全性进行全面地、有效地评估。
应当理解,发明内容部分中所描述的内容并非旨在限定本公开的实施例的关键或重要特征,亦非用于限制本公开的范围。本公开的其它特征将通过以下的描述变得容易理解。
附图说明
结合附图并参考以下详细说明,本公开各实施例的上述和其他特征、优点及方面将变得更加明显。附图用于更好地理解本方案,不构成对本公开的限定在附图中,相同或相似的附图标记表示相同或相似的元素,其中:
图1示出了本公开实施例提供的一种面向32位Windows沙盒的渗透测试方法的流程图;
图2示出了本公开实施例提供的一种面向32位Windows沙盒的渗透测试装置的框图;
图3示出了能够实施本公开的实施例的示例性电子设备的框图。
具体实施方式
为使本公开实施例的目的、技术方案和优点更加清楚,下面将结合本公开实施例中的附图,对本公开实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本公开一部分实施例,而不是全部的实施例。基于本公开中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的全部其他实施例,都属于本公开保护的范围。
另外,本文中术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,本文中字符“/”,一般表示前后关联对象是一种“或”的关系。
针对背景技术中提到的问题,本公开提供了一种面向32位Windows沙盒的渗透测试方法、装置、设备及存储介质。
具体地,将测试程序投入待测的32位Windows沙盒中;测试程序为32位测试程序并内嵌64位执行代码,64位执行代码为加密代码;使测试程序在沙盒中运行,并在运行中从32位模式切换至64位模式,执行64位执行代码进行相关测试;分析64位执行代码的执行情况,并根据执行情况生成渗透测试报告。以此方式,可以对待测的32位Windows沙盒所在服务器进行全面有效地测试,同时可以对逃逸沙盒的恶意软件的行为进行模拟和分析,以便相关人员及时做出针对性防护措施。
下面结合图1及具体实施例进行详细说明。
图1示出了本公开实施例提供的一种面向32位Windows沙盒的渗透测试方法的流程图;如图1所示,面向32位Windows沙盒的渗透测试方法100可以包括以下步骤:
S110,将测试程序投入待测的32位Windows沙盒中。
其中,测试程序为32位测试程序并内嵌64位执行代码,64位执行代码为加密代码。
具体地,与待测的32位Windows沙盒所在服务器进行基本的鉴权操作,鉴权操作完成后将测试程序投入待测的32位Windows沙盒中,该测试程序为32位测试程序并内嵌64位执行代码,64位执行代码为加密代码且其中包含一个或多个用于完成测试任务的指令。
进一步地,用于完成测试任务的指令可以是任意测试指令,例如:本地信息搜集指令、扫描指令、攻击指令或其他渗透测试指令。
根据本公开的实施例,使用32位测试程序内嵌64位加密执行代码进行测试,可以使测试结果更准确,使用包含一个或多个用于完成测试任务的指令的64位执行代码进行测试,可以使测试结果更加全面。
S120,使测试程序在沙盒中运行,并在运行中从32位模式切换至64位模式,执行64位执行代码进行相关测试。
具体地,使上述测试程序在沙盒中运行,并利用测试程序中的第一运行模式切换代码中的push指令和retf指令,对CPU中的CS段寄存器相关内容进行替换,以实现将测试程序从32位模式切换至64位模式运行。示例性地,若CS段寄存器为0x23,则表示以32位模式运行,若CS段寄存器为0x33,则表示以64位模式运行;因此,对CPU中的CS段寄存器相关内容进行替换可以是将CS段寄存器相关内容替换为0x33。
进一步地,利用测试程序中的64位shellcode解密64位执行代码,获取64位相关的Windows编程接口使64位执行代码进行相关测试。
可以理解的是,64位执行代码可以根据预设指令自动执行相关测试任务,也可以在解密后将控制权返回至相关测试平台,由相关测试平台的测试人员远程操控以进行远程自由测试。
根据本公开的实施例,64位执行代码可以根据预设指令完成测试任务,也可以由测试人员远程操控完成测试任务,相较于传统测试方法更加灵活。
S130,分析64位执行代码的执行情况,并根据执行情况生成渗透测试报告。
具体地,分析64位执行代码的执行情况;若接收到64位执行代码所反馈的测试任务完成信息,则利用测试程序中的第二运行模式切换代码将测试程序从64位模式切换至32位模式运行;并利用程序结束代码在32位模式中结束;根据64位执行代码的执行情况生成渗透测试报告。
其中,利用第二运行模式切换代码将测试程序从64位模式切换至32位模式运行,包括:
利用测试程序中的第二运行模式切换代码中的pushi指令和retfq指令,对CPU中的CS段寄存器相关内容进行替换,使测试程序从64位模式切换至32位模式运行。示例性地,对CPU中的CS段寄存器相关内容进行替换可以是将CS段寄存器相关内容替换为0x23。
进一步地,将生成的测试报告发送给用户,让用户可以清楚的了解到相关安全问题。
其中,测试程序根据待测的32位Windows沙盒所在服务器的确认指令执行上述操作。
下面给出一测试程序实例,如下所示:
首先,需要说明的是:
WOW64是一种64位操作系统提供的兼容32位程序的机制,它使得32位程序可以在64位的操作系统中执行代码,WOW64机制主要由3个动态链接库来实现,分别是wow64.dll、wow64cpu.dll和wow64win.dll。
Ntdll.dll是核心链接库,64位环境中有64位ntdll和32位ntdll两种,32位环境中只有32位ntdll这一种,但是32位环境中的ntdll和64位环境中的32位ntdll又是不同的,因此,在下文中我们称64位环境中的64位ntdll为 ntdll_64_64.dll,称64位环境中的32位ntdll为ntdll_64_32.dll,称32位环境中的ntdll为ntdll_32_32.dll,以此来方便区分。
Shellcode是地址无关代码,可以在任何地址运行的一种代码。
其次,编写所需测试程序的步骤可以如下所示:
A,编写32位测试程序代码,此部分代码主要功能是来模拟WOW64,处理好进入64位模式的细节。
B,细节处理结束后,编写测试程序中的第一运行模式切换代码,第一运行模式切换代码具体是通过push指令和retf指令来把CS段寄存器进行替换,使得CPU从32位模式进入64位模式。
C,编写测试程序中内嵌的64位执行代码,预设测试指令。
D,编写测试程序中的64位shellcode,这段shellcode用于解密执行代码,获取64位相关的Windows编程接口。
E,编写测试程序中的第二运行模式切换代码,第二运行模式切换代码具体是通过pushi指令和retfq指令,对CPU中的CS段寄存器相关内容进行替换,使测试程序从64位模式切换至32位模式运行。
F,编写使测试程序正常结束的程序结束代码。
在本实施例中,将编写好的测试程序命名为B.exe,完成与待测的32位Windows沙盒所在服务器的鉴权操作后,将B.exe投入待测的32位Windows沙盒中。
在待测的32位Windows沙盒中,B.exe会释放出提前存储好的64位环境下的wow64.dll、wow64cpu.dll、wow64win.dll、ntdll_64_32.dll四个动态链接库,同时,通过loadlibrary函数将四个动态链接库加载到进程空间当中,并使用第一运行模式切换代码,让原来要经过ntdll_32_32.dll的代码流程,变为经过ntdll_64_32.dll,切换之后调用CreateFile函数,流程就会转移到ntdll_64_32.dll当中,由于WOW64兼容性机制的存在,ntdll_64_32.dll又会去调用wow64.dll、wow64cpu.dll、wow64win.dll三个动态链接库当中与兼容机制相关的函数/代码,这些函数/代码又会去调用ntdll_64_64.dll动态链接库,由于待测的32位Windows沙盒中不存在ntdll_64_64.dll动态链接库,此时寻找ntdll_64_64.dll动态链接库的行为会导致沙盒程序出现异常,进而导致其崩溃;沙盒崩溃以后B.exe会在桌面创建一个指定名称的空文件夹,以表示已从沙盒中成功逃逸;接着利用64位shellcode解密64位执行代码获取64位相关的Windows编程接口使64位执行代码执行预设的测试指令以完成相关测试任务。
分析64位执行代码的执行情况,若接收到64位执行代码所反馈的测试任务完成信息,则利用第二运行模式切换代码将B.exe从64位模式切换至32位模式运行;并利用程序结束代码在32位模式中结束。
根据64位执行代码的执行情况生成渗透测试报告,并将生成的测试报告发送给用户。
根据本公开的实施例,实现了以下技术效果:
1、使用32位测试程序内嵌64位加密执行代码进行测试,可以使测试结果更准确,使用包含一个或多个用于完成测试任务的指令的64位执行代码进行测试,可以使测试结果更加全面。
2、64位执行代码可以根据预设指令完成测试任务,也可以由测试人员远程操控完成测试任务,相较于传统测试方法更加灵活。
3、可以对逃逸沙盒的恶意软件的行为进行模拟和分析,以便相关人员及时做出针对性防护措施。
需要说明的是,对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本公开并不受所描述的动作顺序的限制,因为依据本公开,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于可选实施例,所涉及的动作和模块并不一定是本公开所必须的。
以上是关于方法实施例的介绍,以下通过装置实施例,对本公开所述方案进行进一步说明。
图2示出了本公开实施例提供的一种面向32位Windows沙盒的渗透测试装置的框图。如图2所示,面向32位Windows沙盒的渗透测试装置200可以包括:
第一处理模块210,将测试程序投入待测的32位Windows沙盒中;测试程序为32位测试程序并内嵌64位执行代码,64位执行代码为加密代码。
第二处理模块220,使测试程序在沙盒中运行,并在运行中从32位模式切换至64位模式,执行64位执行代码进行相关测试。
第三处理模块230,分析64位执行代码的执行情况,并根据执行情况生成渗透测试报告。
其中,测试程序根据待测的32位Windows沙盒所在服务器的确认指令执行上述操作。
可以理解的是,图2所示的面向32位Windows沙盒的渗透测试装置200中的各个模块/单元具有实现本公开实施例提供的面向32位Windows沙盒的渗透测试方法100中的各个步骤的功能,并能达到其相应的技术效果,所述描述的模块的具体工作过程,可以参考前述方法实施例中的对应过程,为描述的方便和简洁,在此不再赘述。
根据本公开的实施例,本公开还提供了一种电子设备、一种可读存储介质和一种计算机程序产品。
图3示出了能够实施本公开的实施例的示例性电子设备的框图。如图3所示,电子设备300旨在表示各种形式的数字计算机,诸如,膝上型计算机、台式计算机、工作台、个人数字助理、服务器、刀片式服务器、大型计算机、和其它适合的计算机。电子设备还可以表示各种形式的移动装置,诸如,个人数字处理、蜂窝电话、智能电话、可穿戴设备和其它类似的计算装置。本文所示的部件、它们的连接和关系、以及它们的功能仅仅作为示例,并且不意在限制本文中描述的和/或者要求的本公开的实现。
电子设备300包括计算单元301,其可以根据存储在ROM302中的计算机程序或者从存储单元308加载到RAM303中的计算机程序,来执行各种适当的动作和处理。在RAM303中,还可存储电子设备300操作所需的各种程序和数据。计算单元301、ROM302以及RAM303通过总线304彼此相连。I/O接口305也连接至总线304。
电子设备300中的多个部件连接至I/O接口305,包括:输入单元306,例如键盘、鼠标等;输出单元307,例如各种类型的显示器、扬声器等;存储单元308,例如磁盘、光盘等;以及通信单元309,例如网卡、调制解调器、无线通信收发机等。通信单元309允许电子设备300通过诸如因特网的计算机网络和/或各种电信网络与其他设备交换信息/数据。
计算单元301可以是各种具有处理和计算能力的通用和/或专用处理组件。计算单元301的一些示例包括但不限于中央处理单元(CPU)、图形处理单元(GPU)、各种专用的人工智能(AI)计算芯片、各种运行机器学习模型算法的计算单元、数字信号处理器(DSP)、以及任何适当的处理器、控制器、微控制器等。计算单元301执行上文所描述的各个方法和处理,例如方法100。例如,在一些实施例中,方法100可被实现为计算机软件程序,其被有形地包含于机器可读介质,例如存储单元308。在一些实施例中,计算机程序的部分或者全部可以经由ROM302和/或通信单元309而被载入和/或安装到电子设备300上。当计算机程序加载到RAM303并由计算单元301执行时,可以执行上文描述的方法100的一个或多个步骤。备选地,在其他实施例中,计算单元301可以通过其他任何适当的方式(例如,借助于固件)而被配置为执行方法100。
本文中以上描述的系统和技术的各种实施方式可以在数字电子电路系统、集成电路系统、现场可编程门阵列(FPGA)、专用集成电路(ASIC)、专用标准产品(ASSP)、芯片上系统(SOC)、负载可编程逻辑设备(CPLD)、计算机硬件、固件、软件、和/或它们的组合中实现。这些各种实施方式可以包括:实施在一个或者多个计算机程序中,该一个或者多个计算机程序可在包括至少一个可编程处理器的可编程系统上执行和/或解释,该可编程处理器可以是专用或者通用可编程处理器,可以从存储系统、至少一个输入装置、和至少一个输出装置接收数据和指令,并且将数据和指令传输至该存储系统、该至少一个输入装置、和该至少一个输出装置。
用于实施本公开的方法的程序代码可以采用一个或多个编程语言的任何组合来编写。这些程序代码可以提供给通用计算机、专用计算机或其他可编程数据处理装置的处理器或控制器,使得程序代码当由处理器或控制器执行时使流程图和/或框图中所规定的功能/操作被实施。程序代码可以完全在机器上执行、部分地在机器上执行,作为独立软件包部分地在机器上执行且部分地在远程机器上执行或完全在远程机器或服务器上执行。
在本公开的上下文中,机器可读介质可以是有形的介质,其可以包含或存储以供指令执行系统、装置或设备使用或与指令执行系统、装置或设备结合地使用的程序。机器可读介质可以是机器可读信号介质或机器可读储存介质。机器可读介质可以包括但不限于电子的、磁性的、光学的、电磁的、红外的、或半导体系统、装置或设备,或者上述内容的任何合适组合。机器可读存储介质的更具体示例会包括基于一个或多个线的电气连接、便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦除可编程只读存储器(EPROM或快闪存储器)、光纤、便捷式紧凑盘只读存储器(CD-ROM)、光学储存设备、磁储存设备、或上述内容的任何合适组合。
为了提供与用户的交互,可以在计算机上实施此处描述的系统和技术,该计算机具有:用于向用户显示信息的显示装置;以及键盘和指向装置(例如,鼠标或者轨迹球),用户可以通过该键盘和该指向装置来将输入提供给计算机。其它种类的装置还可以用于提供与用户的交互;例如,提供给用户的反馈可以是任何形式的传感反馈(例如,视觉反馈、听觉反馈、或者触觉反馈);并且可以用任何形式(包括声输入、语音输入或者、触觉输入)来接收来自用户的输入。
可以将此处描述的系统和技术实施在包括后台部件的计算系统(例如,作为数据服务器)、或者包括中间件部件的计算系统(例如,应用服务器)、或者包括前端部件的计算系统(例如,具有图形用户界面或者网络浏览器的用户计算机,用户可以通过该图形用户界面或者该网络浏览器来与此处描述的系统和技术的实施方式交互)、或者包括这种后台部件、中间件部件、或者前端部件的任何组合的计算系统中。可以通过任何形式或者介质的数字数据通信(例如,通信网络)来将系统的部件相互连接。通信网络的示例包括:局域网(LAN)、广域网(WAN)和互联网。
计算机系统可以包括客户端和服务器。客户端和服务器一般远离彼此并且通常通过通信网络进行交互。通过在相应的计算机上运行并且彼此具有客户端-服务器关系的计算机程序来产生客户端和服务器的关系。服务器可以是云服务器,也可以为分布式系统的服务器,或者是结合了区块链的服务器。
应该理解,可以使用上面所示的各种形式的流程,重新排序、增加或删除步骤。例如,本公开中记载的各步骤可以并行地执行也可以顺序地执行也可以不同的次序执行,只要能够实现本公开公开的技术方案所期望的结果,本文在此不进行限制。
上述具体实施方式,并不构成对本公开保护范围的限制。本领域技术人员应该明白的是,根据设计要求和其他因素,可以进行各种修改、组合、子组合和替代。任何在本公开的精神和原则之内所作的修改、等同替换和改进等,均应包含在本公开保护范围之内。
Claims (10)
1.一种面向32位Windows沙盒的渗透测试方法,其特征在于,所述方法包括:
与待测的32位Windows沙盒所在服务器进行鉴权操作,鉴权操作完成后将测试程序投入待测的32位Windows沙盒中;所述测试程序为32位测试程序并内嵌64位执行代码,所述64位执行代码为加密代码;
使所述测试程序在所述沙盒中运行,并在运行中从32位模式切换至64位模式,执行所述64位执行代码进行相关测试;
分析所述64位执行代码的执行情况,并根据所述执行情况生成渗透测试报告;其中,
所述测试程序根据待测的32位Windows沙盒所在服务器的确认指令执行操作。
2.根据权利要求1所述的方法,其特征在于,
所述64位执行代码中包含一个或多个用于完成测试任务的指令。
3.根据权利要求1所述的方法,其特征在于,所述在运行中从32位模式切换至64位模式,包括:
利用所述测试程序中的第一运行模式切换代码将所述测试程序从32位模式切换至64位模式运行。
4.根据权利要求3所述的方法,其特征在于,所述利用所述测试程序中的第一运行模式切换代码将所述测试程序从32位模式切换至64位模式运行,包括:
利用所述测试程序中的第一运行模式切换代码中的push指令和retf指令,对CPU中的CS段寄存器相关内容进行替换,以实现将所述测试程序从32位模式切换至64位模式运行。
5.根据权利要求1所述的方法,其特征在于,所述执行所述64位执行代码进行相关测试,包括:
利用所述测试程序中的64位shellcode解密所述64位执行代码,获取64位相关的Windows编程接口使所述64位执行代码进行相关测试。
6.根据权利要求1所述的方法,其特征在于,所述分析所述64位执行代码的执行情况,并根据所述执行情况生成渗透测试报告,包括:
分析所述64位执行代码的执行情况;
若接收到所述64位执行代码所反馈的测试任务完成信息,则利用所述测试程序中的第二运行模式切换代码将所述测试程序从64位模式切换至32位模式运行;并利用程序结束代码在32位模式中结束;
根据所述64位执行代码的执行情况生成渗透测试报告。
7.根据权利要求6所述的方法,其特征在于,所述利用第二运行模式切换代码将所述测试程序从64位模式切换至32位模式运行,包括:
利用所述测试程序中的第二运行模式切换代码中的pushi指令和retfq指令,对CPU中的CS段寄存器相关内容进行替换,使所述测试程序从64位模式切换至32位模式运行。
8.一种面向32位Windows沙盒的渗透测试装置,其特征在于,所述装置包括:
第一处理模块,与待测的32位Windows沙盒所在服务器进行鉴权操作,鉴权操作完成后将测试程序投入待测的32位Windows沙盒中;所述测试程序为32位测试程序并内嵌64位执行代码,所述64位执行代码为加密代码;
第二处理模块,使所述测试程序在所述沙盒中运行,并在运行中从32位模式切换至64位模式,执行所述64位执行代码进行相关测试;
第三处理模块,分析所述64位执行代码的执行情况,并根据所述执行情况生成渗透测试报告;其中,
所述测试程序根据待测的32位Windows沙盒所在服务器的确认指令执行操作。
9. 一种电子设备,其特征在于,包括:
至少一个处理器;以及
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行权利要求1-7中任一权利要求所述的方法。
10.一种存储有计算机指令的非瞬时计算机可读存储介质,其特征在于,所述计算机指令用于使所述计算机执行根据权利要求1-7中任一权利要求所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311133695.6A CN116861418B (zh) | 2023-09-05 | 2023-09-05 | 面向32位Windows沙盒的渗透测试方法、装置、设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311133695.6A CN116861418B (zh) | 2023-09-05 | 2023-09-05 | 面向32位Windows沙盒的渗透测试方法、装置、设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN116861418A CN116861418A (zh) | 2023-10-10 |
CN116861418B true CN116861418B (zh) | 2023-12-22 |
Family
ID=88236313
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311133695.6A Active CN116861418B (zh) | 2023-09-05 | 2023-09-05 | 面向32位Windows沙盒的渗透测试方法、装置、设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116861418B (zh) |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106462709A (zh) * | 2014-01-27 | 2017-02-22 | 克洛诺斯赛博科技有限公司 | 自动渗透测试设备、方法和系统 |
CN106682494A (zh) * | 2016-11-16 | 2017-05-17 | 腾讯科技(深圳)有限公司 | 一种信息访问方法、装置和设备 |
US9690937B1 (en) * | 2015-03-30 | 2017-06-27 | EMC IP Holding Company LLC | Recommending a set of malicious activity detection rules in an automated, data-driven manner |
CN109101815A (zh) * | 2018-07-27 | 2018-12-28 | 平安科技(深圳)有限公司 | 一种恶意软件检测方法及相关设备 |
CN114205153A (zh) * | 2021-12-12 | 2022-03-18 | 中国电子科技集团公司第十五研究所 | 一种面向复杂防御机制的自适应渗透测试方法 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10229268B2 (en) * | 2015-03-28 | 2019-03-12 | Leviathan, Inc. | System and method for emulation-based detection of malicious code with unmet operating system or architecture dependencies |
US10157277B2 (en) * | 2016-10-01 | 2018-12-18 | Intel Corporation | Technologies for object-oriented memory management with extended segmentation |
US10698789B1 (en) * | 2018-12-05 | 2020-06-30 | International Business Machines Corporation | Fuzz testing for quantum SDK |
US20210200859A1 (en) * | 2019-12-31 | 2021-07-01 | Fortinet, Inc. | Malware detection by a sandbox service by utilizing contextual information |
-
2023
- 2023-09-05 CN CN202311133695.6A patent/CN116861418B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106462709A (zh) * | 2014-01-27 | 2017-02-22 | 克洛诺斯赛博科技有限公司 | 自动渗透测试设备、方法和系统 |
US9690937B1 (en) * | 2015-03-30 | 2017-06-27 | EMC IP Holding Company LLC | Recommending a set of malicious activity detection rules in an automated, data-driven manner |
CN106682494A (zh) * | 2016-11-16 | 2017-05-17 | 腾讯科技(深圳)有限公司 | 一种信息访问方法、装置和设备 |
CN109101815A (zh) * | 2018-07-27 | 2018-12-28 | 平安科技(深圳)有限公司 | 一种恶意软件检测方法及相关设备 |
CN114205153A (zh) * | 2021-12-12 | 2022-03-18 | 中国电子科技集团公司第十五研究所 | 一种面向复杂防御机制的自适应渗透测试方法 |
Non-Patent Citations (5)
Title |
---|
Defending IT systems against intelligent malware;Joakim Kargaard 等;《2018 IEEE 9th International Conference on Dependable Systems, Services and Technologies》;第411-417页 * |
DroidWard: An Effective Dynamic Analysis Method for Vetting Android Applications;Yubin Yang 等;《Cluster Computing》;第21卷;第265–275页 * |
基于智能沙盒的安全检测技术分析;孙统计;《电子技术与软件工程》;第229-230页 * |
基于沙盒的Android恶意软件检测技术研究;林鑫;《电子设计工程》;第24卷(第12期);第48-50、53页 * |
基于沙箱技术的恶意代码行为检测方法;童瀛 等;《西安邮电大学学报》;第23卷(第5期);第101-110页 * |
Also Published As
Publication number | Publication date |
---|---|
CN116861418A (zh) | 2023-10-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20200125730A1 (en) | System and method for vetting mobile phone software applications | |
Spreitzenbarth et al. | Mobile-Sandbox: combining static and dynamic analysis with machine-learning techniques | |
US9996452B2 (en) | Test case generation for uncovered code paths | |
CN111859375B (zh) | 漏洞检测方法、装置、电子设备及存储介质 | |
Spreitzenbarth et al. | Mobile-sandbox: having a deeper look into android applications | |
US9438617B2 (en) | Application security testing | |
US9742804B2 (en) | Computer network defense system | |
EP3355229B1 (en) | Analysis device, analysis method, and analysis program | |
US9021596B2 (en) | Correcting workflow security vulnerabilities via static analysis and virtual patching | |
KR20170096260A (ko) | Usb로 연결된 외부 장치 기반의 악성코드 분석 장치 및 이를 이용한 방법 | |
CN111177720A (zh) | 基于大数据生成威胁情报的方法、装置及可读存储介质 | |
US11249880B1 (en) | Debugging and simulating application runtime execution | |
KR101557455B1 (ko) | 응용 프로그램 코드 분석 장치 및 그것을 이용한 코드 분석 방법 | |
CN116861418B (zh) | 面向32位Windows沙盒的渗透测试方法、装置、设备及存储介质 | |
US10200401B1 (en) | Evaluating results of multiple virtual machines that use application randomization mechanism | |
US11822673B2 (en) | Guided micro-fuzzing through hybrid program analysis | |
CN114640484A (zh) | 网络安全对抗方法、装置和电子设备 | |
US20160188443A1 (en) | Testing application internal modules with instrumentation | |
CN113139190A (zh) | 程序文件检测方法、装置、电子设备及存储介质 | |
CN110795338A (zh) | 一种基于前后端交互的自动化测试方法、装置及电子设备 | |
Baird et al. | Automated dynamic detection of self-hiding behavior | |
CN111740876B (zh) | 一种应用装置、测试方法、存储介质及电子设备 | |
McDaniel et al. | Identifying weaknesses in VM/hypervisor interfaces | |
Kose et al. | Real-time Attack-Scheme Visualization for Complex Exploit Technique Comprehension | |
CN116302086A (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |