|
|
|
|
公众号矩阵

如何使用UnhookMe分析恶意软件中未受监控的系统调用问题

UnhookMe是一款通用的Windows API动态解析工具,可以帮助广大研究人员分析和处理恶意软件中未受监控的系统调用问题。

作者:Alpha_h4ck来源:FreeBuf|2021-09-15 18:30

关于UnhookMe

UnhookMe是一款通用的Windows API动态解析工具,可以帮助广大研究人员分析和处理恶意软件中未受监控的系统调用问题。

在这个侵入式反病毒产品和EDR产品盛行的年代,很多网络攻击者必须拥有强大的工具来绕过这些安全防御工具。而动态导入解析器能够在运行中取消已用函数的钩子,这也是增强攻击者攻击能力的又一方法。

而UnhookMe可以帮助广大研究人员在编译的可执行文件的PE头中保持可视性。

工具下载

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

  1. git clone https://github.com/mgeeky/UnhookMe.git 

工具使用

我们总共需要在自己的解决方案中引入五个C++源文件/头文件。不过,你的主程序文件仅需要引入两个必要的头文件即可,文件描述如下:

  • resolver.h - 头文件中包含了UnhookingImportResolver的大部分实现;
  • resolver.cpp - 包含了全局选项的源代码;
  • usings.h - 一个非常大的头文件,包含了针对常见Windows API的using类型定义;
  • PE.cpp - 自定义PE解析器源代码文件;
  • PE.h - 自定义PE解析器源头文件;

必须的头文件

你的程序仅需要下列两个必要的头文件:

  1. #include "usings.h" 
  2. #include "resolver.h" 

全局选项

下面给出的是解析器的全局配置选项,我们可以根据自己的需要来进行修改,这些参数全部定义在resolver.cpp文件中:

  • globalQuietOption - 如果你不想获取输出,则设置为true;
  • globalVerboseOption - 如果你想要获取详细的Verbose输出,则设置为true;
  • globalAntiSplicingOption - 解除函数钩子;
  • globalLogFilePath - 重定向输出日志;
    1. bool globalQuietOption = false
    2.  
    3. bool globalVerboseOption = true
    4.  
    5. bool globalAntiSplicingOption = true
    6.  
    7.   
    8.  
    9. wchar_t globalLogFilePath[MAX_PATH] = L""; 

工具使用样例

项目地址

UnhookMe:【GitHub传送门

【编辑推荐】

  1. 鸿蒙官方战略合作共建——HarmonyOS技术社区
  2. TricBot恶意软件的俄罗斯开发人员在韩国机场被逮捕
  3. 功能机中也有恶意软件
  4. 法官认为苹果在Mac恶意软件问题上“夸大了事实描述”
  5. Pstf:一款功能强大的被动安全工具指纹框架
  6. 2021 年 8 月头号恶意软件:Formbook 跃居首位
【责任编辑:赵宁宁 TEL:(010)68476606】

点赞 0
分享:
大家都在看
猜你喜欢
24H热文
一周话题
本月获赞

订阅专栏+更多

带你轻松入门 RabbitMQ

带你轻松入门 RabbitMQ

轻松入门RabbitMQ
共4章 | loong576

44人订阅学习

数据湖与数据仓库的分析实践攻略

数据湖与数据仓库的分析实践攻略

助力现代化数据管理:数据湖与数据仓库的分析实践攻略
共3章 | 创世达人

14人订阅学习

云原生架构实践

云原生架构实践

新技术引领移动互联网进入急速赛道
共3章 | KaliArch

42人订阅学习

视频课程+更多

订阅51CTO邮刊

点击这里查看样刊

订阅51CTO邮刊

51CTO服务号

51CTO官微