From 5ecb45bae401582be7f595972bf1178fed7bd869 Mon Sep 17 00:00:00 2001 From: OSINT-TECHNOLOGIES <77023667+OSINT-TECHNOLOGIES@users.noreply.github.com> Date: Thu, 12 Sep 2024 02:12:19 +0300 Subject: [PATCH 01/18] Update README.md with new actual rolling version --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index eb50b8c..7d7562f 100644 --- a/README.md +++ b/README.md @@ -9,7 +9,7 @@

-Static Badge Static Badge +Static Badge Static Badge Static Badge Static Badge

From 8c61efb199fab8f6ebc47737b45c30e4f5474957 Mon Sep 17 00:00:00 2001 From: OSINT-TECHNOLOGIES <77023667+OSINT-TECHNOLOGIES@users.noreply.github.com> Date: Thu, 12 Sep 2024 02:16:47 +0300 Subject: [PATCH 02/18] Update README.md with new animated examples --- README.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 7d7562f..b296a04 100644 --- a/README.md +++ b/README.md @@ -122,11 +122,11 @@ If you have problems with starting installer.sh, you should try to use `dos2unix ### You can start DPULSE and see the main menu on the screen using one of the recommended commands in DPULSE root folder. Don't forget to install all requirements before starting DPULSE -![dpulse_start](https://github.com/OSINT-TECHNOLOGIES/dpulse/assets/77023667/2ac7f332-5482-45e4-a0c9-0cc20e0e0ac7) +![dpulse_start](https://github.com/user-attachments/assets/49cb476c-d9a5-4ff6-999f-afa0badf0e0d) ### After choosing first menu point, you will be able to enter target's URL and case comment, and then you will see scanning progress -![dpulse_running](https://github.com/OSINT-TECHNOLOGIES/dpulse/assets/77023667/27a64244-03f6-4360-b872-64661e68ffb5) +![dpulse_running](https://github.com/user-attachments/assets/9a3cd8c2-3281-4d58-b12e-91ced6dbbd91) ### Finally, DPULSE will create report folder which contains case name (basically URL of target), date and time of scan. All report folders are contained in DPULSE root folder From 5650035a55b51d762d9d270ae9926fc3d93cf580 Mon Sep 17 00:00:00 2001 From: OSINT-TECHNOLOGIES <77023667+OSINT-TECHNOLOGIES@users.noreply.github.com> Date: Thu, 12 Sep 2024 02:21:17 +0300 Subject: [PATCH 03/18] Update README.md with fast-access links to download ZIP archives --- README.md | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/README.md b/README.md index b296a04..707a6cc 100644 --- a/README.md +++ b/README.md @@ -24,6 +24,10 @@ > You can also contact the developer via e-mail: osint.technologies@gmail.com +***[Download DPULSE stable ZIP archive (with latest stable changes)](https://github.com/OSINT-TECHNOLOGIES/dpulse/archive/refs/heads/main.zip)*** + +***[Download DPULSE rolling ZIP archive (with latest developer commit)](https://github.com/OSINT-TECHNOLOGIES/dpulse/archive/refs/heads/rolling.zip)*** + # About DPULSE From f10ace1556b609069543604b60db6fb1e3a611bb Mon Sep 17 00:00:00 2001 From: OSINT-TECHNOLOGIES <77023667+OSINT-TECHNOLOGIES@users.noreply.github.com> Date: Thu, 12 Sep 2024 02:35:26 +0300 Subject: [PATCH 04/18] Update README.md with installation guide corrections --- README.md | 22 +++++++++++++++++----- 1 file changed, 17 insertions(+), 5 deletions(-) diff --git a/README.md b/README.md index 707a6cc..7c42307 100644 --- a/README.md +++ b/README.md @@ -67,7 +67,17 @@ Since DPULSE repository is using Poetry* to manage dependencies, it is higly rec _* Poetry is a tool for dependency management and packaging in Python. It can be simply installed everywhere using `pip install poetry` command, but more instructions you can find on [Poetry official documentation page](https://python-poetry.org/docs/#ci-recommendations)_ -### First way (recommended on every OS, using Poetry) +### First way (the simplest way, recommended on every OS) + +Just download DPULSE using fast-access links at the top of the README: + +![изображение](https://github.com/user-attachments/assets/bd1d9627-950b-40d4-91c4-6751476d7b65) + +Then just unpack downloaded archive, open terminal in DPULSE root folder and use `pip install -r requirements.txt` command to install requirements. Then type `python dpulse.py` in terminal, and that's where program starts. + +If `pip install -r requirements.txt` doesn't work, then just use `poetry install` command. After that, start DPULSE with `poetry run python dpulse.py` + +### Second way (recommended on every OS, using Poetry) Use this set of commands to use recommended way of DPULSE installation: @@ -78,7 +88,7 @@ Use this set of commands to use recommended way of DPULSE installation: ``` Then you simply start DPULSE using `poetry run python dpulse.py` -### Second way (recommended on Windows systems, without using Poetry) +### Third way (recommended on Windows systems, without using Poetry) Simply download zip archive from assets in releases bookmark, just right here: @@ -94,9 +104,11 @@ You also can use this installation way with some different approach using this s pip install -r requirements.txt ``` +If `pip install -r requirements.txt` doesn't work, then just use `poetry install` command. After that, start DPULSE with `poetry run python dpulse.py` + ## _Other ways_ -### Third way (using pip) +### Fourth way (using pip) You also can install DPULSE using pip manager. It'll install DPULSE and necessery dependencies in one command: `pip install dpulse`. Then you just locate DPULSE root folder and type `python dpulse.py` to start program. @@ -104,13 +116,13 @@ You also can install DPULSE using pip manager. It'll install DPULSE and necesser DPULSE has two pre-written installation scripts, both for Windows (installer.bat) and for Linux (installer.sh). You can use them to clone repository and install dependencies or only for dependencies installation. Keep in mind that installer.bat (Windows installer) requires installed Git to clone repository. -### Windows installer usage +### Windows installer usage You can start installer.bat from terminal by typing `./installer.bat` in terminal. Then you choose menu item which you want to start. If you have problems with starting installer.bat, you should try to start it in admin terminal. -### Linux installer usage +### Linux installer usage To start installer.sh in Linux you should follow these steps in your terminal: From a191cd08463be4c7f170dee9e5171c1b23b9212f Mon Sep 17 00:00:00 2001 From: OSINT-TECHNOLOGIES <77023667+OSINT-TECHNOLOGIES@users.noreply.github.com> Date: Sat, 14 Sep 2024 20:18:33 +0300 Subject: [PATCH 05/18] Extended README with new installation set of commands for rolling versions --- README.md | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 7c42307..7c2f15b 100644 --- a/README.md +++ b/README.md @@ -79,14 +79,23 @@ If `pip install -r requirements.txt` doesn't work, then just use `poetry install ### Second way (recommended on every OS, using Poetry) -Use this set of commands to use recommended way of DPULSE installation: +Use this set of commands to install DPULSE stable versions: ``` git clone https://github.com/OSINT-TECHNOLOGIES/dpulse cd dpulse poetry install ``` -Then you simply start DPULSE using `poetry run python dpulse.py` + +Use this set of commands to install DPULSE rolling versions: + + ``` + git clone --branch rolling --single-branch https://github.com/OSINT-TECHNOLOGIES/dpulse.git + cd dpulse + poetry install + ``` + +After installation, you simply start DPULSE using `poetry run python dpulse.py` ### Third way (recommended on Windows systems, without using Poetry) From f04da78a878569e9b2faf9ff611504467f784cbb Mon Sep 17 00:00:00 2001 From: OSINT-TECHNOLOGIES <77023667+OSINT-TECHNOLOGIES@users.noreply.github.com> Date: Sat, 14 Sep 2024 20:21:45 +0300 Subject: [PATCH 06/18] Updated README.md --- README.md | 24 +++--------------------- 1 file changed, 3 insertions(+), 21 deletions(-) diff --git a/README.md b/README.md index 7c2f15b..19a2c92 100644 --- a/README.md +++ b/README.md @@ -67,7 +67,7 @@ Since DPULSE repository is using Poetry* to manage dependencies, it is higly rec _* Poetry is a tool for dependency management and packaging in Python. It can be simply installed everywhere using `pip install poetry` command, but more instructions you can find on [Poetry official documentation page](https://python-poetry.org/docs/#ci-recommendations)_ -### First way (the simplest way, recommended on every OS) +### First way (the simplest way) Just download DPULSE using fast-access links at the top of the README: @@ -77,7 +77,7 @@ Then just unpack downloaded archive, open terminal in DPULSE root folder and use If `pip install -r requirements.txt` doesn't work, then just use `poetry install` command. After that, start DPULSE with `poetry run python dpulse.py` -### Second way (recommended on every OS, using Poetry) +### Second way (the most correct way) Use this set of commands to install DPULSE stable versions: @@ -97,27 +97,9 @@ Use this set of commands to install DPULSE rolling versions: After installation, you simply start DPULSE using `poetry run python dpulse.py` -### Third way (recommended on Windows systems, without using Poetry) - -Simply download zip archive from assets in releases bookmark, just right here: - -![изображение](https://github.com/OSINT-TECHNOLOGIES/dpulse/assets/77023667/bd2ebf09-a31c-4e27-a674-5b602808a667) - -Then you just unpack the archive, open terminal in DPULSE root folder and use `pip install -r requirements.txt` command to install requirements. Then type `python dpulse.py` in terminal, and that's where program starts. - -You also can use this installation way with some different approach using this set of commands: - - ``` - git clone https://github.com/OSINT-TECHNOLOGIES/dpulse - cd dpulse - pip install -r requirements.txt - ``` - -If `pip install -r requirements.txt` doesn't work, then just use `poetry install` command. After that, start DPULSE with `poetry run python dpulse.py` - ## _Other ways_ -### Fourth way (using pip) +### Third way (using pip manager) You also can install DPULSE using pip manager. It'll install DPULSE and necessery dependencies in one command: `pip install dpulse`. Then you just locate DPULSE root folder and type `python dpulse.py` to start program. From b4e6ce29590c797d0bc0f3aaa1aa8fca29c60174 Mon Sep 17 00:00:00 2001 From: OSINT-TECHNOLOGIES <77023667+OSINT-TECHNOLOGIES@users.noreply.github.com> Date: Tue, 1 Oct 2024 21:18:25 +0300 Subject: [PATCH 07/18] Update README.md --- README.md | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/README.md b/README.md index 19a2c92..41ed1e4 100644 --- a/README.md +++ b/README.md @@ -9,13 +9,14 @@

-Static Badge Static Badge -Static Badge Static Badge +Static Badge Static Badge

+

-GitHub License GitHub Issues or Pull Requests GitHub repo size GitHub last commit +Static Badge Static Badge

+ > DPULSE was created as a research tool, and it is not intended for criminal activities. Use DPULSE only on allowed domains and for legal purposes! > You can visit [DPULSE wiki](https://github.com/OSINT-TECHNOLOGIES/dpulse/wiki/DPULSE-WIKI) in order to get more technical information about this project From 572601016acb765f6965d33bdedfb622445e849e Mon Sep 17 00:00:00 2001 From: OSINT-TECHNOLOGIES <77023667+OSINT-TECHNOLOGIES@users.noreply.github.com> Date: Tue, 1 Oct 2024 21:18:47 +0300 Subject: [PATCH 08/18] Update cli_init.py --- 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 9db06f9..843bcd3 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 // 1.1.1 (rolling) // OSINT-TECHNOLOGIES\n' + Style.RESET_ALL) + print(Fore.MAGENTA + Style.BRIGHT + 'DPULSE-CLI // 1.1.1 (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 73ff71407305855c59c41e9a6cccd45c9c6dccad Mon Sep 17 00:00:00 2001 From: OSINT-TECHNOLOGIES <77023667+OSINT-TECHNOLOGIES@users.noreply.github.com> Date: Tue, 1 Oct 2024 21:32:08 +0300 Subject: [PATCH 09/18] Update README.md --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 41ed1e4..7d14249 100644 --- a/README.md +++ b/README.md @@ -9,7 +9,7 @@

-Static Badge Static Badge +Static Badge Static Badge

From 79047af8109f9b6dc82763b1952d39510ba7058a Mon Sep 17 00:00:00 2001 From: OSINT-TECHNOLOGIES <77023667+OSINT-TECHNOLOGIES@users.noreply.github.com> Date: Tue, 1 Oct 2024 21:35:50 +0300 Subject: [PATCH 10/18] Added new mentions --- README.md | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index 7d14249..7419104 100644 --- a/README.md +++ b/README.md @@ -142,7 +142,7 @@ If you have problems with starting installer.sh, you should try to use `dos2unix # Tasks to complete before new release -- [ ] Rework Google Dorking module in separate mode +- [x] Rework Google Dorking module in separate mode - [ ] Rework Google Dorks list into separate databases with different pre-configured dorks for various purposes - [ ] Allow user to create their own dorks DB - [ ] Add separate API search mode with different free APIs @@ -191,6 +191,10 @@ If you have problems with starting installer.sh, you should try to use `dos2unix ### [by C.I.T Security](https://t.me/citsecurity/8578) +### [by Adityaa_oky](https://t.me/adityaa_oky/960) + +### [by Реальний OSINT](https://t.me/realOSINT/462) + From 0d3107c38e3e428fc3e23ef4b851af2ca150ff4d Mon Sep 17 00:00:00 2001 From: OSINT-TECHNOLOGIES <77023667+OSINT-TECHNOLOGIES@users.noreply.github.com> Date: Thu, 3 Oct 2024 17:36:14 +0300 Subject: [PATCH 11/18] Added support for adminpanels_dorking.db --- dpulse.py | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/dpulse.py b/dpulse.py index a5cac2d..74c37ef 100644 --- a/dpulse.py +++ b/dpulse.py @@ -111,7 +111,7 @@ def run(): keywords_list = None keywords_flag = 0 if report_filetype.lower() == 'pdf' or report_filetype.lower() == 'xlsx' or report_filetype.lower() == 'html': - dorking_flag = input(Fore.YELLOW + "Select Dorking mode [Basic/IoT/Files/None] >> ") + dorking_flag = input(Fore.YELLOW + "Select Dorking mode [Basic/IoT/Files/Admins/None] >> ") #api_flag = input(Fore.YELLOW + "Would you like to use 3rd party API in scan? [Y/N] >> ") #if api_flag.lower() == 'y': #print api db content @@ -129,7 +129,7 @@ def run(): pagesearch_ui_mark = 'Yes, in Sitemap Inspection mode' else: pagesearch_ui_mark = 'Yes, without keywords search' - if dorking_flag.lower() not in ['basic', 'iot', 'none', 'files']: + if dorking_flag.lower() not in ['basic', 'iot', 'none', 'admins', 'files']: print(Fore.RED + "\nInvalid Dorking mode. Please select mode among Basic, IoT, Files or None") break else: @@ -144,6 +144,9 @@ def run(): elif dorking_flag.lower() == 'files': row_count = get_columns_amount('dorking//files_dorking.db', 'files_dorks') dorking_ui_mark = f'Yes, Files dorking ({row_count} dorks)' + elif dorking_flag.lower() == 'admins': + row_count = get_columns_amount('dorking//adminpanels_dorking.db', 'adminpanels_dorks') + dorking_ui_mark = f'Yes, Admin panels dorking ({row_count} dorks)' print(Fore.LIGHTMAGENTA_EX + "\n[PRE-SCAN SUMMARY]\n" + Style.RESET_ALL) print(Fore.GREEN + "Determined target: " + Fore.LIGHTCYAN_EX + Style.BRIGHT + short_domain + Style.RESET_ALL) print(Fore.GREEN + "Report type: " + Fore.LIGHTCYAN_EX + Style.BRIGHT + report_filetype.lower() + Style.RESET_ALL) From d6abc8ac4f34862be54ba33e092922bd8e12d79b Mon Sep 17 00:00:00 2001 From: OSINT-TECHNOLOGIES <77023667+OSINT-TECHNOLOGIES@users.noreply.github.com> Date: Thu, 3 Oct 2024 17:36:35 +0300 Subject: [PATCH 12/18] Added support for adminpanels_dorking.db --- dorking/dorking_handler.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/dorking/dorking_handler.py b/dorking/dorking_handler.py index 4c6bbdd..2232aa3 100644 --- a/dorking/dorking_handler.py +++ b/dorking/dorking_handler.py @@ -107,7 +107,7 @@ def transfer_results_to_xlsx(table, queries, pages=10): def dorks_files_check(): dorks_path = 'dorking//' - dorks_files = ['iot_dorking.db', 'files_dorking.db', 'basic_dorking.db'] + dorks_files = ['iot_dorking.db', 'files_dorking.db', 'basic_dorking.db', 'adminpanels_dorking.db'] dorks_files_counter = 0 for dork_files in dorks_files: files_path = os.path.join(dorks_path, dork_files) @@ -115,7 +115,7 @@ def dorks_files_check(): dorks_files_counter += 1 else: pass - if dorks_files_counter == 3: + if dorks_files_counter == 4: print(Fore.GREEN + "Dorks databases presence: OK" + Style.RESET_ALL) else: print(Fore.RED + "Dorks databases presence: NOT OK\nSome files may not be in folder. Please compare dorking folder with the same folder on the official repository\n" + Style.RESET_ALL) From 67f430515b55de37454db0ac1c0376486c9f83c3 Mon Sep 17 00:00:00 2001 From: OSINT-TECHNOLOGIES <77023667+OSINT-TECHNOLOGIES@users.noreply.github.com> Date: Thu, 3 Oct 2024 10:36:53 -0400 Subject: [PATCH 13/18] Added adminpanels_dorking.db --- dorking/adminpanels_dorking.db | Bin 0 -> 28672 bytes 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 dorking/adminpanels_dorking.db diff --git a/dorking/adminpanels_dorking.db b/dorking/adminpanels_dorking.db new file mode 100644 index 0000000000000000000000000000000000000000..ae167b22abb7524baf47c6e1d3e0990d18860a71 GIT binary patch literal 28672 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 literal 0 HcmV?d00001 From f64b7f0ca994f85e436b6a1a6181dfecc5b305e7 Mon Sep 17 00:00:00 2001 From: OSINT-TECHNOLOGIES <77023667+OSINT-TECHNOLOGIES@users.noreply.github.com> Date: Thu, 3 Oct 2024 17:37:16 +0300 Subject: [PATCH 14/18] Delete dorking/adminpanels_dorking.db --- dorking/adminpanels_dorking.db | Bin 28672 -> 0 bytes 1 file changed, 0 insertions(+), 0 deletions(-) delete mode 100644 dorking/adminpanels_dorking.db diff --git a/dorking/adminpanels_dorking.db b/dorking/adminpanels_dorking.db deleted file mode 100644 index ae167b22abb7524baf47c6e1d3e0990d18860a71..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 28672 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 From ae41d2b6fcf101947c0c7d5db93b89d478c8bd21 Mon Sep 17 00:00:00 2001 From: OSINT-TECHNOLOGIES <77023667+OSINT-TECHNOLOGIES@users.noreply.github.com> Date: Thu, 3 Oct 2024 17:38:23 +0300 Subject: [PATCH 15/18] Backuped dpulse.py --- dpulse.py | 7 ++----- 1 file changed, 2 insertions(+), 5 deletions(-) diff --git a/dpulse.py b/dpulse.py index 74c37ef..a5cac2d 100644 --- a/dpulse.py +++ b/dpulse.py @@ -111,7 +111,7 @@ def run(): keywords_list = None keywords_flag = 0 if report_filetype.lower() == 'pdf' or report_filetype.lower() == 'xlsx' or report_filetype.lower() == 'html': - dorking_flag = input(Fore.YELLOW + "Select Dorking mode [Basic/IoT/Files/Admins/None] >> ") + dorking_flag = input(Fore.YELLOW + "Select Dorking mode [Basic/IoT/Files/None] >> ") #api_flag = input(Fore.YELLOW + "Would you like to use 3rd party API in scan? [Y/N] >> ") #if api_flag.lower() == 'y': #print api db content @@ -129,7 +129,7 @@ def run(): pagesearch_ui_mark = 'Yes, in Sitemap Inspection mode' else: pagesearch_ui_mark = 'Yes, without keywords search' - if dorking_flag.lower() not in ['basic', 'iot', 'none', 'admins', 'files']: + if dorking_flag.lower() not in ['basic', 'iot', 'none', 'files']: print(Fore.RED + "\nInvalid Dorking mode. Please select mode among Basic, IoT, Files or None") break else: @@ -144,9 +144,6 @@ def run(): elif dorking_flag.lower() == 'files': row_count = get_columns_amount('dorking//files_dorking.db', 'files_dorks') dorking_ui_mark = f'Yes, Files dorking ({row_count} dorks)' - elif dorking_flag.lower() == 'admins': - row_count = get_columns_amount('dorking//adminpanels_dorking.db', 'adminpanels_dorks') - dorking_ui_mark = f'Yes, Admin panels dorking ({row_count} dorks)' print(Fore.LIGHTMAGENTA_EX + "\n[PRE-SCAN SUMMARY]\n" + Style.RESET_ALL) print(Fore.GREEN + "Determined target: " + Fore.LIGHTCYAN_EX + Style.BRIGHT + short_domain + Style.RESET_ALL) print(Fore.GREEN + "Report type: " + Fore.LIGHTCYAN_EX + Style.BRIGHT + report_filetype.lower() + Style.RESET_ALL) From 662b665f6b7b90712f5e9a37a605d331a82a0847 Mon Sep 17 00:00:00 2001 From: OSINT-TECHNOLOGIES <77023667+OSINT-TECHNOLOGIES@users.noreply.github.com> Date: Thu, 3 Oct 2024 17:49:07 +0300 Subject: [PATCH 16/18] Backuped dorking_handler.py --- dorking/dorking_handler.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/dorking/dorking_handler.py b/dorking/dorking_handler.py index 2232aa3..4c6bbdd 100644 --- a/dorking/dorking_handler.py +++ b/dorking/dorking_handler.py @@ -107,7 +107,7 @@ def transfer_results_to_xlsx(table, queries, pages=10): def dorks_files_check(): dorks_path = 'dorking//' - dorks_files = ['iot_dorking.db', 'files_dorking.db', 'basic_dorking.db', 'adminpanels_dorking.db'] + dorks_files = ['iot_dorking.db', 'files_dorking.db', 'basic_dorking.db'] dorks_files_counter = 0 for dork_files in dorks_files: files_path = os.path.join(dorks_path, dork_files) @@ -115,7 +115,7 @@ def dorks_files_check(): dorks_files_counter += 1 else: pass - if dorks_files_counter == 4: + if dorks_files_counter == 3: print(Fore.GREEN + "Dorks databases presence: OK" + Style.RESET_ALL) else: print(Fore.RED + "Dorks databases presence: NOT OK\nSome files may not be in folder. Please compare dorking folder with the same folder on the official repository\n" + Style.RESET_ALL) From 5c8ad6606a37baaeeb5fbdc56f56f6878ca449cf Mon Sep 17 00:00:00 2001 From: OSINT-TECHNOLOGIES <77023667+OSINT-TECHNOLOGIES@users.noreply.github.com> Date: Wed, 16 Oct 2024 00:49:59 +0300 Subject: [PATCH 17/18] Code refactored --- dorking/dorking_handler.py | 31 +++++++++++++++++++++++++------ 1 file changed, 25 insertions(+), 6 deletions(-) diff --git a/dorking/dorking_handler.py b/dorking/dorking_handler.py index 4c6bbdd..19a1d3e 100644 --- a/dorking/dorking_handler.py +++ b/dorking/dorking_handler.py @@ -1,4 +1,7 @@ import sys +sys.path.append('service') +from config_processing import read_config +from logs_processing import logging try: import requests.exceptions @@ -7,6 +10,7 @@ import re import requests import sqlite3 + import time import os except ImportError as e: print(Fore.RED + "Import error appeared. Reason: {}".format(e) + Style.RESET_ALL) @@ -30,7 +34,7 @@ def get_columns_amount(dorking_db_path, table): conn.close() return row_count -def solid_google_dorking(query, pages=100): +def solid_google_dorking(query, dorking_delay, delay_step, pages=100): try: browser = mechanicalsoup.StatefulBrowser() browser.open("https://www.google.com/") @@ -38,6 +42,7 @@ def solid_google_dorking(query, pages=100): browser["q"] = str(query) browser.submit_selected(btnName="btnG") result_query = [] + request_count = 0 for page in range(pages): for link in browser.links(): target = link.attrs['href'] @@ -45,26 +50,35 @@ def solid_google_dorking(query, pages=100): target.startswith("/url?q=http://webcache.googleusercontent.com")): target = re.sub(r"^/url\?q=([^&]*)&.*", r"\1", target) result_query.append(target) + request_count += 1 + if request_count % delay_step == 0: + time.sleep(dorking_delay) try: browser.follow_link(nr=page + 1) except mechanicalsoup.LinkNotFoundError: break + del result_query[-2:] return result_query except requests.exceptions.ConnectionError as e: - print(Fore.RED + "Error while establishing connection with domain. No results will appear. Reason: {}".format(e) + Style.RESET_ALL) + print(Fore.RED + "Error while establishing connection with domain. No results will appear. See journal for details" + Style.RESET_ALL) + logging.error(f'DORKING PROCESSING: ERROR. REASON: {e}') def save_results_to_txt(folderpath, table, queries, pages=10): try: + config_values = read_config() + dorking_delay = int(config_values['dorking_delay (secs)']) + delay_step = int(config_values['delay_step']) txt_writepath = folderpath + '//04-dorking_results.txt' total_results = [] total_dorks_amount = len(queries) with open(txt_writepath, 'w') as f: print(Fore.GREEN + "Started Google Dorking. Please, be patient, it may take some time") + print(Fore.GREEN + f"{dorking_delay} seconds delay after each {delay_step} dorking requests was configured" + Style.RESET_ALL) dorked_query_counter = 0 for i, query in enumerate(queries, start=1): f.write(f"QUERY #{i}: {query}\n") - results = solid_google_dorking(query, pages) + results = solid_google_dorking(query, dorking_delay, delay_step, pages) if not results: f.write("=> NO RESULT FOUND\n") total_results.append((query, 0)) @@ -82,12 +96,17 @@ def save_results_to_txt(folderpath, table, queries, pages=10): count = 'no results' print(Fore.GREEN + f"[+] Found results for " + Fore.LIGHTCYAN_EX + f'{query}' + Fore.GREEN + ' query: ' + Fore.LIGHTCYAN_EX + f'{count}' + Style.RESET_ALL) return f'Successfully dorked domain with {table.upper()} dorks table', txt_writepath - except Exception: + except Exception as e: print(Fore.RED + 'Error appeared while trying to dork target. See journal for details') + logging.error(f'DORKING PROCESSING: ERROR. REASON: {e}') return 'Domain dorking failed. See journal for details', txt_writepath def transfer_results_to_xlsx(table, queries, pages=10): + config_values = read_config() + dorking_delay = int(config_values['dorking_delay (secs)']) + delay_step = int(config_values['delay_step']) print(Fore.GREEN + "Started Google Dorking. Please, be patient, it may take some time") + print(Fore.GREEN + f"{dorking_delay} seconds delay after each {delay_step} dorking requests was configured" + Style.RESET_ALL) dorked_query_counter = 0 total_dorks_amount = len(queries) dorking_return_list = [] @@ -107,7 +126,7 @@ def transfer_results_to_xlsx(table, queries, pages=10): def dorks_files_check(): dorks_path = 'dorking//' - dorks_files = ['iot_dorking.db', 'files_dorking.db', 'basic_dorking.db'] + dorks_files = ['iot_dorking.db', 'files_dorking.db', 'basic_dorking.db', 'adminpanels_dorking.db', 'webstructure_dorking.db'] dorks_files_counter = 0 for dork_files in dorks_files: files_path = os.path.join(dorks_path, dork_files) @@ -115,7 +134,7 @@ def dorks_files_check(): dorks_files_counter += 1 else: pass - if dorks_files_counter == 3: + if dorks_files_counter == 5: print(Fore.GREEN + "Dorks databases presence: OK" + Style.RESET_ALL) else: print(Fore.RED + "Dorks databases presence: NOT OK\nSome files may not be in folder. Please compare dorking folder with the same folder on the official repository\n" + Style.RESET_ALL) From 8ac0538366f5232714276ee543b5138b8edfdc2d Mon Sep 17 00:00:00 2001 From: OSINT-TECHNOLOGIES <77023667+OSINT-TECHNOLOGIES@users.noreply.github.com> Date: Wed, 16 Oct 2024 00:51:47 +0300 Subject: [PATCH 18/18] Backuped dorking_handler --- dorking/dorking_handler.py | 31 ++++++------------------------- 1 file changed, 6 insertions(+), 25 deletions(-) diff --git a/dorking/dorking_handler.py b/dorking/dorking_handler.py index 19a1d3e..4c6bbdd 100644 --- a/dorking/dorking_handler.py +++ b/dorking/dorking_handler.py @@ -1,7 +1,4 @@ import sys -sys.path.append('service') -from config_processing import read_config -from logs_processing import logging try: import requests.exceptions @@ -10,7 +7,6 @@ import re import requests import sqlite3 - import time import os except ImportError as e: print(Fore.RED + "Import error appeared. Reason: {}".format(e) + Style.RESET_ALL) @@ -34,7 +30,7 @@ def get_columns_amount(dorking_db_path, table): conn.close() return row_count -def solid_google_dorking(query, dorking_delay, delay_step, pages=100): +def solid_google_dorking(query, pages=100): try: browser = mechanicalsoup.StatefulBrowser() browser.open("https://www.google.com/") @@ -42,7 +38,6 @@ def solid_google_dorking(query, dorking_delay, delay_step, pages=100): browser["q"] = str(query) browser.submit_selected(btnName="btnG") result_query = [] - request_count = 0 for page in range(pages): for link in browser.links(): target = link.attrs['href'] @@ -50,35 +45,26 @@ def solid_google_dorking(query, dorking_delay, delay_step, pages=100): target.startswith("/url?q=http://webcache.googleusercontent.com")): target = re.sub(r"^/url\?q=([^&]*)&.*", r"\1", target) result_query.append(target) - request_count += 1 - if request_count % delay_step == 0: - time.sleep(dorking_delay) try: browser.follow_link(nr=page + 1) except mechanicalsoup.LinkNotFoundError: break - del result_query[-2:] return result_query except requests.exceptions.ConnectionError as e: - print(Fore.RED + "Error while establishing connection with domain. No results will appear. See journal for details" + Style.RESET_ALL) - logging.error(f'DORKING PROCESSING: ERROR. REASON: {e}') + print(Fore.RED + "Error while establishing connection with domain. No results will appear. Reason: {}".format(e) + Style.RESET_ALL) def save_results_to_txt(folderpath, table, queries, pages=10): try: - config_values = read_config() - dorking_delay = int(config_values['dorking_delay (secs)']) - delay_step = int(config_values['delay_step']) txt_writepath = folderpath + '//04-dorking_results.txt' total_results = [] total_dorks_amount = len(queries) with open(txt_writepath, 'w') as f: print(Fore.GREEN + "Started Google Dorking. Please, be patient, it may take some time") - print(Fore.GREEN + f"{dorking_delay} seconds delay after each {delay_step} dorking requests was configured" + Style.RESET_ALL) dorked_query_counter = 0 for i, query in enumerate(queries, start=1): f.write(f"QUERY #{i}: {query}\n") - results = solid_google_dorking(query, dorking_delay, delay_step, pages) + results = solid_google_dorking(query, pages) if not results: f.write("=> NO RESULT FOUND\n") total_results.append((query, 0)) @@ -96,17 +82,12 @@ def save_results_to_txt(folderpath, table, queries, pages=10): count = 'no results' print(Fore.GREEN + f"[+] Found results for " + Fore.LIGHTCYAN_EX + f'{query}' + Fore.GREEN + ' query: ' + Fore.LIGHTCYAN_EX + f'{count}' + Style.RESET_ALL) return f'Successfully dorked domain with {table.upper()} dorks table', txt_writepath - except Exception as e: + except Exception: print(Fore.RED + 'Error appeared while trying to dork target. See journal for details') - logging.error(f'DORKING PROCESSING: ERROR. REASON: {e}') return 'Domain dorking failed. See journal for details', txt_writepath def transfer_results_to_xlsx(table, queries, pages=10): - config_values = read_config() - dorking_delay = int(config_values['dorking_delay (secs)']) - delay_step = int(config_values['delay_step']) print(Fore.GREEN + "Started Google Dorking. Please, be patient, it may take some time") - print(Fore.GREEN + f"{dorking_delay} seconds delay after each {delay_step} dorking requests was configured" + Style.RESET_ALL) dorked_query_counter = 0 total_dorks_amount = len(queries) dorking_return_list = [] @@ -126,7 +107,7 @@ def transfer_results_to_xlsx(table, queries, pages=10): def dorks_files_check(): dorks_path = 'dorking//' - dorks_files = ['iot_dorking.db', 'files_dorking.db', 'basic_dorking.db', 'adminpanels_dorking.db', 'webstructure_dorking.db'] + dorks_files = ['iot_dorking.db', 'files_dorking.db', 'basic_dorking.db'] dorks_files_counter = 0 for dork_files in dorks_files: files_path = os.path.join(dorks_path, dork_files) @@ -134,7 +115,7 @@ def dorks_files_check(): dorks_files_counter += 1 else: pass - if dorks_files_counter == 5: + if dorks_files_counter == 3: print(Fore.GREEN + "Dorks databases presence: OK" + Style.RESET_ALL) else: print(Fore.RED + "Dorks databases presence: NOT OK\nSome files may not be in folder. Please compare dorking folder with the same folder on the official repository\n" + Style.RESET_ALL)