def __init__(self, db): self.db = db self.BaseDomain = BaseDomainRepository(db, self.name) self.Domain = DomainRepository(db, self.name) self.IPAddress = IPRepository(db, self.name) self.CIDR = CIDRRepository(db, self.name) self.ScopeCIDR = ScopeCIDRRepository(db, self.name)
def __init__(self, db): self.db = db self.BaseDomain = BaseDomainRepository(db, self.name) self.Domain = DomainRepository(db, self.name) self.IPAddress = IPRepository(db, self.name) self.Port = PortRepository(db, self.name) self.Vulnerability = VulnRepository(db, self.name) self.CVE = CVERepository(db, self.name)
def __init__(self, db): self.db = db self.IPAddress = IPRepository(db, self.name)
def __init__(self, db): self.db = db self.IPAddress = IPRepository(db, self.name) self.Domain = DomainRepository(db, self.name) self.Port = PortRepository(db, self.name) self.Url = UrlRepository(db, self.name)
def run(hosts, db, proto="tcp", svc="ssl", lookup_domains=False): IPAddress = IPRepository(db) Domain = DomainRepository(db) ips = {} for h in hosts: if h.count(":") == 2: host, port, svc = h.split(":") else: host, port = h.split(":") try: int(host.replace(".", "")) if not ips.get(host, False): ips[host] = {"domains": [], "ports": []} if (port, svc) not in ips[host]["ports"]: ips[host]["ports"].append((port, svc)) except: domains = Domain.all(domain=host) if domains: domain = domains[0] for ip in domain.ip_addresses: if not ips.get(ip.ip_address, False): ips[ip.ip_address] = {"domains": [], "ports": []} if host not in ips[ip.ip_address]["domains"]: ips[ip.ip_address]["domains"].append(host) if (port, svc) not in ips[ip.ip_address]["ports"]: ips[ip.ip_address]["ports"].append((port, svc)) else: # domain is not in the database. domain_ips = get_ip(host) for ip in domain_ips: ips[ip] = {"domains": [host], "ports": []} results = [] if lookup_domains: for ip in sorted(ips.keys()): # print("Checking %s" % ip) try: ip_obj = IPAddress.all(ip_address=ip)[0] domains = [d.domain for d in ip_obj.domains] if domains: results.append("%s / %s: %s" % ( ip, ", ".join(sorted(domains)), ", ".join([ "%s/%s/%s" % (proto, p, svc) for p, svc in sorted(ips[ip]["ports"]) ]), )) else: results.append("%s / No Hostname Registered: %s" % ( ip, ", ".join([ "%s/%s/%s" % (proto, p, svc) for p, svc in sorted(ips[ip]["ports"]) ]), )) except: if ips[ip]["domains"]: results.append("%s / %s: %s" % ( ip, ", ".join(sorted(ips[ip]["domains"])), ", ".join([ "%s/%s/%s" % (proto, p, svc) for p, svc in sorted(ips[ip]["ports"]) ]), )) else: results.append("%s / No Hostname Registered: %s" % ( ip, ", ".join([ "%s/%s/%s" % (proto, p, svc) for p, svc in sorted(ips[ip]["ports"]) ]), )) else: for ip in sorted(ips.keys()): if ips[ip]["domains"]: results.append("%s / %s: %s" % ( ip, ", ".join(sorted(ips[ip]["domains"])), ", ".join([ "%s/%s/%s" % (proto, p, svc) for p, svc in sorted(ips[ip]["ports"]) ]), )) else: results.append("%s / No Hostname Registered: %s" % ( ip, ", ".join([ "%s/%s/%s" % (proto, p, svc) for p, svc in sorted(ips[ip]["ports"]) ]), )) return results
def __init__(self, db): self.db = db self.Port = PortRepository(db, self.name) self.IPAddress = IPRepository(db, self.name) self.ScopeCidr = ScopeCIDRRepository(db, self.name)
def __init__(self, db): self.IPAddress = IPRepository(db) self.Domains = DomainRepository(db) self.BaseDomains = BaseDomainRepository(db) self.CIDRs = CIDRRepository(db)
def __init__(self, db): self.Domain = DomainRepository(db) self.IPAddress = IPRepository(db) self.CIDR = CIDRRepository(db)
#!/usr/bin/python from armory import initialize_database from armory import get_config_options from database.repositories import BaseDomainRepository, DomainRepository, IPRepository, CIDRRepository, UserRepository, CredRepository, VulnRepository, PortRepository, UrlRepository, ScopeCIDRRepository config = get_config_options() db = initialize_database(config) Domains = DomainRepository(db, "Shell Client") BaseDomains = BaseDomainRepository(db, "Shell Client") IPAddresses = IPRepository(db, "Shell Client") CIDRs = CIDRRepository(db, "Shell Client") Users = UserRepository(db, "Shell Client") Creds = CredRepository(db, "Shell Client") Vulns = VulnRepository(db, "Shell Client") Ports = PortRepository(db, "Shell Client") Urls = UrlRepository(db, "Shell Client") ScopeCIDRs = ScopeCIDRRepository(db, "Shell Client") print("Make sure to use this script with ipython and -i") print(" ipython -i shell.py") print("Available database modules: Domains, BaseDomains, IPAddresses,") print(" CIDRs, Users, Creds, Vulns, Services, Ports, Urls, ScopeCIDRs")
def __init__(self, db): self.db = db self.BaseDomains = BaseDomainRepository(db, self.name) self.Domains = DomainRepository(db, self.name) self.IPs = IPRepository(db, self.name)