• 0
  • 0
分享

  关于Jektor

  Jektor是一款功能强大的Windows用户模式Shellcode执行测试工具,该工具可以帮助广大研究人员了解和测试恶意软件所使用的各种不同技术。

  该工具主要针对的是Shellcode注入技术,可以演示恶意软件在目标系统上执行Shellcode时所使用的技术方法,其中包括:

  · 动态解析API函数以避免IAT包含

  · 使用未记录的NT Windows API函数

  · 通过CreateThread执行本地Shellcode

  · 通过CreateRemoteThread执行远程Shellcode

  · 通过QueueUserAPC支持本地Shellcode注入

  · 通过EnumTimeFormatsEx支持本地Shellcode注入

  · 通过CreateFiber进行本地Shellcode注入

2-1.jpg

  反病毒检测

  在使用动态函数地址解析时,将一组NOP预挂起到Msfvenom异或加密Shellcode Payload后,可以绕过Windows Defender。

  IAT导入规避

  Jektor利用了动态函数地址解析,并使用了LoadLibrary和GetProcessAddress来增加了静态分析的难度。

  除此之外,很多恶意软件也不会直接调用类似VirtualAlloc这样的重要函数,这也会使得调试和通过断点转储Shellcode变得更加困难。

  工具下载

  广大研究人员可以使用下列命令将该项目源码克隆至本地:

  git clone https://github.com/FULLSHADE/Jektor.git

  通过CreateThread实现本地Shellcode执行

  在Windows上,当你想要在当前进程中创建一个新的线程,需要调用CreateThread函数,这是在一个进程中执行恶意代码或Shellcode时会使用的一个最基本的技术了。此时,我们只需要为Shellcode分配一个内存区域,然后将Shellcode移动到分配的内存区域中,并使用指向该区域地址的指针来调用CreateThread即可。调用CreateThread时,需传递lpStartAddress 参数,而该参数是一个指向由新创建线程所执行的应用程序定义函数的指针。

2-2.jpg

  通过EnumTimeFormatsEx实现本地Shellcode执行

  EnumTimeFormatsEx是一个Windows API函数,可以枚举提供的时间格式,能够用于执行Shellcode,因为第一个参数可以接收用户定义的指针:

  BOOL EnumTimeFormatsEx( 
   
    [in]           TIMEFMT_ENUMPROCEX lpTimeFmtEnumProcEx, 
   
    [in, optional] LPCWSTR            lpLocaleName, 
   
    [in]           DWORD              dwFlags, 
   
    [in]           LPARAM             lParam 
   
  );

  · 使用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队列。

  · 通过关闭当前线程和当前进程的句柄来执行清理任务。

2-3.jpg

  项目地址

  Jektor:https://github.com/FULLSHADE/Jektor


作者:Alpha_h4ck    

来源:http://www.51testing.com/html/11/n-4480911.html

  • 【留下美好印记】
    赞赏支持
登录 后发表评论
+ 关注

热门文章

    最新讲堂

      • 推荐阅读
      • 换一换
          •   在快节奏的城市生活中,我们几乎都快忘记了自己是谁。紧跟着城市的步伐前进,我们既没有了刚开始的彷徨、迷茫,也没有了最初的慌张、无措,是什么悄然地改变了我们?  是这个城市,也是这几年的工作习惯和经验。生活教会了我们规则,习惯让我们快速适应和融入。当我安静地坐在书桌旁,仔细回想这些年的经历,发现这些年使我真正受益的,原来是这些。  遇到问题  做好分解是关键  我不知道大家是否跟我一样,在刚开始参加工作那会,领导一布置下来工作就头大,感觉这是一项巨大的工程,压力非常大。  可后来,我学会把领导布置下来的工作分解成一个个小部分,个个去击破,发现这个工作很快很轻松就完成了,后来每遇到比较难搞的事情...
            11 12 1614
            分享
          • 读者提问:『超好用的画图工具,有推荐的吗 ?』阿常回答:这 3 款画图工具,简单好用,必须得试试~1、draw.io支持网页 / Win / Mac / Linux,开源免费,文件存储在本地,也可以选择存储位置。在线版:https://app.diagrams.net/离线版:https://github.com/jgraph/drawio-desktop2、processon在线版,个人免费,不过限制文件数量。在线版:https://www.processon.com/3、坚果云绘图在线版,个人免费,文件数量无限制。在线版:https://www.jianguoyun.com/st...
            0 0 987
            分享
          • 读者提问:自学软件测试要学哪些?阿常回答:这个问题我从三点回答1、测试人要掌握的硬技能2、测试人要掌握的软技能3、推荐给大家的学习渠道一、测试人要掌握的硬技能1、软件测试基础理论2、数据库 SQL 编写3、Linux 命令的使用4、会写脚本(Python/Java)5、CI / CD 能力建设6、版本控制工具的使用(Git/SVN)7、抓包分析工具的使用(Fiddler/Charles/WireShark)8、BUG 管理工具的使用(禅道/Jira)9、接口测试工具的使用(Postman/Jmeter/命令行工具 curl/浏览器开发者模式 / 抓包工具)10、性能测试工具...
            0 0 1009
            分享
          •   12 月 13 日港股收盘时,网易以 5425 亿港元的市值,反超了美团,成为中国市值第四大的互联网公司,仅次于腾讯、拼多多和阿里巴巴。  而在 2021 年 2 月,中概股估值整体冲向巅峰时,美团市值大约是四个网易。不过两年多的时间,网易市值已反超美团。  据晚点财经报道,网易之所以能够反超美团,是因为它跌得比美团少。从 2021 年的市值顶点到现在,网易的市值下跌了 21%,而美团则暴跌了超过 80%。  据悉,美团的市值高峰出现在 2021 年 4 月,当时它的市值达到了 2.6 万亿港元,超过了阿里巴巴,成为中国市值最大的互联网公司。当时,美团大举进军社区团购领域。  IT之家注意...
            0 0 395
            分享
          •   今天咱们聊一聊,26岁要进入软件测试行业,要做好哪些准备。  首先要明确的是,26岁入行不算晚,但是也是没有太多的时间容你去试错,所以每一步都必须走对。  26岁零基础转行软件测试,你必须要做的3个准备。  第一个准备:认知准备  1、进入测试行业一定要学习一门语言,认为做测试不用写代码或者对于写代码比较排斥的,可以绕道了;  2、技术是你立足的根本,但是不要认为技术做到最强,就可以得到100%的尊重;  3、在不断学习的同时也要积极地参与行业内的交流,比如沙龙、讲座等,朋友内推比海投简历靠谱的多;  4、学历很重要,项目经验很致命,英语是加分项;  5、学习是长反馈、反人性的,不要期待短...
            10 10 678
            分享
      • 51testing软件测试圈微信