本書介紹了在Windows環境下使用Socket API開發各類黑客軟件及系統安全防護工具軟件的編程實現方法。
在講解細節上,本書循序漸進地向讀者介紹了黑客攻擊程序、安全防護工具、遠程控制軟件、網絡安全管理軟件的原理及具體編程實現方法,從當前熱門的黑客軟件和安全防護工具中選擇典型案例,深入分析。
基于網絡安全,登堂入室,定制屬于自己的黑客攻防軟件。知己知彼,完整再現主流的黑客攻擊實現方式和攻防案例,提升讀者實戰技能。細致入門和實踐相輔相成,為網管員典藏書架再添寶典。
第1章 黑客入門,SocketAPI開發必知 1
1.1Windows API和Socket 1
1.1.1Windows API編程的優點 1
1.1.2Socket通信流程 2
1.2 服務器端Socket的操作 3
1.2.1在初始化階段調用WSAStartup 3
1.2.2建立Socket 4
1.2.3綁定端口 4
實例1.1 bind函數調用示例 5
1.2.4監聽端口 6
1.2.5accept函數 6
實例1.2 accept函數示例 7
1.2.6WSAAsyncSelect函數 7
實例1.3 響應Socket事件的結構代碼 8
1.2.7結束服務器端與客戶端Socket連接 8
1.3 客戶端Socket的操作 9
1.3.1建立客戶端的Socket 9
1.3.2發起連接申請 9
實例1.4 connect函數示例 9
1.4Socket數據的傳送 9
1.4.1TCP Socket 與UDP Socket 10
1.4.2發送和接收數據的函數 10
1.5 自定義CMyTcpTran通信類 12
1.5.1為什么要使用類 13
1.5.2Visual C 中創建通信類 13
實例1.5 CMyTcpTran類頭文件 15
1.5.3CMyTcpTran類的代碼實現 17
實例1.6 CMyTcpTran類方法的函數實現 17
實例1.7 Socket通信庫初始化實現方法 18
實例1.8 初始化套接字資源 18
實例1.9 創建連接通信函數的實現20
實例1.10 初始化Socket資源的接收函數 21
實例1.11 發送套接字數據的函數實現23
1.6 小結 25
第2章 專業風范,網絡掃描器的開發實現 26
2.1 掃描器的產生及原理 26
2.1.1掃描器的產生 26
2.1.2不同掃描方式掃描器原理及性能簡介 27
2.2 主機掃描技術 29
2.2.1ICMP Echo掃描 29
2.2.2ARP掃描 30
2.3 端口掃描技術 31
2.3.1常用端口簡介 31
2.3.2TCP connect掃描 32
2.3.3TCP SYN 掃描 33
2.4 操作系統識別技術 33
2.4.1根據ICMP協議的應用得到TTL值 33
2.4.2獲取應用程序標識 35
2.4.3利用TCP/IP協議棧指紋鑒別 35
2.4.4操作系統指紋識別依據 36
2.4.5操作系統指紋識別代碼實現 39
2.4.6Web站點猜測 48
2.4.7綜合分析 49
實例2.1 一段端口檢測程序代碼 50
2.5 掃描器程序實現 52
2.5.1ICMP echo掃描原理 52
2.5.2ICMP echo掃描的實現方法 53
實例2.2 ICMP掃描程序類定義 54
實例2.3 ICMP掃描的代碼實現 55
實例2.4 ICMP掃描判斷主機存活 58
2.5.3ARP掃描的原理 59
2.5.4ARP掃描的實現方法 60
實例2.5 ARP設備掃描的實現方式 60
實例2.6 ARP掃描程序實例 64
2.5.5TCP SYN掃描的原理 66
2.5.6TCP SYN掃描的實現方法 66
實例2.7 TCP SYN掃描實例 66
2.5.7綜合應用實例——ARP欺騙程序 70
2.5.8ARP欺騙的原理 70
2.5.9Winpcap環境初始化 70
實例2.8 Winpcap驅動程序初始化 70
2.5.10欺騙主程序 77
實例2.9 ARP欺騙程序的實現方法 77
2.6 資產信息掃描器開發 83
2.6.1資產信息掃描器的應用范圍 83
2.6.2snmp協議掃描的原理 84
2.6.3snmp協議掃描的實現方法 84
實例2.10 snmp協議掃描的實現方法 84
2.7 小結 87
第3章 提升,暴力破解和防范 88
3.1 針對應用程序通信認證的暴力破解 88
3.1.1FTP協議暴力破解原理 88
3.1.2FTP協議暴力破解實現方法 88
實例3.1 FTP暴力破解程序代碼 89
3.1.3IMAP協議破解原理 92
3.1.4IMAP協議破解方法 92
實例3.2 IMAP協議破解 92
3.1.5POP3協議暴力破解原理 94
3.1.6POP3協議暴力破解實現方法 95
實例3.3 POP3協議暴力破解 95
3.1.7Telnet協議暴力破解原理 98
3.1.8Telnet協議暴力破解實現方法 98
實例3.4 Telnet協議暴力破解 98
3.2 防范惡意掃描及代碼實現101
3.2.1防范惡意掃描的原理 101
3.2.2防范惡意掃描的實現方法 102
實例3.5 防范惡意掃描程序的框架102
3.3 小結 106
第4章 用代碼說話,拒絕服務攻擊與防范 107
4.1 拒絕服務原理及概述 107
4.1.1拒絕服務攻擊技術類別 107
4.1.2拒絕服務攻擊形式 108
4.2 拒絕服務攻擊原理及概述109
4.2.1DoS攻擊 109
4.2.2DDoS攻擊 110
4.2.3DRDoS攻擊 110
4.2.4CC攻擊 111
4.3 拒絕服務攻擊代碼實現112
4.3.1DoS實現代碼的原理 112
實例4.1 典型UDP Flood攻擊 117
實例4.2 SYN Flood攻擊代碼示例 120
實例4.3 典型TCP多連接攻擊程序示例 123
實例4.4 ICMP Flood攻擊數據包構造 127
實例4.5 ICMP Flood攻擊 130
4.3.2DRDoS攻擊的代碼實現 132
實例4.6 InitSynPacket函數實現過程 134
實例4.7 InitIcmpPacket函數實現過程 136
實例4.8 SYN反射線程實現方式 136
實例4.9 ICMP反射攻擊線程實現 138
實例4.10 開啟反射攻擊線程 140
實例4.11 反射攻擊線程 140
4.3.3CC攻擊的代碼實現 143
實例4.12 CC攻擊代碼實現 143
4.3.4修改TCP并發連接數限制 146
實例4.13 修改TCP并發連接線程 146
4.4 拒絕服務攻擊防范 151
4.4.1拒絕服務攻擊現象及影響 151
4.4.2DoS攻擊的防范 151
4.4.3DRDoS攻擊的防范 152
4.4.4CC攻擊的防范 152
實例4.14 ASP程序Session認證 153
實例4.15 ASP程序判斷真實IP地址 153
4.5 小結 154
第5章 你也能開發"病毒" 155
5.1 感染功能描述 155
5.1.1話說熊貓燒香 155
5.1.2何為"下載者" 156
5.1.3感染功能描述 157
5.2 感染型下載者工作流程165
5.3 感染所有磁盤 166
5.3.1感染所有磁盤原理 167
5.3.2感染所有磁盤的實現方法 167
實例5.1 感染所有磁盤的代碼 167
5.4 感染U盤、移動硬盤 167
5.4.1U盤、移動硬盤感染的原理 167
5.4.2U盤、移動硬盤感染的實現方法 168
實例5.2 U盤感染實現代碼 171
5.5 關閉殺毒軟件和文件下載的實現 171
5.5.1關閉殺毒軟件的原理 171
5.5.2關閉殺毒軟件和文件下載的實現方法 172
實例5.3 關閉殺毒軟件和文件下載172
5.6 結束指定進程 176
5.6.1結束指定進程的原理 177
5.6.2結束指定進程的實現方法 177
實例5.4 結束指定進程 177
5.6.3暴力結束進程 178
實例5.5 暴力結束進程 178
實例5.6 下載執行程序 186
5.7 局域網感染 187
5.7.1局域網感染原理 187
5.7.2局域網感染的實現方法 187
實例5.7 局域網同網段掃描并感染的代碼實現 187
實例5.8 IPC連接操作 190
5.8 隱藏進程 191
5.8.1隱藏進程的原理 192
5.8.2隱藏進程的實現方法 192
5.9 感染可執行文件 193
5.9.1感染可執行文件的原理 193
5.9.2感染可執行文件的實現方法 193
實例5.9 匯編查找kernel.dll的地址 193
實例5.10 遍歷文件目錄查找.exe文件路徑 196
實例5.11 全盤搜索.exe文件 197
5.10感染網頁文件 197
5.10.1感染網頁文件的原理 197
5.10.2感染網頁文件的實現方法 197
實例5.12 向指定文件尾部寫入代碼197
實例5.13 搜索網頁文件并調用感染函數198
實例5.14 設置文件隱藏屬性 199
5.11多文件下載 200
5.11.1多文件下載的原理 200
5.11.2多文件下載的實現方法 200
5.12自刪除功能 202
5.12.1自刪除功能的原理 202
5.12.2自刪除功能的實現方法 202
實例5.15 程序自刪除功能 202
5.13下載者調用外部程序 203
5.13.1下載者調用外部程序的原理 203
5.13.2下載者調用外部程序的實現方法 203
實例5.16 zxarps.exe程序幫助信息 203
實例5.17 釋放資源調用ARP攻擊程序 206
實例5.18 調用ARP攻擊程序循環攻擊C段IP地址 207
5.14"機器狗"程序 208
5.14.1"機器狗"程序原理 208
5.14.2"機器狗"代碼實現 209
實例5.19 "機器狗"釋放驅動并安裝執行的代碼實現 209
實例5.20 驅動感染userinit.exe213
5.15利用第三方程序漏洞 216
實例5.21 迅雷溢出漏洞利用文件Thunder.js217
5.16程序其他需要注意的地方 219
5.16.1窗口程序的創建 219
實例5.22 創建窗口程序的代碼實現219
5.16.2應用程序互斥處理 220
實例5.23 應用程序互斥處理 220
5.16.3禁止關閉窗口 221
5.17小結 221
第6章 你當然也能開發殺毒程序222
6.1 下載者的防范措施 222
6.1.1U盤感染的防范 222
6.1.2驅動級病毒的防范 224
6.1.3阻止第三方程序引起的漏洞 226
6.1.4本地計算機防范ARP程序運行 227
6.1.5其他需要注意的地方 228
6.2U盤病毒防火墻的開發 228
6.2.1U盤病毒防火墻的功能及實現技術 228
6.2.2U盤病毒防火墻的代碼實現 229
實例6.1 全盤檢測AutoRun.inf文件 229
實例6.2 單個磁盤的掃描檢測程序229
實例6.3 刪除病毒文件 231
實例6.4 格式化磁盤 231
實例6.5 調用System函數格式化磁盤 232
實例6.6 備份文件 232
實例6.7 增加注冊表啟動項 235
實例6.8 禁止系統自動播放功能235
6.3 小結 237
第7章 攻防的高難度的動作 238
7.1Rootkit與系統內核功能 238
7.1.1Rootkit簡介 238
7.1.2Rootkit相關的系統功能 238
7.1.3Rootkit的分類及實現 239
實例7.1 IRPS形式的Rootkit編碼實現 241
7.2Rootkit對抗殺毒軟件 243
7.2.1增加空節來感染PE文件 244
實例7.2 給程序增加空字節 244
7.2.2通過Rootkit來繞過KIS 7.0 的網絡監控程序 251
實例7.3 編程繞過KIS 252
7.2.3HIV繞過卡巴斯基主動防御的方法 253
實例7.4 HIV繞過卡巴斯基 253
7.2.4關于進程PEB結構的修改實現 255
實例7.5 進程PEB結構的修改實現 255
實例7.6 修改PEB信息 258
7.2.5結束AVP的批處理 259
實例7.7 結束AVP的批處理程序 259
7.3Rootkit程序實例 262
實例7.8 RootKit程序保護文件功能 262
實例7.9 上層應用程序調用sys驅動 268
7.4 小結 270
第8章 沒開發過自己的軟件,怎么成大師 271
8.1 遠程控制軟件簡介 271
8.1.1遠程控制軟件的形式 271
8.1.2遠程控制軟件的特點 272
8.2 遠程控制軟件的功能 273
8.2.1反彈連接功能 273
8.2.2動態更新IP功能 273
8.2.3詳細的計算機配置信息的獲取 274
8.2.4進