2018-05-04 13:53:29 +02:00
|
|
|
#!/usr/bin/env python3
|
2016-08-08 09:17:44 +02:00
|
|
|
# -*-coding:UTF-8 -*
|
|
|
|
|
|
|
|
"""
|
|
|
|
The Browse_warning_paste module
|
|
|
|
====================
|
|
|
|
|
|
|
|
This module saved signaled paste (logged as 'warning') in redis for further usage
|
|
|
|
like browsing by category
|
|
|
|
|
|
|
|
Its input comes from other modules, namely:
|
|
|
|
Credential, CreditCard, SQLinjection, CVE, Keys, Mail and Phone
|
|
|
|
|
|
|
|
"""
|
|
|
|
|
|
|
|
import redis
|
|
|
|
import time
|
|
|
|
from datetime import datetime, timedelta
|
|
|
|
from packages import Paste
|
|
|
|
from pubsublogger import publisher
|
|
|
|
from Helper import Process
|
|
|
|
|
2017-11-16 11:18:13 +01:00
|
|
|
import sys
|
|
|
|
sys.path.append('../')
|
2018-06-14 16:51:06 +02:00
|
|
|
|
|
|
|
flag_misp = False
|
2017-11-16 09:52:37 +01:00
|
|
|
|
2016-08-08 09:17:44 +02:00
|
|
|
if __name__ == "__main__":
|
|
|
|
publisher.port = 6380
|
|
|
|
publisher.channel = "Script"
|
|
|
|
|
2017-11-15 16:15:43 +01:00
|
|
|
config_section = 'alertHandler'
|
2016-08-08 09:17:44 +02:00
|
|
|
|
|
|
|
p = Process(config_section)
|
|
|
|
|
2017-08-22 17:52:15 +02:00
|
|
|
# port generated automatically depending on the date
|
|
|
|
curYear = datetime.now().year
|
2016-08-08 09:17:44 +02:00
|
|
|
server = redis.StrictRedis(
|
2018-05-07 14:50:40 +02:00
|
|
|
host=p.config.get("ARDB_DB", "host"),
|
|
|
|
port=p.config.get("ARDB_DB", "port"),
|
|
|
|
db=curYear,
|
2018-05-04 13:53:29 +02:00
|
|
|
decode_responses=True)
|
2016-08-08 09:17:44 +02:00
|
|
|
|
|
|
|
# FUNCTIONS #
|
|
|
|
publisher.info("Script duplicate started")
|
|
|
|
|
|
|
|
while True:
|
|
|
|
message = p.get_from_set()
|
|
|
|
if message is not None:
|
|
|
|
module_name, p_path = message.split(';')
|
2018-04-16 14:50:04 +02:00
|
|
|
print("new alert : {}".format(module_name))
|
2016-08-08 09:17:44 +02:00
|
|
|
#PST = Paste.Paste(p_path)
|
|
|
|
else:
|
|
|
|
publisher.debug("Script Attribute is idling 10s")
|
|
|
|
time.sleep(10)
|
|
|
|
continue
|
|
|
|
|
2017-11-15 16:15:43 +01:00
|
|
|
# Add in redis for browseWarningPaste
|
2016-08-08 09:17:44 +02:00
|
|
|
# Format in set: WARNING_moduleName -> p_path
|
|
|
|
key = "WARNING_" + module_name
|
|
|
|
server.sadd(key, p_path)
|
|
|
|
|
2017-11-15 16:15:43 +01:00
|
|
|
publisher.info('Saved warning paste {}'.format(p_path))
|