加強版馬力升級,學習更有效率!
本書介紹竊取傳遞檔案功能的設計,以及偷取密碼的鍵盤記錄功能。整個木馬以Python寫成,適合已學習並對Python具有最基本編寫能力的讀者。
除了傳遞檔案、鍵盤記錄功能外,本書最為特別的地方在於靈活運用Python語法的巧思,例如:運用類別即物件的特性,依類別改變程式流程;巧用dict讓Python具有類似C語言的switch。另外,駭客製作木馬時,為了躲避除錯器的追踪,發展出運用exception來改變程式的走向的技巧。本書將這種運用exception的手法以Python實作出來呈現給大家,讓大家對於駭客的思路和程式設計的技巧有更多的認識。
本加強版在程式做了些許修正,增加自動化產生參數設定檔,測試程式時不再需要手動修改原始碼,增加讀者們學習及測試的效率。也因為這樣的修正,使得本書所有附錄也做了整體的更新。除此之外,還增加了一個全新的章節來教導讀者如何做木馬的設定。
北極星
一群浪人,愛好資訊安全與駭客技術。
書籍勘誤、與作者交流,請加入通往駭客之路粉絲團:
www.facebook.com/groups/TaiwanHacker/
Chapter01 網路連線-Socket
1.1 簡單介紹 socket
1.2 Python 的 socket 模組-socket
1.2.1 不保證傳輸-UDP
1.2.2 保證傳輸正確-TCP
1.3 TCP 函式
1.3.1 開啟-socket()
1.3.2 綁定埠號-bind()
1.3.3 等待連線-listen()
1.3.4 接受連線-accept()
1.3.5 傳輸資料-recv() 和 send()
1.3.6 關閉連線-close()
1.3.7 客戶端連線-connect()
Chapter02 最小的連線程式
2.1 伺服器端
2.2 客戶端
2.3 讓伺服器持續服務
Chapter03 傳送檔案
3.1 將 str 變成 bytes
3.2 最短的檔案傳輸程式
3.3 雙方同時進入等待
3.4 加上傳送檔名的問題
3.5 檔案大小的傳遞-數字的傳遞
3.5.1 整數 int 和 bytes 之間的轉換
3.5.2 位元序的問題-大端(big-endian)和小端(little-endian)
3.6 不定長度資料的傳送問題
Chapter04 協定的設計和實作
4.1 什麼是協定
4.2 基本資料標籤的設計
4.3 傳送數值的程式
4.4 超大數值
4.5 傳送不定長度資料(字串)實作
Chapter05 檔案訊息標籤
5.1 基本的檔案標籤
5.2 回傳狀態標籤
5.3 溝通的函式
5.4 輸出入包成物件
5.5 檔案標籤前面是否加基本標籤?
5.6 檔案資料存取包成物件
5.7 伺服器端存檔的檔名
5.8 大型檔案
Chapter06 例外處理
6.1 例外的狀況
6.2 try ... except 例外處理的利用
6.3 INOUT 的修改
6.3.1 Exception 的基本知識
6.3.2 INOUT 的修改
6.3.3 NetAPI 的修改
6.4 檔案傳遞的速度
Chapter07 掃描目錄
7.1 遞迴掃描目錄
7.2 掃瞄的起始目錄
Chapter08 多客戶端連線-執行緒
Chapter09 檔案更新自動上傳
9.1 判斷檔案修改
9.2 判斷值(檔案大小及修改時間)存檔-JSON
9.3 JSON 的函式
Chapter10 鍵盤記錄
10.1 鍵盤記錄的種類
10.2 Python 的鍵盤記錄
10.2.1 Virtual-Key Code
10.2.2 GetAsyncKeyState()
10.3 建立對照表
10.3.1 定義編碼名稱
10.3.2 定義編碼對照的字元
10.3.3 win32api
Chapter11 合併
11.1 傳送目錄函式
11.2 鍵盤記錄及傳送記錄
11.3 三個執行緒
Chapter12 其他話題補充
12.1 Banner
12.2 還有更多
12.2.1 選擇性上傳
12.2.2 斷點續傳
12.2.3 IP 以外的連絡方式
12.2.4 只是個開始
Chapter13 木馬的設定
13.1 前一版的木馬
13.2 設定的工具
13.3 需要設定的變數
13.4 IP是藏在木馬裡
13.5 取得外部IP
13.6 取得內部IP
13.7 設定檔
13.8 產生設定檔(config.py)的程式
13.9 其他
Appendix A 本書所有程式碼
Appendix B 下載 Python
Appendix C 安裝 Python
Appendix D 安裝 Python 模組
Appendix E 把程式放進目錄中
Appendix F 製作木馬的exe可執行檔