Ejemplo n.º 1
0
def test_env_variables_in_target_dir_resolved(config_from_island, patched_home_env, tmp_path):
    path_with_env_variable = "$HOME/ransomware_target"

    config_from_island["encryption"]["directories"]["linux_target_dir"] = config_from_island[
        "encryption"
    ]["directories"]["windows_target_dir"] = path_with_env_variable

    config = RansomwareConfig(config_from_island)
    assert config.target_directory == patched_home_env / "ransomware_target"
def build_ransomware_payload(config: dict):
    logger.debug(f"Ransomware payload configuration:\n{pformat(config)}")
    ransomware_config = RansomwareConfig(config)

    file_encryptor = _build_file_encryptor()
    file_selector = _build_file_selector()
    leave_readme = _build_leave_readme()
    telemetry_messenger = _build_telemetry_messenger()

    return RansomwarePayload(
        ransomware_config,
        file_encryptor,
        file_selector,
        leave_readme,
        telemetry_messenger,
    )
Ejemplo n.º 3
0
def test_target_dir_is_none(monkeypatch, config_from_island):
    monkeypatch.setattr(ransomware_config, "expand_path", lambda _: raise_(InvalidPath("invalid")))

    config = RansomwareConfig(config_from_island)
    assert config.target_directory is None
Ejemplo n.º 4
0
def test_windows_target_dir(monkeypatch, config_from_island):
    monkeypatch.setattr(ransomware_config, "is_windows_os", lambda: True)

    config = RansomwareConfig(config_from_island)
    assert config.target_directory == Path(WINDOWS_DIR)
Ejemplo n.º 5
0
def test_linux_target_dir(monkeypatch, config_from_island):
    monkeypatch.setattr(ransomware_config, "is_windows_os", lambda: False)

    config = RansomwareConfig(config_from_island)
    assert config.target_directory == Path(LINUX_DIR)
Ejemplo n.º 6
0
def test_readme_enabled(enabled, config_from_island):
    config_from_island["other_behaviors"]["readme"] = enabled
    config = RansomwareConfig(config_from_island)

    assert config.readme_enabled == enabled
Ejemplo n.º 7
0
def test_encryption_enabled(enabled, config_from_island):
    config_from_island["encryption"]["enabled"] = enabled
    config = RansomwareConfig(config_from_island)

    assert config.encryption_enabled == enabled