Exemple #1
0
    def parse_result(self, result):
        found_ips = re.search(
            "\\[\\*\\] IPs found: \\d*\\n-------------------\\n((.|\\n)*?)\\[\\*\\]",
            result,
        )
        found_domains = re.search(
            "\\[\\*\\] Hosts found: \\d*\\n---------------------\\n((.|\\n)*)\\n\\[\\*\\]",
            result,
        )

        if found_domains and found_domains.group(1):
            domains_ip = re.findall(
                "(.*):(\\b\\d{1,3}\\.\\d{1,3}\\.\\d{1,3}\\.\\d{1,3}\\b)?",
                found_domains.group(1),
            )
            if domains_ip:
                for d in domains_ip:
                    domain, ip = d
                    yield Domain(fqdn=domain, ip=ip)

        if found_ips and found_ips.group(1):
            ips = re.findall(
                "(\\b\\d{1,3}\\.\\d{1,3}\\.\\d{1,3}\\.\\d{1,3}\\b)",
                found_ips.group(1))
            if ips:
                for i in ips:
                    yield IPv4(address=i)
Exemple #2
0
    def parse_result(self, result):
        results = []
        found_domains = re.findall("(.*)\\[host\\] (.*) \\((.*)\\)", result)

        if not found_domains:
            return results
        for f in found_domains:
            _, domain, url = f
            results.append(Domain(fqdn=domain))
        return results
Exemple #3
0
    def parse_result(self, result):
        links = re.findall("LINK->(.*)\\n", result)
        scripts = re.findall("SCRIPT-> (.*)\\n", result)

        if links:
            for link in links:
                yield Domain(fqdn=link)
        if scripts:
            for script in scripts:
                yield File(filename=script.split("/")[-1],
                           url=script,
                           extension="js")
Exemple #4
0
    def parse_result(self, result):
        urls_file = re.search("\\[\\+\\] URL's Discovered:.*\\n(.*).txt", result)
        dynamic_urls_file = re.search(
            "\\[\\+\\] Dynamic URL's Discovered:.*\\n(.*).txt", result
        )
        form_urls_file = re.search(
            "\\[\\+\\] Form URL's Discovered:.*\\n(.*).txt", result
        )
        dynamic_parameters_file = re.search(
            "\\[\\+\\] Unique Dynamic Parameters Discovered:.*\\n(.*).txt", result
        )
        sub_domains_file = re.search(
            "\\[\\+\\] Sub-domains Discovered:.*\\n(.*).txt", result
        )
        emails_file = re.search("\\[\\+\\] Emails Discovered:.*\\n(.*).txt", result)
        phones_file = re.search("\\[\\+\\] Phones Discovered:.*\\n(.*).txt", result)
        uris = [urls_file, dynamic_urls_file, form_urls_file, dynamic_parameters_file]
        for uri_path in uris:
            yield from self.return_uri(uri_path)

        if sub_domains_file and sub_domains_file.group(1):
            for line in self.read_file_line_by_line(
                "{}.txt".format(sub_domains_file.group(1))
            ):
                yield Domain(address=line)

        if emails_file and emails_file.group(1):
            for line in self.read_file_line_by_line(
                "{}.txt".format(emails_file.group(1))
            ):
                yield Email(address=line)

        if phones_file and phones_file.group(1):
            for line in self.read_file_line_by_line(
                "{}.txt".format(phones_file.group(1))
            ):
                yield Phone(number=line)
Exemple #5
0
 def parse_result(self, result):
     found_domains = re.findall("\\[-\\] *(.*)", result)
     if found_domains:
         for f in found_domains:
             yield Domain(fqdn=f)
Exemple #6
0
 def parse_result(self, result):
     res = result.split("Total Unique Subdomains")[1]
     if res:
         domains = res.split("\n")
         for domain in domains[1:]:
             yield Domain(fqdn=domain[5:-4])
Exemple #7
0
 def parse_result(self, result):
     found_domains = re.findall("Found: (.*) \\[(.*)\\]\\n", result)
     if found_domains:
         for f in found_domains:
             domain, ip = f
             yield Domain(fqdn=domain, ip=ip)
Exemple #8
0
 def parse_result(self, result):
     found_domains = re.findall("Found: (.*) \\(Status:", result)
     if found_domains:
         for f in found_domains:
             yield Domain(fqdn=f)