1月20日凌晨,互联网销售平台拼多多遭遇了“优惠券Bug”:网站每一位注册用户可以通过微信渠道、网页端、QQ渠道等,领取面值为100元的优惠券,该优惠券适用该网站的商品,有效期为一年。随后,有网友曝出,用领取的优惠券可以充值话费、Q币。上午9点,网友发现拼多多已将相关优惠券全部下架,直至10点左右,该漏洞才被拼多多官方修复。并网传拼多多一夜损失近200亿元,一时引起广泛关注。而拼多多的这一“优惠券Bug”,更多的还是网站安全隐患问题,拼多多成功追回损失后,更重要的事情是代码的安全要重视起来。
近年来,全球大规模爆发勒索病毒和挖矿病毒,让沉寂许久的黑客技术,又重新回到了人们的视野中。Windows操作系统市场占有率高达90%以上,所以面对勒索病毒、挖矿病毒,Windows用户首当其冲。 今天介绍一本信息安全类的图书。
为了揭开病毒木马的神秘面纱,更好地服务于信息安全,《Windows黑客编程技术详解》总结并剖析了常见的Windows黑客编程技术,用通俗易懂的语言介绍了用户层下的Windows编程和内核层下的Rootkit编程。这本书理论技术与实战操作相辅相成,凸显“道与术”;庖丁解牛式剖析Windows用户层和内核层黑客技术原理 ;代码兼容性高,支持Windows 7到Windows 10全平台系统。
《Windows黑客编程技术详解》
作者:甘迪文
作者自述
信息安全行业是一个朝阳行业,国家、企业以及高校都予以高度重视。其中,Windows系统的市场占有率高达90%以上,因此Windows系统上的安全需求更多,安全攻防更激烈。
我从本科开始就对黑客技术感兴趣,通过自学,积累了许多这方面的开发技术,并逐渐有了自己的心得和感悟。到了研究生阶段,之前积累的知识帮助我快速而高效地完成了项目的安全开发工作,但是却发现周围仍有很多安全相关专业的同学仍陷于开发难的苦恼中,于是便萌生了写作本书的想法,希望通过分享自己积累的心得体会,让更多的初学者能少走些弯路。
古人云“知其然,知其所以然”。作为一个初学者,首先要做到的是“知其然”,即学会怎么去做;然后再去理解这样做的缘由,即“知其所以然”。本书着重于“知其然”阶段,编写一本能够让初学者看懂的技术科普书。
所以,本书在详细介绍每一种黑客技术时,均是按照下述7个模块进行写作的。
1.背景:介绍技术的应用场景。
2.函数介绍:给出技术实现所需的前提知识。
3.实现原理(过程):讲解技术实现的原理。
4.编码实现:给出技术实现的部分关键代码。
5.测试:对程序进行测试,给出测试方法和测试结果。
6.小结:对该技术点进行总结,指出难易点和注意事项。
7.安全小贴士:针对一些有攻击性的技术,给出检测或防御方法。
本书所包含的知识点循序渐进,语言平实,每个技术点条理清晰,主要有3个突出的特点。
1.技术点讲解详细。因为我是一边编著本书,一边重写程序,所以,能够在书中把实现步骤和注意事项一一指明。
2.知识点兼容性高。本书的技术以及对应的示例代码 (包括内核层下的Rootkit技术代码),均支持32位和64位的Windows 7、Windows 8.1和Windows 10操作系统。
3.注重实战。本书所介绍的技术知识都贴近实战技术,可以让读者直接感受到实战的魅力。
由于本书是基于每一个技术点去撰写的,章节独立性较高。所以,读者可以按顺序阅读,也可以选择自己感兴趣的章节跳读。对于每一章的阅读,建议依次按照背景、函数介绍、实现原理、编码实现、测试和总结的顺序进行阅读,这样才能更好地提高自己的安全开发水平。
本书组织结构
本书分为“用户篇”(第1~11章)与“内核篇”(第12~18章)两篇,总计18章。为了帮助读者更好地了解本书所讲的内容,下面列出了每章所讲的主要内容。
第1章,开发环境,主要介绍VS 2013开发环境的安装、工程项目的设置,以及关于Debug模式和Release模式的相关注意事项。
•第2章,基础技术,介绍了运行单一实例、DLL延迟加载和资源释放等内容。
•第3章,注入技术,介绍了全局钩子注入、远线程注入、突破SESSON 0隔离的远线程注入、APC注入等内容。
•第4章,启动技术,介绍了创建进程API、突破SESSON 0隔离创建用户进程、内存直接加载运行等知识。
•第5章,自启动技术,涵盖了注册表、快速启动目录、计划任务和系统服务等内容。
•第6章,提权技术,包含进程访问令牌权限提升、Bypass UAC等内容。
•第7章,隐藏技术,讲解了进程伪装、傀儡进程、进程隐藏、DLL劫持等知识。
•第8章,压缩技术,介绍了数据压缩API、ZLIB压缩库等知识。
•第9章,加密技术,介绍了Windows自带的加密库、Crypto++密码库等知识。
•第10章,传输技术,介绍了Socket通信、FTP通信、HTTP通信、HTTPS通信等知识。
•第11章,功能技术,讲解了进程遍历、文件遍历、桌面截屏、按键记录、远程CMD、U盘监控、文件监控、自删除等知识。
•第12章,开发环境,介绍了内容开发环境的配置、驱动程序开发与测试、驱动无源码调试、32位和64位驱动开发等知识。
•第13章,文件管理技术,介绍了文件管理中用到的内核API、IRP、NTFS解析等知识。
•第14章,注册表管理技术,讲解了注册表管理中用到的API、HIVE文件解析等知识。
•第15章,HOOK技术,介绍了SSDT HOOK、过滤驱动等知识。
•第16章,监控技术,讲解了进程创建监控、模块加载监控、注册表监控、对象监控、Minifilter文件监控、WFP网络监控等内容。
•第17章,反监控技术,与第16章相反,它介绍了反进程创建监控、反线程创建监控、反模块加载监控、反注册表监控、反对象监控、反Minifilter文件监控等内容。
•第18章,功能技术,介绍了过PatchGuard的驱动隐藏、过PatchGuard的进程隐藏、TDI网络通信、强制结束进程、文件保护、文件强删等知识。
· 附录,函数一览表,介绍了本书使用的函数以及相应的作用。
由于本书中的代码均使用C/C++来编写,因此掌握C/C++语言的概念可以更容易理解本书。如果不具备编程知识,也可继续学习并理解所有技术点的开发流程。对于书中的内核层开发部分,即使读者没有接触过内核开发,也可根据本书的内容一步步学习内核开发技术。
最后需要提醒大家的是:
根据国家有关法律规定,任何利用黑客技术攻击他人计算机的行为都属于违法行为。希望读者在阅读本书后一定不要使用本书介绍的技术对他人的计算机进行攻击,否则后果自负。
名家评论
本书详解了注入、启动、权限、HOOK、监控等技术,从技术知识体系上对其细节(如实现原理、编码实战、案例测试等)进行了剖析,降低了学习难度,因此非常适合Windows安全、二进制安全、逆向工程等相关领域的爱好者、从业者群体阅读。大家可以通过本书对自己的Windows安全知识体系进行补充与巩固。值得阅读!
—— 孔韬循(K0r4dji),丁牛科技有限公司首席安全官,破晓安全团队创始人
"黑客"当今已经不再是神秘的代言词,而是攻防技术的象征——如何利用简短的代码实现意想不到的结果,各类病毒木马是如何利用Windows的相关API技术实现传播、隐藏、启动、复制等操作——黑客已经把Windows的机制运用得淋漓尽致,这本《Windows黑客编程技术详解》带领读者从用户态到内核态一步一步地了解黑客如何巧妙地利用各类Windows的机制达成自己的目的,以及从攻与防出发的角度了解黑客是怎样的一个“神秘群体”!值得推荐!
——朱利军,四叶草信息技术有限公司首席安全官
阐述Windows下黑客编程常用技术的书籍有很多,但或涉猎不全,或代码健壮性及兼容性较差,而能将以上技术按照难易梯度依次汇集在一本书内,并且所有示例代码均是多系统全平台兼容的,我个人知道的仅此一本。本书内部穿插的那些作者苦心而作的若干精巧例子值得我们每个人细细品味,同时这本书对于软件安全领域的工作人员也不失为一本案头必备的代码、案例参考工具书。
——任晓珲,十五派信息安全教育创始人,《黑客免杀攻防》作者
在当前网络安全逐渐娱乐化的时代,本书就像一股清流,让我想起10余年前和小伙伴们一起彻夜研究各种植入、逃逸技术的一幕幕。本书教会你制作网络空间的利刃的方法,对于技术流的小伙伴们是一门必修的功课,不过切记要把它用在正道。
——王珩,赛宁网安副总经理,信息安全漏洞门户(vulhub.org.cn)创始人
目录一览
第1篇 用户篇
第1章 开发环境 3
1.1 环境安装 3
1.2 工程项目设置 5
1.3 关于Debug模式和Release模式的小提示 7
第2章 基础技术 10
2.1 运行单一实例 10
2.2 DLL延迟加载 13
2.3 资源释放 15
第3章 注入技术 22
3.1 全局钩子注入 22
3.2 远线程注入 27
3.3 突破SESSION 0隔离的远线程注入 34
3.4 APC注入 37
第4章 启动技术 42
4.1 创建进程API 42
4.2 突破SESSION 0隔离创建用户进程 48
4.3 内存直接加载运行 55
第5章 自启动技术 60
5.1 注册表 60
5.2 快速启动目录 66
5.3 计划任务 69
5.4 系统服务 75
第6章 提权技术 84
6.1 进程访问令牌权限提升 84
6.2 Bypass UAC 89
第7章 隐藏技术 97
7.1 进程伪装 97
7.2 傀儡进程 102
7.3 进程隐藏 106
7.4 DLL劫持 112
第8章 压缩技术 119
8.1 数据压缩API 119
8.2 ZLIB压缩库 126
第9章 加密技术 133
9.1 Windows自带的加密库 133
9.2 Crypto++密码库 152
第10章 传输技术 168
10.1 Socket通信 168
10.2 FTP通信 181
10.3 HTTP通信 190
10.4 HTTPS通信 202
第11章 功能技术 210
11.1 进程遍历 210
11.2 文件遍历 214
11.3 桌面截屏 219
11.4 按键记录 226
11.5 远程CMD 232
11.6 U盘监控 235
11.7 文件监控 241
11.8 自删除 245
第2篇 内核篇
第12章 开发环境 253
12.1 环境安装 253
12.2 驱动程序的开发与调试 254
12.3 驱动无源码调试 264
12.4 32位和64位驱动开发 268
第13章 文件管理技术 270
13.1 文件管理之内核API 270
13.2 文件管理之IRP 293
13.3 文件管理之NTFS解析 303
第14章 注册表管理技术 317
14.1 注册表管理之内核API 317
14.2 注册表管理之HIVE文件解析 329
第15章 HOOK技术 337
15.1 SSDT HOOK 337
15.2 过滤驱动 351
第16章 监控技术 357
16.1 进程创建监控 357
16.2 模块加载监控 363
16.3 注册表监控 369
16.4 对象监控 374
16.5 Minifilter文件监控 379
16.6 WFP网络监控 385
第17章 反监控技术 392
17.1 反进程创建监控 392
17.2 反线程创建监控 397
17.3 反模块加载监控 403
17.4 反注册表监控 407
17.5 反对象监控 411
17.6 反Minifilter文件监控 415
第18章 功能技术 421
18.1 过PatchGuard的驱动隐藏 421
18.2 过PatchGuard的进程隐藏 426
18.3 TDI网络通信 429
18.4 强制结束进程 437
18.5 文件保护 442
18.6 文件强删 444
附录 函数一览表 447
《Windows黑客编程技术详解》
作者:甘迪文
《Windows黑客编程技术详解》介绍的是黑客编程的基础技术,涉及用户层下的Windows编程和内核层下的Rootkit编程。本书分为用户篇和内核篇两部分,用户篇包括11章,配套49个示例程序源码;内核篇包括7章,配套28个示例程序源码。本书介绍的每个技术都有详细的实现原理,以及对应的示例代码(配套代码均支持32位和64位Windows 7、Windows 8.1及Windows 10系统),旨在帮助初学者建立起黑客编程技术的基础。
本书面向对计算机系统安全开发感兴趣,或者希望提升安全开发水平的读者,以及从事恶意代码分析研究的安全人员。
更多安全书单
《Wireshark数据包分析实战(第3版)》
作者:[美]克里斯 ▪ 桑德斯(Chris Sanders)
Wireshark是最流行的一款网络嗅探软件,本书在上一版的基础上针对Wireshark 2.0.5和IPv6进行了更新,并通过大量真实的案例对Wireshark的使用进行了详细讲解,旨在帮助读者理解Wireshark捕获的PCAP格式的数据包,以便对网络中的问题进行排错。
《Wireshark网络分析实战(第2版)》
作者:[印度]甘德拉·库马尔·纳纳
Wireshark大百科全书;巨细靡遗地讲解Wireshark操作细节;掌握Wireshark基本操作的唯一入门级图书;排除网络故障;性能调优的好帮手 每一位IT运维人员的必备利器。
本书包含了用Wireshark 2排除数通网络故障的实用秘诀。相较于之前的版本,Wireshark 2又增加了很多强大功能,获得了业界更广泛的关注。
本书扩充了上一版的主题,涵盖如何使用Wireshark监控TCP性能、网络安全、无线LAN以及云和虚拟系统,介绍了在单播/多播网络环境中如何借助Wireshark分析端到端的IPv4/IPv6连通性故障。读者将了解E-mail协议的正常运行机制,学会如何使用Wireshark来完成基本的故障分析和排除工作。利用Wireshark这款利器,读者可以解决企业网络中常用应用程序的故障。读者还将学习如何测量网络参数,如何检查并修复因网络参数引起的性能问题。