讀書日
  • 電子書
遠端遙控木馬病毒程式設計:使用Python (電子書)
試閱
收藏試閱本 93
人收藏
適合平板

遠端遙控木馬病毒程式設計:使用Python (電子書)

  • 定價:550
  • 優惠價:400
載入中...

電子書閱讀軟體

支援瀏覽器說明

APP下載:

  • 分享
 

內容簡介

  本書是《特洛伊木馬病毒程式設計:使用Python》的進階版,設計以ISO OSI的七層架構為基礎,會議層以傳送權(token)來實作,表達層可傳輸的資料型別從最基本的正整數、bytes、str等,擴大到負數、dict 、list等較為複雜的結構。

  真正木馬病毒在感染進入電腦,多半會以dropper或是downloader作為媒介,在本書的最後多加了一章,將木馬病毒的執行檔包裝成dropper的型態作為感染媒介的示範,讓各位朋友對於木馬病毒如何感染能多一層的認識。

  本版的木馬病毒和前一版功能最大的不同在於本版不是被動接收檔案,而是主動遠端遙控木馬,由終端機下shell指令,另外還增加上傳、下載、執行程式,讓木馬病毒可以下載更多惡意的功能來增加其威力,另外還增加了screenshot的功能。

  本書適合已熟悉Python語法的朋友,如有網路程式設計經驗者更佳。

  書籍勘誤、與作者交流,請加入通往駭客之路粉絲團:
  www.facebook.com/groups/TaiwanHacker/
 
 

作者介紹

作者簡介

北極星



  一群浪人,愛好資訊安全與駭客技術。
 
 

目錄

Chapter 01 Python 的網路程式設計
Python 的 socket 模組介紹
1.1 Socket 模組
1.1.1 引入 socket 模組
1.1.2 相連電腦的角色-client-server
1.1.3 連線比開檔複雜
1.2 Socket 的函數
1.2.1 socket()
1.2.2 bind()
1.2.3 listen()
1.2.4 accept()
1.2.5 connect()
1.2.6 send() 與 recv()
1.2.7 sendall()
1.2.8 shutdown()
1.2.9 close()

Chapter 02 建立工具
方便網路傳輸資料除錯的小工具
2.1 16 位元顯示-hexdump
2.1.1 hexdump 是什麼樣子
2.1.2 bytes 和 str 皆可用
2.1.3 切開 str 和 bytes
2.1.4 offset 資訊
2.1.5 顯示十六進位碼-bytes 轉 int list
2.1.6 顯示原字元
2.1.7 過濾不可視的字元
2.1.8 補滿空白字元
2.1.9 增加適當空白字元隔開-split
2.2 Echo 伺服器程式

Chapter 03 資料的轉換(一):struct 模組
使用 struct 做基本型別 int 、float 與 bytes 之間的轉換
3.1 資料型別
3.2 型別的轉換
3.3 struct 模組
3.3.1 struct 的功能
3.3.2 struct 小試身手
3.4 對齊 (Alignment)
3.5 與 C/C++ 溝通-struct 的目的
3.6 大端與小端
3.7 format character 的運用
3.7.1 目前 struct 最大整數為 8 bytes
3.7.2 用 bit_length() 取得實際長度來選擇
3.7.3 負數的問題
3.7.4 借用 format character 的定義
3.7.5 長度定義存放在 List 中
3.7.6 資料型態標記-Tag
3.7.7 以 format character 當做標記表示型態
3.7.8 浮點數

Chapter 04 資料的轉換(二):不定長度資料
bytes、str 等資料長度是變動非固定的,該如何轉換?
4.1 如何取得讀取長度
4.1.1 有固定長度的資料型別
4.1.2 無固定長度則補上長度資訊
4.2 不定長度資料的轉換
4.3 不定長度資料的還原對照表
4.4 超大型整數
4.4.1 Python 整數最大值
4.4.2 有加上長度資訊的版本
4.4.3 不用長度的古老方式

Chapter 05 資料的傳遞-表達層 INOUT
網路為多層架構,每一層功能相異,每層封包內容會有些許差異
5.1 網路的分層
5.1.1 TCP/IP v.s. ISO OSI
5.1.2 傳輸層
5.1.3 表達層
5.2 網路和檔案的存取介面一致化
5.2.1 虛擬基本類別-BaseIO
5.2.2 抽象基類-ABC 模組
5.2.3 一般檔案類別-FileIO
5.2.4 網路介面類別-SocketIO
5.2.5 依參數自動選擇類別-CreateIO
5.2.6 記憶體裡的資料當成檔案存取-MemIO
5.3 表達層的實作-INOUT
5.3.1 定義 Exception
5.3.2 利用 Exception 傳遞資訊
5.3.3 暫存目錄與暫存檔-tmp
5.3.4 INOUT 概觀
5.3.5 資料型別對照表
5.3.6 INOUT 與傳輸層之間的溝通
5.3.7 無長度資訊的大型整數
5.3.8 資料型態 (tag) 的存取
5.3.9 例外運用
5.4 INOUT 的擴充
5.4.1 為何需要擴充?
5.4.2 用暫存檔處理大型資料-INOUT_FILE
5.4.3 MemIO 和 INOUT_FILE 的 close() 傳回值
5.4.4 大型的數字-INOUT_INT
5.5 讓 INOUT 能夠處理大型資料
5.5.1 分批傳送
5.5.2 直接切開傳送
5.5.3 每塊資料加上 tag
5.5.4 增加檢查 tag
5.5.5 INOUT 增加大型資料分批傳送
5.6 資料加密

Chapter 06 溝通與協調-會議層 Tower
兩台電腦之間的通訊連結和維持,由會議層來負責
6.1 溝通方式的約定
6.2 意外永遠會發生-莫非定律
6.3 網路程式最常發生的同時等待
6.4 傳送權-token
6.5 自由增加 IO 類別到 CreateIO
6.5.1 修改 CreateIO
6.5.2 類別的判斷和選擇
6.5.3 類別方法 (@classmethod)
6.5.4 類別變數和與類別方法
6.5.5 IOBase 增加類別方法 create()
6.5.6 讓 CreateIO 可以註冊新增 IO 類別
6.5.7 倒序選擇
6.6 封裝 CreateIO-meta class(可跳過不讀)
6.6.1 將 CreateIO 封裝成類別
6.6.2 物件版和函數版的差異
6.6.3 改變 isinstance() 判斷結果
6.6.4 Meta Class (元類)
6.6.5 改變 isinstance() 的判斷- __instancecheck__
6.6.6 類別的類別-meta class
6.6.7 meta class 的子類別
6.6.8 定義 meta class-BaseMeta
6.6.9 BaseIO 原有的 meta class-abc.ABCMeta
6.7 SocketIO 的進階版-Tower
6.7.1 Tower 概觀
6.7.2 收取的大小與請求不一致
6.7.3 緩衝區類別-IOBuffer
6.7.4 傳送權
6.7.5 伺服器端-TowerServer

Chapter 07 複雜資料型態-PARAM
讓 list 和 dict 等型態的傳遞,如 int 、bytes 、str 一樣容易
7.1 函數的參數是 list 和 dict
7.2 簡化的版本試做
7.2.1 write()
7.2.2 read()
7.2.3 增加 lable 的檢查
7.3 PARAM 正式實作
7.3.1 巢狀 dict 和 list
7.3.2 資料格式
7.3.3 傳送 dict
7.3.4 傳送 list
7.3.5 傳送一般資料
7.3.6 讀取 dict
7.3.7 讀取 list
7.3.8 讀取一般資料
7.4 表達層高階部份

Chapter 08 執行外部程式
木馬必須要能執行指令,才能有效控制電腦
8.1 指令輸入
8.2 新的伺服器,木馬的雛型
8.2.1 由 echo 伺服器修改
8.2.2 木馬的角色其實是伺服器
8.2.3 執行外部程式-subprocess 模組
8.2.4 Popen 的參數-str 的指令與 list 的指令
8.2.5 外部程式的輸出入
8.2.6 locale 模組
8.2.7 標準輸出及標準錯誤改為 str
8.3 執行指令
8.4 改變工作目錄的問題

Chapter 09 執行緒- threadManager
建立執行緒管理類別,統一管理
9.1 執行緒的基本概念
9.1.1 為何需要執行緒
9.1.2 過去多工是以程序為單位
9.1.3 執行緒負擔較小
9.2 執行緒程式寫作
9.2.1 執行緒程式的簡例
9.2.2 用 threading.Thread 產生執行緒
9.2.3 呼叫 start() 啟動執行緒
9.2.4 呼叫 join() 收回執行緒
9.3 多執行緒的收回問題
9.3.1 常見的收回範例
9.3.2 改進的收回流程
9.3.3 需要考慮同步問題
9.4 多執行緒的同步
9.4.1 多個程序存取共同資料
9.4.2 同時取用相同資料產生錯誤
9.4.3 資源競爭(race condition)
9.4.4 關鍵區域(Critical Section)
9.4.5 用 threading.Lock 鎖定
9.5 執行緒管理
9.5.1 執行緒管理類別-threadManager
9.5.2 threading.Thread 子類別 myThread
9.5.3 由 threadManager 管理,myThread 不需 join()
9.6 木馬加上執行緒

Chapter 10 常用工具
駭客要做的事,不可能只是下下 DOS 指令吧!
10.0 事前的準備-相異系統檔案路徑修正
10.1 下載功能-fetch
10.1.1 惡意軟體或工具可從網站下載時
10.1.2 命令對照表
10.1.3 URL 處理模組-urllib
10.2 傳送檔案到木馬端
10.2.1 檔案相關資訊
10.2.2 將檔案資訊還原成檔案
10.2.3 以 dict 格式傳送指令
10.2.4 存檔位置
10.3 從木馬取檔案回來
10.3.1 偷竊資料
10.3.2 後置處理
10.4 螢幕截圖
10.4.1 pyscreenshot 模組
10.4.2 wxPython 模組
10.4.3 pyscreenshot vs. wxPython
10.4.4 將截圖功能加入木馬
10.4.5 終端機顯示截圖
10.5 惡作劇藍畫面
10.5.1 Windows 粉絲的最愛
10.5.2 只要一個 bat 檔

Chapter 11 Reverse Shell
傳統由駭客連向木馬的方式,很輕易被現代的防火牆阻擋,所以出現了反向Shell
11.1 什麼是殼
11.2 傳統木馬
11.3 反向連線木馬
11.4 主從角色
11.5 木馬和駭客之間的連絡
11.5.1 取得內網 IP
11.5.2 找出外部 IP
11.6 產生 config.py
11.7 駭客伺服器
11.8 反向連線木馬

附錄 A 本書所有程式碼
附錄 B 程式測試與執行
附錄 C 程式簡單說明
附錄 D 實戰操作
D.1 安裝程序
D.2 製作執行檔
D.3 實際操作

給讀者們的一封信
 
 

詳細資料

  • ISBN:9789864343256
  • 規格:普通級 / 初版
  • 出版地:台灣
  • 檔案格式:EPUB固定版型
  • 建議閱讀裝置:平板
  • TTS語音朗讀功能:無
  • 檔案大小:388.9MB

最近瀏覽

 

相關活動

  • 【自然科普、電腦資訊】張忠謀親筆撰寫、獨家授權自傳,他的一生,一場不能錯過的智慧盛宴!《張忠謀自傳》
 

購物說明

使用電子書服務即為同意『博客來數位內容服務條款』請詳見客服中心說明。

自備暢通的網際網路連線及符合博客來支援的行動裝置、電腦作為閱讀工具,支援版本如下:

瀏覽器閱讀:無需安裝,即可閱讀。支援Safari (14以上版本)、Chrome (103以上版本) 、Edge瀏覽器 (106以上版本)。

APP閱讀:支援IOS13及Android 7以上系統。

電子書、 電子雜誌因版本屬性因素,恕無法比照紙本書籍提供MP3、DVD實體光碟,亦無提供相關影音檔案下載,請先確認無此需求再行下單購買。

請注意:

博客來電子書服務所使用之軟體程式及其支援行動裝置之可用版本隨時會更新調整,請隨時留意且主動查詢調整之內容。並請定時更新您的行動裝置作業系統版本,以確保本服務運作正常。若因個人裝置因素(如:其他應用程式衝突、裝置記憶體不足、行動裝置支援版本無法升級),無法使用博客來電子書閱讀服務或影響服務效能,需自行進行排除待符合博客來支援項目再行閱讀。

退換貨說明:

電子書購買前請務必先行試閱,不提供10天的猶豫期。

下列商品購買後博客來不提供10天的猶豫期,請務必詳閱商品說明並再次確認確有購買該項商品之需求及意願時始下單購買,有任何疑問並請先聯繫博客來客服詢問:

1.易於腐敗、保存期限較短或解約時即將逾期。
2.客製化之商品。
3.報紙、期刊或雜誌。
4.經消費者拆封之影音商品或電腦軟體。
5.下載版軟體、資訊及電子書、有聲書及影音.課程
6.涉及個人衛生,並經消費者拆封之商品,如:內衣褲、刮鬍刀…等。
7.藝文展覽票券、藝文表演票券。