本书介绍了在Windows环境下使用Socket API开发各类黑客软件及系统安全防护工具软件的编程实现方法。
在讲解细节上,本书循序渐进地向读者介绍了黑客攻击程序、安全防护工具、远程控制软件、网络安全管理软件的原理及具体编程实现方法,从当前热门的黑客软件和安全防护工具中选择典型案例,深入分析。
基于网络安全,登堂入室,定制属于自己的黑客攻防软件。知己知彼,完整再现主流的黑客攻击实现方式和攻防案例,提升读者实战技能。细致入门和实践相辅相成,为网管员典藏书架再添宝典。
第1章 黑客入门,SocketAPI开发必知 1
1.1Windows API和Socket 1
1.1.1Windows API编程的优点 1
1.1.2Socket通信流程 2
1.2 服务器端Socket的操作 3
1.2.1在初始化阶段调用WSAStartup 3
1.2.2建立Socket 4
1.2.3绑定端口 4
实例1.1 bind函数调用示例 5
1.2.4监听端口 6
1.2.5accept函数 6
实例1.2 accept函数示例 7
1.2.6WSAAsyncSelect函数 7
实例1.3 响应Socket事件的结构代码 8
1.2.7结束服务器端与客户端Socket连接 8
1.3 客户端Socket的操作 9
1.3.1建立客户端的Socket 9
1.3.2发起连接申请 9
实例1.4 connect函数示例 9
1.4Socket数据的传送 9
1.4.1TCP Socket 与UDP Socket 10
1.4.2发送和接收数据的函数 10
1.5 自定义CMyTcpTran通信类 12
1.5.1为什么要使用类 13
1.5.2Visual C 中创建通信类 13
实例1.5 CMyTcpTran类头文件 15
1.5.3CMyTcpTran类的代码实现 17
实例1.6 CMyTcpTran类方法的函数实现 17
实例1.7 Socket通信库初始化实现方法 18
实例1.8 初始化套接字资源 18
实例1.9 创建连接通信函数的实现20
实例1.10 初始化Socket资源的接收函数 21
实例1.11 发送套接字数据的函数实现23
1.6 小结 25
第2章 专业风范,网络扫描器的开发实现 26
2.1 扫描器的产生及原理 26
2.1.1扫描器的产生 26
2.1.2不同扫描方式扫描器原理及性能简介 27
2.2 主机扫描技术 29
2.2.1ICMP Echo扫描 29
2.2.2ARP扫描 30
2.3 端口扫描技术 31
2.3.1常用端口简介 31
2.3.2TCP connect扫描 32
2.3.3TCP SYN 扫描 33
2.4 操作系统识别技术 33
2.4.1根据ICMP协议的应用得到TTL值 33
2.4.2获取应用程序标识 35
2.4.3利用TCP/IP协议栈指纹鉴别 35
2.4.4操作系统指纹识别依据 36
2.4.5操作系统指纹识别代码实现 39
2.4.6Web站点猜测 48
2.4.7综合分析 49
实例2.1 一段端口检测程序代码 50
2.5 扫描器程序实现 52
2.5.1ICMP echo扫描原理 52
2.5.2ICMP echo扫描的实现方法 53
实例2.2 ICMP扫描程序类定义 54
实例2.3 ICMP扫描的代码实现 55
实例2.4 ICMP扫描判断主机存活 58
2.5.3ARP扫描的原理 59
2.5.4ARP扫描的实现方法 60
实例2.5 ARP设备扫描的实现方式 60
实例2.6 ARP扫描程序实例 64
2.5.5TCP SYN扫描的原理 66
2.5.6TCP SYN扫描的实现方法 66
实例2.7 TCP SYN扫描实例 66
2.5.7综合应用实例——ARP欺骗程序 70
2.5.8ARP欺骗的原理 70
2.5.9Winpcap环境初始化 70
实例2.8 Winpcap驱动程序初始化 70
2.5.10欺骗主程序 77
实例2.9 ARP欺骗程序的实现方法 77
2.6 资产信息扫描器开发 83
2.6.1资产信息扫描器的应用范围 83
2.6.2snmp协议扫描的原理 84
2.6.3snmp协议扫描的实现方法 84
实例2.10 snmp协议扫描的实现方法 84
2.7 小结 87
第3章 提升,暴力破解和防范 88
3.1 针对应用程序通信认证的暴力破解 88
3.1.1FTP协议暴力破解原理 88
3.1.2FTP协议暴力破解实现方法 88
实例3.1 FTP暴力破解程序代码 89
3.1.3IMAP协议破解原理 92
3.1.4IMAP协议破解方法 92
实例3.2 IMAP协议破解 92
3.1.5POP3协议暴力破解原理 94
3.1.6POP3协议暴力破解实现方法 95
实例3.3 POP3协议暴力破解 95
3.1.7Telnet协议暴力破解原理 98
3.1.8Telnet协议暴力破解实现方法 98
实例3.4 Telnet协议暴力破解 98
3.2 防范恶意扫描及代码实现101
3.2.1防范恶意扫描的原理 101
3.2.2防范恶意扫描的实现方法 102
实例3.5 防范恶意扫描程序的框架102
3.3 小结 106
第4章 用代码说话,拒绝服务攻击与防范 107
4.1 拒绝服务原理及概述 107
4.1.1拒绝服务攻击技术类别 107
4.1.2拒绝服务攻击形式 108
4.2 拒绝服务攻击原理及概述109
4.2.1DoS攻击 109
4.2.2DDoS攻击 110
4.2.3DRDoS攻击 110
4.2.4CC攻击 111
4.3 拒绝服务攻击代码实现112
4.3.1DoS实现代码的原理 112
实例4.1 典型UDP Flood攻击 117
实例4.2 SYN Flood攻击代码示例 120
实例4.3 典型TCP多连接攻击程序示例 123
实例4.4 ICMP Flood攻击数据包构造 127
实例4.5 ICMP Flood攻击 130
4.3.2DRDoS攻击的代码实现 132
实例4.6 InitSynPacket函数实现过程 134
实例4.7 InitIcmpPacket函数实现过程 136
实例4.8 SYN反射线程实现方式 136
实例4.9 ICMP反射攻击线程实现 138
实例4.10 开启反射攻击线程 140
实例4.11 反射攻击线程 140
4.3.3CC攻击的代码实现 143
实例4.12 CC攻击代码实现 143
4.3.4修改TCP并发连接数限制 146
实例4.13 修改TCP并发连接线程 146
4.4 拒绝服务攻击防范 151
4.4.1拒绝服务攻击现象及影响 151
4.4.2DoS攻击的防范 151
4.4.3DRDoS攻击的防范 152
4.4.4CC攻击的防范 152
实例4.14 ASP程序Session认证 153
实例4.15 ASP程序判断真实IP地址 153
4.5 小结 154
第5章 你也能开发"病毒" 155
5.1 感染功能描述 155
5.1.1话说熊猫烧香 155
5.1.2何为"下载者" 156
5.1.3感染功能描述 157
5.2 感染型下载者工作流程165
5.3 感染所有磁盘 166
5.3.1感染所有磁盘原理 167
5.3.2感染所有磁盘的实现方法 167
实例5.1 感染所有磁盘的代码 167
5.4 感染U盘、移动硬盘 167
5.4.1U盘、移动硬盘感染的原理 167
5.4.2U盘、移动硬盘感染的实现方法 168
实例5.2 U盘感染实现代码 171
5.5 关闭杀毒软件和文件下载的实现 171
5.5.1关闭杀毒软件的原理 171
5.5.2关闭杀毒软件和文件下载的实现方法 172
实例5.3 关闭杀毒软件和文件下载172
5.6 结束指定进程 176
5.6.1结束指定进程的原理 177
5.6.2结束指定进程的实现方法 177
实例5.4 结束指定进程 177
5.6.3暴力结束进程 178
实例5.5 暴力结束进程 178
实例5.6 下载执行程序 186
5.7 局域网感染 187
5.7.1局域网感染原理 187
5.7.2局域网感染的实现方法 187
实例5.7 局域网同网段扫描并感染的代码实现 187
实例5.8 IPC连接操作 190
5.8 隐藏进程 191
5.8.1隐藏进程的原理 192
5.8.2隐藏进程的实现方法 192
5.9 感染可执行文件 193
5.9.1感染可执行文件的原理 193
5.9.2感染可执行文件的实现方法 193
实例5.9 汇编查找kernel.dll的地址 193
实例5.10 遍历文件目录查找.exe文件路径 196
实例5.11 全盘搜索.exe文件 197
5.10感染网页文件 197
5.10.1感染网页文件的原理 197
5.10.2感染网页文件的实现方法 197
实例5.12 向指定文件尾部写入代码197
实例5.13 搜索网页文件并调用感染函数198
实例5.14 设置文件隐藏属性 199
5.11多文件下载 200
5.11.1多文件下载的原理 200
5.11.2多文件下载的实现方法 200
5.12自删除功能 202
5.12.1自删除功能的原理 202
5.12.2自删除功能的实现方法 202
实例5.15 程序自删除功能 202
5.13下载者调用外部程序 203
5.13.1下载者调用外部程序的原理 203
5.13.2下载者调用外部程序的实现方法 203
实例5.16 zxarps.exe程序帮助信息 203
实例5.17 释放资源调用ARP攻击程序 206
实例5.18 调用ARP攻击程序循环攻击C段IP地址 207
5.14"机器狗"程序 208
5.14.1"机器狗"程序原理 208
5.14.2"机器狗"代码实现 209
实例5.19 "机器狗"释放驱动并安装执行的代码实现 209
实例5.20 驱动感染userinit.exe213
5.15利用第三方程序漏洞 216
实例5.21 迅雷溢出漏洞利用文件Thunder.js217
5.16程序其他需要注意的地方 219
5.16.1窗口程序的创建 219
实例5.22 创建窗口程序的代码实现219
5.16.2应用程序互斥处理 220
实例5.23 应用程序互斥处理 220
5.16.3禁止关闭窗口 221
5.17小结 221
第6章 你当然也能开发杀毒程序222
6.1 下载者的防范措施 222
6.1.1U盘感染的防范 222
6.1.2驱动级病毒的防范 224
6.1.3阻止第三方程序引起的漏洞 226
6.1.4本地计算机防范ARP程序运行 227
6.1.5其他需要注意的地方 228
6.2U盘病毒防火墙的开发 228
6.2.1U盘病毒防火墙的功能及实现技术 228
6.2.2U盘病毒防火墙的代码实现 229
实例6.1 全盘检测AutoRun.inf文件 229
实例6.2 单个磁盘的扫描检测程序229
实例6.3 删除病毒文件 231
实例6.4 格式化磁盘 231
实例6.5 调用System函数格式化磁盘 232
实例6.6 备份文件 232
实例6.7 增加注册表启动项 235
实例6.8 禁止系统自动播放功能235
6.3 小结 237
第7章 攻防的高难度的动作 238
7.1Rootkit与系统内核功能 238
7.1.1Rootkit简介 238
7.1.2Rootkit相关的系统功能 238
7.1.3Rootkit的分类及实现 239
实例7.1 IRPS形式的Rootkit编码实现 241
7.2Rootkit对抗杀毒软件 243
7.2.1增加空节来感染PE文件 244
实例7.2 给程序增加空字节 244
7.2.2通过Rootkit来绕过KIS 7.0 的网络监控程序 251
实例7.3 编程绕过KIS 252
7.2.3HIV绕过卡巴斯基主动防御的方法 253
实例7.4 HIV绕过卡巴斯基 253
7.2.4关于进程PEB结构的修改实现 255
实例7.5 进程PEB结构的修改实现 255
实例7.6 修改PEB信息 258
7.2.5结束AVP的批处理 259
实例7.7 结束AVP的批处理程序 259
7.3Rootkit程序实例 262
实例7.8 RootKit程序保护文件功能 262
实例7.9 上层应用程序调用sys驱动 268
7.4 小结 270
第8章 没开发过自己的软件,怎么成大师 271
8.1 远程控制软件简介 271
8.1.1远程控制软件的形式 271
8.1.2远程控制软件的特点 272
8.2 远程控制软件的功能 273
8.2.1反弹连接功能 273
8.2.2动态更新IP功能 273
8.2.3详细的计算机配置信息的获取 274
8.2.4进