有关Jektor
Jektor是一款功能齐全的Windows客户方式Shellcode执行检测工具,该专用工具可以协助众多科学研究工作人员掌握和检测恶意程序所采用的各类不一样技术性。
该软件关键应对的是Shellcode引入技术性,可以演试恶意程序在总体目标体系上执行Shellcode时需采用的工艺方式,主要包括:
- 动态性分析API函数以防止IAT包括
- 应用未记录的NT Windows API函数
- 根据CreateThread执行当地Shellcode
- 根据CreateRemoteThread执行远程控制Shellcode
- 根据QueueUserAPC适用当地Shellcode引入
- 根据EnumTimeFormatsEx适用当地Shellcode引入
- 根据CreateFiber开展当地Shellcode引入
防病毒软件检验
在应用动态性函数地址解析时,将一组NOP预挂具有Msfvenom异或运算数据加密Shellcode Payload后,可以绕开Windows Defender。
IAT导进避开
Jektor运用了动态性函数地址解析,并采用了LoadLibrary和GetProcessAddress来提升了静态数据解析的难度系数。
此外,许多恶意程序也不会立即启用相近VirtualAlloc那样的关键函数,这也会促使调节和根据中断点存贮Shellcode变得更为艰难。
专用工具免费下载
众多科学研究工作人员可以应用以下指令将该新项目源代码复制至当地:
根据CreateThread完成当地Shellcode执行
在Windows上,如果你需要在现阶段过程中建立一个新的线程,必须启用CreateThread函数,这也是在一个过程中执行恶意程序或Shellcode的时候会应用的一个最主要的技术水平了。这时,大家只要为Shellcode分配一个内存区域,随后将Shellcode挪动到分配的内存区域中,并应用偏向该区域详细地址的表针来启用CreateThread就可以。启用CreateThread时,需传送lpStartAddress 主要参数,而该参数是一个偏向由创好线程所执行的运用程序定义函数的表针。
根据EnumTimeFormatsEx完成当地Shellcode执行
EnumTimeFormatsEx是一个Windows API函数,可以枚举类型给予的时间格式,可以用以执行Shellcode,由于第一个主要参数可以接受客户界定的表针:
- 应用VirtualAlloc为Shellcode Payload分配当地内存。
- 应用memcpy/RtlCopyMemory将Shellcode Payload挪动到新分配的内存区域。
- 将Shellcode做为EnumTimeFormatsEx的lpTimeFmtEnumProcEx主要参数来传送,并开启Shellcode。
根据QueueUserAPC完成当地Shellcode执行
- 应用VirtualAlloc为Shellcode分配内存缓冲区域。
- 应用GetCurrentProcess获得现阶段过程的句柄。
- 应用WriteProcessMemory向新分配的内存区域载入Shellcode Payload。
- 应用GetCurrentThread获得现阶段线程的句柄。
- 将分配的内存区域以pfnAPC主要参数的方式给予给QueueUserAPC,并将创好的APC程序流程添加序列。
- 根据启用未记录的NtTestAlert函数开启Shellcode Payload,该函数将消除现阶段线程的APC序列。
- 根据关掉现阶段线程和当前过程的句柄来执行清除每日任务。
新项目详细地址
Jektor:【GitHub传送器】