From 4c6f41520364dd2c8d429f39834672f07d9fff83 Mon Sep 17 00:00:00 2001 From: OSINT-TECHNOLOGIES <77023667+OSINT-TECHNOLOGIES@users.noreply.github.com> Date: Tue, 17 Dec 2024 12:25:29 +0300 Subject: [PATCH 01/29] Changed version to rolling --- service/cli_init.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/service/cli_init.py b/service/cli_init.py index e7ed8c2..fce361b 100644 --- a/service/cli_init.py +++ b/service/cli_init.py @@ -20,7 +20,7 @@ def welcome_menu(self): fig = Figlet(font=wm_font) print('\n') self.console.print(fig.renderText('DPULSE'), style=preview_style) - print(Fore.MAGENTA + Style.BRIGHT + '[DPULSE-CLI] - [v1.1.5 stable] - [OSINT-TECHNOLOGIES]\n' + Style.RESET_ALL) + print(Fore.MAGENTA + Style.BRIGHT + '[DPULSE-CLI] - [v1.1.6 rolling] - [OSINT-TECHNOLOGIES]\n' + Style.RESET_ALL) print(Fore.MAGENTA + Style.BRIGHT + 'Visit our pages:\nhttps://github.com/OSINT-TECHNOLOGIES\nhttps://pypi.org/project/dpulse/' + Style.RESET_ALL) def print_main_menu(self): From 3347e936260de271d150f86b9b3e3590fdac4a56 Mon Sep 17 00:00:00 2001 From: OSINT-TECHNOLOGIES <77023667+OSINT-TECHNOLOGIES@users.noreply.github.com> Date: Wed, 18 Dec 2024 01:53:37 +0300 Subject: [PATCH 02/29] Changed XLSX report content according to basic HTML report content --- reporting_modules/xlsx_report_creation.py | 207 +++++++++++----------- 1 file changed, 102 insertions(+), 105 deletions(-) diff --git a/reporting_modules/xlsx_report_creation.py b/reporting_modules/xlsx_report_creation.py index 1e8895d..c6112ad 100644 --- a/reporting_modules/xlsx_report_creation.py +++ b/reporting_modules/xlsx_report_creation.py @@ -87,10 +87,9 @@ def create_report(short_domain, url, case_comment, data_array, report_info_array "WHOIS", "SOCIAL MEDIAS", "SUBDOMAINS", - "DNS SCAN", - "SSL CERTIFICATE", - "INTERNETDB SEARCH", - "WEBSITE TECHNOLOGIES", + "DNS & SSL", + "WEB INFO", + "PRE-PENTEST INFO", "DORKING RESULTS" ] sheet = wb.active @@ -100,60 +99,65 @@ def create_report(short_domain, url, case_comment, data_array, report_info_array bold_font = Font(bold=True) ws = wb['GENERAL INFO'] - if pagesearch_keyword == 'n': - for col in ['1', '2', '3', '4', '5', '6', '7', '8', '9']: - cell = f"A{col}" - ws[cell].font = bold_font - elif pagesearch_keyword == 'y': - for col in ['1', '2', '3', '4', '5', '6', '7', '8', '9', '10', '11', '12', '13', '14', '15', '16']: - cell = f"A{col}" - ws[cell].font = bold_font - elif pagesearch_keyword == 'si': - for col in ['1', '2', '3', '4', '5', '6', '7', '8', '9', '10', '11']: - cell = f"A{col}" - ws[cell].font = bold_font - ws.column_dimensions['A'].width = 45 + for col in ['1', '2', '3', '4', '5', '6', '7', '8', '9']: + cell = f"A{col}" + ws[cell].font = bold_font + # if pagesearch_keyword == 'n': + # for col in ['1', '2', '3', '4', '5', '6', '7', '8', '9']: + # cell = f"A{col}" + # ws[cell].font = bold_font + # elif pagesearch_keyword == 'y': + # for col in ['1', '2', '3', '4', '5', '6', '7', '8', '9', '10', '11', '12', '13', '14', '15', '16']: + # cell = f"A{col}" + # ws[cell].font = bold_font + # elif pagesearch_keyword == 'si': + # for col in ['1', '2', '3', '4', '5', '6', '7', '8', '9', '10', '11']: + # cell = f"A{col}" + # ws[cell].font = bold_font + ws.column_dimensions['A'].width = 60 ws.column_dimensions['B'].width = 60 - ws['A1'] = 'SUBDOMAINS FOUND' - ws['A2'] = 'SOCIAL MEDIAS FOUND' - ws['A3'] = 'ROBOTS EXTRACTED?' - ws['A4'] = 'SITEMAP.XML EXTRACTED?' - ws['A5'] = 'SITEMAP.XML LINKS EXTRACTED?' - ws['A6'] = 'DORKING STATUS' - ws['A7'] = 'PAGESEARCH STATUS' - ws['A8'] = 'REPORT CREATION TIME' - if pagesearch_keyword == 'y': - ws['A9'] = 'TOTAL SUBDOMAINS CHECKED' - ws['A10'] = 'AMOUNT OF ACCESSIBLE SUBDOMAINS' - ws['A11'] = 'AMOUNT OF ADDITIONAL EMAILS FOUND' - ws['A12'] = 'AMOUNT OF EXTRACTED FILES' - ws['A13'] = 'FOUND COOKIES WITH VALUES' - ws['A14'] = 'FOUND API VALUES' - ws['A15'] = 'FOUND DIFFERENT WEB PAGE ELEMENTS' - ws['A16'] = 'FOUND EXPOSED PASSWORDS' - ws['B9'] = subdomains_amount - ws['B10'] = accessible_subdomains - ws['B11'] = emails_amount - ws['B12'] = files_counter - ws['B13'] = cookies_counter - ws['B14'] = api_keys_counter - ws['B15'] = website_elements_counter - ws['B16'] = exposed_passwords_counter - elif pagesearch_keyword == 'si': - ws['A9'] = 'TOTAL LINKS CHECKED' - ws['A10'] = 'AMOUNT OF ACCESSIBLE LINKS' - ws['A11'] = 'AMOUNT OF ADDITIONAL EMAILS FOUND' - ws['B9'] = total_links_counter - ws['B10'] = accessed_links_counter - ws['B11'] = emails_amount - ws['B1'] = subdomains_amount - ws['B2'] = total_socials - ws['B3'] = robots_txt_result - ws['B4'] = sitemap_xml_result - ws['B5'] = sitemap_links_status - ws['B6'] = dorking_status - ws['B7'] = pagesearch_ui_mark - ws['B8'] = report_ctime + ws['A1'] = 'TARGET DOMAIN' + ws['A2'] = 'TOTAL SUBDOMAINS FOUND' + ws['A3'] = 'TOTAL SOCIAL MEDIAS LINKS FOUND' + ws['A4'] = 'STATUS OF ROBOTS.TXT EXTRACTION' + ws['A5'] = 'STATUS OF SITEMAP.XML EXTRACTION' + ws['A6'] = 'STATUS OF SITEMAP.XML LINKS EXTRACTION' + ws['A7'] = 'GOOGLE DORKING STATUS' + ws['A8'] = 'PAGESEARCH CONDUCTION' + ws['A9'] = 'REPORT CREATION TIME' + # if pagesearch_keyword == 'y': + # ws['A9'] = 'TOTAL SUBDOMAINS CHECKED' + # ws['A10'] = 'AMOUNT OF ACCESSIBLE SUBDOMAINS' + # ws['A11'] = 'AMOUNT OF ADDITIONAL EMAILS FOUND' + # ws['A12'] = 'AMOUNT OF EXTRACTED FILES' + # ws['A13'] = 'FOUND COOKIES WITH VALUES' + # ws['A14'] = 'FOUND API VALUES' + # ws['A15'] = 'FOUND DIFFERENT WEB PAGE ELEMENTS' + # ws['A16'] = 'FOUND EXPOSED PASSWORDS' + # ws['B9'] = subdomains_amount + # ws['B10'] = accessible_subdomains + # ws['B11'] = emails_amount + # ws['B12'] = files_counter + # ws['B13'] = cookies_counter + # ws['B14'] = api_keys_counter + # ws['B15'] = website_elements_counter + # ws['B16'] = exposed_passwords_counter + # elif pagesearch_keyword == 'si': + # ws['A9'] = 'TOTAL LINKS CHECKED' + # ws['A10'] = 'AMOUNT OF ACCESSIBLE LINKS' + # ws['A11'] = 'AMOUNT OF ADDITIONAL EMAILS FOUND' + # ws['B9'] = total_links_counter + # ws['B10'] = accessed_links_counter + # ws['B11'] = emails_amount + ws['B1'] = short_domain + ws['B2'] = subdomains_amount + ws['B3'] = total_socials + ws['B4'] = robots_txt_result + ws['B5'] = sitemap_xml_result + ws['B6'] = sitemap_links_status + ws['B7'] = dorking_status + ws['B8'] = pagesearch_ui_mark + ws['B9'] = report_ctime ws = wb['WHOIS'] for col in ['1', '2', '3', '4', '5', '6', '7', '8']: @@ -226,7 +230,7 @@ def create_report(short_domain, url, case_comment, data_array, report_info_array ws[f"J{i + 2}"] = wc_links[i] ws = wb['SUBDOMAINS'] - ws['A1'] = 'FOUNDED SUBDOMAINS' + ws['A1'] = 'FOUND SUBDOMAINS' ws['B1'] = 'SUBDOMAIN IP ADDRESSES (NOT CORRELATED)' ws['C1'] = 'SUBDOMAIN EMAILS (NOT CORRELATED)' for col in ['A', 'B', 'C']: @@ -245,73 +249,66 @@ def create_report(short_domain, url, case_comment, data_array, report_info_array logging.error(f'ERROR WHEN WRITING INFORMATION IN XLSX REPORT. REASON: {e}') pass - ws = wb['DNS SCAN'] - ws['A1'] = 'NAME SERVERS' - ws['A2'] = 'MX ADDRESSES' - for col in ['1', '2']: + ws = wb['DNS & SSL'] + for col in ['1', '2', '3', '4', '5', '6', '7', '8']: cell = f"A{col}" ws[cell].font = bold_font - ws.column_dimensions['A'].width = 45 + ws.column_dimensions['A'].width = 60 ws.column_dimensions['B'].width = 60 + ws['A1'] = '(DNS) NAME SERVERS' + ws['A2'] = '(DNS) MX ADDRESSES' + ws['A3'] = '(SSL) ISSUER' + ws['A4'] = '(SSL) SUBJECT' + ws['A5'] = '(SSL) NOT BEFORE' + ws['A6'] = '(SSL) NOT AFTER' + ws['A7'] = '(SSL) CERTIFICATE NAME' + ws['A8'] = '(SSL) CERTIFICATE SERIAL NUMBER' ws['B1'] = ', '.join(res['name_servers']) ws['B2'] = mx_records + ws['B3'] = issuer + ws['B4'] = subject + ws['B5'] = notBefore + ws['B6'] = notAfter + ws['B7'] = commonName + ws['B8'] = serialNumber - ws = wb['SSL CERTIFICATE'] - ws['A1'] = 'ISSUER' - ws['A2'] = 'SUBJECT' - ws['A3'] = 'NOT BEFORE' - ws['A4'] = 'NOT AFTER' - ws['A5'] = 'CERTIFICATE NAME' - ws['A6'] = 'CERTIFICATE SERIAL NUMBER' - for col in ['1', '2', '3', '4', '5', '6']: - cell = f"A{col}" - ws[cell].font = bold_font - ws.column_dimensions['A'].width = 45 - ws.column_dimensions['B'].width = 60 - ws['B1'] = issuer - ws['B2'] = subject - ws['B3'] = notBefore - ws['B4'] = notAfter - ws['B5'] = commonName - ws['B6'] = serialNumber - - ws = wb['INTERNETDB SEARCH'] - ws['A1'] = 'OPEN PORTS' - ws['A2'] = 'HOSTNAMES' - ws['A3'] = 'TAGS' - ws['A4'] = 'CPEs' - ws['I1'] = 'POTENTIAL VULNERABILITIES' - for col in ['1', '2', '3', '4']: + ws = wb['WEB INFO'] + for col in ['1', '2', '3', '4', '5', '6', '7', '8']: cell = f"A{col}" ws[cell].font = bold_font - ws['I1'].font = bold_font - ws.column_dimensions['A'].width = 45 - ws.column_dimensions['B'].width = 60 - ws['B1'] = ', '.join(str(item) for item in ports) - ws['B2'] = ', '.join(str(item) for item in hostnames) - ws['B3'] = ', '.join(str(item) for item in tags) - ws['B4'] = ', '.join(str(item) for item in cpes) - for i in range(len(vulns)): - ws[f"I{i + 2}"] = str(vulns[i]) - - ws = wb['WEBSITE TECHNOLOGIES'] ws['A1'] = 'WEB SERVERS' ws['A2'] = 'CMS' ws['A3'] = 'USED PROGRAMMING LANGUAGES' ws['A4'] = 'USED WEB FRAMEWORKS' ws['A5'] = 'ANALYTICS SERVICE' ws['A6'] = 'USED JAVASCRIPT FRAMEWORKS' - for col in ['1', '2', '3', '4', '5', '6']: - cell = f"A{col}" - ws[cell].font = bold_font - ws.column_dimensions['A'].width = 45 - ws.column_dimensions['B'].width = 60 + ws['A7'] = 'TAGS' + ws['A8'] = 'CPEs' ws['B1'] = ', '.join(web_servers) ws['B2'] = ', '.join(cms) ws['B3'] = ', '.join(programming_languages) ws['B4'] = ', '.join(web_frameworks) ws['B5'] = ', '.join(analytics) ws['B6'] = ', '.join(javascript_frameworks) + ws['B7'] = ', '.join(str(item) for item in tags) + ws['B8'] = ', '.join(str(item) for item in cpes) + + ws = wb['PRE-PENTEST INFO'] + ws['A1'] = 'OPEN PORTS' + ws['A2'] = 'HOSTNAMES' + ws['F1'] = 'POTENTIAL VULNERABILITIES' + for col in ['1', '2']: + cell = f"A{col}" + ws[cell].font = bold_font + ws['F1'].font = bold_font + ws.column_dimensions['A'].width = 45 + ws.column_dimensions['B'].width = 60 + ws['B1'] = ', '.join(str(item) for item in ports) + ws['B2'] = ', '.join(str(item) for item in hostnames) + # ws['B3'] = ', '.join(str(item) for item in tags) + # ws['B4'] = ', '.join(str(item) for item in cpes) + for i in range(len(vulns)): + ws[f"F{i + 2}"] = str(vulns[i]) ws = wb['DORKING RESULTS'] ws.column_dimensions['A'].width = 80 From 5e6971bee5f7ebd1bd734d1e76f5757aec3a7809 Mon Sep 17 00:00:00 2001 From: OSINT-TECHNOLOGIES <77023667+OSINT-TECHNOLOGIES@users.noreply.github.com> Date: Wed, 18 Dec 2024 02:08:33 +0300 Subject: [PATCH 03/29] Added extended paragraphs from HTML report Added PageSearch reporting support --- reporting_modules/xlsx_report_creation.py | 27 ++++++++++++++++++++++- 1 file changed, 26 insertions(+), 1 deletion(-) diff --git a/reporting_modules/xlsx_report_creation.py b/reporting_modules/xlsx_report_creation.py index c6112ad..2fc061e 100644 --- a/reporting_modules/xlsx_report_creation.py +++ b/reporting_modules/xlsx_report_creation.py @@ -90,7 +90,11 @@ def create_report(short_domain, url, case_comment, data_array, report_info_array "DNS & SSL", "WEB INFO", "PRE-PENTEST INFO", - "DORKING RESULTS" + "DORKING RESULTS", + "PAGESEARCH", + "PAGESEARCH (SI)", + "VIRUSTOTAL API", + "SECURITYTRAILS API" ] sheet = wb.active sheet.title = sheet_names[0] @@ -315,6 +319,27 @@ def create_report(short_domain, url, case_comment, data_array, report_info_array for i in range(len(dorking_results)): ws[f"A{i + 1}"] = str(dorking_results[i]) + ws = wb['PAGESEARCH'] + for col in ['1', '2', '3', '4', '5', '6', '7']: + cell = f"A{col}" + ws[cell].font = bold_font + ws.column_dimensions['A'].width = 45 + ws.column_dimensions['B'].width = 60 + ws['A1'] = 'ACCESSIBLE SUBDOMAINS' + ws['A2'] = 'ADDITIONAL EMAILS FOUND' + ws['A3'] = 'FOUND DOCUMENTS' + ws['A4'] = 'FOUND COOKIES' + ws['A5'] = 'FOUND API KEYS' + ws['A6'] = 'WEB ELEMENTS FOUND' + ws['A7'] = 'FOUND EXPOSED PASSWORDS' + ws['B1'] = accessible_subdomains + ws['B2'] = emails_amount + ws['B3'] = files_counter + ws['B4'] = cookies_counter + ws['B5'] = api_keys_counter + ws['B6'] = website_elements_counter + ws['B7'] = exposed_passwords_counter + report_file = report_folder + "//" + casename wb.save(report_file) print(Fore.GREEN + "XLSX report for {} case was created at {}".format(''.join(short_domain), report_ctime) + Style.RESET_ALL) From a62ed2af646840a2d64ec3c34fcfeab3225afb66 Mon Sep 17 00:00:00 2001 From: OSINT-TECHNOLOGIES <77023667+OSINT-TECHNOLOGIES@users.noreply.github.com> Date: Fri, 20 Dec 2024 21:10:30 +0300 Subject: [PATCH 04/29] Unified data_array content both for XLSX and HTML reports --- datagather_modules/data_assembler.py | 16 ++++++++++++++-- 1 file changed, 14 insertions(+), 2 deletions(-) diff --git a/datagather_modules/data_assembler.py b/datagather_modules/data_assembler.py index ccfd49f..87dbce5 100644 --- a/datagather_modules/data_assembler.py +++ b/datagather_modules/data_assembler.py @@ -160,14 +160,26 @@ def data_gathering(self, short_domain, url, report_file_type, pagesearch_flag, k api_scan_db.append('No') pass + #data_array = [ip, res, mails, subdomains, subdomains_amount, social_medias, subdomain_mails, sd_socials, + # subdomain_ip, issuer, subject, notBefore, notAfter, commonName, serialNumber, mx_records, + # robots_txt_result, sitemap_xml_result, sitemap_links_status, + # web_servers, cms, programming_languages, web_frameworks, analytics, javascript_frameworks, ports, + # hostnames, cpes, tags, vulns, common_socials, total_socials, ps_emails_return, + # accessible_subdomains, emails_amount, files_counter, cookies_counter, api_keys_counter, + # website_elements_counter, exposed_passwords_counter, total_links_counter, accessed_links_counter, dorking_status, dorking_results, vt_cats, + # vt_deturls, vt_detsamples, vt_undetsamples] + + cleaned_dorking = [item.strip() for item in dorking_results if item.strip()] + #print(cleaned_dorking) + data_array = [ip, res, mails, subdomains, subdomains_amount, social_medias, subdomain_mails, sd_socials, subdomain_ip, issuer, subject, notBefore, notAfter, commonName, serialNumber, mx_records, robots_txt_result, sitemap_xml_result, sitemap_links_status, web_servers, cms, programming_languages, web_frameworks, analytics, javascript_frameworks, ports, hostnames, cpes, tags, vulns, common_socials, total_socials, ps_emails_return, accessible_subdomains, emails_amount, files_counter, cookies_counter, api_keys_counter, - website_elements_counter, exposed_passwords_counter, total_links_counter, accessed_links_counter, dorking_status, dorking_results, vt_cats, - vt_deturls, vt_detsamples, vt_undetsamples] + website_elements_counter, exposed_passwords_counter, total_links_counter, accessed_links_counter, cleaned_dorking, + vt_cats, vt_deturls, vt_detsamples, vt_undetsamples, st_alexa, st_apex, st_hostname, st_alivesds, st_txt, a_records_list, mx_records_list, ns_records_list, soa_records_list] elif report_file_type == 'html': if pagesearch_flag.lower() == 'y': From 4f2d4cbca05f72d39e7bee6b331730af0252e788 Mon Sep 17 00:00:00 2001 From: OSINT-TECHNOLOGIES <77023667+OSINT-TECHNOLOGIES@users.noreply.github.com> Date: Fri, 20 Dec 2024 21:12:55 +0300 Subject: [PATCH 05/29] Added extended report paragraphs from HTML report --- reporting_modules/xlsx_report_creation.py | 128 +++++++++++++++++++++- 1 file changed, 122 insertions(+), 6 deletions(-) diff --git a/reporting_modules/xlsx_report_creation.py b/reporting_modules/xlsx_report_creation.py index 2fc061e..c4b6d13 100644 --- a/reporting_modules/xlsx_report_creation.py +++ b/reporting_modules/xlsx_report_creation.py @@ -13,6 +13,7 @@ from openpyxl.styles import Font from colorama import Fore, Style import sqlite3 + from urllib.parse import unquote except ImportError as e: print(Fore.RED + "Import error appeared. Reason: {}".format(e) + Style.RESET_ALL) sys.exit() @@ -60,15 +61,65 @@ def create_report(short_domain, url, case_comment, data_array, report_info_array total_links_counter = data_array[40] accessed_links_counter = data_array[41] #keywords_messages_list = data_array[42] - dorking_results = data_array[43] + cleaned_dorking = data_array[42] + vt_cats = data_array[43] + vt_deturls = data_array[44] + vt_detsamples = data_array[45] + vt_undetsamples = data_array[46] + st_alexa = data_array[47] + st_apex = data_array[48] + st_hostname = data_array[49] + st_alivesds = data_array[50] + st_txt = data_array[51] + a_records_list = data_array[52] + mx_records_list = data_array[53] + ns_records_list = data_array[54] + soa_records_list = data_array[55] + casename = report_info_array[0] db_casename = report_info_array[1] db_creation_date = report_info_array[2] report_folder = report_info_array[3] report_ctime = report_info_array[6] api_scan_db = report_info_array[7] + used_api_flag = report_info_array[8] os.makedirs(report_folder, exist_ok=True) + if 2 in used_api_flag: + st_a_combined = [] + if len(a_records_list) > 0: + if len(a_records_list) == 1: + record = a_records_list[0] + st_a_combined = [f"IPv4 address: {record.get('ip', '')}, owned by {record.get('organization', '')}"] + else: + st_a_combined = [f"IPv4 address: {record.get('ip', '')}, owned by {record.get('organization', '')}" for record in a_records_list] + + st_mx_combined = [] + if len(mx_records_list) > 0: + if len(mx_records_list) == 1: + record = mx_records_list[0] + st_mx_combined = [f"Hostname {record.get('mx_hostname', '')} with priority={record.get('mx_priority', '')}, owned by {record.get('mx_organization', '')}"] + else: + st_mx_combined = [f"Hostname {record.get('mx_hostname', '')} with priority={record.get('mx_priority', '')}, owned by {record.get('mx_organization', '')}" for record in mx_records_list] + + st_ns_combined = [] + if len(ns_records_list) > 0: + if len(ns_records_list) == 1: + record = ns_records_list[0] + st_ns_combined = [f"Nameserver: {record.get('ns_nameserver', '')}, owned by {record.get('ns_organization', '')}"] + else: + st_ns_combined = [f"Nameserver: {record.get('ns_nameserver', '')}, owned by {record.get('ns_organization', '')}" for record in ns_records_list] + + st_soa_combined = [] + if len(soa_records_list) > 0: + if len(soa_records_list) == 1: + record = soa_records_list[0] + st_soa_combined = [f"Email: {record.get('soa_email', '')}, TTL={record.get('soa_ttl', '')}"] + else: + st_soa_combined = [f"Email: {record.get('soa_email', '')}, TTL={record.get('soa_ttl', '')}" for record in soa_records_list] + else: + st_soa_combined = st_ns_combined = st_mx_combined = st_a_combined = st_txt = st_alivesds = ['No results because user did not selected SecurityTrails API scan'] + if len(ps_emails_return) > 0: subdomain_mails += ps_emails_return subdomain_mails = list(set(subdomain_mails)) @@ -159,7 +210,7 @@ def create_report(short_domain, url, case_comment, data_array, report_info_array ws['B4'] = robots_txt_result ws['B5'] = sitemap_xml_result ws['B6'] = sitemap_links_status - ws['B7'] = dorking_status + #ws['B7'] = dorking_status ws['B8'] = pagesearch_ui_mark ws['B9'] = report_ctime @@ -314,10 +365,10 @@ def create_report(short_domain, url, case_comment, data_array, report_info_array for i in range(len(vulns)): ws[f"F{i + 2}"] = str(vulns[i]) - ws = wb['DORKING RESULTS'] - ws.column_dimensions['A'].width = 80 - for i in range(len(dorking_results)): - ws[f"A{i + 1}"] = str(dorking_results[i]) + # ws = wb['DORKING RESULTS'] + # ws.column_dimensions['A'].width = 80 + # for i, item in enumerate(cleaned_dorking, start=2): + # ws[f"A{i}"] = str(item) ws = wb['PAGESEARCH'] for col in ['1', '2', '3', '4', '5', '6', '7']: @@ -340,6 +391,71 @@ def create_report(short_domain, url, case_comment, data_array, report_info_array ws['B6'] = website_elements_counter ws['B7'] = exposed_passwords_counter + ws = wb['PAGESEARCH (SI)'] + for col in ['1', '2']: + cell = f"A{col}" + ws[cell].font = bold_font + ws.column_dimensions['A'].width = 45 + ws.column_dimensions['B'].width = 60 + ws['A1'] = 'TOTAL LINKS AMOUNT' + ws['A2'] = 'AMOUNT OF ACCESSED LINKS' + ws['B1'] = total_links_counter + ws['B2'] = accessed_links_counter + + ws = wb['VIRUSTOTAL API'] + for col in ['1', '2', '3', '4']: + cell = f"A{col}" + ws[cell].font = bold_font + ws.column_dimensions['A'].width = 45 + ws.column_dimensions['B'].width = 60 + ws['A1'] = 'CATEGORIES' + ws['A2'] = 'DETECTED URLS' + ws['A3'] = 'DETECTED SAMPLES' + ws['A4'] = 'UNDETECTED SAMPLES' + ws['B1'] = vt_cats + ws['B2'] = vt_deturls + ws['B3'] = vt_detsamples + ws['B4'] = vt_undetsamples + + ws = wb['SECURITYTRAILS API'] + for col in ['1', '2', '3']: + cell = f"A{col}" + ws[cell].font = bold_font + ws.column_dimensions['A'].width = 45 + ws.column_dimensions['B'].width = 60 + ws['A1'] = 'ALEXA RANK' + ws['A2'] = 'APEX DOMAIN' + ws['A3'] = 'HOSTNAME' + ws['E1'] = 'A RECORDS' + ws['F1'] = 'MX RECORDS' + ws['G1'] = 'NS RECORDS' + ws['H1'] = 'SOA RECORDS' + ws['I1'] = 'TXT RECORDS' + ws['J1'] = 'SUBDOMAINS LIST' + ws['E1'].font = ws['F1'].font = ws['G1'].font = ws['H1'].font = ws['I1'].font = ws['J1'].font = bold_font + ws['B1'] = st_alexa + ws['B2'] = st_apex + ws['B3'] = st_hostname + + for i in range(len(st_a_combined)): + ws[f"E{i + 1}"] = str(st_a_combined[i]) + + for i in range(len(st_mx_combined)): + ws[f"F{i + 1}"] = str(st_mx_combined[i]) + + for i in range(len(st_ns_combined)): + ws[f"G{i + 1}"] = str(st_ns_combined[i]) + + for i in range(len(st_soa_combined)): + ws[f"H{i + 1}"] = str(st_soa_combined[i]) + + for i in range(len(st_txt)): + ws[f"I{i + 1}"] = str(st_txt[i]) + + for i in range(len(st_alivesds)): + ws[f"J{i + 1}"] = str(st_alivesds[i]) + + report_file = report_folder + "//" + casename wb.save(report_file) print(Fore.GREEN + "XLSX report for {} case was created at {}".format(''.join(short_domain), report_ctime) + Style.RESET_ALL) From 7f0d8c2dd3fedcacabf807d9c5c522122c582c02 Mon Sep 17 00:00:00 2001 From: OSINT-TECHNOLOGIES <77023667+OSINT-TECHNOLOGIES@users.noreply.github.com> Date: Fri, 20 Dec 2024 21:18:44 +0300 Subject: [PATCH 06/29] Reactivated Google Dorking results reporting in XLSX --- reporting_modules/xlsx_report_creation.py | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/reporting_modules/xlsx_report_creation.py b/reporting_modules/xlsx_report_creation.py index c4b6d13..060b7d2 100644 --- a/reporting_modules/xlsx_report_creation.py +++ b/reporting_modules/xlsx_report_creation.py @@ -365,10 +365,10 @@ def create_report(short_domain, url, case_comment, data_array, report_info_array for i in range(len(vulns)): ws[f"F{i + 2}"] = str(vulns[i]) - # ws = wb['DORKING RESULTS'] - # ws.column_dimensions['A'].width = 80 - # for i, item in enumerate(cleaned_dorking, start=2): - # ws[f"A{i}"] = str(item) + ws = wb['DORKING RESULTS'] + ws.column_dimensions['A'].width = 80 + for i, item in enumerate(cleaned_dorking, start=2): + ws[f"A{i}"] = str(item) ws = wb['PAGESEARCH'] for col in ['1', '2', '3', '4', '5', '6', '7']: From 4b9fc7ca51e778738d1cd2eff90cdd961916e101 Mon Sep 17 00:00:00 2001 From: OSINT-TECHNOLOGIES <77023667+OSINT-TECHNOLOGIES@users.noreply.github.com> Date: Fri, 20 Dec 2024 21:35:55 +0300 Subject: [PATCH 07/29] Extended bad emails clean-up support for scans without PageSearch --- reporting_modules/xlsx_report_creation.py | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/reporting_modules/xlsx_report_creation.py b/reporting_modules/xlsx_report_creation.py index 060b7d2..8a0a1ef 100644 --- a/reporting_modules/xlsx_report_creation.py +++ b/reporting_modules/xlsx_report_creation.py @@ -131,6 +131,16 @@ def create_report(short_domain, url, case_comment, data_array, report_info_array for email in subdomain_mails: new_emails = email.split(', ') subdomain_mails_cleaned.extend(new_emails) + else: + subdomain_mails = list(set(subdomain_mails)) + subdomain_mails_cleaned = [] + substrings = ['m=Base64', 'Ë','Á','Æ','Å','Ä','Ò','Á','ó','ð','É','ë','â'] + for substring in substrings: + if any(substring in s for s in subdomain_mails): + subdomain_mails.remove(next(s for s in subdomain_mails if substring in s)) + for email in subdomain_mails: + new_emails = email.split(', ') + subdomain_mails_cleaned.extend(new_emails) wb = openpyxl.Workbook() sheet_names = [ From efd4037e1e10b29969beee25d21c85b4b06627fe Mon Sep 17 00:00:00 2001 From: OSINT-TECHNOLOGIES <77023667+OSINT-TECHNOLOGIES@users.noreply.github.com> Date: Fri, 20 Dec 2024 22:36:31 +0300 Subject: [PATCH 08/29] Improved handling of API results returning in XLSX report --- datagather_modules/data_assembler.py | 18 +++++++++++------- 1 file changed, 11 insertions(+), 7 deletions(-) diff --git a/datagather_modules/data_assembler.py b/datagather_modules/data_assembler.py index 87dbce5..a8cd5fa 100644 --- a/datagather_modules/data_assembler.py +++ b/datagather_modules/data_assembler.py @@ -147,13 +147,17 @@ def data_gathering(self, short_domain, url, report_file_type, pagesearch_flag, k api_scan_db = [] if used_api_flag != ['Empty']: print(Fore.LIGHTMAGENTA_EX + f"\n[EXTENDED SCAN START: API SCANNING]\n" + Style.RESET_ALL) - if 1 in used_api_flag: + if '1' in used_api_flag: vt_cats, vt_deturls, vt_detsamples, vt_undetsamples = api_virustotal_check(short_domain) api_scan_db.append('VirusTotal') - if 2 in used_api_flag: + if '2' in used_api_flag: st_alexa, st_apex, st_hostname, st_alivesds, st_txt, a_records_list, mx_records_list, ns_records_list, soa_records_list = api_securitytrails_check(short_domain) api_scan_db.append('SecurityTrails') - print(Fore.LIGHTMAGENTA_EX + f"[EXTENDED SCAN END: API SCANNING]\n" + Style.RESET_ALL) + if '1' not in used_api_flag: + vt_cats = vt_deturls = vt_detsamples = vt_undetsamples = 'No results because user did not selected VirusTotal API scan' + if '2' not in used_api_flag: + st_alexa = st_apex = st_hostname = st_alivesds = st_txt = a_records_list = mx_records_list = ns_records_list = soa_records_list = 'No results because user did not selected SecurityTrails API scan' + print(Fore.LIGHTMAGENTA_EX + f"\n[EXTENDED SCAN END: API SCANNING]\n" + Style.RESET_ALL) else: vt_cats = vt_deturls = vt_detsamples = vt_undetsamples = 'No results because user did not selected VirusTotal API scan' st_alexa = st_apex = st_hostname = st_alivesds = st_txt = a_records_list = mx_records_list = ns_records_list = soa_records_list = 'No results because user did not selected SecurityTrails API scan' @@ -219,15 +223,15 @@ def data_gathering(self, short_domain, url, report_file_type, pagesearch_flag, k api_scan_db = [] if used_api_flag != ['Empty']: print(Fore.LIGHTMAGENTA_EX + f"\n[EXTENDED SCAN START: API SCANNING]\n" + Style.RESET_ALL) - if 1 in used_api_flag: + if '1' in used_api_flag: vt_cats, vt_deturls, vt_detsamples, vt_undetsamples = api_virustotal_check(short_domain) api_scan_db.append('VirusTotal') - if 2 in used_api_flag: + if '2' in used_api_flag: st_alexa, st_apex, st_hostname, st_alivesds, st_txt, a_records_list, mx_records_list, ns_records_list, soa_records_list = api_securitytrails_check(short_domain) api_scan_db.append('SecurityTrails') - if 1 not in used_api_flag: + if '1' not in used_api_flag: vt_cats = vt_deturls = vt_detsamples = vt_undetsamples = 'No results because user did not selected VirusTotal API scan' - if 2 not in used_api_flag: + if '2' not in used_api_flag: st_alexa = st_apex = st_hostname = st_alivesds = st_txt = a_records_list = mx_records_list = ns_records_list = soa_records_list = 'No results because user did not selected SecurityTrails API scan' print(Fore.LIGHTMAGENTA_EX + f"\n[EXTENDED SCAN END: API SCANNING]\n" + Style.RESET_ALL) else: From 8da92c8887fadb355fcc59c85ec83837c8ff5692 Mon Sep 17 00:00:00 2001 From: OSINT-TECHNOLOGIES <77023667+OSINT-TECHNOLOGIES@users.noreply.github.com> Date: Fri, 20 Dec 2024 22:37:27 +0300 Subject: [PATCH 09/29] Fixed error when selecting only 1 API to scan crashes program entirely --- reporting_modules/xlsx_report_creation.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/reporting_modules/xlsx_report_creation.py b/reporting_modules/xlsx_report_creation.py index 8a0a1ef..9a45a20 100644 --- a/reporting_modules/xlsx_report_creation.py +++ b/reporting_modules/xlsx_report_creation.py @@ -85,7 +85,7 @@ def create_report(short_domain, url, case_comment, data_array, report_info_array used_api_flag = report_info_array[8] os.makedirs(report_folder, exist_ok=True) - if 2 in used_api_flag: + if '2' in used_api_flag: st_a_combined = [] if len(a_records_list) > 0: if len(a_records_list) == 1: From 00f191660a49258a5c3d9307c7157148aade27aa Mon Sep 17 00:00:00 2001 From: OSINT-TECHNOLOGIES <77023667+OSINT-TECHNOLOGIES@users.noreply.github.com> Date: Fri, 20 Dec 2024 22:37:52 +0300 Subject: [PATCH 10/29] Fixed error when selecting only 1 API to scan crashes program entirely --- reporting_modules/html_report_creation.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/reporting_modules/html_report_creation.py b/reporting_modules/html_report_creation.py index 82bfd71..3eb01ee 100644 --- a/reporting_modules/html_report_creation.py +++ b/reporting_modules/html_report_creation.py @@ -92,7 +92,7 @@ def report_assembling(short_domain, url, case_comment, data_array, report_info_a api_scan_db = report_info_array[7] used_api_flag = report_info_array[8] - if 2 in used_api_flag: + if '2' in used_api_flag: st_a_combined = [] if len(a_records_list) > 0: if len(a_records_list) == 1: From 48dd03d3359c5419f505e66b57ef33db64f5970b Mon Sep 17 00:00:00 2001 From: OSINT-TECHNOLOGIES <77023667+OSINT-TECHNOLOGIES@users.noreply.github.com> Date: Fri, 20 Dec 2024 23:37:02 +0300 Subject: [PATCH 11/29] Extended column sizes for some XLSX sheets --- reporting_modules/xlsx_report_creation.py | 22 +++++++++++++++------- 1 file changed, 15 insertions(+), 7 deletions(-) diff --git a/reporting_modules/xlsx_report_creation.py b/reporting_modules/xlsx_report_creation.py index 9a45a20..5263ebb 100644 --- a/reporting_modules/xlsx_report_creation.py +++ b/reporting_modules/xlsx_report_creation.py @@ -341,6 +341,8 @@ def create_report(short_domain, url, case_comment, data_array, report_info_array for col in ['1', '2', '3', '4', '5', '6', '7', '8']: cell = f"A{col}" ws[cell].font = bold_font + ws.column_dimensions['A'].width = 35 + ws.column_dimensions['B'].width = 60 ws['A1'] = 'WEB SERVERS' ws['A2'] = 'CMS' ws['A3'] = 'USED PROGRAMMING LANGUAGES' @@ -431,8 +433,14 @@ def create_report(short_domain, url, case_comment, data_array, report_info_array for col in ['1', '2', '3']: cell = f"A{col}" ws[cell].font = bold_font - ws.column_dimensions['A'].width = 45 + ws.column_dimensions['A'].width = 18 ws.column_dimensions['B'].width = 60 + ws.column_dimensions['E'].width = 70 + ws.column_dimensions['F'].width = 70 + ws.column_dimensions['G'].width = 70 + ws.column_dimensions['H'].width = 70 + ws.column_dimensions['I'].width = 70 + ws.column_dimensions['J'].width = 70 ws['A1'] = 'ALEXA RANK' ws['A2'] = 'APEX DOMAIN' ws['A3'] = 'HOSTNAME' @@ -448,22 +456,22 @@ def create_report(short_domain, url, case_comment, data_array, report_info_array ws['B3'] = st_hostname for i in range(len(st_a_combined)): - ws[f"E{i + 1}"] = str(st_a_combined[i]) + ws[f"E{i + 2}"] = str(st_a_combined[i]) for i in range(len(st_mx_combined)): - ws[f"F{i + 1}"] = str(st_mx_combined[i]) + ws[f"F{i + 2}"] = str(st_mx_combined[i]) for i in range(len(st_ns_combined)): - ws[f"G{i + 1}"] = str(st_ns_combined[i]) + ws[f"G{i + 2}"] = str(st_ns_combined[i]) for i in range(len(st_soa_combined)): - ws[f"H{i + 1}"] = str(st_soa_combined[i]) + ws[f"H{i + 2}"] = str(st_soa_combined[i]) for i in range(len(st_txt)): - ws[f"I{i + 1}"] = str(st_txt[i]) + ws[f"I{i + 2}"] = str(st_txt[i]) for i in range(len(st_alivesds)): - ws[f"J{i + 1}"] = str(st_alivesds[i]) + ws[f"J{i + 2}"] = str(st_alivesds[i]) report_file = report_folder + "//" + casename From 3351d22d87e86bba387e28e89074a56dfdd0d72c Mon Sep 17 00:00:00 2001 From: OSINT-TECHNOLOGIES <77023667+OSINT-TECHNOLOGIES@users.noreply.github.com> Date: Tue, 24 Dec 2024 20:11:01 +0300 Subject: [PATCH 12/29] Updated Jinja2 required version to 3.1.5+ --- requirements.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/requirements.txt b/requirements.txt index 8a6b94d..4d6f65e 100644 --- a/requirements.txt +++ b/requirements.txt @@ -1,4 +1,4 @@ -Jinja2==3.1.4 +Jinja2>=3.1.5 MarkupSafe==2.1.5 beautifulsoup4==4.12.2 certifi>=2024.07.04 From 59066b027cd3868ae99230bc7608a8bcfc8e1444 Mon Sep 17 00:00:00 2001 From: OSINT-TECHNOLOGIES <77023667+OSINT-TECHNOLOGIES@users.noreply.github.com> Date: Tue, 24 Dec 2024 20:12:18 +0300 Subject: [PATCH 13/29] Updated Jinja2 required version to 3.1.5+ --- pyproject.toml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pyproject.toml b/pyproject.toml index 62d5301..05969e1 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -22,7 +22,7 @@ classifiers = [ [tool.poetry.dependencies] python = "^3.10" -Jinja2 = "3.1.4" +Jinja2 = "^3.1.5" MarkupSafe = "2.1.5" beautifulsoup4 = "4.12.2" certifi = ">=2024.07.04" From 237c097c8df112492e81cff9bfdbd3a4a4948d85 Mon Sep 17 00:00:00 2001 From: OSINT-TECHNOLOGIES <77023667+OSINT-TECHNOLOGIES@users.noreply.github.com> Date: Tue, 24 Dec 2024 20:13:49 +0300 Subject: [PATCH 14/29] Updated poetry.lock --- poetry.lock | 22 +++++++++++----------- 1 file changed, 11 insertions(+), 11 deletions(-) diff --git a/poetry.lock b/poetry.lock index 8f6def7..4b233f6 100644 --- a/poetry.lock +++ b/poetry.lock @@ -33,13 +33,13 @@ six = "*" [[package]] name = "certifi" -version = "2024.8.30" +version = "2024.12.14" description = "Python package for providing Mozilla's CA Bundle." optional = false python-versions = ">=3.6" files = [ - {file = "certifi-2024.8.30-py3-none-any.whl", hash = "sha256:922820b53db7a7257ffbda3f597266d435245903d80737e34f8a45ff3e3230d8"}, - {file = "certifi-2024.8.30.tar.gz", hash = "sha256:bec941d2aa8195e248a60b31ff9f0558284cf01a52591ceda73ea9afffd69fd9"}, + {file = "certifi-2024.12.14-py3-none-any.whl", hash = "sha256:1275f7a45be9464efc1173084eaa30f866fe2e47d389406136d332ed4967ec56"}, + {file = "certifi-2024.12.14.tar.gz", hash = "sha256:b650d30f370c2b724812bee08008be0c4163b163ddaec3f2546c1caf65f191db"}, ] [[package]] @@ -196,13 +196,13 @@ files = [ [[package]] name = "jinja2" -version = "3.1.4" +version = "3.1.5" description = "A very fast and expressive template engine." optional = false python-versions = ">=3.7" files = [ - {file = "jinja2-3.1.4-py3-none-any.whl", hash = "sha256:bc5dd2abb727a5319567b7a813e6a2e7318c39f4f487cfe6c89c6f9c7d25197d"}, - {file = "jinja2-3.1.4.tar.gz", hash = "sha256:4a3aee7acbbe7303aede8e9648d13b8bf88a429282aa6122a993f0ac800cb369"}, + {file = "jinja2-3.1.5-py3-none-any.whl", hash = "sha256:aba0f4dc9ed8013c424088f68a5c226f7d6097ed89b246d7749c2ec4175c6adb"}, + {file = "jinja2-3.1.5.tar.gz", hash = "sha256:8fefff8dc3034e27bb80d67c671eb8a9bc424c0ef4c0826edbff304cceff43bb"}, ] [package.dependencies] @@ -662,13 +662,13 @@ jupyter = ["ipywidgets (>=7.5.1,<9)"] [[package]] name = "six" -version = "1.16.0" +version = "1.17.0" description = "Python 2 and 3 compatibility utilities" optional = false -python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*" +python-versions = "!=3.0.*,!=3.1.*,!=3.2.*,>=2.7" files = [ - {file = "six-1.16.0-py2.py3-none-any.whl", hash = "sha256:8abb2f1d86890a2dfb989f9a77cfcfd3e47c2a354b01111771326f8aa26e0254"}, - {file = "six-1.16.0.tar.gz", hash = "sha256:1e61c37477a1626458e36f7b1d82aa5c9b094fa4802892072e49de9c60c4c926"}, + {file = "six-1.17.0-py2.py3-none-any.whl", hash = "sha256:4721f391ed90541fddacab5acf947aa0d3dc7d27b2e1e8eda2be8970586c3274"}, + {file = "six-1.17.0.tar.gz", hash = "sha256:ff70335d468e7eb6ec65b95b99d3a2836546063f63acc5171de367e834932a81"}, ] [[package]] @@ -702,4 +702,4 @@ zstd = ["zstandard (>=0.18.0)"] [metadata] lock-version = "2.0" python-versions = "^3.10" -content-hash = "6b5d2a1f3f80e9d4da489516fdda4d8ae185fd01b7e936f615b11ae6232fc722" +content-hash = "09640a069a07ce9bc68b1ac8dfa92d844663571d3a80e9829da7292479bd9d34" From 1c49b13ae345e948810dadd897b6e0003ec99620 Mon Sep 17 00:00:00 2001 From: OSINT-TECHNOLOGIES <77023667+OSINT-TECHNOLOGIES@users.noreply.github.com> Date: Tue, 24 Dec 2024 21:18:28 +0300 Subject: [PATCH 15/29] Bumped version to 1.1.6 --- pyproject.toml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pyproject.toml b/pyproject.toml index 05969e1..b7656fe 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -4,7 +4,7 @@ build-backend = "poetry.core.masonry.api" [tool.poetry] name = "dpulse" -version = "1.1.5" +version = "1.1.6" description = "Convenient,fast and user-friendly collector of domain information from Open-Sources" authors = ["OSINT-TECHNOLOGIES "] readme = "README.md" From eed43a5b80abfdbf0153ae30e672a6d52ffe41dc Mon Sep 17 00:00:00 2001 From: OSINT-TECHNOLOGIES <77023667+OSINT-TECHNOLOGIES@users.noreply.github.com> Date: Sat, 28 Dec 2024 08:56:16 +0300 Subject: [PATCH 16/29] Code clean-up --- reporting_modules/xlsx_report_creation.py | 45 ----------------------- 1 file changed, 45 deletions(-) diff --git a/reporting_modules/xlsx_report_creation.py b/reporting_modules/xlsx_report_creation.py index 5263ebb..334e56c 100644 --- a/reporting_modules/xlsx_report_creation.py +++ b/reporting_modules/xlsx_report_creation.py @@ -60,7 +60,6 @@ def create_report(short_domain, url, case_comment, data_array, report_info_array exposed_passwords_counter = data_array[39] total_links_counter = data_array[40] accessed_links_counter = data_array[41] - #keywords_messages_list = data_array[42] cleaned_dorking = data_array[42] vt_cats = data_array[43] vt_deturls = data_array[44] @@ -167,18 +166,6 @@ def create_report(short_domain, url, case_comment, data_array, report_info_array for col in ['1', '2', '3', '4', '5', '6', '7', '8', '9']: cell = f"A{col}" ws[cell].font = bold_font - # if pagesearch_keyword == 'n': - # for col in ['1', '2', '3', '4', '5', '6', '7', '8', '9']: - # cell = f"A{col}" - # ws[cell].font = bold_font - # elif pagesearch_keyword == 'y': - # for col in ['1', '2', '3', '4', '5', '6', '7', '8', '9', '10', '11', '12', '13', '14', '15', '16']: - # cell = f"A{col}" - # ws[cell].font = bold_font - # elif pagesearch_keyword == 'si': - # for col in ['1', '2', '3', '4', '5', '6', '7', '8', '9', '10', '11']: - # cell = f"A{col}" - # ws[cell].font = bold_font ws.column_dimensions['A'].width = 60 ws.column_dimensions['B'].width = 60 ws['A1'] = 'TARGET DOMAIN' @@ -190,37 +177,12 @@ def create_report(short_domain, url, case_comment, data_array, report_info_array ws['A7'] = 'GOOGLE DORKING STATUS' ws['A8'] = 'PAGESEARCH CONDUCTION' ws['A9'] = 'REPORT CREATION TIME' - # if pagesearch_keyword == 'y': - # ws['A9'] = 'TOTAL SUBDOMAINS CHECKED' - # ws['A10'] = 'AMOUNT OF ACCESSIBLE SUBDOMAINS' - # ws['A11'] = 'AMOUNT OF ADDITIONAL EMAILS FOUND' - # ws['A12'] = 'AMOUNT OF EXTRACTED FILES' - # ws['A13'] = 'FOUND COOKIES WITH VALUES' - # ws['A14'] = 'FOUND API VALUES' - # ws['A15'] = 'FOUND DIFFERENT WEB PAGE ELEMENTS' - # ws['A16'] = 'FOUND EXPOSED PASSWORDS' - # ws['B9'] = subdomains_amount - # ws['B10'] = accessible_subdomains - # ws['B11'] = emails_amount - # ws['B12'] = files_counter - # ws['B13'] = cookies_counter - # ws['B14'] = api_keys_counter - # ws['B15'] = website_elements_counter - # ws['B16'] = exposed_passwords_counter - # elif pagesearch_keyword == 'si': - # ws['A9'] = 'TOTAL LINKS CHECKED' - # ws['A10'] = 'AMOUNT OF ACCESSIBLE LINKS' - # ws['A11'] = 'AMOUNT OF ADDITIONAL EMAILS FOUND' - # ws['B9'] = total_links_counter - # ws['B10'] = accessed_links_counter - # ws['B11'] = emails_amount ws['B1'] = short_domain ws['B2'] = subdomains_amount ws['B3'] = total_socials ws['B4'] = robots_txt_result ws['B5'] = sitemap_xml_result ws['B6'] = sitemap_links_status - #ws['B7'] = dorking_status ws['B8'] = pagesearch_ui_mark ws['B9'] = report_ctime @@ -372,8 +334,6 @@ def create_report(short_domain, url, case_comment, data_array, report_info_array ws.column_dimensions['B'].width = 60 ws['B1'] = ', '.join(str(item) for item in ports) ws['B2'] = ', '.join(str(item) for item in hostnames) - # ws['B3'] = ', '.join(str(item) for item in tags) - # ws['B4'] = ', '.join(str(item) for item in cpes) for i in range(len(vulns)): ws[f"F{i + 2}"] = str(vulns[i]) @@ -457,19 +417,14 @@ def create_report(short_domain, url, case_comment, data_array, report_info_array for i in range(len(st_a_combined)): ws[f"E{i + 2}"] = str(st_a_combined[i]) - for i in range(len(st_mx_combined)): ws[f"F{i + 2}"] = str(st_mx_combined[i]) - for i in range(len(st_ns_combined)): ws[f"G{i + 2}"] = str(st_ns_combined[i]) - for i in range(len(st_soa_combined)): ws[f"H{i + 2}"] = str(st_soa_combined[i]) - for i in range(len(st_txt)): ws[f"I{i + 2}"] = str(st_txt[i]) - for i in range(len(st_alivesds)): ws[f"J{i + 2}"] = str(st_alivesds[i]) From 278567e8f55466213f066d2c622c8808173657d8 Mon Sep 17 00:00:00 2001 From: OSINT-TECHNOLOGIES <77023667+OSINT-TECHNOLOGIES@users.noreply.github.com> Date: Sat, 28 Dec 2024 09:17:03 +0300 Subject: [PATCH 17/29] Fixed wrong cosmetical wrap for not found SSL certificate info --- datagather_modules/networking_processor.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/datagather_modules/networking_processor.py b/datagather_modules/networking_processor.py index 3a886d0..1d770a7 100644 --- a/datagather_modules/networking_processor.py +++ b/datagather_modules/networking_processor.py @@ -54,7 +54,7 @@ def get_ssl_certificate(short_domain, port=443): except (ssl.CertificateError, ssl.SSLError, socket.gaierror, ConnectionRefusedError) as e: print(Fore.RED + "Error while gathering info about SSL certificate. See journal for details") logging.error(f'SSL CERTIFICATE GATHERING: ERROR. REASON: {e}') - issuer = subject = notBefore = notAfter = commonName = serialNumber = ["No information about SSL certificate was gathered"] + issuer = subject = notBefore = notAfter = commonName = serialNumber = "No information about SSL certificate was gathered" return issuer, subject, notBefore, notAfter, commonName, serialNumber def query_internetdb(ip, report_file_extension): From a7dfb2580649f664ce9e5312b1a96a6285709b64 Mon Sep 17 00:00:00 2001 From: OSINT-TECHNOLOGIES <77023667+OSINT-TECHNOLOGIES@users.noreply.github.com> Date: Sat, 28 Dec 2024 09:22:33 +0300 Subject: [PATCH 18/29] Created HTML report example --- .../01-robots.txt | 3 +++ 1 file changed, 3 insertions(+) create mode 100644 report_examples/html_report_hackthissiteorg_(28-12-2024, 09h17m49s)/01-robots.txt diff --git a/report_examples/html_report_hackthissiteorg_(28-12-2024, 09h17m49s)/01-robots.txt b/report_examples/html_report_hackthissiteorg_(28-12-2024, 09h17m49s)/01-robots.txt new file mode 100644 index 0000000..3738559 --- /dev/null +++ b/report_examples/html_report_hackthissiteorg_(28-12-2024, 09h17m49s)/01-robots.txt @@ -0,0 +1,3 @@ +User-agent: * +Disallow: /missions/ +Disallow: /killing/all/humans/ From 7a18aa64f8a0fc072517fd36f0f633e600022bb8 Mon Sep 17 00:00:00 2001 From: OSINT-TECHNOLOGIES <77023667+OSINT-TECHNOLOGIES@users.noreply.github.com> Date: Sat, 28 Dec 2024 01:23:49 -0500 Subject: [PATCH 19/29] Add files via upload --- ...ckthissiteorg_(28-12-2024, 09h17m49s).html | 356 ++++++++++++++++++ 1 file changed, 356 insertions(+) create mode 100644 report_examples/html_report_hackthissiteorg_(28-12-2024, 09h17m49s)/hackthissiteorg_(28-12-2024, 09h17m49s).html diff --git a/report_examples/html_report_hackthissiteorg_(28-12-2024, 09h17m49s)/hackthissiteorg_(28-12-2024, 09h17m49s).html b/report_examples/html_report_hackthissiteorg_(28-12-2024, 09h17m49s)/hackthissiteorg_(28-12-2024, 09h17m49s).html new file mode 100644 index 0000000..d78c433 --- /dev/null +++ b/report_examples/html_report_hackthissiteorg_(28-12-2024, 09h17m49s)/hackthissiteorg_(28-12-2024, 09h17m49s).html @@ -0,0 +1,356 @@ + + + + + + +

Open Source Information Research Report

+

Data Protected

+

 

+
+
 
+

Table of contents

+

1. General scan information

+

[BASIC SCAN INFO]

+

2. WHOIS information

+

3. Social medias links

+

4. Subdomains information

+

5. DNS & SSL information

+

6. Services & frameworks information

+

7. Basic pre-pentest information

+

[DORKING SCAN INFO]

+

8. Dorking queries and results links (if was selected)

+

[PAGESEARCH SCAN INFO]

+

9. PageSearch results (if was selected)

+

10. PageSearch Sitemap Inspection results (if was selected)

+

[API SCAN INFO]

+

11. VirusTotal API scan results (if was selected)

+

12. SecurityTrails API scan results (if was selected)

+

 

+
+
 
+

GENERAL SCAN INFORMATION

+

Total subdomains found: 7

+

Total social media links found: 13

+

Status of robots.txt extraction: File "robots.txt" was extracted to text file in report folder

+

Status of sitemap.xml extraction: File "sitemap.xml" was not found

+

Status of sitemap.xml links extraction: Links from "sitemap.txt" were not parsed

+

Google Dorking status: Successfully dorked domain with WEB_DORKS dorks table

+

PageSearch conduction: Yes, without keywords search

+

Report creation time: 28-12-2024, 09:17:49

+

 

+
+
 
+

WHOIS INFORMATION

+

Domain: hackthissite.org

+

Full URL: http://hackthissite.org/

+

IP address: 137.74.187.104

+

Registrar: eNom, LLC

+

Creation date: 2003-08-10 15:01:25

+

Expiration date: 2025-08-10 15:01:25

+

Organization name: Data Protected

+

Contact e-mails: No contact e-mails were found

+

 

+
+
 
+

SOCIAL MEDIAS SEARCH RESULTS

+

FACEBOOK:

+ +

TWITTER (+ X.com):

+ + +

INSTAGRAM:

+ +

TELEGRAM:

+ +

TIKTOK:

+ +

LINKEDIN:

+ +

VKONTAKTE:

+ +

YOUTUBE:

+ +

ODNOKLASSNIKI:

+ +

WECHAT:

+ +

 

+
+
 
+

SUBDOMAINS ANALYSIS RESULTS

+

Found subdomains:

+ +

Subdomains IP addresses:

+ +

Subdomains e-mails:

+ +

 

+
+
 
+

DNS & SSL INFORMATION

+

(DNS) Name servers: c.ns.buddyns.com, f.ns.buddyns.com, g.ns.buddyns.com, h.ns.buddyns.com, j.ns.buddyns.com

+

(DNS) MX addresses: None

+

(SSL) Issuer: No information about SSL certificate was gathered

+

(SSL) Subject: No information about SSL certificate was gathered

+

(SSL) Not before: No information about SSL certificate was gathered

+

(SSL) Not after: No information about SSL certificate was gathered

+

(SSL) Certificate name: No information about SSL certificate was gathered

+

(SSL) Certificate serial number: No information about SSL certificate was gathered

+

 

+
+
 
+

SERVICES & FRAMEWORKS INFORMATION

+

Web servers:

+ +

CMS:

+ +

Used programming languages:

+ +

Used web frameworks:

+ +

Analytics service:

+ +

Used JavaScript frameworks:

+ +

Tags:

+ +

Common Platform Enumeration:

+ +

 

+
+
 
+

BASIC PRE-PENTEST INFORMATION

+

Open ports:

+ +

Hostnames:

+ +

Potential vulnerabilities:

+ +

 

+
+
 
+

DORKING SCAN INFO

+
QUERY #1: site:hackthissite.org intext:"index of"
+=> NO RESULT FOUND
+
+QUERY #2: site:hackthissite.org inurl:admin
+=> NO RESULT FOUND
+
+QUERY #3: site:hackthissite.org inurl:login
+=> NO RESULT FOUND
+
+QUERY #4: site:hackthissite.org inurl:dashboard
+=> NO RESULT FOUND
+
+QUERY #5: site:hackthissite.org inurl:wp-content
+=> NO RESULT FOUND
+
+QUERY #6: site:hackthissite.org inurl:backup
+=> NO RESULT FOUND
+
+QUERY #7: site:hackthissite.org inurl:old
+=> NO RESULT FOUND
+
+QUERY #8: site:hackthissite.org inurl:temp
+=> NO RESULT FOUND
+
+QUERY #9: site:hackthissite.org inurl:upload
+=> NO RESULT FOUND
+
+QUERY #10: site:hackthissite.org inurl:download
+=> NO RESULT FOUND
+
+QUERY #11: site:hackthissite.org inurl:config
+=> NO RESULT FOUND
+
+QUERY #12: site:hackthissite.org inurl:setup
+=> NO RESULT FOUND
+
+QUERY #13: site:hackthissite.org inurl:install
+=> NO RESULT FOUND
+
+QUERY #14: site:hackthissite.org inurl:database
+=> NO RESULT FOUND
+
+QUERY #15: site:hackthissite.org inurl:log
+=> NO RESULT FOUND
+
+QUERY #16: site:hackthissite.org inurl:debug
+=> NO RESULT FOUND
+
+QUERY #17: site:hackthissite.org inurl:api
+=> NO RESULT FOUND
+
+QUERY #18: site:hackthissite.org inurl:secret
+=> NO RESULT FOUND
+
+QUERY #19: site:hackthissite.org inurl:private
+=> NO RESULT FOUND
+
+QUERY #20: site:hackthissite.org inurl:secure
+=> NO RESULT FOUND
+
+QUERY #21: site:hackthissite.org inurl:password
+=> NO RESULT FOUND
+
+QUERY #22: site:hackthissite.org inurl:auth
+=> NO RESULT FOUND
+
+QUERY #23: site:hackthissite.org inurl:token
+=> NO RESULT FOUND
+
+QUERY #24: site:hackthissite.org inurl:session
+=> NO RESULT FOUND
+
+QUERY #25: site:hackthissite.org inurl:panel
+=> NO RESULT FOUND
+
+
+

 

+
+
 
+

PAGESEARCH RESULTS

+

 

+

Amount of accessible subdomains: 4

+

Amount of email addresses: 0

+

Amount of found documents: 1

+

Amount of found cookies: 4

+

Amount of found API key: 0

+

Amount of WEB elements found: 0

+

Amount of exposed passwords found: 0

+

 

+
+
 
+

PAGESEARCH SITEMAP INSPECTION RESULTS

+

 

+

Total links amount: No results because PageSearch does not gather these categories

+

Amount of accessed links: No results because PageSearch does not gather these categories

+

 

+
+

 

+

VIRUSTOTAL API SCAN RESULTS

+

 

+

Categories: No results because user did not selected VirusTotal API scan

+

Detected URLs: No results because user did not selected VirusTotal API scan

+

Detected samples: No results because user did not selected VirusTotal API scan

+

Undetected samples: No results because user did not selected VirusTotal API scan

+

 

+
+

 

+

SECURITY TRAILS API SCAN RESULTS

+

 

+

Alexa rank: No results because user did not selected SecurityTrails API scan

+

Apex domain: No results because user did not selected SecurityTrails API scan

+

Hostname: No results because user did not selected SecurityTrails API scan

+

A records:

+ +

MX records:

+ +

NS records:

+ +

SOA records:

+ +

TXT records values:

+ +

Subdomains list

+ +

 

+
+

 

+

Created using DPULSE software by OSINT-TECHNOLOGIES

+

Visit our web-pages:

+ \ No newline at end of file From a374d7ea586a0a83ac5f979da5665cedaff4261c Mon Sep 17 00:00:00 2001 From: OSINT-TECHNOLOGIES <77023667+OSINT-TECHNOLOGIES@users.noreply.github.com> Date: Sat, 28 Dec 2024 09:24:32 +0300 Subject: [PATCH 20/29] Delete report_examples/html_report_hackthissiteorg_(28-12-2024, 09h17m49s) directory --- .../01-robots.txt | 3 - ...ckthissiteorg_(28-12-2024, 09h17m49s).html | 356 ------------------ 2 files changed, 359 deletions(-) delete mode 100644 report_examples/html_report_hackthissiteorg_(28-12-2024, 09h17m49s)/01-robots.txt delete mode 100644 report_examples/html_report_hackthissiteorg_(28-12-2024, 09h17m49s)/hackthissiteorg_(28-12-2024, 09h17m49s).html diff --git a/report_examples/html_report_hackthissiteorg_(28-12-2024, 09h17m49s)/01-robots.txt b/report_examples/html_report_hackthissiteorg_(28-12-2024, 09h17m49s)/01-robots.txt deleted file mode 100644 index 3738559..0000000 --- a/report_examples/html_report_hackthissiteorg_(28-12-2024, 09h17m49s)/01-robots.txt +++ /dev/null @@ -1,3 +0,0 @@ -User-agent: * -Disallow: /missions/ -Disallow: /killing/all/humans/ diff --git a/report_examples/html_report_hackthissiteorg_(28-12-2024, 09h17m49s)/hackthissiteorg_(28-12-2024, 09h17m49s).html b/report_examples/html_report_hackthissiteorg_(28-12-2024, 09h17m49s)/hackthissiteorg_(28-12-2024, 09h17m49s).html deleted file mode 100644 index d78c433..0000000 --- a/report_examples/html_report_hackthissiteorg_(28-12-2024, 09h17m49s)/hackthissiteorg_(28-12-2024, 09h17m49s).html +++ /dev/null @@ -1,356 +0,0 @@ - - - - - - -

Open Source Information Research Report

-

Data Protected

-

 

-
-
 
-

Table of contents

-

1. General scan information

-

[BASIC SCAN INFO]

-

2. WHOIS information

-

3. Social medias links

-

4. Subdomains information

-

5. DNS & SSL information

-

6. Services & frameworks information

-

7. Basic pre-pentest information

-

[DORKING SCAN INFO]

-

8. Dorking queries and results links (if was selected)

-

[PAGESEARCH SCAN INFO]

-

9. PageSearch results (if was selected)

-

10. PageSearch Sitemap Inspection results (if was selected)

-

[API SCAN INFO]

-

11. VirusTotal API scan results (if was selected)

-

12. SecurityTrails API scan results (if was selected)

-

 

-
-
 
-

GENERAL SCAN INFORMATION

-

Total subdomains found: 7

-

Total social media links found: 13

-

Status of robots.txt extraction: File "robots.txt" was extracted to text file in report folder

-

Status of sitemap.xml extraction: File "sitemap.xml" was not found

-

Status of sitemap.xml links extraction: Links from "sitemap.txt" were not parsed

-

Google Dorking status: Successfully dorked domain with WEB_DORKS dorks table

-

PageSearch conduction: Yes, without keywords search

-

Report creation time: 28-12-2024, 09:17:49

-

 

-
-
 
-

WHOIS INFORMATION

-

Domain: hackthissite.org

-

Full URL: http://hackthissite.org/

-

IP address: 137.74.187.104

-

Registrar: eNom, LLC

-

Creation date: 2003-08-10 15:01:25

-

Expiration date: 2025-08-10 15:01:25

-

Organization name: Data Protected

-

Contact e-mails: No contact e-mails were found

-

 

-
-
 
-

SOCIAL MEDIAS SEARCH RESULTS

-

FACEBOOK:

- -

TWITTER (+ X.com):

- - -

INSTAGRAM:

- -

TELEGRAM:

- -

TIKTOK:

- -

LINKEDIN:

- -

VKONTAKTE:

- -

YOUTUBE:

- -

ODNOKLASSNIKI:

- -

WECHAT:

- -

 

-
-
 
-

SUBDOMAINS ANALYSIS RESULTS

-

Found subdomains:

- -

Subdomains IP addresses:

- -

Subdomains e-mails:

- -

 

-
-
 
-

DNS & SSL INFORMATION

-

(DNS) Name servers: c.ns.buddyns.com, f.ns.buddyns.com, g.ns.buddyns.com, h.ns.buddyns.com, j.ns.buddyns.com

-

(DNS) MX addresses: None

-

(SSL) Issuer: No information about SSL certificate was gathered

-

(SSL) Subject: No information about SSL certificate was gathered

-

(SSL) Not before: No information about SSL certificate was gathered

-

(SSL) Not after: No information about SSL certificate was gathered

-

(SSL) Certificate name: No information about SSL certificate was gathered

-

(SSL) Certificate serial number: No information about SSL certificate was gathered

-

 

-
-
 
-

SERVICES & FRAMEWORKS INFORMATION

-

Web servers:

- -

CMS:

- -

Used programming languages:

- -

Used web frameworks:

- -

Analytics service:

- -

Used JavaScript frameworks:

- -

Tags:

- -

Common Platform Enumeration:

- -

 

-
-
 
-

BASIC PRE-PENTEST INFORMATION

-

Open ports:

- -

Hostnames:

- -

Potential vulnerabilities:

- -

 

-
-
 
-

DORKING SCAN INFO

-
QUERY #1: site:hackthissite.org intext:"index of"
-=> NO RESULT FOUND
-
-QUERY #2: site:hackthissite.org inurl:admin
-=> NO RESULT FOUND
-
-QUERY #3: site:hackthissite.org inurl:login
-=> NO RESULT FOUND
-
-QUERY #4: site:hackthissite.org inurl:dashboard
-=> NO RESULT FOUND
-
-QUERY #5: site:hackthissite.org inurl:wp-content
-=> NO RESULT FOUND
-
-QUERY #6: site:hackthissite.org inurl:backup
-=> NO RESULT FOUND
-
-QUERY #7: site:hackthissite.org inurl:old
-=> NO RESULT FOUND
-
-QUERY #8: site:hackthissite.org inurl:temp
-=> NO RESULT FOUND
-
-QUERY #9: site:hackthissite.org inurl:upload
-=> NO RESULT FOUND
-
-QUERY #10: site:hackthissite.org inurl:download
-=> NO RESULT FOUND
-
-QUERY #11: site:hackthissite.org inurl:config
-=> NO RESULT FOUND
-
-QUERY #12: site:hackthissite.org inurl:setup
-=> NO RESULT FOUND
-
-QUERY #13: site:hackthissite.org inurl:install
-=> NO RESULT FOUND
-
-QUERY #14: site:hackthissite.org inurl:database
-=> NO RESULT FOUND
-
-QUERY #15: site:hackthissite.org inurl:log
-=> NO RESULT FOUND
-
-QUERY #16: site:hackthissite.org inurl:debug
-=> NO RESULT FOUND
-
-QUERY #17: site:hackthissite.org inurl:api
-=> NO RESULT FOUND
-
-QUERY #18: site:hackthissite.org inurl:secret
-=> NO RESULT FOUND
-
-QUERY #19: site:hackthissite.org inurl:private
-=> NO RESULT FOUND
-
-QUERY #20: site:hackthissite.org inurl:secure
-=> NO RESULT FOUND
-
-QUERY #21: site:hackthissite.org inurl:password
-=> NO RESULT FOUND
-
-QUERY #22: site:hackthissite.org inurl:auth
-=> NO RESULT FOUND
-
-QUERY #23: site:hackthissite.org inurl:token
-=> NO RESULT FOUND
-
-QUERY #24: site:hackthissite.org inurl:session
-=> NO RESULT FOUND
-
-QUERY #25: site:hackthissite.org inurl:panel
-=> NO RESULT FOUND
-
-
-

 

-
-
 
-

PAGESEARCH RESULTS

-

 

-

Amount of accessible subdomains: 4

-

Amount of email addresses: 0

-

Amount of found documents: 1

-

Amount of found cookies: 4

-

Amount of found API key: 0

-

Amount of WEB elements found: 0

-

Amount of exposed passwords found: 0

-

 

-
-
 
-

PAGESEARCH SITEMAP INSPECTION RESULTS

-

 

-

Total links amount: No results because PageSearch does not gather these categories

-

Amount of accessed links: No results because PageSearch does not gather these categories

-

 

-
-

 

-

VIRUSTOTAL API SCAN RESULTS

-

 

-

Categories: No results because user did not selected VirusTotal API scan

-

Detected URLs: No results because user did not selected VirusTotal API scan

-

Detected samples: No results because user did not selected VirusTotal API scan

-

Undetected samples: No results because user did not selected VirusTotal API scan

-

 

-
-

 

-

SECURITY TRAILS API SCAN RESULTS

-

 

-

Alexa rank: No results because user did not selected SecurityTrails API scan

-

Apex domain: No results because user did not selected SecurityTrails API scan

-

Hostname: No results because user did not selected SecurityTrails API scan

-

A records:

- -

MX records:

- -

NS records:

- -

SOA records:

- -

TXT records values:

- -

Subdomains list

- -

 

-
-

 

-

Created using DPULSE software by OSINT-TECHNOLOGIES

-

Visit our web-pages:

- \ No newline at end of file From 14eed944cde8842ad8c9d66b472b11202e431ab2 Mon Sep 17 00:00:00 2001 From: OSINT-TECHNOLOGIES <77023667+OSINT-TECHNOLOGIES@users.noreply.github.com> Date: Sat, 28 Dec 2024 09:25:52 +0300 Subject: [PATCH 21/29] Create 01-robots.txt --- report_examples/html_report_example/01-robots.txt | 3 +++ 1 file changed, 3 insertions(+) create mode 100644 report_examples/html_report_example/01-robots.txt diff --git a/report_examples/html_report_example/01-robots.txt b/report_examples/html_report_example/01-robots.txt new file mode 100644 index 0000000..3738559 --- /dev/null +++ b/report_examples/html_report_example/01-robots.txt @@ -0,0 +1,3 @@ +User-agent: * +Disallow: /missions/ +Disallow: /killing/all/humans/ From 729483bab1aa62482262d4fdd3168f48ad7484fe Mon Sep 17 00:00:00 2001 From: OSINT-TECHNOLOGIES <77023667+OSINT-TECHNOLOGIES@users.noreply.github.com> Date: Sat, 28 Dec 2024 09:30:24 +0300 Subject: [PATCH 22/29] Create extracted_About%20the%20HackThisSite%20Mirror.txt --- ...ed_About%20the%20HackThisSite%20Mirror.txt | 28 +++++++++++++++++++ 1 file changed, 28 insertions(+) create mode 100644 report_examples/html_report_example/ps_documents/extracted_About%20the%20HackThisSite%20Mirror.txt diff --git a/report_examples/html_report_example/ps_documents/extracted_About%20the%20HackThisSite%20Mirror.txt b/report_examples/html_report_example/ps_documents/extracted_About%20the%20HackThisSite%20Mirror.txt new file mode 100644 index 0000000..cea00f1 --- /dev/null +++ b/report_examples/html_report_example/ps_documents/extracted_About%20the%20HackThisSite%20Mirror.txt @@ -0,0 +1,28 @@ +-=- What is the HackThisSite Mirror? -=- + +HackThisSite may from time to time mirror things we think are deserving of our +bandwidth and maintenance, simply because of a belief in the cause or a general +liking of the data and its producers. + + +-=- Will you mirror my data? -=- + +You are more than welcome to request mirroring by emailing us at +admin - at - hackthissite - dot - org, but we will NOT guarantee anything! +Our bandwidth and time is precious, and just because you think your data is +well-deserving of our attention, does not mean we will think the same. + + +-=- What do you generally mirror? -=- + +HackThisSite will mirror projects we are involved with, or have a vested +interest in. For example, we are affiliated with Hackbloc, which produces +the HackThisZine periodical. Due to this, we mirror their publications. +Other such examples could someday include FreeBSD, nginx, Asterisk, UnrealIRC, +among others, since these are all projects whose benefits we reap. + + +-=- What are your mirror specifications? -=- + +mirror.hackthissite.org is hosted on a dedicated server in Europe with +redundant drives and a 1 Gbps connection. From e5054e052307c9b0f92ab52e2e7c78f2ded55bea Mon Sep 17 00:00:00 2001 From: OSINT-TECHNOLOGIES <77023667+OSINT-TECHNOLOGIES@users.noreply.github.com> Date: Sat, 28 Dec 2024 09:31:04 +0300 Subject: [PATCH 23/29] Create hackthissiteorg_(28-12-2024, 09h17m49s).html --- ...ckthissiteorg_(28-12-2024, 09h17m49s).html | 356 ++++++++++++++++++ 1 file changed, 356 insertions(+) create mode 100644 report_examples/html_report_example/hackthissiteorg_(28-12-2024, 09h17m49s).html diff --git a/report_examples/html_report_example/hackthissiteorg_(28-12-2024, 09h17m49s).html b/report_examples/html_report_example/hackthissiteorg_(28-12-2024, 09h17m49s).html new file mode 100644 index 0000000..b6524ec --- /dev/null +++ b/report_examples/html_report_example/hackthissiteorg_(28-12-2024, 09h17m49s).html @@ -0,0 +1,356 @@ + + + + + + +

Open Source Information Research Report

+

Data Protected

+

 

+
+
 
+

Table of contents

+

1. General scan information

+

[BASIC SCAN INFO]

+

2. WHOIS information

+

3. Social medias links

+

4. Subdomains information

+

5. DNS & SSL information

+

6. Services & frameworks information

+

7. Basic pre-pentest information

+

[DORKING SCAN INFO]

+

8. Dorking queries and results links (if was selected)

+

[PAGESEARCH SCAN INFO]

+

9. PageSearch results (if was selected)

+

10. PageSearch Sitemap Inspection results (if was selected)

+

[API SCAN INFO]

+

11. VirusTotal API scan results (if was selected)

+

12. SecurityTrails API scan results (if was selected)

+

 

+
+
 
+

GENERAL SCAN INFORMATION

+

Total subdomains found: 7

+

Total social media links found: 13

+

Status of robots.txt extraction: File "robots.txt" was extracted to text file in report folder

+

Status of sitemap.xml extraction: File "sitemap.xml" was not found

+

Status of sitemap.xml links extraction: Links from "sitemap.txt" were not parsed

+

Google Dorking status: Successfully dorked domain with WEB_DORKS dorks table

+

PageSearch conduction: Yes, without keywords search

+

Report creation time: 28-12-2024, 09:17:49

+

 

+
+
 
+

WHOIS INFORMATION

+

Domain: hackthissite.org

+

Full URL: http://hackthissite.org/

+

IP address: 137.74.187.104

+

Registrar: eNom, LLC

+

Creation date: 2003-08-10 15:01:25

+

Expiration date: 2025-08-10 15:01:25

+

Organization name: Data Protected

+

Contact e-mails: No contact e-mails were found

+

 

+
+
 
+

SOCIAL MEDIAS SEARCH RESULTS

+

FACEBOOK:

+ +

TWITTER (+ X.com):

+ + +

INSTAGRAM:

+ +

TELEGRAM:

+ +

TIKTOK:

+ +

LINKEDIN:

+ +

VKONTAKTE:

+ +

YOUTUBE:

+ +

ODNOKLASSNIKI:

+ +

WECHAT:

+ +

 

+
+
 
+

SUBDOMAINS ANALYSIS RESULTS

+

Found subdomains:

+ +

Subdomains IP addresses:

+ +

Subdomains e-mails:

+ +

 

+
+
 
+

DNS & SSL INFORMATION

+

(DNS) Name servers: c.ns.buddyns.com, f.ns.buddyns.com, g.ns.buddyns.com, h.ns.buddyns.com, j.ns.buddyns.com

+

(DNS) MX addresses: None

+

(SSL) Issuer: No information about SSL certificate was gathered

+

(SSL) Subject: No information about SSL certificate was gathered

+

(SSL) Not before: No information about SSL certificate was gathered

+

(SSL) Not after: No information about SSL certificate was gathered

+

(SSL) Certificate name: No information about SSL certificate was gathered

+

(SSL) Certificate serial number: No information about SSL certificate was gathered

+

 

+
+
 
+

SERVICES & FRAMEWORKS INFORMATION

+

Web servers:

+ +

CMS:

+ +

Used programming languages:

+ +

Used web frameworks:

+ +

Analytics service:

+ +

Used JavaScript frameworks:

+ +

Tags:

+ +

Common Platform Enumeration:

+ +

 

+
+
 
+

BASIC PRE-PENTEST INFORMATION

+

Open ports:

+ +

Hostnames:

+ +

Potential vulnerabilities:

+ +

 

+
+
 
+

DORKING SCAN INFO

+
QUERY #1: site:hackthissite.org intext:"index of"
+=> NO RESULT FOUND
+
+QUERY #2: site:hackthissite.org inurl:admin
+=> NO RESULT FOUND
+
+QUERY #3: site:hackthissite.org inurl:login
+=> NO RESULT FOUND
+
+QUERY #4: site:hackthissite.org inurl:dashboard
+=> NO RESULT FOUND
+
+QUERY #5: site:hackthissite.org inurl:wp-content
+=> NO RESULT FOUND
+
+QUERY #6: site:hackthissite.org inurl:backup
+=> NO RESULT FOUND
+
+QUERY #7: site:hackthissite.org inurl:old
+=> NO RESULT FOUND
+
+QUERY #8: site:hackthissite.org inurl:temp
+=> NO RESULT FOUND
+
+QUERY #9: site:hackthissite.org inurl:upload
+=> NO RESULT FOUND
+
+QUERY #10: site:hackthissite.org inurl:download
+=> NO RESULT FOUND
+
+QUERY #11: site:hackthissite.org inurl:config
+=> NO RESULT FOUND
+
+QUERY #12: site:hackthissite.org inurl:setup
+=> NO RESULT FOUND
+
+QUERY #13: site:hackthissite.org inurl:install
+=> NO RESULT FOUND
+
+QUERY #14: site:hackthissite.org inurl:database
+=> NO RESULT FOUND
+
+QUERY #15: site:hackthissite.org inurl:log
+=> NO RESULT FOUND
+
+QUERY #16: site:hackthissite.org inurl:debug
+=> NO RESULT FOUND
+
+QUERY #17: site:hackthissite.org inurl:api
+=> NO RESULT FOUND
+
+QUERY #18: site:hackthissite.org inurl:secret
+=> NO RESULT FOUND
+
+QUERY #19: site:hackthissite.org inurl:private
+=> NO RESULT FOUND
+
+QUERY #20: site:hackthissite.org inurl:secure
+=> NO RESULT FOUND
+
+QUERY #21: site:hackthissite.org inurl:password
+=> NO RESULT FOUND
+
+QUERY #22: site:hackthissite.org inurl:auth
+=> NO RESULT FOUND
+
+QUERY #23: site:hackthissite.org inurl:token
+=> NO RESULT FOUND
+
+QUERY #24: site:hackthissite.org inurl:session
+=> NO RESULT FOUND
+
+QUERY #25: site:hackthissite.org inurl:panel
+=> NO RESULT FOUND
+
+
+

 

+
+
 
+

PAGESEARCH RESULTS

+

 

+

Amount of accessible subdomains: 4

+

Amount of email addresses: 0

+

Amount of found documents: 1

+

Amount of found cookies: 4

+

Amount of found API key: 0

+

Amount of WEB elements found: 0

+

Amount of exposed passwords found: 0

+

 

+
+
 
+

PAGESEARCH SITEMAP INSPECTION RESULTS

+

 

+

Total links amount: No results because PageSearch does not gather these categories

+

Amount of accessed links: No results because PageSearch does not gather these categories

+

 

+
+

 

+

VIRUSTOTAL API SCAN RESULTS

+

 

+

Categories: No results because user did not selected VirusTotal API scan

+

Detected URLs: No results because user did not selected VirusTotal API scan

+

Detected samples: No results because user did not selected VirusTotal API scan

+

Undetected samples: No results because user did not selected VirusTotal API scan

+

 

+
+

 

+

SECURITY TRAILS API SCAN RESULTS

+

 

+

Alexa rank: No results because user did not selected SecurityTrails API scan

+

Apex domain: No results because user did not selected SecurityTrails API scan

+

Hostname: No results because user did not selected SecurityTrails API scan

+

A records:

+ +

MX records:

+ +

NS records:

+ +

SOA records:

+ +

TXT records values:

+ +

Subdomains list

+ +

 

+
+

 

+

Created using DPULSE software by OSINT-TECHNOLOGIES

+

Visit our web-pages:

+ From b8149b684b14b7c7dfbcac78fadd1296d8798173 Mon Sep 17 00:00:00 2001 From: OSINT-TECHNOLOGIES <77023667+OSINT-TECHNOLOGIES@users.noreply.github.com> Date: Sat, 28 Dec 2024 09:36:11 +0300 Subject: [PATCH 24/29] Create 01-robots.txt --- report_examples/xlsx_report_example/01-robots.txt | 3 +++ 1 file changed, 3 insertions(+) create mode 100644 report_examples/xlsx_report_example/01-robots.txt diff --git a/report_examples/xlsx_report_example/01-robots.txt b/report_examples/xlsx_report_example/01-robots.txt new file mode 100644 index 0000000..3738559 --- /dev/null +++ b/report_examples/xlsx_report_example/01-robots.txt @@ -0,0 +1,3 @@ +User-agent: * +Disallow: /missions/ +Disallow: /killing/all/humans/ From 5a18628c71936ff8f5df4b51b1c737792767553f Mon Sep 17 00:00:00 2001 From: OSINT-TECHNOLOGIES <77023667+OSINT-TECHNOLOGIES@users.noreply.github.com> Date: Sat, 28 Dec 2024 09:36:53 +0300 Subject: [PATCH 25/29] Create extracted_About%20the%20HackThisSite%20Mirror.txt --- ...ed_About%20the%20HackThisSite%20Mirror.txt | 28 +++++++++++++++++++ 1 file changed, 28 insertions(+) create mode 100644 report_examples/xlsx_report_example/ps_documents/extracted_About%20the%20HackThisSite%20Mirror.txt diff --git a/report_examples/xlsx_report_example/ps_documents/extracted_About%20the%20HackThisSite%20Mirror.txt b/report_examples/xlsx_report_example/ps_documents/extracted_About%20the%20HackThisSite%20Mirror.txt new file mode 100644 index 0000000..cea00f1 --- /dev/null +++ b/report_examples/xlsx_report_example/ps_documents/extracted_About%20the%20HackThisSite%20Mirror.txt @@ -0,0 +1,28 @@ +-=- What is the HackThisSite Mirror? -=- + +HackThisSite may from time to time mirror things we think are deserving of our +bandwidth and maintenance, simply because of a belief in the cause or a general +liking of the data and its producers. + + +-=- Will you mirror my data? -=- + +You are more than welcome to request mirroring by emailing us at +admin - at - hackthissite - dot - org, but we will NOT guarantee anything! +Our bandwidth and time is precious, and just because you think your data is +well-deserving of our attention, does not mean we will think the same. + + +-=- What do you generally mirror? -=- + +HackThisSite will mirror projects we are involved with, or have a vested +interest in. For example, we are affiliated with Hackbloc, which produces +the HackThisZine periodical. Due to this, we mirror their publications. +Other such examples could someday include FreeBSD, nginx, Asterisk, UnrealIRC, +among others, since these are all projects whose benefits we reap. + + +-=- What are your mirror specifications? -=- + +mirror.hackthissite.org is hosted on a dedicated server in Europe with +redundant drives and a 1 Gbps connection. From c08ed2a0b84532774d3778273457e6fba7cc5999 Mon Sep 17 00:00:00 2001 From: OSINT-TECHNOLOGIES <77023667+OSINT-TECHNOLOGIES@users.noreply.github.com> Date: Sat, 28 Dec 2024 01:43:58 -0500 Subject: [PATCH 26/29] Add files via upload --- .../hackthissiteorg_(28-12-2024, 09h33m02s).csv | Bin 0 -> 15291 bytes 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 report_examples/xlsx_report_example/hackthissiteorg_(28-12-2024, 09h33m02s).csv diff --git a/report_examples/xlsx_report_example/hackthissiteorg_(28-12-2024, 09h33m02s).csv b/report_examples/xlsx_report_example/hackthissiteorg_(28-12-2024, 09h33m02s).csv new file mode 100644 index 0000000000000000000000000000000000000000..987fe78cbab3f4653740cd866681e68d9e0f6bf4 GIT binary patch literal 15291 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 LHZo-Y{p$Y#&}vQc literal 0 HcmV?d00001 From 4da69aa0935e849230cd2b3cf40888cb66278d46 Mon Sep 17 00:00:00 2001 From: OSINT-TECHNOLOGIES <77023667+OSINT-TECHNOLOGIES@users.noreply.github.com> Date: Sat, 28 Dec 2024 09:52:26 +0300 Subject: [PATCH 27/29] Bumped version --- service/cli_init.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/service/cli_init.py b/service/cli_init.py index fce361b..ea1c436 100644 --- a/service/cli_init.py +++ b/service/cli_init.py @@ -20,7 +20,7 @@ def welcome_menu(self): fig = Figlet(font=wm_font) print('\n') self.console.print(fig.renderText('DPULSE'), style=preview_style) - print(Fore.MAGENTA + Style.BRIGHT + '[DPULSE-CLI] - [v1.1.6 rolling] - [OSINT-TECHNOLOGIES]\n' + Style.RESET_ALL) + print(Fore.MAGENTA + Style.BRIGHT + '[DPULSE-CLI] - [v1.1.6 stable] - [OSINT-TECHNOLOGIES]\n' + Style.RESET_ALL) print(Fore.MAGENTA + Style.BRIGHT + 'Visit our pages:\nhttps://github.com/OSINT-TECHNOLOGIES\nhttps://pypi.org/project/dpulse/' + Style.RESET_ALL) def print_main_menu(self): From 8828ff3da355af978f2232718610acb440fa74ae Mon Sep 17 00:00:00 2001 From: OSINT-TECHNOLOGIES <77023667+OSINT-TECHNOLOGIES@users.noreply.github.com> Date: Sat, 28 Dec 2024 09:57:09 +0300 Subject: [PATCH 28/29] Removed warning about deprecated PDF report --- dpulse.py | 1 - 1 file changed, 1 deletion(-) diff --git a/dpulse.py b/dpulse.py index 0a16ba9..48c02ea 100644 --- a/dpulse.py +++ b/dpulse.py @@ -109,7 +109,6 @@ def run(): print(Fore.RED + "Entered domain is not accessible. Scan is impossible" + Style.RESET_ALL) break case_comment = input(Fore.YELLOW + "Enter case comment >> ") - print(Fore.GREEN + "Be advised that PDF report support is deprecated since v1.1.4. Instead, try to work with HTML report :)" + Style.RESET_ALL) report_filetype = input(Fore.YELLOW + "Enter report file extension [XLSX/HTML] >> ") if not report_filetype: print(Fore.RED + "\nReport filetype cannot be empty") From ed793b09ce91c1266e0559ba4573681d60c67073 Mon Sep 17 00:00:00 2001 From: OSINT-TECHNOLOGIES <77023667+OSINT-TECHNOLOGIES@users.noreply.github.com> Date: Sat, 28 Dec 2024 10:02:46 +0300 Subject: [PATCH 29/29] Update README.md --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 3d13088..0ade92b 100644 --- a/README.md +++ b/README.md @@ -172,7 +172,7 @@ If you have problems with starting installer.sh, you should try to use `dos2unix - [x] Rework Google Dorking module in separate mode - [x] Rework Google Dorks list into separate databases with different pre-configured dorks for various purposes - [x] Allow user to create their own dorks DB -- [ ] Add separate API search mode with different free APIs +- [x] Add separate API search mode with different free APIs # DPULSE mentions in social medias