From 67a7869be55f9176899af54a68dcf26a19cfbbcd Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=B6rg=20Stucke?= Date: Wed, 20 Mar 2024 14:40:44 +0100 Subject: [PATCH 1/2] hl7 server: config bug fix --- honeypots/base_server.py | 2 +- honeypots/helper.py | 2 +- tests/test_hl7_server.py | 12 +++++++++++- 3 files changed, 13 insertions(+), 3 deletions(-) diff --git a/honeypots/base_server.py b/honeypots/base_server.py index 2e4af5cf..05817143 100644 --- a/honeypots/base_server.py +++ b/honeypots/base_server.py @@ -30,7 +30,7 @@ def __init__(self, **kwargs): self.process = None self.uuid = f"honeypotslogger_{self.__class__.__name__}_{str(uuid4())[:8]}" self.config: dict = kwargs.get("config", {}) - self.logs = setup_logger(self.__class__.__name__, self.uuid, self.config) + self.logs = setup_logger(self.NAME, self.uuid, self.config) if self.config: set_local_vars(self, self.config) self.ip = kwargs.get("ip", None) or (hasattr(self, "ip") and self.ip) or "0.0.0.0" diff --git a/honeypots/helper.py b/honeypots/helper.py index 0eca52d9..9efb5c75 100644 --- a/honeypots/helper.py +++ b/honeypots/helper.py @@ -159,7 +159,7 @@ def setup_logger(name: str, temp_name: str, config_data: dict, drop: bool = Fals elif "terminal" in logs: ret_logs_obj.addHandler(CustomHandler(temp_name, logs, custom_filter)) if "file" in logs: - server = name[1:].lower().replace("server", "") + server = name.replace("_server", "") server_config = config_data.get("honeypots", {}).get(server, {}) logs_location = config_data.get("logs_location") logs_path = Path(logs_location) if logs_location else Path(gettempdir()) / "logs" diff --git a/tests/test_hl7_server.py b/tests/test_hl7_server.py index 127917d1..194de6ac 100644 --- a/tests/test_hl7_server.py +++ b/tests/test_hl7_server.py @@ -13,11 +13,19 @@ ) PORT = "52575" +LOG_FILE_NAME = "hl7.jsonl" +SERVER_CONFIG = { + "honeypots": { + "hl7": { + "log_file_name": LOG_FILE_NAME, + }, + } +} @pytest.mark.parametrize( "server_logs", - [{"server": HL7Server, "port": PORT}], + [{"server": HL7Server, "port": PORT, "custom_config": SERVER_CONFIG}], indirect=True, ) def test_hl7_server(server_logs): @@ -31,6 +39,8 @@ def test_hl7_server(server_logs): connection.send(message.to_mllp().encode()) response = connection.recv(1024).decode() + log_file = [f.name for f in server_logs.iterdir()][0] + assert log_file == LOG_FILE_NAME logs = load_logs_from_file(server_logs) assert len(logs) == 2 From 329fc75c4bec77400e61e4abcb745e384751ccbf Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=B6rg=20Stucke?= Date: Wed, 20 Mar 2024 15:31:29 +0100 Subject: [PATCH 2/2] http proxy: config bug fix --- honeypots/helper.py | 2 +- tests/test_http_proxy_server.py | 4 ++++ 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/honeypots/helper.py b/honeypots/helper.py index 9efb5c75..cd4b23ea 100644 --- a/honeypots/helper.py +++ b/honeypots/helper.py @@ -159,7 +159,7 @@ def setup_logger(name: str, temp_name: str, config_data: dict, drop: bool = Fals elif "terminal" in logs: ret_logs_obj.addHandler(CustomHandler(temp_name, logs, custom_filter)) if "file" in logs: - server = name.replace("_server", "") + server = name.replace("_", "").replace("server", "") server_config = config_data.get("honeypots", {}).get(server, {}) logs_location = config_data.get("logs_location") logs_path = Path(logs_location) if logs_location else Path(gettempdir()) / "logs" diff --git a/tests/test_http_proxy_server.py b/tests/test_http_proxy_server.py index 7ccc7b08..983465e3 100644 --- a/tests/test_http_proxy_server.py +++ b/tests/test_http_proxy_server.py @@ -15,10 +15,12 @@ PORT = "58080" PORT_2 = "58081" +LOG_FILE_NAME = "httpproxy.jsonl" SERVER_CONFIG = { "honeypots": { "httpproxy": { "options": ["capture_commands"], + "log_file_name": LOG_FILE_NAME, }, } } @@ -37,6 +39,8 @@ def test_http_proxy_server(server_logs): timeout=2, ) + log_file = [f.name for f in server_logs.iterdir()][0] + assert log_file == LOG_FILE_NAME logs = load_logs_from_file(server_logs) assert len(logs) == 2