前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >超详细之dll劫持+打包钓鱼详细教程

超详细之dll劫持+打包钓鱼详细教程

原创
作者头像
G0mini
发布2023-03-11 16:18:38
1.8K0
发布2023-03-11 16:18:38
举报
文章被收录于专栏:极梦C极梦C

1.dll劫持产生条件

代码语言:txt
复制
1.dll能否被劫持:
不再'HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\KnownDLLs'注册表中
2.其dll是EXE程序首先加载的DLL,而不是依赖其他DLL加载的。
3.DLL确实被加载进内存中

2.判断dll是否可以劫持。

2.1手动方法

代码语言:txt
复制
利用进程查看软件,查看dll是否存'KnownDlls'注册表中。
进程查看工具:ProcessExplorer/ProcessMonitor/火绒剑

ProcessExplorer
下载地址:https://docs.microsoft.com/zh-cn/sysinternals/downloads/process-explorer
代码语言:txt
复制
ProcessMonitor
下载地址:https://docs.microsoft.com/zh-cn/sysinternals/downloads/procmon
代码语言:txt
复制
火绒剑

根据进程查看的dll和注册表进行对比

代码语言:txt
复制
win7及以上:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\KnownDLLs
代码语言:txt
复制
notepad为例:6版本之前的SciLexer.dll存在dll劫持。注册表中没有SciLexer.dll。进程notepad调用到了SciLexer.dll。说明SciLexer.dll可能存在dll劫持。

2.2自动审计

常见的几种工具:

代码语言:txt
复制
1.Ratter(虚拟机中出错不知道为啥)
https://github.com/sensepost/rattler/releases

2.DLL Hijack Auditor

代码语言:txt
复制
3.dll_hijack_detect
https://github.com/adamkramer/dll_hijack_detect/releases
代码语言:txt
复制
4.ChkDllHijack
https://github.com/anhkgg/anhkgg-tools

2.3测试

代码语言:txt
复制
利用自动化验证dll劫持发现sxs.dll可能存在劫持
代码语言:txt
复制
msf生成dll,弹出计算机。
代码语言:txt
复制
msfvenom -p windows/exec CMD = calc.exe EXITFUNC=thread -f dll -o sxs.dll
1.可以替换可能存在dll劫持的文件。
2.可以使用dll注入工具,进行劫持文件
2.1dll注入工具
2.2使用InjectProc注入
代码语言:txt
复制
InjectProc --dll注入工具
https://github.com/secrary/InjectProc/releases
InjectProc.exe dll_inj joker.dll notepad.exe
注入成功

3.dll注入+重新打包

代码语言:txt
复制
采用方法:shellcode--dll--pe导入dll--nsis重新打包

3.1cs生成shellcode

代码语言:txt
复制
利用攻击->生成后门->语言类后门->C语言

3.2利用DLL注入攻击工具

代码语言:txt
复制
利用DLL注入攻击工具把shellcode生成dll文件。
会在同目录下生成conf.inf 和wwwcomw.dll两个文件

3.3利用PE工具把DLL导入EXE

代码语言:txt
复制
把上述生成的文件放到需要劫持的目录下。
采用PE查看器,把上述shellcode生成的dll中的函数导入到exePE表中。
把EXE放入到PE查看中-->选择函数-->随便选择一个右键Add New Import
DLL选择->选择函数->添加到列表->输入表列表中选中刚刚添加到内容,最后点击添加即可。

3.4上线

4 nsis重新打包

代码语言:txt
复制
上述完成后,本地劫持完成,这里使用nsis重新打包,进行钓鱼。

4.1准备工作

代码语言:txt
复制
源安装包
源文件的ico图标提取。

4.2打包

代码语言:txt
复制
选择可视化脚步编辑器
代码语言:txt
复制
安装需求填写
代码语言:txt
复制
应用程序默认目录,本地安装一次最好,看一下本地默认安装的目录
例如:C:\Program Files (x86)\VPN(本地)
然后修改本地安装了,防止冲突,设置成了VPN1
代码语言:txt
复制
选择需要打包的目录,把每个字目录选中。
代码语言:txt
复制
编译成功
代码语言:txt
复制
打包成功
对比一下,下面为最新打包,上面为源文件,文件大小差距。除了没有数字签名
代码语言:txt
复制
打包之类成功安装。
代码语言:txt
复制
成功上线
代码语言:txt
复制
默认可过火绒,360动态被杀,需要在dll生成进行免杀。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 1.dll劫持产生条件
  • 2.判断dll是否可以劫持。
    • 2.1手动方法
    • 2.2自动审计
      • 常见的几种工具:
        • 2.DLL Hijack Auditor
          • 2.3测试
            • 1.可以替换可能存在dll劫持的文件。
            • 2.可以使用dll注入工具,进行劫持文件
        • 3.dll注入+重新打包
          • 3.1cs生成shellcode
            • 3.2利用DLL注入攻击工具
              • 3.3利用PE工具把DLL导入EXE
                • 3.4上线
                • 4 nsis重新打包
                  • 4.1准备工作
                    • 4.2打包
                    领券
                    问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档