MCPcopy Create free account
hub / github.com/adobe/Marinus / main

Function main

python3_cron_scripts/extract_ssl_names.py:226–352  ·  view source on GitHub ↗

Begin Main...

(logger=None)

Source from the content-addressed store, hash-verified

224
225
226def main(logger=None):
227 """
228 Begin Main...
229 """
230 if logger is None:
231 logger = LoggingUtil.create_log(__name__)
232
233 now = datetime.now()
234 print("Starting: " + str(now))
235 logger.info("Starting...")
236
237 mongo_connector = MongoConnector.MongoConnector()
238 dns_manager = DNSManager.DNSManager(mongo_connector)
239 google_dns = GoogleDNS.GoogleDNS()
240 jobs_manager = JobsManager.JobsManager(mongo_connector, "extract_ssl_domains")
241 jobs_manager.record_job_start()
242
243 parser = argparse.ArgumentParser(
244 description="Search TLS certificates for additional DNS names"
245 )
246 parser.add_argument(
247 "--zgrab_version",
248 default=2,
249 type=int,
250 choices=[1, 2],
251 metavar="version",
252 help="The version of ZGrab used to collect data",
253 )
254 args = parser.parse_args()
255
256 dns_names = []
257 round_two = []
258
259 zones = ZoneManager.get_distinct_zones(mongo_connector)
260
261 # Collect the list of domains from the SSL Certificates
262 extract_ct_certificate_names(dns_names, mongo_connector)
263
264 # Retired
265 # extract_censys_certificate_names(dns_names, mongo_connector)
266
267 if args.zgrab_version == 1:
268 extract_zgrab_certificate_names(logger, dns_names, mongo_connector)
269 else:
270 extract_zgrab2_certificate_names(logger, dns_names, mongo_connector)
271
272 input_list = []
273
274 # Some SSL certificates are for multiple domains.
275 # The tracked company may not own all domains.
276 # Therefore, we filter to only the root domains that belong to the tracked company.
277 logger.info("Pre-filter list: " + str(len(dns_names)))
278 for hostname in dns_names:
279 if not hostname.startswith("*"):
280 zone = get_tracked_zone(hostname, zones)
281 if zone != None:
282 ips = google_dns.fetch_DNS_records(hostname)
283

Callers 1

Calls 15

record_job_startMethod · 0.95
fetch_DNS_recordsMethod · 0.95
find_oneMethod · 0.95
remove_by_sourceMethod · 0.95
insert_recordMethod · 0.95
record_job_completeMethod · 0.95
create_logMethod · 0.80
get_distinct_zonesMethod · 0.80

Tested by

no test coverage detected