從實踐中學習 Nmap 滲透測試

從實踐中學習 Nmap 滲透測試

作者: 大學霸IT達人
出版社: 機械工業
出版在: 2021-06-01
ISBN-13: 9787111682202
ISBN-10: 7111682203
裝訂格式: 平裝
總頁數: 408 頁





內容描述


隨著信息技術的發展,網絡廣泛應用於人們的日常生活和工作之中,各式各樣的設備都需要連接網絡才能正常使用。為了保障網絡安全,安全人員需要對網絡進行各種安全審計。Nmap是知名的網絡安全審計工具,可以幫助安全人員發現設備,探測設備開啟的埠號,分析設備使用的操作系統和開啟的服務,探測設備存在的漏洞。本書詳細介紹如何使用Nmap工具實施滲透測試。
本書共19章,分為2篇。第1篇“Namp環境配置與網絡掃描”,主要介紹Namp的環境配置,以及確定目標、發現主機、掃描埠、服務與系統探測、掃描優化、規避防火牆和IDS、保存和輸出Nmap信息等基礎知識;第2篇“Namp腳本實戰”,涵蓋探測網絡基礎環境、探測網絡基礎服務、探測Web 服務、探測遠程登錄服務、探測數據庫服務、探測應用程序及探測蘋果操作系統等內容。
本書特別適合滲透測試人員、網絡維護人員、信息安全愛好者閱讀。通過閱讀本書,讀者可以瞭解和掌握網絡運行的機制,熟悉網絡掃描和探測的原理,並掌握大量的Nmap腳本使用方法,從而保障網絡信息的安全。


目錄大綱


前言

第1篇 Nmap環境配置與網絡掃描
第1章 環境配置 2
1.1 Nmap概述 2
1.1.1 Nmap的功能架構 2
1.1.2 Nmap的工作原理 3
1.1.3 Nmap的掃描類型 4
1.2 下載Nmap 5
1.2.1 下載Nmap安裝包 5
1.2.2 驗證安裝包的完整性 5
1.3 安裝Nmap 11
1.3.1 在Windows系統中安裝Nmap 11
1.3.2 在Linux系統中安裝Nmap 13
1.3.3 在Mac OS系統中安裝Nmap 15
1.3.4 文件路徑 16
1.3.5 驗證運行 17
1.4 網絡環境 18
1.4.1 查看網絡接口 18
1.4.2 查看網絡配置 19
1.4.3 IPv4和IPv6網絡 20
1.5 學習方式 21
1.5.1 查看幫助 21
1.5.2 分析發包和接收包 23
1.5.3 動態調整 24

第2章 確定目標 26
2.1 指定單一主機 26
2.1.1 IP地址 26
2.1.2 主機名 28
2.1.3 域名 29
2.2 指定多個主機 30
2.2.1 CIDR格式 30
2.2.2 連續的主機 32
2.2.3 不連續的主機 33
2.2.4 使用列表文件 33
2.2.5 指定掃描主機的所有IP地址 34
2.3 排除主機被掃描 34
2.4 使用隨機主機方式實施掃描 35
2.5 掃描方法 36
2.5.1 全部掃描 36
2.5.2 發包模式 37
2.5.3 恢復掃描 38

第3章 發現主機 40
3.1 IP發現 40
3.2 ICMP發現 43
3.2.1 ICMP的工作原理 43
3.2.2 ICMP請求 45
3.2.3 ICMP時間戳 48
3.2.4 ICMP地址掩碼請求 50
3.3 TCP發現 51
3.3.1 TCP的工作原理 51
3.3.2 TCP SYN發現 52
3.3.3 TCP ACK發現 54
3.4 UDP發現 55
3.4.1 UDP發現的優點 56
3.4.2 實施UDP發現 56
3.5 ARP發現 58
3.5.1 ARP的工作原理 58
3.5.2 實施ARP發現 59
3.6 SCTP發現 61
3.6.1 SCTP的工作原理 61
3.6.2 實施SCTP發現 62
3.7 域名解析和反向解析 63
3.8 路由跟蹤 65
3.9 跳過主機發現 66

第4章 掃描埠 68
4.1 埠簡介 68
4.1.1 埠類型 68
4.1.2 埠狀態 70
4.2 指定埠 71
4.2.1 手工指定 71
4.2.2 使用預設埠 80
4.2.3 排除埠 84
4.2.4 順序掃描 85
4.3 TCP掃描 87
4.3.1 TCP SYN掃描 87
4.3.2 TCP連接掃描 91
4.3.3 TCP ACK掃描 93
4.3.4 TCP窗口掃描 95
4.3.5 TCP NULL掃描 97
4.3.6 TCP FIN掃描 99
4.3.7 TCP Xmas掃描 101
4.3.8 TCP Maimon掃描 102
4.3.9 空閑掃描 103
4.3.10 定製TCP掃描 107
4.4 UDP掃描 108
4.4.1 UDP埠掃描原理 109
4.4.2 實施UDP埠掃描 109
4.5 SCTP掃描 111
4.5.1 SCTP INIT掃描 111
4.5.2 SCTP COOKIE ECHO掃描 112
4.6 IP掃描 114
4.7 FTP轉發掃描 116

第5章 服務與系統探測 118
5.1 開啟服務探測 118
5.1.1 服務探測原理 118
5.1.2 服務探測文件 120
5.1.3 實施服務探測 124
5.2 服務探測模式 125
5.2.1 探測所有埠 125
5.2.2 探測強度 126
5.2.3 調試信息 127
5.2.4 RPC掃描 129
5.3 系統探測 130
5.3.1 開啟系統探測 130
5.3.2 探測模式 134

第6章 掃描優化 136
6.1 分組掃描 136
6.2 發包方式 137
6.2.1 並行發包 138
6.2.2 優化發包延遲時間 141
6.2.3 控制發包速率 143
6.3 超時問題 144
6.3.1 控制報文響應超時 144
6.3.2 控制主機響應超時 145
6.3.3 超時重試 146
6.4 處理重置 147
6.5 使用內置模板 148

第7章 規避防火牆和IDS 152
7.1 定製數據包 152
7.1.1 使用信任源埠 152
7.1.2 指定校驗值 154
7.1.3 指定IP選項 154
7.1.4 附加數據載荷 156
7.1.5 報文分段 157
7.2 定製數據包傳輸路徑 159
7.2.1 使用代理 159
7.2.2 指定TTL值 160
7.2.3 目標隨機排列 161
7.3 隱藏自己 163
7.3.1 誘餌掃描 163
7.3.2 偽造源地址 166
7.3.3 偽造MAC地址 168

第8章 保存和輸出Nmap信息 171
8.1 報告格式 171
8.1.1 標準輸出 171
8.1.2 XML格式 173
8.1.3 腳本格式 174
8.1.4 Grep格式 175
8.1.5 所有格式 177
8.2 報告內容 177
8.2.1 詳細程度 177
8.2.2 追加內容 179
8.3 利用掃描報告 180
8.3.1 對比掃描報告 180
8.3.2 Metasploit導入掃描報告 182
8.3.3 Nessus導入掃描報告 187
第2篇 Nmap腳本實戰

第9章 執行腳本 194
9.1 Nmap腳本簡介 194
9.1.1 腳本構成 194
9.1.2 更新腳本數據庫 196
9.1.3 查看腳本幫助信息 196
9.2 使用腳本 197
9.2.1 指定腳本 197
9.2.2 指定參數 198
9.2.3 跟蹤執行 199
9.2.4 自動執行 201
9.3 輔助腳本 203
9.3.1 列出所有認證信息 203
9.3.2 設置反向索引顯示 204
9.3.3 進行單元測試 205
9.3.4 格式化未識別服務的指紋信息 206
9.3.5 獲取服務的標志 206

第10章 探測網絡基礎環境 208
10.1 探測網絡 208
10.1.1 嗅探目標 208
10.1.2 監聽廣播包 209
10.1.3 發現最大傳輸單元 210
10.1.4 探測防火牆規則 210
10.1.5 獲取路由跟蹤信息 211
10.1.6 獲取路由跟蹤位置 212
10.1.7 廣播Ping發現主機 213
10.1.8 探測目標是否啟用了IP轉發 214
10.1.9 基於EIGRP獲取路由信息 215
10.1.10 借助OSPF2協議探測網絡 216
10.1.11 廣播喚醒休眠主機 216
10.1.12 發現多宿主主機 216
10.1.13 利用clock skew分組目標 217
10.1.14 利用IGMP發現主機 217
10.2 廣播發現PPPoE服務器 218
10.3 獲取ASN信息 219
10.3.1 獲取ASN列表 219
10.3.2 獲取IP地址的ASN編號 219
10.4 提取IPv6地址的編碼信息 220
10.5 枚舉EAP提供的認證方法 221

第11章 探測網絡基礎服務 223
11.1 探測DHCP服務器 223
11.1.1 DHCP發現 223
11.1.2 廣播DHCP請求包 224
11.1.3 廣播發現DHCPv6服務器 225
11.2 探測DNS服務器 225
11.2.1 獲取DNS信息 225
11.2.2 廣播發現DNS服務器 226
11.2.3 使用字典暴力破解子域名 226
11.2.4 利用DNS服務發現協議獲取DNS服務信息 228
11.2.5 探測主機是否允許DNS遞歸查詢 228
11.2.6 探測主機是否支持黑名單列表 228
11.2.7 探測DNS區域配置 229
11.2.8 探測DNS服務是否啟用緩存功能 230
11.2.9 檢測DNS服務器隨機埠可預測漏洞 231
11.2.10 檢測DNS服務器傳輸會話ID可預測漏洞 231
11.2.11 利用DNS的ECS功能獲取IP地址 231
11.2.12 實施DNS Fuzzing攻擊 231
11.2.13 利用DNS PTR記錄掃描IPv6網絡 232
11.2.14 利用NSEC3記錄枚舉域名哈希值 232
11.2.15 利用DNSSEC記錄枚舉域名 233
11.2.16 枚舉域名的SRV記錄 233
11.2.17 嘗試進行DNS動態更新 234
11.2.18 Avahi DoS攻擊 234
11.2.19 利用區域傳輸功能獲取域名信息 235
11.2.20 執行FCrDNS查詢 235
11.3 探測RIP服務 236
11.3.1 基於RIPv2廣播發現主機 236
11.3.2 基於RIPng廣播發現主機 236
11.4 探測其他服務 237
11.4.1 通過UPnP廣播包獲取設備信息 237
11.4.2 通過DAYTIME服務獲取時間信息 238
11.4.3 查看Gopher目錄信息 239
11.4.4 利用Finger服務查詢用戶信息 239
11.4.5 獲取NTP服務信息 240
11.4.6 廣播發現NCP服務器 241

第12章 探測Web服務 242
12.1 探測HTTP服務 242
12.1.1 探測基本認證信息 242
12.1.2 探測默認賬戶 243
12.1.3 檢查是否存在風險方法 244
12.1.4 探測訪問一個網頁的時間 244
12.1.5 提取HTTP註釋信息 245
12.1.6 從HTTP服務中獲取時間 246
12.1.7 枚舉HTTP服務網頁目錄 247
12.1.8 收集網頁敏感信息 248
12.1.9 獲取訪問網站的錯誤頁 248
12.1.10 獲取HTTP頭信息 249
12.1.11 獲取HTTP的目錄結構 250
12.1.12 檢測是否啟用TRACE方法 251
12.1.13 探測主機是否允許爬行 253
12.1.14 搜索Web虛擬主機 253
12.1.15 探測Web服務是否易受Slowloris DoS攻擊 254
12.1.16 根據WPAD獲取代理服務器 255
12.1.17 利用Web服務動態協議定位服務 256
12.2 探測AJP服務 256
12.2.1 獲取AJP服務的頭部信息 257
12.2.2 在AJP服務上請求連接 257
12.2.3 獲取AJP服務的認證信息 258
12.2.4 AJP認證信息暴力破解 259
12.2.5 獲取AJP服務響應頭 259
12.3 探測SSL/TLS協議 259
12.3.1 枚舉SSL密鑰 259
12.3.2 獲取SSL證書 261
12.4 獲取Flume服務信息 262

第13章 探測遠程登錄服務 263
13.1 探測Telnet服務 263
13.1.1 探測Telnet服務是否支持加密 263
13.1.2 破解Telnet服務密碼 264
13.2 探測SSH服務 264
13.2.1 查看SSH服務密鑰信息 264
13.2.2 查看SSH2支持的算法 266
13.3 探測BackOrifice服務 267
13.3.1 暴力破解BackOrifice遠程控制服務 267
13.3.2 獲取BackOrifice服務信息 268
13.4 獲取VNC服務的詳細信息 268
13.5 廣播發現pcAnywhere服務 269
13.6 廣播發現PC-DUO遠程控制服務 269
13.7 廣播發現XDMCP服務 269

第14章 探測數據庫服務 271
14.1 探測MySQL數據庫服務 271
14.1.1 檢查MySQL空密碼 271
14.1.2 獲取MySQL密碼散列 272
14.1.3 查詢MySQL數據庫信息 272
14.1.4 查詢MySQL數據庫的用戶 273
14.1.5 破解MySQL數據庫的用戶密碼 274
14.1.6 枚舉MySQL數據庫的用戶信息 275
14.1.7 獲取MySQL數據庫信息 275
14.2 探測SQL Server數據庫服務 276
14.2.1 破解SQL Server數據庫的用戶密碼 276
14.2.2 獲取SQL Server數據庫信息 277
14.2.3 查詢SQL Server數據庫配置信息 278
14.2.4 查詢SQL Server數據庫條目 279
14.2.5 廣播發現SQL Server數據庫服務 281
14.3 探測LDAP數據庫服務 281
14.3.1 獲取LDAP根DSE條目 281
14.3.2 查看LDAP條目 282
14.4 探測CouchDB服務 283
14.4.1 獲取CouchDB服務的數據庫列表 283
14.4.2 獲取CouchDB服務的統計信息 284
14.5 探測Cassandra數據庫 284
14.5.1 暴力破解Cassandra數據庫的用戶名和密碼 284
14.5.2 獲取Cassandra數據庫信息 285
14.6 探測DB2數據庫服務器 286
14.6.1 廣播發現DB2數據庫服務器 286
14.6.2 獲取DB2數據庫服務器的概要信息 286
14.7 廣播發現SQL Anywhere數據庫服務器 288
14.8 監聽發現VOD服務 289
14.9 探測支持DRDA協議的數據庫服務器 289
14.9.1 暴力破解基於DRDA協議的數據庫服務器認證信息 289
14.9.2 獲取支持DRDA協議的數據庫服務器信息 289
14.10 探測Hadoop服務 290
14.10.1 獲取Hadoop數據節點信息 290
14.10.2 獲取Hadoop作業信息 290
14.10.3 獲取Hadoop名稱節點信息 290
14.10.4 獲取Hadoop輔助名稱節點信息 291
14.10.5 獲取Hadoop任務信息 291

第15章 探測文件共享服務 292
15.1 FTP服務 292
15.1.1 檢查FTP匿名登錄 292
15.1.2 探測FTP埠反彈攻擊的可行性 293
15.1.3 暴力破解FTP認證信息 294
15.1.4 檢測FreeBSD FTP服務的OPIE認證漏洞 295
15.1.5 通過FTP的SYST和STAT命令獲取信息 295
15.1.6 檢測vsftpd後門漏洞 296
15.1.7 檢測ProFTPD後門漏洞 296
15.1.8 檢查ProFTPD的堆緩存溢出漏洞 297
15.1.9 利用FTP Helper繞過防火牆 297
15.2 探測SMB服務 297
15.2.1 探測操作系統 298
15.2.2 獲取SMB安全模式信息 298
15.2.3 獲取Windows主瀏覽器的服務信息 299
15.2.4 獲取共享文件 300
15.2.5 枚舉系統域名 302
15.2.6 檢查SMB服務是否有漏洞 302
15.2.7 枚舉Samba用戶 303
15.2.8 SMB服務密碼破解 304
15.3 探測BT文件共享信息 305
15.3.1 獲取BT節點信息 305
15.3.2 暴力破解Deluge RPC服務認證信息 306
15.4 監聽發現局域網dropbox客戶端 306
15.5 發現AoE存儲系統 306
15.6 廣播發現EMC NetWorker備份服務 307

第16章 探測其他應用服務 308
16.1 探測SMTP服務 308
16.1.1 枚舉郵件用戶 308
16.1.2 收集目標主機支持的SMTP命令 309
16.2 探測SNMP服務 309
16.2.1 枚舉網絡接口 310
16.2.2 獲取網絡連接狀態 311
16.2.3 枚舉目標主機程序的進程 312
16.2.4 提取系統信息 313
16.2.5 枚舉Windows服務 314
16.2.6 枚舉Windows用戶 315
16.2.7 枚舉Windows共享文件 315
16.2.8 枚舉安裝的軟件 316
16.2.9 破解SNMP服務密碼 317
16.3 探測NetBIOS服務 318
16.3.1 獲取NetBIOS名稱和MAC地址 318
16.3.2 瀏覽廣播包發現主機 319
16.4 探測打印服務 319
16.4.1 獲取BJNP的設備信息 319
16.4.2 廣播發現BJNP的設備 320
16.4.3 查看CUPS打印服務信息 320
16.4.4 查看CUPS打印服務隊列的詳細信息 321
16.5 探測比特幣服務 321
16.5.1 比特幣節點信息獲取腳本 321
16.5.2 獲取比特幣服務器信息 322
16.5.3 基於JSON RPC接口獲取比特幣服務器信息 323
16.6 探測授權服務 324
16.6.1 獲取運行埠監聽的用戶身份 324
16.6.2 探測授權服務偽造響應 324
16.7 探測CVS服務 324
16.7.1 暴力破解CVS服務認證信息 324
16.7.2 暴力猜測CVS倉庫名 325
16.8 獲取詞典服務信息 325
16.9 獲取RPC服務的詳細信息 326
16.10 獲取AMQP服務信息 327
16.11 獲取CORBA對象列表 328

第17章 探測網絡應用程序 329
17.1 探測Citrix應用程序 329
17.1.1 通過XML Service獲取Citrix發布的應用信息 329
17.1.2 提取Citrix服務器信息 330
17.1.3 通過XML Server獲取Citrix服務 332
17.1.4 暴力破解Citrix PNA認證信息 333
17.1.5 獲取ICA發布的應用 334
17.2 探測Lotus Domino控制台 335
17.2.1 暴力破解Lotus Domino控制台的用戶名和密碼 335
17.2.2 借助Lotus Domino控制台執行命令 336
17.2.3 獲取Lotus Notes用戶列表 336
17.3 探測IBM客戶信息控制系統 337
17.3.1 枚舉CICS事務ID 337
17.3.2 獲取CICS事務服務器信息 338
17.3.3 基於CESL暴力破解CICS用戶ID 338
17.3.4 基於CESL/CESN暴力破解CICS用戶ID 338
17.4 探測其他應用程序 339
17.4.1 VMware認證進程破解 339
17.4.2 獲取IRC服務信息 340
17.4.3 從Ganglia中獲取系統信息 340
17.4.4 獲取Freelancer游戲服務器信息 341
17.4.5 獲取Docker服務信息 341
17.4.6 探測Erlang服務節點信息 341
17.4.7 利用ClamAV服務漏洞執行命令 342
17.4.8 利用Distcc埠探測漏洞 342
17.4.9 利用Zeus Tracker驗證IP地址 343
17.4.10 探測Cccam服務 343

第18章 探測蘋果操作系統 344
18.1 探測AFP服務 344
18.1.1 獲取AFP服務信息 344
18.1.2 暴力破解AFP賬號和密碼 345
18.1.3 查看蘋果系統的AFP捲 346
18.1.4 探測AFP目錄遍歷漏洞 347
18.1.5 獲取AFP共享的文件夾信息及用戶權限 348
18.2 獲取DAAP服務音樂清單 349
18.3 枚舉Mac iPhoto服務賬號信息 350
18.4 獲取Mac OS進程信息 350

第19章 探測網絡硬件 351
19.1 廣播發現支持PIM的路由器 351
19.2 廣播發現SonicWall防火牆 351
19.3 利用GKrellM獲取系統信息 352
19.4 獲取GPS信息 352
19.5 獲取ACARS服務端的ACARSD信息 352
19.6 掃描CoAP終端資源 353
19.7 獲取基於Tridium Niagara服務的系統信息 354
19.8 探測工控設備信息 354
19.9 廣播發現TellStickNet設備 355
19.10 探測TP-Link路由器是否存在漏洞 356

附錄A Nmap圖形化界面Zenmap 360
附錄B 服務暴力破解工具Ncrack 374


作者介紹


大學霸IT達人 信息安全技術研究團隊,熟悉Kali Linux、Metasploit、Xamarin等相關技術,
長期從事技術研究和推廣工作,專注於網絡安全、滲透測試、移動開发和遊戲開发等領域。曾經編寫了多部相關技術圖書。




相關書籍

Windows 駭客程式設計:Windows Data Type (精華篇)

作者 北極星

2021-06-01

Web 安全漏洞原理及實戰

作者 田貴輝

2021-06-01

CompTIA Security+ Certification Bundle, Third Edition (Exam SY0-501)

作者 Glen E. Clarke Daniel Lachance

2021-06-01