通过远程线程注入DLL!心得!

news/2024/7/10 5:27:36 标签: dll, null, token, query, path, access

1.       通过GetModuleHandle定位LoadLiabraryKernel32.dll中的虚拟地址!!(根据jerry 牛人的说法,就是kernel32.dll在任何进程中加载的位置都是一样的)

2.       提升当前进程的权限,使其权限提升为debug的权限,这样才能在目标进程中分配虚拟空间和读写虚拟空间操作。

3.       在目标进程中分配存放LoadLibrary的参数的内存。因为必须将参数写到目标进程中,才能让创建的线程访问,要不然,就会发生进程访问数据冲突,(不能垮进程访问地址),通过函数VirtualAllocEx.

4.       在分配的地址空间中写入参数值,通过WriteProcessMemery.

5.       调用CreateRemoteThread创建远程线程!

6.       补充说明一下:提升权限用到的函数:
1)
通过OpenProcess一查询权限打开自己的进程.
2)
通过OpenProcessToken打开访问令牌。

3)
通过LookupPrivilegeValue查询debug权限的值
4)
通过AdjustPrivilegeValue来调整进程权限

7.       在写的过程中遇到了很多麻烦,其中一个问题就是,当我代码没有问题的时候,发现老师只能注入自己的线程,其他的都注入不进去,后来啄么了很久,才防线是依赖库的问题,没有吧依赖库放到一起,再者,需要注意的是,当远程线程在目标进程中运行的时候,如果你传的路径不是绝对路径,那么也会出问题,因为他要从目标进程的目录中搜索,搜索不到,在从环境变量中列出的路径搜索,所以,路径得必须谨慎。其次,是你的函数和传入的路径字符串要是同一字符集。要不让也会出问题!

8.       如果想要卸载注入的DLL,也很简单,通过注入FreeLiabray线程就OK了!!!方法同上!

代码:


10.    

 


http://www.niftyadmin.cn/n/1345652.html

相关文章

GitHub上的markdown格式一些利于排版的用法

GitHub上的markdown格式一些利于排版的用法 想全面了解的可以参考果冻虾仁的文章,欢迎补充谈论 目录 目录的实现文字换行程序结构样式写法添加文本框的效果前面空四个空格流程图变横向目录的实现 GitHub上不支持[TOC] 想要目录可以这样实现 ##目录 * [中文](#中文) …

托盘制作心得

制作的主要涉及到的API只有Shell_NotifyIcon 虽然API只有一个,但是这个API的参数的数据结构可是看的让人很烦的。 NOTIFYICONDATA typedef struct _NOTIFYICONDATA { DWORD cbSize; //结构大小 byte计算 HWND hWnd; //创建托盘的程序窗口句柄,也就是应用程序窗…

对HOOK注入的一点补充!

开始在写HOOK的时候,把HOOK的卸载钩子的函数放在了DLL_PRCESS_DETACH中,然后出现的情况是什么呢? 就是打开一个应用程序,能够正常的执行挂钩,但是,这个程序关闭后,这个钩子(全局钩子…

每个新人切记

黑客是一个神圣的我们的目的是保护我们心爱的网络而不是为了为了破坏网络。网络是神秘的要想都了解他就要懂得团队合作,发生什么事大家一起抗。 在网络中也有不少危险人物,我们尽量不要惹别人,要都让让这样才能和睦相处。转载于:https://www.…

爬虫技术-字体反爬

文本混淆章节 1. 文本混淆简介 简单而言就是利用前端技术干扰,页面可以正常展示,而使用爬虫下载后无法提取正常的数据。 1.1 常见的干扰方式 字体反爬 2. 字体反爬 2.1 字体反爬简介 ​ 在 CSS3 之前,Web 开发者必须使用用户计算机上已有的字…

爬虫技术-验证码处理

验证码反爬虫 1. 简介 ​ 我们在浏览网站的时候经常会遇到各种各样的验证码,在多数情况下这些验证码会出现在登录账号的时候,也可能会出现在访问页面的过程中,严格来说,这些行为都算验证码反爬虫。 样例:https://my.cn…

关于WSAAsyncSelect模型中FD_WRITE事件触发的时机!

使用connect或WSAConnect,一个套接字首次建立了连接。■ 使用a c c e p t或W S A A c c e p t,套接字被接受以后。■ 若s e n d、W S A S e n d、s e n d t o或W S A S e n d To操作失败,返回了W S A E W O U L D B L O C K错误,而…