├── LICENSE
├── README.md
├── google_hacking_tool.py
└── requirements.txt
/LICENSE:
--------------------------------------------------------------------------------
1 | MIT License
2 |
3 | Copyright (c) 2022 Fadi1337
4 |
5 | Permission is hereby granted, free of charge, to any person obtaining a copy
6 | of this software and associated documentation files (the "Software"), to deal
7 | in the Software without restriction, including without limitation the rights
8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9 | copies of the Software, and to permit persons to whom the Software is
10 | furnished to do so, subject to the following conditions:
11 |
12 | The above copyright notice and this permission notice shall be included in all
13 | copies or substantial portions of the Software.
14 |
15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21 | SOFTWARE.
22 |
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 | -----
2 | ###
Google hacking tools
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 | Google hacking tools is very simple tool to generate keywords can help you to find informations about websites like : databases, log file, etc....
12 |
13 |
14 |
15 |
16 | -----
17 | ### Features
18 |
19 |
20 | + Very easy to use
21 |
22 | + Check if website is working or not
23 |
24 | + Check robots.txt
25 |
26 | + Generate very helpful keywords
27 |
28 | 
29 |
30 |
31 | -----
32 | ### Setup
33 | Kali linux
34 | ```bash
35 | sudo apt update && sudo apt upgrade && sudo apt install python3 && sudo apt install python3-pip && git clone https://github.com/Fadi002/google-hacking-tool/ && cd google-hacking-tool && pip3 install -r requirements.txt && pip install -r requirements.txt && python3 google_hacking_tool.py
36 | ```
37 | termux
38 | ```bash
39 | apt update && apt upgrade && apt install python3 && apt install python3-pip && pkg install python3 && git clone https://github.com/Fadi002/google-hacking-tool/ && cd google-hacking-tool && pip3 install -r requirements.txt && pip install -r requirements.txt && python3 google_hacking_tool.py
40 | ```
41 | Windows
42 | ```
43 | Download Python (recommended 3.9): https://python.org
44 | Note: check add to path button
45 |
46 | Download the project as zip then unzip it
47 | run cmd as administrator and type:
48 | pip install requests
49 |
50 | now just run google_hacking_tool.py
51 | ```
52 | -----
53 |
54 | ### Disclaimer
55 |
56 |
57 | * ***Please use this program only for educational purposes.***
58 | * ***It is not meant to be used in any malicious way, and I decline any responsibility for what you do with it.***
59 |
60 | -----
61 |
62 | ### LICENSE WARNING
63 |
64 | MIT License
65 |
66 | Copyright (c) 2022 Fadi1337
67 |
68 | Permission is hereby granted, free of charge, to any person obtaining a copy
69 | of this software and associated documentation files (the "Software"), to deal
70 | in the Software without restriction, including without limitation the rights
71 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
72 | copies of the Software, and to permit persons to whom the Software is
73 | furnished to do so, subject to the following conditions:
74 |
75 | The above copyright notice and this permission notice shall be included in all
76 | copies or substantial portions of the Software.
77 |
78 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
79 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
80 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
81 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
82 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
83 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
84 | SOFTWARE.
85 |
--------------------------------------------------------------------------------
/google_hacking_tool.py:
--------------------------------------------------------------------------------
1 | '''
2 | MIT License
3 |
4 | Copyright (c) 2022 Fadi1337
5 |
6 | Permission is hereby granted, free of charge, to any person obtaining a copy
7 | of this software and associated documentation files (the "Software"), to deal
8 | in the Software without restriction, including without limitation the rights
9 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
10 | copies of the Software, and to permit persons to whom the Software is
11 | furnished to do so, subject to the following conditions:
12 |
13 | The above copyright notice and this permission notice shall be included in all
14 | copies or substantial portions of the Software.
15 |
16 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
17 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
18 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
19 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
20 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
21 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
22 | SOFTWARE.
23 | '''
24 | try:
25 | import os, requests, shutil
26 | except ImportError:
27 | import os;os.system("pip install -r requirements.txt")
28 | exit('restart program')
29 | def Clear():
30 | os.system("cls" if os.name == "nt" else "clear")
31 | Clear()
32 | qua = [
33 | 'site:{domain} intitle:index.of',
34 | 'site:{domain} ext:xml | ext:conf | ext:cnf | ext:reg | ext:inf | ext:rdp | ext:cfg | ext:txt | ext:ora | ext:ini',
35 | 'site:{domain} ext:sql | ext:dbf | ext:mdb',
36 | 'site:{domain} ext:log',
37 | 'site:{domain} ext:bkf | ext:bkp | ext:bak | ext:old | ext:backup',
38 | 'site:{domain} ext:zip | ext:rar | ext:7z | ext:tar | ext:gz | ext:bz2 | ext:tgz | ext:z',
39 | 'site:{domain} "authentication failure"; logname=" filetype:log',
40 | 'intitle:{domain} "network engineer"',
41 | 'intitle:{domain} "administrative assistant"',
42 | 'intitle:{domain} "adminstrator"',
43 | 'site:{domain} inurl:login',
44 | 'site:{domain}+intext:"sql+syntax+near"+%7C+intext:"syntax+error+has+occurred"+%7C+intext:"incorrect+syntax+near"+%7C+intext:"unexpected+end+of+SQL+command"+%7C+intext:"Warning:+mysql_connect()"+%7C+intext:"Warning:+mysql_query()"+%7C+intext:"Warning:+pg_connect()"',
45 | 'site:{domain} ext:doc | ext:docx | ext:odt | ext:pdf | ext:rtf | ext:sxw | ext:psw | ext:ppt | ext:pptx | ext:pps | ext:csv | ext:xls | ext:xlsx | ext:ods',
46 | 'site:{domain}+ext:php+intitle:phpinfo+"published+by+the+PHP+Group"',
47 | 'site:{domain}+ext:php+intitle:phpinfo+"configuration+file"',
48 | 'site:{domain}+ext:php+intitle:phpinfo+"php.ini"',
49 | 'site:{domain}+ext:php+intitle:phpinfo+"php.ini.defaults"',
50 | 'site:{domain}+ext:php+intitle:phpinfo+"php.ini.global"',
51 | ]
52 |
53 | def purplepink(text):
54 | os.system(""); faded = ""
55 | red = 40
56 | for line in text.splitlines():
57 | faded += (f"\033[38;2;{red};0;220m{line}\033[0m\n")
58 | if not red == 255:
59 | red += 15
60 | if red > 255:
61 | red = 255
62 | return faded
63 | def filterweb(url):
64 | if "https://" in url:
65 | pass
66 | elif "http://" in url:
67 | pass
68 | else:
69 | url = "https://" + url
70 | return url
71 | def clean(url):
72 | if "https://" in url:
73 | url = url.replace("https://", "")
74 | elif "http://" in url:
75 | url = url.replace("http://", "")
76 | if url[-1] == "/":
77 | url = url[:-1]
78 | return url
79 | print(purplepink(''' ,--.!,
80 | ─/ -*-
81 | ╔═╗┌─┐┌─┐┌─┐┬ ┌─┐ ╦ ╦┌─┐┌─┐┬┌─┬┌┐┌┌─┐ ,d08b. '|`
82 | ║ ╦│ ││ ┬│ ┬│ ├┤ ╠═╣├─┤│ ├┴┐│││││ ┬ 0088MM
83 | ╚═╝└─┘└─┘└─┘┴─┘└─┘ ╩ ╩┴ ┴└─┘┴ ┴┴┘└┘└─┘ `9MMP'
84 | Try to found information about websites.
85 |
86 | > Author : Fadi
87 | > GitHub : https://github.com/Fadi002
88 |
89 | ───────────────MENU───────────────
90 | [1] check website if up or down
91 | [2] check robots.txt of website
92 | [3] try google hacking
93 | ──────────────────────────────────'''))
94 | select = input("Enter your choice : ")
95 | try:
96 | select = int(select)
97 | except:
98 | input("\nPlease enter a number")
99 | Clear()
100 | exit("exiting...")
101 | #--------------------------------------------------------------------------#
102 | if select == 1:
103 | site = input("Enter website : ")
104 | site = filterweb(site)
105 | try:
106 | x=requests.get(site)
107 | print("Website is up")
108 | except:
109 |
110 | print("Website is down")
111 | input("\nPress enter to exit")
112 |
113 | Clear()
114 |
115 | exit("exiting...")
116 | #--------------------------------------------------------------------------#
117 | elif select == 2:
118 | site = input("Enter website : ")
119 |
120 | site=filterweb(site)
121 |
122 | name = site.replace("https://", "").replace("http://", "").replace("/", "")
123 |
124 | x=requests.get(f"{site}/robots.txt")
125 |
126 | if x.status_code == 200:
127 | print(x.text)
128 | print(f'\nsaved on : {name}\\robots.txt')
129 | else:
130 | print("Website is down / no robots.txt")
131 | try:
132 | os.mkdir(name)
133 | except:
134 | pass
135 |
136 | with open(name+'\\robots.txt', 'w') as f:
137 | f.write(x.text)
138 | f.close()
139 |
140 | #--------------------------------------------------------------------------#
141 | elif select == 3:
142 | site = input("Enter website : ")
143 |
144 | site=clean(site)
145 |
146 | name = site.replace("https://", "").replace("http://", "").replace("/", "")
147 |
148 | print('copy the keywords and paste them on google\n')
149 |
150 | try:
151 | os.mkdir(name)
152 | except:
153 | pass
154 |
155 | with open(name+'\\keywords.txt', 'w') as f:
156 | f.write(';generated by Google hacking tools\n')
157 | f.close()
158 | for i in qua:
159 | print(i.replace("{domain}", site))
160 | with open(name+'\\keywords.txt', 'a') as f:
161 | f.write(i.replace("{domain}", site)+'\n')
162 | f.close()
163 | #--------------------------------------------------------------------------#
164 | else:
165 |
166 | print("\nPlease select a number between 1 and 3")
167 |
168 | Clear()
169 |
170 | exit("exiting...")
171 |
172 | input('\npress enter to exit')
173 | Clear()
174 | exit("exiting...")
175 |
--------------------------------------------------------------------------------
/requirements.txt:
--------------------------------------------------------------------------------
1 | requests
--------------------------------------------------------------------------------