C2 複刻 12 | 推薦 20 個複刻 Command and Control Server 的 Python 3 擴充模組

by iok
發佈日期: 更新日期: 1.4k 人次瀏覽
C2 複刻 12 | 推薦 20 個複刻 Command and Control Server 的 Python 3 擴充模組

前面章節介紹復刻 Command and Control Server (C2 伺服器)的分析技巧。接下來進入實做 C2 伺服器的部份。實做 C2伺服器,可使用你熟悉的程式語言來撰寫程式。但你若無定見,我誠心建議使用Python 3。

Python 3 豐富的擴充模組與易學的語法,會大幅減少 C2 伺服器的程式碼,並加快開發速度。以下依類型,列出我撰寫 C2 伺服器程式碼時,常用的 20 個 Python 3 擴充模組。

網路協定相關模組

  1. socket
    提供傳統 Unix 作業系統相似的底層 BSD socket API,實做 TCP/IP socket 程式時使用。
  2. http.server
    HTTP 網頁伺服器模組。可混搭 ssl 模組,變成 HTTPS 網頁伺服器。
  3. ssl
    TLS/SSL socket 封裝模組,可搭配 socket 或 http.server 模組使用,達成TLS/SSL 加密傳輸連線之目的。

處理傳輸 Payload 格式相關模組

  1. struct
    將數值內容封裝至變數時,處理各種不同Size,如 Byte (1 byte)、Word (2 bytes)、DWORD (4 bytes) 與 QWORD (8 bytes),並搭配位元組順序 (Endiannness),如 Big Endian、 Little Endian 的好用模組。
  2. binascii
    二進制資料與 Hex 字串互轉。

加解密與雜湊函數相關模組

  1. hashlib
    提供常見雜湊函數,如 MD5、SHA1、SHA256 等。
  2. hmac
    提供 HMAC 雜湊函數
  3. Crypto.Cipher
    提供多個知名對稱式與非對稱式的加密演算法函數,如 AES、ARC2、ARC4、Blowfish、DES、DES 3、PKCS1_v1_5等。
  4. rc4
    提供 rc4 加密演算法函數。
  5. base64
    提供 Base64編碼與解碼功能函式。

多執行緒相關模組

  1. Threading
    提供程式多執行緒功能,搭配前述網路協定相關模組使用,可讓程式同時服務多個連線客戶端。
  2. Queue
    程式在多執行緒模式運作下,提供不同執行緒間交換資料的管道。

作業系統相關模組

  1. time
    時間函數模組,取得 Unixtime 或 格式化日期時間使用。
  2. logging
    日誌模組,可分等級輸出程式執行日誌至檔案或螢幕。
  3. fnctl
    控制與調整作業系統 I/O 參數。
  4. termios
    POSIX 格式的 TTY 控制模組。
  5. argparse
    程式執行參數模組。依造文件,定義程式的參數與參數對應的 Callback Function。
  6. select
    控制作業系統非同步 I/O 使用。
  7. os
    提供作業系統相關函式 API。如getuidgetpidsleep 等。

資料庫存取相關模組

  1. SQLAlchemy
    資料庫 Object Relational Mapping (簡稱 ORM 模組),能將資料庫欄位定義成 Python 3 物件,透過物件存取,即可進行資料庫操作動作。

總結

上述提到的模組,大部分都已經內建在 Python 3 中 (Battery Included),或是在該領域的知名模組,經過廣大社群開發者檢視過,有一定程度以上的程式碼品質。安裝這些擴充模組,不僅能降低撰寫的程式碼行數,還能加快開發速度。

希望這篇文章能幫助到你,有任何問題,請在下方留言告訴我,並將文章分享給你的好朋友。

複刻 C2 系列文章

相關文章

留言