諸神之眼 : Nmap 網絡安全審計技術揭秘
內容描述
Nmap是目前非常受關註的網絡安全審計技術工具,是絕大多數從事網絡安全人員的必備工具。本書由一線網絡安全教師親筆撰寫,凝聚了作者多年教學與實踐開發經驗,內容涉及網絡安全審計的作用、價值、方法論,Nmap在網絡安全管理方面的方法與應用,以及Nmap強大的腳本編寫功能等。本書內容並不局限於某個具體功能的使用,而是系統深入地結合Nmap與網絡審計原理進行講解,幫助網絡安全人員全面深入瞭解使用Nmap進行網絡安全審計的相關技術。本書講解的內容通俗易懂、深入淺出,特別是書中所用示例的設計,它們不僅可以讓讀者理解某個知識點的用法,更能讓讀者明白具體知識點所使用的場景,從而更深入地理解具體內容。
本書內容安排合理,架構清晰,註意理論與實踐相結合,適合那些希望學習Nmap進行網絡安全審計的網絡安全滲透測試人員、運維工程師、網絡管理人員、網絡安全設備設計人員、網絡安全軟件開發人員、安全課程培訓人員、高校網絡安全專業方向的學生等閱讀。
目錄大綱
目錄
第1章走近Nmap 1
1.1 Nmap簡介2
1.2 Nmap的下載與安裝3
1.2.1在Windows系統下安裝與下載Nmap 3
1.2.2在Linux系統下安裝Nmap 6
1.3 Nmap的基本操作6
1.4掃描範圍的確定7
1.4.1對連續範圍內的主機進行掃描7
1.4.2對整個子網進行掃描8
1.4.3對多個不連續的主機進行掃描8
1.4.4在掃描的時候排除指定的目標9
1.4 .5對一個文本文件中的地址列表進行掃描9
1.4.6隨機確定掃描目標10
小結10
第2章活躍主機發現技術11
2.1活躍主機發現技術簡介12
2.2網絡協議與主機發現技術12
2.3基於ARP協議的活躍主機發現技術14
2.3.1 ARP協議解析14
2.3.2在Nmap中使用ARP協議進行主機發現16
2.4基於ICMP協議的活躍主機發現技術18
2.4.1 ICMP協議解析18
2.4.2使用ICMP協議進行主機發現19
2.5基於TCP協議的活躍主機發現技術22
2.5.1 TCP協議解析22
2.5.2使用TCP協議進行主機發現23
2.6基於UDP協議的活躍主機發現技術29
2.6.1 UDP協議解析29
2.6.2使用UDP協議進行主機發現30
2.7基於SCTP協議的活躍主機發現技術31
2.7.1 SCTP協議解析31
2.7.2使用SCTP協議進行主機發現31
2.8使用IP協議進行主機地址發現32
2.9 Nmap活躍主機發現中與DNS協議相關的選項33
2.9.1 DNS協議解析33
2.9.2 Nmap中的DNS選項34
2.10主機發現技術的分析36
小結38
第3章端口掃描技術39
3.1端口的概念39
3.2端口的分類40
3.3 Nmap中對端口狀態的定義41
3.4 Nmap中的各種端口掃描技術41
3.4.1 SYN掃描42
3.4.2 Connect掃描43
3.4 .3 UDP掃描43
3.4.4 TCP FIN掃描44
3.4.5 NULL掃描44
3.4.6 Xmas Tree掃描45
3.4.7 idle掃描45
3.5指定掃描的端口46
小結48
第4章遠程操作系統與服務檢測技術49
4.1遠程操作系統檢測簡介50
4.2操作系統指紋簡介51
4.3操作系統指紋掃描作為管理工具52
4.4為什麼要進行服務發現57
4.5如何使用Nmap進行服務發現60
小結62
第5章Nmap的圖形化操作工具—Zenmap 63
5.1 Zenmap簡介63
5.2啟動Zenmap 64
5.3 Zenmap掃描操作68
5.4使用Zenmap的命令嚮導來創建命令69
5.5對Zenmap的配置進行管理75
5.6對Zenmap掃描的結果進行管理和比較76
5.7 Zenmap中的拓撲功能82
小結83
第6章Nmap的高級技術與防禦措施84
6.1 Nmap的偽裝技術84
6.2 TCP Connect掃描的檢測93
6.3操作系統掃描的防範96
6.4 Nmap的格式化輸出96
小結100
第7章NSE的基礎部分101
7.1 NSE腳本的運行102
7.1 .1 NSE中腳本的分類102
7.1.2 NSE腳本的選擇103
7.2如何向NSE腳本傳遞參數105
7.2.1 NSE中傳遞參數的方式105
7.2.2從文件中載入腳本的參數106
7.2.3 NSE腳本調試107
7.4 NSE常見腳本的應用109
7.4.1信息收集類腳本109
7.4.2高級主機發現類腳本111
7.4.3密碼審計類腳本112
7.4.4漏洞掃描類腳本114
小結116
第8章NSE的編寫基礎117
8.1 NSE腳本的基本格式117
8.2 NSE腳本的規則118
8.3 NSE開發環境的設置119
8.4編寫簡單的NSE腳本123
8.5實例應用:垃圾郵件木馬的檢測127
小結128
第9章Lua語言129
9.1 Lua的編程環境130
9.1.1在Windows系統上安裝Lua編程環境130
9.1.2在Linux系統上安裝Lua編程環境130
9.2第一個Lua程序131
9.3 Lua流程控制132
9.4 Lua中的循環結構133
9.5 Lua數據類型135
9.6 Lua字符串136
9.7 Lua文件I/O操作142
9.8 Lua協同程序144
9.8.1什麼是協同程序144
9.8.2線程和協同程序的區別144
9.8.3 coroutine基本語法144
9.9 Lua語言中的註釋和虛變量145
9.9.1 Lua語言中的註釋說明145
9.9.2 Lua語言中的虛變量145
小結146
第10章NSE中的API 147
10.1 Nmap API 147
10.1.1 host table 148
10.1.2 port table 154
10.2 NSE中的異常處理157
10.3 NSE中的註冊表159
小結159
第11章NSE中的庫文件160
11.1 NSE庫文件的編寫161
11.2擴展一個現有NSE庫文件的功能163
11.3使用C/C++編寫的NSE模塊168
11.4常見的NSE庫文件170
11.4.1 shortport 170
11.4.2 http 173
11.4.3 stdNSE 176
11.4.4 OpenSSL 176
11.4.5 target 177
11.4.6 creds 177
11.4.7 vluns 177
小結178
第12章對服務發現功能進行增強179
12.1 NSE中的服務發現模式179
12.1.1服務發現的過程180
12.1.2調整版本掃描的級別180
12.1.3更新版本偵測探針數據庫181
12.1.4從版本檢測中排除指定端口181
12.1.5 post-processors簡介182
12.2自定義版本檢測腳本182
12.2.1將腳本的分類定義為version檢測182
12.2.2定義版本檢測腳本的portrule 182
12.2. 3更新端口服務版本信息183
12.3服務發現腳本的實例184
12.3.1 modbus-discover 184
12.3.2 ventrilo-info 185
12.3.3 rpc-grind 187
小結188
第13章NSE中的數據文件189
13.1 Nmap中數據文件所在的位置190
13.2 Nmap中選擇數據文件的順序190
13.3暴力窮舉時所使用的用戶名和密碼列表數據文件190
13.3.1用戶名數據文件190
13.3.2密碼數據文件191
13.4 Web應用審計數據文件191
13.4.1 http-fingerprints.lua 191
13.4.2 http-sql-errors.lst 192
13.4.3 http-web-files-extensions.lst 192
13.4.4 http-devframework-fingerprints.lua 193
13.4.5 http-folders.txt 193
13.4.6 vhosts-default.lst 194
13.4.7 wp-plugins.lst 194
13.5 DBMS-auditing數據文件195
13.5.1 mysql-cis.audit 195
13.5.2 oracle-default- accounts.lst 196
13.5.3 oracle-sids 196
小結197
第14章密碼審計腳本的開發198
14.1使用NSE庫進行工作199
14.1.1 NSE中brute模式的設定199
14.1.2 NSE中Driver類的實現200
14.1.3 NSE中庫文件和用戶選項的傳遞202
14.1.4 NSE中通過Account對象返回有效的賬戶203
14.1.5 NSE中使用Error類來處理異常204
14.2使用unpwdb NSE庫讀取用戶名和密碼信息204
14.3對掃描中得到的用戶憑證進行管理205
14.4針對FTP的密碼審計腳本205
14.5針對MikroTik RouterOS API的密碼審計腳本208
小結212
第15章漏洞審計與滲透腳本的編寫213
15.1 Nmap中的漏洞掃描功能213
15.2 NSE中的exploit腳本215
15.3 RealVNC的滲透腳本217
15.4 Windows系統漏洞的檢測218
15.5對heartbleed漏洞進行滲透220
15.6 vulns庫中的漏洞功能224
小結227
第16章NSE的並發執行228
16.1 Nmap中的並發執行228
16.2 Nmap中的時序模式229
16.3 Lua中的並發執行230
16.4 NSE中的並發執行235
16.4.1 NSE中的線程236
16.4.2 NSE中的條件變量236
16.4.3 NSE中的互斥變量238
小結239
作者介紹
李華峰,畢業於東北師範大學,目前在河北省一所高校任教,也是《精通MetaSploit滲透測試》一書的譯者。他自幼便是一個狂熱的黑客技術追求者,現在主要從事網絡安全與滲透測試方面的教育工作。作為一名資深的計算機安全領域的研究人員,研究的主要方向為網絡掃描技術、漏洞檢測、入侵檢測等。