def _extract_from_dns_dumpster(self): self.logger.info("{} Trying to extract subdomains from DNS dumpster".format(COLORED_COMBOS.NOTIFY)) try: page = HelpUtilities.query_dns_dumpster(host=self.host) soup = BeautifulSoup(page.text, "lxml") hosts_table = soup.select(".table")[0] for row in hosts_table.find_all("tr"): tds = row.select("td") sub_domain = tds[0].text.split('\n')[0] # Grab just the URL, truncate other information self.logger.info("{} Found subdomain in DNS dumpster: {}".format(COLORED_COMBOS.GOOD, sub_domain)) except (RaccoonException, IndexError): self.logger.info("{} Failed to query DNS dumpster for subdomains".format(COLORED_COMBOS.BAD))
def _extract_from_dns_dumpster(self): self.logger.info("{} Trying to extract subdomains from DNS dumpster".format(COLORED_COMBOS.NOTIFY)) try: page = HelpUtilities.query_dns_dumpster(host=self.host) soup = BeautifulSoup(page.text, "lxml") hosts_table = soup.select(".table")[-1] for row in hosts_table.find_all("tr"): tds = row.select("td") sub_domain = tds[0].text.split('\n')[0] # Grab just the URL, truncate other information self.logger.info("{} Found subdomain in DNS dumpster: {}".format(COLORED_COMBOS.GOOD, sub_domain)) self.sub_domains.add(sub_domain) except RaccoonException: self.logger.info("{} Failed to query DNS dumpster for subdomains".format(COLORED_COMBOS.BAD))
def generate_dns_dumpster_mapping(cls, host, sout_logger): sout_logger.info("{} Trying to generate DNS Mapping for {} from DNS dumpster".format( COLORED_COMBOS.INFO, host)) try: page = HelpUtilities.query_dns_dumpster(host=host) if page.status_code == 200: path = HelpUtilities.get_output_path("{}/dns_mapping.png".format(host.target)) with open(path, "wb") as target_image: target_image.write(page.content) sout_logger.info("{} Successfully fetched DNS mapping for {}".format( COLORED_COMBOS.GOOD, host.target) ) except RaccoonException: sout_logger.info("{} Failed to generate DNS mapping. A connection error occurred.".format( COLORED_COMBOS.BAD))
def generate_dns_dumpster_mapping(cls, host, sout_logger): sout_logger.info("{} Trying to fetch DNS Mapping for {} from DNS dumpster".format( COLORED_COMBOS.INFO, host)) try: page = HelpUtilities.query_dns_dumpster(host=host) if page.status_code == 200: path = HelpUtilities.get_output_path("{}/dns_mapping.png".format(host.target)) with open(path, "wb") as target_image: target_image.write(page.content) sout_logger.info("{} Successfully fetched DNS mapping for {}".format( COLORED_COMBOS.GOOD, host.target) ) except RaccoonException: sout_logger.info("{} Failed to generate DNS mapping. A connection error occurred.".format( COLORED_COMBOS.BAD))