Infection Monkey 添加違規行為
這是什么?
本指南將向您展示如何為Infection Monkey創建新的違反行為。違反后操作是Monkey在傳播到受害計算機之后可以在受害計算機上執行的“額外”操作。
我需要新的PBA嗎?
如果您只想執行shell命令,則無需添加新的PBA-只需在Monkey Island配置中配置所需的命令即可!如果您認為這些特定命令在所有部署中具有重用價值,而不僅僅是您自己的部署,則可以添加新的PBA。如果您需要運行實際的Python代碼,則必須添加一個新的PBA。
如何添加新的PBA
Monkey side
構架
- 在以下目錄中創建新操作:
monkey/infection_monkey/post_breach/actions首先使用您的操作名稱創建一個新文件。 - 在該文件中,創建一個從
PBA該類繼承的類:
from infection_monkey.post_breach.pba import PBA
class MyNewPba(PBA):
- 在構造函數中設置動作名稱,如下所示:
class MyNewPba(PBA):
def __init__(self):
super(MyNewPba, self).__init__(name="MyNewPba")
實作
如果您的PBA僅由簡單的shell命令組成,則可以通過將通用命令PBA傳遞給構造函數來重用。見add_user.py PBA供參考。
否則,您將需要run使用自己的實現覆蓋該方法。見communicate_as_new_user.pyPBA供參考。確保成功/失敗后發送相關的PostBreachTelem。您也可以在PBA期間登錄。
Island side
組態
您需要將PBA添加到 config_schema.py 文件,在 post_breach_acts,就像這樣:
"post_breach_acts": {
"title": "Post breach actions",
"type": "string",
"anyOf": [
# ...
{
"type": "string",
"enum": [
"MyNewPba"
],
"title": "My new PBA",
"attack_techniques": []
},
],
},
現在,您可以在Monkey Island配置Monkey時選擇PBA:

遙測處理
如果您希望處理違反后動作遙測(例如,對其進行分析以獲取報告數據),請向 POST_BREACH_TELEMETRY_PROCESSING_FUNCS 可以在以下位置找到 monkey/monkey_island/cc/services/telemetry/processing/post_breach.py。你可以看看process_communicate_as_new_user_telemetry 方法為例。
Infection Monkey中文使用教程
推薦文章: