SharpDllProxy制作代理dll

admin 2024年5月30日03:52:31评论56 views字数 848阅读2分49秒阅读模式

如何查找应用程序依赖于哪些 DLL ,前面文章有讲到过,大家有空可以看看

最简单的找法

找出哪些可执行文件依赖于哪些 DLL,非常简单且低技术含量的方法。将其中一个可执行文件复制到单独的文件夹并运行它

例如 fzsftp.exe

SharpDllProxy制作代理dll

所以 fzsftp.exe 似乎需要libnettle-7.dll才能执行,那么现在从之前的文件夹复制报错的dll,执行可以看到,ok没有发生错误。当然如果为了进一步确认,可以使用 Process Hacker 之类的工具来检查应用程序加载了哪些模块,并进一步确认dll的加载。

SharpDllProxy制作代理dll

制作代理 DLL

将合法函数调用重定向到原始 DLL,并在后台静默加载我们的 shellcode。

用c#编写的SharpDllProxy应用程序,它会从原始 DLL 中提取的导出函数生成代理 DLL 源代码。

项目地址:

https://github.com/Flangvik/SharpDllProxy

SharpDllProxy制作代理dll

执行之后将创建了一个名为"/output_libnettle-7"的文件夹。

SharpDllProxy 在原始libnettle-7.dll中总共找到了 441 个函数调用,并生成了一个完整的代理 DLL 源代码,将函数调用重定向到 tmp8AA5.dll(只是libnettle-7.dll的副本,重命名)。

最后编译

只需编译保存到D:SharpDllProxyoutput_libnettle-7libnettle-7_pragma.c的源代码即可。

一旦触发 DLL_PROCESS_ATTACH 事件,生成的源代码就会创建一个新线程。然后,“DoMagic()”继续将本地文件“shellcode.bin”中的二进制数据读入内存执行,这里可以自定义代码,大家自行发挥。

SharpDllProxy制作代理dll

整个过程基本这样,是不是挺简单的,干就完事。

仅限交流学习使用,如您在使用本工具或代码的过程中存在任何非法行为,您需自行承担相应后果,我们将不承担任何法律及连带责任。“如侵权请私聊公众号删文”。

原文始发于微信公众号(柠檬赏金猎人):SharpDllProxy制作代理dll

免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉。
  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2024年5月30日03:52:31
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   SharpDllProxy制作代理dllhttps://cn-sec.com/archives/2793241.html
                  免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉.

发表评论

匿名网友 填写信息