书籍详情
bash网络安全运维
作者:[美] 保罗·特龙科恩,卡尔·阿尔宾 著
出版社:机械工业出版社
出版时间:2020-06-01
ISBN:9787111654032
定价:¥89.00
购买这本书可以去
内容简介
基础:防御和攻击原则、命令行、bash基础及常规表达。 安全防御操作:数据收集和分析、实时日志监控、恶意软件分析。 渗透测试:脚本混淆和命令行模糊及远程访问工具。 安全管理:用户、组、权限,以及设备和软件清单。
作者简介
Paul Troncone Paul Troncone是Digadel公司创始人。他拥有超过15年的网络安全和信息技术经验,曾任美国海军学院的杰出客座教授,在计算机科学系教授安全课程。 Carl Albing Carl Albing博士是一位具有丰富行业经验的教师、研究员和软件工程师。现任海军研究生院数据科学和分析小组教授。
目录
目录
前言 1
第一部分 基础
第1章 命令行入门 9
1.1 命令行定义 9
1.2 为什么选择bash 9
1.3 命令行示例 10
1.4 在Windows上运行Linux和bash 10
1.4.1 Git Bash 10
1.4.2 Cygwin 11
1.4.3 Linux版Windows子系统 11
1.4.4 Windows命令提示符及PowerShell 11
1.5 命令行基础 12
1.5.1 命令、参数、内建指令和关键字 12
1.5.2 标准输入/输出/错误 13
1.5.3 重定向和管道 14
1.5.4 在后台运行命令 15
1.5.5 从命令行到脚本 16
1.6 总结 16
1.7 练习题 17
第2章 bash入门 18
2.1 输出 18
2.2 变量 18
2.3 输入 20
2.4 条件语句 20
2.5 循环 24
2.6 函数 25
2.6.1 函数参数 26
2.6.2 返回值 26
2.7 bash中的模式匹配 27
2.8 编写第一个脚本—检测操作系统类型 29
2.9 总结 29
2.10 练习题 30
第3章 正则表达式入门 31
3.1 使用的命令 31
3.1.1 grep 31
3.1.2 grep和egrep 32
3.2 正则表达式元字符 33
3.2.1 “.”元字符 33
3.2.2 “?”元字符 33
3.2.3 “*” 元字符 33
3.2.4 “+”元字符 34
3.2.5 分组 34
3.2.6 方括号和字符类 34
3.2.7 回调引用 36
3.2.8 量词 37
3.2.9 锚和单词边界 38
3.3 总结 38
3.4 练习题 38
第4章 防御和攻击原则 39
4.1 网络安全 39
4.1.1 保密性 39
4.1.2 完整性 40
4.1.3 可用性 40
4.1.4 不可否认性 40
4.1.5 身份验证 40
4.2 攻击生命周期 40
4.2.1 前期侦察 41
4.2.2 初步入侵 41
4.2.3 建立立足点 42
4.2.4 升级特权 42
4.2.5 内部侦察 42
4.2.6 横向运动 42
4.2.7 维护驻留 43
4.2.8 完成任务 43
4.3 总结 43
第二部分 使用bash进行安全运维防御
第5章 数据收集 47
5.1 使用的命令 48
5.1.1 cut 48
5.1.2 file 49
5.1.3 head 50
5.1.4 reg 50
5.1.5 wevtutil 50
5.2 收集系统信息 51
5.2.1 使用SSH远程执行命令 52
5.2.2 收集Linux日志文件 52
5.2.3 收集Windows日志文件 53
5.2.4 收集系统信息 55
5.2.5 收集Windows注册表 59
5.3 搜索文件系统 59
5.3.1 按文件名搜索 60
5.3.2 搜索隐藏文件 60
5.3.3 按文件大小搜索 61
5.3.4 按时间搜索 62
5.3.5 搜索内容 63
5.3.6 按文件类型搜索 63
5.3.7 按消息摘要值搜索 67
5.4 数据传输 69
5.5 总结 69
5.6 练习题 70
第6章 数据处理 71
6.1 使用的命令 71
6.1.1 awk 71
6.1.2 join 72
6.1.3 sed 73
6.1.4 tail 74
6.1.5 tr 74
6.2 处理带分隔符的文件 75
6.2.1 遍历带分隔符的数据 76
6.2.2 按字符位置处理 77
6.3 处理XML 78
6.4 处理JSON 79
6.5 聚合数据 81
6.6 总结 82
6.7 练习题 83
第7章 数据分析 84
7.1 使用的命令 84
7.1.1 sort 84
7.1.2 uniq 85
7.2 熟悉Web服务器访问日志 86
7.3 数据排序和整理 87
7.4 统计数据出现频次 87
7.5 统计数据总数 91
7.6 用直方图显示数据 93
7.7 发现数据的唯一性 98
7.8 识别异常数据 99
7.9 总结 102
7.10 练习题 102
第8章 实时日志监控 103
8.1 监控文本日志 103
8.2 监控Windows日志 106
8.3 生成实时直方图 106
8.4 总结 111
8.5 练习题 111
第9章 工具:网络监控 112
9.1 使用的命令 112
9.1.1 crontab 112
9.1.2 schtasks 113
9.2 第1步:创建端口扫描程序 113
9.3 第2步:与之前的输出进行比较 115
9.4 第3步:自动化和通知 118
9.4.1 在Linux中安排任务 119
9.4.2 在Windows中安排任务 120
9.5 总结 120
9.6 练习题 121
第10章 工具:文件系统监控 122
10.1 使用的命令 122
10.2 步骤1:对文件系统进行基线化 123
10.3 步骤2:检测基线的变化 124
10.4 步骤3:自动化和通知 126
10.5 总结 129
10.6 练习题 129
第11章 恶意软件分析 131
11.1 使用的命令 131
11.1.1 curl 131
11.1.2 vi 132
11.1.3 xxd 133
11.2 逆向工程 134
11.2.1 十六进制、十进制、二进制和ASCII转换 134
11.2.2 用xxd分析 135
11.3 提取字符串 137
11.4 VirusTotal接口 137
11.4.1 通过哈希值搜索数据库 138
11.4.2 扫描文件 142
11.4.3 扫描URL、域名和IP地址 143
11.5 总结 143
11.6 练习题 144
第12章 格式化和报告 145
12.1 使用的命令 145
12.2 使用HTML格式化显示和打印 146
12.3 创建Dashboard 150
12.4 总结 154
12.5 练习题 154
第三部分 使用bash进行渗透试验
第13章 侦察 157
13.1 使用的命令 157
13.2 网站爬虫 158
13.3 自动化的横幅爬取 159
13.4 总结 163
13.5 练习题 163
第14章 脚本混淆 164
14.1 使用的命令 164
14.1.1 base64 164
14.1.2 eval 165
14.2 语法混淆 165
14.3 逻辑混淆 167
14.4 加密 169
14.4.1 密码学入门 169
14.4.2 加密脚本 170
14.4.3 创建包装器 171
14.4.4 创建自己的加密算法 172
14.5 总结 178
14.6 练习题 178
第15章 工具:命令行fuzzer 179
15.1 实现 180
15.2 总结 183
15.3 练习题 183
第16章 建立立足点 185
16.1 使用的命令 185
16.2 单行后门 186
16.2.1 反向SSH 186
16.2.2 bash后门 187
16.3 自定义远程访问工具 188
16.4 总结 192
16.5 练习题 193
第四部分 使用bash进行安全管理
第17章 用户、组和权限 197
17.1 使用的命令 197
17.1.1 chmod 197
17.1.2 chown 198
17.1.3 getfacl 198
17.1.4 groupadd 198
17.1.5 setfacl 198
17.1.6 useradd 199
17.1.7 usermod 199
17.1.8 icacls 199
17.1.9 net 200
17.2 用户和组 200
17.2.1 创建Linux用户和组 200
17.2.2 创建Windows用户和组 201
17.3 文件权限和访问控制列表 203
17.3.1 Linux文件权限 203
17.3.2 Windows文件权限 204
17.4 进行批量更改 205
17.5 总结 206
17.6 练习题 206
第18章 编写日志条目 207
18.1 使用的命令 207
18.1.1 eventcreate 207
18.1.2 logger 208
18.2 编写Windows日志 208
18.3 编写Linux日志 209
18.4 总结 210
18.5 练习题 210
第19章 工具:系统可用性监控 211
19.1 使用的命令 211
19.2 实现 212
19.3 总结 214
19.4 练习题 214
第20章 工具:软件清单 215
20.1 使用的命令 215
20.1.1 apt 216
20.1.2 dpkg 216
20.1.3 wmic 217
20.1.4 yum 217
20.2 实现 218
20.3 识别其他软件 219
20.4 总结 220
20.5 练习题 220
第21章 工具:验证配置 222
21.1 实现 222
21.2 总结 227
21.3 练习题 227
第22章 工具:账户审核 228
22.1 网站Have I Been Pwned 228
22.2 检查密码是否被泄露 228
22.3 检查泄露的电子邮件地址 231
22.4 总结 234
22.5 练习题 235
第23章 结论 236
前言 1
第一部分 基础
第1章 命令行入门 9
1.1 命令行定义 9
1.2 为什么选择bash 9
1.3 命令行示例 10
1.4 在Windows上运行Linux和bash 10
1.4.1 Git Bash 10
1.4.2 Cygwin 11
1.4.3 Linux版Windows子系统 11
1.4.4 Windows命令提示符及PowerShell 11
1.5 命令行基础 12
1.5.1 命令、参数、内建指令和关键字 12
1.5.2 标准输入/输出/错误 13
1.5.3 重定向和管道 14
1.5.4 在后台运行命令 15
1.5.5 从命令行到脚本 16
1.6 总结 16
1.7 练习题 17
第2章 bash入门 18
2.1 输出 18
2.2 变量 18
2.3 输入 20
2.4 条件语句 20
2.5 循环 24
2.6 函数 25
2.6.1 函数参数 26
2.6.2 返回值 26
2.7 bash中的模式匹配 27
2.8 编写第一个脚本—检测操作系统类型 29
2.9 总结 29
2.10 练习题 30
第3章 正则表达式入门 31
3.1 使用的命令 31
3.1.1 grep 31
3.1.2 grep和egrep 32
3.2 正则表达式元字符 33
3.2.1 “.”元字符 33
3.2.2 “?”元字符 33
3.2.3 “*” 元字符 33
3.2.4 “+”元字符 34
3.2.5 分组 34
3.2.6 方括号和字符类 34
3.2.7 回调引用 36
3.2.8 量词 37
3.2.9 锚和单词边界 38
3.3 总结 38
3.4 练习题 38
第4章 防御和攻击原则 39
4.1 网络安全 39
4.1.1 保密性 39
4.1.2 完整性 40
4.1.3 可用性 40
4.1.4 不可否认性 40
4.1.5 身份验证 40
4.2 攻击生命周期 40
4.2.1 前期侦察 41
4.2.2 初步入侵 41
4.2.3 建立立足点 42
4.2.4 升级特权 42
4.2.5 内部侦察 42
4.2.6 横向运动 42
4.2.7 维护驻留 43
4.2.8 完成任务 43
4.3 总结 43
第二部分 使用bash进行安全运维防御
第5章 数据收集 47
5.1 使用的命令 48
5.1.1 cut 48
5.1.2 file 49
5.1.3 head 50
5.1.4 reg 50
5.1.5 wevtutil 50
5.2 收集系统信息 51
5.2.1 使用SSH远程执行命令 52
5.2.2 收集Linux日志文件 52
5.2.3 收集Windows日志文件 53
5.2.4 收集系统信息 55
5.2.5 收集Windows注册表 59
5.3 搜索文件系统 59
5.3.1 按文件名搜索 60
5.3.2 搜索隐藏文件 60
5.3.3 按文件大小搜索 61
5.3.4 按时间搜索 62
5.3.5 搜索内容 63
5.3.6 按文件类型搜索 63
5.3.7 按消息摘要值搜索 67
5.4 数据传输 69
5.5 总结 69
5.6 练习题 70
第6章 数据处理 71
6.1 使用的命令 71
6.1.1 awk 71
6.1.2 join 72
6.1.3 sed 73
6.1.4 tail 74
6.1.5 tr 74
6.2 处理带分隔符的文件 75
6.2.1 遍历带分隔符的数据 76
6.2.2 按字符位置处理 77
6.3 处理XML 78
6.4 处理JSON 79
6.5 聚合数据 81
6.6 总结 82
6.7 练习题 83
第7章 数据分析 84
7.1 使用的命令 84
7.1.1 sort 84
7.1.2 uniq 85
7.2 熟悉Web服务器访问日志 86
7.3 数据排序和整理 87
7.4 统计数据出现频次 87
7.5 统计数据总数 91
7.6 用直方图显示数据 93
7.7 发现数据的唯一性 98
7.8 识别异常数据 99
7.9 总结 102
7.10 练习题 102
第8章 实时日志监控 103
8.1 监控文本日志 103
8.2 监控Windows日志 106
8.3 生成实时直方图 106
8.4 总结 111
8.5 练习题 111
第9章 工具:网络监控 112
9.1 使用的命令 112
9.1.1 crontab 112
9.1.2 schtasks 113
9.2 第1步:创建端口扫描程序 113
9.3 第2步:与之前的输出进行比较 115
9.4 第3步:自动化和通知 118
9.4.1 在Linux中安排任务 119
9.4.2 在Windows中安排任务 120
9.5 总结 120
9.6 练习题 121
第10章 工具:文件系统监控 122
10.1 使用的命令 122
10.2 步骤1:对文件系统进行基线化 123
10.3 步骤2:检测基线的变化 124
10.4 步骤3:自动化和通知 126
10.5 总结 129
10.6 练习题 129
第11章 恶意软件分析 131
11.1 使用的命令 131
11.1.1 curl 131
11.1.2 vi 132
11.1.3 xxd 133
11.2 逆向工程 134
11.2.1 十六进制、十进制、二进制和ASCII转换 134
11.2.2 用xxd分析 135
11.3 提取字符串 137
11.4 VirusTotal接口 137
11.4.1 通过哈希值搜索数据库 138
11.4.2 扫描文件 142
11.4.3 扫描URL、域名和IP地址 143
11.5 总结 143
11.6 练习题 144
第12章 格式化和报告 145
12.1 使用的命令 145
12.2 使用HTML格式化显示和打印 146
12.3 创建Dashboard 150
12.4 总结 154
12.5 练习题 154
第三部分 使用bash进行渗透试验
第13章 侦察 157
13.1 使用的命令 157
13.2 网站爬虫 158
13.3 自动化的横幅爬取 159
13.4 总结 163
13.5 练习题 163
第14章 脚本混淆 164
14.1 使用的命令 164
14.1.1 base64 164
14.1.2 eval 165
14.2 语法混淆 165
14.3 逻辑混淆 167
14.4 加密 169
14.4.1 密码学入门 169
14.4.2 加密脚本 170
14.4.3 创建包装器 171
14.4.4 创建自己的加密算法 172
14.5 总结 178
14.6 练习题 178
第15章 工具:命令行fuzzer 179
15.1 实现 180
15.2 总结 183
15.3 练习题 183
第16章 建立立足点 185
16.1 使用的命令 185
16.2 单行后门 186
16.2.1 反向SSH 186
16.2.2 bash后门 187
16.3 自定义远程访问工具 188
16.4 总结 192
16.5 练习题 193
第四部分 使用bash进行安全管理
第17章 用户、组和权限 197
17.1 使用的命令 197
17.1.1 chmod 197
17.1.2 chown 198
17.1.3 getfacl 198
17.1.4 groupadd 198
17.1.5 setfacl 198
17.1.6 useradd 199
17.1.7 usermod 199
17.1.8 icacls 199
17.1.9 net 200
17.2 用户和组 200
17.2.1 创建Linux用户和组 200
17.2.2 创建Windows用户和组 201
17.3 文件权限和访问控制列表 203
17.3.1 Linux文件权限 203
17.3.2 Windows文件权限 204
17.4 进行批量更改 205
17.5 总结 206
17.6 练习题 206
第18章 编写日志条目 207
18.1 使用的命令 207
18.1.1 eventcreate 207
18.1.2 logger 208
18.2 编写Windows日志 208
18.3 编写Linux日志 209
18.4 总结 210
18.5 练习题 210
第19章 工具:系统可用性监控 211
19.1 使用的命令 211
19.2 实现 212
19.3 总结 214
19.4 练习题 214
第20章 工具:软件清单 215
20.1 使用的命令 215
20.1.1 apt 216
20.1.2 dpkg 216
20.1.3 wmic 217
20.1.4 yum 217
20.2 实现 218
20.3 识别其他软件 219
20.4 总结 220
20.5 练习题 220
第21章 工具:验证配置 222
21.1 实现 222
21.2 总结 227
21.3 练习题 227
第22章 工具:账户审核 228
22.1 网站Have I Been Pwned 228
22.2 检查密码是否被泄露 228
22.3 检查泄露的电子邮件地址 231
22.4 总结 234
22.5 练习题 235
第23章 结论 236
猜您喜欢