Add a UT to test if ransomware payload tries to encrypt files if "linux_target_dir" and "windows_target_dir" inputs are empty.

We have empty "linux_target_dir" and "windows_target_dir" by default so it's important that ransomware payload doesn't try to encrypt files by default, without users' knowledge.
This commit is contained in:
VakarisZ 2021-07-07 10:48:35 +03:00 committed by VakarisZ
parent 5a77785164
commit d33fc26fe3
1 changed files with 18 additions and 0 deletions

View File

@ -163,6 +163,24 @@ def test_encryption_skipped_if_configured_false(
assert hash_file(ransomware_target / TEST_KEYBOARD_TXT) == TEST_KEYBOARD_TXT_CLEARTEXT_SHA256 assert hash_file(ransomware_target / TEST_KEYBOARD_TXT) == TEST_KEYBOARD_TXT_CLEARTEXT_SHA256
def test_encryption_skipped_if_no_directory(
ransomware_payload_config, telemetry_messenger_spy, monkeypatch
):
ransomware_payload_config["encryption"]["enabled"] = True
ransomware_payload_config["encryption"]["directories"]["linux_target_dir"] = ""
ransomware_payload_config["encryption"]["directories"]["windows_target_dir"] = ""
def _file_encryption_method_mock(*args, **kwargs):
raise Exception(
"Ransomware payload attempted to "
"encrypt files even though no directory was provided!"
)
ransomware_payload = RansomwarePayload(ransomware_payload_config, telemetry_messenger_spy)
monkeypatch.setattr(ransomware_payload, "_encrypt_files", _file_encryption_method_mock)
ransomware_payload.run_payload()
def test_telemetry_success(ransomware_payload, telemetry_messenger_spy): def test_telemetry_success(ransomware_payload, telemetry_messenger_spy):
ransomware_payload.run_payload() ransomware_payload.run_payload()