Skip to content
Open
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
23 changes: 13 additions & 10 deletions plugins/censys/plugin.py
Original file line number Diff line number Diff line change
@@ -1,24 +1,27 @@
from censys.search import CensysCertificates
from censys.search import CensysCerts
from core.env import SIGINT_handler
import signal
from core.logger import Output

NAME = 'censys'
ARG_HELP = 'censys subdomain certificates'
NAME = 'censys'
ARG_HELP = 'censys subdomain certificates'

handler = SIGINT_handler()
signal.signal(signal.SIGINT, handler.signal_handler)


class CENSYSError(Exception):
"""Base class for censys exceptions"""
pass
"""Base class for censys exceptions"""
pass


def execute(domain, config, **kwargs):
if handler.SIGINT:
Output().warn("Aborted plugin: %s" % NAME, False)
return None
try:
c = CensysCertificates(api_id=config['uid'], api_secret=config['secret'])
c = CensysCertificates(
api_id=config['uid'], api_secret=config['secret'])
fields = [
"parsed.names",
"parsed.subject.common_name",
Expand All @@ -27,15 +30,15 @@ def execute(domain, config, **kwargs):
results = []
for page in c.search(domain, fields, max_records=config['max_records']):
results.append(page)
#Flatten json to array
# Flatten json to array
list = []
for x in results:
if x.get('parsed.namesn'):
list += (x.get('parsed.names'))

if x.get('parsed.subject.common_name'):
list += x.get('parsed.subject.common_name')

if x.get('parsed.extensions.subject_alt_name.dns_names'):
list += x.get('parsed.extensions.subject_alt_name.dns_names')

Expand All @@ -45,5 +48,5 @@ def execute(domain, config, **kwargs):
subdomains = sorted(set(subdomains))
return subdomains
except Exception as E:
print (E)
print(E)
raise