前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >详解DLL远线程注入技术

详解DLL远线程注入技术

作者头像
xujjj
发布2020-05-18 14:52:23
1.1K0
发布2020-05-18 14:52:23
举报
文章被收录于专栏:IT界的泥石流

相信大家都有这么一个经历,我们使用电脑,在某些来历不明的网站上下载一些程序,然后打开这些程序的时候,可能会出现以下的情况。

嗯没错,你电脑中的杀毒软件会给你发出温馨的提示,提醒你该程序可能含有木马病毒,这些病毒可能损害你的计算机。那么这些木马病毒的本质是什么呢?他们是怎么攻击我们的电脑的呢?我们今天就来探讨下这个问题!

首先我们先来认识一下动态链接库的概念,DLL是Dynamic Link Library的缩写,意为动态链接库。在Windows中,许多应用程序并不是一个完整的可执行文件,它们被分割成一些相对独立的动态链接库,即DLL文件,放置于系统中。

Windows系统就是由许多的动态链接库(DLL文件)构成的。它们是Windows系统最基本的应用程序。

下面就是我们的Windows操作系统的一些动态链接库。

简单来说,动态链接库里面其实就是一个一个的函数,Windows也是一个应用程序,它被分割成了许许多多的动态链接库。

比较大的应用程序都由很多模块(动态链接库)组成,这些模块分别完成相对独立的功能,它们彼此协作来完成整个软件系统的工作。下图为微信应用程序中所调用的动态链接库。

Windows 系统平台上提供了一种完全不同的较有效的编程和运行环境,你可以将独立的程序模块创建为较小的 DLL 文件,并可对它们单独编译和测试。在运行时,只有当 EXE 程序确实要调用这些 DLL 模块的情况下,系统才会将它们装载到内存空间中。不用的时候,系统将它们给从内存中卸载掉。

这种方式不仅减少了 EXE 文件的大小和对内存空间的需求,而且使这些 DLL 模块可以同时被多个应用程序使用。Windows 自己就将一些主要的系统功能以 DLL 模块的形式实现。

因此,读到这里,我相信大家应该明白了,为什么杀毒软件会给你提示某个程序含有木马病毒,就是因为该病毒程序中可能会给你原本正常运行的其他程序注入DLL,让你的正常程序调用病毒程序携带的DLL文件,以导致你的正常程序“中毒”。

DLL的编写与语言没有任何关系,所以我们用VS2017创建一个动态链接库,命名为MyDll,他就是我们要写的病毒DLL文件。

然后在dllmain.cpp中写我们的代码,我们的代码很简单,直接写上一个alert函数,功能是:当我们的病毒DLL文件被应用程序加载时,直接弹出一个弹窗。

OK,最后编译生成我们的DLL文件。

编写完DLL文件之后,我们还要写一个exe程序,该exe程序就是病毒程序的主体,它完成核心的功能:将我们的病毒DLL写进某个正常运行的应用程序让该正常的应用程序调用我们的DLL代码,那么这就是一件很危险的事情了,让我们的正常运行的程序调用未知的DLL代码,后果可想而知。这种技术就是DLL远线程注入技术

我们的病毒程序会强制给目标进程创建一个线程,线程的任务是:将我们的病毒木马DLL加载进目标进程,让目标进程执行DLL代码。

那么,代码如何写呢?

我们还是使用VS2017编写,创建一个控制台程序,命名为dll_inject。

然后按照刚才提到的思路编写代码,这没什么难度,查看MSDN,调用Win32API即可实现。

主函数中调用我们的dll注入攻击函数dll_inject,我们用来攻击一下PC版的微信,查看用户管理器,得知微信的PID为17544,以第一个参数传进去,第二个参数即我们要注入的DLL文件的路径。

编译之后,得到我们的dll注入主程序。

双击运行,看一下攻击的结果:

可以看到,微信进程已经被成功注入了我们的病毒DLL文件了,也弹窗了,弹窗就证明我们的病毒DLL被微信加载成功。

所以,总结一下,总体思路是:

1)编写一个病毒DLL,完成我们想要干的坏事。

2)编写一个应用程序exe,强制让远程的进程创建一个线程,执行加载DLL文件的操作。

3)远程进程加载成功我们写的病毒DLL之后,就表示我们的DLL已经成功注入远程进程中了,也可以说是感染到了远程进程了。

DLL的发明给我们带来了诸多便利和优雅,但是也可能会给我们带来灾难性的后果,我们的世界就是黑和白的斗争,然后在斗争中不断地发展。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2020-02-19,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 IT界的泥石流 微信公众号,前往查看

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

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档