书籍详情
利用Python开源工具分析恶意代码
作者:[韩] 赵涏元 等 著;武传海 译
出版社:人民邮电出版社
出版时间:2018-01-01
ISBN:9787115472984
定价:¥99.00
购买这本书可以去
内容简介
恶意代码分析过程中,重要的是掌握恶意代码的特征,此时需要灵活运用线上服务的快速分析数据和主要恶意代码的数据库。《利用Python开源工具分析恶意代码》从应对入侵事故一线业务人员角度出发,介绍了分析恶意代码时的Python 等众多开源工具的使用方法,也给出了可以迅速应用于实际业务的解决方案。
作者简介
赵涏元(chogar@naver.com) 目前在KB投资证券公司负责安全工作,管理安全防范项目组(http://www.boanproject.com)。在A3 Security公司做过5年渗透测试咨询顾问,在渗透测试项目管理、网络应用开发、源代码诊断等多种领域执行过漏洞诊断。之后在KTH安全团队负责移动服务和云服务安全、应对侵权事故等业务。与人合著《Kali Linux & BackTrack渗透测试实战》《Android恶意代码分析与渗透测试》等,现与安全防范项目组成员一起活跃在各个领域。崔祐硕 目前在(株)韩国信息保护教育中心(KISEC,Korean Information Security Education Center)f-NGS研究所负责安全及相关领域研究,并在此基础上举办讲座,不断发表分析报告书。主要研究恶意代码分析及发布、开源工具应用、Web黑客攻防等,致力于技术与人文的结合。曾在(株)Tricubelab分析恶意代码发布、研究多种方法,构建并测试恶意代码相关开源工具,在此过程中积累创意和经验。负责安全防范项目组的恶意代码及漏洞部分研究,与人合著《Kali Linux & BackTrack渗透测试实战》,管理Hakawati Lab(www.hakawati.co.kr)博客。 李导炅 曾在三星SDS负责4年Web漏洞诊断业务,现在NSHC Red Alert团队担任恶意代码分析研究员,同时负责教育内容开发业务。在安全防范项目组负责恶意代码分析项目,关注并研究开源分析与开发。 郑智训 计算机信息通信工程专业在读,曾任蔚山大学信息安全兴趣小组UOU_Unknown组长,目前依然参与小组活动。在安全防范项目组以恶意代码分析项目起步,负责恶意代码分析相关开源工具分析与研究项目。正在研究利用开源工具开发简单高效的恶意代码分析自动化系统。
目录
1 开源软件与Python环境 1
1.1 关于开源软件 2
如果管理人员熟悉开源软件 2
1.2 Python简介 3
1.3 搭建Python环境与程序发布 3
1.3.1 在Windows下搭建Python环境 3
1.3.2 使用Eclipse与PyDev搭建Python开发环境 7
1.3.3 使用pyinstaller发布程序 12
1.4 从Github站点下载开源工具 15
1.5 安装Python模块 17
1.6 小结 19
2 通过peframe学习PE文件结构 20
2.1 PE文件结构 21
2.1.1 DOS Header结构体 23
2.1.2 DOS Stub Program 26
2.1.3 IMAGE_NT_HEADER结构体 26
2.2 分析peframe工具 28
2.2.1 IMPORT模块 29
2.2.2 预处理部分 30
2.2.3 分析main函数 35
2.2.4 peframe中的函数 40
2.3 恶意代码的特征因子 136
2.3.1 杀毒结果 136
2.3.2 散列值 137
2.3.3 加壳器 138
2.3.4 节区名与熵 139
2.3.5 API 141
2.3.6 字符串 143
2.3.7 PE元数据 144
2.4 小结 145
3 恶意代码分析服务 146
3.1 恶意代码分析环境 147
3.1.1 自动分析服务种类 147
3.1.2 恶意代码分析Live CD介绍 148
3.1.3 收集恶意代码 151
3.2 线上分析服务 166
3.2.1 VirusTotal服务 166
3.2.2 应用VirusTotal服务API 173
3.2.3 使用URLquery查看感染恶意代码的网站 188
3.2.4 使用hybrid-analysis分析恶意代码 190
3.3 小结 192
4 使用Cuckoo Sandbox 193
4.1 Cuckoo Sandbox定义 195
4.2 Cuckoo Sandbox特征 196
4.3 安装Cuckoo Sandbox 197
4.3.1 安装Ubuntu 14.04 LTS 199
4.3.2 安装VMware Tools 203
4.3.3 镜像站点 205
4.3.4 安装辅助包与库 206
4.3.5 安装必需包与库 207
4.3.6 设置tcpdump 213
4.4 安装沙箱 214
4.4.1 安装沙箱 214
4.4.2 安装增强功能 218
4.4.3 安装Python与Python-PIL 219
4.4.4 关闭防火墙与自动更新 220
4.4.5 网络设置 221
4.4.6 设置附加环境 223
4.4.7 安装Agent.py 224
4.4.8 生成虚拟机备份 228
4.4.9 通过复制添加沙箱 229
4.5 设置Cuckoo Sandbox 232
4.5.1 设置cuckoo.conf 232
4.5.2 设置processing.conf 236
4.5.3 设置reporting.conf 238
4.5.4 设置virtualbox.conf 239
4.5.5 设置auxiliary.conf 242
4.5.6 设置memory.conf 243
4.6 运行Cuckoo Sandbox引擎 247
4.6.1 Community.py 248
4.6.2 使用最新Web界面 250
4.6.3 上传分析文件 252
4.6.4 调试模式 255
4.6.5 使用经典Web界面 256
4.7 Cuckoo Sandbox报告 257
4.7.1 JSONdump报告 257
4.7.2 HTML报告 258
4.7.3 MMDef报告 259
4.7.4 MAEC报告 260
4.8 Api.py分析 262
4.8.1 POST-/tasks/create/file 263
4.8.2 POST-/tasks/create/url 264
4.8.3 GET- /tasks/list 264
4.8.4 GET-/tasks/view 266
4.8.5 GET- /tasks/delete 267
4.8.6 GET-/tasks/report 267
4.8.7 GET-/tasks/screenshots 269
4.8.8 GET-/files/view 269
4.8.9 GET-/files/get 270
4.8.10 GET-/pcap/get 270
4.8.11 GET-/machine/list 270
4.8.12 GET-/machines/view 272
4.8.13 GET-/cuckoo/status 272
4.9 Cuckoo Sandbox实用工具 273
4.9.1 clean.sh 273
4.9.2 process.py 274
4.9.3 stats.py 274
4.9.4 submit.py 275
4.10 分析结果 275
4.10.1 Quick Overview 276
4.10.2 Static Analysis 279
4.10.3 Behavioral Analysis 280
4.10.4 Network Analysis 281
4.10.5 Dropped Files 282
4.11 使用Volatility的内存分析结果 282
4.11.1 Process List 283
4.11.2 Services 284
4.11.3 Kernel Modules 285
4.11.4 Device Tree 285
4.11.5 Code Injection 286
4.11.6 Timers 286
4.11.7 Messagehooks 287
4.11.8 API Hooks 287
4.11.9 Callbacks 288
4.11.10 Yarascan 288
4.11.11 SSDT 288
4.11.12 IDT 289
4.11.13 GDT 289
4.12 Admin功能 290
4.13 比较功能 290
4.14 小结 292
5 恶意代码详细分析 293
5.1 查看Cuckoo Sandbox分析结果 294
5.2 线上分析报告 295
5.3 手动详细分析 296
5.4 小结 323
6 其他分析工具 324
6.1 使用viper分析与管理二进制文件 325
6.1.1 安装viper 325
6.1.2 使用viper 326
6.1.3 viper命令 327
6.1.4 模块 337
6.2 使用ClamAV对恶意代码分类 354
6.3 使用pyew管理与分析恶意代码 363
6.3.1 查看帮助 365
6.3.2 查看导入表 368
6.3.3 在VirusTotal中检测文件 370
6.3.4 查看URL信息 371
6.3.5 检测PDF文件 373
6.4 使用pescanner检测恶意代码 379
6.4.1 使用Yara签名进行检测 381
6.4.2 检测可疑API函数 383
6.4.3 查看熵值 385
6.5 使用PEStudio分析可疑文件 385
6.6 分析网络包 388
6.6.1 使用captipper分析网络包 388
6.6.2 使用pcap-analyzer分析网络包 390
6.6.3 使用net-creds获取重要信息 393
6.7 使用各种开源工具分析恶意代码文件 395
6.8 使用Docker容器 402
6.8.1 Docker定义 402
6.8.2 关于Docker Hub 403
6.8.3 使用REMnux Docker镜像 405
6.9 小结 408
7 利用内存分析应对入侵事故 409
7.1 Volatility简介与环境搭建 410
参考社区(维基页面) 415
7.2 使用Volatility分析恶意代码 416
7.3 开源工具:TotalRecall 424
7.4 使用Redline分析内存 433
7.5 Volatility插件使用与推荐 441
7.6 使用Rekall进行内存取证分析 445
7.7 使用VolDiff比较内存分析结果 462
7.8 使用DAMM比较内存分析结果 471
7.9 恶意代码内存分析示例 474
7.10 通过攻击模拟了解内存转储用法 477
7.11 小结 482
1.1 关于开源软件 2
如果管理人员熟悉开源软件 2
1.2 Python简介 3
1.3 搭建Python环境与程序发布 3
1.3.1 在Windows下搭建Python环境 3
1.3.2 使用Eclipse与PyDev搭建Python开发环境 7
1.3.3 使用pyinstaller发布程序 12
1.4 从Github站点下载开源工具 15
1.5 安装Python模块 17
1.6 小结 19
2 通过peframe学习PE文件结构 20
2.1 PE文件结构 21
2.1.1 DOS Header结构体 23
2.1.2 DOS Stub Program 26
2.1.3 IMAGE_NT_HEADER结构体 26
2.2 分析peframe工具 28
2.2.1 IMPORT模块 29
2.2.2 预处理部分 30
2.2.3 分析main函数 35
2.2.4 peframe中的函数 40
2.3 恶意代码的特征因子 136
2.3.1 杀毒结果 136
2.3.2 散列值 137
2.3.3 加壳器 138
2.3.4 节区名与熵 139
2.3.5 API 141
2.3.6 字符串 143
2.3.7 PE元数据 144
2.4 小结 145
3 恶意代码分析服务 146
3.1 恶意代码分析环境 147
3.1.1 自动分析服务种类 147
3.1.2 恶意代码分析Live CD介绍 148
3.1.3 收集恶意代码 151
3.2 线上分析服务 166
3.2.1 VirusTotal服务 166
3.2.2 应用VirusTotal服务API 173
3.2.3 使用URLquery查看感染恶意代码的网站 188
3.2.4 使用hybrid-analysis分析恶意代码 190
3.3 小结 192
4 使用Cuckoo Sandbox 193
4.1 Cuckoo Sandbox定义 195
4.2 Cuckoo Sandbox特征 196
4.3 安装Cuckoo Sandbox 197
4.3.1 安装Ubuntu 14.04 LTS 199
4.3.2 安装VMware Tools 203
4.3.3 镜像站点 205
4.3.4 安装辅助包与库 206
4.3.5 安装必需包与库 207
4.3.6 设置tcpdump 213
4.4 安装沙箱 214
4.4.1 安装沙箱 214
4.4.2 安装增强功能 218
4.4.3 安装Python与Python-PIL 219
4.4.4 关闭防火墙与自动更新 220
4.4.5 网络设置 221
4.4.6 设置附加环境 223
4.4.7 安装Agent.py 224
4.4.8 生成虚拟机备份 228
4.4.9 通过复制添加沙箱 229
4.5 设置Cuckoo Sandbox 232
4.5.1 设置cuckoo.conf 232
4.5.2 设置processing.conf 236
4.5.3 设置reporting.conf 238
4.5.4 设置virtualbox.conf 239
4.5.5 设置auxiliary.conf 242
4.5.6 设置memory.conf 243
4.6 运行Cuckoo Sandbox引擎 247
4.6.1 Community.py 248
4.6.2 使用最新Web界面 250
4.6.3 上传分析文件 252
4.6.4 调试模式 255
4.6.5 使用经典Web界面 256
4.7 Cuckoo Sandbox报告 257
4.7.1 JSONdump报告 257
4.7.2 HTML报告 258
4.7.3 MMDef报告 259
4.7.4 MAEC报告 260
4.8 Api.py分析 262
4.8.1 POST-/tasks/create/file 263
4.8.2 POST-/tasks/create/url 264
4.8.3 GET- /tasks/list 264
4.8.4 GET-/tasks/view 266
4.8.5 GET- /tasks/delete 267
4.8.6 GET-/tasks/report 267
4.8.7 GET-/tasks/screenshots 269
4.8.8 GET-/files/view 269
4.8.9 GET-/files/get 270
4.8.10 GET-/pcap/get 270
4.8.11 GET-/machine/list 270
4.8.12 GET-/machines/view 272
4.8.13 GET-/cuckoo/status 272
4.9 Cuckoo Sandbox实用工具 273
4.9.1 clean.sh 273
4.9.2 process.py 274
4.9.3 stats.py 274
4.9.4 submit.py 275
4.10 分析结果 275
4.10.1 Quick Overview 276
4.10.2 Static Analysis 279
4.10.3 Behavioral Analysis 280
4.10.4 Network Analysis 281
4.10.5 Dropped Files 282
4.11 使用Volatility的内存分析结果 282
4.11.1 Process List 283
4.11.2 Services 284
4.11.3 Kernel Modules 285
4.11.4 Device Tree 285
4.11.5 Code Injection 286
4.11.6 Timers 286
4.11.7 Messagehooks 287
4.11.8 API Hooks 287
4.11.9 Callbacks 288
4.11.10 Yarascan 288
4.11.11 SSDT 288
4.11.12 IDT 289
4.11.13 GDT 289
4.12 Admin功能 290
4.13 比较功能 290
4.14 小结 292
5 恶意代码详细分析 293
5.1 查看Cuckoo Sandbox分析结果 294
5.2 线上分析报告 295
5.3 手动详细分析 296
5.4 小结 323
6 其他分析工具 324
6.1 使用viper分析与管理二进制文件 325
6.1.1 安装viper 325
6.1.2 使用viper 326
6.1.3 viper命令 327
6.1.4 模块 337
6.2 使用ClamAV对恶意代码分类 354
6.3 使用pyew管理与分析恶意代码 363
6.3.1 查看帮助 365
6.3.2 查看导入表 368
6.3.3 在VirusTotal中检测文件 370
6.3.4 查看URL信息 371
6.3.5 检测PDF文件 373
6.4 使用pescanner检测恶意代码 379
6.4.1 使用Yara签名进行检测 381
6.4.2 检测可疑API函数 383
6.4.3 查看熵值 385
6.5 使用PEStudio分析可疑文件 385
6.6 分析网络包 388
6.6.1 使用captipper分析网络包 388
6.6.2 使用pcap-analyzer分析网络包 390
6.6.3 使用net-creds获取重要信息 393
6.7 使用各种开源工具分析恶意代码文件 395
6.8 使用Docker容器 402
6.8.1 Docker定义 402
6.8.2 关于Docker Hub 403
6.8.3 使用REMnux Docker镜像 405
6.9 小结 408
7 利用内存分析应对入侵事故 409
7.1 Volatility简介与环境搭建 410
参考社区(维基页面) 415
7.2 使用Volatility分析恶意代码 416
7.3 开源工具:TotalRecall 424
7.4 使用Redline分析内存 433
7.5 Volatility插件使用与推荐 441
7.6 使用Rekall进行内存取证分析 445
7.7 使用VolDiff比较内存分析结果 462
7.8 使用DAMM比较内存分析结果 471
7.9 恶意代码内存分析示例 474
7.10 通过攻击模拟了解内存转储用法 477
7.11 小结 482
猜您喜欢