开yun体育官网入口登录体育 『网络安全科普』Windows安全之HOOK技术机制
前言
大家知道,Windows系统是建立在事件驱动机制之上的云开·全站app登录网页入口,每个事件都是一条消息。每个正在运行的程序,也称为进程,维护一个或多个消息队列(消息队列)。该数量取决于进程中包含的线程数量)。
网络安全主要福利:全套入门、进阶282G学习资源包免费分享!
typedef 结构体 tagMsg
HWND hwnd; //接收消息的窗口句柄
UINT 消息; //消息常量标识符(消息号)
WPARAM wParam;//32位消息特定附加信息
LPARAM lParam;//32位消息特定附加信息
双字时间; //消息创建时间
点 pt; //创建消息时的光标位置
}味精;
在Windows应用程序的调用函数中,经常可以看到WaitMessage等对消息队列的处理函数。此外,还有诸如:PeekMessage、GetMessage、GetQueueStatus、WaitMessage、MsgWaitForMultipleObjects 和 MsgWaitForMultipleObjectsEx 等函数来接收和检索消息队列。
Windows 系统为每个正在运行的应用程序维护一个消息队列。当事件发生时,Windows并不直接将触发事件发送给应用程序,而是先将其翻译成Windows消息,然后将该消息添加到应用程序的消息队列中。
Windows中的应用程序需要通过消息循环来接收这些消息。正是因为Windows的消息机制,我们才能进行消息HOOK。 Windows的HOOK技术也是一种消息处理机制,是提供给用户的一种消息处理机制。一种干预Windows运行过程的消息处理机制。通过钩子程序,Windows将内部流动的消息暴露给用户,允许用户在消息被窗口管理器分派之前对其进行特殊处理,例如跟踪消息流以进行调试。工作。
网络安全主要福利:全套入门、进阶282G学习资源包免费分享!
另外,消息不仅可以在应用程序内部传递,还可以在进程之间传递,包括应用程序之间以及应用程序与Windows系统之间。这样的设计使得一些恶意木马病毒程序可以通过向高权限进程发送特定消息来增加自身权限,造成操作系统损坏,或者执行特殊操作获取隐私数据。
分类
Windows系统中的HOOK技术大致按照以下排列方式进行分类。
首先按照作用范围可以分为两类:一类是本地钩子(Thread Local Hook),只能从本进程的某个线程获取消息,另一类是全局钩子(Thread Local Hook) )可以从当前系统的所有线程获取消息。全局挂钩或系统挂钩)。
网络安全主要福利:全套入门、进阶282G学习资源包免费分享!
其次,根据其功能权限还可以分为应用层HOOK和内核层Hook。 Ring3层的Hook机制称为应用层Hook技术,而Ring0层的Hook机制称为内核层Hook技术。 。
用于处理消息的Windows钩子函数,主要是SetWindowsHookEx()、CallNextHookEx()和UnhookWindowsHookEx()
每当一个进程消息产生时,就会被添加到系统消息队列中,然后操作系统会将该消息从消息队列中取出,添加到相应程序的消息队列中。 HOOK技术占主导地位,在发送给应用程序之前监听此类函数的调用,提前捕获消息,然后进行自己预设的处理工作。
比如Inline Hook技术,它是在应用层注入Hook,在内存中找到想要的Hook函数的地址,并在其前面添加一条自构造的跳转指令。然后,在Hook位置执行时,就可以跳转到HOOK技术使用者编写的执行代码处。其执行后,修改的字节被恢复,然后执行正常的过程。
再比如,使用API函数SetWindowsHookEx(),它通过消息机制进行消息Hook(消息Hook)。它将应用程序定义的挂钩子例程安装到挂钩列表中。 SetWindowsHookEx 函数始终将 Hook 子例程安装在 Hook 链的开头。当指定类型的Hook监听的事件发生时,系统会调用与该Hook关联的Hook链开头的Hook子例程。 Hook链中的每个Hook子进程决定是否将此事件传递给下一个Hook子进程。 Hook子例程需要调用CallNextHookEx函数将事件传递给下一个Hook子例程。
网络安全主要福利:全套入门、进阶282G学习资源包免费分享!
在操作系统中安装了全局钩子后,只要进程收到可以发出该钩子的消息,该全局钩子的DLL文件就会被操作系统自动或强制加载到该进程中。这里注意:系统不只是加载钩子函数。包括它在内的整个 DLL 将被加载到其中。这部分内容在《Windows核心编程》第五版中有解释,见下图。
Windows 核心编程第五版 P577,拍摄于 2021.12.07
另外,还可以导入HOOK的地址表(IAT HOOK,应用层注入HOOK)。地址表是PE文件结构中的一个表结构。 Windows loader定位导入功能是借助可执行文件的导入表来完成的。 ,导入表存储所使用的DLL的模块名和导入的函数名或函数序号。通过修改导入表即可完成关键函数调用的HOOK。
网络安全主要福利:全套入门、进阶282G学习资源包免费分享!
然后就是调试HOOK(调试HOOK)的方法,就是通过调试的API钩子函数。
调试器可以一一执行调试器的指令,并且拥有对调试器和内存的所有访问权限。每当被调试者发生调试事件时,操作系统都会暂停并向调试器报告该事件。调试器适当处理后,被调试进程将继续执行。这与HOOK机制非常相似,因此攻击者可以冒充调试器进行hook,在目标API入口地址上设置断点并拦截参数内容,然后修改为自己构造的跳转指令。您可以使用 DebugActiveProcess (ProcessID) 函数附加到进程进行调试。
网络安全主要福利:全套入门、进阶282G学习资源包免费分享!
另外,还有一个内核层SSDT Hook(内核层HOOK)。 SSDT的全称是系统服务描述符表。该表是链接Ring3的Win32 API和Ring0的内核API的对应表。 SSDT不仅包含一个巨大的地址索引表,它还包含一些其他有用的信息,比如地址索引的基地址、服务函数的数量等。通过修改这个表的函数地址,可以hook常见的Windows功能和 API,从而过滤和监控关注的系统操作。一些HIPS、杀毒软件、系统监控、注册表监控软件经常使用这个接口来实现自己的监控模块,实现内核级的保护方法。
如果你仔细观察我上面的Windows核心编程截图,你会发现标题是DLL注入和API拦截。是的,HOOK技术还可以作为DLL注入的一种手段,通过HOOK将一个DLL注入到另一个进程中。进入地址空间。
网络安全主要福利:全套入门、进阶282G学习资源包免费分享!
Windows 核心编程第五版 P576,拍摄于 2021.12.07
网络安全主要福利:全套入门、进阶282G学习资源包免费分享!
Windows 核心编程第五版 P577,拍摄于 2021.12.07
hhookGetMsg=::SetWindowsHookEx(WH_GETMESSAGE,GetMessageHookProc,::GetModuleHandle(TEXT(“dll.dll”)),threadId);
//参数1:钩子类型
//参数2:钩子处理函数
//参数3:钩子所在模块
//参数4:钩子要拦截的线程ID。如果要设置全局hook,这里允许为0。
网络安全主要福利:全套入门、进阶282G学习资源包免费分享!
Hook是微软为了保持与16位程序的兼容性而被迫设计的一种方式。挂钩可用于注入 DLL。与使用注册表注入DLL相比,这种方法允许我们在不再需要DLL时将其从进程地址空间取消映射。
影响
HOOK技术,常译为“钩子”,是一种通过劫持函数调用、截获监控系统消息来改变程序执行流程的技术。它改变了程序原有的执行流程,改变了程序的流程方向,使其能够执行自己的实现。输入代码的技术。
有一种误解认为HOOK功能被视为恶意软件专有的技术。当然,这在一定程度上是正确的。例如,许多人调用NtUserGetAsyncKeyState或NtUserGetRawInputData来获取用户键盘输入开yun体育app官方下载入口,以完成自己的密码盗窃。
网络安全主要福利:全套入门、进阶282G学习资源包免费分享!
不过,Hook技术也广泛应用于安全的诸多领域。 Windows的安全机制除了定期向病毒木马样本库添加新样本外,还可以方便地在用户下载文件或打开exe时检测并查杀木马。另外,早期的杀毒软件除了被动扫描外,还需要对一些敏感API进行主动HOOK监控;有时Windows系统本身以及一些相关应用程序在打补丁时也需要使用Hook技术。可以说,这是一把双刃剑。
总结
微软在Win 10中设置了Secure ETW通道,安全软件不再需要像以前那样hook系统内核来完成对系统中进程的监控**。 **HOOK作为一项较老的技术,被提及的次数越来越少,但这并不妨碍它的辉煌岁月。作为一个经典且流行的方法,值得了解。
网络安全主要福利:全套入门、进阶282G学习资源包免费分享!
题外话
很多刚刚进入计算机行业的人或者大学计算机相关专业的毕业生,由于缺乏实践经验而遇到就业困难。我们来看两组数据:
2023年全国高校毕业生预计达1158万人,就业形势严峻;
全国网络安全宣传周期间发布的数据显示,到2027年,我国网络安全人才缺口将达到327万人。
一方面,每年应届毕业生就业形势严峻,另一方面,网络安全人才缺口达百万。
6月9日,Max Research 2023年就业蓝皮书(包括《2023年中国本科生就业报告》和《2023年中国高职学生就业报告》)正式发布。
2022年大学毕业生月收入最高的10个专业
本科计算机专业和高职自动化专业月收入较高。 2022年本科计算机专业和高职自动化专业月收入分别为6863元和5339元。其中,本科计算机专业起薪与2021级基本持平,高职自动化专业月收入增幅明显。 2022级超越铁路运输专业(5295元)排名第一。
具体看专业,2022届本科班月收入最高的专业是信息安全(7579元)。与2018届相比,电子科学与技术、自动化等人工智能相关本科专业表现良好,起薪较五年前增长19%。数据科学和大数据技术虽然是近年来新专业,但表现不俗,毕业后6个月就跻身2022届本科毕业生月收入最高专业前三名。法语是五年前唯一进入本科生收入最高前十的人文社会科学专业云开·全站app登录网页入口,如今已跌出前十。
“没有网络安全就没有国家安全。”当前,网络安全已上升到国家战略层面,成为影响国家安全和社会稳定的最重要因素之一。
网络安全行业特点
1、就业薪资很高,薪资增长快。 2021年猎聘网公布,网络安全行业就业薪资为行业人均最高,33.77万!
2、人才缺口大,就业机会多
2019年9月18日,“中华人民共和国中央人民政府”官网发布:我国网络空间安全人才需求140万人,但全国各大学校每年培养不足15万人。猎聘网《2021年上半年网络安全报告》预计,2027年网络安全人才需求量为300万人。目前,从事网络安全行业的从业人员仅有10万人。
行业发展空间巨大,就业岗位众多
网络安全行业成立以来,新增了数十个网络安全行业职位:网络安全专家、网络安全分析师、安全顾问、网络安全工程师、安全架构师、安全运维工程师、渗透工程师、信息安全管理主任、数据安全工程师、网络安全运维工程师、网络安全应急响应工程师、数据评估师、网络安全产品经理、网络安全服务工程师、网络安全培训师、网络安全审核员、威胁情报分析工程师、灾难恢复专业人员、实战攻击与国防专业人士...
巨大的职业增值潜力
网络安全专业具有较强的技术特色,尤其是掌握工作中的核心网络架构和安全技术,在职业发展中具有不可替代的竞争优势。
随着个人能力的不断提升,所从事工作的专业价值也会随着经验的丰富和项目运作的成熟而提升,升值空间不断增大。这也是它受到大家喜爱的主要原因。
某种程度上,在网络安全领域,就像医学界一样,越老越受欢迎。因为技术越来越成熟,你的工作自然会受到重视,升职加薪也就水到渠成。
如何学习黑客和网络安全
只要你喜欢我今天的文章,我的私网安全学习资料就会免费分享给你。快来看看有什么可用的。
1. 学习路线图
关于进攻和防守,有很多东西需要学习。我在上面的路线图中写下了你需要学习的具体内容。如果你能完成它们,那么你找工作或从事私人工作就不会有问题。
2.视频教程
虽然网上的学习资源很多,但基本上都是不完整的。这是我自己录制的网络安全视频教程。上面路线图中的每个知识点我都附有视频讲解。
内容涵盖网络安全法学习、网络安全运营等安全评估、渗透测试基础知识、漏洞详解、计算机基础知识等,都是网络安全入门必知的学习内容。
(全部打包成一片,无法一一展开,总共300多集)
由于篇幅有限,仅展示部分信息。您需要点击下面的链接来获取它。
网络安全主要福利:全套入门、进阶282G学习资源包免费分享!
需要的朋友也可以扫描下方CSDN官方合作二维码免费获取并免费分享! ! !
3. 技术文档和电子书
技术文档也是我自己整理的,包括我参与大规模网络安全运营、CTF、挖掘SRC漏洞的经验和技术点。有200多本电子书。由于内容的敏感性,我就不一一展示了。
由于篇幅有限,仅展示部分信息。您需要点击下面的链接来获取它。
网络安全主要福利:全套入门、进阶282G学习资源包免费分享!
需要的朋友也可以扫描下方CSDN官方合作二维码免费获取并免费分享! ! !
4. 工具包、面试题和源代码
“工欲善其事,必先利其器”。我为大家总结了几十种最流行的黑客工具。覆盖范围主要集中在信息收集、Android黑客工具、自动化工具、网络钓鱼等,有兴趣的同学不要错过。
还有我视频中提到的案例源码和相应的工具包,有需要的可以拿走。
由于篇幅有限,仅展示部分信息。您需要点击下面的链接来获取它。
网络安全主要福利:全套入门、进阶282G学习资源包免费分享!
需要的朋友也可以扫描下方CSDN官方合作二维码免费获取并免费分享! ! !
最后,这是我这几年整理的有关网络安全的面试题。如果你正在寻找网络安全方面的工作,他们肯定会给你很大帮助。
这些问题在面试深信服、奇安信、腾讯或者其他大公司的时候经常会遇到。如果您有好的问题或好的见解,请分享。
参考分析:深信服官网、奇安信官网、Freebuf、csdn等。
内容特点:组织清晰,图形表示,更容易理解。
内容概要:包括内网、操作系统、协议、渗透测试、安全服务、漏洞、注入、XSS、CSRF、SSRF、文件上传、文件下载、文件包含、XXE、逻辑漏洞、工具、SQLmap、NMAP、BP、MSF ……
由于篇幅有限,仅展示部分信息。您需要点击下面的链接来获取它。
网络安全主要福利:全套入门、进阶282G学习资源包免费分享!
如果您有兴趣开始网络安全,
①网络安全学习路线
②上百本渗透测试电子书
③安全攻防357页笔记
④50份安全攻防面试指南
⑤安全红队渗透工具包
⑥硬件网络防护运营经验总结
⑦100个漏洞实际案例
⑧各大安防厂商内部视频资源
⑨历届CTF夺旗赛题分析
需要的朋友也可以扫描下方CSDN官方合作二维码免费获取并免费分享! ! !
我要评论