Agent: Rename InPlaceEncryptor -> InPlaceFileEncryptor
This commit is contained in:
parent
39171f0950
commit
0cb975a592
|
@ -5,7 +5,7 @@ from typing import Callable
|
||||||
FILE_EXTENSION_REGEX = re.compile(r"^\.[^\\/]+$")
|
FILE_EXTENSION_REGEX = re.compile(r"^\.[^\\/]+$")
|
||||||
|
|
||||||
|
|
||||||
class InPlaceEncryptor:
|
class InPlaceFileEncryptor:
|
||||||
def __init__(
|
def __init__(
|
||||||
self,
|
self,
|
||||||
encrypt_bytes: Callable[[bytes], bytes],
|
encrypt_bytes: Callable[[bytes], bytes],
|
|
@ -11,7 +11,7 @@ from tests.unit_tests.infection_monkey.ransomware.ransomware_target_files import
|
||||||
)
|
)
|
||||||
from tests.utils import hash_file
|
from tests.utils import hash_file
|
||||||
|
|
||||||
from infection_monkey.ransomware.in_place_encryptor import InPlaceEncryptor
|
from infection_monkey.ransomware.in_place_file_encryptor import InPlaceFileEncryptor
|
||||||
from infection_monkey.utils.bit_manipulators import flip_bits
|
from infection_monkey.utils.bit_manipulators import flip_bits
|
||||||
|
|
||||||
EXTENSION = ".m0nk3y"
|
EXTENSION = ".m0nk3y"
|
||||||
|
@ -22,14 +22,14 @@ def with_extension(filename):
|
||||||
|
|
||||||
|
|
||||||
@pytest.fixture(scope="module")
|
@pytest.fixture(scope="module")
|
||||||
def in_place_bitflip_encryptor():
|
def in_place_bitflip_file_encryptor():
|
||||||
return InPlaceEncryptor(encrypt_bytes=flip_bits, chunk_size=64)
|
return InPlaceFileEncryptor(encrypt_bytes=flip_bits, chunk_size=64)
|
||||||
|
|
||||||
|
|
||||||
@pytest.mark.parametrize("invalid_extension", ["no_dot", ".has/slash", ".has\\slash"])
|
@pytest.mark.parametrize("invalid_extension", ["no_dot", ".has/slash", ".has\\slash"])
|
||||||
def test_invalid_file_extension(invalid_extension):
|
def test_invalid_file_extension(invalid_extension):
|
||||||
with pytest.raises(ValueError):
|
with pytest.raises(ValueError):
|
||||||
InPlaceEncryptor(encrypt_bytes=None, new_file_extension=invalid_extension)
|
InPlaceFileEncryptor(encrypt_bytes=None, new_file_extension=invalid_extension)
|
||||||
|
|
||||||
|
|
||||||
@pytest.mark.parametrize(
|
@pytest.mark.parametrize(
|
||||||
|
@ -40,22 +40,22 @@ def test_invalid_file_extension(invalid_extension):
|
||||||
],
|
],
|
||||||
)
|
)
|
||||||
def test_file_encrypted(
|
def test_file_encrypted(
|
||||||
in_place_bitflip_encryptor, ransomware_target, file_name, cleartext_hash, encrypted_hash
|
in_place_bitflip_file_encryptor, ransomware_target, file_name, cleartext_hash, encrypted_hash
|
||||||
):
|
):
|
||||||
test_keyboard = ransomware_target / file_name
|
test_keyboard = ransomware_target / file_name
|
||||||
|
|
||||||
assert hash_file(test_keyboard) == cleartext_hash
|
assert hash_file(test_keyboard) == cleartext_hash
|
||||||
|
|
||||||
in_place_bitflip_encryptor(test_keyboard)
|
in_place_bitflip_file_encryptor(test_keyboard)
|
||||||
|
|
||||||
assert hash_file(test_keyboard) == encrypted_hash
|
assert hash_file(test_keyboard) == encrypted_hash
|
||||||
|
|
||||||
|
|
||||||
def test_file_encrypted_in_place(in_place_bitflip_encryptor, ransomware_target):
|
def test_file_encrypted_in_place(in_place_bitflip_file_encryptor, ransomware_target):
|
||||||
test_keyboard = ransomware_target / TEST_KEYBOARD_TXT
|
test_keyboard = ransomware_target / TEST_KEYBOARD_TXT
|
||||||
|
|
||||||
expected_inode = os.stat(test_keyboard).st_ino
|
expected_inode = os.stat(test_keyboard).st_ino
|
||||||
in_place_bitflip_encryptor(test_keyboard)
|
in_place_bitflip_file_encryptor(test_keyboard)
|
||||||
actual_inode = os.stat(test_keyboard).st_ino
|
actual_inode = os.stat(test_keyboard).st_ino
|
||||||
|
|
||||||
assert expected_inode == actual_inode
|
assert expected_inode == actual_inode
|
||||||
|
@ -64,7 +64,7 @@ def test_file_encrypted_in_place(in_place_bitflip_encryptor, ransomware_target):
|
||||||
def test_encrypted_file_has_new_extension(ransomware_target):
|
def test_encrypted_file_has_new_extension(ransomware_target):
|
||||||
test_keyboard = ransomware_target / TEST_KEYBOARD_TXT
|
test_keyboard = ransomware_target / TEST_KEYBOARD_TXT
|
||||||
encrypted_test_keyboard = ransomware_target / with_extension(TEST_KEYBOARD_TXT)
|
encrypted_test_keyboard = ransomware_target / with_extension(TEST_KEYBOARD_TXT)
|
||||||
encryptor = InPlaceEncryptor(encrypt_bytes=flip_bits, new_file_extension=EXTENSION)
|
encryptor = InPlaceFileEncryptor(encrypt_bytes=flip_bits, new_file_extension=EXTENSION)
|
||||||
|
|
||||||
encryptor(test_keyboard)
|
encryptor(test_keyboard)
|
||||||
|
|
Loading…
Reference in New Issue