diff --git a/monkey/common/utils/__init__.py b/monkey/common/utils/__init__.py
index e69de29bb..57725fa62 100644
--- a/monkey/common/utils/__init__.py
+++ b/monkey/common/utils/__init__.py
@@ -0,0 +1 @@
+from .timer import Timer
diff --git a/monkey/infection_monkey/utils/timer.py b/monkey/common/utils/timer.py
similarity index 100%
rename from monkey/infection_monkey/utils/timer.py
rename to monkey/common/utils/timer.py
diff --git a/monkey/infection_monkey/exploit/log4shell.py b/monkey/infection_monkey/exploit/log4shell.py
index e967ee6cb..dc8fe0c66 100644
--- a/monkey/infection_monkey/exploit/log4shell.py
+++ b/monkey/infection_monkey/exploit/log4shell.py
@@ -3,6 +3,7 @@ import time
 from pathlib import PurePath
 
 from common.common_consts.timeouts import LONG_REQUEST_TIMEOUT, MEDIUM_REQUEST_TIMEOUT
+from common.utils import Timer
 from infection_monkey.exploit.log4shell_utils import (
     LINUX_EXPLOIT_TEMPLATE_PATH,
     WINDOWS_EXPLOIT_TEMPLATE_PATH,
@@ -21,7 +22,6 @@ from infection_monkey.network.tools import get_interface_to_target
 from infection_monkey.utils.commands import build_monkey_commandline
 from infection_monkey.utils.monkey_dir import get_monkey_dir_path
 from infection_monkey.utils.threading import interruptible_iter
-from infection_monkey.utils.timer import Timer
 
 logger = logging.getLogger(__name__)
 
diff --git a/monkey/infection_monkey/exploit/sshexec.py b/monkey/infection_monkey/exploit/sshexec.py
index 2b13b719e..3c4c46641 100644
--- a/monkey/infection_monkey/exploit/sshexec.py
+++ b/monkey/infection_monkey/exploit/sshexec.py
@@ -5,6 +5,7 @@ from pathlib import PurePath
 import paramiko
 
 from common.common_consts.timeouts import LONG_REQUEST_TIMEOUT, MEDIUM_REQUEST_TIMEOUT
+from common.utils import Timer
 from common.utils.attack_utils import ScanStatus
 from common.utils.exceptions import FailedExploitationError
 from infection_monkey.exploit.HostExploiter import HostExploiter
@@ -17,7 +18,6 @@ from infection_monkey.telemetry.attack.t1222_telem import T1222Telem
 from infection_monkey.utils.brute_force import generate_identity_secret_pairs
 from infection_monkey.utils.commands import build_monkey_commandline
 from infection_monkey.utils.threading import interruptible_iter
-from infection_monkey.utils.timer import Timer
 
 logger = logging.getLogger(__name__)
 SSH_PORT = 22
diff --git a/monkey/infection_monkey/master/automated_master.py b/monkey/infection_monkey/master/automated_master.py
index b0ffa56fa..ac0429e1d 100644
--- a/monkey/infection_monkey/master/automated_master.py
+++ b/monkey/infection_monkey/master/automated_master.py
@@ -3,6 +3,7 @@ import threading
 import time
 from typing import Any, Callable, Dict, Iterable, List, Mapping, Optional, Tuple
 
+from common.utils import Timer
 from infection_monkey.credential_store import ICredentialsStore
 from infection_monkey.i_control_channel import IControlChannel, IslandCommunicationError
 from infection_monkey.i_master import IMaster
@@ -13,7 +14,6 @@ from infection_monkey.telemetry.credentials_telem import CredentialsTelem
 from infection_monkey.telemetry.messengers.i_telemetry_messenger import ITelemetryMessenger
 from infection_monkey.telemetry.post_breach_telem import PostBreachTelem
 from infection_monkey.utils.threading import create_daemon_thread, interruptible_iter
-from infection_monkey.utils.timer import Timer
 
 from . import Exploiter, IPScanner, Propagator
 from .option_parsing import custom_pba_is_enabled
diff --git a/monkey/infection_monkey/network_scanning/tcp_scanner.py b/monkey/infection_monkey/network_scanning/tcp_scanner.py
index d0c6e3e7a..17c72f606 100644
--- a/monkey/infection_monkey/network_scanning/tcp_scanner.py
+++ b/monkey/infection_monkey/network_scanning/tcp_scanner.py
@@ -4,9 +4,9 @@ import socket
 import time
 from typing import Iterable, Mapping, Tuple
 
+from common.utils import Timer
 from infection_monkey.i_puppet import PortScanData, PortStatus
 from infection_monkey.network.tools import BANNER_READ, DEFAULT_TIMEOUT, tcp_port_to_service
-from infection_monkey.utils.timer import Timer
 
 logger = logging.getLogger(__name__)
 
diff --git a/monkey/infection_monkey/telemetry/messengers/batching_telemetry_messenger.py b/monkey/infection_monkey/telemetry/messengers/batching_telemetry_messenger.py
index 9dc051666..88c9d7d13 100644
--- a/monkey/infection_monkey/telemetry/messengers/batching_telemetry_messenger.py
+++ b/monkey/infection_monkey/telemetry/messengers/batching_telemetry_messenger.py
@@ -2,10 +2,10 @@ import queue
 import threading
 from typing import Dict
 
+from common.utils import Timer
 from infection_monkey.telemetry.i_batchable_telem import IBatchableTelem
 from infection_monkey.telemetry.i_telem import ITelem
 from infection_monkey.telemetry.messengers.i_telemetry_messenger import ITelemetryMessenger
-from infection_monkey.utils.timer import Timer
 
 DEFAULT_PERIOD = 5
 WAKES_PER_PERIOD = 4
diff --git a/monkey/infection_monkey/tunnel.py b/monkey/infection_monkey/tunnel.py
index 26368bff6..b4ca3b517 100644
--- a/monkey/infection_monkey/tunnel.py
+++ b/monkey/infection_monkey/tunnel.py
@@ -4,11 +4,11 @@ import struct
 import time
 from threading import Event, Thread
 
+from common.utils import Timer
 from infection_monkey.network.firewall import app as firewall
 from infection_monkey.network.info import get_free_tcp_port, local_ips
 from infection_monkey.network.tools import check_tcp_port, get_interface_to_target
 from infection_monkey.transport.base import get_last_serve_time
-from infection_monkey.utils.timer import Timer
 
 logger = logging.getLogger(__name__)
 
diff --git a/monkey/infection_monkey/utils/decorators.py b/monkey/infection_monkey/utils/decorators.py
index 31ac0661b..363f29796 100644
--- a/monkey/infection_monkey/utils/decorators.py
+++ b/monkey/infection_monkey/utils/decorators.py
@@ -1,7 +1,7 @@
 import threading
 from functools import wraps
 
-from .timer import Timer
+from common.utils import Timer
 
 
 def request_cache(ttl: float):
diff --git a/monkey/tests/unit_tests/infection_monkey/utils/test_timer.py b/monkey/tests/unit_tests/common/utils/test_timer.py
similarity index 97%
rename from monkey/tests/unit_tests/infection_monkey/utils/test_timer.py
rename to monkey/tests/unit_tests/common/utils/test_timer.py
index b5291cc0e..43a503cdc 100644
--- a/monkey/tests/unit_tests/infection_monkey/utils/test_timer.py
+++ b/monkey/tests/unit_tests/common/utils/test_timer.py
@@ -2,7 +2,7 @@ import time
 
 import pytest
 
-from infection_monkey.utils.timer import Timer
+from common.utils import Timer
 
 
 @pytest.fixture
diff --git a/monkey/tests/unit_tests/infection_monkey/utils/test_decorators.py b/monkey/tests/unit_tests/infection_monkey/utils/test_decorators.py
index 5fe9a3881..7731a3a23 100644
--- a/monkey/tests/unit_tests/infection_monkey/utils/test_decorators.py
+++ b/monkey/tests/unit_tests/infection_monkey/utils/test_decorators.py
@@ -3,8 +3,8 @@ from unittest.mock import MagicMock
 
 import pytest
 
+from common.utils import Timer
 from infection_monkey.utils.decorators import request_cache
-from infection_monkey.utils.timer import Timer
 
 
 class MockTimer(Timer):