本書共15章和3個附錄,內(nèi)容包括:評估工作流程與工具、評估工作流程與工具、局域網(wǎng)發(fā)現(xiàn)、IP網(wǎng)絡(luò)掃描、常見網(wǎng)絡(luò)服務(wù)評估、微軟服務(wù)評估、電子郵件服務(wù)評估、Web應(yīng)用體系結(jié)構(gòu)等。每一章的后邊列出了一個清單,其中總結(jié)歸納了該章所描述的各種網(wǎng)絡(luò)威脅、攻擊技術(shù),以及相應(yīng)的有效防護(hù)措施。附錄中提供了一些有益的參考資料,包括測試中常用的TCP和UDP的端口列表等。
前言
一如既往,攻擊者仍在持續(xù)地開展網(wǎng)絡(luò)攻擊來獲益。在我準(zhǔn)備撰寫《網(wǎng)絡(luò)安全評估》第三版時,對事件響應(yīng)專業(yè)技能的需求也在持續(xù)上升。在過去的十年中,盡管軟件開發(fā)商在提高其產(chǎn)品安全性方面做了大量工作,但隨著系統(tǒng)復(fù)雜度的不斷增強(qiáng),其攻擊方式也不斷變化,最終導(dǎo)致互聯(lián)網(wǎng)整體上完整性與安全性的下降。
攻擊者的戰(zhàn)略戰(zhàn)術(shù)也日益增強(qiáng),涵蓋了軟件漏洞利用、社會工程,以及對高價值資產(chǎn)的物理攻擊等多種復(fù)雜滲透手段的綜合運(yùn)用。更嚴(yán)重的是,很多為保護(hù)網(wǎng)絡(luò)安全而部署的技術(shù)已經(jīng)證明是無效的, Google Project Zero 團(tuán)隊(duì)注1成員Tavis Ormandy 已經(jīng)公布了一個可遠(yuǎn)程利用漏洞的列表,里面涵蓋了很多安全產(chǎn)品注2。
風(fēng)險與收益共存,這一原則同樣適用于網(wǎng)絡(luò)安全領(lǐng)域。網(wǎng)絡(luò)安全研究人員有時候會負(fù)責(zé)任地向產(chǎn)品廠商通報0day 漏洞,有時候也會出于經(jīng)濟(jì)報酬的目的來向第三方或攻擊者披露0day 漏洞,后者則與相應(yīng)的客戶進(jìn)行研究成果的分享和利用。此外,還有一個日益擴(kuò)大的鴻溝,即有些只為某些特權(quán)組織(比如政府和犯罪組織)所知的嚴(yán)重安全漏洞的數(shù)量日益增長。
針對這種狀況,一個下意識的反應(yīng)就是起訴黑客并控制其攻擊工具的擴(kuò)散。然而,我們所面對的對手及其采用的戰(zhàn)略戰(zhàn)術(shù),不過是一個嚴(yán)重問題的表征:我們所使用的產(chǎn)品并不適用于這一目的。對很多技術(shù)公司而言,產(chǎn)品安全是之后才添加的內(nèi)容,我們今天面臨的安全挑戰(zhàn)只是這個問題的一種表現(xiàn)。
導(dǎo)致事情進(jìn)一步惡化的是,政府推進(jìn)了網(wǎng)絡(luò)空間軍事化的進(jìn)程,并破壞了用于保護(hù)數(shù)據(jù)的密碼系統(tǒng)的完整性注3。作為網(wǎng)絡(luò)安全專家,我們必須提倡縱深防御(defense in depth)來降低可能仍然存在的風(fēng)險,并努力確保網(wǎng)絡(luò)成為適合開展商務(wù)貿(mào)易、數(shù)據(jù)存儲和相互通信等業(yè)務(wù)的安全場所。
概覽
本書對計算機(jī)安全范疇中的一個特定領(lǐng)域——以結(jié)構(gòu)化的模式開展基于網(wǎng)絡(luò)的滲透測試進(jìn)行了深入研究,其中介紹的方法學(xué)描述了攻擊者怎樣在互聯(lián)網(wǎng)中探測定位存在漏洞的系統(tǒng)組件,以及用戶怎樣開展類似的互動來確保自身網(wǎng)絡(luò)環(huán)境的安全。
為了對安全風(fēng)險進(jìn)行有效管控,評估是每個組織都應(yīng)該進(jìn)行的第一個步驟。通過采用與攻擊者類似的方式對自身網(wǎng)絡(luò)環(huán)境進(jìn)行測試,能夠未雨綢繆地定位、識別其中存在的漏洞。在本書中,我將攻擊技術(shù)和相應(yīng)的應(yīng)對措施以列表的形式給出,有助于讀者設(shè)計清晰、正確的技術(shù)策略來增強(qiáng)自身網(wǎng)絡(luò)環(huán)境的安全。
Chris McNab是安全分析軟件公司AlphaSOC的創(chuàng)始人,該公司在美國和英國都設(shè)有辦事處。Chris與世界各地的客戶組織合作,幫助這些客戶了解并減輕其環(huán)境中的脆弱性。他出席了包括FIRST、OWASP、InfoSecurity Europe、InfoSec World、信息安全世界和云安全聯(lián)盟大會在內(nèi)的多項(xiàng)活動。
目錄
前言 1
第1 章 網(wǎng)絡(luò)安全評估簡介 15
當(dāng)前狀態(tài) 15
威脅與攻擊面 17
客戶端軟件攻擊 17
服務(wù)器軟件攻擊 18
Web 應(yīng)用程序攻擊 19
暴露的邏輯20
評估方法 22
靜態(tài)分析 22
設(shè)計檢驗(yàn) 22
動態(tài)測試 24
本書覆蓋的內(nèi)容 27
第2 章 評估工作流程與工具 28
網(wǎng)絡(luò)安全評估方法學(xué) 29
探測識別 29
漏洞掃描 30
漏洞研究 30
漏洞的滲透33
迭代式評估方法 33
可用的測試平臺 35
更新Kali Linux 35
部署帶漏洞的服務(wù)器 36
第3 章 漏洞與對手 37
Hacking 的基本概念 37
軟件存在漏洞的原因分析 38
考慮攻擊面 39
軟件安全錯誤分類 40
威脅建模 42
系統(tǒng)組件 42
攻擊者目標(biāo)42
系統(tǒng)訪問與執(zhí)行上下文 43
攻擊者經(jīng)濟(jì)學(xué) 45
攻擊C/C++ 應(yīng)用程序 47
運(yùn)行時內(nèi)存布局 47
處理器寄存器與內(nèi)存 50
寫入內(nèi)存 51
讀取內(nèi)存 53
編譯器與操作系統(tǒng)安全功能 56
規(guī)避常見的安全功能 58
邏輯缺陷和其他漏洞 63
密碼機(jī)制弱點(diǎn) 64
本章主要內(nèi)容回顧 66
第4 章 Internet 網(wǎng)絡(luò)發(fā)現(xiàn) 67
查詢搜索引擎與Web 站點(diǎn) 68
Google 搜索功能 69
Netcraft 查詢 73
使用Shodan 73
DomainTools 75
PGP 公鑰服務(wù)器 76
LinkedIn 搜索 77
域WHOIS 78
人工WHOIS 查詢 78
IP WHOIS 80
IP WHOIS 查詢工具與實(shí)例 81
BGP 枚舉 85
DNS 查詢 85
正向DNS 查詢 86
DNS 區(qū)域傳送技術(shù) 89
前向DNS 破解 91
反向DNS 掃描 95
IPv6 主機(jī)枚舉 97
DNS 數(shù)據(jù)集的交叉索引 98
SMTP 探測 99
枚舉的自動化 101
枚舉技術(shù)回顧 101
枚舉攻擊應(yīng)對措施 102
第5 章 局域網(wǎng)發(fā)現(xiàn) 103
數(shù)據(jù)鏈路協(xié)議 103
8023 以太網(wǎng)測試 104
8021Q VLAN 109
攻擊特定的VLAN 113
8021X PNAC 116
CDP 121
8021D STP 124
本地IP 協(xié)議 127
DHCP 128
PXE 130
LLMNR, NBT-NS 和mDNS 132
WPAD 134
內(nèi)部路由協(xié)議 136
IPv6 網(wǎng)絡(luò)發(fā)現(xiàn) 145
識別本地網(wǎng)關(guān) 151
本地網(wǎng)絡(luò)發(fā)現(xiàn)回顧 151
本地網(wǎng)絡(luò)攻擊應(yīng)對措施 153
第6 章 IP 網(wǎng)絡(luò)掃描 155
使用Nmap 進(jìn)行初始網(wǎng)絡(luò)掃描 155
ICMP 156
TCP 158
UDP 160
SCTP 163
結(jié)果匯總 167
低層IP 評估 169
偽造任意數(shù)據(jù)包 170
TCP/IP 協(xié)議棧指紋識別 173
IP ID 分析 173
利用TTL 對ACL 進(jìn)行逆向分析176
揭示內(nèi)部IP 地址 178
實(shí)用NSE 進(jìn)行漏洞掃描 178
大規(guī)模漏洞掃描 181
IDS 與IPS 規(guī)避 182
TTL 操控 182
使用SniffJoke 進(jìn)行數(shù)據(jù)插入和加擾 183
SniffJoke 配置和運(yùn)行 184
網(wǎng)絡(luò)掃描回顧 186
網(wǎng)絡(luò)掃描的應(yīng)對措施 187
第7 章 常見網(wǎng)絡(luò)服務(wù)評估 188
FTP 189
FTP 服務(wù)指紋識別 190
已知的FTP 漏洞 191
TFTP 193
已知的TFTP 漏洞 194
SSH 195
SSH 服務(wù)指紋識別 197
功能枚舉 199
缺省的和硬編碼的密鑰憑據(jù) 203
以不安全的方式生成主機(jī)密鑰 205
SSH 服務(wù)器軟件漏洞 206
Telnet 207
缺省的Telnet 密鑰憑據(jù) 208
Telnet 服務(wù)器軟件漏洞 208
IPMI 209
DNS 211
指紋識別 211
遞歸支持測試 212
已知的DNS 服務(wù)器漏洞 213
組播DNS 215
NTP 216
SNMP 218
滲透攻擊SNMP 220
SNMP community 字符串和口令破解 221
LDAP 225
LDAP 認(rèn)證 226
LDAP 操作 228
LDAP 目錄結(jié)構(gòu) 229
指紋識別與匿名綁定 230
口令暴力破解 232
獲取機(jī)密數(shù)據(jù) 233
LDAP 服務(wù)器實(shí)現(xiàn)機(jī)制缺陷 234
Kerberos 234
Kerberos 密鑰 237
票據(jù)格式 237
Kerberos 攻擊面 240
本地攻擊 240
未授權(quán)的遠(yuǎn)程攻擊 246
Kerberos 實(shí)現(xiàn)缺陷 247
VNC 248
VNC 服務(wù)器攻擊 250
UNIX RPC 服務(wù) 250
手工查詢暴露的RPC 服務(wù) 252
RPC 服務(wù)漏洞 254
常見網(wǎng)絡(luò)服務(wù)評估回顧 255
服務(wù)加固與應(yīng)對措施 256
第8 章 微軟服務(wù)評估 258
NetBIOS 名服務(wù) 259
SMB 262
微軟RPC 服務(wù)263
攻擊SMB 與RPC 264
繪制網(wǎng)絡(luò)攻擊面 264
通過SMB 進(jìn)行匿名IPC 訪問 265
SMB 實(shí)現(xiàn)的安全漏洞 267
識別已暴露的RPC 服務(wù) 268
口令暴力破解 275
認(rèn)證并進(jìn)行訪問 277
過程自動化284
遠(yuǎn)程桌面服務(wù) 284
口令暴力破解 285
評估傳輸層安全 285
RDP 實(shí)現(xiàn)的安全漏洞 287
微軟服務(wù)測試路線圖 287
微軟服務(wù)攻擊的應(yīng)對措施 288
第9 章 電子郵件服務(wù)評估 290
電子郵件服務(wù)協(xié)議 290
SMTP 291
SMTP 服務(wù)“指紋”識別 292
繪制 SMTP 體系結(jié)構(gòu) 293
枚舉支持的命令與擴(kuò)展 297
可遠(yuǎn)程利用的漏洞 300
用戶賬號枚舉 301
口令暴力破解 303
內(nèi)容檢查機(jī)制欺騙 304
郵件安全功能檢查 306
經(jīng)由SMTP 進(jìn)行釣魚 309
POP3 312
口令暴力破解 313
IMAP 314
IMAP 服務(wù)指紋識別 314
口令暴力破解 315
已知的IMAP 服務(wù)器安全漏洞 315
郵件服務(wù)測試要點(diǎn) 315
郵件服務(wù)應(yīng)對措施 317
第10 章 VPN 服務(wù)評估 318
IPsec 318
數(shù)據(jù)包格式319
ISAKMP、IKE 與IKEv2 320
可利用的IPsec 漏洞 325
PPTP 331
VPN 測試回顧 332
VPN 服務(wù)應(yīng)對措施 333
第11 章 評估TLS 服務(wù) 335
TLS 機(jī)理 336
會話協(xié)商 336
密碼套件 340
密鑰交換和認(rèn)證 342
TLS 認(rèn)證 347
會話恢復(fù) 354
會話重新協(xié)商 354
壓縮 356
STARTTLS 356
理解TLS 漏洞 357
可利用的缺陷 358
TLS 實(shí)現(xiàn)缺陷 360
減輕TLS 暴露 362
評估TLS 端點(diǎn) 363
識別TLS 庫和版本 364
枚舉支持的協(xié)議和密碼套件 365
枚舉支持的功能和擴(kuò)展 369
認(rèn)證審查 372
TLS 端點(diǎn)壓力測試 374
手動訪問TLS 封裝的服務(wù) 375
TLS 服務(wù)評估回顧 376
TLS 強(qiáng)化 377
網(wǎng)絡(luò)應(yīng)用加強(qiáng) 378
第12 章 Web 應(yīng)用體系結(jié)構(gòu) 379
Web 應(yīng)用類型 379
Web 應(yīng)用層次 381
表示層 381
傳輸層安全協(xié)議TLS 382
HTTP 383
內(nèi)容分發(fā)網(wǎng)絡(luò)(CDN) 391
負(fù)載均衡器391
表示層數(shù)據(jù)格式 392
應(yīng)用層 392
應(yīng)用層數(shù)據(jù)格式 393
數(shù)據(jù)層 394
第13 章 Web 服務(wù)器評估 395
識別代理機(jī)制 396
枚舉有效主機(jī) 398
Web 服務(wù)器剖析 400
分析服務(wù)器響應(yīng) 400
HTTP 標(biāo)頭瀏覽 402
內(nèi)容的抓取和研究 406
主動掃描 410
WAF 探測 410
服務(wù)器和應(yīng)用框架特征鑒別 411
識別暴露的內(nèi)容 412
限定Web 服務(wù)器漏洞 414
瀏覽暴露的內(nèi)容 414
強(qiáng)力密碼研磨 416
研究支持的HTTP 方法 417
已知的Microsoft IIS 漏洞 420
已知的Apache HTTP 服務(wù)器漏洞 421
已知的Apache Coyote 漏洞 423
已知的Nginx 漏洞 424
Web 服務(wù)器加固 425
第14 章 評估Web 應(yīng)用框架 426
框架和數(shù)據(jù)存儲剖析 427
理解常見的漏洞 430
PHP 430
PHP 管理控制臺 431
PHP CMS 包 434
Apache Tomcat 436
管理器應(yīng)用437
已知的Tomcat 漏洞 438
攻擊Apache jServ 協(xié)議 439
JBoss 測試 440
基于HTTP 的服務(wù)器性能分析 441
Web 控制臺和調(diào)用器 442
識別MBeans 442
利用MBeans 444
使用RMI 分布式垃圾收集器 448
已知的JBoss 漏洞 448
自動的JBoss 掃描 449
Apache Struts 450
利用DefaultActionMapper 452
JDWP 453
Adobe ColdFusion 454
ColdFusion 分析 454
外在的管理接口 456
已知的ColdFusion 軟件缺陷 457
Apache Solr 漏洞 458
Django 460
Rails 461
使用一個應(yīng)用的秘密令牌 463
Nodejs 464
Microsoft ASPNET 465
應(yīng)用框架安全檢查列表 466
第15 章 評價數(shù)據(jù)存儲 468
MySQL 469
暴力密碼破解 470
授權(quán)的MySQL 攻擊 471
PostgreSQL 473
暴力密碼破解 474
認(rèn)證的PostgreSQL 攻擊 475
Microsoft SQL Server 477
暴力密碼破解 478
授權(quán)并評價配置 478
Oracle 數(shù)據(jù)庫 480
與TNS 監(jiān)聽器交互 481
Oracle SID 破解 483
數(shù)據(jù)庫賬號密碼破解 483
認(rèn)證Oracle 數(shù)據(jù)庫 485
特權(quán)提升和Pivoting 486
MongoDB 487
Redis 489
已知的漏洞490
分布式緩存 492
Apache Hadoop 493
NFS 494
Apple Filing 協(xié)議 496
iSCSI 498
數(shù)據(jù)存儲控制對策 499
附錄A 常見端口和消息類型 501
附錄B 漏洞信息源 506
附錄C 不安全的TLS 密碼套件 508
術(shù)語表 511
作者介紹 527
封面介紹 527