Skip to content

Stabilized v1.1.6 #95

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 29 commits into from
Dec 28, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
29 commits
Select commit Hold shift + click to select a range
4c6f415
Changed version to rolling
OSINT-TECHNOLOGIES Dec 17, 2024
3347e93
Changed XLSX report content according to basic HTML report content
OSINT-TECHNOLOGIES Dec 17, 2024
5e6971b
Added extended paragraphs from HTML report
OSINT-TECHNOLOGIES Dec 17, 2024
a62ed2a
Unified data_array content both for XLSX and HTML reports
OSINT-TECHNOLOGIES Dec 20, 2024
4f2d4cb
Added extended report paragraphs from HTML report
OSINT-TECHNOLOGIES Dec 20, 2024
7f0d8c2
Reactivated Google Dorking results reporting in XLSX
OSINT-TECHNOLOGIES Dec 20, 2024
4b9fc7c
Extended bad emails clean-up support for scans without PageSearch
OSINT-TECHNOLOGIES Dec 20, 2024
efd4037
Improved handling of API results returning in XLSX report
OSINT-TECHNOLOGIES Dec 20, 2024
8da92c8
Fixed error when selecting only 1 API to scan crashes program entirely
OSINT-TECHNOLOGIES Dec 20, 2024
00f1916
Fixed error when selecting only 1 API to scan crashes program entirely
OSINT-TECHNOLOGIES Dec 20, 2024
48dd03d
Extended column sizes for some XLSX sheets
OSINT-TECHNOLOGIES Dec 20, 2024
3351d22
Updated Jinja2 required version to 3.1.5+
OSINT-TECHNOLOGIES Dec 24, 2024
59066b0
Updated Jinja2 required version to 3.1.5+
OSINT-TECHNOLOGIES Dec 24, 2024
237c097
Updated poetry.lock
OSINT-TECHNOLOGIES Dec 24, 2024
1c49b13
Bumped version to 1.1.6
OSINT-TECHNOLOGIES Dec 24, 2024
eed43a5
Code clean-up
OSINT-TECHNOLOGIES Dec 28, 2024
278567e
Fixed wrong cosmetical wrap for not found SSL certificate info
OSINT-TECHNOLOGIES Dec 28, 2024
a7dfb25
Created HTML report example
OSINT-TECHNOLOGIES Dec 28, 2024
7a18aa6
Add files via upload
OSINT-TECHNOLOGIES Dec 28, 2024
a374d7e
Delete report_examples/html_report_hackthissiteorg_(28-12-2024, 09h17…
OSINT-TECHNOLOGIES Dec 28, 2024
14eed94
Create 01-robots.txt
OSINT-TECHNOLOGIES Dec 28, 2024
729483b
Create extracted_About%20the%20HackThisSite%20Mirror.txt
OSINT-TECHNOLOGIES Dec 28, 2024
e5054e0
Create hackthissiteorg_(28-12-2024, 09h17m49s).html
OSINT-TECHNOLOGIES Dec 28, 2024
b8149b6
Create 01-robots.txt
OSINT-TECHNOLOGIES Dec 28, 2024
5a18628
Create extracted_About%20the%20HackThisSite%20Mirror.txt
OSINT-TECHNOLOGIES Dec 28, 2024
c08ed2a
Add files via upload
OSINT-TECHNOLOGIES Dec 28, 2024
4da69aa
Bumped version
OSINT-TECHNOLOGIES Dec 28, 2024
8828ff3
Removed warning about deprecated PDF report
OSINT-TECHNOLOGIES Dec 28, 2024
ed793b0
Update README.md
OSINT-TECHNOLOGIES Dec 28, 2024
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
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -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

Expand Down
34 changes: 25 additions & 9 deletions datagather_modules/data_assembler.py
Original file line number Diff line number Diff line change
Expand Up @@ -147,27 +147,43 @@ 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'
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':
Expand Down Expand Up @@ -207,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:
Expand Down
2 changes: 1 addition & 1 deletion datagather_modules/networking_processor.py
Original file line number Diff line number Diff line change
Expand Up @@ -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):
Expand Down
1 change: 0 additions & 1 deletion dpulse.py
Original file line number Diff line number Diff line change
Expand Up @@ -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")
Expand Down
22 changes: 11 additions & 11 deletions poetry.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

4 changes: 2 additions & 2 deletions pyproject.toml
Original file line number Diff line number Diff line change
Expand Up @@ -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 <osint.technologies@gmail.com>"]
readme = "README.md"
Expand All @@ -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"
Expand Down
3 changes: 3 additions & 0 deletions report_examples/html_report_example/01-robots.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
User-agent: *
Disallow: /missions/
Disallow: /killing/all/humans/
Loading
Loading