From 2e880c79cac370b374c407820b4950f075e8a5e4 Mon Sep 17 00:00:00 2001 From: TonyJabbour Date: Tue, 28 Sep 2021 22:53:01 +0200 Subject: [PATCH] Add webhook post support in yara and regex trackers --- bin/lib/Tracker.py | 2 +- bin/trackers/Tracker_Regex.py | 8 +++++++- bin/trackers/Tracker_Yara.py | 8 +++++++- 3 files changed, 15 insertions(+), 3 deletions(-) diff --git a/bin/lib/Tracker.py b/bin/lib/Tracker.py index 8829e2a4..06d005a2 100755 --- a/bin/lib/Tracker.py +++ b/bin/lib/Tracker.py @@ -107,7 +107,7 @@ def get_tracker_mails(tracker_uuid): return list(r_serv_tracker.smembers('tracker:mail:{}'.format(tracker_uuid))) def get_tracker_webhook(tracker_uuid): - return r_serv_tracker.hget('tracker:webhook:{}'.format(tracker_uuid)) + return r_serv_tracker.hget('tracker:{}'.format(tracker_uuid), 'webhook') def get_tracker_uuid_sources(tracker_uuid): return list(r_serv_tracker.smembers(f'tracker:sources:{tracker_uuid}')) diff --git a/bin/trackers/Tracker_Regex.py b/bin/trackers/Tracker_Regex.py index b499e909..78b7baba 100755 --- a/bin/trackers/Tracker_Regex.py +++ b/bin/trackers/Tracker_Regex.py @@ -12,6 +12,7 @@ import os import re import sys import time +import requests sys.path.append(os.environ['AIL_BIN']) ################################## @@ -92,7 +93,12 @@ class Tracker_Regex(AbstractModule): mail_body = Tracker_Regex.mail_body_template.format(tracker, item_id, self.full_item_url, item_id) for mail in mail_to_notify: NotificationHelper.sendEmailNotification(mail, mail_subject, mail_body) - + webhook_to_post = Term.get_term_webhook(tracker_uuid) + if webhook_to_post: + request_body = dict({"itemId": item_id, "url": self.full_item_url, "type": "REGEX"}) + r = requests.post(webhook_to_post, data=request_body) + if (r.status_code >= 400): + raise Exception(f"Webhook request failed for {webhook_to_post}\nReason: {r.reason}") if __name__ == "__main__": module = Tracker_Regex() diff --git a/bin/trackers/Tracker_Yara.py b/bin/trackers/Tracker_Yara.py index 5fcd6887..1e62021d 100755 --- a/bin/trackers/Tracker_Yara.py +++ b/bin/trackers/Tracker_Yara.py @@ -14,6 +14,7 @@ import re import sys import time import yara +import requests sys.path.append(os.environ['AIL_BIN']) ################################## @@ -95,7 +96,12 @@ class Tracker_Yara(AbstractModule): self.redis_logger.debug(f'Send Mail {mail_subject}') print(f'Send Mail {mail_subject}') NotificationHelper.sendEmailNotification(mail, mail_subject, mail_body) - + webhook_to_post = Term.get_term_webhook(tracker_uuid) + if webhook_to_post: + request_body = dict({"itemId": item_id, "url": self.full_item_url, "type": "YARA"}) + r = requests.post(webhook_to_post, data=request_body) + if (r.status_code >= 400): + raise Exception(f"Webhook request failed for {webhook_to_post}\nReason: {r.reason}") return yara.CALLBACK_CONTINUE