Published on

白帽駭客工具實作04 - [基礎知識] Python直譯器原理、Metasploit 框架架構概說

Authors
  • avatar
    Name
    Ed Li
    X

Python直譯器基本原理

  • 解析 (Parsing):直譯器首先會讀取和解析(Lexical Analysis 和 Syntax Analysis)Python 源碼,將其轉換成抽象語法樹(Abstract Syntax Tree, AST)。這個過程包括將源程式碼拆分成記號(tokens),並檢查語法是否正確。

  • 編譯 (Compilation):AST 會被編譯成 Python 的中間表示形式——字節碼(Bytecode)。這些字節碼是一種低階、中間形式,可以高效執行。Python 使用 .pyc 文件來儲存編譯後的字節碼,以提高後續執行的速度。

  • 執行 (Execution):Python 的虛擬機器(Python Virtual Machine, PVM)會解釋並執行字節碼。PVM 是一個基於stack、heap的執行引擎,負責解釋字節碼指令並執行對應的操作。


Python直譯器詳細說明

項次功能描述說明
1詞法分析 (Lexical Analysis)將源程式碼轉換為一系列記號(tokens)使用詞法分析器將程式碼中的基本語言構建塊(如關鍵字、標識符、運算符和分隔符)識別出來
2語法分析 (Syntax Analysis)將記號序列轉換為抽象語法樹(AST)使用語法分析器將記號序列結構化表示,展示語法結構而非語法細節
3語義分析 (Semantic Analysis)檢查語法正確但語義可能不正確的程式碼確保變量在使用前被定義,函數的參數類型匹配等
4中間表示 (Intermediate Representation)將程式碼轉換為Python字節碼字節碼是一種中間表示形式,類似於低階指令,可以在 Python 虛擬機器上高效執行
5優化 (Optimization)提高程式碼執行效率包括常量折疊、程式碼消除、迭代展開等優化技術
6執行 (Execution)執行 Python 字節碼由 Python 虛擬機器(PVM)解釋和執行字節碼指令
7模塊和導入 (Modules and Imports)組織程式碼並共享功能模塊系統允許將程式碼組織成模塊,導入機制負責定位、加載和初始化模塊

Metasploit 框架架構

在講述自行開發工具之前,首先介紹著名的開源滲透測試框架,由Rapid7公司開發和維護。Metasploit提供了豐富的工具和模組,使資訊安全人員能夠進行漏洞利用、滲透測試和安全評估。藉由這個工具再去延伸思考,自行開發白帽駭客工具的屬性跟功能實現。

  • Metasploit基礎架構

metasploit

  • Metasploit模組功能
項次模組類型描述常見用途
1Exploit利用特定漏洞執行遠程或本地程式碼系統入侵、權限提升
2Payload在成功利用漏洞後執行的程式碼,用於建立控制或執行特定任務建立反向連接、執行系統命令、資料偷取
3Auxiliary提供輔助功能,如掃描、嗅探、檢測和服務攻擊網絡掃描、服務識別、拒絕服務攻擊、密碼破解
4Post執行後滲透活動,如系統數據收集和保持持久訪問收集敏感信息、修改系統設置、安裝後門
5NOP生成NOP Sled以在利用期間保持正確的payload執行使用NOP指(No Operation)填充緩衝區,以確保payload可以準確地進入執行位置,避免錯位或失敗。這些 NOP 指令讓 CPU 可以順利地跳過它們,直到到達有效載荷的開始
6Encoder編碼payload以逃避檢測使payload更難被防毒軟體檢測或攔截

參考資料

Metasploit官方網站

Python官方網站


若各位讀者於本篇有習得新知或技術的話,請訂閱、按讚、分享及開啟小鈴鐺,成為支持筆者寫下去的動力。