forked from p15670423/monkey
Agent: Progress implementing MockMaster
This commit is contained in:
parent
ea8be28a72
commit
b48ddd055a
|
@ -1,8 +1,10 @@
|
||||||
import logging
|
import logging
|
||||||
|
|
||||||
from infection_monkey.i_master import IMaster
|
from infection_monkey.i_master import IMaster
|
||||||
from infection_monkey.i_puppet import IPuppet, PortScanData, PortStatus
|
from infection_monkey.i_puppet import IPuppet, PortStatus
|
||||||
from infection_monkey.model.host import VictimHost
|
from infection_monkey.model.host import VictimHost
|
||||||
|
from infection_monkey.telemetry.exploit_telem import ExploitTelem
|
||||||
|
from infection_monkey.telemetry.file_encryption_telem import FileEncryptionTelem
|
||||||
from infection_monkey.telemetry.messengers.i_telemetry_messenger import ITelemetryMessenger
|
from infection_monkey.telemetry.messengers.i_telemetry_messenger import ITelemetryMessenger
|
||||||
from infection_monkey.telemetry.scan_telem import ScanTelem
|
from infection_monkey.telemetry.scan_telem import ScanTelem
|
||||||
from infection_monkey.telemetry.system_info_telem import SystemInfoTelem
|
from infection_monkey.telemetry.system_info_telem import SystemInfoTelem
|
||||||
|
@ -19,6 +21,9 @@ class MockMaster(IMaster):
|
||||||
self._run_sys_info_collectors()
|
self._run_sys_info_collectors()
|
||||||
self._run_pbas()
|
self._run_pbas()
|
||||||
self._scan_victims()
|
self._scan_victims()
|
||||||
|
self._fingerprint()
|
||||||
|
self._exploit()
|
||||||
|
self._run_payload()
|
||||||
|
|
||||||
def _run_sys_info_collectors(self):
|
def _run_sys_info_collectors(self):
|
||||||
system_info_telemetry = {}
|
system_info_telemetry = {}
|
||||||
|
@ -59,6 +64,34 @@ class MockMaster(IMaster):
|
||||||
|
|
||||||
self._telemetry_messenger.send_telemetry(ScanTelem(h))
|
self._telemetry_messenger.send_telemetry(ScanTelem(h))
|
||||||
|
|
||||||
|
def _fingerprint(self):
|
||||||
|
machine_1 = VictimHost("10.0.0.1")
|
||||||
|
machine_3 = VictimHost("10.0.0.3")
|
||||||
|
|
||||||
|
self._puppet.fingerprint("SMBFinger", machine_1)
|
||||||
|
self._telemetry_messenger.send_telemetry(ScanTelem(machine_1))
|
||||||
|
|
||||||
|
self._puppet.fingerprint("SMBFinger", machine_3)
|
||||||
|
self._telemetry_messenger.send_telemetry(ScanTelem(machine_3))
|
||||||
|
|
||||||
|
self._puppet.fingerprint("HTTPFinger", machine_3)
|
||||||
|
self._telemetry_messenger.send_telemetry(ScanTelem(machine_3))
|
||||||
|
|
||||||
|
def _exploit(self):
|
||||||
|
# TODO: modify what ExploitTelem gets
|
||||||
|
self._telemetry_messenger.send_telemetry(
|
||||||
|
ExploitTelem(self._puppet.exploit_host("PowerShellExploiter", "10.0.0.1", {}, None))
|
||||||
|
)
|
||||||
|
self._telemetry_messenger.send_telemetry(
|
||||||
|
ExploitTelem(self._puppet.exploit_host("SSHExploiter", "10.0.0.3", {}, None))
|
||||||
|
)
|
||||||
|
|
||||||
|
def _run_payload(self):
|
||||||
|
# TODO: modify what FileEncryptionTelem gets
|
||||||
|
self._telemetry_messenger.send_telemetry(
|
||||||
|
FileEncryptionTelem(self._run_payload("RansomwarePayload", {}, None))
|
||||||
|
)
|
||||||
|
|
||||||
def terminate(self) -> None:
|
def terminate(self) -> None:
|
||||||
logger.info("Terminating MockMaster")
|
logger.info("Terminating MockMaster")
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue